public TypeList getParameterTypes() { if (_parameterTypes == null) { synchronized (this) { if (_parameterTypes == null) { final Type<?>[] types = new Type<?>[size()]; for (int i = 0, n = size(); i < n; i++) { types[i] = get(i).getParameterType(); } _parameterTypes = new TypeList(types); } } } return _parameterTypes; }
public TypeList getParameterTypes() { if (_parameterTypes == null) { synchronized (this) { if (_parameterTypes == null) { final Type<?>[] types = new Type<?>[size()]; for (int i = 0, n = size(); i < n; i++) { types[i] = get(i).getParameterType(); } _parameterTypes = new TypeList(types); } } } return _parameterTypes; }
public TypeList getParameterTypes() { if (_parameterTypes == null) { synchronized (this) { if (_parameterTypes == null) { final Type<?>[] types = new Type<?>[size()]; for (int i = 0, n = size(); i < n; i++) { types[i] = get(i).getParameterType(); } _parameterTypes = new TypeList(types); } } } return _parameterTypes; }
static boolean compareMethodSignatureAndName(final MethodBase m1, final MethodBase m2) { final ParameterList p1 = m1.getParameters(); final ParameterList p2 = m2.getParameters(); if (p1.size() != p2.size()) { return false; } for (int i = 0, n = p1.size(); i < n; i++) { if (!TypeUtils.areEquivalent(p1.get(i).getParameterType(), p2.get(i).getParameterType())) { return false; } } return true; }
static boolean compareMethodSignatureAndName(final MethodBase m1, final MethodBase m2) { final ParameterList p1 = m1.getParameters(); final ParameterList p2 = m2.getParameters(); if (p1.size() != p2.size()) { return false; } for (int i = 0, n = p1.size(); i < n; i++) { if (!TypeUtils.areEquivalent(p1.get(i).getParameterType(), p2.get(i).getParameterType())) { return false; } } return true; }
static boolean compareMethodSignatureAndName(final MethodBase m1, final MethodBase m2) { final ParameterList p1 = m1.getParameters(); final ParameterList p2 = m2.getParameters(); if (p1.size() != p2.size()) { return false; } for (int i = 0, n = p1.size(); i < n; i++) { if (!TypeUtils.areEquivalent(p1.get(i).getParameterType(), p2.get(i).getParameterType())) { return false; } } return true; }
@Override public StringBuilder appendSignature(final StringBuilder sb) { final ParameterList parameters = getParameters(); StringBuilder s = sb; s.append('('); for (int i = 0, n = parameters.size(); i < n; ++i) { final ParameterInfo p = parameters.get(i); s = p.getParameterType().appendSignature(s); } s.append(')'); s = PrimitiveTypes.Void.appendErasedSignature(s); return s; }
@Override public StringBuilder appendSignature(final StringBuilder sb) { final ParameterList parameters = getParameters(); StringBuilder s = sb; s.append('('); for (int i = 0, n = parameters.size(); i < n; ++i) { final ParameterInfo p = parameters.get(i); s = p.getParameterType().appendSignature(s); } s.append(')'); s = PrimitiveTypes.Void.appendErasedSignature(s); return s; }
@Override public StringBuilder appendSignature(final StringBuilder sb) { final ParameterList parameters = getParameters(); StringBuilder s = sb; s.append('('); for (int i = 0, n = parameters.size(); i < n; ++i) { final ParameterInfo p = parameters.get(i); s = p.getParameterType().appendSignature(s); } s.append(')'); s = PrimitiveTypes.Void.appendErasedSignature(s); return s; }
public boolean containsGenericParameters() { if (getReturnType().containsGenericParameters()) { return true; } final ParameterList parameters = getParameters(); for (int i = 0, n = parameters.size(); i < n; i++) { final ParameterInfo parameter = parameters.get(i); if (parameter.getParameterType().containsGenericParameters()) { return true; } } return false; }
public boolean containsGenericParameters() { if (getReturnType().containsGenericParameters()) { return true; } final ParameterList parameters = getParameters(); for (int i = 0, n = parameters.size(); i < n; i++) { final ParameterInfo parameter = parameters.get(i); if (parameter.getParameterType().containsGenericParameters()) { return true; } } return false; }
public boolean containsGenericParameters() { if (getReturnType().containsGenericParameters()) { return true; } final ParameterList parameters = getParameters(); for (int i = 0, n = parameters.size(); i < n; i++) { final ParameterInfo parameter = parameters.get(i); if (parameter.getParameterType().containsGenericParameters()) { return true; } } return false; }
public ParameterList visitParameters(final ParameterList parameters, final TypeBindings bindings) { VerifyArgument.notNull(parameters, "parameters"); ParameterInfo[] newParameters = null; for (int i = 0, n = parameters.size(); i < n; i++) { final ParameterInfo oldParameter = parameters.get(i); final Type<?> oldParameterType = oldParameter.getParameterType(); final Type<?> newParameterType = visit(oldParameterType, bindings); if (newParameterType != oldParameterType) { if (newParameters == null) { newParameters = parameters.toArray(); } newParameters[i] = new ParameterInfo(oldParameter.getName(), i, newParameterType); } } if (newParameters != null) { return new ParameterList(newParameters); } return parameters; }
public ParameterList visitParameters(final ParameterList parameters, final TypeBindings bindings) { VerifyArgument.notNull(parameters, "parameters"); ParameterInfo[] newParameters = null; for (int i = 0, n = parameters.size(); i < n; i++) { final ParameterInfo oldParameter = parameters.get(i); final Type<?> oldParameterType = oldParameter.getParameterType(); final Type<?> newParameterType = visit(oldParameterType, bindings); if (newParameterType != oldParameterType) { if (newParameters == null) { newParameters = parameters.toArray(); } newParameters[i] = new ParameterInfo(oldParameter.getName(), i, newParameterType); } } if (newParameters != null) { return new ParameterList(newParameters); } return parameters; }
public ParameterList visitParameters(final ParameterList parameters, final TypeBindings bindings) { VerifyArgument.notNull(parameters, "parameters"); ParameterInfo[] newParameters = null; for (int i = 0, n = parameters.size(); i < n; i++) { final ParameterInfo oldParameter = parameters.get(i); final Type<?> oldParameterType = oldParameter.getParameterType(); final Type<?> newParameterType = visit(oldParameterType, bindings); if (newParameterType != oldParameterType) { if (newParameters == null) { newParameters = parameters.toArray(); } newParameters[i] = new ParameterInfo(oldParameter.getName(), i, newParameterType); } } if (newParameters != null) { return new ParameterList(newParameters); } return parameters; }
public void emit(final OpCode opCode, final ConstructorInfo constructor) { VerifyArgument.notNull(constructor, "constructor"); final MethodBuilder methodBuilder = this.methodBuilder; if (methodBuilder == null) { throw Error.bytecodeGeneratorNotOwnedByMethodBuilder(); } final int methodToken = methodBuilder.getDeclaringType().getMethodToken(constructor); emit(opCode, (short)methodToken); registerCheckedExceptions(constructor); int stackChange = 0; if (constructor instanceof ConstructorBuilder) { stackChange -= ((ConstructorBuilder)constructor).getParameterTypes().size(); } else { stackChange -= constructor.getParameters().size(); } updateStackSize(opCode, stackChange); }
public void emit(final OpCode opCode, final ConstructorInfo constructor) { VerifyArgument.notNull(constructor, "constructor"); final MethodBuilder methodBuilder = this.methodBuilder; if (methodBuilder == null) { throw Error.bytecodeGeneratorNotOwnedByMethodBuilder(); } final int methodToken = methodBuilder.getDeclaringType().getMethodToken(constructor); emit(opCode, (short)methodToken); registerCheckedExceptions(constructor); int stackChange = 0; if (constructor instanceof ConstructorBuilder) { stackChange -= ((ConstructorBuilder)constructor).getParameterTypes().size(); } else { stackChange -= constructor.getParameters().size(); } updateStackSize(opCode, stackChange); }
public MethodInfo findBaseMethod(final Type<?> relativeTo) { VerifyArgument.notNull(relativeTo, "relativeTo"); final Type<?> declaringType = getDeclaringType(); if (!relativeTo.isAssignableFrom(declaringType)) { throw Error.invalidAncestorType(relativeTo, declaringType); } if (isStatic() || isPrivate()) { return null; } final ParameterList parameters = getParameters(); return relativeTo.getMethod( getName(), BindingFlags.AllInstance, getCallingConvention(), parameters.getParameterTypes().toArray(new Type[parameters.size()]) ); }
public MethodInfo findBaseMethod(final Type<?> relativeTo) { VerifyArgument.notNull(relativeTo, "relativeTo"); final Type<?> declaringType = getDeclaringType(); if (!relativeTo.isAssignableFrom(declaringType)) { throw Error.invalidAncestorType(relativeTo, declaringType); } if (isStatic() || isPrivate() || declaringType.isInterface()) { return null; } final ParameterList parameters = getParameters(); return relativeTo.getMethod( getName(), BindingFlags.AllInstance, getCallingConvention(), parameters.getParameterTypes().toArray(new Type[parameters.size()]) ); }
public MethodInfo findBaseMethod(final Type<?> relativeTo) { VerifyArgument.notNull(relativeTo, "relativeTo"); final Type<?> declaringType = getDeclaringType(); if (!relativeTo.isAssignableFrom(declaringType)) { throw Error.invalidAncestorType(relativeTo, declaringType); } if (isStatic() || isPrivate() || declaringType.isInterface()) { return null; } final ParameterList parameters = getParameters(); return relativeTo.getMethod( getName(), BindingFlags.AllInstance, getCallingConvention(), parameters.getParameterTypes().toArray(new Type[parameters.size()]) ); }