com.google.javascript.rhino.jstype
Class FunctionBuilder

java.lang.Object
  extended by com.google.javascript.rhino.jstype.FunctionBuilder

public final class FunctionBuilder
extends Object

A builder class for function and arrow types. If you need to build an interface constructor, use JSTypeRegistry.createInterfaceType(java.lang.String, com.google.javascript.rhino.Node).


Constructor Summary
FunctionBuilder(JSTypeRegistry registry)
           
 
Method Summary
 FunctionType build()
          Construct a new function type.
 FunctionBuilder copyFromOtherFunction(FunctionType otherType)
          Copies all the information from another function type.
 FunctionBuilder forConstructor()
          Make this a constructor.
 FunctionBuilder setIsConstructor(boolean isConstructor)
          Set whether this is a constructor.
 FunctionBuilder withInferredReturnType(JSType returnType)
          Sets an inferred return type.
 FunctionBuilder withName(String name)
          Set the name of the function type.
 FunctionBuilder withParams(FunctionParamBuilder params)
          Set the parameters of the function type from a FunctionParamBuilder.
 FunctionBuilder withParamsNode(Node parametersNode)
          Set the parameters of the function type with a specially-formatted node.
 FunctionBuilder withReturnType(JSType returnType)
          Set the return type.
 FunctionBuilder withReturnType(JSType returnType, boolean inferred)
          Set the return type and whether it's inferred.
 FunctionBuilder withSourceNode(Node sourceNode)
          Set the source node of the function type.
 FunctionBuilder withTemplateName(String templateTypeName)
          Set the template name.
 FunctionBuilder withTypeOfThis(ObjectType typeOfThis)
          Set the "this" type.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FunctionBuilder

public FunctionBuilder(JSTypeRegistry registry)
Method Detail

withName

public FunctionBuilder withName(String name)
Set the name of the function type.


withSourceNode

public FunctionBuilder withSourceNode(Node sourceNode)
Set the source node of the function type.


withParams

public FunctionBuilder withParams(FunctionParamBuilder params)
Set the parameters of the function type from a FunctionParamBuilder.


withParamsNode

public FunctionBuilder withParamsNode(Node parametersNode)
Set the parameters of the function type with a specially-formatted node.


withReturnType

public FunctionBuilder withReturnType(JSType returnType)
Set the return type.


withReturnType

public FunctionBuilder withReturnType(JSType returnType,
                                      boolean inferred)
Set the return type and whether it's inferred.


withInferredReturnType

public FunctionBuilder withInferredReturnType(JSType returnType)
Sets an inferred return type.


withTypeOfThis

public FunctionBuilder withTypeOfThis(ObjectType typeOfThis)
Set the "this" type.


withTemplateName

public FunctionBuilder withTemplateName(String templateTypeName)
Set the template name.


forConstructor

public FunctionBuilder forConstructor()
Make this a constructor.


setIsConstructor

public FunctionBuilder setIsConstructor(boolean isConstructor)
Set whether this is a constructor.


copyFromOtherFunction

public FunctionBuilder copyFromOtherFunction(FunctionType otherType)
Copies all the information from another function type.


build

public FunctionType build()
Construct a new function type.