From 9cf7cec37b6acf40c77563c26aba661dfc7b4c30 Mon Sep 17 00:00:00 2001 From: AluAli Date: Fri, 6 Nov 2020 18:13:21 +0100 Subject: [PATCH] modified: src/main/java/de/dhbwstuttgart/bytecode/genericsGenerator/GeneratedGenericsFinder.java renamed: src/main/java/de/dhbwstuttgart/bytecode/gGenericsAli/ClassConstraint.java -> src/main/java/de/dhbwstuttgart/bytecode/insertGenerics/ClassConstraint.java renamed: src/main/java/de/dhbwstuttgart/bytecode/gGenericsAli/FamilyOfGeneratedGenerics.java -> src/main/java/de/dhbwstuttgart/bytecode/insertGenerics/FamilyOfGeneratedGenerics.java renamed: src/main/java/de/dhbwstuttgart/bytecode/gGenericsAli/GGenerics.java -> src/main/java/de/dhbwstuttgart/bytecode/insertGenerics/GGenerics.java renamed: src/main/java/de/dhbwstuttgart/bytecode/gGenericsAli/MethodConstraint.java -> src/main/java/de/dhbwstuttgart/bytecode/insertGenerics/MethodConstraint.java renamed: src/main/java/de/dhbwstuttgart/bytecode/gGenericsAli/PositionFinder.java -> src/main/java/de/dhbwstuttgart/bytecode/insertGenerics/PositionFinder.java renamed: src/main/java/de/dhbwstuttgart/bytecode/gGenericsAli/preGGenerics.java -> src/main/java/de/dhbwstuttgart/bytecode/insertGenerics/preGGenerics.java modified: src/test/java/constraintSimplify/FamilyOfGenerics.java modified: src/test/java/insertGenerics/FamilyOfGeneratedGenericsTest.java modified: src/test/java/insertGenerics/TestExample42.java modified: src/test/java/insertGenerics/TestTransitiveClosure.java --- .../GeneratedGenericsFinder.java | 2 +- .../ClassConstraint.java | 2 +- .../FamilyOfGeneratedGenerics.java | 22 ++++++------------- .../GGenerics.java | 0 .../MethodConstraint.java | 2 +- .../PositionFinder.java | 3 +-- .../preGGenerics.java | 2 +- .../constraintSimplify/FamilyOfGenerics.java | 11 +--------- .../FamilyOfGeneratedGenericsTest.java | 10 ++++----- .../java/insertGenerics/TestExample42.java | 8 +++---- .../insertGenerics/TestTransitiveClosure.java | 6 +---- 11 files changed, 23 insertions(+), 45 deletions(-) rename src/main/java/de/dhbwstuttgart/bytecode/{gGenericsAli => insertGenerics}/ClassConstraint.java (88%) rename src/main/java/de/dhbwstuttgart/bytecode/{gGenericsAli => insertGenerics}/FamilyOfGeneratedGenerics.java (92%) rename src/main/java/de/dhbwstuttgart/bytecode/{gGenericsAli => insertGenerics}/GGenerics.java (100%) rename src/main/java/de/dhbwstuttgart/bytecode/{gGenericsAli => insertGenerics}/MethodConstraint.java (81%) rename src/main/java/de/dhbwstuttgart/bytecode/{gGenericsAli => insertGenerics}/PositionFinder.java (95%) rename src/main/java/de/dhbwstuttgart/bytecode/{gGenericsAli => insertGenerics}/preGGenerics.java (76%) diff --git a/src/main/java/de/dhbwstuttgart/bytecode/genericsGenerator/GeneratedGenericsFinder.java b/src/main/java/de/dhbwstuttgart/bytecode/genericsGenerator/GeneratedGenericsFinder.java index 00b18273..d59f4c01 100644 --- a/src/main/java/de/dhbwstuttgart/bytecode/genericsGenerator/GeneratedGenericsFinder.java +++ b/src/main/java/de/dhbwstuttgart/bytecode/genericsGenerator/GeneratedGenericsFinder.java @@ -9,7 +9,7 @@ import java.util.List; import java.util.Optional; import de.dhbwstuttgart.bytecode.TPHExtractor; -import de.dhbwstuttgart.bytecode.gGenericsAli.FamilyOfGeneratedGenerics; +import de.dhbwstuttgart.bytecode.insertGenerics.FamilyOfGeneratedGenerics; import de.dhbwstuttgart.bytecode.genericsGeneratorTypes.GenericGenratorResultForSourceFile; import de.dhbwstuttgart.bytecode.genericsGeneratorTypes.GenericsGeneratorResultForClass; import de.dhbwstuttgart.bytecode.genericsGeneratorTypes.MethodAndConstraints; diff --git a/src/main/java/de/dhbwstuttgart/bytecode/gGenericsAli/ClassConstraint.java b/src/main/java/de/dhbwstuttgart/bytecode/insertGenerics/ClassConstraint.java similarity index 88% rename from src/main/java/de/dhbwstuttgart/bytecode/gGenericsAli/ClassConstraint.java rename to src/main/java/de/dhbwstuttgart/bytecode/insertGenerics/ClassConstraint.java index fd5ffcae..3f1d19d2 100644 --- a/src/main/java/de/dhbwstuttgart/bytecode/gGenericsAli/ClassConstraint.java +++ b/src/main/java/de/dhbwstuttgart/bytecode/insertGenerics/ClassConstraint.java @@ -1,4 +1,4 @@ -package de.dhbwstuttgart.bytecode.gGenericsAli; +package de.dhbwstuttgart.bytecode.insertGenerics; import de.dhbwstuttgart.bytecode.constraint.TPHConstraint; diff --git a/src/main/java/de/dhbwstuttgart/bytecode/gGenericsAli/FamilyOfGeneratedGenerics.java b/src/main/java/de/dhbwstuttgart/bytecode/insertGenerics/FamilyOfGeneratedGenerics.java similarity index 92% rename from src/main/java/de/dhbwstuttgart/bytecode/gGenericsAli/FamilyOfGeneratedGenerics.java rename to src/main/java/de/dhbwstuttgart/bytecode/insertGenerics/FamilyOfGeneratedGenerics.java index c9a458ac..8683cc60 100644 --- a/src/main/java/de/dhbwstuttgart/bytecode/gGenericsAli/FamilyOfGeneratedGenerics.java +++ b/src/main/java/de/dhbwstuttgart/bytecode/insertGenerics/FamilyOfGeneratedGenerics.java @@ -1,11 +1,7 @@ -package de.dhbwstuttgart.bytecode.gGenericsAli; +package de.dhbwstuttgart.bytecode.insertGenerics; -import de.dhbwstuttgart.bytecode.TPHExtractor; import de.dhbwstuttgart.bytecode.constraint.TPHConstraint; import de.dhbwstuttgart.bytecode.constraint.TPHConstraint.Relation; -import de.dhbwstuttgart.syntaxtree.AbstractASTWalker; -import de.dhbwstuttgart.syntaxtree.SourceFile; -import de.dhbwstuttgart.syntaxtree.type.TypePlaceholder; import java.util.ArrayList; import java.util.HashMap; @@ -189,8 +185,7 @@ public class FamilyOfGeneratedGenerics { for (TPHConstraint tphC: tempList) { hasSame = constraint.getLeft() == tphC.getLeft() && constraint.getRight() == tphC.getRight() && - constraint.getRel() == tphC.getRel(); //constraint already in ArrayList if -// System.out.println(hasSame); + constraint.getRel() == tphC.getRel(); //constraint already in ArrayList if true if (hasSame) return true; } @@ -198,22 +193,19 @@ public class FamilyOfGeneratedGenerics { } public static List buildTransitiveClosure(List list) { - List iterList = list; - List runList = list; - List tcList = list; + List iterList = new ArrayList<>(list); + List runList = new ArrayList<>(list); + List tcList = new ArrayList<>(list); boolean addedConToList = false; for (TPHConstraint cons: iterList) { for (TPHConstraint cons2: runList) { if(cons.getRight() == cons2.getLeft()) { TPHConstraint consToAdd = new TPHConstraint(cons.getLeft(), cons2.getRight(), Relation.EXTENDS); -// System.out.println(consToAdd); -// System.out.println(tcList); -// System.out.println(checkForDuplicates(consToAdd,tcList)); if (!checkForDuplicates(consToAdd,tcList)) { - tcList.add(consToAdd); //Duplikate? dürfte nicht sein -> checken + tcList.add(consToAdd); addedConToList = true; if (addedConToList) { - buildTransitiveClosure(tcList); + return buildTransitiveClosure(tcList); } } //TODO: über aktualisierte Liste laufen wegen Updates -> Rekursion? diff --git a/src/main/java/de/dhbwstuttgart/bytecode/gGenericsAli/GGenerics.java b/src/main/java/de/dhbwstuttgart/bytecode/insertGenerics/GGenerics.java similarity index 100% rename from src/main/java/de/dhbwstuttgart/bytecode/gGenericsAli/GGenerics.java rename to src/main/java/de/dhbwstuttgart/bytecode/insertGenerics/GGenerics.java diff --git a/src/main/java/de/dhbwstuttgart/bytecode/gGenericsAli/MethodConstraint.java b/src/main/java/de/dhbwstuttgart/bytecode/insertGenerics/MethodConstraint.java similarity index 81% rename from src/main/java/de/dhbwstuttgart/bytecode/gGenericsAli/MethodConstraint.java rename to src/main/java/de/dhbwstuttgart/bytecode/insertGenerics/MethodConstraint.java index 9b228258..d68f7d3f 100644 --- a/src/main/java/de/dhbwstuttgart/bytecode/gGenericsAli/MethodConstraint.java +++ b/src/main/java/de/dhbwstuttgart/bytecode/insertGenerics/MethodConstraint.java @@ -1,4 +1,4 @@ -package de.dhbwstuttgart.bytecode.gGenericsAli; +package de.dhbwstuttgart.bytecode.insertGenerics; import de.dhbwstuttgart.bytecode.constraint.TPHConstraint; diff --git a/src/main/java/de/dhbwstuttgart/bytecode/gGenericsAli/PositionFinder.java b/src/main/java/de/dhbwstuttgart/bytecode/insertGenerics/PositionFinder.java similarity index 95% rename from src/main/java/de/dhbwstuttgart/bytecode/gGenericsAli/PositionFinder.java rename to src/main/java/de/dhbwstuttgart/bytecode/insertGenerics/PositionFinder.java index ba9585f0..c5638360 100644 --- a/src/main/java/de/dhbwstuttgart/bytecode/gGenericsAli/PositionFinder.java +++ b/src/main/java/de/dhbwstuttgart/bytecode/insertGenerics/PositionFinder.java @@ -1,6 +1,5 @@ -package de.dhbwstuttgart.bytecode.gGenericsAli; +package de.dhbwstuttgart.bytecode.insertGenerics; -import de.dhbwstuttgart.bytecode.TPHExtractor; import de.dhbwstuttgart.syntaxtree.*; import de.dhbwstuttgart.syntaxtree.type.TypePlaceholder; diff --git a/src/main/java/de/dhbwstuttgart/bytecode/gGenericsAli/preGGenerics.java b/src/main/java/de/dhbwstuttgart/bytecode/insertGenerics/preGGenerics.java similarity index 76% rename from src/main/java/de/dhbwstuttgart/bytecode/gGenericsAli/preGGenerics.java rename to src/main/java/de/dhbwstuttgart/bytecode/insertGenerics/preGGenerics.java index 781e3d76..088a435b 100644 --- a/src/main/java/de/dhbwstuttgart/bytecode/gGenericsAli/preGGenerics.java +++ b/src/main/java/de/dhbwstuttgart/bytecode/insertGenerics/preGGenerics.java @@ -1,4 +1,4 @@ -package de.dhbwstuttgart.bytecode.gGenericsAli; +package de.dhbwstuttgart.bytecode.insertGenerics; import de.dhbwstuttgart.typeinference.result.ResultSet; diff --git a/src/test/java/constraintSimplify/FamilyOfGenerics.java b/src/test/java/constraintSimplify/FamilyOfGenerics.java index 83561450..e5c9ad13 100644 --- a/src/test/java/constraintSimplify/FamilyOfGenerics.java +++ b/src/test/java/constraintSimplify/FamilyOfGenerics.java @@ -1,27 +1,18 @@ package constraintSimplify; import de.dhbwstuttgart.bytecode.TPHExtractor; -import de.dhbwstuttgart.bytecode.gGenericsAli.FamilyOfGeneratedGenerics; -import de.dhbwstuttgart.bytecode.gGenericsAli.PositionFinder; +import de.dhbwstuttgart.bytecode.insertGenerics.PositionFinder; import de.dhbwstuttgart.bytecode.genericsGenerator.GeneratedGenericsFinder; -import de.dhbwstuttgart.core.JavaTXCompiler; import de.dhbwstuttgart.parser.NullToken; import de.dhbwstuttgart.parser.scope.JavaClassName; import de.dhbwstuttgart.syntaxtree.*; import de.dhbwstuttgart.syntaxtree.statement.Block; import de.dhbwstuttgart.syntaxtree.type.RefType; -import de.dhbwstuttgart.syntaxtree.type.RefTypeOrTPHOrWildcardOrGeneric; import de.dhbwstuttgart.syntaxtree.type.TypePlaceholder; import de.dhbwstuttgart.typeinference.result.ResultSet; -import org.antlr.v4.runtime.Token; -import org.junit.Assert; import org.junit.Test; -import java.io.File; import java.lang.reflect.Modifier; -import java.net.URL; -import java.net.URLClassLoader; -import java.nio.file.NotLinkException; import java.util.ArrayList; import java.util.HashSet; import java.util.List; diff --git a/src/test/java/insertGenerics/FamilyOfGeneratedGenericsTest.java b/src/test/java/insertGenerics/FamilyOfGeneratedGenericsTest.java index c4cbeb93..d0a2712f 100644 --- a/src/test/java/insertGenerics/FamilyOfGeneratedGenericsTest.java +++ b/src/test/java/insertGenerics/FamilyOfGeneratedGenericsTest.java @@ -1,10 +1,10 @@ package insertGenerics; import de.dhbwstuttgart.bytecode.constraint.TPHConstraint; -import de.dhbwstuttgart.bytecode.gGenericsAli.ClassConstraint; -import de.dhbwstuttgart.bytecode.gGenericsAli.FamilyOfGeneratedGenerics; -import de.dhbwstuttgart.bytecode.gGenericsAli.MethodConstraint; -import de.dhbwstuttgart.bytecode.gGenericsAli.PositionFinder; +import de.dhbwstuttgart.bytecode.insertGenerics.ClassConstraint; +import de.dhbwstuttgart.bytecode.insertGenerics.FamilyOfGeneratedGenerics; +import de.dhbwstuttgart.bytecode.insertGenerics.MethodConstraint; +import de.dhbwstuttgart.bytecode.insertGenerics.PositionFinder; import junit.framework.TestCase; import java.util.ArrayList; @@ -47,7 +47,7 @@ public class FamilyOfGeneratedGenericsTest extends TestCase { return f; } } - gives constraint: A <. B, which is a method constraint + gives constraint: A <. B, which is a class constraint */ List inputConstraints = new ArrayList<>(); diff --git a/src/test/java/insertGenerics/TestExample42.java b/src/test/java/insertGenerics/TestExample42.java index 219e3fff..130706d7 100644 --- a/src/test/java/insertGenerics/TestExample42.java +++ b/src/test/java/insertGenerics/TestExample42.java @@ -2,10 +2,10 @@ package insertGenerics; import de.dhbwstuttgart.bytecode.constraint.TPHConstraint; import de.dhbwstuttgart.bytecode.constraint.TPHConstraint.Relation; -import de.dhbwstuttgart.bytecode.gGenericsAli.ClassConstraint; -import de.dhbwstuttgart.bytecode.gGenericsAli.FamilyOfGeneratedGenerics; -import de.dhbwstuttgart.bytecode.gGenericsAli.MethodConstraint; -import de.dhbwstuttgart.bytecode.gGenericsAli.PositionFinder; +import de.dhbwstuttgart.bytecode.insertGenerics.ClassConstraint; +import de.dhbwstuttgart.bytecode.insertGenerics.FamilyOfGeneratedGenerics; +import de.dhbwstuttgart.bytecode.insertGenerics.MethodConstraint; +import de.dhbwstuttgart.bytecode.insertGenerics.PositionFinder; import org.junit.Test; import static org.junit.Assert.assertEquals; diff --git a/src/test/java/insertGenerics/TestTransitiveClosure.java b/src/test/java/insertGenerics/TestTransitiveClosure.java index e1bc022b..95c6a0e2 100644 --- a/src/test/java/insertGenerics/TestTransitiveClosure.java +++ b/src/test/java/insertGenerics/TestTransitiveClosure.java @@ -2,15 +2,11 @@ package insertGenerics; import de.dhbwstuttgart.bytecode.constraint.TPHConstraint; import de.dhbwstuttgart.bytecode.constraint.TPHConstraint.Relation; -import de.dhbwstuttgart.bytecode.gGenericsAli.ClassConstraint; -import de.dhbwstuttgart.bytecode.gGenericsAli.FamilyOfGeneratedGenerics; -import de.dhbwstuttgart.bytecode.gGenericsAli.MethodConstraint; -import de.dhbwstuttgart.bytecode.gGenericsAli.PositionFinder; +import de.dhbwstuttgart.bytecode.insertGenerics.FamilyOfGeneratedGenerics; import org.junit.Test; import static org.junit.Assert.assertEquals; import java.util.ArrayList; -import java.util.HashMap; import java.util.List; public class TestTransitiveClosure {