diff --git a/src/build_compiler.sh b/src/build_compiler.sh new file mode 100755 index 00000000..6ccc2dc4 --- /dev/null +++ b/src/build_compiler.sh @@ -0,0 +1,24 @@ +#!/bin/bash +# A basic script to compile the necessary packages and their subpackages to work with the parser. +# Messages are logged to stderr. +>&2 echo "Building de.dhbwstuttgart.typecheck..." +javac -d ../bin ./de/dhbwstuttgart/typecheck/*.java +>&2 echo "Building de.dhbwstuttgart.syntaxtree..." +javac -d ../bin ./de/dhbwstuttgart/syntaxtree/*.java +>&2 echo "Building de.dhbwstuttgart.syntaxtree.factory..." +javac -d ../bin ./de/dhbwstuttgart/syntaxtree/factory/*.java +>&2 echo "Building de.dhbwstuttgart.syntaxtree.operator..." +javac -d ../bin ./de/dhbwstuttgart/syntaxtree/operator/*.java +>&2 echo "Building de.dhbwstuttgart.syntaxtree.statement..." +javac -d ../bin ./de/dhbwstuttgart/syntaxtree/statement/*.java +>&2 echo "Building de.dhbwstuttgart.syntaxtree.statement.literal..." +javac -d ../bin ./de/dhbwstuttgart/syntaxtree/statement/literal/*.java +>&2 echo "Building de.dhbwstuttgart.syntaxtree.type..." +javac -d ../bin ./de/dhbwstuttgart/syntaxtree/type/*.java +>&2 echo "Building de.dhbwstuttgart.parser..." +javac -d ../bin ./de/dhbwstuttgart/parser/*.java +>&2 echo "Building de.dhbwstuttgart.parser.SyntaxTreeGenerator..." +javac -d ../bin ./de/dhbwstuttgart/parser/SyntaxTreeGenerator/*.java +>&2 echo "Building de.dhbwstuttgart.parser.antlr..." +javac -d ../bin ./de/dhbwstuttgart/parser/antlr/*.java +echo "Done. Now its your turn to debug:)." diff --git a/src/de/dhbwstuttgart/parser/PackageCrawler.java b/src/de/dhbwstuttgart/parser/PackageCrawler.java index 18bcd444..7028c8e7 100644 --- a/src/de/dhbwstuttgart/parser/PackageCrawler.java +++ b/src/de/dhbwstuttgart/parser/PackageCrawler.java @@ -12,7 +12,7 @@ import java.util.LinkedList; import java.util.List; import java.util.ArrayList; import java.util.Set; - +import java.lang.InterruptedException; /** * Hilft beim Durchsuchen von Packages * Benutzt die Reflections-Library (https://github.com/ronmamo/reflections) @@ -20,10 +20,11 @@ import java.util.Set; */ public class PackageCrawler { - public static Set> getClassesInPackage(String packageName) { + public static Set> getClassesInPackage(String packageName){ List classLoadersList = new LinkedList(); - classLoadersList.add(ClasspathHelper.contextClassLoader()); + classLoadersList.add(Thread.currentThread().getContextClassLoader()); classLoadersList.add(ClasspathHelper.staticClassLoader()); + classLoadersList.add(Thread.currentThread().getContextClassLoader().getParent()); Reflections reflections = new Reflections(new ConfigurationBuilder() .setScanners(new SubTypesScanner(false /* don't exclude Object.class */), new ResourcesScanner()) diff --git a/test/parser/GeneralParserTest.java b/test/parser/GeneralParserTest.java index 4617b8a5..dc2cd424 100644 --- a/test/parser/GeneralParserTest.java +++ b/test/parser/GeneralParserTest.java @@ -30,7 +30,6 @@ public class GeneralParserTest{ filenames.add("ImportTest.jav"); filenames.add("CastTest.jav"); filenames.add("StatementsTest.jav"); - filenames.add("Methods.jav"); filenames.add("ImportTestGeneric.jav"); filenames.add("CastTest.jav"); //filenames.add("BoundedParameter.jav"); diff --git a/test/parser/RunParserTest.java b/test/parser/RunParserTest.java index dd8db38e..5effe244 100644 --- a/test/parser/RunParserTest.java +++ b/test/parser/RunParserTest.java @@ -1,8 +1,11 @@ package parser; +import de.dhbwstuttgart.parser.JavaTXParser; import de.dhbwstuttgart.parser.RunParser; import org.junit.Test; +import java.io.File; + import static org.junit.Assert.*; public class RunParserTest { @@ -13,6 +16,6 @@ public class RunParserTest { public void testMain() throws Exception { String[] args = new String[1]; args[0] = rootDirectory+"ImportTest2.jav"; - RunParser.main(args); + new JavaTXParser().parse(new File(args[0])); } } \ No newline at end of file