modulize class_field and class_statement

This commit is contained in:
Torsten Ruger
2016-12-09 13:46:26 +02:00
parent 2b008dd3da
commit bab2fe32df
6 changed files with 22 additions and 20 deletions

View File

@ -1,9 +1,11 @@
module Typed
class ClassStatement < Statement
attr_accessor :name , :derives , :statements
end
module Tree
class ClassStatement < Statement
attr_accessor :name , :derives , :statements
end
class ClassField < Statement
attr_accessor :name , :type
class ClassField < Statement
attr_accessor :name , :type
end
end
end

View File

@ -1,5 +1,7 @@
module Typed
class FunctionStatement < Statement
attr_accessor :return_type , :name , :parameters, :statements , :receiver
module Tree
class FunctionStatement < Statement
attr_accessor :return_type , :name , :parameters, :statements , :receiver
end
end
end

View File

@ -13,7 +13,7 @@ module Typed
def on_class statement
name , derives , statements = *statement
w = ClassStatement.new()
w = Tree::ClassStatement.new()
w.name = name
w.derives = derives.children.first
w.statements = process(statements)
@ -22,7 +22,7 @@ module Typed
def on_function statement
return_type , name , parameters, statements , receiver = *statement
w = FunctionStatement.new()
w = Tree::FunctionStatement.new()
w.return_type = return_type
w.name = name.children.first
w.parameters = parameters.to_a.collect do |p|