diff --git a/com.ibm.wala.core/src/com/ibm/wala/analysis/reflection/JavaTypeContext.java b/com.ibm.wala.core/src/com/ibm/wala/analysis/reflection/JavaTypeContext.java index b7b861b1c..663982090 100644 --- a/com.ibm.wala.core/src/com/ibm/wala/analysis/reflection/JavaTypeContext.java +++ b/com.ibm.wala.core/src/com/ibm/wala/analysis/reflection/JavaTypeContext.java @@ -19,7 +19,12 @@ import com.ibm.wala.ipa.callgraph.ContextKey; import com.ibm.wala.ipa.callgraph.propagation.FilteredPointerKey; /** - * Implement a Context which corresponds to a given type abstraction. Thus, this maps the name "TYPE" to a JavaTypeAbstraction. + * @brief + * Implements a Context which corresponds to a given type abstraction. + * Thus, this maps the name "TYPE" to a JavaTypeAbstraction. + * TODO + * This context maps + * {@link com.ibm.wala.ipa.callgraph.ContextKey#RECEIVER} to a {@link TypeAbstraction}. */ public class JavaTypeContext implements Context { diff --git a/com.ibm.wala.core/src/com/ibm/wala/analysis/reflection/ext/GetMethodContextInterpreter.java b/com.ibm.wala.core/src/com/ibm/wala/analysis/reflection/ext/GetMethodContextInterpreter.java index 68dfb3176..1eb2d763a 100644 --- a/com.ibm.wala.core/src/com/ibm/wala/analysis/reflection/ext/GetMethodContextInterpreter.java +++ b/com.ibm.wala.core/src/com/ibm/wala/analysis/reflection/ext/GetMethodContextInterpreter.java @@ -42,21 +42,21 @@ import com.ibm.wala.util.strings.Atom; public class GetMethodContextInterpreter implements SSAContextInterpreter { /** * TODO - * MH: Hard-code those in {@link com.ibm.wala.types.TypeReference}? + * MH: Maybe hard-code those in {@link com.ibm.wala.types.TypeReference}? */ public final static MethodReference GET_METHOD = MethodReference.findOrCreate(TypeReference.JavaLangClass, "getMethod", "(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;"); /** * TODO - * MH: Hard-code those in {@link com.ibm.wala.types.TypeReference}? + * MH: Maybe hard-code those in {@link com.ibm.wala.types.TypeReference}? */ public final static MethodReference GET_DECLARED_METHOD = MethodReference.findOrCreate(TypeReference.JavaLangClass, "getDeclaredMethod", "(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;"); private static final boolean DEBUG = false; - /* + /** * @see com.ibm.wala.ipa.callgraph.propagation.SSAContextInterpreter#getIR(com.ibm.wala.ipa.callgraph.CGNode) */ @Override @@ -85,7 +85,7 @@ public class GetMethodContextInterpreter implements SSAContextInterpreter { return null; } - /* + /** * @see com.ibm.wala.ipa.callgraph.propagation.SSAContextInterpreter#getNumberOfStatements(com.ibm.wala.ipa.callgraph.CGNode) */ @Override @@ -94,7 +94,7 @@ public class GetMethodContextInterpreter implements SSAContextInterpreter { return getIR(node).getInstructions().length; } - /* + /** * @see com.ibm.wala.ipa.callgraph.propagation.rta.RTAContextInterpreter#understands(com.ibm.wala.ipa.callgraph.CGNode) */ @Override @@ -130,8 +130,13 @@ public class GetMethodContextInterpreter implements SSAContextInterpreter { } /** - * Get all non-constructor, non-class-initializer methods declared by a class - * if their name is equal to the specified name. + * @brief + * Get all non-constructor, non-class-initializer methods declared by a class + * if their name is equal to the specified name. + * @param cls + * The class. + * @param name + * The name. */ private Collection getDeclaredNormalMethods(IClass cls,Atom name) { Collection result = HashSetFactory.make(); @@ -144,8 +149,13 @@ public class GetMethodContextInterpreter implements SSAContextInterpreter { } /** - * Get all non-constructor, non-class-initializer methods declared by a class - * and all its superclasses if their name is equal to the specifed name. + * @brief + * Get all non-constructor, non-class-initializer methods declared by a class + * and all its superclasses if their name is equal to the specified name. + * @param cls + * The class. + * @param name + * The name. */ private Collection getAllNormalPublicMethods(IClass cls,Atom name) { Collection result = HashSetFactory.make(); @@ -160,12 +170,15 @@ public class GetMethodContextInterpreter implements SSAContextInterpreter { } /** - * Create statements for methods like getMethod() and getDeclaredMethod(), - * which return a single method. This creates a return statement for each - * possible return value, each of which is a {@link ConstantValue} for an - * {@link IMethod}. - * - * @param returnValues the possible return values for this method. + * @brief + * Create statements for methods like getMethod() and getDeclaredMethod(), + * which return a single method. This creates a return statement for each + * possible return value, each of which is a {@link ConstantValue} for an + * {@link IMethod}. + * @param returnValues + * the possible return values for this method. + * @return + * the statements. */ private SSAInstruction[] getParticularMethodStatements ( diff --git a/com.ibm.wala.core/src/com/ibm/wala/analysis/reflection/ext/GetMethodContextSelector.java b/com.ibm.wala.core/src/com/ibm/wala/analysis/reflection/ext/GetMethodContextSelector.java index 6e4841d3d..484a750d0 100644 --- a/com.ibm.wala.core/src/com/ibm/wala/analysis/reflection/ext/GetMethodContextSelector.java +++ b/com.ibm.wala.core/src/com/ibm/wala/analysis/reflection/ext/GetMethodContextSelector.java @@ -75,7 +75,7 @@ public class GetMethodContextSelector implements ContextSelector { System.out.println(" " + instanceKey); } } - // ... return an GetMethdContext. + // ... return an GetMethodContext. ConstantKey ck = makeConstantKey(caller.getClassHierarchy(),sym); System.out.println(ck); return new GetMethodContext(new PointType(getTypeConstant(receiver[0])),ck); @@ -84,6 +84,7 @@ public class GetMethodContextSelector implements ContextSelector { System.out.println(", with constant := no"); } // Otherwise, return null. + // TODO Remove this, just fall-through. return null; } return null; @@ -143,6 +144,7 @@ public class GetMethodContextSelector implements ContextSelector { /** * TODO * MH: Shouldn't be the first TWO parameters be relevant? + * Documentation is not too helpful about the implications. */ private static final IntSet thisParameter = IntSetUtil.make(new int[]{0});