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; }
@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; }
if (parameterTypes.get(i) == oldParameter.getParameterType()) { parameters[i] = oldParameter; parameters[i] = new ParameterInfo( oldParameter.getName(), oldParameter.getPosition(), parameterTypes.get(i) );
final ParameterList createParameters() { final List<ParameterBuilder> pb = this.getDefinedParameters(); final ParameterInfo[] p = new ParameterInfo[pb.size()]; for (int i = 0; i < p.length; i++) { final ParameterBuilder b = pb.get(i); p[i] = new ParameterInfo(b.getName(), b.getPosition(), b.getParameterType()); } return new ParameterList(p); }
final ParameterInfo p = (ParameterInfo) _location; if (StringUtilities.isNullOrEmpty(p.getName())) { return "parameter #" + p.getPosition() + ": " + _member.getSignature(); return "parameter #" + p.getPosition() + " (" + p.getName() + "): " + _member.getSignature(); final ParameterInfo p = (ParameterInfo) _location; if (StringUtilities.isNullOrEmpty(p.getName())) { return "argument #" + p.getPosition() + ": " + _member.getBriefDescription(); return "argument #" + p.getPosition() + " (" + p.getName() + "): " + _member.getBriefDescription();
public ConstructorBuilder defineDefaultConstructor(final int modifiers) { verifyNotGeneric(); verifyNotCreated(); if (isInterface()) { throw Error.interfacesCannotDefineConstructors(); } final ConstructorInfo baseConstructor = _baseType.getConstructor(BindingFlags.AllExact); if (baseConstructor == null || baseConstructor.isPrivate()) { throw Error.baseTypeHasNoDefaultConstructor(_baseType); } final ConstructorBuilder constructor = new ConstructorBuilder( modifiers & Modifier.constructorModifiers(), baseConstructor.getParameters().getParameterTypes(), TypeList.empty(), this ); final CodeGenerator code = constructor.getCodeGenerator(); code.emitThis(); for (final ParameterInfo parameter : baseConstructor.getParameters()) { code.emitLoadArgument(parameter.getPosition()); } code.call(baseConstructor); code.emitReturn(); constructor.returnCodeGenerator = false; constructorBuilders.add(constructor); _constructors = new ConstructorList(ArrayUtilities.append(_constructors.toArray(), constructor)); return constructor; }
@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; }
if (parameterTypes.get(i) == oldParameter.getParameterType()) { parameters[i] = oldParameter; parameters[i] = new ParameterInfo( oldParameter.getName(), oldParameter.getPosition(), parameterTypes.get(i) );
parameters[i] = new ParameterInfo("p" + i, i, resolvedParameterType);
public ConstructorBuilder defineDefaultConstructor(final int modifiers) { verifyNotGeneric(); verifyNotCreated(); if (isInterface()) { throw Error.interfacesCannotDefineConstructors(); } final ConstructorInfo baseConstructor = _baseType.getConstructor(BindingFlags.AllExact); if (baseConstructor == null || baseConstructor.isPrivate()) { throw Error.baseTypeHasNoDefaultConstructor(_baseType); } final ConstructorBuilder constructor = new ConstructorBuilder( modifiers & Modifier.constructorModifiers(), baseConstructor.getParameters().getParameterTypes(), TypeList.empty(), this ); final CodeGenerator code = constructor.getCodeGenerator(); code.emitThis(); for (final ParameterInfo parameter : baseConstructor.getParameters()) { code.emitLoadArgument(parameter.getPosition()); } code.call(baseConstructor); code.emitReturn(); constructor.returnCodeGenerator = false; constructorBuilders.add(constructor); _constructors = new ConstructorList(ArrayUtilities.append(_constructors.toArray(), constructor)); return constructor; }
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; }
@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; }
parameters[i] = new ParameterInfo("p" + i, i, resolvedParameterType);
public ConstructorBuilder defineDefaultConstructor(final int modifiers) { verifyNotGeneric(); verifyNotCreated(); if (isInterface()) { throw Error.interfacesCannotDefineConstructors(); } final ConstructorInfo baseConstructor = _baseType.getConstructor(BindingFlags.AllExact); if (baseConstructor == null || baseConstructor.isPrivate()) { throw Error.baseTypeHasNoDefaultConstructor(_baseType); } final ConstructorBuilder constructor = new ConstructorBuilder( modifiers & Modifier.constructorModifiers(), baseConstructor.getParameters().getParameterTypes(), TypeList.empty(), this ); final CodeGenerator code = constructor.getCodeGenerator(); code.emitThis(); for (final ParameterInfo parameter : baseConstructor.getParameters()) { code.emitLoadArgument(parameter.getPosition()); } code.call(baseConstructor); code.emitReturn(); constructor.returnCodeGenerator = false; constructorBuilders.add(constructor); _constructors = new ConstructorList(ArrayUtilities.append(_constructors.toArray(), constructor)); return constructor; }
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; }
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; }
parameters[i] = new ParameterInfo("p" + i, i, resolvedParameterType);
final Type parameterType = parameter.getParameterType(); parameters[i] = new ParameterInfo( parameter.getName(), i, resolveBindings(parameterType)
@Override public StringBuilder appendBriefDescription(final StringBuilder sb) { StringBuilder s = PrimitiveTypes.Void.appendBriefDescription(sb); s.append(' '); s.append(getName()); s.append('('); final ParameterList parameters = getParameters(); for (int i = 0, n = parameters.size(); i < n; ++i) { final ParameterInfo p = parameters.get(i); if (i != 0) { s.append(", "); } final Type parameterType = p.getParameterType(); if (parameterType.isGenericParameter()) { s.append(parameterType.getName()); } else { s = parameterType.appendSimpleDescription(s); } } s.append(')'); return s; }
private DynamicMethod(final MethodType methodType, final Method invokeMethod) { VerifyArgument.notNull(methodType, "methodType"); _invokeMethod = VerifyArgument.notNull(invokeMethod, "invokeMethod"); _methodHandle = null; final ParameterInfo[] parameters = new ParameterInfo[methodType.parameterCount()]; for (int i = 0, n = parameters.length; i < n; i++) { parameters[i] = new ParameterInfo( "p" + i, i, Type.of(methodType.parameterType(i)) ); } _parameters = new ParameterList(parameters); _signatureType = new SignatureType( Type.of(methodType.returnType()), _parameters.getParameterTypes() ); }