Package 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

Constructors
Constructor
Description
`FunctionParamBuilder(JSTypeRegistry registry)`

## Method Summary

Modifier and Type
Method
Description
`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 Details

### FunctionParamBuilder

public FunctionParamBuilder(JSTypeRegistry registry)

## Method Details

### 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 undefine-able.
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()