229f5896c6
soml was updated to have a typed ast layer to make programatic creation easier this brings LOTS of syntax change with it, that does not really mean anything at all All tests pass again so back to the same
19 lines
606 B
Ruby
19 lines
606 B
Ruby
module Soml
|
|
Compiler.class_eval do
|
|
|
|
def on_ClassField statement
|
|
#puts statement.inspect
|
|
#type , name , value = *statement
|
|
|
|
for_class = @clazz
|
|
raise "no class" unless for_class
|
|
index = for_class.instance_type.variable_index(statement.name)
|
|
#raise "class field already defined:#{name} for class #{for_class.name}" if index
|
|
#puts "Define field #{name} on class #{for_class.name}"
|
|
index = for_class.instance_type.add_instance_variable( statement.name , statement.type )
|
|
|
|
return nil # statements don't reurn values, only expressions
|
|
end
|
|
end
|
|
end
|