Add generation of wildcard constraints for generic types in source
This commit is contained in:
parent
4009a28333
commit
cfce2f55ac
@ -6,7 +6,6 @@ import java.util.Set;
|
|||||||
|
|
||||||
import de.dhbwstuttgart.parser.NullToken;
|
import de.dhbwstuttgart.parser.NullToken;
|
||||||
import de.dhbwstuttgart.syntaxtree.type.ExtendsWildcardType;
|
import de.dhbwstuttgart.syntaxtree.type.ExtendsWildcardType;
|
||||||
import de.dhbwstuttgart.syntaxtree.type.RefType;
|
|
||||||
import de.dhbwstuttgart.syntaxtree.type.RefTypeOrTPHOrWildcardOrGeneric;
|
import de.dhbwstuttgart.syntaxtree.type.RefTypeOrTPHOrWildcardOrGeneric;
|
||||||
import de.dhbwstuttgart.syntaxtree.type.SuperWildcardType;
|
import de.dhbwstuttgart.syntaxtree.type.SuperWildcardType;
|
||||||
import de.dhbwstuttgart.syntaxtree.type.TypePlaceholder;
|
import de.dhbwstuttgart.syntaxtree.type.TypePlaceholder;
|
||||||
@ -32,13 +31,14 @@ public final class ConstraintsGenerationUtils
|
|||||||
* Generate the constraints for a map of type placeholder and RefType and merge
|
* Generate the constraints for a map of type placeholder and RefType and merge
|
||||||
* these to the already provided constraints.
|
* these to the already provided constraints.
|
||||||
*
|
*
|
||||||
* @param tphMap {@link Map} of {@link TypePlaceholder} and {@link RefType}
|
* @param tphMap {@link Map} of {@link TypePlaceholder} and
|
||||||
|
* {@link RefTypeOrTPHOrWildcardOrGeneric}
|
||||||
* @param constraints {@link ConstraintSet} over {@link Pair} to merge to
|
* @param constraints {@link ConstraintSet} over {@link Pair} to merge to
|
||||||
* @return The same instance {@code constraints} provided including the merged
|
* @return The same instance {@code constraints} provided including the merged
|
||||||
* constraints
|
* constraints
|
||||||
*/
|
*/
|
||||||
public static ConstraintSet<Pair> generateAndMergeConstraints (
|
public static ConstraintSet<Pair> generateAndMergeConstraints (
|
||||||
Map<? extends TypePlaceholder, ? extends RefType> tphMap,
|
Map<? extends TypePlaceholder, ? extends RefTypeOrTPHOrWildcardOrGeneric> tphMap,
|
||||||
ConstraintSet<Pair> constraints) {
|
ConstraintSet<Pair> constraints) {
|
||||||
ConstraintSet<Pair> generateConstraints = ConstraintsGenerationUtils.generateConstraints(tphMap);
|
ConstraintSet<Pair> generateConstraints = ConstraintsGenerationUtils.generateConstraints(tphMap);
|
||||||
constraints.addAll(generateConstraints);
|
constraints.addAll(generateConstraints);
|
||||||
@ -48,11 +48,13 @@ public final class ConstraintsGenerationUtils
|
|||||||
/**
|
/**
|
||||||
* Generate the constraints for a map of type placeholder and RefType.
|
* Generate the constraints for a map of type placeholder and RefType.
|
||||||
*
|
*
|
||||||
* @param tphMap {@link Map} of {@link TypePlaceholder} and {@link RefType}
|
* @param tphMap {@link Map} of {@link TypePlaceholder} and
|
||||||
|
* {@link RefTypeOrTPHOrWildcardOrGeneric}
|
||||||
* @return {@link ConstraintSet} of {@link Pair} containing the constraints to
|
* @return {@link ConstraintSet} of {@link Pair} containing the constraints to
|
||||||
* infer the matching wildcard type.
|
* infer the matching wildcard type.
|
||||||
*/
|
*/
|
||||||
public static ConstraintSet<Pair> generateConstraints (Map<? extends TypePlaceholder, ? extends RefType> tphMap) {
|
public static ConstraintSet<Pair> generateConstraints (
|
||||||
|
Map<? extends TypePlaceholder, ? extends RefTypeOrTPHOrWildcardOrGeneric> tphMap) {
|
||||||
ConstraintSet<Pair> constraintSet = new ConstraintSet<>();
|
ConstraintSet<Pair> constraintSet = new ConstraintSet<>();
|
||||||
tphMap.forEach( (tph, refType) -> {
|
tphMap.forEach( (tph, refType) -> {
|
||||||
ConstraintSet<Pair> constraintSet2 = generateConstraints(refType, tph);
|
ConstraintSet<Pair> constraintSet2 = generateConstraints(refType, tph);
|
||||||
@ -65,12 +67,13 @@ public final class ConstraintsGenerationUtils
|
|||||||
* Generate the constraints for a single RefType type placeholder pair to infer
|
* Generate the constraints for a single RefType type placeholder pair to infer
|
||||||
* the wildcards for the generic parameter type.
|
* the wildcards for the generic parameter type.
|
||||||
*
|
*
|
||||||
* @param refType {@link RefType}
|
* @param refType {@link RefTypeOrTPHOrWildcardOrGeneric}
|
||||||
* @param tph {@link TypePlaceholder}
|
* @param tph {@link TypePlaceholder}
|
||||||
* @return {@link ConstraintSet} of {@link Pair} generated containing the
|
* @return {@link ConstraintSet} of {@link Pair} generated containing the
|
||||||
* constraints.
|
* constraints.
|
||||||
*/
|
*/
|
||||||
public static ConstraintSet<Pair> generateConstraints (RefType refType, TypePlaceholder tph) {
|
public static ConstraintSet<Pair> generateConstraints (RefTypeOrTPHOrWildcardOrGeneric refType,
|
||||||
|
TypePlaceholder tph) {
|
||||||
ConstraintSet<Pair> constraintSet = new ConstraintSet<>();
|
ConstraintSet<Pair> constraintSet = new ConstraintSet<>();
|
||||||
Set<Constraint<Pair>> oderConstraints = new HashSet<>();
|
Set<Constraint<Pair>> oderConstraints = new HashSet<>();
|
||||||
constraintSet.addOderConstraint(oderConstraints);
|
constraintSet.addOderConstraint(oderConstraints);
|
||||||
|
@ -6,7 +6,7 @@ import java.util.List;
|
|||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import de.dhbwstuttgart.core.JavaTXCompiler;
|
import de.dhbwstuttgart.core.JavaTXCompiler;
|
||||||
import de.dhbwstuttgart.syntaxtree.type.RefType;
|
import de.dhbwstuttgart.syntaxtree.type.RefTypeOrTPHOrWildcardOrGeneric;
|
||||||
import de.dhbwstuttgart.syntaxtree.type.TypePlaceholder;
|
import de.dhbwstuttgart.syntaxtree.type.TypePlaceholder;
|
||||||
import de.dhbwstuttgart.typeinference.constraints.ConstraintSet;
|
import de.dhbwstuttgart.typeinference.constraints.ConstraintSet;
|
||||||
import de.dhbwstuttgart.typeinference.constraints.Pair;
|
import de.dhbwstuttgart.typeinference.constraints.Pair;
|
||||||
@ -33,7 +33,7 @@ public class JavaTXCompilerWildcards
|
|||||||
/**
|
/**
|
||||||
* Generated Type placeholder and the implementation type represented.
|
* Generated Type placeholder and the implementation type represented.
|
||||||
*/
|
*/
|
||||||
private final Map<? extends TypePlaceholder, ? extends RefType> tphMap;
|
private final Map<? extends TypePlaceholder, ? extends RefTypeOrTPHOrWildcardOrGeneric> tphMap;
|
||||||
|
|
||||||
public JavaTXCompilerWildcards (File... sourceFile) throws IOException, ClassNotFoundException {
|
public JavaTXCompilerWildcards (File... sourceFile) throws IOException, ClassNotFoundException {
|
||||||
super(sourceFile);
|
super(sourceFile);
|
||||||
@ -59,9 +59,10 @@ public class JavaTXCompilerWildcards
|
|||||||
/**
|
/**
|
||||||
* Return the Type Placeholder generated.
|
* Return the Type Placeholder generated.
|
||||||
*
|
*
|
||||||
* @return {@link Map} over {@link TypePlaceholder} and {@link RefType}
|
* @return {@link Map} over {@link TypePlaceholder} and
|
||||||
|
* {@link RefTypeOrTPHOrWildcardOrGeneric}
|
||||||
*/
|
*/
|
||||||
public Map<? extends TypePlaceholder, ? extends RefType> getTphMap () {
|
public Map<? extends TypePlaceholder, ? extends RefTypeOrTPHOrWildcardOrGeneric> getTphMap () {
|
||||||
return tphMap;
|
return tphMap;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -10,6 +10,7 @@ import de.dhbwstuttgart.syntaxtree.Field;
|
|||||||
import de.dhbwstuttgart.syntaxtree.FormalParameter;
|
import de.dhbwstuttgart.syntaxtree.FormalParameter;
|
||||||
import de.dhbwstuttgart.syntaxtree.Method;
|
import de.dhbwstuttgart.syntaxtree.Method;
|
||||||
import de.dhbwstuttgart.syntaxtree.statement.LocalVarDecl;
|
import de.dhbwstuttgart.syntaxtree.statement.LocalVarDecl;
|
||||||
|
import de.dhbwstuttgart.syntaxtree.type.GenericRefType;
|
||||||
import de.dhbwstuttgart.syntaxtree.type.RefType;
|
import de.dhbwstuttgart.syntaxtree.type.RefType;
|
||||||
import de.dhbwstuttgart.syntaxtree.type.RefTypeOrTPHOrWildcardOrGeneric;
|
import de.dhbwstuttgart.syntaxtree.type.RefTypeOrTPHOrWildcardOrGeneric;
|
||||||
import de.dhbwstuttgart.syntaxtree.type.TypePlaceholder;
|
import de.dhbwstuttgart.syntaxtree.type.TypePlaceholder;
|
||||||
@ -28,7 +29,7 @@ public class ReplaceTypeparamVisitor
|
|||||||
/**
|
/**
|
||||||
* Containing the replaced RefType and the mapping TPH
|
* Containing the replaced RefType and the mapping TPH
|
||||||
*/
|
*/
|
||||||
private final Map<TypePlaceholder, RefType> tphMap;
|
private final Map<TypePlaceholder, RefTypeOrTPHOrWildcardOrGeneric> tphMap;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructor for a {@code ReplaceTypeparamVisitor}.
|
* Constructor for a {@code ReplaceTypeparamVisitor}.
|
||||||
@ -81,7 +82,7 @@ public class ReplaceTypeparamVisitor
|
|||||||
*
|
*
|
||||||
* @return {@link Map} of {@link TypePlaceholder} and {@link RefType}
|
* @return {@link Map} of {@link TypePlaceholder} and {@link RefType}
|
||||||
*/
|
*/
|
||||||
public Map<? extends TypePlaceholder, ? extends RefType> getTphMap () {
|
public Map<? extends TypePlaceholder, ? extends RefTypeOrTPHOrWildcardOrGeneric> getTphMap () {
|
||||||
return tphMap;
|
return tphMap;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -118,6 +119,15 @@ public class ReplaceTypeparamVisitor
|
|||||||
// Generate TPH
|
// Generate TPH
|
||||||
TypePlaceholder tph = generateTypePlaceholder(nextRefType);
|
TypePlaceholder tph = generateTypePlaceholder(nextRefType);
|
||||||
|
|
||||||
|
// Replace in AST
|
||||||
|
listIterator.set(tph);
|
||||||
|
}
|
||||||
|
else if (next instanceof GenericRefType) {
|
||||||
|
GenericRefType nextGenericRefType = (GenericRefType) next;
|
||||||
|
|
||||||
|
// Generate TPH
|
||||||
|
TypePlaceholder tph = generateTypePlaceholder(nextGenericRefType);
|
||||||
|
|
||||||
// Replace in AST
|
// Replace in AST
|
||||||
listIterator.set(tph);
|
listIterator.set(tph);
|
||||||
}
|
}
|
||||||
@ -131,12 +141,13 @@ public class ReplaceTypeparamVisitor
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Generate the TPH for a {@link RefType} and saves the mapping.
|
* Generate the TPH for a {@link RefTypeOrTPHOrWildcardOrGeneric} and saves the
|
||||||
|
* mapping.
|
||||||
*
|
*
|
||||||
* @param t {@link RefType}
|
* @param t {@link RefTypeOrTPHOrWildcardOrGeneric}
|
||||||
* @return {@link TypePlaceholder} generated
|
* @return {@link TypePlaceholder} generated
|
||||||
*/
|
*/
|
||||||
private TypePlaceholder generateTypePlaceholder (RefType t) {
|
private TypePlaceholder generateTypePlaceholder (RefTypeOrTPHOrWildcardOrGeneric t) {
|
||||||
TypePlaceholder tph = TypePlaceholder.fresh(new NullToken());
|
TypePlaceholder tph = TypePlaceholder.fresh(new NullToken());
|
||||||
tphMap.put(tph, t);
|
tphMap.put(tph, t);
|
||||||
return tph;
|
return tph;
|
||||||
|
@ -6,6 +6,7 @@ import java.util.Map;
|
|||||||
import de.dhbwstuttgart.core.JavaTXCompiler;
|
import de.dhbwstuttgart.core.JavaTXCompiler;
|
||||||
import de.dhbwstuttgart.syntaxtree.SourceFile;
|
import de.dhbwstuttgart.syntaxtree.SourceFile;
|
||||||
import de.dhbwstuttgart.syntaxtree.type.RefType;
|
import de.dhbwstuttgart.syntaxtree.type.RefType;
|
||||||
|
import de.dhbwstuttgart.syntaxtree.type.RefTypeOrTPHOrWildcardOrGeneric;
|
||||||
import de.dhbwstuttgart.syntaxtree.type.TypePlaceholder;
|
import de.dhbwstuttgart.syntaxtree.type.TypePlaceholder;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -30,7 +31,8 @@ public final class TypePlaceholderReplaceUtils
|
|||||||
* @return {@link Map} over {@link TypePlaceholder} and the {@link RefType}
|
* @return {@link Map} over {@link TypePlaceholder} and the {@link RefType}
|
||||||
* replaced
|
* replaced
|
||||||
*/
|
*/
|
||||||
public static Map<? extends TypePlaceholder, ? extends RefType> generateTypePlaceholder (JavaTXCompiler compiler) {
|
public static Map<? extends TypePlaceholder, ? extends RefTypeOrTPHOrWildcardOrGeneric> generateTypePlaceholder (
|
||||||
|
JavaTXCompiler compiler) {
|
||||||
Map<File, SourceFile> sourceFiles = compiler.getSourceFiles();
|
Map<File, SourceFile> sourceFiles = compiler.getSourceFiles();
|
||||||
ReplaceTypeparamVisitor visitor = new ReplaceTypeparamVisitor();
|
ReplaceTypeparamVisitor visitor = new ReplaceTypeparamVisitor();
|
||||||
sourceFiles.forEach( (k, v) -> v.accept(visitor));
|
sourceFiles.forEach( (k, v) -> v.accept(visitor));
|
||||||
|
@ -22,6 +22,7 @@ import de.dhbwstuttgart.inferWildcards.TypePlaceholderReplaceUtils;
|
|||||||
import de.dhbwstuttgart.parser.NullToken;
|
import de.dhbwstuttgart.parser.NullToken;
|
||||||
import de.dhbwstuttgart.parser.scope.JavaClassName;
|
import de.dhbwstuttgart.parser.scope.JavaClassName;
|
||||||
import de.dhbwstuttgart.syntaxtree.type.RefType;
|
import de.dhbwstuttgart.syntaxtree.type.RefType;
|
||||||
|
import de.dhbwstuttgart.syntaxtree.type.RefTypeOrTPHOrWildcardOrGeneric;
|
||||||
import de.dhbwstuttgart.syntaxtree.type.TypePlaceholder;
|
import de.dhbwstuttgart.syntaxtree.type.TypePlaceholder;
|
||||||
import de.dhbwstuttgart.typeinference.constraints.Constraint;
|
import de.dhbwstuttgart.typeinference.constraints.Constraint;
|
||||||
import de.dhbwstuttgart.typeinference.constraints.ConstraintSet;
|
import de.dhbwstuttgart.typeinference.constraints.ConstraintSet;
|
||||||
@ -52,14 +53,15 @@ public class TestInferWildcardsFields
|
|||||||
return new JavaTXCompilerWildcards(files1);
|
return new JavaTXCompilerWildcards(files1);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static Map<? extends TypePlaceholder, ? extends RefType> generateTph (JavaTXCompiler javaTXCompiler) {
|
private static Map<? extends TypePlaceholder, ? extends RefTypeOrTPHOrWildcardOrGeneric> generateTph (
|
||||||
|
JavaTXCompiler javaTXCompiler) {
|
||||||
System.out.println("\nReplacements:");
|
System.out.println("\nReplacements:");
|
||||||
|
|
||||||
return TypePlaceholderReplaceUtils.generateTypePlaceholder(javaTXCompiler);
|
return TypePlaceholderReplaceUtils.generateTypePlaceholder(javaTXCompiler);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static List<ResultSet> generateExpectedTypeInferResult (JavaTXCompilerWildcards compiler) {
|
private static List<ResultSet> generateExpectedTypeInferResult (JavaTXCompilerWildcards compiler) {
|
||||||
Map<? extends TypePlaceholder, ? extends RefType> tphMap = compiler.getTphMap();
|
Map<? extends TypePlaceholder, ? extends RefTypeOrTPHOrWildcardOrGeneric> tphMap = compiler.getTphMap();
|
||||||
|
|
||||||
ArrayList<ResultSet> list = new ArrayList<>();
|
ArrayList<ResultSet> list = new ArrayList<>();
|
||||||
|
|
||||||
@ -79,7 +81,8 @@ public class TestInferWildcardsFields
|
|||||||
System.out.println("\n--------- Test Generate TPH --------------\n");
|
System.out.println("\n--------- Test Generate TPH --------------\n");
|
||||||
|
|
||||||
JavaTXCompiler javaTXCompiler = getStandardCompiler();
|
JavaTXCompiler javaTXCompiler = getStandardCompiler();
|
||||||
Map<? extends TypePlaceholder, ? extends RefType> generateTph = generateTph(javaTXCompiler);
|
Map<? extends TypePlaceholder, ? extends RefTypeOrTPHOrWildcardOrGeneric> generateTph = generateTph(
|
||||||
|
javaTXCompiler);
|
||||||
|
|
||||||
System.out.println(generateTph);
|
System.out.println(generateTph);
|
||||||
|
|
||||||
@ -91,7 +94,8 @@ public class TestInferWildcardsFields
|
|||||||
System.out.println("\n--------- Test Generate Constraints --------------\n");
|
System.out.println("\n--------- Test Generate Constraints --------------\n");
|
||||||
|
|
||||||
JavaTXCompilerWildcards javaTXCompilerWildcards = getWildcardsCompiler();
|
JavaTXCompilerWildcards javaTXCompilerWildcards = getWildcardsCompiler();
|
||||||
Map<? extends TypePlaceholder, ? extends RefType> tphMap = javaTXCompilerWildcards.getTphMap();
|
Map<? extends TypePlaceholder, ? extends RefTypeOrTPHOrWildcardOrGeneric> tphMap = javaTXCompilerWildcards
|
||||||
|
.getTphMap();
|
||||||
ConstraintSet<Pair> generateConstraints = ConstraintsGenerationUtils.generateConstraints(tphMap);
|
ConstraintSet<Pair> generateConstraints = ConstraintsGenerationUtils.generateConstraints(tphMap);
|
||||||
|
|
||||||
System.out.println(generateConstraints);
|
System.out.println(generateConstraints);
|
||||||
|
@ -16,7 +16,7 @@ import de.dhbwstuttgart.core.JavaTXCompiler;
|
|||||||
import de.dhbwstuttgart.inferWildcards.ConstraintsGenerationUtils;
|
import de.dhbwstuttgart.inferWildcards.ConstraintsGenerationUtils;
|
||||||
import de.dhbwstuttgart.inferWildcards.JavaTXCompilerWildcards;
|
import de.dhbwstuttgart.inferWildcards.JavaTXCompilerWildcards;
|
||||||
import de.dhbwstuttgart.inferWildcards.TypePlaceholderReplaceUtils;
|
import de.dhbwstuttgart.inferWildcards.TypePlaceholderReplaceUtils;
|
||||||
import de.dhbwstuttgart.syntaxtree.type.RefType;
|
import de.dhbwstuttgart.syntaxtree.type.RefTypeOrTPHOrWildcardOrGeneric;
|
||||||
import de.dhbwstuttgart.syntaxtree.type.TypePlaceholder;
|
import de.dhbwstuttgart.syntaxtree.type.TypePlaceholder;
|
||||||
import de.dhbwstuttgart.typeinference.constraints.Constraint;
|
import de.dhbwstuttgart.typeinference.constraints.Constraint;
|
||||||
import de.dhbwstuttgart.typeinference.constraints.ConstraintSet;
|
import de.dhbwstuttgart.typeinference.constraints.ConstraintSet;
|
||||||
@ -44,7 +44,8 @@ public class TestInferWildcardsMap
|
|||||||
return new JavaTXCompilerWildcards(files1);
|
return new JavaTXCompilerWildcards(files1);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static Map<? extends TypePlaceholder, ? extends RefType> generateTph (JavaTXCompiler javaTXCompiler) {
|
private static Map<? extends TypePlaceholder, ? extends RefTypeOrTPHOrWildcardOrGeneric> generateTph (
|
||||||
|
JavaTXCompiler javaTXCompiler) {
|
||||||
System.out.println("\nReplacements:");
|
System.out.println("\nReplacements:");
|
||||||
|
|
||||||
return TypePlaceholderReplaceUtils.generateTypePlaceholder(javaTXCompiler);
|
return TypePlaceholderReplaceUtils.generateTypePlaceholder(javaTXCompiler);
|
||||||
@ -55,7 +56,8 @@ public class TestInferWildcardsMap
|
|||||||
System.out.println("\n--------- Test Generate TPH --------------\n");
|
System.out.println("\n--------- Test Generate TPH --------------\n");
|
||||||
|
|
||||||
JavaTXCompiler javaTXCompiler = getStandardCompiler();
|
JavaTXCompiler javaTXCompiler = getStandardCompiler();
|
||||||
Map<? extends TypePlaceholder, ? extends RefType> generateTph = generateTph(javaTXCompiler);
|
Map<? extends TypePlaceholder, ? extends RefTypeOrTPHOrWildcardOrGeneric> generateTph = generateTph(
|
||||||
|
javaTXCompiler);
|
||||||
|
|
||||||
System.out.println(generateTph);
|
System.out.println(generateTph);
|
||||||
|
|
||||||
@ -67,7 +69,8 @@ public class TestInferWildcardsMap
|
|||||||
System.out.println("\n--------- Test Generate Constraints --------------\n");
|
System.out.println("\n--------- Test Generate Constraints --------------\n");
|
||||||
|
|
||||||
JavaTXCompilerWildcards javaTXCompilerWildcards = getWildcardsCompiler();
|
JavaTXCompilerWildcards javaTXCompilerWildcards = getWildcardsCompiler();
|
||||||
Map<? extends TypePlaceholder, ? extends RefType> tphMap = javaTXCompilerWildcards.getTphMap();
|
Map<? extends TypePlaceholder, ? extends RefTypeOrTPHOrWildcardOrGeneric> tphMap = javaTXCompilerWildcards
|
||||||
|
.getTphMap();
|
||||||
ConstraintSet<Pair> generateConstraints = ConstraintsGenerationUtils.generateConstraints(tphMap);
|
ConstraintSet<Pair> generateConstraints = ConstraintsGenerationUtils.generateConstraints(tphMap);
|
||||||
|
|
||||||
System.out.println(generateConstraints);
|
System.out.println(generateConstraints);
|
||||||
|
@ -16,7 +16,7 @@ import de.dhbwstuttgart.core.JavaTXCompiler;
|
|||||||
import de.dhbwstuttgart.inferWildcards.ConstraintsGenerationUtils;
|
import de.dhbwstuttgart.inferWildcards.ConstraintsGenerationUtils;
|
||||||
import de.dhbwstuttgart.inferWildcards.JavaTXCompilerWildcards;
|
import de.dhbwstuttgart.inferWildcards.JavaTXCompilerWildcards;
|
||||||
import de.dhbwstuttgart.inferWildcards.TypePlaceholderReplaceUtils;
|
import de.dhbwstuttgart.inferWildcards.TypePlaceholderReplaceUtils;
|
||||||
import de.dhbwstuttgart.syntaxtree.type.RefType;
|
import de.dhbwstuttgart.syntaxtree.type.RefTypeOrTPHOrWildcardOrGeneric;
|
||||||
import de.dhbwstuttgart.syntaxtree.type.TypePlaceholder;
|
import de.dhbwstuttgart.syntaxtree.type.TypePlaceholder;
|
||||||
import de.dhbwstuttgart.typeinference.constraints.Constraint;
|
import de.dhbwstuttgart.typeinference.constraints.Constraint;
|
||||||
import de.dhbwstuttgart.typeinference.constraints.ConstraintSet;
|
import de.dhbwstuttgart.typeinference.constraints.ConstraintSet;
|
||||||
@ -44,7 +44,8 @@ public class TestInferWildcardsMapNested
|
|||||||
return new JavaTXCompilerWildcards(files1);
|
return new JavaTXCompilerWildcards(files1);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static Map<? extends TypePlaceholder, ? extends RefType> generateTph (JavaTXCompiler javaTXCompiler) {
|
private static Map<? extends TypePlaceholder, ? extends RefTypeOrTPHOrWildcardOrGeneric> generateTph (
|
||||||
|
JavaTXCompiler javaTXCompiler) {
|
||||||
System.out.println("\nReplacements:");
|
System.out.println("\nReplacements:");
|
||||||
|
|
||||||
return TypePlaceholderReplaceUtils.generateTypePlaceholder(javaTXCompiler);
|
return TypePlaceholderReplaceUtils.generateTypePlaceholder(javaTXCompiler);
|
||||||
@ -55,7 +56,8 @@ public class TestInferWildcardsMapNested
|
|||||||
System.out.println("\n--------- Test Generate TPH --------------\n");
|
System.out.println("\n--------- Test Generate TPH --------------\n");
|
||||||
|
|
||||||
JavaTXCompiler javaTXCompiler = getStandardCompiler();
|
JavaTXCompiler javaTXCompiler = getStandardCompiler();
|
||||||
Map<? extends TypePlaceholder, ? extends RefType> generateTph = generateTph(javaTXCompiler);
|
Map<? extends TypePlaceholder, ? extends RefTypeOrTPHOrWildcardOrGeneric> generateTph = generateTph(
|
||||||
|
javaTXCompiler);
|
||||||
|
|
||||||
System.out.println(generateTph);
|
System.out.println(generateTph);
|
||||||
|
|
||||||
@ -67,7 +69,8 @@ public class TestInferWildcardsMapNested
|
|||||||
System.out.println("\n--------- Test Generate Constraints --------------\n");
|
System.out.println("\n--------- Test Generate Constraints --------------\n");
|
||||||
|
|
||||||
JavaTXCompilerWildcards javaTXCompilerWildcards = getWildcardsCompiler();
|
JavaTXCompilerWildcards javaTXCompilerWildcards = getWildcardsCompiler();
|
||||||
Map<? extends TypePlaceholder, ? extends RefType> tphMap = javaTXCompilerWildcards.getTphMap();
|
Map<? extends TypePlaceholder, ? extends RefTypeOrTPHOrWildcardOrGeneric> tphMap = javaTXCompilerWildcards
|
||||||
|
.getTphMap();
|
||||||
ConstraintSet<Pair> generateConstraints = ConstraintsGenerationUtils.generateConstraints(tphMap);
|
ConstraintSet<Pair> generateConstraints = ConstraintsGenerationUtils.generateConstraints(tphMap);
|
||||||
|
|
||||||
System.out.println(generateConstraints);
|
System.out.println(generateConstraints);
|
||||||
|
@ -16,7 +16,7 @@ import de.dhbwstuttgart.core.JavaTXCompiler;
|
|||||||
import de.dhbwstuttgart.inferWildcards.ConstraintsGenerationUtils;
|
import de.dhbwstuttgart.inferWildcards.ConstraintsGenerationUtils;
|
||||||
import de.dhbwstuttgart.inferWildcards.JavaTXCompilerWildcards;
|
import de.dhbwstuttgart.inferWildcards.JavaTXCompilerWildcards;
|
||||||
import de.dhbwstuttgart.inferWildcards.TypePlaceholderReplaceUtils;
|
import de.dhbwstuttgart.inferWildcards.TypePlaceholderReplaceUtils;
|
||||||
import de.dhbwstuttgart.syntaxtree.type.RefType;
|
import de.dhbwstuttgart.syntaxtree.type.RefTypeOrTPHOrWildcardOrGeneric;
|
||||||
import de.dhbwstuttgart.syntaxtree.type.TypePlaceholder;
|
import de.dhbwstuttgart.syntaxtree.type.TypePlaceholder;
|
||||||
import de.dhbwstuttgart.typeinference.constraints.Constraint;
|
import de.dhbwstuttgart.typeinference.constraints.Constraint;
|
||||||
import de.dhbwstuttgart.typeinference.constraints.ConstraintSet;
|
import de.dhbwstuttgart.typeinference.constraints.ConstraintSet;
|
||||||
@ -44,7 +44,8 @@ public class TestInferWildcardsNested
|
|||||||
return new JavaTXCompilerWildcards(files1);
|
return new JavaTXCompilerWildcards(files1);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static Map<? extends TypePlaceholder, ? extends RefType> generateTph (JavaTXCompiler javaTXCompiler) {
|
private static Map<? extends TypePlaceholder, ? extends RefTypeOrTPHOrWildcardOrGeneric> generateTph (
|
||||||
|
JavaTXCompiler javaTXCompiler) {
|
||||||
System.out.println("\nReplacements:");
|
System.out.println("\nReplacements:");
|
||||||
|
|
||||||
return TypePlaceholderReplaceUtils.generateTypePlaceholder(javaTXCompiler);
|
return TypePlaceholderReplaceUtils.generateTypePlaceholder(javaTXCompiler);
|
||||||
@ -55,7 +56,8 @@ public class TestInferWildcardsNested
|
|||||||
System.out.println("\n--------- Test Generate TPH --------------\n");
|
System.out.println("\n--------- Test Generate TPH --------------\n");
|
||||||
|
|
||||||
JavaTXCompiler javaTXCompiler = getStandardCompiler();
|
JavaTXCompiler javaTXCompiler = getStandardCompiler();
|
||||||
Map<? extends TypePlaceholder, ? extends RefType> generateTph = generateTph(javaTXCompiler);
|
Map<? extends TypePlaceholder, ? extends RefTypeOrTPHOrWildcardOrGeneric> generateTph = generateTph(
|
||||||
|
javaTXCompiler);
|
||||||
|
|
||||||
System.out.println(generateTph);
|
System.out.println(generateTph);
|
||||||
|
|
||||||
@ -67,7 +69,8 @@ public class TestInferWildcardsNested
|
|||||||
System.out.println("\n--------- Test Generate Constraints --------------\n");
|
System.out.println("\n--------- Test Generate Constraints --------------\n");
|
||||||
|
|
||||||
JavaTXCompilerWildcards javaTXCompilerWildcards = getWildcardsCompiler();
|
JavaTXCompilerWildcards javaTXCompilerWildcards = getWildcardsCompiler();
|
||||||
Map<? extends TypePlaceholder, ? extends RefType> tphMap = javaTXCompilerWildcards.getTphMap();
|
Map<? extends TypePlaceholder, ? extends RefTypeOrTPHOrWildcardOrGeneric> tphMap = javaTXCompilerWildcards
|
||||||
|
.getTphMap();
|
||||||
ConstraintSet<Pair> generateConstraints = ConstraintsGenerationUtils.generateConstraints(tphMap);
|
ConstraintSet<Pair> generateConstraints = ConstraintsGenerationUtils.generateConstraints(tphMap);
|
||||||
|
|
||||||
System.out.println(generateConstraints);
|
System.out.println(generateConstraints);
|
||||||
|
@ -16,7 +16,7 @@ import de.dhbwstuttgart.core.JavaTXCompiler;
|
|||||||
import de.dhbwstuttgart.inferWildcards.ConstraintsGenerationUtils;
|
import de.dhbwstuttgart.inferWildcards.ConstraintsGenerationUtils;
|
||||||
import de.dhbwstuttgart.inferWildcards.JavaTXCompilerWildcards;
|
import de.dhbwstuttgart.inferWildcards.JavaTXCompilerWildcards;
|
||||||
import de.dhbwstuttgart.inferWildcards.TypePlaceholderReplaceUtils;
|
import de.dhbwstuttgart.inferWildcards.TypePlaceholderReplaceUtils;
|
||||||
import de.dhbwstuttgart.syntaxtree.type.RefType;
|
import de.dhbwstuttgart.syntaxtree.type.RefTypeOrTPHOrWildcardOrGeneric;
|
||||||
import de.dhbwstuttgart.syntaxtree.type.TypePlaceholder;
|
import de.dhbwstuttgart.syntaxtree.type.TypePlaceholder;
|
||||||
import de.dhbwstuttgart.typeinference.constraints.Constraint;
|
import de.dhbwstuttgart.typeinference.constraints.Constraint;
|
||||||
import de.dhbwstuttgart.typeinference.constraints.ConstraintSet;
|
import de.dhbwstuttgart.typeinference.constraints.ConstraintSet;
|
||||||
@ -44,7 +44,8 @@ public class TestInferWildcardsParamType
|
|||||||
return new JavaTXCompilerWildcards(files1);
|
return new JavaTXCompilerWildcards(files1);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static Map<? extends TypePlaceholder, ? extends RefType> generateTph (JavaTXCompiler javaTXCompiler) {
|
private static Map<? extends TypePlaceholder, ? extends RefTypeOrTPHOrWildcardOrGeneric> generateTph (
|
||||||
|
JavaTXCompiler javaTXCompiler) {
|
||||||
System.out.println("\nReplacements:");
|
System.out.println("\nReplacements:");
|
||||||
|
|
||||||
return TypePlaceholderReplaceUtils.generateTypePlaceholder(javaTXCompiler);
|
return TypePlaceholderReplaceUtils.generateTypePlaceholder(javaTXCompiler);
|
||||||
@ -55,7 +56,8 @@ public class TestInferWildcardsParamType
|
|||||||
System.out.println("\n--------- Test Generate TPH --------------\n");
|
System.out.println("\n--------- Test Generate TPH --------------\n");
|
||||||
|
|
||||||
JavaTXCompiler javaTXCompiler = getStandardCompiler();
|
JavaTXCompiler javaTXCompiler = getStandardCompiler();
|
||||||
Map<? extends TypePlaceholder, ? extends RefType> generateTph = generateTph(javaTXCompiler);
|
Map<? extends TypePlaceholder, ? extends RefTypeOrTPHOrWildcardOrGeneric> generateTph = generateTph(
|
||||||
|
javaTXCompiler);
|
||||||
|
|
||||||
System.out.println(generateTph);
|
System.out.println(generateTph);
|
||||||
|
|
||||||
@ -67,7 +69,8 @@ public class TestInferWildcardsParamType
|
|||||||
System.out.println("\n--------- Test Generate Constraints --------------\n");
|
System.out.println("\n--------- Test Generate Constraints --------------\n");
|
||||||
|
|
||||||
JavaTXCompilerWildcards javaTXCompilerWildcards = getWildcardsCompiler();
|
JavaTXCompilerWildcards javaTXCompilerWildcards = getWildcardsCompiler();
|
||||||
Map<? extends TypePlaceholder, ? extends RefType> tphMap = javaTXCompilerWildcards.getTphMap();
|
Map<? extends TypePlaceholder, ? extends RefTypeOrTPHOrWildcardOrGeneric> tphMap = javaTXCompilerWildcards
|
||||||
|
.getTphMap();
|
||||||
ConstraintSet<Pair> generateConstraints = ConstraintsGenerationUtils.generateConstraints(tphMap);
|
ConstraintSet<Pair> generateConstraints = ConstraintsGenerationUtils.generateConstraints(tphMap);
|
||||||
|
|
||||||
System.out.println(generateConstraints);
|
System.out.println(generateConstraints);
|
||||||
|
@ -16,7 +16,7 @@ import de.dhbwstuttgart.core.JavaTXCompiler;
|
|||||||
import de.dhbwstuttgart.inferWildcards.ConstraintsGenerationUtils;
|
import de.dhbwstuttgart.inferWildcards.ConstraintsGenerationUtils;
|
||||||
import de.dhbwstuttgart.inferWildcards.JavaTXCompilerWildcards;
|
import de.dhbwstuttgart.inferWildcards.JavaTXCompilerWildcards;
|
||||||
import de.dhbwstuttgart.inferWildcards.TypePlaceholderReplaceUtils;
|
import de.dhbwstuttgart.inferWildcards.TypePlaceholderReplaceUtils;
|
||||||
import de.dhbwstuttgart.syntaxtree.type.RefType;
|
import de.dhbwstuttgart.syntaxtree.type.RefTypeOrTPHOrWildcardOrGeneric;
|
||||||
import de.dhbwstuttgart.syntaxtree.type.TypePlaceholder;
|
import de.dhbwstuttgart.syntaxtree.type.TypePlaceholder;
|
||||||
import de.dhbwstuttgart.typeinference.constraints.Constraint;
|
import de.dhbwstuttgart.typeinference.constraints.Constraint;
|
||||||
import de.dhbwstuttgart.typeinference.constraints.ConstraintSet;
|
import de.dhbwstuttgart.typeinference.constraints.ConstraintSet;
|
||||||
@ -44,7 +44,8 @@ public class TestInferWildcardsSingle
|
|||||||
return new JavaTXCompilerWildcards(files1);
|
return new JavaTXCompilerWildcards(files1);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static Map<? extends TypePlaceholder, ? extends RefType> generateTph (JavaTXCompiler javaTXCompiler) {
|
private static Map<? extends TypePlaceholder, ? extends RefTypeOrTPHOrWildcardOrGeneric> generateTph (
|
||||||
|
JavaTXCompiler javaTXCompiler) {
|
||||||
System.out.println("\nReplacements:");
|
System.out.println("\nReplacements:");
|
||||||
|
|
||||||
return TypePlaceholderReplaceUtils.generateTypePlaceholder(javaTXCompiler);
|
return TypePlaceholderReplaceUtils.generateTypePlaceholder(javaTXCompiler);
|
||||||
@ -55,7 +56,8 @@ public class TestInferWildcardsSingle
|
|||||||
System.out.println("\n--------- Test Generate TPH --------------\n");
|
System.out.println("\n--------- Test Generate TPH --------------\n");
|
||||||
|
|
||||||
JavaTXCompiler javaTXCompiler = getStandardCompiler();
|
JavaTXCompiler javaTXCompiler = getStandardCompiler();
|
||||||
Map<? extends TypePlaceholder, ? extends RefType> generateTph = generateTph(javaTXCompiler);
|
Map<? extends TypePlaceholder, ? extends RefTypeOrTPHOrWildcardOrGeneric> generateTph = generateTph(
|
||||||
|
javaTXCompiler);
|
||||||
|
|
||||||
System.out.println(generateTph);
|
System.out.println(generateTph);
|
||||||
|
|
||||||
@ -67,7 +69,8 @@ public class TestInferWildcardsSingle
|
|||||||
System.out.println("\n--------- Test Generate Constraints --------------\n");
|
System.out.println("\n--------- Test Generate Constraints --------------\n");
|
||||||
|
|
||||||
JavaTXCompilerWildcards javaTXCompilerWildcards = getWildcardsCompiler();
|
JavaTXCompilerWildcards javaTXCompilerWildcards = getWildcardsCompiler();
|
||||||
Map<? extends TypePlaceholder, ? extends RefType> tphMap = javaTXCompilerWildcards.getTphMap();
|
Map<? extends TypePlaceholder, ? extends RefTypeOrTPHOrWildcardOrGeneric> tphMap = javaTXCompilerWildcards
|
||||||
|
.getTphMap();
|
||||||
ConstraintSet<Pair> generateConstraints = ConstraintsGenerationUtils.generateConstraints(tphMap);
|
ConstraintSet<Pair> generateConstraints = ConstraintsGenerationUtils.generateConstraints(tphMap);
|
||||||
|
|
||||||
System.out.println(generateConstraints);
|
System.out.println(generateConstraints);
|
||||||
|
Loading…
Reference in New Issue
Block a user