Args are the children nodes to the current node.
Flags store metadata/primitive data in an Iridium node. These nodes cannot store other Iridium S-Expressions.
Tag specifics the S-Expression Type.
This method is used to squish the Iridium Code into an array which can be easily stored on disk.
Nested Array of Iridium S-Expressions.
StaticdumpGiven a serialized array of Iridium code, pretty prints it for debugging
The array produced by serialize()
Indicating the traversal depth
An object to track the current index during recursion
Remarks
For calls that pass a dynamic number of arguments
ConstructorCall: Note that callee is duplicated, ctx is never used
JSDirectEval: Note that the ctx object is ignored as it is not required by eval.
Structure
ARG(Callee): The method to be called.ARG(Context): Thethiscontext to be provided.ARG(ArgList): A JSArray containing the arguments to be passed.FLAG(ConstructorCall?): Contextual Call wherethisbinding is provided by the call site.FLAG(Super?): Call to the super constructor, is is used by the decorator to identify the call to the constructor...FLAG(JSDirectEval?: double): Marks the call as direct eval, i.e. in sloppy mode the evaled code can modify the enclosing environment.