diff --git a/src/de/dhbwstuttgart/core/JavaTXCompiler.java b/src/de/dhbwstuttgart/core/JavaTXCompiler.java index d36d2713..8a67fa26 100644 --- a/src/de/dhbwstuttgart/core/JavaTXCompiler.java +++ b/src/de/dhbwstuttgart/core/JavaTXCompiler.java @@ -2,6 +2,8 @@ package de.dhbwstuttgart.core; import de.dhbwstuttgart.environment.CompilationEnvironment; import de.dhbwstuttgart.parser.JavaTXParser; +import de.dhbwstuttgart.parser.SyntaxTreeGenerator.SyntaxTreeGenerator; +import de.dhbwstuttgart.parser.antlr.Java8Parser.CompilationUnitContext; import de.dhbwstuttgart.syntaxtree.ClassOrInterface; import de.dhbwstuttgart.syntaxtree.SourceFile; import de.dhbwstuttgart.syntaxtree.factory.UnifyTypeFactory; @@ -71,13 +73,9 @@ public class JavaTXCompiler { } public SourceFile parse(File sourceFile) throws IOException, java.lang.ClassNotFoundException { - SourceFile ret = new JavaTXParser(environment).parse(sourceFile); - sourceFiles.add(ret); - return ret; - } - - public SourceFile parse(String source) throws IOException, java.lang.ClassNotFoundException { - SourceFile ret = new JavaTXParser(environment).parse(source); + CompilationUnitContext tree = JavaTXParser.parse(sourceFile); + SyntaxTreeGenerator generator = new SyntaxTreeGenerator(environment.getRegistry(sourceFile)); + SourceFile ret = generator.convert(tree); sourceFiles.add(ret); return ret; } diff --git a/src/de/dhbwstuttgart/environment/CompilationEnvironment.java b/src/de/dhbwstuttgart/environment/CompilationEnvironment.java index 709b9f4d..416e702b 100644 --- a/src/de/dhbwstuttgart/environment/CompilationEnvironment.java +++ b/src/de/dhbwstuttgart/environment/CompilationEnvironment.java @@ -1,6 +1,7 @@ package de.dhbwstuttgart.environment; import java.io.File; +import java.io.IOException; import java.net.MalformedURLException; import java.net.URL; import java.net.URLClassLoader; @@ -17,10 +18,16 @@ import org.reflections.util.ConfigurationBuilder; import org.reflections.util.FilterBuilder; import de.dhbwstuttgart.exceptions.DebugException; +import de.dhbwstuttgart.parser.JavaTXParser; +import de.dhbwstuttgart.parser.antlr.Java8Parser.CompilationUnitContext; +import de.dhbwstuttgart.parser.scope.GatherNames; +import de.dhbwstuttgart.parser.scope.JavaClassRegistry; /** * Stellt die Java-Environment dar und speichert alle Binarys, Librarys und Sourcefiles im zu kompilierenden Projekt * Sie erstellt anhand dieser Informationen die JavaClassNameRegistry + * + * TODO: Zur Initialisierung der CompilationEnvironment sollten alle SourceFiles mit ANTLR geparst werden und alle Klassen Generics und Typen herausgefunden werden */ public class CompilationEnvironment { private final List librarys; @@ -41,4 +48,10 @@ public class CompilationEnvironment { } } } + + public JavaClassRegistry getRegistry(File forSourceFile) throws ClassNotFoundException, IOException { + List allNames = new ArrayList<>(); + CompilationUnitContext tree = JavaTXParser.parse(forSourceFile); + return new JavaClassRegistry(GatherNames.getNames(tree, new PackageCrawler(librarys))); + } } diff --git a/src/de/dhbwstuttgart/environment/PackageCrawler.java b/src/de/dhbwstuttgart/environment/PackageCrawler.java index f6e0ffeb..c1a4aad2 100644 --- a/src/de/dhbwstuttgart/environment/PackageCrawler.java +++ b/src/de/dhbwstuttgart/environment/PackageCrawler.java @@ -11,6 +11,8 @@ import org.reflections.scanners.SubTypesScanner; import org.reflections.util.ConfigurationBuilder; import org.reflections.util.FilterBuilder; +import de.dhbwstuttgart.parser.scope.JavaClassName; + /** * Hilft beim Durchsuchen von Packages * Benutzt die Reflections-Library (https://github.com/ronmamo/reflections) @@ -52,12 +54,11 @@ public class PackageCrawler { return classes; } - // Returns a list of JavaClassNames. - public List getClassNames(String packageName){ - List nameList = new ArrayList(); + public List getClassNames(String packageName){ + List nameList = new ArrayList(); Set> classes = getClassesInPackage(packageName); for(Class c : classes){ - nameList.add(new JavaClassName(c.getName())); + nameList.add(c.getName()); } return nameList; } diff --git a/src/de/dhbwstuttgart/parser/JavaTXParser.java b/src/de/dhbwstuttgart/parser/JavaTXParser.java index 99b0e74f..c860a6a7 100644 --- a/src/de/dhbwstuttgart/parser/JavaTXParser.java +++ b/src/de/dhbwstuttgart/parser/JavaTXParser.java @@ -1,10 +1,10 @@ package de.dhbwstuttgart.parser; import de.dhbwstuttgart.environment.CompilationEnvironment; -import de.dhbwstuttgart.environment.JavaClassRegistry; import de.dhbwstuttgart.parser.SyntaxTreeGenerator.SyntaxTreeGenerator; import de.dhbwstuttgart.parser.antlr.Java8Lexer; import de.dhbwstuttgart.parser.antlr.Java8Parser; +import de.dhbwstuttgart.parser.scope.JavaClassRegistry; import de.dhbwstuttgart.syntaxtree.SourceFile; import org.antlr.v4.runtime.ANTLRInputStream; @@ -15,32 +15,23 @@ import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.List; -public class JavaTXParser { - CompilationEnvironment environment; - - public JavaTXParser(CompilationEnvironment env) { - environment = env; - } - - public SourceFile parse(InputStream source) throws IOException, java.lang.ClassNotFoundException { - InputStream stream = source;//new FileInputStream(sourceFile); +public class JavaTXParser { + public static Java8Parser.CompilationUnitContext parse(File source) throws IOException, java.lang.ClassNotFoundException { + InputStream stream = new FileInputStream(source); ANTLRInputStream input = new ANTLRInputStream(stream); Java8Lexer lexer = new Java8Lexer(input); CommonTokenStream tokens = new CommonTokenStream(lexer); Java8Parser parser = new Java8Parser(tokens); - Java8Parser.CompilationUnitContext tree = parser.compilationUnit(); - - JavaClassRegistry reg = new JavaClassRegistry(new ArrayList<>()); - reg.addPackage("java.lang"); - SyntaxTreeGenerator generator = new SyntaxTreeGenerator(reg); + return parser.compilationUnit(); + /* + SyntaxTreeGenerator generator = new SyntaxTreeGenerator(environment.getRegistry(source)); return generator.convert(tree); + */ } - - public SourceFile parse(File file) throws IOException, java.lang.ClassNotFoundException { - return this.parse(new FileInputStream(file)); - } - + + /* Für das Typsystem ist es notwendig, dass sich der Source in einer Datei befindet: public SourceFile parse(String fileContent) throws IOException, java.lang.ClassNotFoundException { return this.parse(new ByteArrayInputStream(fileContent.getBytes(StandardCharsets.UTF_8))); } + */ } diff --git a/src/de/dhbwstuttgart/parser/SyntaxTreeGenerator/GenericContext.java b/src/de/dhbwstuttgart/parser/SyntaxTreeGenerator/GenericContext.java index cbadee28..6e3ce7d9 100644 --- a/src/de/dhbwstuttgart/parser/SyntaxTreeGenerator/GenericContext.java +++ b/src/de/dhbwstuttgart/parser/SyntaxTreeGenerator/GenericContext.java @@ -1,6 +1,6 @@ package de.dhbwstuttgart.parser.SyntaxTreeGenerator; -import de.dhbwstuttgart.environment.JavaClassName; +import de.dhbwstuttgart.parser.scope.JavaClassName; public class GenericContext { public final String parentMethod; diff --git a/src/de/dhbwstuttgart/parser/SyntaxTreeGenerator/StatementGenerator.java b/src/de/dhbwstuttgart/parser/SyntaxTreeGenerator/StatementGenerator.java index 197ee557..de75adb1 100644 --- a/src/de/dhbwstuttgart/parser/SyntaxTreeGenerator/StatementGenerator.java +++ b/src/de/dhbwstuttgart/parser/SyntaxTreeGenerator/StatementGenerator.java @@ -1,9 +1,9 @@ package de.dhbwstuttgart.parser.SyntaxTreeGenerator; -import de.dhbwstuttgart.environment.JavaClassRegistry; import de.dhbwstuttgart.exceptions.NotImplementedException; import de.dhbwstuttgart.parser.NullToken; import de.dhbwstuttgart.parser.antlr.Java8Parser; +import de.dhbwstuttgart.parser.scope.JavaClassRegistry; import de.dhbwstuttgart.syntaxtree.*; import de.dhbwstuttgart.syntaxtree.statement.*; import de.dhbwstuttgart.syntaxtree.statement.literal.*; diff --git a/src/de/dhbwstuttgart/parser/SyntaxTreeGenerator/SyntaxTreeGenerator.java b/src/de/dhbwstuttgart/parser/SyntaxTreeGenerator/SyntaxTreeGenerator.java index 7cc8dfcc..ce2dddb0 100644 --- a/src/de/dhbwstuttgart/parser/SyntaxTreeGenerator/SyntaxTreeGenerator.java +++ b/src/de/dhbwstuttgart/parser/SyntaxTreeGenerator/SyntaxTreeGenerator.java @@ -1,11 +1,11 @@ package de.dhbwstuttgart.parser.SyntaxTreeGenerator; -import de.dhbwstuttgart.environment.JavaClassName; -import de.dhbwstuttgart.environment.JavaClassRegistry; import de.dhbwstuttgart.exceptions.NotImplementedException; import java.lang.ClassNotFoundException; import de.dhbwstuttgart.parser.NullToken; import de.dhbwstuttgart.parser.antlr.Java8Parser; +import de.dhbwstuttgart.parser.scope.JavaClassName; +import de.dhbwstuttgart.parser.scope.JavaClassRegistry; import de.dhbwstuttgart.syntaxtree.*; import de.dhbwstuttgart.syntaxtree.factory.ASTFactory; import de.dhbwstuttgart.syntaxtree.statement.*; @@ -37,59 +37,6 @@ public class SyntaxTreeGenerator{ this.reg = reg; } - public void setPackageName(Java8Parser.CompilationUnitContext ctx){ - if(ctx.packageDeclaration() != null){ - for(TerminalNode t : ctx.packageDeclaration().Identifier()){ - this.pkgName = this.pkgName + "." + t.toString(); - } - this.pkgName = this.pkgName.substring(1); - } - } - - public void getNames(Java8Parser.CompilationUnitContext ctx){ - if(this.pkgName == "") this.setPackageName(ctx); - String nameString = ""; - for (Java8Parser.TypeDeclarationContext typeDecl : ctx.typeDeclaration()){ - if(typeDecl.interfaceDeclaration() != null){ - if(typeDecl.interfaceDeclaration().normalInterfaceDeclaration() != null){ - if(this.pkgName != ""){ - nameString = this.pkgName + "." + typeDecl.interfaceDeclaration().normalInterfaceDeclaration().Identifier().toString(); - } - else{ - nameString = typeDecl.interfaceDeclaration().normalInterfaceDeclaration().Identifier().toString(); - } - //Die Generic TypeParameter Definitionen Nicht! an die JavaClassName-Registry anfügen: - /* //Diese gelängen dadurch in den globalen Scope, was sie schließlich nicht sind - if(typeDecl.classDeclaration().normalClassDeclaration().typeParameters() != null){ - for(Java8Parser.TypeParameterContext tp : typeDecl.classDeclaration().normalClassDeclaration().typeParameters().typeParameterList().typeParameter()){ - //this.reg.add(tp.Identifier().toString()); - } - } - */ - this.reg.add(nameString); - } - } - else{ - if(typeDecl.classDeclaration().normalClassDeclaration() != null){ - if(this.pkgName != ""){ - nameString = this.pkgName + "." + typeDecl.classDeclaration().normalClassDeclaration().Identifier().toString(); - } - else{ - nameString = typeDecl.classDeclaration().normalClassDeclaration().Identifier().toString(); - } - //Die Generic TypeParameter Definitionen Nicht! an die JavaClassName-Registry anfügen: - /* //Diese gelängen dadurch in den globalen Scope, was sie schließlich nicht sind - if(typeDecl.classDeclaration().normalClassDeclaration().typeParameters() != null){ - for(Java8Parser.TypeParameterContext tp : typeDecl.classDeclaration().normalClassDeclaration().typeParameters().typeParameterList().typeParameter()){ - this.reg.add(tp.Identifier().toString()); - } - } - */ - this.reg.add(nameString); - } - } - } - } public JavaClassRegistry getReg(){ return this.reg; @@ -140,8 +87,6 @@ public class SyntaxTreeGenerator{ private JavaClassName convertSingleTypeImportDeclaration(Java8Parser.SingleTypeImportDeclarationContext ctx) throws ClassNotFoundException{ String typeName = convertTypeName(ctx.typeName()); - Thread.currentThread().getContextClassLoader().loadClass(typeName); - reg.add(typeName); JavaClassName ret = reg.getName(typeName); return ret; } @@ -170,7 +115,6 @@ public class SyntaxTreeGenerator{ public SourceFile convert(Java8Parser.CompilationUnitContext ctx) throws ClassNotFoundException{ List classes = new ArrayList<>(); - this.getNames(ctx); this.setImports(ctx); for(Java8Parser.TypeDeclarationContext typeDecl : ctx.typeDeclaration()){ ClassOrInterface newClass; diff --git a/src/de/dhbwstuttgart/parser/SyntaxTreeGenerator/TypeGenerator.java b/src/de/dhbwstuttgart/parser/SyntaxTreeGenerator/TypeGenerator.java index af814786..ed46ee0e 100644 --- a/src/de/dhbwstuttgart/parser/SyntaxTreeGenerator/TypeGenerator.java +++ b/src/de/dhbwstuttgart/parser/SyntaxTreeGenerator/TypeGenerator.java @@ -1,12 +1,12 @@ package de.dhbwstuttgart.parser.SyntaxTreeGenerator; -import de.dhbwstuttgart.environment.GenericTypeName; -import de.dhbwstuttgart.environment.JavaClassName; -import de.dhbwstuttgart.environment.JavaClassRegistry; import de.dhbwstuttgart.exceptions.NotImplementedException; import de.dhbwstuttgart.exceptions.TypeinferenceException; import de.dhbwstuttgart.parser.NullToken; import de.dhbwstuttgart.parser.antlr.Java8Parser; +import de.dhbwstuttgart.parser.scope.GenericTypeName; +import de.dhbwstuttgart.parser.scope.JavaClassName; +import de.dhbwstuttgart.parser.scope.JavaClassRegistry; import de.dhbwstuttgart.syntaxtree.GenericDeclarationList; import de.dhbwstuttgart.syntaxtree.GenericTypeVar; import de.dhbwstuttgart.syntaxtree.factory.ASTFactory; diff --git a/src/de/dhbwstuttgart/parser/scope/GatherNames.java b/src/de/dhbwstuttgart/parser/scope/GatherNames.java new file mode 100644 index 00000000..e488ff08 --- /dev/null +++ b/src/de/dhbwstuttgart/parser/scope/GatherNames.java @@ -0,0 +1,91 @@ +package de.dhbwstuttgart.parser.scope; + +import java.util.ArrayList; +import java.util.List; + +import org.antlr.v4.runtime.tree.TerminalNode; + +import de.dhbwstuttgart.environment.PackageCrawler; +import de.dhbwstuttgart.parser.antlr.Java8Parser; + +public class GatherNames { + + private static String getPackageName(Java8Parser.CompilationUnitContext ctx){ + String pkgName = ""; + if(ctx.packageDeclaration() != null){ + for(TerminalNode t : ctx.packageDeclaration().Identifier()){ + pkgName = pkgName + "." + t.toString(); + } + pkgName = pkgName.substring(1); + } + return pkgName; + } + + public static List getNames(Java8Parser.CompilationUnitContext ctx, PackageCrawler packages) throws ClassNotFoundException{ + List ret = new ArrayList<>(); + String pkgName = getPackageName(ctx); + String nameString = ""; + for (Java8Parser.TypeDeclarationContext typeDecl : ctx.typeDeclaration()){ + if(typeDecl.interfaceDeclaration() != null){ + if(typeDecl.interfaceDeclaration().normalInterfaceDeclaration() != null){ + if(pkgName != ""){ + nameString = pkgName + "." + typeDecl.interfaceDeclaration().normalInterfaceDeclaration().Identifier().toString(); + } + else{ + nameString = typeDecl.interfaceDeclaration().normalInterfaceDeclaration().Identifier().toString(); + } + //Die Generic TypeParameter Definitionen Nicht! an die JavaClassName-Registry anfügen: + /* //Diese gelängen dadurch in den globalen Scope, was sie schließlich nicht sind + if(typeDecl.classDeclaration().normalClassDeclaration().typeParameters() != null){ + for(Java8Parser.TypeParameterContext tp : typeDecl.classDeclaration().normalClassDeclaration().typeParameters().typeParameterList().typeParameter()){ + //this.reg.add(tp.Identifier().toString()); + } + } + */ + ret.add(nameString); + } + } + else{ + if(typeDecl.classDeclaration().normalClassDeclaration() != null){ + if(pkgName != ""){ + nameString = pkgName + "." + typeDecl.classDeclaration().normalClassDeclaration().Identifier().toString(); + } + else{ + nameString = typeDecl.classDeclaration().normalClassDeclaration().Identifier().toString(); + } + //Die Generic TypeParameter Definitionen Nicht! an die JavaClassName-Registry anfügen: + /* //Diese gelängen dadurch in den globalen Scope, was sie schließlich nicht sind + if(typeDecl.classDeclaration().normalClassDeclaration().typeParameters() != null){ + for(Java8Parser.TypeParameterContext tp : typeDecl.classDeclaration().normalClassDeclaration().typeParameters().typeParameterList().typeParameter()){ + this.reg.add(tp.Identifier().toString()); + } + } + */ + ret.add(nameString); + } + } + } + ret.addAll(getImports(ctx, packages)); + return ret; + } + + + private static List getImports(Java8Parser.CompilationUnitContext ctx, PackageCrawler packages) throws ClassNotFoundException { + List ret = new ArrayList(); + for(Java8Parser.ImportDeclarationContext importDeclCtx : ctx.importDeclaration()){ + if(importDeclCtx.singleTypeImportDeclaration() != null){ + ret.add(importDeclCtx.singleTypeImportDeclaration().typeName().getText()); + } + else if(importDeclCtx.typeImportOnDemandDeclaration() != null){ + ret.addAll(packages.getClassNames(importDeclCtx.typeImportOnDemandDeclaration().packageOrTypeName().getText())); + } + else if(importDeclCtx.singleStaticImportDeclaration() != null){ + ret.add(importDeclCtx.singleStaticImportDeclaration().typeName().getText()+"."+importDeclCtx.singleStaticImportDeclaration().Identifier().getText()); + } + else{ + ret.addAll(packages.getClassNames(importDeclCtx.staticImportOnDemandDeclaration().typeName().getText())); + } + } + return ret; + } +} diff --git a/src/de/dhbwstuttgart/environment/GenericTypeName.java b/src/de/dhbwstuttgart/parser/scope/GenericTypeName.java similarity index 89% rename from src/de/dhbwstuttgart/environment/GenericTypeName.java rename to src/de/dhbwstuttgart/parser/scope/GenericTypeName.java index 3d618b3b..0cee932f 100644 --- a/src/de/dhbwstuttgart/environment/GenericTypeName.java +++ b/src/de/dhbwstuttgart/parser/scope/GenericTypeName.java @@ -1,7 +1,6 @@ -package de.dhbwstuttgart.environment; +package de.dhbwstuttgart.parser.scope; import de.dhbwstuttgart.parser.SyntaxTreeGenerator.GenericContext; -//import jdk.nashorn.internal.ir.Node; public class GenericTypeName extends JavaClassName { private final static String DELIMITER = "%"; diff --git a/src/de/dhbwstuttgart/environment/JavaClassName.java b/src/de/dhbwstuttgart/parser/scope/JavaClassName.java similarity index 98% rename from src/de/dhbwstuttgart/environment/JavaClassName.java rename to src/de/dhbwstuttgart/parser/scope/JavaClassName.java index 54f09f3c..8ea1c51c 100644 --- a/src/de/dhbwstuttgart/environment/JavaClassName.java +++ b/src/de/dhbwstuttgart/parser/scope/JavaClassName.java @@ -1,4 +1,4 @@ -package de.dhbwstuttgart.environment; +package de.dhbwstuttgart.parser.scope; import java.util.ArrayList; import java.util.List; diff --git a/src/de/dhbwstuttgart/environment/JavaClassRegistry.java b/src/de/dhbwstuttgart/parser/scope/JavaClassRegistry.java similarity index 98% rename from src/de/dhbwstuttgart/environment/JavaClassRegistry.java rename to src/de/dhbwstuttgart/parser/scope/JavaClassRegistry.java index b6cde79a..d2f8bc35 100644 --- a/src/de/dhbwstuttgart/environment/JavaClassRegistry.java +++ b/src/de/dhbwstuttgart/parser/scope/JavaClassRegistry.java @@ -1,4 +1,4 @@ -package de.dhbwstuttgart.environment; +package de.dhbwstuttgart.parser.scope; import java.util.*; diff --git a/src/de/dhbwstuttgart/parser/scope/sad.java b/src/de/dhbwstuttgart/parser/scope/sad.java deleted file mode 100644 index a8a34c91..00000000 --- a/src/de/dhbwstuttgart/parser/scope/sad.java +++ /dev/null @@ -1,5 +0,0 @@ -package de.dhbwstuttgart.parser.scope; - -public class sad { - -} diff --git a/src/de/dhbwstuttgart/syntaxtree/ClassOrInterface.java b/src/de/dhbwstuttgart/syntaxtree/ClassOrInterface.java index 70a01694..12d04da2 100755 --- a/src/de/dhbwstuttgart/syntaxtree/ClassOrInterface.java +++ b/src/de/dhbwstuttgart/syntaxtree/ClassOrInterface.java @@ -1,7 +1,7 @@ package de.dhbwstuttgart.syntaxtree; import de.dhbwstuttgart.core.IItemWithOffset; -import de.dhbwstuttgart.environment.JavaClassName; +import de.dhbwstuttgart.parser.scope.JavaClassName; import de.dhbwstuttgart.syntaxtree.type.RefType; import de.dhbwstuttgart.syntaxtree.visual.ASTPrinter; import de.dhbwstuttgart.syntaxtree.type.RefTypeOrTPHOrWildcardOrGeneric; diff --git a/src/de/dhbwstuttgart/syntaxtree/GenericTypeVar.java b/src/de/dhbwstuttgart/syntaxtree/GenericTypeVar.java index cc950e89..c43fe068 100755 --- a/src/de/dhbwstuttgart/syntaxtree/GenericTypeVar.java +++ b/src/de/dhbwstuttgart/syntaxtree/GenericTypeVar.java @@ -1,6 +1,6 @@ package de.dhbwstuttgart.syntaxtree; -import de.dhbwstuttgart.environment.GenericTypeName; +import de.dhbwstuttgart.parser.scope.GenericTypeName; import de.dhbwstuttgart.syntaxtree.type.RefTypeOrTPHOrWildcardOrGeneric; import org.antlr.v4.runtime.Token; diff --git a/src/de/dhbwstuttgart/syntaxtree/SourceFile.java b/src/de/dhbwstuttgart/syntaxtree/SourceFile.java index 3c33a6b2..439a3a8c 100755 --- a/src/de/dhbwstuttgart/syntaxtree/SourceFile.java +++ b/src/de/dhbwstuttgart/syntaxtree/SourceFile.java @@ -2,8 +2,8 @@ package de.dhbwstuttgart.syntaxtree; import java.io.File; import java.util.*; -import de.dhbwstuttgart.environment.JavaClassName; import de.dhbwstuttgart.parser.NullToken; +import de.dhbwstuttgart.parser.scope.JavaClassName; import de.dhbwstuttgart.typeinference.constraints.ConstraintSet; import de.dhbwstuttgart.typeinference.assumptions.TypeInferenceInformation; //import sun.security.x509.X509CertInfo; diff --git a/src/de/dhbwstuttgart/syntaxtree/factory/ASTFactory.java b/src/de/dhbwstuttgart/syntaxtree/factory/ASTFactory.java index 1d4276bb..ec1e786c 100644 --- a/src/de/dhbwstuttgart/syntaxtree/factory/ASTFactory.java +++ b/src/de/dhbwstuttgart/syntaxtree/factory/ASTFactory.java @@ -5,11 +5,11 @@ import java.lang.reflect.Constructor; import java.util.ArrayList; import java.util.List; -import de.dhbwstuttgart.environment.GenericTypeName; -import de.dhbwstuttgart.environment.JavaClassName; -import de.dhbwstuttgart.environment.JavaClassRegistry; import de.dhbwstuttgart.parser.NullToken; import de.dhbwstuttgart.parser.SyntaxTreeGenerator.GenericContext; +import de.dhbwstuttgart.parser.scope.GenericTypeName; +import de.dhbwstuttgart.parser.scope.JavaClassName; +import de.dhbwstuttgart.parser.scope.JavaClassRegistry; import de.dhbwstuttgart.syntaxtree.Field; import de.dhbwstuttgart.syntaxtree.Method; import de.dhbwstuttgart.syntaxtree.type.*; diff --git a/src/de/dhbwstuttgart/syntaxtree/factory/UnifyTypeFactory.java b/src/de/dhbwstuttgart/syntaxtree/factory/UnifyTypeFactory.java index 7d36dad7..a4c40b98 100644 --- a/src/de/dhbwstuttgart/syntaxtree/factory/UnifyTypeFactory.java +++ b/src/de/dhbwstuttgart/syntaxtree/factory/UnifyTypeFactory.java @@ -3,9 +3,9 @@ package de.dhbwstuttgart.syntaxtree.factory; import java.util.*; import java.util.stream.Collectors; -import de.dhbwstuttgart.environment.JavaClassName; import de.dhbwstuttgart.exceptions.NotImplementedException; import de.dhbwstuttgart.parser.NullToken; +import de.dhbwstuttgart.parser.scope.JavaClassName; import de.dhbwstuttgart.syntaxtree.ClassOrInterface; import de.dhbwstuttgart.syntaxtree.type.*; import de.dhbwstuttgart.syntaxtree.type.Void; diff --git a/src/de/dhbwstuttgart/syntaxtree/statement/StaticClassName.java b/src/de/dhbwstuttgart/syntaxtree/statement/StaticClassName.java index 52a1fee1..d0ddb31c 100644 --- a/src/de/dhbwstuttgart/syntaxtree/statement/StaticClassName.java +++ b/src/de/dhbwstuttgart/syntaxtree/statement/StaticClassName.java @@ -1,6 +1,6 @@ package de.dhbwstuttgart.syntaxtree.statement; -import de.dhbwstuttgart.environment.JavaClassName; +import de.dhbwstuttgart.parser.scope.JavaClassName; import de.dhbwstuttgart.syntaxtree.StatementVisitor; import de.dhbwstuttgart.syntaxtree.type.RefType; import de.dhbwstuttgart.typeinference.assumptions.TypeInferenceBlockInformation; diff --git a/src/de/dhbwstuttgart/syntaxtree/type/FunN.java b/src/de/dhbwstuttgart/syntaxtree/type/FunN.java index a074a5e1..84fe1ace 100755 --- a/src/de/dhbwstuttgart/syntaxtree/type/FunN.java +++ b/src/de/dhbwstuttgart/syntaxtree/type/FunN.java @@ -1,8 +1,8 @@ package de.dhbwstuttgart.syntaxtree.type; -import de.dhbwstuttgart.environment.JavaClassName; import de.dhbwstuttgart.parser.NullToken; +import de.dhbwstuttgart.parser.scope.JavaClassName; import java.util.List; diff --git a/src/de/dhbwstuttgart/syntaxtree/type/GenericRefType.java b/src/de/dhbwstuttgart/syntaxtree/type/GenericRefType.java index bd4fee5a..9bd41cf2 100755 --- a/src/de/dhbwstuttgart/syntaxtree/type/GenericRefType.java +++ b/src/de/dhbwstuttgart/syntaxtree/type/GenericRefType.java @@ -1,7 +1,7 @@ package de.dhbwstuttgart.syntaxtree.type; -import de.dhbwstuttgart.environment.GenericTypeName; -import de.dhbwstuttgart.environment.JavaClassName; +import de.dhbwstuttgart.parser.scope.GenericTypeName; +import de.dhbwstuttgart.parser.scope.JavaClassName; import de.dhbwstuttgart.syntaxtree.ASTVisitor; import de.dhbwstuttgart.typeinference.result.ResultSetVisitor; import org.antlr.v4.runtime.Token; diff --git a/src/de/dhbwstuttgart/syntaxtree/type/RefType.java b/src/de/dhbwstuttgart/syntaxtree/type/RefType.java index 189278ea..3a2f26e9 100755 --- a/src/de/dhbwstuttgart/syntaxtree/type/RefType.java +++ b/src/de/dhbwstuttgart/syntaxtree/type/RefType.java @@ -1,6 +1,6 @@ package de.dhbwstuttgart.syntaxtree.type; -import de.dhbwstuttgart.environment.JavaClassName; +import de.dhbwstuttgart.parser.scope.JavaClassName; import de.dhbwstuttgart.syntaxtree.ASTVisitor; import de.dhbwstuttgart.typeinference.result.ResultSetVisitor; import org.antlr.v4.runtime.Token; diff --git a/src/de/dhbwstuttgart/syntaxtree/type/Void.java b/src/de/dhbwstuttgart/syntaxtree/type/Void.java index 36d7bdca..6a322dcb 100755 --- a/src/de/dhbwstuttgart/syntaxtree/type/Void.java +++ b/src/de/dhbwstuttgart/syntaxtree/type/Void.java @@ -2,7 +2,7 @@ package de.dhbwstuttgart.syntaxtree.type; import org.antlr.v4.runtime.Token; -import de.dhbwstuttgart.environment.JavaClassName; +import de.dhbwstuttgart.parser.scope.JavaClassName; public class Void extends RefType diff --git a/src/de/dhbwstuttgart/typeinference/typeAlgo/TYPE.java b/src/de/dhbwstuttgart/typeinference/typeAlgo/TYPE.java index b6360d58..a67ef8b9 100644 --- a/src/de/dhbwstuttgart/typeinference/typeAlgo/TYPE.java +++ b/src/de/dhbwstuttgart/typeinference/typeAlgo/TYPE.java @@ -1,7 +1,7 @@ package de.dhbwstuttgart.typeinference.typeAlgo; -import de.dhbwstuttgart.environment.JavaClassName; import de.dhbwstuttgart.exceptions.DebugException; +import de.dhbwstuttgart.parser.scope.JavaClassName; import de.dhbwstuttgart.syntaxtree.*; import de.dhbwstuttgart.syntaxtree.factory.ASTFactory; import de.dhbwstuttgart.syntaxtree.statement.Statement;