Prepend an argument (name + type) to the signature.

@param name the name of the argument
@param type the type of the argument
@return a new signature with the added arguments
502485
public Signature prependArg(String name, Class<?> type) {
        String[] newArgNames = new String[argNames.length + 1];
        System.arraycopy(argNames, 0, newArgNames, 1, argNames.length);
        newArgNames[0] = name;
        MethodType newMethodType = methodType.insertParameterTypes(0, type);
        return new Signature(newMethodType, newArgNames);
    }
581093
public String toMethodSignature(String name) {
        StringBuffer buf = new StringBuffer();
        buf.append(mRetType.getFullName());
        buf.append(' ');
        buf.append(name);
        buf.append('(');

        TypeDesc[] params = mParams;
        for (int i=0; i<params.length; i++) {
            if (i > 0) {
                buf.append(", ");
            }
            buf.append(params[i].getFullName());
        }

        return buf.append(')').toString();
    }
1076839
public static NamedAttributeType<Object> newNamedUnknownType(final String name, final Type type) {
	return new NamedAttributeType<>(name, new AttributeType<Object>(type) {});
    }
1091798
public void addType(String type) {
        try {
            messageCreators.add(Class.forName(type).newInstance());
        } catch (ClassNotFoundException | IllegalAccessException e) {
            throw new CitrusRuntimeException("Unable to access message creator type: " + type, e);
        } catch (InstantiationException e) {
            throw new CitrusRuntimeException("Unable to create  message creator instance of type: " + type, e);
        }
    }
459853
public void setConfigItem(final String name, final String type, final String value) {
        this.configEntry.add(new ConfigItem(name, type, value));
    }
362798
public Signature prependArgs(String[] names, Class<?>... types) {
        String[] newArgNames = new String[argNames.length + names.length];
        System.arraycopy(argNames, 0, newArgNames, names.length, argNames.length);
        System.arraycopy(names, 0, newArgNames, 0, names.length);
        MethodType newMethodType = methodType.insertParameterTypes(0, types);
        return new Signature(newMethodType, newArgNames);
    }
780978
protected function _createListTerm( $name, $type )
	{
		switch( $this->getOperator() )
		{
			case '==':

				$list = array();
				foreach( (array) $this->getValue() as $value ) {
					$list[] = $this->_createTerm( $name, $type, $value );
				}
				return '( ' . implode( ' || ', $list ) . ' )';

			case '!=':

				$list = array();
				foreach( (array) $this->getValue() as $value ) {
					$list[] = $this->_createTerm( $name, $type, $value );
				}
				return '( ' . implode( ' && ', $list ) . ' )';

			default:
				throw new MW_Common_Exception( sprintf( 'List Term not allowed for operator "%1$s"', $this->getOperator() ) );
		}
	}
438715
public String toMethodSignature(String name, boolean varargs) {
        StringBuffer buf = new StringBuffer();
        buf.append(mRetType.getFullName());
        buf.append(' ');
        buf.append(name);
        buf.append('(');

        TypeDesc[] params = mParams;
        for (int i=0; i<params.length; i++) {
            if (i > 0) {
                buf.append(", ");
            }
            TypeDesc param = params[i];
            if (varargs && param.isArray() && i == (params.length - 1)) {
                buf.append(param.getComponentType().getFullName());
                buf.append("...");
            } else {
                buf.append(param.getFullName());
            }
        }

        return buf.append(')').toString();
    }
700365
public ITypeParameterBuilder addTypeParameter(String name) {
		ITypeParameterBuilder builder = this.iTypeParameterBuilderProvider.get();
		final SarlAction object = getSarlAction();
		builder.eInit(object, name, getTypeResolutionContext());
		object.getTypeParameters().add(builder.getJvmTypeParameter());
		return builder;
	}
780404
public void setNameAndType(String name, String type)
  {
    _nameAndTypeIndex = getConstantPool().addNameAndType(name, type).getIndex();
  }
813306
public void addVariable(String name, Class<?> type)
    {
        addVariable(name, Typ.getTypeFor(type));
    }
1066376
public SmartBinder castArg(String name, Class<?> type) {
        Signature newSig = signature().replaceArg(name, name, type);
        return new SmartBinder(this, newSig, binder.cast(newSig.type()));
    }
964739
public ITypeParameterBuilder addTypeParameter(String name) {
		ITypeParameterBuilder builder = this.iTypeParameterBuilderProvider.get();
		final SarlConstructor object = getSarlConstructor();
		builder.eInit(object, name, getTypeResolutionContext());
		object.getTypeParameters().add(builder.getJvmTypeParameter());
		return builder;
	}
715508
public static <T> ParameterBuilder<T> create(String name, Class<T> type) {
    return new ParameterBuilder<T>()
        .name(name)
        .type(type);
  }
1294434
public MethodRefConstant addMethodRef(String className,
                                        String name,
                                        String type)
  {
    MethodRefConstant entry = getMethodRef(className, name, type);

    if (entry != null)
      return entry;

    ClassConstant classEntry = addClass(className);
    NameAndTypeConstant typeEntry = addNameAndType(name, type);

    entry = new MethodRefConstant(this, _entries.size(),
                                  classEntry.getIndex(),
                                  typeEntry.getIndex());

    addConstant(entry);

    return entry;
  }
1065440
public void addUpperConstraint(String type) {
		final JvmUpperBound constraint = this.jvmTypesFactory.createJvmUpperBound();
		constraint.setTypeReference(newTypeRef(this.context, type));
		getJvmTypeParameter().getConstraints().add(constraint);
	}
534789
public Signature spread(String... names) {
        Class<?> aryType = lastArgType();

        assert lastArgType().isArray();

        Class<?>[] newTypes = new Class<?>[names.length];
        Arrays.fill(newTypes, aryType.getComponentType());

        return spread(names, newTypes);
    }