module Tapioca::Helpers::Test::DslCompiler

def activate_other_dsl_compilers(*compiler_classes)

def activate_other_dsl_compilers(*compiler_classes)
  context.activate_other_dsl_compilers(compiler_classes)
end

def context

def context
  raise "Please call `use_dsl_compiler` before" unless @context
  @context
end

def gathered_constants

def gathered_constants
  context.gathered_constants
end

def generated_errors

def generated_errors
  context.errors
end

def rbi_for(constant_name, compiler_options: {})

def rbi_for(constant_name, compiler_options: {})
  context.rbi_for(constant_name, compiler_options: compiler_options)
end

def use_dsl_compiler(compiler_class)

def use_dsl_compiler(compiler_class)
  @context = T.let(CompilerContext.new(compiler_class), T.nilable(CompilerContext))
end