@Override public ContextItem get(ContextKey name) { if (APPLY_NON_NULL_ARGS.equals(name)) { return isNonNullArray; } else { return delegate.get(name); } }
@Override public ContextItem get(ContextKey name) { if (CALL_STRING.equals(name)) { return cs; } else if (BASE.equals(name)) { return base; } else { return base.get(name); } }
@Override public ContextItem get(ContextKey name) { /*if(name == ContextKey.RECEIVER && index == 1) return instanceKey;*/ if(name.equals(ContextKey.PARAMETERS[index]) || name.equals(ID_KEY)) return new FilteredPointerKey.SingleInstanceFilter(instanceKey); return base.get(name); }
@Override public ContextItem get(ContextKey name) { if (name == null) { throw new IllegalArgumentException("name is null"); } if (name.equals(ContextKey.CALLER)) { return super.get(name); } else { return baseContext.get(name); } }
@Override public ContextItem get(ContextKey name) { if (METHOD_KEY.equals(name)) { return new HandlesItem<>(method); } else { return base.get(name); } }
@Override public ContextItem get(ContextKey name) { if (METHOD_KEY.equals(name)) { return new HandlesItem<>(method); } else { return base.get(name); } }
@Override public ContextItem get(ContextKey name) { if (name == null) { throw new IllegalArgumentException("name is null"); } if (name.equals(ContextKey.CALLER) || name.equals(ContextKey.CALLSITE)) { return super.get(name); } else { return baseContext.get(name); } }
@Override public ContextItem get(ContextKey name) { if (name == null) { throw new IllegalArgumentException("name is null"); } if (name.equals(ContextKey.CALLER)) { return super.get(name); } else { return baseContext.get(name); } }
@Override public ContextItem get(ContextKey name) { if (CLASS_KEY.equals(name)) { return new HandlesItem<>(cls); } else if (NAME_KEY.equals(name)) { return new HandlesItem<>(selector); } else { return base.get(name); } }
@Override public ContextItem get(ContextKey name) { if (CLASS_KEY.equals(name)) { return new HandlesItem<>(cls); } else if (NAME_KEY.equals(name)) { return new HandlesItem<>(selector); } else { return base.get(name); } }
protected CallString getCallString(CGNode caller, CallSiteReference site, IMethod target) { int length = getLength(caller, site, target); if (length > 0) { if (caller.getContext().get(CALL_STRING) != null) { return new CallString(site, caller.getMethod(), length, (CallString) caller.getContext().get(CALL_STRING)); } else { return new CallString(site, caller.getMethod()); } } else { return null; } }
private FilteredPointerKey.TypeFilter getFilter(CGNode target) { FilteredPointerKey.TypeFilter filter = (FilteredPointerKey.TypeFilter) target.getContext().get(ContextKey.PARAMETERS[0]); if (filter != null) { return filter; } else { // the context does not select a particular concrete type for the // receiver. IClass C = getReceiverClass(target.getMethod()); return new FilteredPointerKey.SingleClassFilter(C); } }
private static SSAInstruction[] makeGetDeclCtorsStatements(Context context, Map<Integer, ConstantValue> constants) { IClass cls = ((TypeAbstraction)context.get(ContextKey.RECEIVER)).getType(); if (cls == null) { return getMethodArrayStatements(GET_DECLARED_CONSTRUCTORS, null, context, constants); } else { return getMethodArrayStatements(GET_DECLARED_CONSTRUCTORS, getConstructors(cls), context, constants); } }
/** * Create statements for {@link Class#getDeclaredMethod(String, Class...)}. */ private static SSAInstruction[] makeGetDeclaredMethodStatements(Context context, Map<Integer, ConstantValue> constants,Atom name) { IClass cls = ((TypeAbstraction)context.get(ContextKey.RECEIVER)).getType(); if (cls == null) { return getParticularMethodStatements(GET_DECLARED_METHOD, null, context, constants); } else { return getParticularMethodStatements(GET_DECLARED_METHOD, getDeclaredNormalMethods(cls,name), context, constants); } }
/** * create statements for getConstructor() */ private static SSAInstruction[] makeGetDeclCtorStatements(Context context, Map<Integer, ConstantValue> constants) { IClass cls = ((TypeAbstraction)context.get(ContextKey.RECEIVER)).getType(); if (cls == null) { return getParticularMethodStatements(GET_DECLARED_CONSTRUCTOR, null, context, constants); } else { return getParticularMethodStatements(GET_DECLARED_CONSTRUCTOR, getConstructors(cls), context, constants); } }
private static SSAInstruction[] makeGetMethodStatements(Context context, Map<Integer, ConstantValue> constants) { IClass cls = ((TypeAbstraction)context.get(ContextKey.RECEIVER)).getType(); if (cls == null) { return getParticularMethodStatements(GET_METHOD, null, context, constants); } else { return getParticularMethodStatements(GET_METHOD, getAllNormalPublicMethods(cls), context, constants); } }
private static SSAInstruction[] makeGetDeclCtorsStatements(Context context, Map<Integer, ConstantValue> constants) { IClass cls = ((TypeAbstraction)context.get(ContextKey.RECEIVER)).getType(); if (cls == null) { return getMethodArrayStatements(GET_DECLARED_CONSTRUCTORS, null, context, constants); } else { return getMethodArrayStatements(GET_DECLARED_CONSTRUCTORS, getConstructors(cls), context, constants); } }
/** * create statements for getDeclaredMethod() */ private static SSAInstruction[] makeGetDeclaredMethodStatements(Context context, Map<Integer, ConstantValue> constants) { IClass cls = ((TypeAbstraction)context.get(ContextKey.RECEIVER)).getType(); if (cls == null) { return getParticularMethodStatements(GET_DECLARED_METHOD, null, context, constants); } else { return getParticularMethodStatements(GET_DECLARED_METHOD, getDeclaredNormalMethods(cls), context, constants); } }