Fixed a bug where the index of the argument to check for use as a
property name was ignored. git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4470 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
This commit is contained in:
parent
49bd12c0ec
commit
dd2a04e1a7
|
@ -198,7 +198,7 @@ public class ForInContextSelector implements ContextSelector {
|
|||
if(b != null)
|
||||
return b;
|
||||
DefUse du = getDefUse(method);
|
||||
for(SSAInstruction use : Iterator2Iterable.make(du.getUses(3))) {
|
||||
for(SSAInstruction use : Iterator2Iterable.make(du.getUses(index+1))) {
|
||||
if(use instanceof EachElementGetInstruction) {
|
||||
forInOnFirstArg_cache.put(mref, true);
|
||||
return true;
|
||||
|
@ -231,16 +231,16 @@ public class ForInContextSelector implements ContextSelector {
|
|||
return f;
|
||||
boolean usedAsPropertyName = false, usedAsSomethingElse = false;
|
||||
DefUse du = getDefUse(method);
|
||||
for(SSAInstruction use : Iterator2Iterable.make(du.getUses(3))) {
|
||||
for(SSAInstruction use : Iterator2Iterable.make(du.getUses(index+1))) {
|
||||
if(use instanceof ReflectiveMemberAccess) {
|
||||
ReflectiveMemberAccess rma = (ReflectiveMemberAccess)use;
|
||||
if(rma.getMemberRef() == 3) {
|
||||
if(rma.getMemberRef() == index+1) {
|
||||
usedAsPropertyName = true;
|
||||
continue;
|
||||
}
|
||||
} else if(use instanceof AstIsDefinedInstruction) {
|
||||
AstIsDefinedInstruction aidi = (AstIsDefinedInstruction)use;
|
||||
if(aidi.getNumberOfUses() > 1 && aidi.getUse(1) == 3) {
|
||||
if(aidi.getNumberOfUses() > 1 && aidi.getUse(1) == index+1) {
|
||||
usedAsPropertyName = true;
|
||||
continue;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue