Class: Idl::GlobalAst
- Includes:
- Declaration
- Defined in:
- lib/idl/ast.rb
Instance Method Summary collapse
- #add_symbol(symtab) ⇒ Object
-
#declaration ⇒ VariableDeclarationAst
The decl.
-
#initialize(input, interval, declaration) ⇒ GlobalAst
constructor
A new instance of GlobalAst.
- #type(symtab) ⇒ Object
- #type_check(symtab) ⇒ Object
Constructor Details
#initialize(input, interval, declaration) ⇒ GlobalAst
Returns a new instance of GlobalAst.
690 691 692 693 |
# File 'lib/idl/ast.rb', line 690 def initialize(input, interval, declaration) super(input, interval, [declaration]) declaration.make_global end |
Instance Method Details
#add_symbol(symtab) ⇒ Object
703 704 705 706 707 |
# File 'lib/idl/ast.rb', line 703 def add_symbol(symtab) internal_error "Should be at global scope" unless symtab.levels == 1 declaration.add_symbol(symtab) end |
#declaration ⇒ VariableDeclarationAst
Returns The decl.
686 687 688 |
# File 'lib/idl/ast.rb', line 686 def declaration @children[0] end |
#type(symtab) ⇒ Object
699 700 701 |
# File 'lib/idl/ast.rb', line 699 def type(symtab) declaration.type(symtab) end |
#type_check(symtab) ⇒ Object
695 696 697 |
# File 'lib/idl/ast.rb', line 695 def type_check(symtab) declaration.type_check(symtab) end |