add field access with tests

This commit is contained in:
Torsten Ruger
2015-09-20 12:50:06 +03:00
parent 8e07a7568f
commit be444bc687
8 changed files with 84 additions and 50 deletions

View File

@ -1,22 +1,28 @@
module Opers
int foo(int x)
int abba = 5
int abba = x + self.index
return abba + 5
end
end
-- -- --
s(:expressions,
s(:module, :Opers,
s(:function, :int,
s(:name, :foo),
s(:parameters,
s(:field, :int, :x)),
s(:expressions,
s(:name, :int),
s(:assign,
s(:name, :abba),
s(:int, 5)),
s(:return,
s(:operator, "+",
s(:name, :abba),
s(:int, 5)))))))
s(:expressions,
s(:module, :Opers,
s(:function, :int,
s(:name, :foo),
s(:parameters,
s(:field, :int, :x)),
s(:expressions,
s(:name, :int),
s(:assign,
s(:name, :abba),
s(:operator, "+",
s(:name, :x),
s(:field_access,
s(:receiver,
s(:name, :self)),
s(:field,
s(:name, :index))))),
s(:return,
s(:operator, "+",
s(:name, :abba),
s(:int, 5)))))))