From b05b0ea5df504bdee2203cea52098905ed744e66 Mon Sep 17 00:00:00 2001 From: JanUlrich Date: Fri, 30 Sep 2016 12:46:02 +0200 Subject: [PATCH] Syntaxbaum anpassen --- src/de/dhbwstuttgart/core/IItemWithOffset.java | 1 - src/de/dhbwstuttgart/syntaxtree/Class.java | 12 ++++++------ .../dhbwstuttgart/syntaxtree/FieldDeclaration.java | 2 +- .../syntaxtree/statement/ArgumentList.java | 9 --------- .../dhbwstuttgart/syntaxtree/statement/Assign.java | 4 ++-- .../dhbwstuttgart/syntaxtree/statement/Binary.java | 2 +- .../syntaxtree/statement/Executeable.java | 2 +- 7 files changed, 11 insertions(+), 21 deletions(-) diff --git a/src/de/dhbwstuttgart/core/IItemWithOffset.java b/src/de/dhbwstuttgart/core/IItemWithOffset.java index 10c85add..d6b7f3bf 100755 --- a/src/de/dhbwstuttgart/core/IItemWithOffset.java +++ b/src/de/dhbwstuttgart/core/IItemWithOffset.java @@ -4,5 +4,4 @@ package de.dhbwstuttgart.core; public interface IItemWithOffset { public int getOffset(); - public int getVariableLength(); } diff --git a/src/de/dhbwstuttgart/syntaxtree/Class.java b/src/de/dhbwstuttgart/syntaxtree/Class.java index f485e1af..9b5ef495 100755 --- a/src/de/dhbwstuttgart/syntaxtree/Class.java +++ b/src/de/dhbwstuttgart/syntaxtree/Class.java @@ -298,16 +298,16 @@ public class Class extends GTVDeclarationContext implements IItemWithOffset, Gen * Dem ResultSet entsprechend werden in diesem Java-Code die TypePlaceholder durch die in ResultSet stehenden Typen ersetzt. * @return Java-Sourcefile */ - public String printJavaCode(TypeinferenceResultSet reconstructionResult){ + public JavaCodeResult printJavaCode(ResultSet reconstructionResult){ JavaCodeResult ret = new JavaCodeResult("class "); JavaCodeResult classBodyCode = new JavaCodeResult(); - if(this.modifiers!=null)classBodyCode.attach(this.modifiers.printJavaCode(reconstructionResult.getUnifiedConstraints())).attach(" "); + if(this.modifiers!=null)classBodyCode.attach(this.modifiers.printJavaCode(reconstructionResult)).attach(" "); - classBodyCode.attach(this.name + " extends ").attach(this.superClass.printJavaCode(reconstructionResult.getUnifiedConstraints())).attach("\n"); + classBodyCode.attach(this.name + " extends ").attach(this.superClass.printJavaCode(reconstructionResult)).attach("\n"); JavaCodeResult bodyString = new JavaCodeResult("{\n"); - for(Field field : this.fielddecl)bodyString.attach( field.printJavaCode(reconstructionResult.getUnifiedConstraints()) ).attach( "\n" ); + for(Field field : this.fielddecl)bodyString.attach( field.printJavaCode(reconstructionResult) ).attach( "\n" ); bodyString.attach("}\n"); classBodyCode.attach(bodyString); @@ -321,7 +321,7 @@ public class Class extends GTVDeclarationContext implements IItemWithOffset, Gen Iterator it = this.genericClassParameters.iterator(); while(it.hasNext()){ GenericTypeVar tph = it.next(); - ret.attach(tph.printJavaCode(reconstructionResult.getUnifiedConstraints())); + ret.attach(tph.printJavaCode(reconstructionResult)); if(it.hasNext())ret.attach(", "); } ret.attach(">"); @@ -329,7 +329,7 @@ public class Class extends GTVDeclarationContext implements IItemWithOffset, Gen String stringReturn = ret.attach(classBodyCode).toString(); - return stringReturn; + return new JavaCodeResult(stringReturn); } /** diff --git a/src/de/dhbwstuttgart/syntaxtree/FieldDeclaration.java b/src/de/dhbwstuttgart/syntaxtree/FieldDeclaration.java index 62cd8d0f..a3229c77 100644 --- a/src/de/dhbwstuttgart/syntaxtree/FieldDeclaration.java +++ b/src/de/dhbwstuttgart/syntaxtree/FieldDeclaration.java @@ -72,7 +72,7 @@ public class FieldDeclaration extends Field{ } - public JavaCodeResult printJavaCode(ResultSet resultSet) { + public JavaCodeResult printJavaCode(TypeinferenceResultSet resultSet) { JavaCodeResult ret = new JavaCodeResult(); JavaCodeResult toAttach = this.getType().printJavaCode(resultSet).attach(" ").attach( this.getIdentifier()); if(this.wert!=null)toAttach.attach(" = ").attach(this.getWert().printJavaCode(resultSet) ); diff --git a/src/de/dhbwstuttgart/syntaxtree/statement/ArgumentList.java b/src/de/dhbwstuttgart/syntaxtree/statement/ArgumentList.java index a5b92aea..02b7d884 100755 --- a/src/de/dhbwstuttgart/syntaxtree/statement/ArgumentList.java +++ b/src/de/dhbwstuttgart/syntaxtree/statement/ArgumentList.java @@ -71,15 +71,6 @@ public class ArgumentList extends SyntaxTreeNode return 0; } - - - @Override - public int getVariableLength() { - return 0; - } - - - @Override public Menge getChildren() { return expr; diff --git a/src/de/dhbwstuttgart/syntaxtree/statement/Assign.java b/src/de/dhbwstuttgart/syntaxtree/statement/Assign.java index 496d09cf..54388243 100755 --- a/src/de/dhbwstuttgart/syntaxtree/statement/Assign.java +++ b/src/de/dhbwstuttgart/syntaxtree/statement/Assign.java @@ -118,12 +118,12 @@ public class Assign extends ExprStmt } // ino.end - +/* @Override public String getTypeInformation(){ return "(" + expr1.getTypeInformation() + " = " + expr2.getTypeInformation() + ") : "+this.getType(); } - +*/ @Override public JavaCodeResult printJavaCode(ResultSet resultSet){ JavaCodeResult ret = new JavaCodeResult().attach(this.expr1.printJavaCode(resultSet) ).attach( " = " ).attach( this.expr2.printJavaCode(resultSet)); diff --git a/src/de/dhbwstuttgart/syntaxtree/statement/Binary.java b/src/de/dhbwstuttgart/syntaxtree/statement/Binary.java index 4ec71cd8..fa2b3c96 100755 --- a/src/de/dhbwstuttgart/syntaxtree/statement/Binary.java +++ b/src/de/dhbwstuttgart/syntaxtree/statement/Binary.java @@ -180,7 +180,7 @@ public class Binary extends BinaryExpr * @param expr2 * @return */ - if(this.getType()==null)this.set_Type(TypePlaceholder.fresh(this)); + //if(this.getType()==null)this.set_Type(TypePlaceholder.fresh(this)); OderConstraint oderCons = new OderConstraint(); HashMap rMap = this.op.getReturnTypes(assumptions); for(Type rT : rMap.keySet()){ diff --git a/src/de/dhbwstuttgart/syntaxtree/statement/Executeable.java b/src/de/dhbwstuttgart/syntaxtree/statement/Executeable.java index bd367c7d..7550f6c7 100755 --- a/src/de/dhbwstuttgart/syntaxtree/statement/Executeable.java +++ b/src/de/dhbwstuttgart/syntaxtree/statement/Executeable.java @@ -32,5 +32,5 @@ public abstract class Executeable extends SyntaxTreeNode implements Typeable public abstract InstructionList genByteCode(ClassGenerator _cg, TypeinferenceResultSet rs); - public abstract String getTypeInformation(); + //public abstract String getTypeInformation(); }