## com.google.javascript.rhino.jstype
Class FunctionParamBuilder

    java.lang.Object
      com.google.javascript.rhino.jstype.FunctionParamBuilder

    public class FunctionParamBuilder

extends Object

A builder for the Rhino Node representing Function parameters.

Constructor Summary
`FunctionParamBuilder(JSTypeRegistry registry)`

Method Summary
`boolean` | `addOptionalParams(JSType... types)` Add optional parameters of the given type to the end of the param list.
`boolean` | `addRequiredParams(JSType... types)` Add parameters of the given type to the end of the param list.
`boolean` | `addVarArgs(JSType type)` Add variable arguments to the end of the parameter list.
`Node` | `build()`
`boolean` | `hasVarArgs()`
`Node` | `newOptionalParameterFromNode(Node n)` Copies the parameter specification from the given node, but makes sure it's optional.
`Node` | `newParameterFromNode(Node n)` Copies the parameter specification from the given node.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### FunctionParamBuilder

    public FunctionParamBuilder(JSTypeRegistry registry)

Method Detail

### addRequiredParams

    public boolean addRequiredParams(JSType... types)

  Add parameters of the given type to the end of the param list.

  Returns:
    False if this is called after optional params are added.

### addOptionalParams

    public boolean addOptionalParams(JSType... types)

  Add optional parameters of the given type to the end of the param list.

  Parameters:
    `types` - Types for each optional parameter. The builder will make them undefineable.
  Returns:
    False if this is called after var args are added.

### addVarArgs

    public boolean addVarArgs(JSType type)

  Add variable arguments to the end of the parameter list.

  Returns:
    False if this is called after var args are added.

### newParameterFromNode

    public Node newParameterFromNode(Node n)

  Copies the parameter specification from the given node.

### newOptionalParameterFromNode

    public Node newOptionalParameterFromNode(Node n)

  Copies the parameter specification from the given node, but makes sure it's optional.

### build

    public Node build()

### hasVarArgs

    public boolean hasVarArgs()