Umstellung auf Intellij IDEA

This commit is contained in:
JanUlrich 2016-06-17 13:55:14 +02:00
parent f88d58d548
commit e19dee4c99
16 changed files with 126 additions and 70 deletions

8
.idea/modules.xml generated Normal file
View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/JavaCompilerCore.iml" filepath="$PROJECT_DIR$/JavaCompilerCore.iml" />
</modules>
</component>
</project>

6
.idea/vcs.xml generated Normal file
View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="" vcs="Git" />
</component>
</project>

75
JavaCompilerCore.iml Normal file
View File

@ -0,0 +1,75 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
<component name="EclipseModuleManager">
<libelement value="jar://$MODULE_DIR$/lib/junit-4.0.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/cloning.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/guava-10.0.1.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/commons-bcel6-6.0-SNAPSHOT.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/bcel-6.0-SNAPSHOT.jar!/" />
<src_description expected_position="0">
<src_folder value="file://$MODULE_DIR$/src" expected_position="0" />
<src_folder value="file://$MODULE_DIR$/BCEL" expected_position="1" />
<src_folder value="file://$MODULE_DIR$/" expected_position="2" />
<src_folder value="file://$MODULE_DIR$/test" expected_position="3" />
</src_description>
</component>
<component name="NewModuleRootManager" inherit-compiler-output="false">
<output url="file://$MODULE_DIR$/bin" />
<exclude-output />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/test" isTestSource="false" />
</content>
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="jdk" jdkName="1.8" jdkType="JavaSDK" />
<orderEntry type="module-library">
<library name="junit-4.0.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/junit-4.0.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/junit/junit/4.0/junit-4.0-sources.jar!/" />
</SOURCES>
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="cloning.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/cloning.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="guava-10.0.1.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/guava-10.0.1.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="commons-bcel6-6.0-SNAPSHOT.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/commons-bcel6-6.0-SNAPSHOT.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="file://$USER_HOME$/Development/intellijworkspace/bcel/src/main/java" />
</SOURCES>
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="bcel-6.0-SNAPSHOT.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/bcel-6.0-SNAPSHOT.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
</component>
</module>

Binary file not shown.

View File

@ -70,7 +70,8 @@ public class MethodGenerator extends MethodGen{
il.append(factory.createReturn( org.apache.commons.bcel6.generic.Type.VOID));
}
}
method.getInstructionList().setPositions();
method.stripAttributes(true);
method.setMaxStack(); //Die Stack Größe automatisch berechnen lassen (erst nach dem alle Instructions angehängt wurden)
method.setMaxLocals();

View File

