From 48af14f5c98b3d3cb1e25431dd12ce631670681d Mon Sep 17 00:00:00 2001 From: Torsten Ruger Date: Sat, 17 Dec 2016 18:31:26 +0200 Subject: [PATCH] removes class statements classes have to be created in melon, a level up --- lib/typed/compiler.rb | 2 +- lib/typed/compiler/class_statement.rb | 15 --------------- lib/typed/tree.rb | 2 +- lib/typed/tree/class_statement.rb | 11 ----------- 4 files changed, 2 insertions(+), 28 deletions(-) delete mode 100644 lib/typed/compiler/class_statement.rb delete mode 100644 lib/typed/tree/class_statement.rb diff --git a/lib/typed/compiler.rb b/lib/typed/compiler.rb index 46af3d84..2403332d 100644 --- a/lib/typed/compiler.rb +++ b/lib/typed/compiler.rb @@ -3,7 +3,7 @@ require_relative "tree" module Typed CompilerModules = [ "assignment" , "basic_values" , "call_site", - "class_statement" , "collections" , "field_access", + "collections" , "field_access", "if_statement" , "name_expression" , "operator_expression" , "return_statement", "statement_list", "while_statement"] diff --git a/lib/typed/compiler/class_statement.rb b/lib/typed/compiler/class_statement.rb deleted file mode 100644 index 9d55834b..00000000 --- a/lib/typed/compiler/class_statement.rb +++ /dev/null @@ -1,15 +0,0 @@ -module Typed - module ClassStatement - - def on_ClassStatement statement - - raise "classes dont yet play babushka, get coding #{statement.name}" if @type - - @type = Parfait::Space.object_space.get_class_by_name!(statement.name).instance_type - #puts "Compiling class #{@type.inspect}" - statement_value = process(statement.statements).last - @type = nil - return statement_value - end - end -end diff --git a/lib/typed/tree.rb b/lib/typed/tree.rb index 4140b184..76a8141d 100644 --- a/lib/typed/tree.rb +++ b/lib/typed/tree.rb @@ -9,7 +9,7 @@ end ["while_statement", "if_statement" , "return_statement" , "statements", "operator_expression" , "field_access" , "call_site" , "basic_values", - "assignment" , "class_statement" , "to_code"].each do |code| + "assignment" , "to_code"].each do |code| require_relative "tree/" + code end diff --git a/lib/typed/tree/class_statement.rb b/lib/typed/tree/class_statement.rb deleted file mode 100644 index 48671542..00000000 --- a/lib/typed/tree/class_statement.rb +++ /dev/null @@ -1,11 +0,0 @@ -module Typed - module Tree - class ClassStatement < Statement - attr_accessor :name , :derives , :statements - end - - class ClassField < Statement - attr_accessor :name , :type - end - end -end