From 752f59172f87100e33999033ca85cf2c5d64569b Mon Sep 17 00:00:00 2001 From: JanUlrich <andi@michlaustderaffe.de> Date: Wed, 22 Mar 2017 16:57:42 +0100 Subject: [PATCH] Bug in JavaClassRegistry contains Methode gefixt --- .../SyntaxTreeGenerator.java | 17 +---------------- .../dhbwstuttgart/typecheck/JavaClassName.java | 2 ++ .../typecheck/JavaClassRegistry.java | 4 +++- 3 files changed, 6 insertions(+), 17 deletions(-) diff --git a/src/de/dhbwstuttgart/parser/SyntaxTreeGenerator/SyntaxTreeGenerator.java b/src/de/dhbwstuttgart/parser/SyntaxTreeGenerator/SyntaxTreeGenerator.java index 6ce63b82..725c8e7e 100644 --- a/src/de/dhbwstuttgart/parser/SyntaxTreeGenerator/SyntaxTreeGenerator.java +++ b/src/de/dhbwstuttgart/parser/SyntaxTreeGenerator/SyntaxTreeGenerator.java @@ -199,7 +199,7 @@ public class SyntaxTreeGenerator{ modifiers += newModifier; } } - JavaClassName name = convert(ctx.Identifier()); + JavaClassName name = reg.getName(ctx.Identifier().getText()); GenericDeclarationList genericClassParameters = TypeGenerator.convert(ctx.typeParameters(), reg, generics); Block class_block = null; List<Field> fielddecl = convertFields(ctx.classBody()); @@ -324,21 +324,6 @@ public class SyntaxTreeGenerator{ return convertModifier(ctx.getText()); } - - /** - Converts a TerminalNode to JavaClassName. If pkgName is set, it will be included like expected. - **/ - private JavaClassName convert(TerminalNode t){ - String name = ""; - if(this.pkgName != null){ - name = this.pkgName + "." + t.toString(); - } - else{ - name = t.toString(); - } - return this.reg.getName(name); - } - private ClassOrInterface convertEnum(Java8Parser.EnumDeclarationContext ctx){ return null; } diff --git a/src/de/dhbwstuttgart/typecheck/JavaClassName.java b/src/de/dhbwstuttgart/typecheck/JavaClassName.java index 669cd469..0ded9c38 100644 --- a/src/de/dhbwstuttgart/typecheck/JavaClassName.java +++ b/src/de/dhbwstuttgart/typecheck/JavaClassName.java @@ -1,5 +1,7 @@ package de.dhbwstuttgart.typecheck; +import de.dhbwstuttgart.exceptions.NotImplementedException; + import java.util.ArrayList; import java.util.List; diff --git a/src/de/dhbwstuttgart/typecheck/JavaClassRegistry.java b/src/de/dhbwstuttgart/typecheck/JavaClassRegistry.java index afb8d4d9..05f811e3 100644 --- a/src/de/dhbwstuttgart/typecheck/JavaClassRegistry.java +++ b/src/de/dhbwstuttgart/typecheck/JavaClassRegistry.java @@ -1,7 +1,9 @@ package de.dhbwstuttgart.typecheck; import java.util.ArrayList; +import java.util.HashSet; import java.util.List; +import java.util.Set; /** * Speichert die Klassen im aktuellen Projektscope @@ -32,6 +34,6 @@ public class JavaClassRegistry { } public boolean contains(String whole) { - return existingClasses.contains(whole); + return existingClasses.contains(new JavaClassName(whole)); } }