f4a4ccb98e
- all code must be in functions (which must be in classes). — changes a fair few tests — also changes api, as method is not recursive, not passed around - all state in instance vars in compiler (no accessors) - class is another such variable, surely more coming all green again
18 lines
313 B
Ruby
18 lines
313 B
Ruby
module Bosl
|
|
Compiler.class_eval do
|
|
|
|
def on_field_def expression
|
|
#puts expression.inspect
|
|
type , name , value = *expression
|
|
|
|
index = @method.ensure_local( name , type )
|
|
|
|
if value
|
|
value = process( value )
|
|
end
|
|
|
|
Virtual::Return.new( type , value )
|
|
end
|
|
end
|
|
end
|