@ -2,6 +2,7 @@ package KomplexeMenge;
import static org.junit.Assert.*;
import java.util.Set;
import java.util.Vector;
import org.junit.Test;
@ -36,7 +37,7 @@ class TestKlasseOderMenge extends OderMenge<TestKlasse>{
}
public void addItem(TestKlasse string) {
TestUndMenge toAdd = new TestKlasseUndMenge();
TestKlasseUndMenge toAdd = new TestKlasseUndMenge();
toAdd.addItem(string);
set.add(toAdd);
}
@ -61,24 +62,28 @@ class TestKlasseUndMenge extends UndMenge<TestKlasse>{
}
}
/**
* @Depreciated
* Tests möglicherweise obsolet
*/
public class KeineDoppeltenVerweise {
@Test
public void test() {
OderMenge<TestKlasse> oM1 = new TestOderMenge();
OderMenge<TestKlasse> oM2 = new OderMenge<>();
UndMenge<TestKlasse> oM3 = new UndMenge<>();
TestKlasseOderMenge oM1 = new TestKlasseOderMenge();
TestKlasseOderMenge oM2 = new TestKlasseOderMenge();
TestKlasseUndMenge oM3 = new TestKlasseUndMenge();
oM1.addItem(new TestKlasse("Menge 1, Item 1"));
oM1.addItem(new TestKlasse("Menge 1, Item 2"));
oM2.addItem(new TestKlasse("Menge 2, Item 1"));
oM2.addItem(new TestKlasse("Menge 2, Item 2"));
oM3.addItems(oM1);
oM3.addItems(oM2);
Menge<Menge<TestKlasse>> cP = oM3.cartesianProduct();
Set<Set<TestKlasse>> cP = oM3.cartesianProduct();
System.out.println(cP);
cP.firstElement().firstElement().name="neu";
cP.iterator().next().iterator().next().name="neu";
System.out.println(cP);
check(cP);
//check(cP); //TODO Muss neu implementiert werden
}
private <A> void check(Menge<Menge<A>> cP){

View File

@ -1,9 +0,0 @@
class IfTest{
public static void main(String[] args){
System.out.println(new IfElseStatement().method(true));
System.out.println(new IfElseStatement().method(false));
}
}

View File

@ -21,6 +21,7 @@ public abstract class SourceFileBytecodeTest extends TestCase{
protected String testName;
public SourceFileBytecodeTest(){
super("Bytecode Test");
init();
if(testName != null){
@ -29,6 +30,7 @@ public abstract class SourceFileBytecodeTest extends TestCase{
outputDirectory = "";
SingleClassTester.compileToBytecode(rootDirectory+testFile, rootDirectory+outputDirectory);
System.out.println("Test");
}else{
throw new RuntimeException("rootDirectory, testFile or outputFile is null.");
}

View File

@ -1,27 +0,0 @@
/**
* Diese Klasse testet die generierte EmptyClass.class-Datei
*/
class Test{
public static void main(String[] args){
new EmptyClass();
new Assign();
System.out.println(new Return().method());
new MethodCall().method();
System.out.println(new FieldDeclaration().field);
System.out.println(new Runnable().method().apply());
Runnable r = new Runnable().method().apply();
Test t = new Identity<Test,Test>().op.apply(new Test());
System.out.println(t);
}
}
class Test2<X>{
Fun1<? extends X,? super X> m() {
Fun1<? extends X,? super X> f = new Identity<X,X>().op;
return f;
}
public static void main(String[] args){
Matrix2<Integer,Integer> m2 = new Matrix2<>();
System.out.println(m2.op.apply((Integer x) -> x));
}
}

View File

@ -1,6 +0,0 @@
class Test2{
public static void main(java.lang.String[] args){
new NewStatement(1).method();
}
}

View File

@ -1,6 +0,0 @@
class Test3{
public static void main(String[] args){
System.out.println(new LambdaExpr2Test().op.apply());
}
}

View File

@ -1,8 +0,0 @@
class TestStackMap{
public static void main(String[] args){
IfElseStatement test = new IfElseStatement();
System.out.println(test.method(false));
}
}

View File

@ -1,8 +1,14 @@
package bytecode;
import org.junit.Test;
import org.junit.runners.Suite;
public class WhileTest extends SourceFileBytecodeTest{
public WhileTest(){
super();
}
@Override
protected void init() {
testName = "WhileTest";

View File

@ -7,6 +7,7 @@ import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Paths;
import de.dhbwstuttgart.syntaxtree.SourceFile;
import de.dhbwstuttgart.typeinference.Menge;
import org.junit.Test;
@ -43,8 +44,9 @@ public class InsertSingleTypeTest {
String inferedSource = "";
MyCompilerAPI compiler = MyCompiler.getAPI(new LoggerConfiguration().setOutput(Section.TYPEINFERENCE, System.out));
try {
compiler.parse(new File(rootDirectory + sourceFileToInfere));
Menge<TypeinferenceResultSet> results = compiler.typeReconstruction();
SourceFile parsed = compiler.parse(new File(rootDirectory + sourceFileToInfere));Menge<SourceFile> sourceFiles = new Menge<>();
sourceFiles.add(parsed);
Menge<TypeinferenceResultSet> results = compiler.typeReconstruction(sourceFiles);
TestCase.assertTrue("Es darf nicht mehr als eine L�sungsm�glichkeit geben und nicht "+results.size(), results.size()==1);
return results.firstElement();
} catch (IOException | yyException e) {

View File

@ -3,6 +3,7 @@ package plugindevelopment.MartinTestCases;
import java.io.File;
import java.io.IOException;
import de.dhbwstuttgart.syntaxtree.SourceFile;
import de.dhbwstuttgart.typeinference.Menge;
import org.junit.Test;
@ -27,8 +28,10 @@ public class Tester extends TypeInsertTester{
String inferedSource = "";
MyCompilerAPI compiler = MyCompiler.getAPI(new LoggerConfiguration().setOutput(Section.TYPEINFERENCE, System.out));
try {
compiler.parse(new File(rootDirectory + sourceFileToInfere));
Menge<TypeinferenceResultSet> results = compiler.typeReconstruction();
SourceFile parsed = compiler.parse(new File(rootDirectory + sourceFileToInfere));
Menge<SourceFile> sourceFiles = new Menge<>();
sourceFiles.add(parsed);
Menge<TypeinferenceResultSet> results = compiler.typeReconstruction(sourceFiles);
//TestCase.assertTrue("Es darf nicht mehr als eine L�sungsm�glichkeit geben und nicht "+results.size(), results.size()==1);
for(TypeinferenceResultSet result : results){
TypeInsertSet point = result.getTypeInsertionPoints();

View File

@ -8,6 +8,8 @@ import java.nio.ByteBuffer;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Paths;
import de.dhbwstuttgart.syntaxtree.SourceFile;
import de.dhbwstuttgart.typeinference.Menge;
import de.dhbwstuttgart.logger.Logger;
@ -44,8 +46,10 @@ public class TypeInsertTester{
String inferedSource = "";
MyCompilerAPI compiler = MyCompiler.getAPI(logConfig);
try {
compiler.parse(new File(rootDirectory + sourceFileToInfere));
Menge<TypeinferenceResultSet> results = compiler.typeReconstruction();
SourceFile parsed = compiler.parse(new File(rootDirectory + sourceFileToInfere));
Menge<SourceFile> sourceFiles = new Menge<>();
sourceFiles.add(parsed);
Menge<TypeinferenceResultSet> results = compiler.typeReconstruction(sourceFiles);
TestCase.assertTrue("Es darf nicht mehr als eine Lösungsmöglichkeit geben und nicht "+results.size(), results.size()==1);
for(TypeinferenceResultSet result : results){
TypeInsertSet point = result.getTypeInsertionPoints();