Introduce ? extends to the map of TPH. This should prevent an editing
This commit is contained in:
parent
de62df00e0
commit
077bd62b92
@ -37,7 +37,8 @@ public final class ConstraintsGenerationUtils
|
|||||||
* @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 (Map<TypePlaceholder, RefType> tphMap,
|
public static ConstraintSet<Pair> generateAndMergeConstraints (
|
||||||
|
Map<? extends TypePlaceholder, ? extends RefType> 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);
|
||||||
@ -51,7 +52,7 @@ public final class ConstraintsGenerationUtils
|
|||||||
* @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<TypePlaceholder, RefType> tphMap) {
|
public static ConstraintSet<Pair> generateConstraints (Map<? extends TypePlaceholder, ? extends RefType> 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);
|
||||||
|
@ -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<TypePlaceholder, RefType> tphMap;
|
private final Map<? extends TypePlaceholder, ? extends RefType> tphMap;
|
||||||
|
|
||||||
public JavaTXCompilerWildcards (File... sourceFile) throws IOException, ClassNotFoundException {
|
public JavaTXCompilerWildcards (File... sourceFile) throws IOException, ClassNotFoundException {
|
||||||
super(sourceFile);
|
super(sourceFile);
|
||||||
@ -56,6 +56,15 @@ public class JavaTXCompilerWildcards
|
|||||||
this.tphMap = TypePlaceholderReplaceUtils.generateTypePlaceholder(this);
|
this.tphMap = TypePlaceholderReplaceUtils.generateTypePlaceholder(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return the Type Placeholder generated.
|
||||||
|
*
|
||||||
|
* @return {@link Map} over {@link TypePlaceholder} and {@link RefType}
|
||||||
|
*/
|
||||||
|
public Map<? extends TypePlaceholder, ? extends RefType> getTphMap () {
|
||||||
|
return tphMap;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ConstraintSet<Pair> getConstraints () throws ClassNotFoundException, IOException {
|
public ConstraintSet<Pair> getConstraints () throws ClassNotFoundException, IOException {
|
||||||
ConstraintSet<Pair> constraints = super.getConstraints();
|
ConstraintSet<Pair> constraints = super.getConstraints();
|
||||||
|
@ -89,7 +89,7 @@ public class ReplaceTypeparamVisitor
|
|||||||
*
|
*
|
||||||
* @return {@link Map} of {@link TypePlaceholder} and {@link RefType}
|
* @return {@link Map} of {@link TypePlaceholder} and {@link RefType}
|
||||||
*/
|
*/
|
||||||
public Map<TypePlaceholder, RefType> getTphMap () {
|
public Map<? extends TypePlaceholder, ? extends RefType> getTphMap () {
|
||||||
return tphMap;
|
return tphMap;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -30,7 +30,7 @@ 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<TypePlaceholder, RefType> generateTypePlaceholder (JavaTXCompiler compiler) {
|
public static Map<? extends TypePlaceholder, ? extends RefType> 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));
|
||||||
|
Loading…
Reference in New Issue
Block a user