From 766e71bb3a379fe3c490ce1a163c1e2b04d714ed Mon Sep 17 00:00:00 2001 From: JanUlrich Date: Tue, 19 Nov 2019 21:53:53 +0100 Subject: [PATCH] Beginn mit Werksvertrag: Package Support --- src/test/java/packages/ParsePackageName.java | 34 +++++++++++++++++++ .../resources/javFiles/packageNameTest.jav | 3 ++ vorgehen.md | 11 ++++++ 3 files changed, 48 insertions(+) create mode 100644 src/test/java/packages/ParsePackageName.java create mode 100644 src/test/resources/javFiles/packageNameTest.jav create mode 100644 vorgehen.md diff --git a/src/test/java/packages/ParsePackageName.java b/src/test/java/packages/ParsePackageName.java new file mode 100644 index 00000000..e2fe1682 --- /dev/null +++ b/src/test/java/packages/ParsePackageName.java @@ -0,0 +1,34 @@ +package packages; + +import de.dhbwstuttgart.core.JavaTXCompiler; +import de.dhbwstuttgart.syntaxtree.SourceFile; +import de.dhbwstuttgart.syntaxtree.visual.ASTPrinter; +import de.dhbwstuttgart.syntaxtree.visual.ASTTypePrinter; +import de.dhbwstuttgart.typedeployment.TypeInsert; +import de.dhbwstuttgart.typedeployment.TypeInsertFactory; +import de.dhbwstuttgart.typeinference.result.ResultSet; +import org.junit.Test; +import typeinference.JavaTXCompilerTest; + +import java.io.File; +import java.io.IOException; +import java.nio.charset.StandardCharsets; +import java.util.HashSet; +import java.util.List; +import java.util.Set; + +public class ParsePackageName { + + public static final String rootDirectory = System.getProperty("user.dir")+"/src/test/resources/javFiles/"; + @Test + public void parsePackage() throws IOException, ClassNotFoundException { + JavaTXCompiler compiler = new JavaTXCompiler(new File(rootDirectory+"packageNameTest.jav")); + for(File f : compiler.sourceFiles.keySet()){ + SourceFile sf = compiler.sourceFiles.get(f); + System.out.println(ASTTypePrinter.print(sf)); + System.out.println(ASTPrinter.print(sf)); + } + List results = compiler.typeInference(); + + } +} diff --git a/src/test/resources/javFiles/packageNameTest.jav b/src/test/resources/javFiles/packageNameTest.jav new file mode 100644 index 00000000..b55d1071 --- /dev/null +++ b/src/test/resources/javFiles/packageNameTest.jav @@ -0,0 +1,3 @@ +package Test; + +class TestClass{} \ No newline at end of file diff --git a/vorgehen.md b/vorgehen.md new file mode 100644 index 00000000..d3d17653 --- /dev/null +++ b/vorgehen.md @@ -0,0 +1,11 @@ +* Parser um Packages erweitern + * Schätzung: 0 h + * Parser kann Java 8 und daher auch packages +* Convertierung zu AST + * AST kann schon Packages im Namen + * Es muss geprüft werden, ob geparste Datei im richtigen Ordner ist + * +* Constraints erstellen + * macht es hier einen Unterschied? + * es ändert sich nur der Namen der Typen + * das ist schon in JavaClassName enthalten