iridium - v0.9a
    Preparing search index...

    JSImplicitBindingDecl is a way to add and initialize implicit bindings to an environment.

    • The bindings that are contained in square brackets are bindings introduced by Iridium, and do not map to any identifiers created by the user.

    • The bindings arguments and this correspond to the actual bindings visible to user.

    1. arguments: Declares and initializes the arguments object (see: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/arguments).

    2. arguments: Declares and initializes the mapped arguments object (see: https://medium.com/@dozie22/arguments-object-in-javascript-cf8203d92ab7).

    3. <this_func>: Declares and initializes the <this_func> special object; the prototype of this object is used to call the super class constructor.

    4. <new_target>: Declares and initializes the <new_target> object; this can be used to check if the function was called as a constructor or not.

    5. <home_obj>: Declares and initializes the <home_obj> object; the prototype of this object is used to access the super class methods.

    6. <var_obj>: Declares and initializes the <var_obj> object; Not used currently.

    7. <module_meta>: Declares and initializes the <module_meta> (same as import.meta provided in the source code) object; It is generally used to get metadata such as filepath of the module/etc.

    8. <super_ctr>: Declares and stores the super() at <super_ctr>; takes (<this_func>) as an argument.

    9. <super_obj>: Declares and stores the super at <super_obj>; takes (<home_obj>) as an argument.

    10. this: Declares and initializes the this object (see: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/this).

    11. this: Declares and initializes it to NUBD (this initialization is needed in constructor functions with heritage).

    12. <ret>: Declares and initializes it to undefined.

    • ARG(Store): Location on stack where the result is stored (usually ResolveEnvBindingSEXP before transition).

    • ARG(Args): A ListSEXP, that can pass additional arguments to the initializer. An empty list by default.

    • FLAG(NAME): Name of the created binding.

    • FLAG(JSLET | JSCONST | JSVAR): The JSkind for the created binding.

    • FLAG(OPID): The Operation ID.

    • FLAG(SAFE): Indicates whether the writes being performed are safe.

    • FLAG(THISINIT): Indicates whether the write is being performed to this, in this case it will never be true but is kept around for implementation consistency during lowering.

    • FLAG(SLOPPY): Indicates whether the writes to target locations is sloppy.

    • FLAG(SKIPINIT): This flag is set by default, this ensures that the bindings declared are not initialized by the codegen at scope entry.

    Hierarchy (View Summary)

    Index

    Constructors

    Properties

    args: IridiumSEXP[] = []

    Args are the children nodes to the current node.

    flags: [string, IridiumPrimitives][] = []

    Flags store metadata/primitive data in an Iridium node. These nodes cannot store other Iridium S-Expressions.

    tag: string = "IridiumSEXP"

    Tag specifics the S-Expression Type.

    Methods

    • Parameters

      • flag: string

      Returns boolean

    • Parameters

      • flag: string

      Returns number

    • Parameters

      • flag: string

      Returns string

    • Returns string

    • Returns number

    • Parameters

      • flag: string

      Returns boolean

    • Returns boolean

    • Returns boolean

    • Returns boolean

    • Returns boolean

    • Returns void

    • Parameters

      • flag: string

      Returns void

    • This method is used to squish the Iridium Code into an array which can be easily stored on disk.

      Returns any[]

      Nested Array of Iridium S-Expressions.

    • Parameters

      Returns void

    • Parameters

      • name: string

      Returns void

    • Parameters

      • opid: number

      Returns void

    • Parameters

      • val: boolean

      Returns void

    • Returns void

    • Parameters

      Returns void

    • Parameters

      • val: boolean

      Returns void

    • Parameters

      • Optionalspace: number

      Returns string

    • Returns void