Remove not used isInherited
This commit is contained in:
parent
0dc8a53fca
commit
378374fff1
@ -154,7 +154,7 @@ public class UnifyTypeFactory {
|
|||||||
public static Constraint<UnifyPair> convert(Constraint<Pair> constraint){
|
public static Constraint<UnifyPair> convert(Constraint<Pair> constraint){
|
||||||
Constraint<UnifyPair> unifyPairConstraint = constraint.stream()
|
Constraint<UnifyPair> unifyPairConstraint = constraint.stream()
|
||||||
.map(UnifyTypeFactory::convert)
|
.map(UnifyTypeFactory::convert)
|
||||||
.collect(Collectors.toCollection( () -> new Constraint<UnifyPair> (constraint.isInherited(), convert(constraint.getExtendConstraint()))));
|
.collect(Collectors.toCollection( () -> new Constraint<UnifyPair>(convert(constraint.getExtendConstraint()))));
|
||||||
return unifyPairConstraint;
|
return unifyPairConstraint;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -17,15 +17,13 @@ public class MethodAssumption extends Assumption{
|
|||||||
private ClassOrInterface receiver;
|
private ClassOrInterface receiver;
|
||||||
private RefTypeOrTPHOrWildcardOrGeneric retType;
|
private RefTypeOrTPHOrWildcardOrGeneric retType;
|
||||||
List<? extends RefTypeOrTPHOrWildcardOrGeneric> params;
|
List<? extends RefTypeOrTPHOrWildcardOrGeneric> params;
|
||||||
private final Boolean isInherited;
|
|
||||||
|
|
||||||
public MethodAssumption(ClassOrInterface receiver, RefTypeOrTPHOrWildcardOrGeneric retType,
|
public MethodAssumption(ClassOrInterface receiver, RefTypeOrTPHOrWildcardOrGeneric retType,
|
||||||
List<? extends RefTypeOrTPHOrWildcardOrGeneric> params, TypeScope scope, Boolean isInherited){
|
List<? extends RefTypeOrTPHOrWildcardOrGeneric> params, TypeScope scope){
|
||||||
super(scope);
|
super(scope);
|
||||||
this.receiver = receiver;
|
this.receiver = receiver;
|
||||||
this.retType = retType;
|
this.retType = retType;
|
||||||
this.params = params;
|
this.params = params;
|
||||||
this.isInherited = isInherited;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -72,8 +70,4 @@ public class MethodAssumption extends Assumption{
|
|||||||
|
|
||||||
return receiverType;
|
return receiverType;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Boolean isInherited() {
|
|
||||||
return isInherited;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -9,30 +9,14 @@ import java.util.Set;
|
|||||||
//TODO: Remove this class
|
//TODO: Remove this class
|
||||||
public class Constraint<A> extends HashSet<A> {
|
public class Constraint<A> extends HashSet<A> {
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
private Boolean isInherited = false;//wird nur für die Method-Constraints benoetigt
|
|
||||||
private Constraint<A> extendConstraint = null;
|
private Constraint<A> extendConstraint = null;
|
||||||
|
|
||||||
|
public Constraint(){}
|
||||||
|
|
||||||
public Constraint() {
|
public Constraint(Constraint<A> extendConstraint) {
|
||||||
super();
|
|
||||||
}
|
|
||||||
|
|
||||||
public Constraint(Boolean isInherited) {
|
|
||||||
this.isInherited = isInherited;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Constraint(Boolean isInherited, Constraint<A> extendConstraint) {
|
|
||||||
this.isInherited = isInherited;
|
|
||||||
this.extendConstraint = extendConstraint;
|
this.extendConstraint = extendConstraint;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setIsInherited(Boolean isInherited) {
|
|
||||||
this.isInherited = isInherited;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Boolean isInherited() {
|
|
||||||
return isInherited;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Constraint<A> getExtendConstraint() {
|
public Constraint<A> getExtendConstraint() {
|
||||||
return extendConstraint;
|
return extendConstraint;
|
||||||
}
|
}
|
||||||
@ -42,7 +26,7 @@ public class Constraint<A> extends HashSet<A> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return super.toString() + " isInherited = " + isInherited
|
return super.toString()
|
||||||
//" + extendsContraint: " + (extendConstraint != null ? extendConstraint.toStringBase() : "null" )
|
//" + extendsContraint: " + (extendConstraint != null ? extendConstraint.toStringBase() : "null" )
|
||||||
+ "\n" ;
|
+ "\n" ;
|
||||||
}
|
}
|
||||||
|
@ -68,9 +68,8 @@ public class ConstraintSet<A> {
|
|||||||
Constraint<B> newConst = as.stream()
|
Constraint<B> newConst = as.stream()
|
||||||
.map(o)
|
.map(o)
|
||||||
.collect(Collectors.toCollection((as.getExtendConstraint() != null)
|
.collect(Collectors.toCollection((as.getExtendConstraint() != null)
|
||||||
? () -> new Constraint<B> (as.isInherited(),
|
? () -> new Constraint<B> (as.getExtendConstraint().stream().map(o).collect(Collectors.toCollection(Constraint::new)))
|
||||||
as.getExtendConstraint().stream().map(o).collect(Collectors.toCollection(Constraint::new)))
|
: () -> new Constraint<B> ()
|
||||||
: () -> new Constraint<B> (as.isInherited())
|
|
||||||
));
|
));
|
||||||
|
|
||||||
//CSA2CSB.put(as, newConst);
|
//CSA2CSB.put(as, newConst);
|
||||||
|
@ -179,7 +179,7 @@ public class TYPEStmt implements StatementVisitor{
|
|||||||
!(x.TA2 instanceof TypePlaceholder))
|
!(x.TA2 instanceof TypePlaceholder))
|
||||||
? new Pair(x.TA1, new ExtendsWildcardType(x.TA2, x.TA2.getOffset()), PairOperator.EQUALSDOT)
|
? new Pair(x.TA1, new ExtendsWildcardType(x.TA2, x.TA2.getOffset()), PairOperator.EQUALSDOT)
|
||||||
: x)
|
: x)
|
||||||
.collect(Collectors.toCollection(() -> new Constraint<Pair>(oneMethodConstraint.isInherited())));
|
.collect(Collectors.toCollection(() -> new Constraint<Pair>()));
|
||||||
oneMethodConstraint.setExtendConstraint(extendsOneMethodConstraint);
|
oneMethodConstraint.setExtendConstraint(extendsOneMethodConstraint);
|
||||||
extendsOneMethodConstraint.setExtendConstraint(oneMethodConstraint);
|
extendsOneMethodConstraint.setExtendConstraint(oneMethodConstraint);
|
||||||
methodConstraints.add(extendsOneMethodConstraint);
|
methodConstraints.add(extendsOneMethodConstraint);
|
||||||
@ -574,7 +574,7 @@ public class TYPEStmt implements StatementVisitor{
|
|||||||
|
|
||||||
protected Constraint<Pair> generateConstraint(MethodCall forMethod, MethodAssumption assumption,
|
protected Constraint<Pair> generateConstraint(MethodCall forMethod, MethodAssumption assumption,
|
||||||
TypeInferenceBlockInformation info, GenericsResolver resolver){
|
TypeInferenceBlockInformation info, GenericsResolver resolver){
|
||||||
Constraint<Pair> methodConstraint = new Constraint<>(assumption.isInherited());
|
Constraint<Pair> methodConstraint = new Constraint<>();
|
||||||
ClassOrInterface receiverCl = assumption.getReceiver();
|
ClassOrInterface receiverCl = assumption.getReceiver();
|
||||||
/*
|
/*
|
||||||
List<RefTypeOrTPHOrWildcardOrGeneric> params = new ArrayList<>();
|
List<RefTypeOrTPHOrWildcardOrGeneric> params = new ArrayList<>();
|
||||||
@ -636,7 +636,7 @@ public class TYPEStmt implements StatementVisitor{
|
|||||||
public RefTypeOrTPHOrWildcardOrGeneric getReturnType() {
|
public RefTypeOrTPHOrWildcardOrGeneric getReturnType() {
|
||||||
throw new NotImplementedException();
|
throw new NotImplementedException();
|
||||||
}
|
}
|
||||||
}, false));
|
}));
|
||||||
}
|
}
|
||||||
for(ClassOrInterface cl : info.getAvailableClasses()){
|
for(ClassOrInterface cl : info.getAvailableClasses()){
|
||||||
for(Method m : cl.getMethods()){
|
for(Method m : cl.getMethods()){
|
||||||
@ -645,7 +645,7 @@ public class TYPEStmt implements StatementVisitor{
|
|||||||
RefTypeOrTPHOrWildcardOrGeneric retType = m.getReturnType();//info.checkGTV(m.getReturnType());
|
RefTypeOrTPHOrWildcardOrGeneric retType = m.getReturnType();//info.checkGTV(m.getReturnType());
|
||||||
|
|
||||||
ret.add(new MethodAssumption(cl, retType, convertParams(m.getParameterList(),info),
|
ret.add(new MethodAssumption(cl, retType, convertParams(m.getParameterList(),info),
|
||||||
createTypeScope(cl, m), m.isInherited));
|
createTypeScope(cl, m)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -680,7 +680,7 @@ public class TYPEStmt implements StatementVisitor{
|
|||||||
for(Method m : cl.getConstructors()){
|
for(Method m : cl.getConstructors()){
|
||||||
if(m.getParameterList().getFormalparalist().size() == argList.getArguments().size()){
|
if(m.getParameterList().getFormalparalist().size() == argList.getArguments().size()){
|
||||||
ret.add(new MethodAssumption(cl, ofType, convertParams(m.getParameterList(),
|
ret.add(new MethodAssumption(cl, ofType, convertParams(m.getParameterList(),
|
||||||
info), createTypeScope(cl, m), m.isInherited));
|
info), createTypeScope(cl, m)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -682,9 +682,8 @@ public class RuleSet implements IRuleSet{
|
|||||||
Function<? super Constraint<UnifyPair>,? extends Constraint<UnifyPair>> applyUni = b -> b.stream().map(
|
Function<? super Constraint<UnifyPair>,? extends Constraint<UnifyPair>> applyUni = b -> b.stream().map(
|
||||||
x -> uni.apply(pair,x)).collect(Collectors.toCollection((b.getExtendConstraint() != null)
|
x -> uni.apply(pair,x)).collect(Collectors.toCollection((b.getExtendConstraint() != null)
|
||||||
? () -> new Constraint<UnifyPair>(
|
? () -> new Constraint<UnifyPair>(
|
||||||
b.isInherited(),
|
|
||||||
b.getExtendConstraint().stream().map(x -> uni.apply(pair,x)).collect(Collectors.toCollection(Constraint::new)))
|
b.getExtendConstraint().stream().map(x -> uni.apply(pair,x)).collect(Collectors.toCollection(Constraint::new)))
|
||||||
: () -> new Constraint<UnifyPair>(b.isInherited())
|
: () -> new Constraint<UnifyPair>()
|
||||||
));
|
));
|
||||||
oderConstraints.replaceAll(oc -> oc.stream().map(applyUni).collect(Collectors.toCollection(HashSet::new)));
|
oderConstraints.replaceAll(oc -> oc.stream().map(applyUni).collect(Collectors.toCollection(HashSet::new)));
|
||||||
/*
|
/*
|
||||||
|
@ -1304,7 +1304,6 @@ public class TypeUnifyTask extends RecursiveTask<Set<Set<UnifyPair>>> {
|
|||||||
Set<UnifyPair> a_new = aParDefIt.next();
|
Set<UnifyPair> a_new = aParDefIt.next();
|
||||||
List<Set<UnifyPair>> smallerSetasList = oup.smallerThan(a_new, nextSetasList);
|
List<Set<UnifyPair>> smallerSetasList = oup.smallerThan(a_new, nextSetasList);
|
||||||
List<Set<UnifyPair>> notInherited = smallerSetasList.stream()
|
List<Set<UnifyPair>> notInherited = smallerSetasList.stream()
|
||||||
.filter(x -> !((Constraint<UnifyPair>)x).isInherited())
|
|
||||||
.collect(Collectors.toCollection(ArrayList::new));
|
.collect(Collectors.toCollection(ArrayList::new));
|
||||||
List<Set<UnifyPair>> notErased = new ArrayList<>();
|
List<Set<UnifyPair>> notErased = new ArrayList<>();
|
||||||
notInherited.stream().forEach(x -> { notErased.addAll(oup.smallerEqThan(x, smallerSetasList)); });
|
notInherited.stream().forEach(x -> { notErased.addAll(oup.smallerEqThan(x, smallerSetasList)); });
|
||||||
@ -1346,11 +1345,10 @@ public class TypeUnifyTask extends RecursiveTask<Set<Set<UnifyPair>>> {
|
|||||||
List<Set<UnifyPair>> greaterSetasList = oup.greaterThan(a_new, nextSetasList);
|
List<Set<UnifyPair>> greaterSetasList = oup.greaterThan(a_new, nextSetasList);
|
||||||
|
|
||||||
//a_new muss hingefuegt werden, wenn es nicht vererbt ist, dann wird es spaeter wieder geloescht
|
//a_new muss hingefuegt werden, wenn es nicht vererbt ist, dann wird es spaeter wieder geloescht
|
||||||
if (!((Constraint<UnifyPair>)a_new).isInherited()) {
|
|
||||||
greaterSetasList.add(a_new);
|
greaterSetasList.add(a_new);
|
||||||
}
|
|
||||||
List<Set<UnifyPair>> notInherited = greaterSetasList.stream()
|
List<Set<UnifyPair>> notInherited = greaterSetasList.stream()
|
||||||
.filter(x -> !((Constraint<UnifyPair>)x).isInherited())
|
|
||||||
.collect(Collectors.toCollection(ArrayList::new));
|
.collect(Collectors.toCollection(ArrayList::new));
|
||||||
List<Set<UnifyPair>> notErased = new ArrayList<>();
|
List<Set<UnifyPair>> notErased = new ArrayList<>();
|
||||||
|
|
||||||
@ -1401,7 +1399,6 @@ public class TypeUnifyTask extends RecursiveTask<Set<Set<UnifyPair>>> {
|
|||||||
writeLog("Removed: " + nextSetasListOderConstraints);
|
writeLog("Removed: " + nextSetasListOderConstraints);
|
||||||
List<Set<UnifyPair>> smallerSetasList = oup.smallerThan(a, nextSetasList);
|
List<Set<UnifyPair>> smallerSetasList = oup.smallerThan(a, nextSetasList);
|
||||||
List<Set<UnifyPair>> notInherited = smallerSetasList.stream()
|
List<Set<UnifyPair>> notInherited = smallerSetasList.stream()
|
||||||
.filter(x -> !((Constraint<UnifyPair>)x).isInherited())
|
|
||||||
.collect(Collectors.toCollection(ArrayList::new));
|
.collect(Collectors.toCollection(ArrayList::new));
|
||||||
List<Set<UnifyPair>> notErased = new ArrayList<>();
|
List<Set<UnifyPair>> notErased = new ArrayList<>();
|
||||||
notInherited.stream().forEach(x -> { notErased.addAll(oup.smallerEqThan(x, smallerSetasList)); });
|
notInherited.stream().forEach(x -> { notErased.addAll(oup.smallerEqThan(x, smallerSetasList)); });
|
||||||
|
Loading…
Reference in New Issue
Block a user