@Override public char[] signature(ClassFile classFile) { return originalMethod.signature(); // for codeGen we need to answer the signature of j.l.Object.clone() } };
@Override public char[] signature(ClassFile classFile) { return originalMethod.signature(); // for codeGen we need to answer the signature of j.l.Object.clone() } };
public static char[] getSignature(MethodBinding methodBinding) { char[] result = null; int oldMod = methodBinding.modifiers; //TODO remove the next line when method from binary type will be able to generate generic signature methodBinding.modifiers |= ExtraCompilerModifiers.AccGenericSignature; result = methodBinding.genericSignature(); if(result == null) { result = methodBinding.signature(); } methodBinding.modifiers = oldMod; if (result != null) { result = CharOperation.replaceOnCopy(result, '/', '.'); } return result; }
public static char[] getSignature(MethodBinding methodBinding) { char[] result = null; int oldMod = methodBinding.modifiers; //TODO remove the next line when method from binary type will be able to generate generic signature methodBinding.modifiers |= ExtraCompilerModifiers.AccGenericSignature; result = methodBinding.genericSignature(); if(result == null) { result = methodBinding.signature(); } methodBinding.modifiers = oldMod; if (result != null) { result = CharOperation.replaceOnCopy(result, '/', '.'); } return result; }
public static char[] getSignature(MethodBinding methodBinding) { char[] result = null; int oldMod = methodBinding.modifiers; //TODO remove the next line when method from binary type will be able to generate generic signature methodBinding.modifiers |= ExtraCompilerModifiers.AccGenericSignature; result = methodBinding.genericSignature(); if(result == null) { result = methodBinding.signature(); } methodBinding.modifiers = oldMod; if (result != null) { result = CharOperation.replaceOnCopy(result, '/', '.'); } return result; }
public static char[] getSignature(MethodBinding methodBinding) { char[] result = null; int oldMod = methodBinding.modifiers; //TODO remove the next line when method from binary type will be able to generate generic signature methodBinding.modifiers |= ExtraCompilerModifiers.AccGenericSignature; result = methodBinding.genericSignature(); if(result == null) { result = methodBinding.signature(); } methodBinding.modifiers = oldMod; if (result != null) { result = CharOperation.replaceOnCopy(result, '/', '.'); } return result; }
public static char[] getSignature(MethodBinding methodBinding) { char[] result = null; int oldMod = methodBinding.modifiers; //TODO remove the next line when method from binary type will be able to generate generic signature methodBinding.modifiers |= ExtraCompilerModifiers.AccGenericSignature; result = methodBinding.genericSignature(); if(result == null) { result = methodBinding.signature(); } methodBinding.modifiers = oldMod; if (result != null) { result = CharOperation.replaceOnCopy(result, '/', '.'); } return result; }
public static char[] getSignature(MethodBinding methodBinding) { char[] result = null; int oldMod = methodBinding.modifiers; //TODO remove the next line when method from binary type will be able to generate generic signature methodBinding.modifiers |= ExtraCompilerModifiers.AccGenericSignature; result = methodBinding.genericSignature(); if(result == null) { result = methodBinding.signature(); } methodBinding.modifiers = oldMod; if (result != null) { result = CharOperation.replaceOnCopy(result, '/', '.'); } return result; }
public int literalIndexForMethodHandle(MethodBinding binding) { boolean isInterface = binding.declaringClass.isInterface(); int referenceKind = isInterface ? binding.isStatic() ? MethodHandleRefKindInvokeStatic : binding.isPrivate() ? MethodHandleRefKindInvokeSpecial : MethodHandleRefKindInvokeInterface : binding.isConstructor() ? MethodHandleRefKindNewInvokeSpecial : binding.isStatic() ? MethodHandleRefKindInvokeStatic : MethodHandleRefKindInvokeVirtual; return literalIndexForMethodHandle(referenceKind, binding.declaringClass, binding.selector, binding.signature(), isInterface); }
public int literalIndexForMethodHandle(MethodBinding binding) { boolean isInterface = binding.declaringClass.isInterface(); int referenceKind = isInterface ? binding.isStatic() ? MethodHandleRefKindInvokeStatic : binding.isPrivate() ? MethodHandleRefKindInvokeSpecial : MethodHandleRefKindInvokeInterface : binding.isConstructor() ? MethodHandleRefKindNewInvokeSpecial : binding.isStatic() ? MethodHandleRefKindInvokeStatic : MethodHandleRefKindInvokeVirtual; return literalIndexForMethodHandle(referenceKind, binding.declaringClass, binding.selector, binding.signature(), isInterface); }
public int literalIndexForMethodHandle(MethodBinding binding) { boolean isInterface = binding.declaringClass.isInterface(); int referenceKind = isInterface ? binding.isStatic() ? MethodHandleRefKindInvokeStatic : binding.isPrivate() ? MethodHandleRefKindInvokeSpecial : MethodHandleRefKindInvokeInterface : binding.isConstructor() ? MethodHandleRefKindNewInvokeSpecial : binding.isStatic() ? MethodHandleRefKindInvokeStatic : MethodHandleRefKindInvokeVirtual; return literalIndexForMethodHandle(referenceKind, binding.declaringClass, binding.selector, binding.signature(), isInterface); }
public void consumeMethod(char[] selector, char[] signature) { if (this.typeBinding == null) return; MethodBinding[] methods = ((ReferenceBinding) this.typeBinding).availableMethods(); // resilience for (int i = 0, methodLength = methods.length; i < methodLength; i++) { MethodBinding method = methods[i]; if (CharOperation.equals(selector, method.selector) || (selector.length == 0 && method.isConstructor())) { char[] methodSignature = method.genericSignature(); if (methodSignature == null) methodSignature = method.signature(); if (CharOperation.equals(signature, methodSignature)) { this.typeBinding = null; this.methodBinding = method; this.compilerBinding = this.methodBinding; return; } } } }
public int literalIndexForMethodHandle(MethodBinding binding) { boolean isInterface = binding.declaringClass.isInterface(); int referenceKind = isInterface ? binding.isStatic() ? MethodHandleRefKindInvokeStatic : binding.isPrivate() ? MethodHandleRefKindInvokeSpecial : MethodHandleRefKindInvokeInterface : binding.isConstructor() ? MethodHandleRefKindNewInvokeSpecial : binding.isStatic() ? MethodHandleRefKindInvokeStatic : binding.isPrivate() ? MethodHandleRefKindInvokeSpecial : MethodHandleRefKindInvokeVirtual; return literalIndexForMethodHandle(referenceKind, binding.declaringClass, binding.selector, binding.signature(), isInterface); }
public int literalIndexForMethodHandle(MethodBinding binding) { boolean isInterface = binding.declaringClass.isInterface(); int referenceKind = isInterface ? binding.isStatic() ? MethodHandleRefKindInvokeStatic : binding.isPrivate() ? MethodHandleRefKindInvokeSpecial : MethodHandleRefKindInvokeInterface : binding.isConstructor() ? MethodHandleRefKindNewInvokeSpecial : binding.isStatic() ? MethodHandleRefKindInvokeStatic : binding.isPrivate() ? MethodHandleRefKindInvokeSpecial : MethodHandleRefKindInvokeVirtual; return literalIndexForMethodHandle(referenceKind, binding.declaringClass, binding.selector, binding.signature(), isInterface); }
public int literalIndexForMethodHandle(MethodBinding binding) { boolean isInterface = binding.declaringClass.isInterface(); int referenceKind = isInterface ? binding.isStatic() ? MethodHandleRefKindInvokeStatic : binding.isPrivate() ? MethodHandleRefKindInvokeSpecial : MethodHandleRefKindInvokeInterface : binding.isConstructor() ? MethodHandleRefKindNewInvokeSpecial : binding.isStatic() ? MethodHandleRefKindInvokeStatic : binding.isPrivate() ? MethodHandleRefKindInvokeSpecial : MethodHandleRefKindInvokeVirtual; return literalIndexForMethodHandle(referenceKind, binding.declaringClass, binding.selector, binding.signature(), isInterface); }
public int literalIndexForMethodHandle(MethodBinding binding) { boolean isInterface = binding.declaringClass.isInterface(); int referenceKind = isInterface ? binding.isStatic() ? MethodHandleRefKindInvokeStatic : binding.isPrivate() ? MethodHandleRefKindInvokeSpecial : MethodHandleRefKindInvokeInterface : binding.isConstructor() ? MethodHandleRefKindNewInvokeSpecial : binding.isStatic() ? MethodHandleRefKindInvokeStatic : binding.isPrivate() ? MethodHandleRefKindInvokeSpecial : MethodHandleRefKindInvokeVirtual; return literalIndexForMethodHandle(referenceKind, binding.declaringClass, binding.selector, binding.signature(), isInterface); }
public int literalIndexForMethodHandle(MethodBinding binding) { boolean isInterface = binding.declaringClass.isInterface(); int referenceKind = isInterface ? binding.isStatic() ? MethodHandleRefKindInvokeStatic : binding.isPrivate() ? MethodHandleRefKindInvokeSpecial : MethodHandleRefKindInvokeInterface : binding.isConstructor() ? MethodHandleRefKindNewInvokeSpecial : binding.isStatic() ? MethodHandleRefKindInvokeStatic : binding.isPrivate() ? MethodHandleRefKindInvokeSpecial : MethodHandleRefKindInvokeVirtual; return literalIndexForMethodHandle(referenceKind, binding.declaringClass, binding.selector, binding.signature(), isInterface); }
public static void annotateMethodBinding(MethodBinding method, ExternalAnnotationProvider provider, LookupEnvironment environment) { char[] methodSignature = method.genericSignature(); if (methodSignature == null) methodSignature = method.signature(); ITypeAnnotationWalker walker = provider.forMethod(method.selector, methodSignature, environment); if (walker != null && walker != ITypeAnnotationWalker.EMPTY_ANNOTATION_WALKER) { ExternalAnnotationSuperimposer visitor = new ExternalAnnotationSuperimposer(environment); TypeVariableBinding[] typeParams = method.typeVariables; for (short i = 0; i < typeParams.length; i++) { if (visitor.go(walker.toTypeParameter(false, i))) typeParams[i] = visitor.superimpose(typeParams[i], TypeVariableBinding.class); } if (!method.isConstructor()) { if (visitor.go(walker.toMethodReturn())) method.returnType = visitor.superimpose(method.returnType, TypeBinding.class); } TypeBinding[] parameters = method.parameters; for (short i = 0; i < parameters.length; i++) { if (visitor.go(walker.toMethodParameter(i))) parameters[i] = visitor.superimpose(parameters[i], TypeBinding.class); } } }
public static void annotateMethodBinding(MethodBinding method, ExternalAnnotationProvider provider, LookupEnvironment environment) { char[] methodSignature = method.genericSignature(); if (methodSignature == null) methodSignature = method.signature(); ITypeAnnotationWalker walker = provider.forMethod(method.selector, methodSignature, environment); if (walker != null && walker != ITypeAnnotationWalker.EMPTY_ANNOTATION_WALKER) { ExternalAnnotationSuperimposer visitor = new ExternalAnnotationSuperimposer(environment); TypeVariableBinding[] typeParams = method.typeVariables; for (short i = 0; i < typeParams.length; i++) { if (visitor.go(walker.toTypeParameter(false, i))) typeParams[i] = visitor.superimpose(typeParams[i], TypeVariableBinding.class); } if (!method.isConstructor()) { if (visitor.go(walker.toMethodReturn())) method.returnType = visitor.superimpose(method.returnType, TypeBinding.class); } TypeBinding[] parameters = method.parameters; for (short i = 0; i < parameters.length; i++) { if (visitor.go(walker.toMethodParameter(i))) parameters[i] = visitor.superimpose(parameters[i], TypeBinding.class); } } }
public static void annotateMethodBinding(MethodBinding method, ExternalAnnotationProvider provider, LookupEnvironment environment) { char[] methodSignature = method.genericSignature(); if (methodSignature == null) methodSignature = method.signature(); ITypeAnnotationWalker walker = provider.forMethod(method.selector, methodSignature, environment); if (walker != null && walker != ITypeAnnotationWalker.EMPTY_ANNOTATION_WALKER) { ExternalAnnotationSuperimposer visitor = new ExternalAnnotationSuperimposer(environment); TypeVariableBinding[] typeParams = method.typeVariables; for (short i = 0; i < typeParams.length; i++) { if (visitor.go(walker.toTypeParameter(false, i))) typeParams[i] = visitor.superimpose(typeParams[i], TypeVariableBinding.class); } if (!method.isConstructor()) { if (visitor.go(walker.toMethodReturn())) method.returnType = visitor.superimpose(method.returnType, TypeBinding.class); } TypeBinding[] parameters = method.parameters; for (short i = 0; i < parameters.length; i++) { if (visitor.go(walker.toMethodParameter(i))) parameters[i] = visitor.superimpose(parameters[i], TypeBinding.class); } } }