Class: Kumi::IR::Testing::SnastFactory::ModuleBuilder
- Inherits:
-
Object
- Object
- Kumi::IR::Testing::SnastFactory::ModuleBuilder
- Defined in:
- lib/kumi/ir/testing/snast_factory.rb
Instance Method Summary collapse
- #build ⇒ Object
- #declaration(name, **opts, &block) ⇒ Object
-
#initialize ⇒ ModuleBuilder
constructor
A new instance of ModuleBuilder.
Constructor Details
#initialize ⇒ ModuleBuilder
Returns a new instance of ModuleBuilder.
126 127 128 |
# File 'lib/kumi/ir/testing/snast_factory.rb', line 126 def initialize @decls = {} end |
Instance Method Details
#build ⇒ Object
137 138 139 |
# File 'lib/kumi/ir/testing/snast_factory.rb', line 137 def build SnastFactory.snast_module(@decls) end |
#declaration(name, **opts, &block) ⇒ Object
130 131 132 133 134 135 |
# File 'lib/kumi/ir/testing/snast_factory.rb', line 130 def declaration(name, **opts, &block) raise ArgumentError, "declaration requires block" unless block body = yield @decls[name.to_sym] = SnastFactory.declaration(name, body:, **opts) end |