third_party/closure-compiler/src/src/com/google/javascript/rhino/jstype/JSTypeRegistry.java
/**
   * Creates an interface function type.
   *
   * @param name the function's name
   * @param source the node defining this function. Its type ({@link Node#getToken()}) must be
   *     {@link Token#FUNCTION}.
   * @param templateKeys the templatized types for the interface.
   */
Creates an interface function type.
@param name the function's name
@param source the node defining this function. Its type ( Node#getToken()) must be
Token#FUNCTION.
@param templateKeys the templatized types for the interface.
Creates an interface function type . @param name the function ' s name @param source the node defining this function . Its type ( Node#getToken () ) must be Token#FUNCTION . @param templateKeys the templatized types for the interface .
public FunctionType createInterfaceType(
      String name, Node source, ImmutableList<TemplateType> templateKeys, boolean struct) {
    FunctionType fn =
        FunctionType.builder(this)
            .forInterface()
            .withName(name)
            .withSourceNode(source)
            .withEmptyParams()
            .withTemplateKeys((templateKeys == null) ? ImmutableList.of() : templateKeys)
            .build();
    if (struct) {
      fn.setStruct();
    }
    return fn;
  }
public FunctionType createInterfaceType ( String name , Node source , ImmutableList < TemplateType > templateKeys , boolean struct ) { FunctionType fn = FunctionType . builder ( this ) . forInterface ( ) . withName ( name ) . withSourceNode ( source ) . withEmptyParams ( ) . withTemplateKeys ( ( templateKeys == null ) ? ImmutableList . of ( ) : templateKeys ) . build ( ) ; if ( struct ) { fn . setStruct ( ) ; } return fn ; }
Creates an interface function type.
Creates an interface function type .