Class: Pione::Lang::Declaration
- Inherits:
-
StructX
- Object
- StructX
- Pione::Lang::Declaration
- Includes:
- Util::Positionable
- Defined in:
- lib/pione/lang/declaration.rb
Overview
Declaration is a base class for all declarations.
Direct Known Subclasses
AnnotationDeclaration, ConstituentRuleDeclaration, ConstraintDeclaration, ExprDeclaration, FeatureDeclaration, InputDeclaration, OutputDeclaration, PackageBindingDeclaration, ParamBlockDeclaration, ParamDeclaration, RuleBindingDeclaration, RuleDeclaration, VariableBindingDeclaration
Class Method Summary collapse
Instance Method Summary collapse
Methods included from Util::Positionable
#line_and_column, #pos, #set_source_position
Class Method Details
.inherited(cls) ⇒ Object
9 10 11 12 |
# File 'lib/pione/lang/declaration.rb', line 9 def inherited(cls) members.each {|member_name| subclass.member(member_name, default: default_values[member_name])} immutable true end |
Instance Method Details
#eval!(env) ⇒ Object
15 16 17 |
# File 'lib/pione/lang/declaration.rb', line 15 def eval!(env) eval(env) end |