Class JSBuiltin

java.lang.Object
com.oracle.truffle.js.nodes.function.JSBuiltin
All Implemented Interfaces:
Builtin, JSFunctionData.CallTargetInitializer, JSFunctionData.Initializer

public final class JSBuiltin extends Object implements Builtin, JSFunctionData.CallTargetInitializer
  • Constructor Details

    • JSBuiltin

      public JSBuiltin(com.oracle.truffle.api.strings.TruffleString containerName, com.oracle.truffle.api.strings.TruffleString functionName, Object key, int length, int attributeFlags, int ecmaScriptVersion, boolean annexB, BuiltinNodeFactory functionNodeFactory, BuiltinNodeFactory constructorNodeFactory, BuiltinNodeFactory newTargetConstructorFactory, boolean isOptional)
    • JSBuiltin

      public JSBuiltin(com.oracle.truffle.api.strings.TruffleString containerName, com.oracle.truffle.api.strings.TruffleString name, int length, int flags, BuiltinNodeFactory functionNodeFactory)
  • Method Details

    • getName

      public com.oracle.truffle.api.strings.TruffleString getName()
      Returns the simple name of the built-in. A simple name is the name of the corresponding function, i.e., sort for Array.prototype.sort built-in.
      Specified by:
      getName in interface Builtin
      Returns:
      simple name of the built-in.
    • getFullName

      public com.oracle.truffle.api.strings.TruffleString getFullName()
      Returns the "fully-qualified" name of the built-in. The "fully-qualified" name contains also the name of the owner/holder of the built-in (Array.prototype.sort, for example).
      Returns:
      "fully-qualified" name of the built-in.
    • getKey

      public Object getKey()
      Specified by:
      getKey in interface Builtin
    • getLength

      public int getLength()
      Specified by:
      getLength in interface Builtin
    • isConstructor

      public boolean isConstructor()
    • hasSeparateConstructor

      public boolean hasSeparateConstructor()
    • hasNewTargetConstructor

      public boolean hasNewTargetConstructor()
    • getECMAScriptVersion

      public int getECMAScriptVersion()
      Specified by:
      getECMAScriptVersion in interface Builtin
    • isAnnexB

      public boolean isAnnexB()
      Specified by:
      isAnnexB in interface Builtin
    • getAttributeFlags

      public int getAttributeFlags()
      Specified by:
      getAttributeFlags in interface Builtin
    • isConfigurable

      public boolean isConfigurable()
      Specified by:
      isConfigurable in interface Builtin
    • isWritable

      public boolean isWritable()
      Specified by:
      isWritable in interface Builtin
    • isEnumerable

      public boolean isEnumerable()
      Specified by:
      isEnumerable in interface Builtin
    • isGetter

      public boolean isGetter()
      Specified by:
      isGetter in interface Builtin
    • isSetter

      public boolean isSetter()
      Specified by:
      isSetter in interface Builtin
    • isOptional

      public boolean isOptional()
      Specified by:
      isOptional in interface Builtin
    • getSourceSection

      public static com.oracle.truffle.api.source.SourceSection getSourceSection()
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • createFunctionData

      public JSFunctionData createFunctionData(JSContext context)
      Specified by:
      createFunctionData in interface Builtin
    • createSourceSection

      public static com.oracle.truffle.api.source.SourceSection createSourceSection()
    • initializeRoot

      public void initializeRoot(JSFunctionData functionData)
      Specified by:
      initializeRoot in interface JSFunctionData.CallTargetInitializer
      Specified by:
      initializeRoot in interface JSFunctionData.Initializer
    • initializeCallTarget

      public void initializeCallTarget(JSFunctionData functionData, JSFunctionData.Target target, com.oracle.truffle.api.CallTarget callTarget)
      Specified by:
      initializeCallTarget in interface JSFunctionData.CallTargetInitializer