@Override public Selector getSelector() { return ref.getSelector(); }
@Override public Descriptor getDescriptor() { return method.getSelector().getDescriptor(); } /** BEGIN Custom change: : precise bytecode positions */
@Override public Descriptor getDescriptor() { return method.getSelector().getDescriptor(); } /** BEGIN Custom change: : precise bytecode positions */
@Override public Selector getSelector() { return getReference().getSelector(); }
@Override public boolean isClinit() { return method.getSelector().equals(MethodReference.clinitSelector); }
@Override public boolean isInit() { return method.getSelector().equals(MethodReference.initSelector); }
@Override public Selector getSelector() { return getReference().getSelector(); }
@Override public Selector getSelector() { return getReference().getSelector(); }
@Override public Atom getName() { return method.getSelector().getName(); }
/** * @return the Selector that identifies this site */ public Selector getSelector() { return getSite().getDeclaredTarget().getSelector(); }
/** * @return the Selector that identifies this site */ public Selector getSelector() { return getSite().getDeclaredTarget().getSelector(); }
@Override protected PointerKey getKeyForSite(CallSiteReference site) { return new RTASelectorKey(site.getDeclaredTarget().getSelector()); }
@Override public boolean isClinit() { return getReference().getSelector().equals(MethodReference.clinitSelector); }
@Override protected PointerKey getKeyForSite(CallSiteReference site) { return new RTASelectorKey(site.getDeclaredTarget().getSelector()); }
public LambdaSummaryClass(TypeReference T, IClassHierarchy cha, SSAInvokeDynamicInstruction invoke) { super(T, cha); this.invoke = invoke; this.fields = makeFields(); this.methods = Collections.singletonMap(trampoline().getSelector(), makeTrampoline()); }
public LambdaSummaryClass(TypeReference T, IClassHierarchy cha, SSAInvokeDynamicInstruction invoke) { super(T, cha); this.invoke = invoke; this.fields = makeFields(); this.methods = Collections.singletonMap(trampoline().getSelector(), makeTrampoline()); }
@Override protected boolean sameMethod(CGNode opNode, String definingMethod) { MethodReference reference = opNode.getMethod().getReference(); String selector = reference.getSelector().toString(); String containingClass = reference.getDeclaringClass().getName().toString(); return definingMethod.equals(containingClass + '/' + selector); }
@Override protected boolean sameMethod(CGNode opNode, String definingMethod) { MethodReference reference = opNode.getMethod().getReference(); String selector = reference.getSelector().toString(); String containingClass = reference.getDeclaringClass().getName().toString(); return definingMethod.equals(containingClass + '/' + selector); }
protected Predicate<MethodReference> nameFilter(final String name) { return t -> { System.err.println(t + " " + name); return t.getSelector().equals(AstMethodReference.fnSelector) && t.getDeclaringClass().getName().toString().startsWith('L' + name); }; }
public String anonLocalTypeToTypeID(ITypeBinding type) { String outerTypeID = typeToTypeID(type.getDeclaringClass()); String metSelectorName; IMethodBinding metBinding = type.getDeclaringMethod(); if (metBinding == null) // anonymous class declared in initializer or static initializer (rare case...) metSelectorName = "<init>"; else metSelectorName = getMethodRef(metBinding).getSelector().toString(); String shortName = (type.isAnonymous()) ? JDT2CAstUtils.anonTypeName(type) : type.getName(); return outerTypeID + '/' + metSelectorName + '/' + shortName; }