Fix Eclipse type-safety warnings in overrides of `ModRef` visitor-making methods (#175)
* Add missing type parameters to overrides of ModRef.makeModVisitor * Add missing type parameters to overrides of ModRef.makeRefVisitor This also required slightly generalizing the generic type signature of the ModRef.makeRefVisitor return type. Instead of returning "RefVisitor<T, ExtendedHeapModel>", we now return "RefVisitor<T, ? extends ExtendedHeapModel>". We need that extra flexibility because at least one override of this method returns a RefVisitor whose second generic type parameter is a subclass of ExtendedHeapModel.
This commit is contained in:
parent
9159ea7636
commit
fbf9abfa3a
|
@ -47,7 +47,7 @@ public class AstJavaModRef<T extends InstanceKey> extends AstModRef<T> {
|
|||
}
|
||||
|
||||
@Override
|
||||
protected RefVisitor makeRefVisitor(CGNode n, Collection<PointerKey> result, PointerAnalysis<T> pa, ExtendedHeapModel h) {
|
||||
protected RefVisitor<T, ? extends ExtendedHeapModel> makeRefVisitor(CGNode n, Collection<PointerKey> result, PointerAnalysis<T> pa, ExtendedHeapModel h) {
|
||||
return new AstJavaRefVisitor<>(n, result, pa, h);
|
||||
}
|
||||
|
||||
|
@ -73,7 +73,7 @@ public class AstJavaModRef<T extends InstanceKey> extends AstModRef<T> {
|
|||
}
|
||||
|
||||
@Override
|
||||
protected ModVisitor makeModVisitor(CGNode n, Collection<PointerKey> result, PointerAnalysis<T> pa, ExtendedHeapModel h, boolean ignoreAllocHeapDefs) {
|
||||
protected ModVisitor<T, ? extends ExtendedHeapModel> makeModVisitor(CGNode n, Collection<PointerKey> result, PointerAnalysis<T> pa, ExtendedHeapModel h, boolean ignoreAllocHeapDefs) {
|
||||
return new AstJavaModVisitor<>(n, result, h, pa);
|
||||
}
|
||||
|
||||
|
|
|
@ -99,7 +99,7 @@ public class JavaScriptModRef<T extends InstanceKey> extends AstModRef<T> {
|
|||
}
|
||||
|
||||
@Override
|
||||
protected RefVisitor makeRefVisitor(CGNode n, Collection<PointerKey> result, PointerAnalysis<T> pa, ExtendedHeapModel h) {
|
||||
protected RefVisitor<T, ? extends ExtendedHeapModel> makeRefVisitor(CGNode n, Collection<PointerKey> result, PointerAnalysis<T> pa, ExtendedHeapModel h) {
|
||||
return new JavaScriptRefVisitor<>(n, result, pa, h);
|
||||
}
|
||||
|
||||
|
@ -168,7 +168,7 @@ public class JavaScriptModRef<T extends InstanceKey> extends AstModRef<T> {
|
|||
}
|
||||
|
||||
@Override
|
||||
protected ModVisitor makeModVisitor(CGNode n, Collection<PointerKey> result, PointerAnalysis<T> pa, ExtendedHeapModel h, boolean ignoreAllocHeapDefs) {
|
||||
protected ModVisitor<T, ? extends ExtendedHeapModel> makeModVisitor(CGNode n, Collection<PointerKey> result, PointerAnalysis<T> pa, ExtendedHeapModel h, boolean ignoreAllocHeapDefs) {
|
||||
return new JavaScriptModVisitor<>(n, result, h, pa);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -90,7 +90,7 @@ public class AstModRef<T extends InstanceKey> extends ModRef<T> {
|
|||
}
|
||||
|
||||
@Override
|
||||
protected RefVisitor makeRefVisitor(CGNode n, Collection<PointerKey> result, PointerAnalysis<T> pa, ExtendedHeapModel h) {
|
||||
protected RefVisitor<T, ? extends ExtendedHeapModel> makeRefVisitor(CGNode n, Collection<PointerKey> result, PointerAnalysis<T> pa, ExtendedHeapModel h) {
|
||||
return new AstRefVisitor<>(n, result, pa, (AstHeapModel)h);
|
||||
}
|
||||
|
||||
|
@ -150,7 +150,7 @@ public class AstModRef<T extends InstanceKey> extends ModRef<T> {
|
|||
}
|
||||
|
||||
@Override
|
||||
protected ModVisitor makeModVisitor(CGNode n, Collection<PointerKey> result, PointerAnalysis<T> pa, ExtendedHeapModel h, boolean ignoreAllocHeapDefs) {
|
||||
protected ModVisitor<T, ? extends ExtendedHeapModel> makeModVisitor(CGNode n, Collection<PointerKey> result, PointerAnalysis<T> pa, ExtendedHeapModel h, boolean ignoreAllocHeapDefs) {
|
||||
return new AstModVisitor<>(n, result, (AstHeapModel)h, pa);
|
||||
}
|
||||
|
||||
|
|
|
@ -342,7 +342,7 @@ public class ModRef<T extends InstanceKey> {
|
|||
return makeModVisitor(n, result, pa, h, false);
|
||||
}
|
||||
|
||||
protected ModVisitor<T,? extends ExtendedHeapModel> makeModVisitor(CGNode n, Collection<PointerKey> result, PointerAnalysis<T> pa, ExtendedHeapModel h,
|
||||
protected ModVisitor<T, ? extends ExtendedHeapModel> makeModVisitor(CGNode n, Collection<PointerKey> result, PointerAnalysis<T> pa, ExtendedHeapModel h,
|
||||
boolean ignoreAllocHeapDefs) {
|
||||
return new ModVisitor<>(n, result, h, pa, ignoreAllocHeapDefs);
|
||||
}
|
||||
|
@ -368,8 +368,8 @@ public class ModRef<T extends InstanceKey> {
|
|||
return hexcl == null ? result : hexcl.filter(result);
|
||||
}
|
||||
|
||||
protected RefVisitor<T, ExtendedHeapModel> makeRefVisitor(CGNode n, Collection<PointerKey> result, PointerAnalysis<T> pa, ExtendedHeapModel h) {
|
||||
return new RefVisitor<T, ExtendedHeapModel>(n, result, pa, h);
|
||||
protected RefVisitor<T, ? extends ExtendedHeapModel> makeRefVisitor(CGNode n, Collection<PointerKey> result, PointerAnalysis<T> pa, ExtendedHeapModel h) {
|
||||
return new RefVisitor<>(n, result, pa, h);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
Loading…
Reference in New Issue