rubyx/lib/phisol/compiler/class_field.rb
Torsten Ruger aaaef6e3d7 there go the slots
addressing them now directly in get/set slot
idea is still valid, but express objects not needed/used anymore
2015-10-16 18:16:39 +03:00

24 lines
685 B
Ruby

module Phisol
Compiler.class_eval do
def on_class_field statement
#puts statement.inspect
type , name , value = *statement
for_class = @clazz
raise "no class" unless for_class
index = for_class.object_layout.variable_index(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.object_layout.add_instance_variable( name ) #TODO need typing
if value
value = process( value )
raise "value #{value}" #tbc
end
return nil # statements don't reurn values, only expressions
end
end
end