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:
msridhar1 2012-02-17 20:16:36 +00:00
parent 49bd12c0ec
commit dd2a04e1a7
1 changed files with 4 additions and 4 deletions

View File

@ -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;
}