diff --git a/src/de/dhbwstuttgart/parser/RunParser.java b/src/de/dhbwstuttgart/parser/RunParser.java index 4f1d5330c..7412bb423 100644 --- a/src/de/dhbwstuttgart/parser/RunParser.java +++ b/src/de/dhbwstuttgart/parser/RunParser.java @@ -1,6 +1,7 @@ package de.dhbwstuttgart.parser; import de.dhbwstuttgart.parser.antlr.Java8Lexer; import de.dhbwstuttgart.parser.antlr.Java8Parser; +import de.dhbwstuttgart.typecheck.JavaClassRegistry; import org.antlr.v4.runtime.ANTLRInputStream; import org.antlr.v4.runtime.CommonTokenStream; import de.dhbwstuttgart.syntaxtree.*; @@ -23,7 +24,7 @@ public class RunParser{ CommonTokenStream tokens = new CommonTokenStream(lexer); Java8Parser parser = new Java8Parser(tokens); Java8Parser.CompilationUnitContext tree = parser.compilationUnit(); - SyntaxTreeGenerator generator = new SyntaxTreeGenerator(); + SyntaxTreeGenerator generator = new SyntaxTreeGenerator(new JavaClassRegistry()); SourceFile f = generator.convert((Java8Parser.CompilationUnitContext) tree); String pkgName = f.getPkgName(); System.out.println(pkgName); diff --git a/src/de/dhbwstuttgart/parser/SyntaxTreeGenerator.java b/src/de/dhbwstuttgart/parser/SyntaxTreeGenerator.java index caca178f0..d16da9f3a 100644 --- a/src/de/dhbwstuttgart/parser/SyntaxTreeGenerator.java +++ b/src/de/dhbwstuttgart/parser/SyntaxTreeGenerator.java @@ -16,17 +16,24 @@ import java.util.List; import org.antlr.v4.runtime.Token; import org.antlr.v4.runtime.tree.TerminalNode; public class SyntaxTreeGenerator{ - JavaClassRegistry reg = new JavaClassRegistry(); - String pkgName = ""; - List imports = null; + private JavaClassRegistry reg; + private String pkgName = ""; + List imports = new ArrayList(); - public void getNames(Java8Parser.CompilationUnitContext ctx){ + public SyntaxTreeGenerator(JavaClassRegistry reg){ + 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){ String nameString = ""; for (Java8Parser.TypeDeclarationContext typeDecl : ctx.typeDeclaration()){ if(typeDecl.interfaceDeclaration() != null){ @@ -53,6 +60,10 @@ public class SyntaxTreeGenerator{ } } } + + public JavaClassRegistry getReg(){ + return this.reg; + } public SourceFile convert(Java8Parser.CompilationUnitContext ctx){ List classes = new ArrayList<>();