Jurassic Represents a generic delegate that all method calls pass through. For internal use only. The associated script engine. The value of the this keyword. The arguments that were passed to the function. The result of calling the method. Selects a method from a list of candidates and performs type conversion from actual argument type to formal argument type. Gets the name of the target methods. Gets the full name of the target methods, including the type name. Gets the maximum number of arguments of any of the target methods. Used to set the length property on the function. Calls the bound method. The associated script engine. The value of the this keyword. The arguments to pass to the function. The result of calling the method. Creates a delegate that does type conversion and calls the bound method. The number of arguments that will be passed to the delegate. A delegate that does type conversion and calls the method represented by this object. This method caches the result so calling CreateDelegate a second time with the same parameter count will be markedly quicker. Creates a delegate that does type conversion and calls the bound method. The number of arguments that will be passed to the delegate. A delegate that does type conversion and calls the method represented by this object. No caching of the result occurs. Generates a method that does type conversion and calls the bound method. The ILGenerator used to output the body of the method. The number of arguments that will be passed to the delegate. A delegate that does type conversion and calls the method represented by this object. Returns a textual representation of this object. A textual representation of this object. Represents a single method that a binder can call. Creates a new BinderMethod instance. The method to encapsulate. Initializes this instance. Gets a reference to the method. Implicitly cast an instance of this class to a MethodBase. The BinderMethod instance. A MethodBase instance. Gets the name of the method. Gets the type the method is declared on. Gets the type of value pushed onto the stack after calling this method. Gets the number of required parameters. Gets the number of optional parameters. Gets a value that indicates whether the last parameter is a ParamArray. Gets the type of element in the ParamArray array. Gets an array of method parameters. An array of ParameterInfo instances describing the method parameters. Determines if this method can be called with the given number of arguments. The desired number of arguments. true if this method can be called with the given number of arguments; false otherwise. Gets an enumerable list of argument objects, equal in size to . The number of arguments to return. An enumerable list of argument objects. Gets an enumerable list of argument objects, equal in size to while generating code to prepare those arguments for a method call. The number of arguments to return. The IL generator used to create an array if the method has a ParamArray parameter. An enumerable list of argument objects. Generates code to call the method. The IL generator. Returns a string representing this object. A string representing this object. Represents a single method argument. Gets the intended source of the argument. Gets the argument index, starting from zero. Only valid if Source is InputParameter. Gets the type of the argument. Gets a value that indicates whether this argument will be rolled up into an array. Gets a value that indicates whether this argument has a default value. Gets the default value for this argument. Gets an attribute instance of the given type, if it exists on the argument. The type of attribute to retrieve. An attribute instance, or null if the attribute does not exist on the argument. This class is intended only for internal use. Given a set of methods and a set of arguments, determines whether one of the methods can be unambiguously selected. Throws an exception if this is not the case. An array of handles to the candidate methods. The associated script engine. The value of the "this" keyword. An array of parameter values. The index of the selected method. Binds to a method group using pretty standard .NET rules. The main difference from the JSBinder is that the number of arguments must be correct. Additionally, it is possible to bind to overloaded methods with the same number of arguments. Creates a new ClrBinder instance. A method to bind to. Creates a new ClrBinder instance. An enumerable list of methods to bind to. Creates a new ClrBinder instance. An enumerable list of methods to bind to. Generates a method that does type conversion and calls the bound method. The ILGenerator used to output the body of the method. The number of arguments that will be passed to the delegate. A delegate that does type conversion and calls the method represented by this object. Pops the value on the stack, converts it from an object to the given type, then pushes the result onto the stack. The IL generator. The type to convert to. true if the value is intended for use as an instance pointer; false otherwise. Pops the value on the stack, converts it to an object, then pushes the result onto the stack. The IL generator. The type to convert from. Base class of field getter and setter binders. Creates a new FieldGetterBinder instance. The field. Gets the name of the target methods. Gets the full name of the target methods, including the type name. Retrieves the value of a field. Creates a new FieldGetterBinder instance. The field. Generates a method that does type conversion and calls the bound method. The ILGenerator used to output the body of the method. The number of arguments that will be passed to the delegate. A delegate that does type conversion and calls the method represented by this object. Sets the value of a field. Creates a new FieldSetterBinder instance. The field. Generates a method that does type conversion and calls the bound method. The ILGenerator used to output the body of the method. The number of arguments that will be passed to the delegate. A delegate that does type conversion and calls the method represented by this object. Binds to a method group using the default javascript rules (extra parameter values are ignored, missing parameter values are replaced with "undefined"). Creates a new JSBinder instance. An array of methods to bind to. Creates a new JSBinder instance. An enumerable list of methods to bind to. Generates a method that does type conversion and calls the bound method. The ILGenerator used to output the body of the method. The number of arguments that will be passed to the delegate. A delegate that does type conversion and calls the method represented by this object. Pops the value on the stack, converts it from one type to another, then pushes the result onto the stack. Undefined is converted to the given default value. The IL generator. The type to convert from. The type and default value of the target parameter. Pops the value on the stack, converts it from one type to another, then pushes the result onto the stack. The IL generator. The type to convert from. The type to convert to. Pushes the result of converting undefined to the given type onto the stack. The IL generator. The type to convert to, and optionally a default value. Represents a single method that the JS function binder can call. Creates a new FunctionBinderMethod instance. The method to call. Flags that modify the binding process. Creates a new FunctionBinderMethod instance. Flags that modify the binding process. Gets the flags that were passed to the constructor. Gets a value that indicates whether the script engine should be passed as the first parameter. Always false for instance methods. Gets a value that indicates whether the "this" object should be passed as the first parameter (or the second parameter if HasEngineParameter is true). Always false for instance methods. Gets the type of the explicit "this" value passed to this method. Will be null if there is no explicit this value. Gets the maximum number of parameters that this method requires (excluding the implicit this parameter). Gets an array of method parameters. An array of ParameterInfo instances describing the method parameters. Gets an enumerable list of argument objects, equal in size to . The number of arguments to return. An enumerable list of argument objects. Selects a method from a list of candidates and performs type conversion from actual argument type to formal argument type. Creates a new Binder instance. A method to bind to. Creates a new Binder instance. An enumerable list of methods to bind to. At least one method must be provided. Every method must have the same name and declaring type. Gets the name of the target methods. Gets the full name of the target methods, including the type name. Gets the maximum number of arguments of any of the target methods. Used to set the length property on the function. Represents a line and column number in a source file. Creates a new SourceCodePosition instance. The line number. Must be greater than zero. The column number. Must be greater than zero. Gets the line number. Gets the column number. Represents a portion of source code. Creates a new SourceCodeSpan instance. The start line of this SourceCodeSpan. Must be greater than zero. The start column of this SourceCodeSpan. Must be greater than zero. The end line of this SourceCodeSpan. Must be greater than . The end column of this SourceCodeSpan. Must be greater than . Creates a new SourceCodeSpan instance. The start line and column of this SourceCodeSpan. The end line and column of this SourceCodeSpan. Gets the starting line number of this range. Gets the starting column number of this range. Gets the ending line number of this range. Gets the ending column number of this range. Outputs IL that converts between types. Pops the value on the stack, converts it to the given type, then pushes the result onto the stack. The IL generator. The type to convert from. The type to convert to. Pops the value on the stack, converts it to the given type, then pushes the result onto the stack. The IL generator. The type to convert from. The type to convert to. Information about the line number, function and path. Pops the value on the stack, converts it to the given type, then pushes the result onto the stack. The IL generator. The type to convert from. The type to convert to. The path of the javascript source file that is currently executing. The name of the currently executing function. The line number of the statement that is currently executing. Pops the value on the stack, converts it to a boolean, then pushes the boolean result onto the stack. The IL generator. The type to convert from. Pops the value on the stack, converts it to an integer, then pushes the integer result onto the stack. The IL generator. The type to convert from. Pops the value on the stack, converts it to an integer, then pushes the integer result onto the stack. Large numbers wrap (i.e. 4294967296 -> 0). The IL generator. The type to convert from. Pops the value on the stack, converts it to an unsigned integer, then pushes the integer result onto the stack. Large numbers wrap (i.e. 4294967296 -> 0). The IL generator. The type to convert from. Pops the value on the stack, converts it to a double, then pushes the double result onto the stack. The IL generator. The type to convert from. Pops the value on the stack, converts it to a string, then pushes the result onto the stack. The IL generator. The type to convert from. Pops the value on the stack, converts it to a concatenated string, then pushes the result onto the stack. The IL generator. The type to convert from. Pops the value on the stack, converts it to a javascript object, then pushes the result onto the stack. The IL generator. The type to convert from. Information about the line number, function and path. Pops the value on the stack, converts it to a javascript object, then pushes the result onto the stack. The IL generator. The type to convert from. The path of the javascript source file that is currently executing. The name of the currently executing function. The line number of the statement that is currently executing. Pops the value on the stack, converts it to a primitive value, then pushes the result onto the stack. The IL generator. The type to convert from. Specifies whether toString() or valueOf() should be preferred when converting to a primitive. Pops the value on the stack, converts it to an object, then pushes the result onto the stack. The IL generator. The type to convert from. Pops the value on the stack, converts it to a property key (either a symbol or a string), then pushes the result onto the stack. The IL generator. The type to convert from. Outputs IL for misc tasks. Emits undefined. The IL generator. Emits null. The IL generator. Emits a default value of the given type. The IL generator. The type of value to generate. Emits a dummy value of the given type. The IL generator. The type of value to generate. Emits a JavaScriptException. The IL generator. The type of error to generate, e.g. Error, RangeError, etc. The error message. Emits a JavaScriptException. The IL generator. The type of error to generate, e.g. Error, RangeError, etc. The error message. Information about the line number, function and path. Emits a JavaScriptException. The IL generator. The type of error to generate, e.g. Error, RangeError, etc. The error message. The path of the javascript source file that is currently executing. The name of the currently executing function. The line number of the statement that is currently executing. Emits the given value. Only possible for certain types. The IL generator. The value to emit. Pushes the value of the execution context onto the stack. The IL generator. Pushes a reference to the script engine onto the stack. The IL generator. Pushes the value of the this keyword onto the stack. The IL generator. Pushes a reference to the current function onto the stack. The IL generator. Pushes a reference to the 'new.target' value for the current function onto the stack. The IL generator. Pushes a reference to the array of argument values for the current function onto the stack. The IL generator. Represents a generator of CIL bytes. Gets a reference to the method that we are generating IL for. Emits a return statement and finalizes the generated code. Do not emit any more instructions after calling this method. Pops the value from the top of the stack. Duplicates the value on the top of the stack. Creates a label without setting its position. A new label. Defines the position of the given label. The label to define. Creates a label and sets its position. A new label. Unconditionally branches to the given label. The label to branch to. Branches to the given label if the value on the top of the stack is zero, false or null. The label to branch to. Branches to the given label if the value on the top of the stack is non-zero, true or non-null. The label to branch to. Branches to the given label if the value on the top of the stack is zero, false or null. The label to branch to. Branches to the given label if the value on the top of the stack is non-zero, true or non-null. The label to branch to. Branches to the given label if the value on the top of the stack is zero, false or null. The label to branch to. Branches to the given label if the value on the top of the stack is non-zero, true or non-null. The label to branch to. Branches to the given label if the two values on the top of the stack are equal. The label to branch to. Branches to the given label if the two values on the top of the stack are not equal. The label to branch to. Branches to the given label if the first value on the stack is greater than the second value on the stack. The label to branch to. Branches to the given label if the first value on the stack is greater than the second value on the stack. If the operands are integers then they are treated as if they are unsigned. If the operands are floating point numbers then a NaN value will trigger a branch. The label to branch to. Branches to the given label if the first value on the stack is greater than or equal to the second value on the stack. The label to branch to. Branches to the given label if the first value on the stack is greater than or equal to the second value on the stack. If the operands are integers then they are treated as if they are unsigned. If the operands are floating point numbers then a NaN value will trigger a branch. The label to branch to. Branches to the given label if the first value on the stack is less than the second value on the stack. The label to branch to. Branches to the given label if the first value on the stack is less than the second value on the stack. If the operands are integers then they are treated as if they are unsigned. If the operands are floating point numbers then a NaN value will trigger a branch. The label to branch to. Branches to the given label if the first value on the stack is less than or equal to the second value on the stack. The label to branch to. Branches to the given label if the first value on the stack is less than or equal to the second value on the stack. If the operands are integers then they are treated as if they are unsigned. If the operands are floating point numbers then a NaN value will trigger a branch. The label to branch to. Returns from the current method. A value is popped from the stack and used as the return value. Creates a jump table. A value is popped from the stack - this value indicates the index of the label in the array to jump to. A array of labels. Declares a new local variable. The type of the local variable. The name of the local variable. Can be null. A new local variable. Declares a new local variable. The type of the local variable. The name of the local variable. Can be null. A new local variable. Pushes the value of the given variable onto the stack. The variable whose value will be pushed. Pushes the address of the given variable onto the stack. The variable whose address will be pushed. Pops the value from the top of the stack and stores it in the given local variable. The variable to store the value. Pushes the value of the method argument with the given index onto the stack. The index of the argument to push onto the stack. Pops a value from the stack and stores it in the method argument with the given index. The index of the argument to store into. Retrieves a temporary variable with the given type, reusing a previous variable if possible. The type of variable to create. A temporary variable Retrieves a temporary variable with the given type, reusing a previous variable if possible. The type of variable to create. A temporary variable Indicates that the given temporary variable is no longer needed. The temporary variable created using CreateTemporaryVariable(). Pushes null onto the stack. Pushes a constant value onto the stack. The boolean to push onto the stack. Pushes a constant value onto the stack. The integer to push onto the stack. Pushes an unsigned constant value onto the stack. The integer to push onto the stack. Pushes a 64-bit constant value onto the stack. The 64-bit integer to push onto the stack. Pushes an unsigned 64-bit constant value onto the stack. The 64-bit integer to push onto the stack. Pushes a constant value onto the stack. The number to push onto the stack. Pushes a constant value onto the stack. The string to push onto the stack. Pushes a constant value onto the stack. The string to push onto the stack. Can be null. Pushes a constant value onto the stack. The enum value to push onto the stack. Pops two values from the stack, compares, then pushes 1 if the first argument is equal to the second, or 0 otherwise. Produces 0 if one or both of the arguments are NaN. Pops two values from the stack, compares, then pushes 1 if the first argument is greater than the second, or 0 otherwise. Produces 0 if one or both of the arguments are NaN. Pops two values from the stack, compares, then pushes 1 if the first argument is greater than the second, or 0 otherwise. Produces 1 if one or both of the arguments are NaN. Integers are considered to be unsigned. Pops two values from the stack, compares, then pushes 1 if the first argument is less than the second, or 0 otherwise. Produces 0 if one or both of the arguments are NaN. Pops two values from the stack, compares, then pushes 1 if the first argument is less than the second, or 0 otherwise. Produces 1 if one or both of the arguments are NaN. Integers are considered to be unsigned. Pops two values from the stack, adds them together, then pushes the result to the stack. Pops two values from the stack, subtracts the second from the first, then pushes the result to the stack. Pops two values from the stack, multiplies them together, then pushes the result to the stack. Pops two values from the stack, divides the first by the second, then pushes the result to the stack. Pops two values from the stack, divides the first by the second, then pushes the remainder to the stack. Pops a value from the stack, negates it, then pushes it back onto the stack. Pops two values from the stack, ANDs them together, then pushes the result to the stack. Pops two values from the stack, ORs them together, then pushes the result to the stack. Pops two values from the stack, XORs them together, then pushes the result to the stack. Pops a value from the stack, inverts it, then pushes the result to the stack. Pops two values from the stack, shifts the first to the left, then pushes the result to the stack. Pops two values from the stack, shifts the first to the right, then pushes the result to the stack. The sign bit is preserved. Pops two values from the stack, shifts the first to the right, then pushes the result to the stack. The sign bit is not preserved. Pops a value from the stack, converts it to an object reference, then pushes it back onto the stack. The type of value to box. This should be a value type. Pops a value from the stack, converts it to an object reference, then pushes it back onto the stack. The type of value to box. This should be a value type. Pops an object reference (representing a boxed value) from the stack, extracts the address, then pushes that address onto the stack. The type of the boxed value. This should be a value type. Pops an object reference (representing a boxed value) from the stack, extracts the address, then pushes that address onto the stack. The type of the boxed value. This should be a value type. Pops an object reference (representing a boxed value) from the stack, extracts the value, then pushes the value onto the stack. The type of the boxed value. This should be a value type. Pops an object reference (representing a boxed value) from the stack, extracts the value, then pushes the value onto the stack. The type of the boxed value. This should be a value type. Pops a value from the stack, converts it to a signed integer, then pushes it back onto the stack. Pops a value from the stack, converts it to an unsigned integer, then pushes it back onto the stack. Pops a value from the stack, converts it to a signed 64-bit integer, then pushes it back onto the stack. Pops a value from the stack, converts it to an unsigned 64-bit integer, then pushes it back onto the stack. Pops a value from the stack, converts it to a double, then pushes it back onto the stack. Pops an unsigned integer from the stack, converts it to a double, then pushes it back onto the stack. Pops the constructor arguments off the stack and creates a new instance of the object. The constructor that is used to initialize the object. Pops the method arguments off the stack, calls the given method, then pushes the result to the stack (if there was one). Identical to CallStatic() if the method is a static method (or is declared on a value type) or CallVirtual() otherwise. The method to call. Pops the method arguments off the stack, calls the given method, then pushes the result to the stack (if there was one). This operation can be used to call instance methods, but virtual overrides will not be called and a null check will not be performed at the callsite. The method to call. Pops the method arguments off the stack, calls the given method, then pushes the result to the stack (if there was one). This operation cannot be used to call static methods. Virtual overrides are obeyed and a null check is performed. The method to call. The method is static. Pushes the value of the given field onto the stack. The field whose value will be pushed. Pops a value off the stack and stores it in the given field. The field to modify. Pops an object off the stack, checks that the object inherits from or implements the given type, and pushes the object onto the stack if the check was successful or throws an InvalidCastException if the check failed. The type of the class the object inherits from or the interface the object implements. Changes the type of the value on the top of the stack, for the purpose of passing verification. Doesn't generate any IL instructions. The type to convert to. Pops an object off the stack, checks that the object inherits from or implements the given type, and pushes either the object (if the check was successful) or null (if the check failed) onto the stack. The type of the class the object inherits from or the interface the object implements. Pushes a RuntimeTypeHandle corresponding to the given type onto the evaluation stack. The type to convert to a RuntimeTypeHandle. Pushes a RuntimeMethodHandle corresponding to the given method onto the evaluation stack. The method to convert to a RuntimeMethodHandle. Pushes a RuntimeFieldHandle corresponding to the given field onto the evaluation stack. The type to convert to a RuntimeFieldHandle. Pushes a pointer to the native code implementing the given method onto the evaluation stack. The virtual qualifier will be ignored, if present. The method to retrieve a pointer for. Pushes a pointer to the native code implementing the given method onto the evaluation stack. This method cannot be used to retrieve a pointer to a static method. The method to retrieve a pointer for. The method is static. Pushes a pointer to the native code implementing the given method onto the evaluation stack. This method is identical to LoadStaticMethodPointer() if the method is a static method (or is declared on a value type) or LoadVirtualMethodPointer() otherwise. The method to retrieve a pointer for. Pops a managed or native pointer off the stack and initializes the referenced type with zeros. The type the pointer on the top of the stack is pointing to. Pops the size of the array off the stack and pushes a new array of the given type onto the stack. The element type. Pops the array and index off the stack and pushes the element value onto the stack. The element type. Pops the array and index off the stack and pushes the element value onto the stack. The element type. Pops the array, index and value off the stack and stores the value in the array. The element type. Pops the array, index and value off the stack and stores the value in the array. The element type. Pops an array off the stack and pushes the length of the array onto the stack. Pops an exception object off the stack and throws the exception. Re-throws the current exception. Begins a try-catch-finally block. After issuing this instruction any following instructions are conceptually within the try block. Ends a try-catch-finally block. Begins a catch block. BeginExceptionBlock() must have already been called. The type of exception to handle. Begins a finally block. BeginExceptionBlock() must have already been called. Begins a filter block. BeginExceptionBlock() must have already been called. Begins a fault block. BeginExceptionBlock() must have already been called. Unconditionally branches to the given label. Unlike the regular branch instruction, this instruction can exit out of try, filter and catch blocks. The label to branch to. This instruction can be used from within a finally block to resume the exception handling process. It is the only valid way of leaving a finally block. This instruction can be used from within a fault block to resume the exception handling process. It is the only valid way of leaving a fault block. This instruction can be used from within a filter block to indicate whether the exception will be handled. It pops an integer from the stack which should be 0 to continue searching for an exception handler or 1 to use the handler associated with the filter. EndFilter() must be called at the end of a filter block. Triggers a breakpoint in an attached debugger. Does nothing. Represents a label in IL code. Represents a label in IL code. Creates a new label instance. The underlying label. Gets the underlying label. Represents a local variable in CIL code. Gets the zero-based index of the local variable within the method body. Gets the type of the local variable. Gets the local variable name, or null if a name was not provided. Represents a local variable in CIL code. Creates a new local variable instance. The underlying local variable. The name of the local variable. Can be null. Gets the underlying local variable. Gets the zero-based index of the local variable within the method body. Gets the type of the local variable. Gets the local variable name, or null if a name was not provided. Represents a generator that logs all operations. Creates a new LoggingILGenerator instance. The ILGenerator that is used to output the IL. Gets a reference to the method that we are generating IL for. Emits a return statement and finalizes the generated code. Do not emit any more instructions after calling this method. Pops the value from the top of the stack. Duplicates the value on the top of the stack. Creates a label without setting its position. A new label. Defines the position of the given label. The label to define. Unconditionally branches to the given label. The label to branch to. Branches to the given label if the value on the top of the stack is zero. The label to branch to. Branches to the given label if the value on the top of the stack is non-zero, true or non-null. The label to branch to. Branches to the given label if the two values on the top of the stack are equal. The label to branch to. Branches to the given label if the two values on the top of the stack are not equal. The label to branch to. Branches to the given label if the first value on the stack is greater than the second value on the stack. The label to branch to. Branches to the given label if the first value on the stack is greater than the second value on the stack. If the operands are integers then they are treated as if they are unsigned. If the operands are floating point numbers then a NaN value will trigger a branch. The label to branch to. Branches to the given label if the first value on the stack is greater than or equal to the second value on the stack. The label to branch to. Branches to the given label if the first value on the stack is greater than or equal to the second value on the stack. If the operands are integers then they are treated as if they are unsigned. If the operands are floating point numbers then a NaN value will trigger a branch. The label to branch to. Branches to the given label if the first value on the stack is less than the second value on the stack. The label to branch to. Branches to the given label if the first value on the stack is less than the second value on the stack. If the operands are integers then they are treated as if they are unsigned. If the operands are floating point numbers then a NaN value will trigger a branch. The label to branch to. Branches to the given label if the first value on the stack is less than or equal to the second value on the stack. The label to branch to. Branches to the given label if the first value on the stack is less than or equal to the second value on the stack. If the operands are integers then they are treated as if they are unsigned. If the operands are floating point numbers then a NaN value will trigger a branch. The label to branch to. Returns from the current method. A value is popped from the stack and used as the return value. Creates a jump table. A value is popped from the stack - this value indicates the index of the label in the array to jump to. A array of labels. Declares a new local variable. The type of the local variable. The name of the local variable. Can be null. A new local variable. Pushes the value of the given variable onto the stack. The variable whose value will be pushed. Pushes the address of the given variable onto the stack. The variable whose address will be pushed. Pops the value from the top of the stack and stores it in the given local variable. The variable to store the value. Pushes the value of the method argument with the given index onto the stack. The index of the argument to push onto the stack. Pops a value from the stack and stores it in the method argument with the given index. The index of the argument to store into. Pushes null onto the stack. Pushes a constant value onto the stack. The integer to push onto the stack. Pushes a 64-bit constant value onto the stack. The 64-bit integer to push onto the stack. Pushes a constant value onto the stack. The number to push onto the stack. Pushes a constant value onto the stack. The string to push onto the stack. Pops two values from the stack, compares, then pushes 1 if the first argument is equal to the second, or 0 otherwise. Produces 0 if one or both of the arguments are NaN. Pops two values from the stack, compares, then pushes 1 if the first argument is greater than the second, or 0 otherwise. Produces 0 if one or both of the arguments are NaN. Pops two values from the stack, compares, then pushes 1 if the first argument is greater than the second, or 0 otherwise. Produces 1 if one or both of the arguments are NaN. Integers are considered to be unsigned. Pops two values from the stack, compares, then pushes 1 if the first argument is less than the second, or 0 otherwise. Produces 0 if one or both of the arguments are NaN. Pops two values from the stack, compares, then pushes 1 if the first argument is less than the second, or 0 otherwise. Produces 1 if one or both of the arguments are NaN. Integers are considered to be unsigned. Pops two values from the stack, adds them together, then pushes the result to the stack. Pops two values from the stack, subtracts the second from the first, then pushes the result to the stack. Pops two values from the stack, multiplies them together, then pushes the result to the stack. Pops two values from the stack, divides the first by the second, then pushes the result to the stack. Pops two values from the stack, divides the first by the second, then pushes the remainder to the stack. Pops a value from the stack, negates it, then pushes it back onto the stack. Pops two values from the stack, ANDs them together, then pushes the result to the stack. Pops two values from the stack, ORs them together, then pushes the result to the stack. Pops two values from the stack, XORs them together, then pushes the result to the stack. Pops a value from the stack, inverts it, then pushes the result to the stack. Pops two values from the stack, shifts the first to the left, then pushes the result to the stack. Pops two values from the stack, shifts the first to the right, then pushes the result to the stack. The sign bit is preserved. Pops two values from the stack, shifts the first to the right, then pushes the result to the stack. The sign bit is not preserved. Pops a value from the stack, converts it to an object reference, then pushes it back onto the stack. Pops an object reference (representing a boxed value) from the stack, extracts the address, then pushes that address onto the stack. The type of the boxed value. This should be a value type. Pops an object reference (representing a boxed value) from the stack, extracts the value, then pushes the value onto the stack. The type of the boxed value. This should be a value type. Pops a value from the stack, converts it to a signed integer, then pushes it back onto the stack. Pops a value from the stack, converts it to an unsigned integer, then pushes it back onto the stack. Pops a value from the stack, converts it to a signed 64-bit integer, then pushes it back onto the stack. Pops a value from the stack, converts it to an unsigned 64-bit integer, then pushes it back onto the stack. Pops a value from the stack, converts it to a double, then pushes it back onto the stack. Pops an unsigned integer from the stack, converts it to a double, then pushes it back onto the stack. Pops the constructor arguments off the stack and creates a new instance of the object. The constructor that is used to initialize the object. Pops the method arguments off the stack, calls the given method, then pushes the result to the stack (if there was one). This operation can be used to call instance methods, but virtual overrides will not be called and a null check will not be performed at the callsite. The method to call. Pops the method arguments off the stack, calls the given method, then pushes the result to the stack (if there was one). This operation cannot be used to call static methods. Virtual overrides are obeyed and a null check is performed. The method to call. The method is static. Pushes the value of the given field onto the stack. The field whose value will be pushed. Pops a value off the stack and stores it in the given field. The field to modify. Pops an object off the stack, checks that the object inherits from or implements the given type, and pushes the object onto the stack if the check was successful or throws an InvalidCastException if the check failed. The type of the class the object inherits from or the interface the object implements. Pops an object off the stack, checks that the object inherits from or implements the given type, and pushes either the object (if the check was successful) or null (if the check failed) onto the stack. The type of the class the object inherits from or the interface the object implements. Pushes a RuntimeTypeHandle corresponding to the given type onto the evaluation stack. The type to convert to a RuntimeTypeHandle. Pushes a RuntimeMethodHandle corresponding to the given method onto the evaluation stack. The method to convert to a RuntimeMethodHandle. Pushes a RuntimeFieldHandle corresponding to the given field onto the evaluation stack. The type to convert to a RuntimeFieldHandle. Pushes a pointer to the native code implementing the given method onto the evaluation stack. The virtual qualifier will be ignored, if present. The method to retrieve a pointer for. Pushes a pointer to the native code implementing the given method onto the evaluation stack. This method cannot be used to retrieve a pointer to a static method. The method to retrieve a pointer for. The method is static. Pops a managed or native pointer off the stack and initializes the referenced type with zeros. The type the pointer on the top of the stack is pointing to. Pops the size of the array off the stack and pushes a new array of the given type onto the stack. The element type. Pops the array and index off the stack and pushes the element value onto the stack. The element type. Pops the array, index and value off the stack and stores the value in the array. The element type. Pops an array off the stack and pushes the length of the array onto the stack. Pops an exception object off the stack and throws the exception. Rethrows the current exception. Begins a try-catch-finally block. After issuing this instruction any following instructions are conceptually within the try block. Ends a try-catch-finally block. BeginExceptionBlock() must have already been called. Begins a catch block. BeginExceptionBlock() must have already been called. The type of exception to handle. Begins a finally block. BeginExceptionBlock() must have already been called. Begins a filter block. BeginExceptionBlock() must have already been called. Begins a fault block. BeginExceptionBlock() must have already been called. Unconditionally branches to the given label. Unlike the regular branch instruction, this instruction can exit out of try, filter and catch blocks. The label to branch to. This instruction can be used from within a finally block to resume the exception handling process. It is the only valid way of leaving a finally block. This instruction can be used from within a filter block to indicate whether the exception will be handled. It pops an integer from the stack which should be 0 to continue searching for an exception handler or 1 to use the handler associated with the filter. EndFilter() must be called at the end of a filter block. Triggers a breakpoint in an attached debugger. Does nothing. Converts the object to a string. A string containing the IL generated by this object. Outputs an instruction to the log. The instruction to output. Outputs an instruction and a label to the log. The instruction to output. The label to output. Outputs an instruction and a number of labels to the log. The instruction to output. The labels to output. Appends the name of a label to the log. The label to convert. A string representation of the label. Outputs an instruction and a variable to the log. The instruction to output. The variable to output. Outputs an instruction and an integer to the log. The instruction to output. The integer to output. Outputs an instruction and a 64-bit integer to the log. The instruction to output. The 64-bit integer to output. Outputs an instruction and a floating-point value to the log. The instruction to output. The floating-point vaue to output. Outputs an instruction and a string literal to the log. The instruction to output. The string literal to output. Outputs an instruction and a type to the log. The instruction to output. The type to output. Outputs an instruction and a method to the log. The instruction to output. The method to output. Outputs an instruction and a field to the log. The instruction to output. The field to output. Outputs an instruction and a constructor to the log. The instruction to output. The constructor to output. Outputs an instruction and an arbitrary suffix to the log. The instruction to output. A suffix to output. Outputs arbitrary text to the log. The text to output. Represents a generator of CIL bytes. Creates a new ReflectionEmitILGenerator instance from a DynamicMethod. The DynamicMethod to emit IL for. Indicates whether to emit debugging information, like symbol names. Gets a reference to the method that we are generating IL for. Emits a return statement and finalizes the generated code. Do not emit any more instructions after calling this method. Pops the value from the top of the stack. Duplicates the value on the top of the stack. Creates a label without setting its position. A new label. Defines the position of the given label. The label to define. Unconditionally branches to the given label. The label to branch to. Branches to the given label if the value on the top of the stack is zero. The label to branch to. Branches to the given label if the value on the top of the stack is non-zero, true or non-null. The label to branch to. Branches to the given label if the two values on the top of the stack are equal. The label to branch to. Branches to the given label if the two values on the top of the stack are not equal. The label to branch to. Branches to the given label if the first value on the stack is greater than the second value on the stack. The label to branch to. Branches to the given label if the first value on the stack is greater than the second value on the stack. If the operands are integers then they are treated as if they are unsigned. If the operands are floating point numbers then a NaN value will trigger a branch. The label to branch to. Branches to the given label if the first value on the stack is greater than or equal to the second value on the stack. The label to branch to. Branches to the given label if the first value on the stack is greater than or equal to the second value on the stack. If the operands are integers then they are treated as if they are unsigned. If the operands are floating point numbers then a NaN value will trigger a branch. The label to branch to. Branches to the given label if the first value on the stack is less than the second value on the stack. The label to branch to. Branches to the given label if the first value on the stack is less than the second value on the stack. If the operands are integers then they are treated as if they are unsigned. If the operands are floating point numbers then a NaN value will trigger a branch. The label to branch to. Branches to the given label if the first value on the stack is less than or equal to the second value on the stack. The label to branch to. Branches to the given label if the first value on the stack is less than or equal to the second value on the stack. If the operands are integers then they are treated as if they are unsigned. If the operands are floating point numbers then a NaN value will trigger a branch. The label to branch to. Returns from the current method. A value is popped from the stack and used as the return value. Creates a jump table. A value is popped from the stack - this value indicates the index of the label in the array to jump to. A array of labels. Declares a new local variable. The type of the local variable. The name of the local variable. Can be null. A new local variable. Pushes the value of the given variable onto the stack. The variable whose value will be pushed. Pushes the address of the given variable onto the stack. The variable whose address will be pushed. Pops the value from the top of the stack and stores it in the given local variable. The variable to store the value. Pushes the value of the method argument with the given index onto the stack. The index of the argument to push onto the stack. Pops a value from the stack and stores it in the method argument with the given index. The index of the argument to store into. Pushes null onto the stack. Pushes a constant value onto the stack. The integer to push onto the stack. Pushes a 64-bit constant value onto the stack. The 64-bit integer to push onto the stack. Pushes a constant value onto the stack. The number to push onto the stack. Pushes a constant value onto the stack. The string to push onto the stack. Pops two values from the stack, compares, then pushes 1 if the first argument is equal to the second, or 0 otherwise. Produces 0 if one or both of the arguments are NaN. Pops two values from the stack, compares, then pushes 1 if the first argument is greater than the second, or 0 otherwise. Produces 0 if one or both of the arguments are NaN. Pops two values from the stack, compares, then pushes 1 if the first argument is greater than the second, or 0 otherwise. Produces 1 if one or both of the arguments are NaN. Integers are considered to be unsigned. Pops two values from the stack, compares, then pushes 1 if the first argument is less than the second, or 0 otherwise. Produces 0 if one or both of the arguments are NaN. Pops two values from the stack, compares, then pushes 1 if the first argument is less than the second, or 0 otherwise. Produces 1 if one or both of the arguments are NaN. Integers are considered to be unsigned. Pops two values from the stack, adds them together, then pushes the result to the stack. Pops two values from the stack, subtracts the second from the first, then pushes the result to the stack. Pops two values from the stack, multiplies them together, then pushes the result to the stack. Pops two values from the stack, divides the first by the second, then pushes the result to the stack. Pops two values from the stack, divides the first by the second, then pushes the remainder to the stack. Pops a value from the stack, negates it, then pushes it back onto the stack. Pops two values from the stack, ANDs them together, then pushes the result to the stack. Pops two values from the stack, ORs them together, then pushes the result to the stack. Pops two values from the stack, XORs them together, then pushes the result to the stack. Pops a value from the stack, inverts it, then pushes the result to the stack. Pops two values from the stack, shifts the first to the left, then pushes the result to the stack. Pops two values from the stack, shifts the first to the right, then pushes the result to the stack. The sign bit is preserved. Pops two values from the stack, shifts the first to the right, then pushes the result to the stack. The sign bit is not preserved. Pops a value from the stack, converts it to an object reference, then pushes it back onto the stack. Pops an object reference (representing a boxed value) from the stack, extracts the address, then pushes that address onto the stack. The type of the boxed value. This should be a value type. Pops an object reference (representing a boxed value) from the stack, extracts the value, then pushes the value onto the stack. The type of the boxed value. This should be a value type. Pops a value from the stack, converts it to a signed integer, then pushes it back onto the stack. Pops a value from the stack, converts it to an unsigned integer, then pushes it back onto the stack. Pops a value from the stack, converts it to a signed 64-bit integer, then pushes it back onto the stack. Pops a value from the stack, converts it to an unsigned 64-bit integer, then pushes it back onto the stack. Pops a value from the stack, converts it to a double, then pushes it back onto the stack. Pops an unsigned integer from the stack, converts it to a double, then pushes it back onto the stack. Pops the constructor arguments off the stack and creates a new instance of the object. The constructor that is used to initialize the object. Pops the method arguments off the stack, calls the given method, then pushes the result to the stack (if there was one). This operation can be used to call instance methods, but virtual overrides will not be called and a null check will not be performed at the callsite. The method to call. Pops the method arguments off the stack, calls the given method, then pushes the result to the stack (if there was one). This operation cannot be used to call static methods. Virtual overrides are obeyed and a null check is performed. The method to call. The method is static. Pushes the value of the given field onto the stack. The field whose value will be pushed. Pops a value off the stack and stores it in the given field. The field to modify. Pops an object off the stack, checks that the object inherits from or implements the given type, and pushes the object onto the stack if the check was successful or throws an InvalidCastException if the check failed. The type of the class the object inherits from or the interface the object implements. Pops an object off the stack, checks that the object inherits from or implements the given type, and pushes either the object (if the check was successful) or null (if the check failed) onto the stack. The type of the class the object inherits from or the interface the object implements. Pushes a RuntimeTypeHandle corresponding to the given type onto the evaluation stack. The type to convert to a RuntimeTypeHandle. Pushes a RuntimeMethodHandle corresponding to the given method onto the evaluation stack. The method to convert to a RuntimeMethodHandle. Pushes a RuntimeFieldHandle corresponding to the given field onto the evaluation stack. The type to convert to a RuntimeFieldHandle. Pushes a pointer to the native code implementing the given method onto the evaluation stack. The virtual qualifier will be ignored, if present. The method to retrieve a pointer for. Pushes a pointer to the native code implementing the given method onto the evaluation stack. This method cannot be used to retrieve a pointer to a static method. The method to retrieve a pointer for. The method is static. Pops a managed or native pointer off the stack and initializes the referenced type with zeros. The type the pointer on the top of the stack is pointing to. Pops the size of the array off the stack and pushes a new array of the given type onto the stack. The element type. Pops the array and index off the stack and pushes the element value onto the stack. The element type. Pops the array, index and value off the stack and stores the value in the array. The element type. Pops an array off the stack and pushes the length of the array onto the stack. Pops an exception object off the stack and throws the exception. Rethrows the current exception. Begins a try-catch-finally block. After issuing this instruction any following instructions are conceptually within the try block. Ends a try-catch-finally block. BeginExceptionBlock() must have already been called. Begins a catch block. BeginExceptionBlock() must have already been called. The type of exception to handle. Begins a finally block. BeginExceptionBlock() must have already been called. Begins a filter block. BeginExceptionBlock() must have already been called. Begins a fault block. BeginExceptionBlock() must have already been called. Unconditionally branches to the given label. Unlike the regular branch instruction, this instruction can exit out of try, filter and catch blocks. The label to branch to. This instruction can be used from within a finally block to resume the exception handling process. It is the only valid way of leaving a finally block. This instruction can be used from within a filter block to indicate whether the exception will be handled. It pops an integer from the stack which should be 0 to continue searching for an exception handler or 1 to use the handler associated with the filter. EndFilter() must be called at the end of a filter block. Triggers a breakpoint in an attached debugger. Does nothing. Represents a generator that checks commands for correctness. Creates a new LoggingILGenerator instance. The ILGenerator that is used to output the IL. Gets a reference to the method that we are generating IL for. Emits a return statement and finalizes the generated code. Do not emit any more instructions after calling this method. Pops the value from the top of the stack. Duplicates the value on the top of the stack. Creates a label without setting its position. A new label. Defines the position of the given label. The label to define. Unconditionally branches to the given label. The label to branch to. Branches to the given label if the value on the top of the stack is zero. The label to branch to. Branches to the given label if the value on the top of the stack is non-zero, true or non-null. The label to branch to. Branches to the given label if the two values on the top of the stack are equal. The label to branch to. Branches to the given label if the two values on the top of the stack are not equal. The label to branch to. Branches to the given label if the first value on the stack is greater than the second value on the stack. The label to branch to. Branches to the given label if the first value on the stack is greater than the second value on the stack. If the operands are integers then they are treated as if they are unsigned. If the operands are floating point numbers then a NaN value will trigger a branch. The label to branch to. Branches to the given label if the first value on the stack is greater than or equal to the second value on the stack. The label to branch to. Branches to the given label if the first value on the stack is greater than or equal to the second value on the stack. If the operands are integers then they are treated as if they are unsigned. If the operands are floating point numbers then a NaN value will trigger a branch. The label to branch to. Branches to the given label if the first value on the stack is less than the second value on the stack. The label to branch to. Branches to the given label if the first value on the stack is less than the second value on the stack. If the operands are integers then they are treated as if they are unsigned. If the operands are floating point numbers then a NaN value will trigger a branch. The label to branch to. Branches to the given label if the first value on the stack is less than or equal to the second value on the stack. The label to branch to. Branches to the given label if the first value on the stack is less than or equal to the second value on the stack. If the operands are integers then they are treated as if they are unsigned. If the operands are floating point numbers then a NaN value will trigger a branch. The label to branch to. Branches to the given label if the value on the top of the stack is zero, false or null. The label to branch to. Branches to the given label if the value on the top of the stack is non-zero, true or non-null. The label to branch to. Branches to the given label if the value on the top of the stack is zero, false or null. The label to branch to. Branches to the given label if the value on the top of the stack is non-zero, true or non-null. The label to branch to. Returns from the current method. A value is popped from the stack and used as the return value. Creates a jump table. A value is popped from the stack - this value indicates the index of the label in the array to jump to. A array of labels. Declares a new local variable. The type of the local variable. The name of the local variable. Can be null. A new local variable. Pushes the value of the given variable onto the stack. The variable whose value will be pushed. Pushes the address of the given variable onto the stack. The variable whose address will be pushed. Pops the value from the top of the stack and stores it in the given local variable. The variable to store the value. Pushes the value of the method argument with the given index onto the stack. The index of the argument to push onto the stack. Pops a value from the stack and stores it in the method argument with the given index. The index of the argument to store into. Pushes null onto the stack. Pushes a constant value onto the stack. The boolean to push onto the stack. Pushes a constant value onto the stack. The integer to push onto the stack. Pushes a 64-bit constant value onto the stack. The 64-bit integer to push onto the stack. Pushes a constant value onto the stack. The number to push onto the stack. Pushes a constant value onto the stack. The string to push onto the stack. Pushes a constant value onto the stack. The enum value to push onto the stack. Pops two values from the stack, compares, then pushes 1 if the first argument is equal to the second, or 0 otherwise. Produces 0 if one or both of the arguments are NaN. Pops two values from the stack, compares, then pushes 1 if the first argument is greater than the second, or 0 otherwise. Produces 0 if one or both of the arguments are NaN. Pops two values from the stack, compares, then pushes 1 if the first argument is greater than the second, or 0 otherwise. Produces 1 if one or both of the arguments are NaN. Integers are considered to be unsigned. Pops two values from the stack, compares, then pushes 1 if the first argument is less than the second, or 0 otherwise. Produces 0 if one or both of the arguments are NaN. Pops two values from the stack, compares, then pushes 1 if the first argument is less than the second, or 0 otherwise. Produces 1 if one or both of the arguments are NaN. Integers are considered to be unsigned. Pops two values from the stack, adds them together, then pushes the result to the stack. Pops two values from the stack, subtracts the second from the first, then pushes the result to the stack. Pops two values from the stack, multiplies them together, then pushes the result to the stack. Pops two values from the stack, divides the first by the second, then pushes the result to the stack. Pops two values from the stack, divides the first by the second, then pushes the remainder to the stack. Pops a value from the stack, negates it, then pushes it back onto the stack. Pops two values from the stack, ANDs them together, then pushes the result to the stack. Pops two values from the stack, ORs them together, then pushes the result to the stack. Pops two values from the stack, XORs them together, then pushes the result to the stack. Pops a value from the stack, inverts it, then pushes the result to the stack. Pops two values from the stack, shifts the first to the left, then pushes the result to the stack. Pops two values from the stack, shifts the first to the right, then pushes the result to the stack. The sign bit is preserved. Pops two values from the stack, shifts the first to the right, then pushes the result to the stack. The sign bit is not preserved. Pops a value from the stack, converts it to an object reference, then pushes it back onto the stack. Pops an object reference (representing a boxed value) from the stack, extracts the address, then pushes that address onto the stack. The type of the boxed value. This should be a value type. Pops an object reference (representing a boxed value) from the stack, extracts the value, then pushes the value onto the stack. The type of the boxed value. This should be a value type. Pops a value from the stack, converts it to a signed integer, then pushes it back onto the stack. Pops a value from the stack, converts it to an unsigned integer, then pushes it back onto the stack. Pops a value from the stack, converts it to a signed 64-bit integer, then pushes it back onto the stack. Pops a value from the stack, converts it to an unsigned 64-bit integer, then pushes it back onto the stack. Pops a value from the stack, converts it to a double, then pushes it back onto the stack. Pops an unsigned integer from the stack, converts it to a double, then pushes it back onto the stack. Pops the constructor arguments off the stack and creates a new instance of the object. The constructor that is used to initialize the object. Pops the method arguments off the stack, calls the given method, then pushes the result to the stack (if there was one). This operation can be used to call instance methods, but virtual overrides will not be called and a null check will not be performed at the callsite. The method to call. Pops the method arguments off the stack, calls the given method, then pushes the result to the stack (if there was one). This operation cannot be used to call static methods. Virtual overrides are obeyed and a null check is performed. The method to call. The method is static. Pushes the value of the given field onto the stack. The field whose value will be pushed. Pops a value off the stack and stores it in the given field. The field to modify. Pops an object off the stack, checks that the object inherits from or implements the given type, and pushes the object onto the stack if the check was successful or throws an InvalidCastException if the check failed. The type of the class the object inherits from or the interface the object implements. Changes the type of the value on the top of the stack, for the purpose of passing verification. Doesn't generate any IL instructions. The type to convert to. Pops an object off the stack, checks that the object inherits from or implements the given type, and pushes either the object (if the check was successful) or null (if the check failed) onto the stack. The type of the class the object inherits from or the interface the object implements. Pushes a RuntimeTypeHandle corresponding to the given type onto the evaluation stack. The type to convert to a RuntimeTypeHandle. Pushes a RuntimeMethodHandle corresponding to the given method onto the evaluation stack. The method to convert to a RuntimeMethodHandle. Pushes a RuntimeFieldHandle corresponding to the given field onto the evaluation stack. The type to convert to a RuntimeFieldHandle. Pushes a pointer to the native code implementing the given method onto the evaluation stack. The virtual qualifier will be ignored, if present. The method to retrieve a pointer for. Pushes a pointer to the native code implementing the given method onto the evaluation stack. This method cannot be used to retrieve a pointer to a static method. The method to retrieve a pointer for. The method is static. Pops a managed or native pointer off the stack and initializes the referenced type with zeros. The type the pointer on the top of the stack is pointing to. Pops the size of the array off the stack and pushes a new array of the given type onto the stack. The element type. Pops the array and index off the stack and pushes the element value onto the stack. The element type. Pops the array, index and value off the stack and stores the value in the array. The element type. Pops an array off the stack and pushes the length of the array onto the stack. Pops an exception object off the stack and throws the exception. Rethrows the current exception. Begins a try-catch-finally block. After issuing this instruction any following instructions are conceptually within the try block. Ends a try-catch-finally block. BeginExceptionBlock() must have already been called. Begins a catch block. BeginExceptionBlock() must have already been called. The type of exception to handle. Begins a finally block. BeginExceptionBlock() must have already been called. Begins a filter block. BeginExceptionBlock() must have already been called. Begins a fault block. BeginExceptionBlock() must have already been called. Unconditionally branches to the given label. Unlike the regular branch instruction, this instruction can exit out of try, filter and catch blocks. The label to branch to. This instruction can be used from within a finally block to resume the exception handling process. It is the only valid way of leaving a finally block. This instruction can be used from within a filter block to indicate whether the exception will be handled. It pops an integer from the stack which should be 0 to continue searching for an exception handler or 1 to use the handler associated with the filter. EndFilter() must be called at the end of a filter block. Triggers a breakpoint in an attached debugger. Does nothing. Converts the object to a string. A string containing the IL generated by this object. Represents a label in IL code. Creates a new label instance. The underlying label. Gets the underlying label. A copy of the stack at the point the flow branched. Indicates whether the label has been marked. This must be done once and only once. Used internally to allow branching out of a finally block. Creates a new LongJumpException instance. The route ID. Gets the route ID. Represents information useful for optimizing a method. Called by the parser whenever a variable is encountered (variable being any identifier which is not a property name). The variable name. Determines if the parser encountered the given variable name while parsing the function, or if the function contains a reference to "eval" or the function contains nested functions which may reference the variable. The variable name. true if the parser encountered the given variable name or "eval" while parsing the function; false otherwise. Gets a value that indicates whether the function being generated contains a reference to the arguments object. Gets a value that indicates whether the function being generated contains an eval statement. Caches the HasEval and HasArguments property access. Gets or sets a value that indicates whether the function being generated contains a nested function declaration or expression. Gets or sets a value that indicates whether the function being generated contains a reference to the "this" keyword. Represents information about one or more code generation optimizations. Creates a new OptimizationInfo instance. Gets or sets the root of the abstract syntax tree that is being compiled. Gets or sets a value that indicates whether strict mode is enabled. Gets or sets the source of javascript code. Gets or sets the name of the function that is being generated. Gets the portion of source code associated with the statement that code is being generated for. Emits a sequence point, and sets the SourceSpan property. The IL generator used to emit the sequence point. The source code span. Gets a list of generated methods that correspond to nested functions. This list is maintained so that the garbage collector does not prematurely collect the generated code for the nested functions. Gets or sets function optimization information. Gets a value that indicates whether the declarative scopes should be optimized away, so that the scope is not even created at runtime. Indicates that the given expression can choose to not generate a return value. Indicates whether the return value was generated. Gets or sets the local variable to store the result of the eval() call. Will be null if code is being generated outside an eval context. Retrieves a variable that can be used to store a property name referencing a global variable. The IL generator used to create the variable. The name of the global variable. A variable. Retrieves a variable that can be used to store a property name referencing an object property. The IL generator used to create the variable. The name of the property. A variable. Retrieves a variable that can be used to store a shared instance of a regular expression. The IL generator used to create the variable. The regular expression literal. A varaible that can be used to store a shared instance of a regular expression. Gets or sets the label the return statement should jump to (with the return value on top of the stack). Will be null if code is being generated outside a function context. Gets or sets the variable that holds the return value for the function. Will be null if code is being generated outside a function context or if no return statements have been encountered. Indicates whether we are generating code inside a loop. Pushes information about break or continue targets to a stack. The label names associated with the break or continue target. Can be null. The IL label to jump to if a break statement is encountered. The IL label to jump to if a continue statement is encountered. Can be null. true if break or continue statements without a label should ignore this entry; false otherwise. Removes the top-most break or continue information from the stack. Returns the break target for the statement with the given label, if one is provided, or the top-most break target otherwise. The label associated with the break target. Can be null. The break target for the statement with the given label. Returns the continue target for the statement with the given label, if one is provided, or the top-most continue target otherwise. The label associated with the continue target. Can be null. The continue target for the statement with the given label. Gets the number of available break or continue targets. Used to support break or continue statements within finally blocks. Searches for the given label in the break/continue stack. The depth of the label in the stack. Zero indicates the bottom of the stack. -1 is returned if the label was not found. Gets or sets a value that indicates whether code generation is occurring within a try, catch or finally block. Gets or sets a delegate that is called when EmitLongJump() is called and the target label is outside the LongJumpStackSizeThreshold. Gets or sets the depth of the break/continue stack at the start of the finally statement. Emits code to branch between statements, even if code generation is within a finally block (where unconditional branches are not allowed). The generator to output the CIL to. The label to jump to. Represents a javascript primitive type. Methods related to the PrimitiveType enum. Converts a javascript primitive type to a .NET type. The type to convert. A .NET type. Converts a .NET type to a javascript primitive type. The type to convert. A javascript primitive type. Checks if the given primitive type is numeric. The primitive type to check. true if the given primitive type is numeric; false otherwise. Checks if the given primitive type is a string type. The primitive type to check. true if the given primitive type is a string type; false otherwise. Checks if the given primitive type is a value type. The primitive type to check. true if the given primitive type is a value type; false otherwise. Gets a type that can hold values of both the given types. The first of the two types to find the LCD for. The second of the two types to find the LCD for. A type that can hold values of both the given types. Used by the code generator. Not intended for user code (the class needs to be public because when using Reflection Emit, all calls into Jurassic.dll are cross-assembly and thus must be public). Initializes static members of this class. Creates a new instance of a user-defined function. The next object in the prototype chain. The name of the function. The names of the arguments. The scope at the point the function is declared. The source code for the function body. A delegate which represents the body of the function plus any dependencies. true if the function body is strict mode; false otherwise. A reference to the containing class prototype or object literal (or null). This is used by functions declared in JavaScript code (including getters and setters). Sets the value of a object literal property to a value. The object to set the property on. The property key (can be a string or a symbol). The value to set. Sets the value of a object literal property to a getter. If the value already has a setter then it will be retained. The object to set the property on. The property key (can be a string or a symbol). The getter function. Sets the value of a object literal property to a setter. If the value already has a getter then it will be retained. The object to set the property on. The property key (can be a string or a symbol). The setter function. Retrieves a cached template string array, using the given call site ID as the cache key. The associated script engine. The call site ID to use as a cache key. Creates an array suitable for passing to a tag function. The associated script engine. The call site ID to use as a cache key. An array of strings that make up the template literal, with escape character processing. An array of strings that make up the template literal, without any escape character processing. A JS array suitable for passing to a tag function. Sets the value of a class property to a value. The object to set the property on. The property key (can be a string or a symbol). The value to set. Sets the value of a class property to a getter. If the value already has a setter then it will be retained. The object to set the property on. The property key (can be a string or a symbol). The getter function. Sets the value of a class property to a setter. If the value already has a getter then it will be retained. The object to set the property on. The property key (can be a string or a symbol). The setter function. Implements the 'instanceof' operator. The left-hand side value. The right-hand side value. The line number in the source file the error occurred on. The path or URL of the source file. Can be null. The name of the function. Can be null. The result of the 'instanceof' operator. Gets an enumerable list of all the MemberInfos that are statically known to be used by this DLL. An enumerable list of all the MemberInfos that are used by this DLL. Gets the FieldInfo for a field. Throws an exception if the search fails. The type to search. The name of the field. The FieldInfo for a field. Gets the ConstructorInfo for a constructor. Throws an exception if the search fails. The type to search. The types of the parameters accepted by the constructor. The ConstructorInfo for the constructor. Gets the MethodInfo for an instance method. Throws an exception if the search fails. The type to search. The name of the method to search for. The types of the parameters accepted by the method. The MethodInfo for the method. Gets the MethodInfo for a static method. Throws an exception if the search fails. The type to search. The name of the method to search for. The types of the parameters accepted by the method. The MethodInfo for the method. Gets the MethodInfo for a generic instance method. Throws an exception if the search fails. The type to search. The name of the method to search for. The MethodInfo for the method. Represents the runtime state needed to run JS code. Creates an execution context for code running in an eval() scope. A script engine. The scope that was active when eval() was called. The value of the 'this' keyword. A new execution context instance. Creates an execution context for code running as a result of a function call. A script engine. The scope that was active when the function was declared (NOT when it was called). The value of the 'this' keyword. The function that is being called. A new execution context instance. Creates an execution context for code running as a result of the new operator. A script engine. The scope that was active when the class was declared. The value of the 'this' keyword. A reference to the function that is being executed. The target of the new operator. A reference to the object literal or class prototype the executing function was defined within. Used by the 'super' keyword. A new execution context instance. Creates an execution context for code running as a result of the new operator. The 'this' value is unavailable. A script engine. The scope that was active when the class was declared. A reference to the function that is being executed. The target of the new operator. A reference to the object literal or class prototype the executing function was defined within. Used by the 'super' keyword. A new execution context instance. A reference to the script engine. The scope that was active when this execution context was declared. Can be null. Represents the state of the 'this' value. A 'this' value is available, although it may be null or undefined. 'this' is unavailable because execution is in a derived class constructor and super() has not yet been called. This is an ArrowFunction and does not have a local this value. Indicates the status of the 'this' value. The value of the 'this' keyword. Converts to an object. If this is null or undefined, then it will be set to the global object. The value of the 'super' keyword, or null if it is not available. Corresponds to a super(...argumentValues) call. The parameter values to pass to the base class. The initialised object instance. A reference to the executing function. Will be null if running in a global or eval context. If this context was created by the 'new' operator, contains the target of the new operator. This value can be accessed by JS using the 'new.target' expression. Contains a reference to the object literal or class prototype the executing function was defined within. Used by the 'super' keyword. The same as except that it returns instead of null if no new.target value is available. Creates a new instance of the 'arguments' object. The top-level scope for the function. The argument values that were passed to the function. A new instance of the 'arguments' object. Creates a new RuntimeScope instance, which is used for passing captured variables between methods. The parent scope, or null to use the ParentScope from this execution context. A new RuntimeScope instance. A place for storing captured variable values at runtime. So this JS code: function f() { let a = 1; { let a = 2; (function g() { a = 3; })(); console.log(a); // Logs 3. } } Translates to something like this (in C#): object f(ExecutionContext executionContext, object[] arguments) { var scope1 = executionContext.CreateRuntimeScope(null); var scope2 = executionContext.CreateRuntimeScope(scope1); var g = ReflectionHelpers.CreateFunction(..., scope2, ...) scope1.SetValue("a", 1); scope2.SetValue("a", 2); g.Call() ((FunctionInstance)TypeConverter.ToObject(scope2.GetValue("console"))["log"]).Call(scope2.GetValue("a")); } object g(ExecutionContext executionContext, object[] arguments) { executionContext.ParentScope.SetValue("a", 3); } The with(...) statement is handled specially: function f() { with (Math) { console.log(E); // Logs 2.718281828459045. } } C# translation: object f(ExecutionContext executionContext, object[] arguments) { var scope1 = executionContext.CreateRuntimeScope(null); var scope2 = executionContext.CreateRuntimeScope(scope1); scope2.BindTo(scope1.GetValue("Math")); ((FunctionInstance)TypeConverter.ToObject(scope2.GetValue("console"))["log"]).Call(scope2.GetValue("E")); } Creates a global scope. The associated script engine. A new RuntimeScope instance. Creates a new RuntimeScope instance. The script engine this scope is associated with. The parent scope, or null if this is the root scope. The current execution context. A reference to the parent scope. If a variable cannot be found in this scope then the parent scope can be checked instead. Gets the type of scope, e.g. global, function, eval, with, etc. Gets the object that stores the values of the variables in the scope, if any. Can be null. Determines the 'this' value passed to a function when the function call is of the form simple_func(). This is normally 'undefined' but can be some other value inside a with() statement. Binds the scope to a scope object. This is used by the 'with' statement. The object to use. Returns the value of the given variable. An error is thrown if the variable doesn't exist. The name of the variable. The line number in the source file the variable was accessed. The path or URL of the source file. Can be null. The value of the given variable. Returns the value of the given variable. Returns if the variable doesn't exist. The line number in the source file the variable was accessed. The path or URL of the source file. Can be null. The value of the given variable, or if the variable doesn't exist. Returns the value of the given variable. Returns null if the variable doesn't exist. The name of the variable. The line number in the source file the variable was accessed. The path or URL of the source file. Can be null. The value of the given variable, or null if the variable doesn't exist in the scope. Sets the value of the given variable. The name of the variable. The new value of the variable. The line number in the source file the variable was set. The path or URL of the source file. Can be null. Sets the value of the given variable, using strict mode behaviour. The name of the variable. The new value of the variable. The line number in the source file the variable was set. The path or URL of the source file. Can be null. Sets the value of the given variable. The name of the variable. The new value of the variable. Indicates whether to use strict mode behaviour when setting the variable. The line number in the source file the variable was set. The path or URL of the source file. Can be null. Deletes the variable from the scope. The name of the variable. Represents an array literal expression. Creates a new instance of ArrayLiteralExpression. A list of values in the array. Gets the literal value. Gets the type that results from evaluating this expression. Generates CIL for the expression. The generator to output the CIL to. Information about any optimizations that should be performed. Converts the expression to a string. A string representing this expression. Represents an assignment expression (++, --, =, +=, -=, *=, /=, %=, &=, |=, ^=, <<=, >>=, >>>=). Creates a new instance of AssignmentExpression. The operator to base this expression on. Creates a simple variable assignment expression. The scope the variable is defined within. The name of the variable to set. The value to set the variable to. Gets the target of the assignment. Gets the underlying base operator for the given compound operator. The type of compound operator. The underlying base operator, or null if the type is not a compound operator. Gets the type that results from evaluating this expression. Generates CIL for the expression. The generator to output the CIL to. Information about any optimizations that should be performed. Generates CIL for an assignment expression. The generator to output the CIL to. Information about any optimizations that should be performed. The target to modify. Generates CIL for an increment or decrement expression. The generator to output the CIL to. Information about any optimizations that should be performed. The target to modify. true if this is the postfix version of the operator; false otherwise. true if this is the increment operator; false if this is the decrement operator. Generates CIL for a compound assignment expression. The generator to output the CIL to. Information about any optimizations that should be performed. The target to modify. This is a private class that supports generating code for compound operators (e.g. +=). Generates CIL for the expression. The generator to output the CIL to. Information about any optimizations that should be performed. Gets the type that results from evaluating this expression. Generates CIL for a compound assignment expression. The generator to output the CIL to. Information about any optimizations that should be performed. The target to modify. Checks the expression is valid and throws a SyntaxErrorException if not. Called after the expression tree is fully built out. Indicates where the code is located e.g. inside a function, or a constructor, etc. The line number to use when throwing an exception. The source path to use when throwing an exception. Represents a binary operator expression. Creates a new instance of BinaryExpression. The binary operator to base this expression on. Creates a new instance of BinaryJSExpression. The binary operator to base this expression on. The operand on the left side of the operator. The operand on the right side of the operator. Gets the expression on the left side of the operator. Gets the expression on the right side of the operator. Evaluates the expression, if possible. The result of evaluating the expression, or null if the expression can not be evaluated. Gets the type that results from evaluating this expression. Generates CIL for the expression. The generator to output the CIL to. Information about any optimizations that should be performed. Generates CIL for the addition operation. The generator to output the CIL to. Information about any optimizations that should be performed. Generates CIL for the relational operators. The generator to output the CIL to. Information about any optimizations that should be performed. Generates CIL for the logical operators. The generator to output the CIL to. Information about any optimizations that should be performed. Generates CIL for the instanceof operator. The generator to output the CIL to. Information about any optimizations that should be performed. Generates CIL for the in operator. The generator to output the CIL to. Information about any optimizations that should be performed. Represents a class expression. Creates a new class expression. The scope that contains the class. The class name. The base class, or null if this class doesn't inherit from another class. The constructor, or null if the class doesn't have one. A list of class members. The scope that contains the class. The class name, or null if none were specified. The base class, or null if this class doesn't inherit from another class. The constructor, or null if the class doesn't have one. Gets the list of class members, exluding the constructor. Gets the type that results from evaluating this expression. Generates CIL for the expression. The generator to output the CIL to. Information about any optimizations that should be performed. Converts the expression to a string. A string representing this expression. Represents the base class of all javascript expressions. Evaluates the expression, if possible. The result of evaluating the expression, or null if the expression can not be evaluated. Gets the type that results from evaluating this expression. Checks the expression is valid and throws a SyntaxErrorException if not. Called after the expression tree is fully built out. Indicates where the code is located e.g. inside a function, or a constructor, etc. The line number to use when throwing an exception. The source path to use when throwing an exception. Represents a function call expression. Creates a new instance of FunctionCallExpression. The binary operator to base this expression on. The scope that was in effect at the time of the function call (used by eval() calls). Gets an expression that evaluates to the function instance. Gets the type that results from evaluating this expression. The scope that was in effect at the time of the function call (used by eval() calls.) Used to implement function calls without evaluating the left operand twice. Generates CIL for the expression. The generator to output the CIL to. Information about any optimizations that should be performed. Generates an array containing the argument values. The generator to output the CIL to. Information about any optimizations that should be performed. Generates an array containing the argument values for a tagged template literal. The generator to output the CIL to. Information about any optimizations that should be performed. The template literal expression containing the parameter values. Generates CIL for a call to eval(). The generator to output the CIL to. Information about any optimizations that should be performed. Checks the expression is valid and throws a SyntaxErrorException if not. Called after the expression tree is fully built out. Indicates where the code is located e.g. inside a function, or a constructor, etc. The line number to use when throwing an exception. The source path to use when throwing an exception. Represents a function expression. Creates a new instance of FunctionExpression. The function context to base this expression on. The scope that was in effect where the function was declared. Indicates how the function was declared. Gets the name of the function. Can be null. Gets a list of argument names and default values. Gets the source code for the body of the function. Gets the type that results from evaluating this expression. The scope that was in effect where the function was declared. A variable that contains the declaring object. 1. In an object literal, the object literal instance. 2. In a class instance method, the class prototype. 3. In a class static method, the class itself. Used when generating code. Generates CIL for the expression. The generator to output the CIL to. Information about any optimizations that should be performed. Converts the expression to a string. A string representing this expression. Represents a grouping expression. Creates a new instance of GroupingJSExpression. The operator to base this expression on. Gets the expression inside the grouping operator. Evaluates the expression, if possible. The result of evaluating the expression, or null if the expression can not be evaluated. Gets the type that results from evaluating this expression. Generates CIL for the expression. The generator to output the CIL to. Information about any optimizations that should be performed. Represents a reference - an expression that is valid on the left-hand-side of an assignment operation. Gets the static type of the reference. Outputs the values needed to get or set this reference. The generator to output the CIL to. Information about any optimizations that should be performed. Duplicates the values needed to get or set this reference. The generator to output the CIL to. Information about any optimizations that should be performed. Pushes the value of the reference onto the stack. GenerateReference should be called first. The generator to output the CIL to. Information about any optimizations that should be performed. true to throw a ReferenceError exception if the name is unresolvable; false to output null instead. Stores the value on the top of the stack in the reference. GenerateReference should be called first. The generator to output the CIL to. Information about any optimizations that should be performed. The primitive type of the value that is on the top of the stack. Deletes the reference and pushes true if the delete succeeded, or false if the delete failed. The generator to output the CIL to. Information about any optimizations that should be performed. Represents a comma-delimited list. Creates a new instance of ListExpression. The operator to base this expression on. Gets an array of expressions, one for each item in the list. Evaluates the expression, if possible. The result of evaluating the expression, or null if the expression can not be evaluated. Gets the type that results from evaluating this expression. Generates CIL for the expression. The generator to output the CIL to. Information about any optimizations that should be performed. Converts the expression to a string. A string representing this expression. Represents a simple literal expression (not an array literal or object literal). Creates a new instance of LiteralExpression. The literal value. Gets the literal value. Evaluates the expression, if possible. The result of evaluating the expression, or null if the expression can not be evaluated. Gets the type that results from evaluating this expression. Generates CIL for the expression. The generator to output the CIL to. Information about any optimizations that should be performed. Converts the expression to a string. A string representing this expression. Represents a variable or member access. Creates a new instance of MemberAccessExpression. The operator to base this expression on. Gets an expression that evaluates to the object that is being accessed or modified. Gets the type that results from evaluating this expression. Gets the static type of the reference. Generates CIL for the expression. The generator to output the CIL to. Information about any optimizations that should be performed. Static property access e.g. a.b or a['b'] Numeric array indexer e.g. a[1] Dynamic property access e.g. a[someVariable] Determines the type of member access. Information about any optimizations that should be performed. Outputs the name of the property that is being accessed, if it is available at compile time, or null otherwise. Outputs the values needed to get or set this reference. The generator to output the CIL to. Information about any optimizations that should be performed. Outputs the values needed to get or set this reference. The generator to output the CIL to. Information about any optimizations that should be performed. Pushes the value of the reference onto the stack. The generator to output the CIL to. Information about any optimizations that should be performed. true to throw a ReferenceError exception if the name is unresolvable; false to output null instead. Stores the value on the top of the stack in the reference. The generator to output the CIL to. Information about any optimizations that should be performed. The primitive type of the value that is on the top of the stack. Deletes the reference and pushes true if the delete succeeded, or false if the delete failed. The generator to output the CIL to. Information about any optimizations that should be performed. Checks the expression is valid and throws a SyntaxErrorException if not. Called after the expression tree is fully built out. Indicates where the code is located e.g. inside a function, or a constructor, etc. The line number to use when throwing an exception. The source path to use when throwing an exception. Converts the expression to a string. A string representing this expression. Represents a variable or part of a member reference. Creates a new NameExpression instance. The current scope. The name of the variable or member that is being referenced. Gets or sets the scope the name is contained within. Gets the name of the variable or member. Gets the type that results from evaluating this expression. Gets the static type of the reference. Generates CIL for the expression. The generator to output the CIL to. Information about any optimizations that should be performed. Outputs the values needed to get or set this reference. The generator to output the CIL to. Information about any optimizations that should be performed. Outputs the values needed to get or set this reference. The generator to output the CIL to. Information about any optimizations that should be performed. Pushes the value of the reference onto the stack. The generator to output the CIL to. Information about any optimizations that should be performed. true to throw a ReferenceError exception if the name is unresolvable; false to output null instead. Stores the value on the top of the stack in the reference. The generator to output the CIL to. Information about any optimizations that should be performed. The primitive type of the value that is on the top of the stack. Deletes the reference and pushes true if the delete succeeded, or false if the delete failed. The generator to output the CIL to. Information about any optimizations that should be performed. Calculates the hash code for this object. The hash code for this object. Determines if the given object is equal to this one. The object to compare. true if the given object is equal to this one; false otherwise. Converts the expression to a string. A string representing this expression. Represents a "new" expression. Creates a new instance of NewExpression. The operator to base this expression on. Gets the precedence of the operator. Gets the type that results from evaluating this expression. Generates CIL for the expression. The generator to output the CIL to. Information about any optimizations that should be performed. Represents a reference to the "new.target" value. Creates a new NewTargetExpression instance. Gets the type that results from evaluating this expression. Gets the static type of the reference. Generates CIL for the expression. The generator to output the CIL to. Information about any optimizations that should be performed. Converts the expression to a string. A string representing this expression. Represents an object literal expression. Creates a new object literal expression. A list of property declarations. Gets the literal value. Gets the type that results from evaluating this expression. Generates CIL for the expression. The generator to output the CIL to. Information about any optimizations that should be performed. Converts the expression to a string. A string representing this expression. Represents a mutable operator expression. Once all the operands are determined, the expression is converted into a real operator expression. Creates a new instance of OperatorExpression. The operator to base this expression on. Creates a derived instance of OperatorExpression from the given operator. The operator to base this expression on. The scope that was in effect at the time of the function call (used by eval() calls). A derived OperatorExpression instance. Gets or sets the operator this expression refers to. Gets or sets the type of operator this expression refers to. Gets the operand with the given index. No parameter validation and grouping operator elimination is performed. The index of the operand to retrieve. The operand with the given index. Gets the operand with the given index. The index of the operand to retrieve. The operand with the given index. Gets the number of operands that have been added. Adds an operand. The expression representing the operand to add. Removes and returns the most recently added operand. The most recently added operand. Gets or sets a value that indicates whether the second token in a ternary operator was encountered. Gets a value that indicates whether a new operand is acceptable given the state of this operator. For ternary operators only two operands are acceptable until the second token of the sequence is encountered. Gets the right-most operand as an unbound operator, or null if the operator has no operands or the right-most operand is not an operator. Gets the precedence of the operator. For ternary operators this is -MinValue if parsing is currently between the two tokens. Gets an enumerable list of child nodes in the abstract syntax tree. Checks the expression is valid and throws a SyntaxErrorException if not. Called after the expression tree is fully built out. Indicates where the code is located e.g. inside a function, or a constructor, etc. The line number to use when throwing an exception. The source path to use when throwing an exception. Converts the expression to a string. A string representing this expression. Represents a 'super' reference. Gets the type that results from evaluating this expression. Generates CIL for the expression. The generator to output the CIL to. Information about any optimizations that should be performed. Indicates whether this 'super' keyword is in a valid context. Checks the expression is valid and throws a SyntaxErrorException if not. Called after the expression tree is fully built out. Indicates where the code is located e.g. inside a function, or a constructor, etc. The line number to use when throwing an exception. The source path to use when throwing an exception. Converts the expression to a string. A string representing this expression. Represents a template literal expression, with substitutions. Code gen treats template literals with no substitutions just like string literals. Creates a new instance of TemplateLiteralExpression. The literal string parts of the template. For example `1${2}3` has the string literal parts "1" and "3". The substitution expressions in the template. For example `1${2}3` has the substitution expression "2". The literal string parts of the template, prior to performing escape sequence processing. The literal string parts of the template. For example `1${2}3` has the string literal parts "1" and "3". The substitution expressions in the template. For example `1${2}3` has the substitution expression "2". The literal string parts of the template, prior to performing escape sequence processing. Gets the type that results from evaluating this expression. Generates CIL for the expression. The generator to output the CIL to. Information about any optimizations that should be performed. Represents a ternary operator expression. Creates a new instance of TernaryExpression. The ternary operator to base this expression on. Evaluates the expression, if possible. The result of evaluating the expression, or null if the expression can not be evaluated. Gets the type that results from evaluating this expression. Generates CIL for the expression. The generator to output the CIL to. Information about any optimizations that should be performed. Represents a reference to the "this" value. Creates a new ThisExpression instance. Gets the type that results from evaluating this expression. Gets the static type of the reference. Generates CIL for the expression. The generator to output the CIL to. Information about any optimizations that should be performed. Converts the expression to a string. A string representing this expression. Represents a unary operator expression. Creates a new instance of UnaryExpression. The unary operator to base this expression on. Gets the expression on the left or right side of the unary operator. Evaluates the expression, if possible. The result of evaluating the expression, or null if the expression can not be evaluated. Gets the type that results from evaluating this expression. Generates CIL for the expression. The generator to output the CIL to. Information about any optimizations that should be performed. Generates CIL for the typeof expression. The generator to output the CIL to. Information about any optimizations that should be performed. Generates CIL for the delete expression. The generator to output the CIL to. Information about any optimizations that should be performed. Represents punctuation or an operator in the source code. Creates a new IdentifierToken instance. The identifier name. Gets the name of the identifier. Gets a string that represents the token in a parseable form. Creates a new identifier token. The name of the identifer. A new IdentifierToken instance. Represents a reserved word in the source code. Creates a new KeywordToken instance. The keyword name. Gets the name of the identifier. Creates a token from the given string. The text. The script engine compatibility mode. true if the lexer is operating in strict mode; false otherwise. The token corresponding to the given string, or null if the string does not represent a valid token. Initializes a lookup table by combining the base list with a second list of keywords. A list of additional keywords. A lookup table. Gets a string that represents the token in a parseable form. Represents the current expression state of the parser. Indicates the context is not known. The lexer will guess. Indicates the next token can be a literal. Indicates the next token can be an operator. Indicates the next token is the continuation of a template literal. Converts a JavaScript source file into a series of tokens. Creates a Lexer instance with the given source of text. The source of javascript code. Cleans up any resources used by the lexer. Gets the reader that was supplied to the constructor. Gets the line number of the next token. Gets the column number of the start of the next token. Gets or sets a callback that interrogates the parser to determine whether a literal or an operator is valid as the next token. This is only required to disambiguate the slash symbol (/) which can be a division operator or a regular expression literal. Gets or sets a value that indicates whether the lexer should operate in strict mode. Gets or sets a value that indicates what compatibility mode to use. Gets or sets a string builder that will be appended with characters as they are read from the input stream. Reads the next character from the input stream. The character that was read, or -1 if the end of the input stream has been reached. Reads the next token from the reader. A token, or null if there are no more tokens. Reads an identifier token. The first character of the identifier. An identifier token, literal token or a keyword token. Reads a punctuation token. The first character of the punctuation token. A punctuation token. Creates a TextReader that calls ReadNextChar(). Reads a numeric literal token. The first character of the token. A numeric literal token. Reads an integer value. The initial value, derived from the first character. The number of digits that were read from the stream. The numeric value, or double.NaN if no number was present. Reads a string literal. The first character of the string literal. A string literal. Reads a hexidecimal number with the given number of digits and turns it into a character. The character corresponding to the escape sequence, or the content that was read from the input if a valid hex number was not read. Reads an octal number turns it into a single-byte character. The first character delimiting the string literal. The value of the first digit. The character corresponding to the escape sequence. Reads an extended unicode escape sequence in the form "\u{20BB7}". The character or characters corresponding to the escape sequence. Reads past a single line comment. Always returns null. Reads past a multi-line comment. A line terminator token if the multi-line comment contains a newline character; otherwise returns null. Reads past whitespace. Always returns null. Reads a line terminator (a newline). The first character of the line terminator. A newline token. Reads a divide operator ('/' or '/='), a comment ('//' or '/*'), or a regular expression literal. A punctuator token or a regular expression token. Reads a regular expression literal. A regular expression token. Determines if the given character is whitespace. The character to test. true if the character is whitespace; false otherwise. Determines if the given character is a line terminator. The character to test. true if the character is a line terminator; false otherwise. Determines if the given character is valid as the first character of an identifier. The character to test. true if the character is is valid as the first character of an identifier; false otherwise. Determines if the given character is valid as a character of an identifier. The character to test. true if the character is is valid as a character of an identifier; false otherwise. Determines if the given character is valid as the first character of a punctuator. The character to test. true if the character is is valid as the first character of an punctuator; false otherwise. Determines if the given character is valid as the first character of a numeric literal. The character to test. true if the character is is valid as the first character of a numeric literal; false otherwise. Determines if the given character is valid as the first character of a string literal. The character to test. true if the character is is valid as the first character of a string literal; false otherwise. Determines if the given character is valid in a hexidecimal number. The character to test. true if the given character is valid in a hexidecimal number; false otherwise. Represents a string, number, boolean or null literal in the source code. Creates a new LiteralToken instance with the given value. The value of the literal. Gets a value that indicates whether the literal is a keyword. Literal keywords are false, true and null. Gets a string that represents the token in a parseable form. Converts this token into a property name. Represents punctuation or an operator in the source code. Creates a new PunctuatorToken instance. The punctuator text. Creates a punctuator token from the given string. The punctuator text. The punctuator corresponding to the given string, or null if the string does not represent a valid punctuator. Gets a string that represents the token in a parseable form. Represents a lightweight representation of a regular expression literal. Creates a new regular expression literal. The unescaped regular expression pattern. The regular expression flags. Gets the regular expression pattern. Gets a string that contains the flags. Determines whether the specified Object is equal to the current Object. The Object to compare with the current Object. true if the specified Object is equal to the current Object; otherwise, false. Serves as a hash function for a particular type. A hash code for the current Object. Returns a String that represents the current Object. A String that represents the current Object. Represents a string literal. Gets the number of character escape sequences encounted while parsing the string literal. Gets the number of line continuations encounted while parsing the string literal. Gets the contents of the string literal. Represents the text content of a template literal. Example 1: `plain text` 1. TemplateLiteralToken (Value = "plain text") Example 2: `${count}` 1. TemplateLiteralToken (Value = "") 2. IdentifierToken (Name = "count") 3. PunctuatorToken (Text = "}") 4. TemplateLiteralToken (Value = "") Example 3: `Bought ${count} items from ${person}!` 1. TemplateLiteralToken (Value = "Bought ") 2. IdentifierToken (Name = "count") 3. PunctuatorToken (Text = "}") 4. TemplateLiteralToken (Value = " items from ") 5. IdentifierToken (Name = "person") 6. PunctuatorToken (Text = "}") 7. TemplateLiteralToken (Value = "!") Creates a new TemplateLiteralToken instance. The literal text. The contents of the template literal, without any escaping. Indicates whether a substitution follows this string. Indicates whether a substitution follows this string. For example, this is true for the "hello" in `hello${1}world`, but not the "world". The raw text, prior to performing any escape sequence processing. Gets the contents of the template string literal. Represents the base class of all tokens. Gets a string that represents the token in a parseable form. Converts the token to the string suitable for embedding in an error message. The token to convert. Can be null. A string suitable for embedding in an error message. Converts the token to a string representation. A textual representation of the object. Represents whitespace or a line terminator. Creates a new WhiteSpaceToken instance. The number of line terminators encountered while reading the whitespace. Gets a count of the number of line terminators. Gets a string that represents the token in a parseable form. Represents a context that code can be run in. The default context. The context inside function bodies. The context inside the eval() function. Represents a set of options that influence the compiler. Creates a new CompilerOptions instance. Gets or sets a value that indicates whether to force ES5 strict mode, even if the code does not contain a strict mode directive ("use strict"). The default is false. Gets or sets a value that indicates what compatibility mode to use. Gets or sets a value that indicates whether to disassemble any generated IL and store it in the associated function. Performs a shallow clone of this instance. A shallow clone of this instance. Represents how the function was defined. The function was declared as a statement. The function was declared as an expression. Represents the declaration of a function parameter. The name of the parameter. The value of the parameter, if no value was passed to the function (can be null). Returns the textual representation of this object. Represents the information needed to compile a function. Creates a new FunctionMethodGenerator instance. The name of the function (can be computed at runtime). Indicates how the function was declared. The names and default values of the arguments. The source code of the function. The root of the abstract syntax tree for the body of the function. The scope that contains the function name and arguments. The URL or file system path that the script was sourced from. The extent of the function in the source code. Options that influence the compiler. Dummy implementation of ScriptSource. Creates a new FunctionContext instance. The name of the function. A comma-separated list of arguments. The source code for the body of the function. Options that influence the compiler. An expression that evaluates to the name of the function. For getters and setters, this does not include the "get" or "set". Indicates how the function was declared. Gets a comma-separated list of arguments. Gets a list of argument names and default values. Gets the root of the abstract syntax tree for the body of the function. Gets the source code for the body of the function. Gets a name for the generated method. A name for the generated method. Gets a name for the function, as it appears in the stack trace. A name for the function, as it appears in the stack trace, or null if this generator is generating code in the global scope. Gets an array of types - one for each parameter accepted by the method generated by this context. An array of parameter types. Gets an array of names - one for each parameter accepted by the method being generated. An array of parameter names. Checks whether the function is valid (in strict mode the function cannot be named 'arguments' or 'eval' and the argument names cannot be duplicated). The line number in the source file. The path or URL of the source file. Can be null. Parses the source text into an abstract syntax tree. The root node of the abstract syntax tree. Represents a delegate that is used for user-defined functions. For internal use only. The script engine, this value and other state needed to run the function. The arguments that were passed to the function. The result of calling the method. Retrieves a delegate for the generated method. The delegate type that matches the method parameters. Generates IL for the script. The generator to output the CIL to. Information about any optimizations that should be performed. Converts this object to a string. A string representing this object. Represents a generated method and it's dependencies. Creates a new GeneratedMethod instance. A delegate that refers to the generated method. A list of dependent generated methods. Can be null. Gets a delegate which refers to the generated method. Gets a list of dependent generated methods. Gets or sets the disassembled IL code for the method. Retrieves the code for a generated method, given the ID. For internal use only. The ID of the generated method. A GeneratedMethodInfo instance. Saves the given generated method and returns an ID. For internal use only. The generated method to save. The ID that was associated with the generated method. Represents the information needed to compile global or eval script into a method. Creates a new EvalMethodGenerator instance. The script code to execute. Options that influence the compiler. Gets a name for the generated method. A name for the generated method. Represents a delegate that is used for global code. For internal use only. The script engine, scope and 'this' value. The result of calling the method. Retrieves a delegate for the generated method. The delegate type that matches the method parameters. Parses the source text into an abstract syntax tree. Generates IL for the script. The generator to output the CIL to. Information about any optimizations that should be performed. Executes the script. The script engine to use to execute the script. The scope of the calling code. The value of the "this" keyword in the calling code. The result of evaluating the script. Represents the unit of compilation. Creates a new MethodGenerator instance. The source of javascript code. Options that influence the compiler. Gets a reference to any compiler options. Gets the source of javascript code. Gets a value that indicates whether strict mode is enabled. Gets the root node of the abstract syntax tree. This will be null until Parse() is called. Gets the top-level scope. This will be null until Parse() is called. Gets or sets optimization information. Gets the generated IL. This will be null until GenerateCode() is called. Gets a delegate to the emitted dynamic method, plus any dependencies. This will be null until GenerateCode() is called. Gets a name for the generated method. A name for the generated method. Gets a name for the function, as it appears in the stack trace. A name for the function, as it appears in the stack trace, or null if this generator is generating code in the global scope. Gets an array of types - one for each parameter accepted by the method generated by this context. An array of parameter types. Gets an array of names - one for each parameter accepted by the method being generated. An array of parameter names. Retrieves a delegate for the generated method. The delegate type that matches the method parameters. Parses the source text into an abstract syntax tree. Optimizes the abstract syntax tree. Generates IL for the script. Generates IL for the script. The generator to output the CIL to. Information about any optimizations that should be performed. Represents the base class of expressions and statements. Gets an enumerable list of child nodes in the abstract syntax tree. Determines if this node or any of this node's children are of the given type. The type of AstNode to search for. true if this node or any of this node's children are of the given type; false otherwise. Generates CIL for the expression. The generator to output the CIL to. Information about any optimizations that should be performed. Indicates that multiple operators of this type are grouped left-to-right. Indicates that multiple operators of this type are grouped right-to-left. Indicates that a value is consumed to the left of the primary token. Indicates that a value is consumed to the right of the primary token. Indicates that values to the left and right of the primary token are consumed. Indicates that a value is consumed to the right of the secondary token. Indicates that three values are consumed. Indicates the inner operand is optional. Only used with the function call operator. Represents the type of operator. Represents a JavaScript operator. Creates a new operator instance. The token that corresponds to this operator. If the operator consists of multiple tokens (e.g. ?:) then this is the first token in the sequence. An integer that indicates the order of evaluation. Higher precedence operators are evaluated first. A value that indicates where operands are allowed. Gets a value that indicates whether multiple operators of this type are grouped left-to-right or right-to-left. The type of operator: this decides what algorithm to use to calculate the result. The second token in the sequence. The precedence for the secondary or tertiary operand. Gets the type of operator: this decides what algorithm to use to calculate the result. Gets the token that corresponds to this operator. If the operator consists of multiple tokens (e.g. ?:) then this is the first token in the sequence. For a multi-token operator, gets the second token in the sequence. Gets an integer that indicates the order of evaluation. Higher precedence operators are evaluated first. Gets an integer that indicates the order of evaluation for the secondary operand. Higher precedence operators are evaluated first. Gets an integer that indicates the order of evaluation for the tertiary operand. Higher precedence operators are evaluated first. Gets a value that indicates whether multiple operators of this type are grouped left-to-right or right-to-left. Gets a value that indicates whether a value is consumed to the left of the primary token. Gets a value that indicates whether a value is consumed to the right of the primary token. Gets a value that indicates whether a value is consumed to the right of the secondary token. Must be false if there is no secondary token. Gets a value that indicates the inner operand is optional. Only used with the function call operator. Gets the maximum number of operands required by this operator. Determines if the given number of operands is valid for this operator. The number of operands. true if the given number of operands is valid for this operator; false otherwise. Gets an enumerable collection of every defined operator. Converts a series of tokens into an abstract syntax tree. Creates a Parser instance with the given lexer supplying the tokens. The lexical analyser that provides the tokens. Options that influence the compiler. The context of the code (global, function or eval). Hints about whether optimization is possible. Creates a parser that can read the body of a function. The parser for the parent context. The function scope. Hints about whether optimization is possible. Indicates the parsing context. A new parser. Gets the line number of the next token. Gets the position just after the last character of the previously consumed token. Gets the position of the first character of the next token. Gets the path or URL of the source file. Can be null. Gets or sets a value that indicates whether the parser is operating in strict mode. The top-level scope. Gets optimization information about the code that was parsed (Parse() must be called first). Indicates whether we are parsing in a function context (including constructors and class functions). Throws an exception if the variable name is invalid. The name of the variable to check. Discards the current token and reads the next one. Indicates whether the next token can be a literal or an operator. Indicates that the next token is identical to the given one. Throws an exception if this is not the case. Consumes the token. The expected token. Indicates that the next token should be an identifier. Throws an exception if this is not the case. Consumes the token. The identifier name. Returns a value that indicates whether the current position is a valid position to end a statement. true if the current position is a valid position to end a statement; false otherwise. Indicates that the next token should end the current statement. This implies that the next token is a semicolon, right brace or a line terminator. Sets the initial scope. The initial scope Helper class to help manage scopes. Sets the current scope and returns an object which can be disposed to restore the previous scope. The new scope. An object which can be disposed to restore the previous scope. Parses javascript source code. An expression that can be executed to run the program represented by the source code. Parses any statement other than a function declaration. true if the statement is being added to an existing block statement, false if the statement represents a new block. An expression that represents the statement. Parses any statement other than a function declaration, without beginning a new statement context. An expression that represents the statement. Parses a block of statements. A BlockStatement containing the statements. The value of a block statement is the value of the last statement in the block, or undefined if there are no statements in the block. Parses a var, let or const statement. Indicates which type of statement is being parsed. Must be var, let or const. Indicates whether the keyword token needs to be consumed. Indicates whether we are parsing the initial declaration inside a for() statement. A variable declaration statement. Parses an empty statement. An empty statement. Parses an if statement. An expression representing the if statement. Parses a do statement. An expression representing the do statement. Parses a while statement. A while statement. When parsing a for statement, used to keep track of what type it is. Parses a for statement, for-in statement, or a for-of statement. A for statement, for-in statement, or a for-of statement. Parses a continue statement. A continue statement. Parses a break statement. A break statement. Parses a return statement. A return statement. Parses a with statement. An expression representing the with statement. Parses a switch statement. A switch statement. Parses a throw statement. A throw statement. Parses a try statement. A try-catch-finally statement. Parses a debugger statement. A debugger statement. Parses a function declaration. A statement representing the function. Parses a function declaration or a function expression. The type of function to parse. The parent scope for the function. The name of the function (can be computed at runtime). The position of the start of the function. Indicates the parsing context. A function expression. Parses a comma-separated list of function arguments. The token that ends parsing. A list of parsed arguments. Parses a statement consisting of an expression or starting with a label. These two cases are disambiguated here. A statement. Represents a key by which to look up an operator. Gets or sets a mapping from token -> operator. There can be at most two operators per token (the prefix version and the infix/postfix version). Initializes the token -> operator mapping dictionary. The token -> operator mapping dictionary. Finds a operator given a token and an indication whether the prefix or infix/postfix version is desired. The token to search for. true if the infix/postfix version of the operator is desired; false otherwise. An Operator instance, or null if the operator could not be found. Parses a javascript expression. One or more tokens that indicate the end of the expression. An expression tree that represents the expression. Parses an array literal (e.g. "[1, 2]"). A literal expression that represents the array literal. Parses an object literal (e.g. "{a: 5}"). A literal expression that represents the object literal. Reads a property name, as used in object literals and class bodies. Details on the property name. Parses a function expression. A function expression. Parses a template literal (e.g. `Bought ${count} items`). An expression that represents the template literal. Parses a class declaration. A statement representing the class. Parses a class expression. A class expression. Parses the body of a class declaration or a class expression. The name of the class (can be empty). The base class, or null if this class doesn't inherit from another class. The position of the start of the function. A class expression. Represents a single property of an object literal or a member of a class body. Creates a new PropertyDeclaration instance. The property name. The property value. The member name. Can be static or computed e.g. ['fu' + 'nc']() { }. The value of the member. Represents the valid prefixes that can appear before a property name. Represents the name of a property (member), which can be Creates a property name instance with a statically-known name. The statically-known name. Creates a property name instance with a name that will be computed at runtime. The expression that will compute the name. Indicates the property was preceeded by 'get', making this property a getter. Indicates the property was preceeded by 'set', making this property a setter. Indicates the property was preceeded by 'static', making this a static function (applies to classes, not object literals). Indicates whether the name is statically known. If HasStaticName is true, contains the name of the property. If HasStaticName is false, contains an expression which computes the name of the property. Modifies this name to include the given flags. The flags to add. A new property name instance with the existing flags and the provided flags. Represents an enclosing context where variables are uniquely defined. Represents a variable declared in a scope. Creates a new declarative scope for use inside a function body (and within function argument default values). The name of the function. Can be empty for an anonymous function. The names of each of the function arguments. Can be null. A new DeclarativeScope instance. Creates a new object scope for use inside a with statement. A reference to the parent scope. Can not be null. A new ObjectScope instance. Creates a new Scope instance. A reference to the parent scope, or null if this is the global scope. The number of variables declared in this scope. Gets a reference to the parent scope. Can be null if this is the global scope. Gets the number of variables declared in this scope. After GenerateScopeCreation is called, gets a variable containing the RuntimeScope instance. Can be null if this scope contains no variables. Indicates whether was called. Gets an enumerable list of the declared variables, in no particular order. Gets a reference to the variable with the given name, in this scope or any parent scope. The name of the variable to find. The variable details, or null if the variable doesn't exist in the scope. Returns true if the given variable has been declared in this scope. The name of the variable. true if the given variable has been declared in this scope; false otherwise. Declares a variable or function in this scope. This will be initialized with the value of the given expression. The keyword that was used to declare the variable (var, let or const). The name of the variable. The function value to hoist to the top of the scope. Should be null for everything except function declarations. A reference to the variable that was declared. Generates code that creates a new scope. The generator to output the CIL to. Information about any optimizations that should be performed. Generates code that pushes a RuntimeScope instance to the top of the stack. The generator to output the CIL to. Information about any optimizations that should be performed. Generates code that initializes the variable and function declarations. The generator to output the CIL to. Information about any optimizations that should be performed. Represents different types of scopes. The top-level global scope. A scope associated with a 'with' statement. The top-level scope in a function. The scope for a non-strict mode eval() function call. The scope for a strict mode eval() function call. Represents a javascript block statement. Creates a new BlockStatement instance. The labels that are associated with this statement. The lexical scope associated with this block statement. Gets a list of the statements in the block. The lexical scope associated with this block statement. Generates CIL for the statement. The generator to output the CIL to. Information about any optimizations that should be performed. Gets an enumerable list of child nodes in the abstract syntax tree. Converts the statement to a string. The number of tabs to include before the statement. A string representing this statement. Represents a break statement. Creates a new BreakStatement instance. The labels that are associated with this statement. Gets or sets the name of the label that identifies the block to break out of. Can be null. Generates CIL for the statement. The generator to output the CIL to. Information about any optimizations that should be performed. Converts the statement to a string. The number of tabs to include before the statement. A string representing this statement. Represents a continue statement. Creates a new ContinueStatement instance. The labels that are associated with this statement. Gets or sets the name of the label that identifies the loop to continue. Can be null. Generates CIL for the statement. The generator to output the CIL to. Information about any optimizations that should be performed. Converts the statement to a string. The number of tabs to include before the statement. A string representing this statement. Represents the debugger statement. Creates a new DebuggerStatement instance. The labels that are associated with this statement. Generates CIL for the statement. The generator to output the CIL to. Information about any optimizations that should be performed. Converts the statement to a string. The number of tabs to include before the statement. A string representing this statement. Represents a javascript do-while statement. Creates a new DoWhileStatement instance. The labels that are associated with this statement. Gets a value that indicates whether the condition should be checked at the end of the loop. Converts the statement to a string. The number of tabs to include before the statement. A string representing this statement. Represents an empty statement. Creates a new EmptyStatement instance. The labels that are associated with this statement. Generates CIL for the statement. The generator to output the CIL to. Information about any optimizations that should be performed. Converts the statement to a string. The number of tabs to include before the statement. A string representing this statement. Represents a javascript expression statement. Creates a new ExpressionStatement instance. By default, this expression does not contribute to the result of an eval(). The underlying expression. Creates a new ExpressionStatement instance. By default, this expression does contribute to the result of an eval(). The labels that are associated with this statement. The underlying expression. Gets or sets the underlying expression. Gets or sets a value that indicates whether the result of this statement should be returned from an eval() call. Does not have any effect if the context is not an EvalContext. Defaults to false. Generates CIL for the statement. The generator to output the CIL to. Information about any optimizations that should be performed. Gets an enumerable list of child nodes in the abstract syntax tree. Converts the statement to a string. The number of tabs to include before the statement. A string representing this statement. Represents a javascript for-in statement. Creates a new ForInStatement instance. The labels that are associated with this statement. The scope that encompasses the entire loop statement. Gets or sets a reference to mutate on each iteration of the loop. Gets or sets the portion of source code associated with the variable. Gets or sets an expression that evaluates to the object to enumerate. Gets or sets the portion of source code associated with the target object. Gets or sets the loop body. Generates CIL for the statement. The generator to output the CIL to. Information about any optimizations that should be performed. Gets an enumerable list of child nodes in the abstract syntax tree. Converts the statement to a string. The number of tabs to include before the statement. A string representing this statement. Represents a javascript for-of statement. Creates a new ForOfStatement instance. The labels that are associated with this statement. The scope that encompasses the entire loop statement. Gets or sets a reference to mutate on each iteration of the loop. Gets or sets the portion of source code associated with the variable. Gets or sets an expression that evaluates to the object to enumerate. Gets or sets the portion of source code associated with the target object. Gets or sets the loop body. Generates CIL for the statement. The generator to output the CIL to. Information about any optimizations that should be performed. Gets an enumerable list of child nodes in the abstract syntax tree. Converts the statement to a string. The number of tabs to include before the statement. A string representing this statement. Represents a javascript for statement (for-in is a separate statement). Creates a new ForStatement instance. The labels that are associated with this statement. Converts the statement to a string. The number of tabs to include before the statement. A string representing this statement. Represents an if statement. Creates a new IfStatement instance. The labels that are associated with this statement. Gets or sets the condition that determines which path the code should proceed. Gets or sets the statement that is executed if the condition is true. Gets or sets the statement that is executed if the condition is false. Generates CIL for the statement. The generator to output the CIL to. Information about any optimizations that should be performed. Gets an enumerable list of child nodes in the abstract syntax tree. Converts the statement to a string. The number of tabs to include before the statement. A string representing this statement. Represents a javascript loop statement (for, for-in, while and do-while). Creates a new LoopStatement instance. The labels that are associated with this statement. The scope that encompasses the entire loop statement. Only needed if there is a declaration statement in the loop header, which means it only applies to for statements. Gets or sets the statement that initializes the loop variable. Gets the var statement that initializes the loop variable. Gets the expression that initializes the loop variable. Gets or sets the statement that checks whether the loop should terminate. Gets the expression that checks whether the loop should terminate. Gets or sets the statement that increments (or decrements) the loop variable. Gets the expression that increments (or decrements) the loop variable. Gets or sets the loop body. Gets a value that indicates whether the condition should be checked at the end of the loop. Generates CIL for the statement. The generator to output the CIL to. Information about any optimizations that should be performed. Gets an enumerable list of child nodes in the abstract syntax tree. Represents a return statement. Creates a new ReturnStatement instance. The labels that are associated with this statement. Gets or sets the expression to return. Can be null to return "undefined". Generates CIL for the statement. The generator to output the CIL to. Information about any optimizations that should be performed. Gets an enumerable list of child nodes in the abstract syntax tree. Converts the statement to a string. The number of tabs to include before the statement. A string representing this statement. Represents a javascript statement. Creates a new Statement instance. The labels that are associated with this statement. Returns a value that indicates whether the statement has one or more labels attached to it. Gets or sets the labels associated with this statement. Gets or sets the portion of source code associated with this statement. For single-line statements this encompasses the whole statement but for multi-line (block) statements it only encompasses part of the statement. Locals needed by GenerateStartOfStatement() and GenerateEndOfStatement(). Gets or sets a value that indicates whether the break statement will be handled specially by the calling code - this means that GenerateStartOfStatement() and GenerateEndOfStatement() do not have to generate code to handle the break statement. Gets or sets a value that indicates whether the debugging information will be handled specially by the calling code - this means that GenerateStartOfStatement() and GenerateEndOfStatement() do not have to set this information. Gets or sets a label marking the end of the statement. Generates CIL for the start of every statement. The generator to output the CIL to. Information about any optimizations that should be performed. Variables common to both GenerateStartOfStatement() and GenerateEndOfStatement(). Generates CIL for the end of every statement. The generator to output the CIL to. Information about any optimizations that should be performed. Variables common to both GenerateStartOfStatement() and GenerateEndOfStatement(). Converts the statement to a string. A string representing this statement. Converts the statement to a string. The number of tabs to include before the statement. A string representing this statement. Represents a javascript switch statement. Creates a new SwitchStatement instance. The labels that are associated with this statement. Gets or sets an expression that represents the value to switch on. Gets a list of case clauses (including the default clause). Generates CIL for the statement. The generator to output the CIL to. Information about any optimizations that should be performed. Gets an enumerable list of child nodes in the abstract syntax tree. Converts the statement to a string. The number of tabs to include before the statement. A string representing this statement. Represents a single case statement inside a switch statement. Gets or sets an expression that must match the switch value for the case to execute. A value of null indicates this is the default clause. Gets a list of the statement(s) in the body of the case statement. Represents a throw statement. Creates a new ThrowStatement instance. The labels that are associated with this statement. Gets or sets an expression which evaluates to the value to throw. Generates CIL for the statement. The generator to output the CIL to. Information about any optimizations that should be performed. Gets an enumerable list of child nodes in the abstract syntax tree. Converts the statement to a string. The number of tabs to include before the statement. A string representing this statement. Represents a try-catch-finally statement. Creates a new TryCatchFinallyStatement instance. Gets or sets the statement(s) inside the try block. Gets or sets the statement(s) inside the catch block. Can be null. Gets or sets the name of the variable to receive the exception. Can be null if CatchStatement is also null or if the catch variable binding was omitted. Gets or sets the statement(s) inside the finally block. Can be null. Generates CIL for the statement. The generator to output the CIL to. Information about any optimizations that should be performed. Gets an enumerable list of child nodes in the abstract syntax tree. Converts the statement to a string. The number of tabs to include before the statement. A string representing this statement. Represents a javascript var, let or const statement. Creates a new VarStatement instance. The labels that are associated with this statement. The scope the variables are defined within. Gets the scope the variables are defined within. Indicates whether this is a 'var', 'let' or 'const' declaration. Gets a list of variable declarations. Generates CIL for the statement. The generator to output the CIL to. Information about any optimizations that should be performed. Gets an enumerable list of child nodes in the abstract syntax tree. Converts the statement to a string. The number of tabs to include before the statement. A string representing this statement. Represents a variable declaration. Gets the type of declaration. Gets the name of the variable that is being declared. Gets or sets the initial value of the variable. Can be null. Gets or sets the portion of source code associated with the declaration. Represents a javascript while statement. Creates a new WhileStatement instance. The labels that are associated with this statement. Converts the statement to a string. The number of tabs to include before the statement. A string representing this statement. Represents a javascript with statement. Creates a new WithStatement instance. The labels that are associated with this statement. The Scope associated with the with body. This is special as "var a" weirdly refers to the scope object, if a property named "a" exists. Gets or sets the body of the with statement. Generates CIL for the statement. The generator to output the CIL to. Information about any optimizations that should be performed. Gets an enumerable list of child nodes in the abstract syntax tree. Converts the statement to a string. The number of tabs to include before the statement. A string representing this statement. Represents a non-runtime compiler error. Creates a new syntax error exception. A description of the error. The line number in the source file the error occurred on. The path or URL of the source file. Can be null. Creates a new syntax error exception. A description of the error. The line number in the source file the error occurred on. The path or URL of the source file. Can be null. The name of the function. Can be null. Gets the line number in the source file the error occurred on. Can be 0 if no line number information is available. Gets the path or URL of the source file. Can be null if no source information is available. Gets the name of the function where the exception occurred. Can be null if no source information is available. Represents an arbitrarily large signed integer. Initializes a new instance of the BigInteger structure using a 32-bit signed integer value. A 32-bit signed integer. Initializes a new instance of the BigInteger structure using a 64-bit signed integer value. A 64-bit signed integer. Gets a value that represents the number zero (0). Gets a value that represents the number one (1). Gets a number that indicates the sign (negative, positive or zero) of the current BigInteger object. Adds two BigInteger values and returns the result. The first value to add. The second value to add. The sum of and . Returns the product of two BigInteger values. The first number to multiply. The second number to multiply. The product of the and parameters. Subtracts one BigInteger value from another and returns the result. The value to subtract from. The value to subtract. The result of subtracting from . Shifts a BigInteger value a specified number of bits to the left. The value whose bits are to be shifted. The number of bits to shift to the left. Can be negative to shift to the right. A value that has been shifted to the left by the specified number of bits. Shifts a BigInteger value a specified number of bits to the right. The value whose bits are to be shifted. The number of bits to shift to the right. A value that has been shifted to the right by the specified number of bits. Can be negative to shift to the left. Note: unlike System.Numerics.BigInteger, negative numbers are treated identically to positive numbers. Multiply by m and add a. Computes b x 5 ^ k. Returns -1 if a < b, 0 if they are the same, or 1 if a > b. Negates a specified BigInteger value. The value to negate. The result of the parameter multiplied by negative one (-1). Modifies the given values so they are suitable for passing to Quorem. The number that will be divided. The number to divide by. Modifies the given values so they are suitable for passing to Quorem. The number that will be divided. The number to divide by. Another value involved in the division. Calculates the integer result of dividing by then sets to the remainder. The number that will be divided. The number to divide by. The integer that results from dividing by . Decrements the current value of the BigInteger object. Equivalent to BigInteger.Pow but with integer arguments. The number to be raised to a power. The number that specifies the power. The number raised to the power . Gets the absolute value of a BigInteger object. A number. The absolute value of . Returns the logarithm of a specified number in a specified base. A number whose logarithm is to be found. The base of the logarithm. The base logarithm of . Returns a value that indicates whether the current instance and a specified BigInteger object have the same value. The object to compare. true if this BigInteger object and have the same value; otherwise, false. Returns the hash code for the current BigInteger object. A 32-bit signed integer hash code. Converts the string representation of a number to its BigInteger equivalent. A string that contains the number to convert. A value that is equivalent to the number specified in the parameter. Converts the numeric value of the current BigInteger object to its equivalent string representation. The string representation of the current BigInteger value. Returns a new instance BigInteger structure from a 64-bit double precision floating point value. A 64-bit double precision floating point value. The corresponding BigInteger value. Returns a double that corresponds to the BigInteger value. A double that corresponds to the BigInteger value. Returns the number of leading zero bits in the given 32-bit integer. A 32-bit integer. The number of leading zero bits in the given 32-bit integer. Returns 32 if is zero. Used to indicate that the script engine should run in compatibility mode. Indicates that the script engine should run in the most standards compliant mode. Indicates that the script engine should conform to the ECMAScript 3 specification. This has the following effects: 1. "this" is converted to an object at the call site of function calls. 2. parseInt() parses octal numbers without requiring an explicit radix. 3. NaN, undefined and Infinity can be modified. 4. The list of keywords is much longer (for example, 'abstract' is a keyword). Represents the result of compiling a script. Compiles source code into a quickly executed form, using the given compiler options. The javascript source code to execute. Compiler options, or null to use the default options. A CompiledScript instance, which can be executed as many times as needed. is a null reference. Gets the body of the generated method in the form of disassembled IL code. Will be null unless was set to true. Executes the compiled eval code. The script engine to use to execute the script. The result of the eval. is a null reference. Represents the result of compiling a script. Compiles source code into a quickly executed form, using the given compiler options. The javascript source code to execute. Compiler options, or null to use the default options. A CompiledScript instance, which can be executed as many times as needed. is a null reference. Gets the body of the generated method in the form of disassembled IL code. Will be null unless was set to true. Executes the compiled script. The script engine to use to execute the script. is a null reference. Represents a string that supports efficient concatenation. This class is used instead of when two strings are concatenated together using the addition operator (+) or the concat() function. Use of this class avoids the creation of useless intermediary strings and by doing so speeds up string concatenation dramatically (this change improved sunspider/string-validate-input.js by almost 20x). Creates a new ConcatenatedString instance from the given string. The initial contents of the concatenated string. Creates a new ConcatenatedString instance by concatenating the given strings. The left-most string to concatenate. The right-most string to concatenate. Creates a new ConcatenatedString instance by concatenating the given strings. The strings to concatenate to form the initial value for this object. The array must not be altered after passing it to this constructor. Gets the length, in characters, of the ConcatenatedString object. Returns a new ConcatenatedString instance containing the concatenation of this ConcatenatedString and the given object (converted to a string). The object to append to this string. A new ConcatenatedString instance representing the concatenated string. Returns a new ConcatenatedString instance containing the concatenation of this ConcatenatedString and the given string. The string to append. A new ConcatenatedString instance representing the concatenated string. Returns a new ConcatenatedString instance containing the concatenation of this ConcatenatedString and the given string. The string to append. A new ConcatenatedString instance representing the concatenated string. Appends the given object (converted to a string) to the end of this object. The object to append. Appends the given string to the end of this object. The string to append. Appends the given string to the end of this object. The string to append. Returns a string representing the current object. A string representing the current object. Represents a wrapper for javascript error objects. Creates a new JavaScriptException instance based on the given object. The javascript object that was thrown. Creates a new JavaScriptException instance based on the given object. The javascript object that was thrown. The line number in the source file the error occurred on. The path or URL of the source file. Can be null. The name of the function. Can be null. Creates a new JavaScriptException instance. The type of error, e.g. Error, RangeError, etc. A description of the error. Creates a new JavaScriptException instance. The type of error, e.g. Error, RangeError, etc. A description of the error. The exception that is the cause of the current exception, or null if no inner exception is specified. Creates a new JavaScriptException instance. The type of error, e.g. Error, RangeError, etc. A description of the error. The line number in the source file the error occurred on. The path or URL of the source file. Can be null. Creates a new JavaScriptException instance. The type of error, e.g. Error, RangeError, etc. A description of the error. The line number in the source file the error occurred on. The path or URL of the source file. Can be null. The exception that is the cause of the current exception, or null if no inner exception is specified. Creates a new JavaScriptException instance. The type of error, e.g. Error, RangeError, etc. A description of the error. The line number in the source file the error occurred on. The path or URL of the source file. Can be null. The name of the function. Can be null. Gets a reference to the JavaScript Error object. Gets the type of error, e.g. ErrorType.TypeError or ErrorType.SyntaxError. The error message, excluding the error type. Gets the line number in the source file the error occurred on. Can be 0 if no line number information is available. Gets the path or URL of the source file. Can be null if no source information is available. Gets the name of the function where the exception occurred. Can be null if no source information is available. Gets a reference to the script engine associated with this object. Will be null for statements like "throw 2". Returns the error instance associated with this exception. The script engine used to create the error object. A new Error instance. Represents the JavaScript "null" type and provides the one and only instance of that type. Creates a new Null instance. Gets the one and only "null" instance. Returns a string representing the current object. A string representing the current object. Converts numbers into strings. Used to specify the type of number formatting that should be applied. Specifies that the shortest number that accurately represents the number should be displayed. Scientific notation is used if the exponent is less than -6 or greater than twenty. The precision parameter has no semantic meaning. Specifies that a fixed number of significant figures should be displayed (specified by the precision parameter). If the number cannot be displayed using the given number of digits, scientific notation is used. Specifies that a fixed number of digits should be displayed after the decimal place (specified by the precision parameter). Scientific notation is used if the exponent is greater than twenty. Specifies that numbers should always be displayed in scientific notation. The precision parameter specifies the number of figures to display after the decimal point. Converts a number to a string. The value to convert to a string. The base of the number system to convert to. The type of formatting to apply. This value is dependent on the formatting style: Regular - this value has no meaning. Precision - the number of significant figures to display. Fixed - the number of figures to display after the decimal point. Exponential - the number of figures to display after the decimal point. Converts a number to a string. The value to convert to a string. The base of the number system to convert to. The number format style to use. The type of formatting to apply. This value is dependent on the formatting style: Regular - this value has no meaning. Precision - the number of significant figures to display. Fixed - the number of figures to display after the decimal point. Exponential - the number of figures to display after the decimal point. Calculates the minimum increment that creates a number distinct from the value that was provided. The error for the number is plus or minus half the result of this method (note that the number returned by this method may be so small that dividing it by two produces zero). The number to calculate an error value for. The minimum increment that creates a number distinct from the value that was provided. Scales the given double-precision number by multiplying and then shifting it. The value to scale. The multiplier. The power of two scale factor. A BigInteger containing the result of multiplying by and then shifting left by bits. Counts the number of trailing zero bits in the given 64-bit value. The 64-bit value. The number of trailing zero bits in the given 64-bit value. Calculates (int)Math.Floor(Math.Log(value, radix)). The value to calculate the log for. 10 for base-10. The logarithm of the provided value, rounded down to the nearest integer. Parses strings into numbers. Converts a string to a number (used by parseFloat). The string to convert. The result of parsing the string as a number. Converts a string to a number (used in type coercion). The result of parsing the string as a number. Parses a number and returns the corresponding double-precision value. The reader to read characters from. The first character of the number. Must be 0-9 or a period. Upon returning, contains the type of error if one occurred. The numeric value, or NaN if the number is invalid. Converts a string to an integer (used by parseInt). The input text to parse. The numeric base to use for parsing. Pass zero to use base 10 except when the input string starts with '0' in which case base 16 or base 8 are used instead. true if numbers with a leading zero should be parsed as octal numbers. The result of parsing the string as a integer. Parses a hexidecimal number and returns the corresponding double-precision value. The reader to read characters from. The numeric value, or NaN if the number is invalid. Parses a octal number and returns the corresponding double-precision value. The reader to read characters from. The numeric value, or NaN if the number is invalid. Parses a binary number and returns the corresponding double-precision value. The reader to read characters from. The numeric value, or NaN if the number is invalid. Determines if the given character is whitespace or a line terminator. The unicode code point for the character. true if the character is whitespace or a line terminator; false otherwise. Modifies the initial estimate until the closest double-precision number to the desired value is found. The initial estimate. Assumed to be very close to the result. The power-of-ten scale factor. The desired value, already scaled using the power-of-ten scale factor. The closest double-precision number to the desired value. If there are two such values, the one with the least significant bit set to zero is returned. Adds ULPs (units in the last place) to the given double-precision number. The value to modify. The number of ULPs to add. Can be negative. The modified number. Scales the given double-precision number by multiplying and then shifting it. The value to scale. The multiplier. The power of two scale factor. A BigInteger containing the result of multiplying by and then shifting left by bits. Represents the JavaScript script engine. This is the first object that needs to be instantiated in order to execute javascript code. Initializes a new scripting environment. Implements the behaviour of the function that is the prototype of the Function object. Gets or sets a value that indicates whether to force ECMAScript 5 strict mode, even if the code does not contain a strict mode directive ("use strict"). The default is false. Gets or sets a value that indicates whether the script engine should run in compatibility mode. Gets or sets a value that indicates whether to disassemble any generated IL and store it in the associated function. Get or sets a value that indicates the maximum recursion depth of user-defined functions that is allowed by this script engine. When a user-defined function exceeds the recursion depth limit, a will be thrown. The default value is 0, which allows unlimited recursion. Represents a method that transforms a stack frame when formatting the stack trace. Gets or sets a delegate that transforms a stack frame when formatting the stack trace for . This can be useful if you are using a source map to map generated lines to source lines and the stack trace should contain the source line numbers. The instance prototype of the Function object (i.e. Function.InstancePrototype). This property solves a circular reference in the initialization, plus it speeds up initialization. The prototype shared by all iterators. The prototype of all string iterators. The prototype of all map iterators. The prototype of all set iterators. The prototype of all array iterators. Gets the built-in global object. This object is implicitly accessed when creating global variables and functions. Gets the built-in Array object. Gets the built-in Boolean object. Gets the built-in Date object. Gets the built-in Function object. Gets the built-in Map object. Gets the built-in Math object. Gets the built-in Number object. Gets the built-in Object object. Gets the built-in Promise object. Gets the built-in Proxy object. Gets the built-in Reflect object. Gets the built-in RegExp object. Gets the built-in String object. Gets the built-in String object. Gets the built-in Symbol object. Gets the built-in WeakMap object. Gets the built-in WeakSet object. Gets the built-in Error object. Gets the built-in RangeError object. Gets the built-in TypeError object. Gets the built-in SyntaxError object. Gets the built-in URIError object. Gets the built-in EvalError object. Gets the built-in ReferenceError object. Gets the built-in ArrayBuffer object. Gets the built-in DataView object. Gets the built-in Int8Array object. Gets the built-in Uint8Array object. Gets the built-in Uint8ClampedArray object. Gets the built-in Int16Array object. Gets the built-in Uint16Array object. Gets the built-in Int32Array object. Gets the built-in Uint32Array object. Gets the built-in Float32Array object. Gets the built-in Float64Array object. Gets or sets whether CLR types can be exposed directly to the script engine. If this is set to false, attempting to instantiate CLR types from script may result in exceptions being thrown in script. This property is intended to prevent script developers from accessing the entire CLR type system, for security purposes. When this property is set to false, it should prevent new instances of CLR types from being exposed to the script engine, even if you have already exposed CLR types to the script engine. Compiles the given source code and returns it in a form that can be executed many times. The javascript source code to execute. A CompiledScript instance, which can be executed as many times as needed. is a null reference. Executes the given source code. Execution is bound to the global scope. The javascript source code to execute. The result of executing the source code. is a null reference. Executes the given source code. Execution is bound to the global scope. The type to convert the result to. The javascript source code to execute. The result of executing the source code. is a null reference. Executes the given source code. Execution is bound to the global scope. The javascript source code to execute. The result of executing the source code. is a null reference. Executes the given source code. Execution is bound to the global scope. The type to convert the result to. The javascript source code to execute. The result of executing the source code. is a null reference. Executes the given source code. Execution is bound to the global scope. The javascript source code to execute. Executes the given file. If the file does not have a BOM then it is assumed to be UTF8. Execution is bound to the global scope. The path to a javascript file. This can be a local file path or a UNC path. is a null reference. Executes the given file. Execution is bound to the global scope. The path to a javascript file. This can be a local file path or a UNC path. The character encoding to use if the file lacks a byte order mark (BOM). is a null reference. Executes the given source code. Execution is bound to the global scope. The javascript source code to execute. is a null reference. Verifies the generated byte code. Creates a CompilerOptions instance using the script engine properties. A populated CompilerOptions instance. Gets a value that indicates whether the global variable with the given name is defined. The name of the variable to check. true if the given variable has a value; false otherwise. Note that a variable that has been set to undefined is still considered to have a value. Gets the value of the global variable with the given name. The name of the variable to retrieve the value for. The value of the global variable, or null otherwise. Gets the value of the global variable with the given name and coerces it to the given type. The type to coerce the value to. The name of the variable to retrieve the value for. The value of the global variable, or null otherwise. Note that null is coerced to the following values: false (if is bool), 0 (if is int or double), string.Empty (if is string). Sets the value of the global variable with the given name. If the property does not exist, it will be created. The name of the variable to set. The desired value of the variable. This must be of a supported type (bool, int, double, string, Null, Undefined or a ObjectInstance-derived type). The property is read-only or the property does not exist and the object is not extensible. Calls a global function and returns the result. The name of the function to call. The argument values to pass to the function. The return value from the function. Calls a global function and returns the result. The type to coerce the value to. The name of the function to call. The argument values to pass to the function. The return value from the function, coerced to the given type. Sets the global variable with the given name to a function implemented by the provided delegate. The name of the global variable to set. The delegate that will implement the function. Fires when the compiler starts parsing javascript source code. Fires when the compiler starts optimizing. Fires when the compiler starts generating byte code. Fires when the compiler starts running javascript code. Gets an empty schema. Evaluates the given javascript source code and returns the result. The source code to evaluate. The containing scope. The value of the "this" keyword in the containing scope. Indicates whether the eval statement is being called from strict mode code. The value of the last statement that was executed, or undefined if there were no executed statements. Creates a stack trace. The name of the error (e.g. "ReferenceError"). The error message. The path of the javascript source file that is currently executing. The name of the currently executing function. The line number of the statement that is currently executing. Appends a stack frame to the end of the given StringBuilder instance. The StringBuilder to append to. The path of the javascript source file. The name of the function. The line number of the statement. The method by which the current stack frame was created. Pushes a frame to the javascript stack. This needs to be called every time there is a function call. The path of the javascript source file that contains the function. The name of the function that is calling another function. The line number of the function call. The type of call that is being made. Pops a frame from the javascript stack. Checks if the given is catchable by JavaScript code with a catch clause. Note: This method is public for technical reasons only and should not be used by user code. The exception to check. true if the is catchable, false otherwise Gets a dictionary that can be used to cache ClrInstanceTypeWrapper instances. Gets a dictionary that can be used to cache ClrStaticTypeWrapper instances. Returns a cached template array, suitable for passing to a tag function. The cache key that identifies the array to return. The cached template array, or null if no array with the given cache key has been cached. Caches a template array using the given cache key. The cache key that identifies the array to cache. The cached value. Appends a callback that will be executed at the end of script execution. The callback function. This method is called at the end of script execution in order to execute pending callbacks registered with . Clears (and does not execute) all queued post-execute actions. Adds a callback to the end of the event queue. The action to enqueue. This method is thread-safe. The number of queued actions in the event queue. Removes the first available action from the event queue, and executes it. true if an event queue action was executed, false if the event queue was empty. This method is meant to be called in a loop, like this: while (scriptEngine.ExecuteNextEventQueueAction()) { } If an exception is thrown, you should assume that the action was successfully removed from the queue. This means can be called again without triggering the same exception. Represents a script file. Creates a new FileScriptSource instance. The path of the script file. The character encoding to use if the file lacks a byte order mark (BOM). If this parameter is omitted, the file is assumed to be UTF8. Gets the path of the source file (either a path on the file system or a URL). This can be null if no path is available. Returns a reader that can be used to read the source code for the script. A reader that can be used to read the source code for the script, positioned at the start of the source code. If this method is called multiple times then each reader must return the same source code. Represents a resource that can provide script code. This is the abstract base class of all the script providers. Gets the path of the source file (either a path on the file system or a URL). This can be null if no path is available. Returns a reader that can be used to read the source code for the script. A reader that can be used to read the source code for the script, positioned at the start of the source code. If this method is called multiple times then each reader must return the same source code. Reads the source code within the given span. The start and end positions within the source code. The source code within the given span. Represents a string containing script code. Creates a new StringScriptSource instance. The script code. Creates a new StringScriptSource instance. The script code. The path of the file the script code was retrieved from. Gets the path of the source file (either a path on the file system or a URL). This can be null if no path is available. Returns a reader that can be used to read the source code for the script. A reader that can be used to read the source code for the script, positioned at the start of the source code. If this method is called multiple times then each reader must return the same source code. Contains stack frame properties which can be transformed when formatting the stack trace. Gets or sets a value that indicates if the stack frame represented by this should be suppressed, so that it is not displayed in the stack trace. The default value is false. Gets or sets the line number. A value of 0 means the line number is unknown. Gets or sets the path of the javascript script file. A value of null means that the path is unknown. Gets or sets the name of the function. A value of null or the empty string ("") means that the path is unknown. Contains handy string routines. Concatenates a specified separator string between each element of a specified string array, yielding a single concatenated string. The type of the members of The string to use as a separator. A collection that contains the objects to concatenate. A string that consists of the members of delimited by the string. Implements the JavaScript equality and comparison rules. Compares two objects for equality. Used by the equality operator (==). The first object to compare. The first object to compare. true if the objects are identical; false otherwise. Compares two objects for equality. Used by the strict equality operator (===). The first object to compare. The second object to compare. true if the objects are identical; false otherwise. With this algorithm: 1. NaN is not considered equal to NaN. 2. +0 and -0 are considered to be equal. Determines the ordering of two objects. Used by the less than operator (<). The first object to compare. The second object to compare. true if is less than ; false otherwise. Determines the ordering of two objects. Used by the less than or equal operator (<=). The first object to compare. The second object to compare. true if is less than or equal to ; false otherwise. Determines the ordering of two objects. Used by the greater than operator (>). The first object to compare. The second object to compare. true if is greater than ; false otherwise. Determines the ordering of two objects. Used by the greater than or equal operator (>=). The first object to compare. The second object to compare. true if is greater than or equal to ; false otherwise. Implements the SameValue algorithm. The first object to compare. The second object to compare. true if the objects are the same value according to the SameValue algorithm. With this algorithm: 1. NaN is considered equal to NaN. 2. +0 and -0 are considered to be different. Implements the SameValueZero algorithm. The first object to compare. The second object to compare. true if the objects are the same value according to the SameValueZero algorithm. With this algorithm: 1. NaN is considered equal to NaN. 2. +0 and -0 are considered to be equal. Provides a hint on how to do the conversion when converting to a primitive. Use the default behaviour. Prefer converting to a number. Prefer converting to a string. Implements the JavaScript type conversion rules. Converts the given value to the given type. The script engine used to create new objects. The value to convert. The type to convert the value to. The converted value. Converts the given value to the given type. The script engine used to create new objects. The value to convert. The type to convert the value to. The converted value. Converts any JavaScript value to a primitive boolean value. The value to convert. A primitive boolean value. Converts any JavaScript value to a primitive number value. The value to convert. A primitive number value. Converts any JavaScript value to a primitive string value. The value to convert. A primitive string value. Converts any JavaScript value to a primitive string value. The value to convert. The value to return if the input is undefined. A primitive string value. Converts any JavaScript value to a concatenated string value. The value to convert. A concatenated string value. Converts any JavaScript value to an object. The script engine used to create new objects. The value to convert. An object. Converts any JavaScript value to an object. The script engine used to create new objects. The value to convert. The line number in the source file the error occurred on. The path or URL of the source file. Can be null. The name of the function. Can be null. An object. Converts any JavaScript value to an object. The script engine used to create new objects. The value to convert. An object. Converts any JavaScript value to a primitive value. The value to convert. Specifies whether toString() or valueOf() should be preferred when converting to a primitive. A primitive (non-object) value. Converts a value to a property key (either a string or a symbol). The value to convert. A property key value. Converts any JavaScript value to an integer. The value to convert. An integer value. Converts any JavaScript value to a 32-bit integer. The value to convert. A 32-bit integer value. Converts any JavaScript value to an unsigned 32-bit integer. The value to convert. An unsigned 32-bit integer value. Converts any JavaScript value to a signed 16-bit integer. The value to convert. A signed 16-bit integer value. Converts any JavaScript value to an unsigned 16-bit integer. The value to convert. An unsigned 16-bit integer value. Converts any JavaScript value to a signed 8-bit integer. The value to convert. A signed 8-bit integer value. Converts any JavaScript value to an unsigned 8-bit integer. The value to convert. An unsigned 8-bit integer value. Utility method to convert an object array to a typed array. The type to convert to. The script engine used to create new objects. The array to convert. The number of elements to skip at the beginning of the array. A typed array. Contains type-related functionality that isn't conversion or comparison. Gets the type name for the given object. Used by the typeof operator. The object to get the type name for. The type name for the given object. Returns true if the given value is undefined. The object to check. true if the given value is undefined; false otherwise. Returns true if the given value is a supported numeric type. The object to check. true if the given value is a supported numeric type; false otherwise. Returns true if the given value is a supported string type. The object to check. true if the given value is a supported string type; false otherwise. Converts the given value into a standard .NET type, suitable for returning from an API. The value to normalize. The value as a standard .NET type. Enumerates the names of the enumerable properties on the given object, including properties defined on the object's prototype. Used by the for-in statement. The script engine used to convert the given value to an object. The object to enumerate. An enumerator that iteratively returns property names. Adds two objects together, as if by the javascript addition operator. The left hand side operand. The right hand side operand. Either a number or a concatenated string. Determines if the given value is a supported JavaScript primitive. The value to test. true if the given value is a supported JavaScript primitive; false otherwise. Determines if the given value is a supported JavaScript primitive or derives from ObjectInstance. The value to test. true if the given value is a supported JavaScript primitive or derives from ObjectInstance; false otherwise. Throws a TypeError when the given value is null or undefined. The associated script engine. The value to check. The name of the function which is doing the check. Utility method for create a slice of an array. The array to slice. The offset to begin the resulting array. An array containing the input array elements, excluding the first entries. Determines if the given number is negative zero. The value to test. true if the value is negative zero; false otherwise. Determines if the given number is positive zero. The value to test. true if the value is positive zero; false otherwise. Converts an iteratable object into a iterator by looking up the @@iterator property, then calling that value as a function. The script engine. The object to get a iterator from. An iterator object, with a next function, or null if the iterator symbol value is undefined or null. Creates an iterator object that can iterate over a .NET enumerable collection. The returned object also supports the iterable protocol, meaning it can be used in a for-of loop. The script engine to associate the new object with. The enumerable collection. The item type must be a supported type. An iterator object that also supports the iterable protocol. Converts an iteratable object into a iterator by looking up the @@iterator property, then calling that value as a function. Throws an exception if the object isn't iterable. The script engine. The object to get a iterator from. An iterator object, with a next function. Iterate over the values in an iterator. The script engine. The iterator object. Must contain a next function. An enumerable list of iterator values. Implements the logic for the for-of operator. The script engine. The object to get a iterator from. An enumerable list of iterator values. Create an array whose elements are provided by the indexed properties of an array-like object. The array-like object to convert. An array. Retrieves the constructor that should be used to create new objects that are derived from the argument object . The object to check. The constructor to return if no @@species property can be found. A constructor that can be used to create new objects. Represents the JavaScript "undefined" type and provides the one and only instance of that type. Creates a new Undefined instance. Gets the one and only "undefined" instance. Returns a string representing the current object. A string representing the current object. Implements the array algorithms that are shared between arrays and typed arrays. Creates a new ArrayWrapper instance. The array-like object that is being wrapped. The number of elements in the array. The current scripting environment. The array-like object that is being wrapped. The number of elements in the array. Gets or sets an array element within the range 0 .. Length-1 (inclusive). The index to get or set. The value at the given index. Deletes the value at the given array index, throwing an exception on error. The array index to delete. Indicates whether the array index exists (has a value). The index to check. true if the index exists, false otherwise. Creates a new array of the same type as this one. The values in the new array. A new array object. Convert an untyped value to a typed value. The value to convert. The value converted to type . Concatenates all the elements of the array, using the specified separator between each element. If no separator is provided, a comma is used for this purpose. The string to use as a separator. A string that consists of the element values separated by the separator string. Reverses the order of the elements in the array. The array that is being operated on. Returns a section of an array. The index of the first element in the section. If this value is negative it is treated as an offset from the end of the array. The index of the element just past the last element in the section. If this value is negative it is treated as an offset from the end of the array. If is less than or equal to then an empty array is returned. A section of an array. Sorts the array. A comparison function. The array that was sorted. Returns a locale-specific string representing this object. A locale-specific string representing this object. Returns a string representing this object. A string representing this object. Returns the index of the given search element in the array, starting from . The value to search for. The array index to start searching. The index of the given search element in the array, or -1 if the element wasn't found. Returns the index of the given search element in the array, searching backwards from . The value to search for. The array index to start searching. The index of the given search element in the array, or -1 if the element wasn't found. Determines if every element of the array matches criteria defined by the given user- defined function. A user-defined function that is called for each element in the array. This function is called with three arguments: the value of the element, the index of the element, and the array that is being operated on. The function should return true or false. The value of this in the context of the callback function. true if every element of the array matches criteria defined by the given user-defined function; false otherwise. Determines if at least one element of the array matches criteria defined by the given user-defined function. A user-defined function that is called for each element in the array. This function is called with three arguments: the value of the element, the index of the element, and the array that is being operated on. The function should return true or false. The value of this in the context of the callback function. true if at least one element of the array matches criteria defined by the given user-defined function; false otherwise. Calls the given user-defined function once per element in the array. A user-defined function that is called for each element in the array. This function is called with three arguments: the value of the element, the index of the element, and the array that is being operated on. The value of this in the context of the callback function. Creates a new array with the results of calling the given function on every element in this array. A user-defined function that is called for each element in the array. This function is called with three arguments: the value of the element, the index of the element, and the array that is being operated on. The value that is returned from this function is stored in the resulting array. The value of this in the context of the callback function. A new array with the results of calling the given function on every element in the array. Returns the first element in the given array that passes the test implemented by the given function. A user-defined function that is called for each element in the array. This function is called with three arguments: the value of the element, the index of the element, and the array that is being operated on. The function should return true or false. The value of this in the context of the callback function. The first element that results in the callback returning true. Creates a new array with the elements from this array that pass the test implemented by the given function. A user-defined function that is called for each element in the array. This function is called with three arguments: the value of the element, the index of the element, and the array that is being operated on. The function should return true or false. The value of this in the context of the callback function. A copy of this array but with only those elements which produce true when passed to the provided function. Accumulates a single value by calling a user-defined function for each element. A user-defined function that is called for each element in the array. This function is called with four arguments: the current accumulated value, the value of the element, the index of the element, and the array that is being operated on. The return value for this function is the new accumulated value and is passed to the next invocation of the function. The initial accumulated value. The accumulated value returned from the last invocation of the callback function. Accumulates a single value by calling a user-defined function for each element (starting with the last element in the array). A user-defined function that is called for each element in the array. This function is called with four arguments: the current accumulated value, the value of the element, the index of the element, and the array that is being operated on. The return value for this function is the new accumulated value and is passed to the next invocation of the function. The initial accumulated value. The accumulated value returned from the last invocation of the callback function. Copies the sequence of array elements within the array to the position starting at target. The copy is taken from the index positions of the second and third arguments start and end. The end argument is optional and defaults to the length of the array. This method has the same algorithm as Array.prototype.copyWithin. Target start index position where to copy the elements to. Source start index position where to start copying elements from. Optional. Source end index position where to end copying elements from. The array that is being operated on. Fills all the elements of a typed array from a start index to an end index with a static value. The value to fill the typed array with. Optional. Start index. Defaults to 0. Optional. End index (exclusive). Defaults to the length of the array. The array that is being operated on. Returns an index in the typed array, if an element in the typed array satisfies the provided testing function. Otherwise -1 is returned. A user-defined function that is called for each element in the array. This function is called with three arguments: the value of the element, the index of the element, and the array that is being operated on. The function should return true or false. The value of this in the context of the callback function. The first element that results in the callback returning true. Determines whether an array includes a certain value among its entries. The value to search for. The array index to start searching. true given search element in the array, or false if the element wasn't found. Sorts a array using the quicksort algorithm. A comparison function. The first index in the range. The last index in the range. Sorts a array using the insertion sort algorithm. A comparison function. The first index in the range. The last index in the range. Swaps the elements at two locations in the array. The location of the first element. The location of the second element. Represents the built-in javascript Array object. Creates a new Array object. The next object in the prototype chain. Creates a new Array instance. Creates a new Array instance. The initial elements of the new array. Creates a new Array instance. The prototype of the newly created array. The initial elements of the new array. A reference to the constructor function that is used to create derived objects. Creates a new Array instance and initializes the contents of the array. Called when the Array object is invoked like a function, e.g. var x = Array(length). The initial elements of the new array. Creates a new Array instance and initializes the contents of the array. Called when the new expression is used on this object, e.g. var x = new Array(length). The initial elements of the new array. Creates a new Array instance and initializes the contents of the array. Called when the new expression is used on this object, e.g. var x = new Array(length). The value of the new.target expression. The initial elements of the new array. Tests if the given value is an Array instance. The value to test. true if the given value is an Array instance, false otherwise. Creates a new Array instance from a variable number of arguments. The difference between Array.of() and the Array constructor is in the handling of integer arguments: Array.of(7) creates an array with a single element, 7, whereas Array(7) creates an empty array with a length property of 7. The script engine to use. The elements of the new array. The Array.from() method creates a new, shallow-copied Array instance from an array-like or iterable object. The script engine to use. An array-like or iterable object to convert to an array. The Array.from() method creates a new, shallow-copied Array instance from an array-like or iterable object. The script engine to use. An array-like or iterable object to convert to an array. Map function to call on every element of the array. Value to use as this when executing . Represents an instance of the JavaScript Array object. Creates a new array with the given length and capacity. The next object in the prototype chain. The initial value of the length property. The number of elements to allocate. Creates a new array and initializes it with the given array. The next object in the prototype chain. The initial values in the array. Creates a new array and initializes it with the given sparse array. The next object in the prototype chain. The sparse array to use as the backing store. The initial value of the length property. Creates the Array prototype object. The script environment. A reference to the constructor that owns the prototype. Gets or sets the number of elements in the array. Equivalent to the javascript Array.prototype.length property. Gets an enumerable list of the defined element values stored in this array. Attempts to parse a string into a valid array index. The property key (either a string or a Symbol). The array index value, or uint.MaxValue if the property name does not reference an array index. Converts the JS array to a .NET object array. A .NET object array. Gets a descriptor for the property with the given array index. The array index of the property. A property descriptor containing the property value and attributes. The prototype chain is not searched. Sets the value of the property with the given array index. If a property with the given index does not exist, or exists in the prototype chain (and is not a setter) then a new property is created. The array index of the property to set. The value to set the property to. This must be a javascript primitive (double, string, etc) or a class derived from . The value of the "this" keyword inside a getter. true to throw an exception if the property could not be set. This can happen if the property is read-only or if the object is sealed. false if is false and an error occurred; true otherwise. Deletes the property with the given array index. The array index of the property to delete. true to throw an exception if the property could not be set because the property was marked as non-configurable. true if the property was successfully deleted, or if the property did not exist; false if the property was marked as non-configurable and was false. Defines or redefines the value and attributes of a property. The prototype chain is not searched so if the property exists but only in the prototype chain a new property will be created. The property key of the property to modify. The property value and attributes. true to throw an exception if the property could not be set. This can happen if the property is not configurable or the object is sealed. true if the property was successfully modified; false otherwise. Gets an enumerable list of every property name associated with this object. Does not include properties in the prototype chain. Returns a new array consisting of the values of this array plus any number of additional items. Values are appended from left to right. The array that is being operated on. Any number of items to append. A new array consisting of the values of this array plus any number of additional items. Removes the last element from the array and returns it. The array to operate on. The last element from the array. Removes the last element from the array and returns it. The last element from the array. Appends one or more elements to the end of the array. The array that is being operated on. The items to append to the array. Appends one element to the end of the array. The item to append to the array. The first element in the array is removed from the array and returned. All the other elements are shifted down in the array. The array that is being operated on. The first element in the array. Deletes a range of elements from the array and optionally inserts new elements. The array that is being operated on. An array containing the deleted elements, if any. Deletes a range of elements from the array and optionally inserts new elements. The array that is being operated on. The index to start deleting from. An array containing the deleted elements, if any. Deletes a range of elements from the array and optionally inserts new elements. The array that is being operated on. The index to start deleting from. The number of elements to delete. The items to insert. An array containing the deleted elements, if any. Prepends the given items to the start of the array. The array that is being operated on. The items to prepend. The new length of the array. Creates a new array with all sub-array elements concatenated into it recursively up to the specified depth. The array that is being operated on. The depth level specifying how deep a nested array structure should be flattened. Defaults to 1. A new array with the sub-array elements concatenated into it. Maps each element using a mapping function, then flattens the result into a new array. The array that is being operated on. A function that produces an element of the new Array, taking three arguments: currentValue, index, array. Value to use as this when executing callback. A new array with each element being the result of the callback function and flattened to a depth of 1. Implements an adapter for regular JS arrays. Creates a new ArrayInstanceWrapper instance. The array-like object that is being wrapped. Gets or sets an array element within the range 0 .. Length-1 (inclusive). The index to get or set. The value at the given index. Deletes the value at the given array index, throwing an exception on error. The array index to delete. Indicates whether the array index exists (has a value). The index to check. true if the index exists, false otherwise. Creates a new array of the same type as this one. The values in the new array. A new array object. Convert an untyped value to a typed value. The value to convert. The typed value. Concatenates all the elements of the array, using the specified separator between each element. If no separator is provided, a comma is used for this purpose. The array that is being operated on. The string to use as a separator. A string that consists of the element values separated by the separator string. Reverses the order of the elements in the array. The array that is being operated on. The array that is being operated on. Returns a section of an array. The array that is being operated on. The index of the first element in the section. If this value is negative it is treated as an offset from the end of the array. The index of the element just past the last element in the section. If this value is negative it is treated as an offset from the end of the array. If is less than or equal to then an empty array is returned. A section of an array. Sorts the array. The array that is being operated on. A function which determines the order of the elements. This function should return a number less than zero if the first argument is less than the second argument, zero if the arguments are equal or a number greater than zero if the first argument is greater than Defaults to an ascending ASCII ordering. The array that was sorted. Returns a locale-specific string representing this object. The array that is being operated on. A locale-specific string representing this object. Returns a string representing this object. The array that is being operated on. A string representing this object. Returns the index of the given search element in the array, starting from . The array that is being operated on. The value to search for. The array index to start searching. The index of the given search element in the array, or -1 if the element wasn't found. Returns the index of the given search element in the array, searching backwards from the end of the array. The array that is being operated on. The value to search for. The index of the given search element in the array, or -1 if the element wasn't found. Returns the index of the given search element in the array, searching backwards from . The array that is being operated on. The value to search for. The array index to start searching. The index of the given search element in the array, or -1 if the element wasn't found. Determines if every element of the array matches criteria defined by the given user- defined function. The array that is being operated on. A user-defined function that is called for each element in the array. This function is called with three arguments: the value of the element, the index of the element, and the array that is being operated on. The function should return true or false. The value of this in the context of the callback function. true if every element of the array matches criteria defined by the given user-defined function; false otherwise. Determines if at least one element of the array matches criteria defined by the given user-defined function. The array that is being operated on. A user-defined function that is called for each element in the array. This function is called with three arguments: the value of the element, the index of the element, and the array that is being operated on. The function should return true or false. The value of this in the context of the callback function. true if at least one element of the array matches criteria defined by the given user-defined function; false otherwise. Calls the given user-defined function once per element in the array. The array that is being operated on. A user-defined function that is called for each element in the array. This function is called with three arguments: the value of the element, the index of the element, and the array that is being operated on. The value of this in the context of the callback function. Creates a new array with the results of calling the given function on every element in this array. The array that is being operated on. A user-defined function that is called for each element in the array. This function is called with three arguments: the value of the element, the index of the element, and the array that is being operated on. The value that is returned from this function is stored in the resulting array. The value of this in the context of the callback function. A new array with the results of calling the given function on every element in the array. Returns the first element in the given array that passes the test implemented by the given function. The array that is being operated on. A user-defined function that is called for each element in the array. This function is called with three arguments: the value of the element, the index of the element, and the array that is being operated on. The function should return true or false. The value of this in the context of the callback function. The first element that results in the callback returning true. Creates a new array with the elements from this array that pass the test implemented by the given function. The array that is being operated on. A user-defined function that is called for each element in the array. This function is called with three arguments: the value of the element, the index of the element, and the array that is being operated on. The function should return true or false. The value of this in the context of the callback function. A copy of this array but with only those elements which produce true when passed to the provided function. Accumulates a single value by calling a user-defined function for each element. The array that is being operated on. A user-defined function that is called for each element in the array. This function is called with four arguments: the current accumulated value, the value of the element, the index of the element, and the array that is being operated on. The return value for this function is the new accumulated value and is passed to the next invocation of the function. The initial accumulated value. The accumulated value returned from the last invocation of the callback function. Accumulates a single value by calling a user-defined function for each element (starting with the last element in the array). The array that is being operated on. A user-defined function that is called for each element in the array. This function is called with four arguments: the current accumulated value, the value of the element, the index of the element, and the array that is being operated on. The return value for this function is the new accumulated value and is passed to the next invocation of the function. The initial accumulated value. The accumulated value returned from the last invocation of the callback function. Copies the sequence of array elements within the array to the position starting at target. The copy is taken from the index positions of the second and third arguments start and end. The end argument is optional and defaults to the length of the array. This method has the same algorithm as Array.prototype.copyWithin. The array that is being operated on. Target start index position where to copy the elements to. Source start index position where to start copying elements from. Optional. Source end index position where to end copying elements from. The array that is being operated on. Fills all the elements of a typed array from a start index to an end index with a static value. The array that is being operated on. The value to fill the typed array with. Optional. Start index. Defaults to 0. Optional. End index (exclusive). Defaults to the length of the array. The array that is being operated on. Returns an index in the typed array, if an element in the typed array satisfies the provided testing function. Otherwise -1 is returned. The array that is being operated on. A user-defined function that is called for each element in the array. This function is called with three arguments: the value of the element, the index of the element, and the array that is being operated on. The function should return true or false. The value of this in the context of the callback function. The first element that results in the callback returning true. Returns a new array iterator object that contains the key/value pairs for each index in the array. An array iterator object that contains the key/value pairs for each index in the array. Returns a new array iterator object that contains the keys for each index in the array. An array iterator object that contains the keys for each index in the array. Returns a new array iterator object that contains the values for each index in the array. An array iterator object that contains the values for each index in the array. Determines whether an array includes a certain value among its entries. The array that is being operated on. The value to search for. The array index to start searching. true given search element in the array, or false if the element wasn't found. Gets the number of items in the array. The array that is being operated on. The number of items in the array. Sets the number of items in the array. The array that is being operated on. The new value of the length property. Enlarges the size of the dense array. The new capacity of the array. The valid number of items in the array. Recursively appends sub-array elements into the given list. The list to append to. The array elements to append. A function that produces an element of the new Array, taking three arguments: currentValue, index, array. Value to use as this when executing callback. The depth of recursion when iterating through elements. Indicates whether the given object should be concatenated as if it was an array. The script engine. The value to check. true if the value should be concatenated as if it was an array, false otherwise. Enumerates the list of array-like properties (with numeric names). The script engine. The object to enumerate properties of. The value of the length property. No indices are returned that are higher or equal to this value. Enumerates the list of array-like properties (with numeric names). Represents an iteration over an array-like object. Creates a new array iterator. The next object in the prototype chain. The array-like object to iterate over. The type of values to return. Creates the array iterator prototype object. The script environment. The tag value that is used by the base implementation of toString(). Moves the iterator to the next element in the array. An object containing two properies: value and done. Represents an array with non-consecutive elements. Creates a sparse array from the given dense array. The array to copy items from. The number of items to copy. A new sparse array containing the items from the given array. Deletes (sets to null) an array element. The index of the array element to delete. Deletes (sets to null) a range of array elements. The index of the first array element to delete. The number of array elements to delete. Deletes (sets to null) a range of array elements. The index of the first array element to delete. The number of array elements to delete. The parent node of the node to delete from. Can be null. The node to delete from. The index of the node, in the parent node's array. The depth of the tree, treating as the root. Copies the elements of the sparse array to this sparse array, starting at a particular index. Existing values are overwritten. The sparse array to copy. The zero-based index at which copying begins. The number of elements to copy. Copies the elements of the given sparse array to this sparse array, starting at a particular index. Existing values are overwritten. The sparse array to copy. The zero-based index at which copying begins. Represents the built-in javascript Boolean object. Creates a new Boolean object. The next object in the prototype chain. Called when the Boolean object is invoked like a function, e.g. var x = Boolean("5"). Converts the given argument into a boolean value (not a Boolean object). Creates a new Boolean instance and initializes it to the given value. The value to initialize to. Defaults to false. Represents an instance of the JavaScript Boolean object. Creates a new boolean instance. The next object in the prototype chain. The value to initialize the instance with. Creates the Boolean prototype object. The script environment. A reference to the constructor that owns the prototype. Gets the primitive value of this object. Returns the underlying primitive value of the current object. The underlying primitive value of the current object. Returns a string representing this object. A string representing this object. Represents the instance portion of a CLR type that cannot be exposed directly but instead must be wrapped. Retrieves a ClrInstanceTypeWrapper object from the cache, if possible, or creates it otherwise. The associated script engine. The CLR type to wrap. Creates a new ClrInstanceTypeWrapper object. The associated script engine. The CLR type to wrap. Returns an object instance to serve as the next object in the prototype chain. The associated script engine. The CLR type to wrap. The next object in the prototype chain. Gets the .NET type this object represents. Returns a textual representation of this object. A textual representation of this object. Represents a non-native CLR object instance. Creates a new ClrInstanceWrapper object. The associated script engine. The CLR object instance to wrap. Returns an object instance to serve as the next object in the prototype chain. The associated script engine. The CLR object instance to wrap. The next object in the prototype chain. Creates an instance of ClrInstanceWrapper or ArrayInstance based on object type. The associated script engine. The CLR object instance to wrap. Gets the .NET instance this object represents. Returns a textual representation of this object. A textual representation of this object. Represents the static portion of a CLR type that cannot be exposed directly but instead must be wrapped. Retrieves a ClrStaticTypeWrapper object from the cache, if possible, or creates it otherwise. The associated script engine. The CLR type to wrap. Creates a new ClrStaticTypeWrapper object. The associated script engine. The CLR type to wrap. Returns an object instance to serve as the next object in the prototype chain. The associated script engine. The CLR type to wrap. The next object in the prototype chain. Gets the .NET type this object represents. Calls this function, passing in the given "this" value and zero or more arguments. The value of the "this" keyword within the function. An array of argument values. The value that was returned from the function. Creates an object, using this function as the constructor. The value of 'new.target'. An array of argument values. The object that was created. Populates the given object with properties, field and methods based on the given .NET type. The object to populate. The .NET type to search for methods. BindingFlags.Static to populate static methods; BindingFlags.Instance to populate instance methods. Returns a textual representation of this object. A textual representation of this object. Represents the built-in javascript Date object. Creates a new Date object. The next object in the prototype chain. Called when the Date object is invoked like a function, e.g. var x = Date(). Returns a string representing the current time. Creates a new Date object and sets its value to the current time. Creates a new Date object from a millisecond value. The number of milliseconds since 1 January 1970 00:00:00 UTC. Creates a new Date object from a string. A string representing a date, expressed in RFC 1123 format. Creates a new Date object from various date components, expressed in local time. The full year. The month as an integer between 0 and 11 (january to december). The day of the month, from 1 to 31. Defaults to 1. The number of hours since midnight, from 0 to 23. Defaults to 0. The number of minutes, from 0 to 59. Defaults to 0. The number of seconds, from 0 to 59. Defaults to 0. The number of milliseconds, from 0 to 999. Defaults to 0. If any of the parameters are out of range, then the other values are modified accordingly. Creates a new Date object from various date components, expressed in local time. An array containing date components, in the following order: year, month, day, hour, minute, second and millisecond. If any of the parameters are out of range, then the other values are modified accordingly. Returns the current date and time as the number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC. The current date and time as the number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC. Given the components of a UTC date, returns the number of milliseconds since January 1, 1970, 00:00:00 UTC to that date. The full year. The month as an integer between 0 and 11 (january to december). The day of the month, from 1 to 31. Defaults to 1. The number of hours since midnight, from 0 to 23. Defaults to 0. The number of minutes, from 0 to 59. Defaults to 0. The number of seconds, from 0 to 59. Defaults to 0. The number of milliseconds, from 0 to 999. Defaults to 0. The number of milliseconds since January 1, 1970, 00:00:00 UTC to the given date. This method differs from the Date constructor in two ways: 1. The date components are specified in UTC time rather than local time. 2. A number is returned instead of a Date instance. If any of the parameters are out of range, then the other values are modified accordingly. Parses a string representation of a date, and returns the number of milliseconds since January 1, 1970, 00:00:00 UTC. A string representing a date, expressed in RFC 1123 format. The prototype for the Date object. The underlying DateTime value. A DateTime that represents an invalid date. Creates a new Date instance and initializes it to the current time. The next object in the prototype chain. Creates a new Date instance from the given date value. The next object in the prototype chain. The number of milliseconds since January 1, 1970, 00:00:00 UTC. Creates a new Date instance from the given date string. The next object in the prototype chain. A string representing a date, expressed in RFC 1123 format. Creates a new Date instance from various date components, expressed in local time. The next object in the prototype chain. The full year. The month as an integer between 0 and 11 (january to december). The day of the month, from 1 to 31. Defaults to 1. The number of hours since midnight, from 0 to 23. Defaults to 0. The number of minutes, from 0 to 59. Defaults to 0. The number of seconds, from 0 to 59. Defaults to 0. The number of milliseconds, from 0 to 999. Defaults to 0. If any of the parameters are out of range, then the other values are modified accordingly. Creates a new Date instance from the given date. The next object in the prototype chain. The date to set the instance value to. Creates the Date prototype object. The script environment. A reference to the constructor that owns the prototype. Gets the date represented by this object in standard .NET DateTime format. Gets the date represented by this object as the number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC. Gets a value indicating whether the date instance is valid. A date can be invalid if NaN is passed to any of the constructor parameters. Returns the year component of this date, according to local time. The year component of this date, according to local time. Returns the year component of this date as an offset from 1900, according to local time. The year component of this date as an offset from 1900, according to local time. Returns the month component of this date, according to local time. The month component (0-11) of this date, according to local time. Returns the day of the month component of this date, according to local time. The day of the month component (1-31) of this date, according to local time. Returns the day of the week component of this date, according to local time. The day of the week component (0-6) of this date, according to local time. Returns the hour component of this date, according to local time. The hour component (0-23) of this date, according to local time. Returns the minute component of this date, according to local time. The minute component (0-59) of this date, according to local time. Returns the seconds component of this date, according to local time. The seconds component (0-59) of this date, according to local time. Returns the millisecond component of this date, according to local time. The millisecond component (0-999) of this date, according to local time. Returns the number of milliseconds since January 1, 1970, 00:00:00 UTC. The number of milliseconds since January 1, 1970, 00:00:00 UTC. Returns the time-zone offset in minutes for the current locale. The time-zone offset in minutes for the current locale. Returns the year component of this date, according to universal time. The year component of this date, according to universal time. Returns the month component of this date, according to universal time. The month component (0-11) of this date, according to universal time. Returns the day of the month component of this date, according to universal time. The day of the month component (1-31) of this date, according to universal time. Returns the day of the week component of this date, according to universal time. The day of the week component (0-6) of this date, according to universal time. Returns the hour component of this date, according to universal time. The hour component (0-23) of this date, according to universal time. Returns the minute component of this date, according to universal time. The minute component (0-59) of this date, according to universal time. Returns the seconds component of this date, according to universal time. The seconds component (0-59) of this date, according to universal time. Returns the millisecond component of this date, according to universal time. The millisecond component (0-999) of this date, according to universal time. Sets the full year (4 digits for 4-digit years) of this date, according to local time. The 4 digit year. The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for the new date. Sets the full year (4 digits for 4-digit years) of this date, according to local time. The 4 digit year. The month (0-11). The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for the new date. Sets the full year (4 digits for 4-digit years) of this date, according to local time. The 4 digit year. The month (0-11). The day of the month (1-31). The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for the new date. Sets the year of this date, according to local time. The year. Numbers less than 100 will be assumed to be The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for the new date. Sets the month of this date, according to local time. The month (0-11). The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for the new date. Sets the month of this date, according to local time. The month (0-11). The day of the month (1-31). The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for the new date. Sets the day of this date, according to local time. The day of the month (1-31). The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for the new date. Sets the hours component of this date, according to local time. The number of hours since midnight (0-23). The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for the new date. Sets the hours component of this date, according to local time. The number of hours since midnight (0-23). The number of minutes since the hour (0-59). The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for the new date. Sets the hours component of this date, according to local time. The number of hours since midnight (0-23). The number of minutes since the hour (0-59). The number of seconds since the minute (0-59). The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for the new date. Sets the hours component of this date, according to local time. The number of hours since midnight (0-23). The number of minutes since the hour (0-59). The number of seconds since the minute (0-59). The number of milliseconds since the second (0-999). The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for the new date. Sets the minutes component of this date, according to local time. The number of minutes since the hour (0-59). The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for the new date. Sets the minutes component of this date, according to local time. The number of minutes since the hour (0-59). The number of seconds since the minute (0-59). The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for the new date. Sets the minutes component of this date, according to local time. The number of minutes since the hour (0-59). The number of seconds since the minute (0-59). The number of milliseconds since the second (0-999). The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for the new date. Sets the seconds component of this date, according to local time. The number of seconds since the minute (0-59). The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for the new date. Sets the seconds component of this date, according to local time. The number of seconds since the minute (0-59). The number of milliseconds since the second (0-999). The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for the new date. Sets the milliseconds component of this date, according to local time. The number of milliseconds since the second (0-999). The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for the new date. Sets the full year (4 digits for 4-digit years) of this date, according to universal time. The 4 digit year. The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for the new date. Sets the full year (4 digits for 4-digit years) of this date, according to universal time. The 4 digit year. The month (0-11). The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for the new date. Sets the full year (4 digits for 4-digit years) of this date, according to universal time. The 4 digit year. The month (0-11). The day of the month (1-31). The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for the new date. Sets the month of this date, according to universal time. The month (0-11). The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for the new date. Sets the month of this date, according to universal time. The month (0-11). The day of the month (1-31). The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for the new date. Sets the day of this date, according to universal time. The day of the month (1-31). The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for the new date. Sets the hours component of this date, according to universal time. The number of hours since midnight (0-23). The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for the new date. Sets the hours component of this date, according to universal time. The number of hours since midnight (0-23). The number of minutes since the hour (0-59). The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for the new date. Sets the hours component of this date, according to universal time. The number of hours since midnight (0-23). The number of minutes since the hour (0-59). The number of seconds since the minute (0-59). The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for the new date. Sets the hours component of this date, according to universal time. The number of hours since midnight (0-23). The number of minutes since the hour (0-59). The number of seconds since the minute (0-59). The number of milliseconds since the second (0-999). The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for the new date. Sets the minutes component of this date, according to universal time. The number of minutes since the hour (0-59). The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for the new date. Sets the minutes component of this date, according to universal time. The number of minutes since the hour (0-59). The number of seconds since the minute (0-59). The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for the new date. Sets the minutes component of this date, according to universal time. The number of minutes since the hour (0-59). The number of seconds since the minute (0-59). The number of milliseconds since the second (0-999). The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for the new date. Sets the seconds component of this date, according to universal time. The number of seconds since the minute (0-59). The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for the new date. Sets the seconds component of this date, according to universal time. The number of seconds since the minute (0-59). The number of milliseconds since the second (0-999). The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for the new date. Sets the milliseconds component of this date, according to universal time. The number of milliseconds since the second (0-999). The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for the new date. Sets the date and time value of ths date. The number of milliseconds since January 1, 1970, 00:00:00 UTC. The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for the new date. Returns the date as a string. The date as a string. Returns the date as a string using GMT (Greenwich Mean Time). The date as a string. Returns the date as a string using GMT (Greenwich Mean Time). The date as a string. Used by the JSON.stringify to transform objects prior to serialization. The object that is being operated on. Unused. The date as a serializable string. Returns the date as a string using the current locale settings. Returns the date and time as a string using the current locale settings. Returns the time as a string using the current locale settings. Returns a string representing the date and time. The object that is being operated on. A string representing the date and time. Returns the time as a string. Returns the date as a string using UTC (universal time). Returns the primitive value of this object. The primitive value of this object. Returns a primitive value that represents the current object. Used by the addition and equality operators. The current script environment. The object to operate on. Specifies the conversion behaviour. Must be "default", "string" or "number". Returns the current date and time as the number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC. The current date and time as the number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC. Given the components of a UTC date, returns the number of milliseconds since January 1, 1970, 00:00:00 UTC to that date. The full year. The month as an integer between 0 and 11 (january to december). The day of the month, from 1 to 31. Defaults to 1. The number of hours since midnight, from 0 to 23. Defaults to 0. The number of minutes, from 0 to 59. Defaults to 0. The number of seconds, from 0 to 59. Defaults to 0. The number of milliseconds, from 0 to 999. Defaults to 0. The number of milliseconds since January 1, 1970, 00:00:00 UTC to the given date. This method differs from the Date constructor in two ways: 1. The date components are specified in UTC time rather than local time. 2. A number is returned instead of a Date instance. If any of the parameters are out of range, then the other values are modified accordingly. Parses a string representation of a date, and returns the number of milliseconds since January 1, 1970, 00:00:00 UTC. A string representing a date, expressed in RFC 1123 format. Gets a single component of this date. The date component to extract. Indicates whether to retrieve the component in local or universal time. The date component value, or NaN if the date is invalid. Sets one or more components of this date. The first date component to set. Indicates whether to set the component(s) in local or universal time. One or more date component values. The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for the new date. Converts a .NET date into a javascript date. The .NET date. The number of milliseconds since January 1, 1970, 00:00:00 UTC Converts a javascript date into a .NET date. The number of milliseconds since January 1, 1970, 00:00:00 UTC. The equivalent .NET date. Given the components of a date, returns the equivalent .NET date. The full year. The month as an integer between 0 and 11 (january to december). The day of the month, from 1 to 31. Defaults to 1. The number of hours since midnight, from 0 to 23. Defaults to 0. The number of minutes, from 0 to 59. Defaults to 0. The number of seconds, from 0 to 59. Defaults to 0. The number of milliseconds, from 0 to 999. Defaults to 0. Indicates whether the components are in UTC or local time. The equivalent .NET date. Gets the current time and date. The current time and date. Returns a string of the form "GMT+1200 (New Zealand Standard Time)". The date to get the time zone information from. A string of the form "GMT+1200 (New Zealand Standard Time)". Parses a javascript date string. Parses a javascript date string. The string to parse as a date. A date. Parses an unstructured javascript date string. The string to parse as a date. A date. Converts a timezone string to a timezone offset. The timezone string e.g. "+1300", "+13", "-1". The timezone offset, in minutes. e.g. +1200 will return 12*60=700. Indicates whether parsing was successful. Constructs a HashSet containing the names of days of the week. Constructs a dictionary containing the names of all the months and a mapping to the number of the month (1-12). Constructs a dictionary containing the names of all the time zones and a mapping to the time zone offset (in hours). Represents a constructor for one of the error types: Error, RangeError, SyntaxError, etc. Creates a new derived error function. The next object in the prototype chain. The type of error, e.g. Error, RangeError, etc. Called when the Error object is invoked like a function, e.g. var x = Error("oh no"). Creates a new derived error instance with the given message. A description of the error. Creates a new derived error instance with the given message. A description of the error. Represents the base class of all the javascript errors. Creates a new Error instance with the given message. The next object in the prototype chain. The initial value of the message property. Pass null to avoid creating this property. Creates the Error prototype object. The script environment. A reference to the constructor that owns the prototype. The type of error, e.g. Error, RangeError, etc. Determine the prototype for the given error type. The script engine associated with this object. The type of error, e.g. Error, RangeError, etc. The prototype. Gets the name for the type of error. Gets a human-readable description of the error. Gets the stack trace. Note that this is populated when the object is thrown, NOT when it is initialized. Sets the stack trace information. The path of the javascript source file that is currently executing. The name of the currently executing function. The line number of the statement that is currently executing. Returns a string representing the current object. The current script environment. The object that is being operated on. A string representing the current object. Used when creating an error to specify the specific type of error. Represents a generic error. Indicates a value that is not in the set or range of allowable values. Indicates the actual type of an operand is different than the expected type. Indicates that a parsing error has occurred. Indicates that one of the global URI handling functions was used in a way that is incompatible with its definition. Not used. Indicate that an invalid reference value has been detected. Represents a set of commands for working with the standard console. This class is non-standard - it is based on the Firebug console API (http://getfirebug.com/wiki/index.php/Console_API). Creates a new FirebugConsole instance. The associated script engine. Gets or sets the console to output to. Logs a message to the console. The objects provided will be converted to strings then joined together in a space separated line. The first parameter can be a string containing the following patterns: %s String %d, %i Integer %f Floating point number The items to format. Logs a message to the console. The objects provided will be converted to strings then joined together in a space separated line. The first parameter can be a string containing the following patterns: %s String %d, %i Integer %f Floating point number The items to format. Logs a message to the console using a style suggesting informational content. The objects provided will be converted to strings then joined together in a space separated line. The first parameter can be a string containing the following patterns: %s String %d, %i Integer %f Floating point number The items to format. Logs a message to the console using a style suggesting a warning. The objects provided will be converted to strings then joined together in a space separated line. The first parameter can be a string containing the following patterns: %s String %d, %i Integer %f Floating point number The items to format. Logs a message to the console using a style suggesting an error. The objects provided will be converted to strings then joined together in a space separated line. The first parameter can be a string containing the following patterns: %s String %d, %i Integer %f Floating point number The items to format. Tests that an expression is true. If not, it will write a message to the console. The expression to test. The items to format. Clears the console. Writes a message to the console and opens a nested block to indent all future messages sent to the console. Call console.groupEnd() to close the block. The items to format. Writes a message to the console and opens a nested block to indent all future messages sent to the console. Call console.groupEnd() to close the block. The items to format. Closes the most recently opened block created by a call to console.group(). Creates a new timer under the given name. Call console.timeEnd(name) with the same name to stop the timer and print the time elapsed. The name of the time to create. Stops a timer created by a call to console.time(name) and writes the time elapsed. The name of the timer to stop. Logs a message to the console. The objects provided will be converted to strings then joined together in a space separated line. The first parameter can be a string containing the following patterns: %s String %d, %i Integer %f Floating point number The style of the message (this determines the icon and text color). The items to format. Formats a message. The objects provided will be converted to strings then joined together in a space separated line. The first parameter can be a string containing the following patterns: %s String %d, %i Integer %f Floating point number %o Object hyperlink The items to format. A formatted string. Formats a message. The objects provided will be converted to strings then joined together in a space separated line. The first parameter can be a string containing the following patterns: %s String %d, %i Integer %f Floating point number %o Object hyperlink The items to format. An array containing formatted strings interspersed with objects. Indicates the level of severity. Log text, without any indication of the severity. Log informational text. Log warnings. Log errors. Represents the target of any Firebug console commands. Logs a message to the console. The style of the message (this determines the icon and text color). The objects to output to the console. These can be strings or ObjectInstances. Clears the console. Starts grouping messages together. The title for the group. true if subsequent messages should be hidden by default. Ends the most recently started group. Represents an implementation of the Firebug API using the standard console. Gets or sets the number of spaces to output before writing any text to the console. Gets or sets the number of spaces to add to the identation when group() is called. Logs a message to the console. A style which influences the icon and text color. The objects to output to the console. These can be strings or ObjectInstances. Clears the console. Starts grouping messages together. The title for the group. true if subsequent messages should be hidden by default. Ends the most recently started group. Represents an arguments object. Creates a new Arguments instance. The next object in the prototype chain. The function that was called. The bindings to allow modification. The argument values that were passed to the function. Used to retrieve the value of an argument. The script engine, this value, etc. The arguments that were passed to the function. The result of calling the method. Used to set the value of an argument. The script engine, this value, etc. The arguments that were passed to the function. The result of calling the method. Deletes the property with the given array index. The array index of the property to delete. true to throw an exception if the property could not be set because the property was marked as non-configurable. true if the property was successfully deleted, or if the property did not exist; false if the property was marked as non-configurable and was false. Returns an iterator that iterates over the argument values. An iterator for the arguments instance. Represents a function that has bound arguments. Creates a new instance of a user-defined function. The function that was bound. The value of the "this" parameter when the target function is called. Zero or more bound argument values. Gets the function that is being bound. Gets the value of the "this" parameter when the target function is called. Gets an array of zero or more bound argument values. Determines whether the given object inherits from this function. More precisely, it checks whether the prototype chain of the object contains the prototype property of this function. Used by the "instanceof" operator. The instance to check. true if the object inherits from this function; false otherwise. Calls this function, passing in the given "this" value and zero or more arguments. The value of the "this" keyword within the function. An array of argument values to pass to the function. The value that was returned from the function. Creates an object, using this function as the constructor. The value of 'new.target'. An array of argument values to pass to the function. The object that was created. Returns a string representing this object. A string representing this object. Represents a JS class, which is really just a special type of function. Classes cannot be called directly, but they can be instantiated using the 'new' operator. Creates a new instance of a user-defined class. The next object in the prototype chain. The name of the class. Can be null if none were supplied. The value of the 'prototype' property. A function that represents the constructor, if the class has one, or null otherwise. A class that doesn't extend looks like this: new ClassFunction(engine.Function.InstancePrototype, name, engine.Object.Construct(), constructor) A class that extends A looks like this: new ClassFunction(A, name, ObjectInstance.CreateRawObject(A.InstancePrototype), constructor) A class that extends null looks like this: new ClassFunction(engine.Function.InstancePrototype, name, ObjectInstance.CreateRawObject(null), constructor) Calls this function, passing in the given "this" value and zero or more arguments. The value of the "this" keyword within the function. An array of argument values to pass to the function. The value that was returned from the function. Creates an object, using this function as the constructor. The value of 'new.target'. An array of argument values. The object that was created. Returns a string representing this object. A string representing this object. Represents a JavaScript function implemented by one or more .NET methods. Creates a new instance of a built-in constructor function. The next object in the prototype chain. The name of the function. Creates a new instance of a function which calls the given delegate. The next object in the prototype chain. The delegate to call. The name of the function. Pass null to use the name of the delegate for the function name. The "typical" number of arguments expected by the function. Pass -1 to use the number of arguments expected by the delegate. Creates a new instance of a function which calls one or more provided methods. The next object in the prototype chain. An enumerable collection of methods that logically comprise a single method group. The name of the function. Pass null to use the name of the provided methods for the function name (in this case all the provided methods must have the same name). The "typical" number of arguments expected by the function. Pass -1 to use the maximum of arguments expected by any of the provided methods. Creates a new instance of a function which calls the given binder. The next object in the prototype chain. An object representing a collection of methods to bind to. Calls this function, passing in the given "this" value and zero or more arguments. The value of the "this" keyword within the function. An array of argument values. The value that was returned from the function. Creates an object, using this function as the constructor. The value of 'new.target'. An array of argument values. The object that was created. A binder that merely returns undefined. Creates a new EmptyBinder instance. Gets the name of the target methods. Gets the full name of the target methods, including the type name. Generates a method that does type conversion and calls the bound method. The ILGenerator used to output the body of the method. The number of arguments that will be passed to the delegate. A delegate that does type conversion and calls the method represented by this object. Represents a function that is implemented with a .NET static method. Faster, but less flexible version of ClrFunction. Now used by all the built-in constructors and functions. Creates a function which calls a .NET method, with no name or length. The next object in the prototype chain. The delegate to call when calling the JS method. Creates a new instance of a function which calls a .NET method. The prototype of the new function is set to the default function prototype. The script engine. The name of the function. The "typical" number of arguments expected by the function. The delegate to call when calling the JS method. Creates a new instance of a function which calls a .NET method. The next object in the prototype chain. The name of the function. The "typical" number of arguments expected by the function. The delegate to call when calling the JS method. Creates a new constructor function. The next object in the prototype chain. The delegate to call when calling the JS method as a constructor. The delegate to call when function is called. Adds properties needed by the function to the list of properties. The list of properties to add to. The name of the function. The "typical" number of arguments expected by the function. The value of the "prototype" property. Creates a new constructor function. The next object in the prototype chain. The name of the function. The "typical" number of arguments expected by the function. The value of the "prototype" property. The delegate to call when calling the JS method as a constructor. The delegate to call when function is called. Calls this function, passing in the given "this" value and zero or more arguments. The value of the "this" keyword within the function. An array of argument values. The value that was returned from the function. Indicates whether the 'new' operator can be used on this function. Will be false for built-in functions like Math.max. Creates an object, using this function as the constructor. The value of 'new.target'. An array of argument values. The object that was created. Represents the built-in JavaScript Function object. Creates a new Function object. The next object in the prototype chain. The prototype for instances created by this function. Called when the Function object is invoked like a function, e.g. var x = Function("5"). Creates a new function instance. The argument names plus the function body. A new function instance. Creates a new function instance. The argument names plus the function body. A new function instance. Represents a JavaScript function. Creates a new instance of a built-in function object, with the default Function prototype. The associated script engine. Creates a new instance of a built-in function object. The next object in the prototype chain. Creates a new instance of a built-in function object. The associated script engine. The next object in the prototype chain. Can be null. Initializes the prototype properties. The object to set the properties on. A reference to the constructor that owns the prototype. Gets the prototype of objects constructed using this function. Equivalent to the Function.prototype property. Gets the name of the function. Gets the number of arguments expected by the function. Determines whether the given object inherits from this function. More precisely, it checks whether the prototype chain of the object contains the prototype property of this function. Used by the "instanceof" operator. The instance to check. true if the object inherits from this function; false otherwise. Calls this function, passing in the given "this" value and zero or more arguments. The value of the "this" keyword within the function. An array of argument values. The value that was returned from the function. Calls this function, passing in the given "this" value and zero or more arguments. The name of the caller function. The value of the "this" keyword within the function. An array of argument values. The value that was returned from the function. Calls this function, passing in the given "this" value and zero or more arguments. The path of the javascript source file that contains the caller. The name of the caller function. The line number of the statement that is calling this function. The value of the "this" keyword within the function. An array of argument values. The value that was returned from the function. Indicates whether the 'new' operator can be used on this function. Will be false for built-in functions like Math.max. Creates an object, using this function as the constructor. The value of 'new.target'. An array of argument values. The object that was created. Creates an object, using this function as the constructor. The path of the javascript source file that contains the caller. The name of the caller function. The line number of the statement that is calling this function. The value of 'new.target'. An array of argument values. The object that was created. Calls the function, passing in parameters from the given array. The value of this in the context of the function. The arguments passed to the function, as an array. The result from the function call. Calls the function. The value of this in the context of the function. Any number of arguments that will be passed to the function. The result from the function call. Creates a new function that, when called, calls this function with the given "this" value and, optionally, one or more more arguments. The fixed value of "this". Any number of fixed arguments values. A new function. Returns a string representing this object. A string representing this object. Returns a string representing this object. A string representing this object. Represents a JavaScript function that throws a type error. Creates a new ThrowTypeErrorFunction instance. The next object in the prototype chain. Creates a new ThrowTypeErrorFunction instance. The next object in the prototype chain. The TypeError message. Calls this function, passing in the given "this" value and zero or more arguments. The value of the "this" keyword within the function. An array of argument values to pass to the function. The value that was returned from the function. Represents a JavaScript function implemented in javascript. Creates a new instance of a user-defined function. The next object in the prototype chain. The name of the function. A comma-separated list of arguments. The source code for the body of the function. This is used by new Function(). Creates a new instance of a user-defined function. The next object in the prototype chain. The name of the function. The names of the arguments. The scope at the point the function is declared. The source code for the function body. A delegate which represents the body of the function. true if the function body is strict mode; false otherwise. This is used by arguments. Creates a new instance of a user-defined function. The next object in the prototype chain. The name of the function. The names of the arguments. The scope at the point the function is declared. The source code for the function body. A delegate which represents the body of the function plus any dependencies. true if the function body is strict mode; false otherwise. A reference to the containing class prototype or object literal (or null). This is used by functions declared in JavaScript code (including getters and setters). Initializes the object properties. The name of the function. The expected number of arguments. A comma-separated list of arguments. Gets a list containing the names of the function arguments, in order of definition. This list can contain duplicate names. Gets a value that indicates whether the function was declared within strict mode code -or- the function contains a strict mode directive within the function body. Gets the scope at the point the function was declared. Gets the source code for the body of the function. Gets the body of the method in the form of disassembled IL code. Will be null unless was set to true. Gets a reference to the generated method. For internal use only. Gets a reference to the generated method. For internal use only. A reference to the containing class prototype or object literal (or null). Used by the 'super' property accessor. Calls this function, passing in the given "this" value and zero or more arguments. The value of the "this" keyword within the function. An array of argument values to pass to the function. The value that was returned from the function. Creates an object, using this function as the constructor. The value of 'new.target'. An array of argument values. The object that was created. Returns a string representing this object. A string representing this object. Represents functions and properties within the global scope. Creates a new Global object. The next object in the prototype chain. Retrieves a list of properties to apply to the global object. Decodes a string that was encoded with the encodeURI function. The current script environment. The associated script engine. The string, as it was before encoding. Decodes a string that was encoded with the decodeURIComponent function. The associated script engine. The string to decode. The string, as it was before encoding. Encodes a string containing a Uniform Resource Identifier (URI). The associated script engine. The string to encode. A copy of the given URI with the special characters encoded. Encodes a string containing a portion of a Uniform Resource Identifier (URI). The associated script engine. The string to encode. A copy of the given URI with the special characters encoded. Encodes a string using an encoding similar to that used in URLs. The string to encode. A copy of the given string with the special characters encoded. Evaluates the given javascript source code and returns the result. The associated script engine. The source code to evaluate. The value of the last statement that was executed, or undefined if there were no executed statements. Evaluates the given javascript source code and returns the result. The associated script engine. The source code to evaluate. The containing scope. The value of the "this" keyword in the containing scope. Indicates whether the eval statement is being called from strict mode code. The value of the last statement that was executed, or undefined if there were no executed statements. Determines whether the given number is finite. The number to test. false if the number is NaN or positive or negative infinity, true otherwise. Determines whether the given number is NaN. The number to test. true if the number is NaN, false otherwise. Decodes a string that has been encoded using escape(). The string to decode. A copy of the given string with the escape sequences decoded. Decodes a string containing a URI or a portion of a URI. The script engine used to create the error objects. The string to decode. A string containing the set of characters that should not be escaped. Alphanumeric characters should not be included. A copy of the given string with the escape sequences decoded. Encodes a string containing a URI or a portion of a URI. The associated script engine. The string to encode. An array containing the set of characters that should not be escaped. A copy of the given URI with the special characters encoded. Reads an integer value using the given reader. The reader to read characters from. Upon returning, contains the number of digits that were read. The numeric value, or double.NaN if no number was present. Determines if the given character is whitespace or a line terminator. The unicode code point for the character. true if the character is whitespace or a line terminator; false otherwise. Parses a hexidecimal number from within a string. The string containing the hexidecimal number. The start index of the hexidecimal number. The number of characters in the hexidecimal number. The numeric value of the hexidecimal number, or -1 if the number is not valid. Creates a 128 entry lookup table for the characters in the given string. The characters to include in the set. An array containing true for each character in the set. Represents a general iterator. Creates a new iterator. The script environment. The enumerable to iterate over. Creates the array iterator prototype object. The script environment. The tag value that is used by the base implementation of toString(). Returns this iterator. An iterator. Moves the iterator to the next element in the array. An object containing two properies: value and done. Converts JSON text into a series of tokens. Creates a JSONLexer instance with the given source of text. The script engine used to create error objects. A reader that will supply the JSON source text. Gets the reader that was supplied to the constructor. Reads the next token from the reader. A token, or null if there are no more tokens. Reads an keyword token. The first character of the identifier. An keyword token. Reads a numeric literal token. The first character of the token. A numeric literal token. Reads an integer value. The initial value, derived from the first character. The number of digits that were read from the stream. The numeric value, or double.NaN if no number was present. Reads a string literal. The first character of the string literal. A string literal. Reads a hexidecimal number with the given number of digits and turns it into a character. The character corresponding to the escape sequence, or the content that was read from the input if a valid hex number was not read. Reads past whitespace. Always returns null. Determines if the given character is whitespace or a line terminator. The character to test. true if the character is whitespace or a line terminator; false otherwise. Determines if the given character is valid as a character of an identifier. The character to test. true if the character is is valid as a character of an identifier; false otherwise. Determines if the given character is valid as the first character of a numeric literal. The character to test. true if the character is is valid as the first character of a numeric literal; false otherwise. Determines if the given character is valid in a hexidecimal number. The character to test. true if the given character is valid in a hexidecimal number; false otherwise. Represents the built-in JSON object. Creates a new JSON object. The next object in the prototype chain. Parses the JSON source text and transforms it into a value. The current script environment. The JSON text to parse. A function that will be called for each value. The value of the JSON text. Serializes a value into a JSON string. The current script environment. The value to serialize. Either a function that can transform each value before it is serialized, or an array of the names of the properties to serialize. Either the number of spaces to use for indentation, or a string that is used for indentation. The JSON string representing the value. Converts a series of JSON tokens into a JSON object. Creates a JSONParser instance with the given lexer supplying the tokens. The associated script engine. The lexical analyser that provides the tokens. Gets or sets a function that can be used to transform values as they are being parsed. Discards the current token and reads the next one. Indicates that the next token is identical to the given one. Throws an exception if this is not the case. Consumes the token. The expected token. Indicates that the next token should be an identifier. Throws an exception if this is not the case. Consumes the token. The identifier name. Parses the JSON text (optionally applying the reviver function) and returns the resulting value. The result of parsing the JSON text. Parses a value. A JSON value. Parses an array literal (e.g. "[1, 2]"). A populated array. Parses an object literal (e.g. "{a: 5}"). A populated object. Converts a value into JSON text. Creates a new JSONSerializer instance with the default options. The associated script engine. Gets or sets a function which can transform values before they are serialized. Gets or sets a string to use for indentation. Gets or sets a list of property names to be serialized. Serializes a value into a JSON string. The value to serialize. The JSON repesentation of the value, or null if passed an unserializable value (like a function). Transforms the value stored in the given object using toJSON and/or the replacer function. The object containing the value. The name of the property holding the value to transform. The transformed value. Transforms the value stored in the given object using toJSON and/or the replacer function. The object containing the value. The array index of the property holding the value to transform. The transformed value. Serializes a value into a JSON string. Does not serialize "undefined", check for that value before calling this method. The value to serialize. The StringBuilder to write the JSON representation of the value to. Adds double quote characters to the start and end of the given string and converts any invalid characters into escape sequences. The string to quote. The StringBuilder to write the quoted string to. Serializes an object into a JSON string. The object to serialize. The StringBuilder to write the JSON representation of the object to. Serializes an array into a JSON string. The array to serialize. The StringBuilder to write the JSON representation of the array to. The Map object is a simple key/value map. Any value (both objects and primitive values) may be used as either a key or a value. Creates a new map constructor. The next object in the prototype chain. A reference to the constructor function that is used to create derived objects. Called when the Map object is invoked like a function, e.g. var x = Map(). Throws an error. Creates a new Map. iterable is an Array or other iterable object whose elements are key-value pairs (2-element Arrays). Each key-value pair is added to the new Map. null is treated as undefined. A new Map object, either empty or initialised with the given values. The Map object is a simple key/value map. Any value (both objects and primitive values) may be used as either a key or a value. Creates a new Map instance. The next object in the prototype chain. Creates the Map prototype object. The script environment. A reference to the constructor that owns the prototype. Called before a linked list node is deleted. Gets the internal storage. Used by debugger decoration only. The number of elements in the Map. Removes all elements from a Map object. Removes the specified element from a Map object. The key of the element to remove from the Map object. true if an element in the Map object existed and has been removed, or false if the element does not exist. Returns a new Iterator object that contains the [key, value] pairs for each element in the Map object in insertion order. A new Iterator object. Executes a provided function once per each key/value pair in the Map object, in insertion order. Function to execute for each element. Value to use as this when executing callback. Returns a specified element from a Map object. The key of the element to return from the Map object. The element associated with the specified key, or undefined if the key can't be found in the Map object. Returns a boolean indicating whether an element with the specified key exists or not. The key of the element to test for presence in the Map object. true if an element with the specified key exists in the Map object; otherwise false. Returns a new Iterator object that contains the keys for each element in the Map object in insertion order. A new Iterator object. Adds a new element with a specified key and value to a Map object. The key of the element to add to the Map object. The value of the element to add to the Map object. The Map object. Returns a new Iterator object that contains the values for each element in the Map object in insertion order. A new Iterator object. Implements the SameValueZero comparison operation. Represents an iteration over a Map. Creates a new map iterator. The next object in the prototype chain. The map to iterate over. The linked list to iterate over. The type of values to return. Creates the array iterator prototype object. The script environment. Called before a linked list node is deleted. The node that is being deleted. The tag value that is used by the base implementation of toString(). Moves the iterator to the next element in the array. An object containing two properies: value and done. Gets wheter the end is reached. Used by debugger decoration only. Gets current index. Used by debugger decoration only. Gets what is iterated - key, value or both Gets the iterated Map Represents the built-in Math class that has mathematical constants and functions. Creates a new Math object. The next object in the prototype chain. The mathematical constant E, approximately 2.718. The natural logarithm of 2, approximately 0.693. The natural logarithm of 10, approximately 2.303. The base 2 logarithm of E, approximately 1.442. The base 10 logarithm of E, approximately 0.434. The ratio of the circumference of a circle to its diameter, approximately 3.14159. The square root of 0.5, approximately 0.707. The square root of 2, approximately 1.414. Returns the absolute value of a number. The number to operate on. The absolute value of the parameter. Returns the arccosine of a number. The number to operate on. The arccosine of the parameter. If is less than -1 or greater than 1, then NaN is returned. Returns the arcsine of a number. The number to operate on. The arcsine of the parameter. If is less than -1 or greater than 1, then NaN is returned. Returns the arctangent of a number. The number to operate on. The arctangent of the parameter. If is less than -1 or greater than 1, then NaN is returned. Returns the counter-clockwise angle (in radians) from the X axis to the point (x,y). A numeric expression representing the cartesian x-coordinate. A numeric expression representing the cartesian y-coordinate. The angle (in radians) from the X axis to a point (x,y) (between -pi and pi). Returns the smallest integer greater than or equal to a number. The number to operate on. The smallest integer greater than or equal to the parameter. Returns the cosine of an angle. The angle to operate on. The cosine of the parameter (between -1 and 1). Returns e (the base of natural logarithms) raised to the specified power. The exponent. E (the base of natural logarithms) raised to the specified power. Returns the greatest integer less than or equal to a number. The number to operate on. The greatest integer less than or equal to the parameter. Returns the natural logarithm of a number. The number to operate on. The natural logarithm of the parameter. Returns the largest of zero or more numbers. The numbers to operate on. The largest of zero or more numbers. If no arguments are provided, the return value is equal to NEGATIVE_INFINITY. If any of the arguments cannot be converted to a number, the return value is NaN. Returns the smallest of zero or more numbers. The numbers to operate on. The smallest of zero or more numbers. If no arguments are provided, the return value is equal to NEGATIVE_INFINITY. If any of the arguments cannot be converted to a number, the return value is NaN. Returns the value of a base expression taken to a specified power. The base value of the expression. The exponent value of the expression. The value of the base expression taken to the specified power. Returns a pseudorandom number between 0 and 1. A pseudorandom number between 0 and 1. The pseudorandom number generated is from 0 (inclusive) to 1 (exclusive), that is, the returned number can be zero, but it will always be less than one. The random number generator is seeded automatically. Returns the value of a number rounded to the nearest integer. The number to operate on. The required number argument is the value to be rounded to the nearest integer. For positive numbers, if the decimal portion of number is 0.5 or greater, the return value is equal to the smallest integer greater than number. If the decimal portion is less than 0.5, the return value is the largest integer less than or equal to number. For negative numbers, if the decimal portion is exactly -0.5, the return value is the smallest integer that is greater than the number. For example, Math.round(8.5) returns 9, but Math.round(-8.5) returns -8. Returns the sine of an angle. The angle, in radians. The sine of the parameter (between -1 and 1). Returns the square root of a number. The number to operate on. The square root of the parameter. Returns the tangent of an angle. The angle, in radians. The tangent of the parameter (between -1 and 1). Returns the base 10 logarithm of a number. The number to operate on. The base 10 logarithm of the parameter. Returns the base 2 logarithm of a number. The number to operate on. The base 2 logarithm of the parameter. Returns the natural logarithm (base E) of one plus a number. The result is calculated in such a way that the result is accurate even if the number is close to zero. The number to operate on. The natural logarithm (base E) of one plus the parameter. Returns E to the power of a number minus 1. The result is calculated in such a way that the result is accurate even if the number is close to zero. The number to operate on. E to the power of the parameter minus 1. Returns the hyperbolic cosine of a number. The number to operate on. The hyperbolic cosine of the parameter. Returns the hyperbolic sine of a number. The number to operate on. The hyperbolic sine of the parameter. Returns the hyperbolic tangent of a number. The number to operate on. The hyperbolic tangent of the parameter. Returns the inverse hyperbolic cosine of a number. The number to operate on. The inverse hyperbolic cosine of the parameter. Returns the inverse hyperbolic sine of a number. The number to operate on. The inverse hyperbolic sine of the parameter. Returns the inverse hyperbolic tangent of a number. The number to operate on. The inverse hyperbolic tangent of the parameter. Returns the square root of the sum of squares of the provided numbers. The numbers to operate on. The square root of the sum of squares of . Returns the square root of the sum of squares of the provided numbers. The first number to operate on. The second number to operate on. The square root of the sum of squares of and . Returns the integral part of a number, removing any fractional digits. The number to operate on. The integral part of the parameter. Returns the sign of the x, indicating whether x is positive, negative or zero. The number to operate on. The sign of the parameter. Returns the result of the 32-bit multiplication of the two parameters. The first value to multiply. The second value to multiply. The result of multiplying the two numbers as if they were 32-bit integers. Returns the result of converting the double precision number to the nearest single precision equivalent. The number to operate on. The result of converting the double precision number to the nearest single precision equivalent. Converts the input value to an unsigned 32-bit integer, then returns the number of leading zero bits. The number to operate on. The number of leading zero bits, treating the input like an unsigned 32-bit integer. Returns an approximation to the cube root of the input value. The number to operate on. An approximation to the cube root of the input value. Represents the built-in javascript Number object. Creates a new Number object. The next object in the prototype chain. Called when the Number object is invoked like a function, e.g. var x = Number("5"). Returns zero. Called when the Number object is invoked like a function, e.g. var x = Number("5"). Converts the given argument into a number value (not a Number object). Creates a new Number instance and initializes it to zero. Creates a new Number instance and initializes it to the given value. The value to initialize to. The largest representable number, approximately 1.8e+308. The smallest positive representable number, approximately 5e-324. Special "not a number" value. Special value representing negative infinity. Special value representing positive infinity. The difference between 1 and the smallest value greater than 1 that is representable as a numeric value. The maximum integer within the range of integers that can be represented exactly. Outside the safe range multiple integers are mapped to a single value. The minimum integer within the range of integers that can be represented exactly. Outside the safe range multiple integers are mapped to a single value. Determines whether the given number is finite. The number to test. false if the number is NaN or positive or negative infinity, true otherwise. false if the value is not a number. Determines whether the given number is NaN. The number to test. true if the number is NaN, false otherwise. Determines whether the given number is an integer. The number to test. true if the number is an integer, false otherwise. Determines whether the given number is within the "safe" integer range. The number to test. true if the number is a safe integer, false otherwise. Parses the given string and returns the equivalent integer value. The associated script engine. The string to parse. The numeric base to use for parsing. Pass zero to use base 10 except when the input string starts with '0' in which case base 16 or base 8 are used instead (base 8 is only supported in compatibility mode). The equivalent integer value of the given string. Leading whitespace is ignored. Parsing continues until the first invalid character, at which point parsing stops. No error is returned in this case. Parses the given string and returns the equivalent numeric value. The string to parse. The equivalent numeric value of the given string. Leading whitespace is ignored. Parsing continues until the first invalid character, at which point parsing stops. No error is returned in this case. Represents an instance of the Number object. None of the methods of the Number prototype are generic; they should throw TypeError if the this value is not a Number object or a number primitive. The primitive value. Creates a new Number instance and initializes it to the given value. The next object in the prototype chain. The value to initialize to. Creates the Number prototype object. The script environment. A reference to the constructor that owns the prototype. Gets the primitive value of the number. Returns a string representing a number represented in exponential notation. Number of digits after the decimal point. Must be in the range 0 – 20, inclusive. Defaults to the number of digits necessary to specify the number. A string representation of a number in exponential notation. The string contains one digit before the significand's decimal point, and may contain fractionDigits digits after it. Returns a string representing a number in fixed-point notation. Number of digits after the decimal point. Must be in the range 0 – 20, inclusive. A string representation of a number in fixed-point notation. The string contains one digit before the significand's decimal point, and must contain fractionDigits digits after it. If fractionDigits is not supplied or undefined, the toFixed method assumes the value is zero. Returns a string containing a locale-dependant version of the number. A string containing a locale-dependant version of the number. Returns a string containing a number represented either in exponential or fixed-point notation with a specified number of digits. The number of significant digits. Must be in the range 1 – 21, inclusive. A string containing a number represented either in exponential or fixed-point notation with a specified number of digits. For numbers in exponential notation, precision - 1 digits are returned after the decimal point. For numbers in fixed notation, precision significant digits are returned. If precision is not supplied or is undefined, the toString method is called instead. Returns the textual representation of the number. Specifies a radix for converting numeric values to strings. The textual representation of the number. Returns the primitive value of the specified object. The primitive value of the specified object. Calculates the number of leading zero bits in the integer representation of this number. The number of leading zero bits in the integer representation of this number. Counts the number of set bits in an integer. The integer. The number of set bits in the integer. The base class of the javascript function attributes. Creates a new BaseJSFunctionAttribute instance with no flags. Creates a new BaseJSFunctionAttribute instance. One or more flags. Gets or sets the flags associated with the function. Marks a method as being visible to javascript code. Creates a new JSFunctionAttribute instance with no flags. Get or sets the name of the function, as exposed to javascript. Indicates the function is non-standard. Indicates the function is deprecated and should not be used. Gets or sets the "typical" number of arguments expected by the function. Gets or sets whether the property value is writable. If this flag is not set, attempting to modify the property will fail. The default value of this property is true. Gets or sets whether the property should be enumerable (exposed via the for...in construct) in JavaScript code. The default value of this property is false. Gets or sets whether the property should be configurable, that is, whether the property may be changed or have its descriptor changed by JavaScript code. The default value of this property is true. Marks a method as being visible to javascript code. Used internally - has different defaults to what you would expect. Gets or sets the number of parameters that are required. If the function is called with fewer than this number of arguments, then a TypeError will be thrown. Marks a property as being visible to JavaScript code. Creates a new Gets or sets the name of the property as exposed to JavaScript code. Gets or sets whether the property should be enumerable (exposed via the for...in construct) in JavaScript code. The default value of this property is false. Gets or sets whether the property should be configurable, that is, whether the property may be changed or have its descriptor changed by JavaScript code. The default value of this property is true. Some built-in objects act like both classes and functions depending on whether the new operator is used (for example, the Number object acts this way). This property indicates that the method should be called when an object is called like a function. Indicates that the method should be called when the new keyword is used. Marks a field as being visible to javascript code. Currently only const fields are supported. Represents a container for property names and attributes. Creates a new HiddenClassSchema instance from a modify or delete operation. Creates a new HiddenClassSchema instance from an add operation. Creates a hidden class schema with no properties. A hidden class schema with no properties. Gets the number of properties defined in this schema. Gets the index into the Values array of the next added property. Enumerates the property names for this schema. An enumerable collection of property names. Enumerates the property names and values for this schema. The array containing the property values. An enumerable collection of property names and values. Gets the zero-based index of the property with the given name. The property key (either a string or a Symbol). The zero-based index of the property, or -1 if a property with the given name does not exist. Gets the zero-based index of the property with the given name and the attributes associated with the property. The property key (either a string or a Symbol). A structure containing the zero-based index of the property, or -1 if a property with the given name does not exist. Adds a property to the schema. The property key of the property to add. The property attributes. A new schema with the extra property. Adds multiple properties to the schema. The properties to add. A new schema with the extra properties. Deletes a property from the schema. The property key of the property to delete. A new schema without the property. Modifies the attributes for a property in the schema. The property key of the property to modify. The new attributes. A new schema with the modified property. Creates the properties dictionary. A set of flags that controls stub generation. No flags were specified. The first parameter to the function is the associated ScriptEngine. The first (or second, if HasEngineParameter is specified) parameter to the function is the this value. Indicates that the instance object may be modified by the function. A return value of null is converted to undefined immediately after control leaves the method. Represents the built-in javascript Object object. Creates a new Object object. The next object in the prototype chain. The prototype for instances created by this function. Creates a new Object instance. Converts the given argument to an object. The value to convert. Converts the given argument to an object. The value to convert. Retrieves the next object in the prototype chain for the given object. The object to retrieve the prototype from. The next object in the prototype chain for the given object, or null if the object has no prototype chain. Sets the prototype of a specified object to another object or null. The object which is to have its prototype set. The object's new prototype (an object or null). The specified object. Gets an object that contains details of the property with the given name. The object to retrieve property details for. The property key (either a string or a Symbol). An object containing some of the following properties: configurable, writable, enumerable, value, get and set. Creates an array containing the names of all the named properties on the object (even the non-enumerable ones). The object to retrieve the property names for. An array containing property names. Creates an array containing the symbols of all the symbol-based properties on the object (even the non-enumerable ones). The object to retrieve the property symbols for. An array containing symbols. Creates an object with the given prototype and, optionally, a set of properties. The script engine. A reference to the next object in the prototype chain for the created object. An object containing one or more property descriptors. A new object instance. Assigns enumerable properties of one or more source objects onto a destination object. The script engine. The destination object to copy properties to. One or more source objects to copy properties from. A new object instance. Modifies the value and attributes of a property. The object to define the property on. The property key (either a string or a Symbol). A property descriptor containing some of the following properties: configurable, writable, enumerable, value, get and set. The object with the property. Modifies multiple properties on an object. The object to define the properties on. An object containing one or more property descriptors. The object with the properties. Prevents the addition or deletion of any properties on the given object. The object to modify. The object that was affected. Prevents the addition, deletion or modification of any properties on the given object. The object to modify. The object that was affected. Prevents the addition of any properties on the given object. The object to modify. The object that was affected. Determines if addition or deletion of any properties on the object is allowed. The object to check. true if properties can be added or at least one property can be deleted; false otherwise. Determines if addition, deletion or modification of any properties on the object is allowed. The object to check. true if properties can be added or at least one property can be deleted or modified; false otherwise. Determines if addition of properties on the object is allowed. The object to check. true if properties can be added to the object; false otherwise. Creates an array containing the names of all the enumerable properties on the object. The object to retrieve the property names for. An array containing the names of all the enumerable properties on the object. Determines whether two values are the same value. Note that this method considers NaN to be equal with itself and negative zero is considered different from positive zero. The first value to compare. The second value to compare. true if the values are the same. Transforms a list of key-value pairs into an object. An iterable such as Array or Map. A new object whose properties are given by the entries of the iterable. Provides functionality common to all JavaScript objects. Indicates whether properties can be added to this object. Creates an Object with the default prototype. The script engine associated with this object. Called by derived classes to create a new object instance. The next object in the prototype chain. Cannot be null. Called by derived classes to create a new object instance. The script engine associated with this object. The next object in the prototype chain. Can be null. Creates an Object with no prototype to serve as the base prototype of all objects. The script engine associated with this object. An Object with no prototype. Creates an Object instance (use ObjectConstructor.Construct rather than this). The next object in the prototype chain. An Object instance. Initializes the prototype properties. The object to set the properties on. A reference to the constructor that owns the prototype. Gets a reference to the script engine associated with this object. Gets the next object in the prototype chain. There is no corresponding property in javascript (it is is *not* the same as the prototype property), instead use Object.getPrototypeOf(). Returns null for the root object in the prototype chain. Use to set this value. Gets a value that indicates whether the object can have new properties added to it. Called by Object.isExtensible(). Use to set this value. Gets or sets the value of a named property. The property key (either a string or a Symbol). The property value, or if the property doesn't exist. Gets or sets the value of an array-indexed property. The index of the property to retrieve. The property value, or if the property doesn't exist. Gets or sets the value of an array-indexed property. The index of the property to retrieve. The property value, or if the property doesn't exist. Gets an enumerable list of every property name and value associated with this object. Does not include properties in the prototype chain. Gets an enumerable list of every property name associated with this object. Does not include properties in the prototype chain. Sets the next object in the prototype chain. Can be null, which indicates there are no further objects in the chain. The new prototype. true to throw an exception if the prototype could not be set. This can happen if the object is non-extensible or if setting the prototype would introduce a cyclic dependency. true if the prototype was successfully applied; false otherwise. Makes this object non-extensible, which means no new properties can be added to it. true to throw an exception if the object could not be made non-extensible. true if the operation was successful, false otherwise. The default implementation always returns true. Determines if a property with the given name exists. The property key (either a string or a Symbol). true if the property exists on this object or in the prototype chain; false otherwise. Gets the value of the property with the given array index. The array index of the property. The value of the property, or null if the property doesn't exist. The prototype chain is searched if the property does not exist directly on this object. Gets the value of the property with the given array index. The array index of the property. The value of the "this" keyword inside a getter. The value of the property, or null if the property doesn't exist. The prototype chain is searched if the property does not exist directly on this object. Gets the value of the property with the given name. The property key (either a string or a Symbol). The value of the property, or null if the property doesn't exist. The prototype chain is searched if the property does not exist directly on this object. Gets the value of the property with the given name. The property key (either a string or a Symbol). The value of the "this" keyword inside a getter. The value of the property, or null if the property doesn't exist. The prototype chain is searched if the property does not exist directly on this object. Gets the value of the property with the given name. The property key (either a string or a Symbol). Receives the value of the property, or null if the property doesn't exist. true if the value exists, false otherwise. Gets the value of the property with the given name. The name of the property. The value of the property, or if the property doesn't exist. The prototype chain is searched if the property does not exist directly on this object. Gets the value of the property with the given name. The name cannot be an array index. The property key (either a string or a Symbol). Cannot be an array index. The value of the "this" keyword inside a getter. The value of the property, or null if the property doesn't exist. The prototype chain is searched if the property does not exist directly on this object. Gets a descriptor for the property with the given array index. The array index of the property. A property descriptor containing the property value and attributes. The prototype chain is not searched. Gets a descriptor for the property with the given name. The property key (either a string or a Symbol). A property descriptor containing the property value and attributes. The prototype chain is not searched. Returns the function with the given name, if it exists. The property key (either a string or a Symbol). Cannot be a number. The method with the given name, if it exists; otherwise null. A property exists with the given name, but it's not callable. Sets the value of the property with the given array index. If a property with the given index does not exist, or exists in the prototype chain (and is not a setter) then a new property is created. The array index of the property to set. The value to set the property to. This must be a javascript primitive (double, string, etc) or a class derived from . true to throw an exception if the property could not be set. This can happen if the property is read-only or if the object is sealed. false if an error occurred. Sets the value of the property with the given array index. If a property with the given index does not exist, or exists in the prototype chain (and is not a setter) then a new property is created. The array index of the property to set. The value to set the property to. This must be a javascript primitive (double, string, etc) or a class derived from . The value of the "this" keyword inside a setter. true to throw an exception if the property could not be set. This can happen if the property is read-only or if the object is sealed. false if an error occurred. Sets the value of the property with the given name. If a property with the given name does not exist, or exists in the prototype chain (and is not a setter) then a new property is created. The property key of the property to set. The value to set the property to. This must be a javascript primitive (double, string, etc) or a class derived from . true to throw an exception if the property could not be set (i.e. if the property is read-only or if the object is not extensible and a new property needs to be created). false if is false and an error occurred; true otherwise. Sets the value of the property with the given name. If a property with the given name does not exist, or exists in the prototype chain (and is not a setter) then a new property is created. The property key of the property to set. The value to set the property to. This must be a javascript primitive (double, string, etc) or a class derived from . The value of the "this" keyword inside a setter. true to throw an exception if the property could not be set (i.e. if the property is read-only or if the object is not extensible and a new property needs to be created). false if is false and an error occurred; true otherwise. Sets the value of the property with the given name. If a property with the given name does not exist, or exists in the prototype chain (and is not a setter) then a new property is created. The name of the property to set. The value to set the property to. This must be a javascript primitive (double, string, etc) or a class derived from . true to throw an exception if the property could not be set (i.e. if the property is read-only or if the object is not extensible and a new property needs to be created). false if is false and an error occurred; true otherwise. Sets the value of the property with the given name. If a property with the given name does not exist, or exists in the prototype chain (and is not a setter) then a new property is created. The name of the property to set. The value to set the property to. This must be a javascript primitive (double, string, etc) or a class derived from . The value of the "this" keyword inside a setter. true to throw an exception if the property could not be set (i.e. if the property is read-only or if the object is not extensible and a new property needs to be created). false if is false and an error occurred; true otherwise. Sets the value of the given property. If a property with the given name exists, but only in the prototype chain, then a new property is created (unless the property is a setter, in which case the setter is called and no property is created). If the property does not exist at all, then no property is created and the method returns false. This method is used to set the value of a variable reference within a with statement. The property key (either a string or a Symbol). Cannot be an array index. The desired value of the property. This must be a javascript primitive (double, string, etc) or a class derived from . The value of the "this" keyword inside a setter. true to throw an exception if the property could not be set (i.e. if the property is read-only or if the object is not extensible and a new property needs to be created). Set to true if the property value exists; false otherwise. false if is false and an error occurred; true otherwise. Deletes the property with the given array index. The array index of the property to delete. true to throw an exception if the property could not be set because the property was marked as non-configurable. true if the property was successfully deleted, or if the property did not exist; false if the property was marked as non-configurable and was false. Deletes the property with the given name. The property key of the property to delete. true to throw an exception if the property could not be set because the property was marked as non-configurable. true if the property was successfully deleted, or if the property did not exist; false if the property was marked as non-configurable and was false. Defines or redefines the value and attributes of a property. The prototype chain is not searched so if the property exists but only in the prototype chain a new property will be created. The property key of the property to modify. The property value and attributes. true to throw an exception if the property could not be set. This can happen if the property is not configurable or the object is sealed. true if the property was successfully modified; false otherwise. Checks whether the given descriptor is compatible with the current descriptor. Indicates whether the target object is extensible. The new descriptor. The descriptor corresponding to the currently existing property. true if the new descriptor is compatible with the old one; false otherwise. Adds a property to this object. The property must not already exist. The property key of the property to add. The desired value of the property. This can be a . Attributes describing how the property may be modified. true to throw an exception if the property could not be added (i.e. if the object is not extensible). true if the property was successfully added; false otherwise. Sets a property value and attributes, or adds a new property if it doesn't already exist. Any existing attributes are ignored (and not modified). The property key (either a string or a Symbol). The intended value of the property. Attributes that indicate whether the property is writable, configurable and enumerable. Indicates whether to overwrite any existing attributes. Sets up multiple properties at once. Can only be called on an empty object. The list of properties to set. Initializes a property to be undefined, if the property doesn't exist. If it does exist, then this method does nothing. The property key of the property. The attributes of the new property, if it doesn't exist. Returns a primitive value that represents the current object. Used by the addition and equality operators. Indicates the preferred type of the result. A primitive value that represents the current object. Returns a primitive value that represents the current object, without using the @@toPrimitive symbol. Indicates the preferred type of the result. A primitive value that represents the current object. Calls the function with the given name. The function must exist on this object or an exception will be thrown. The name of the function to call (or a symbol). The parameters to pass to the function. The result of calling the function. Calls the function with the given name. The result of calling the function. The name or symbol of the function to call. The parameters to pass to the function. true if the function was called successfully; false otherwise. Returns a string representing this object. A string representing this object. Determines if a property with the given name exists on this object. The associated script engine. The object that is being operated on. The property key (either a string or a Symbol). true if a property with the given name exists on this object, false otherwise. Objects in the prototype chain are not considered. Determines if this object is in the prototype chain of the given object. The associated script engine. The object that is being operated on. The object to check. true if this object is in the prototype chain of the given object; false otherwise. Determines if a property with the given name exists on this object and is enumerable. The associated script engine. The object that is being operated on. The property key (either a string or a Symbol). true if a property with the given name exists on this object and is enumerable, false otherwise. Objects in the prototype chain are not considered. Returns a locale-dependant string representing the current object. Returns a locale-dependant string representing the current object. Returns a primitive value associated with the object. A primitive value associated with the object. Returns a string representing the current object. The current script environment. The value of the "this" keyword. A string representing the current object. Populates the object with functions by searching a .NET type for methods marked with the [JSFunction] attribute. Should be called only once at startup. Also automatically populates properties marked with the [JSProperty] attribute. Populates the object with functions by searching a .NET type for methods marked with the [JSFunction] attribute. Should be called only once at startup. Also automatically populates properties marked with the [JSProperty] attribute. The type to search for methods. Populates the object with functions by searching a .NET type for methods marked with the [JSFunction] attribute. Should be called only once at startup. Also automatically populates properties marked with the [JSProperty] attribute. The type to search for methods. The binding flags to use to search for properties and methods. Populates the object with properties by searching a .NET type for fields marked with the [JSField] attribute. Should be called only once at startup. Populates the object with properties by searching a .NET type for fields marked with the [JSField] attribute. Should be called only once at startup. The type to search for fields. Represents a the value of an accessor property. Creates a new PropertyAccessorValue instance. The getter function, or null if no getter was provided. The setter function, or null if no setter was provided. Gets the function that is called when the property value is retrieved. Gets the function that is called when the property value is modified. Gets the property value by calling the getter, if one is present. The value of the "this" keyword inside the getter. The property value returned by the getter. Sets the property value by calling the setter, if one is present. The value of the "this" keyword inside the setter. The desired value. Returns a string that represents the current object. A set of flags which controls the accessibility of properties. Indicates the property value is not writable, enumerable or configurable. This is the default for built-in properties. Indicates the property value is writable. If this flag is not set, attempting to modify the property will fail. Not used if the property is an accessor property. Indicates the property will be enumerated by a for-in enumeration. Otherwise, the property is said to be non-enumerable. Indicates the property can be deleted or changed to an accessor property or have it's flags changed. Indicates the property can be modified and deleted but will not be enumerated. Indicates the property is read-write, enumerable and configurable. This is the default for user-created properties. Indicates the property is an accessor property (i.e. it has a getter or a setter). Indicates the property is the "magic" length property (only found on arrays). Represents either a named data property, or a named accessor property. Creates a new PropertyDescriptor instance. The initial value for the property. The property attributes. Creates a new PropertyDescriptor instance with a getter function and, optionally, a setter function. The function to call to retrieve the property value. The function to call to set the property value. The property attributes (whether the property is writable or not is implied by whether there is a setter function). Indicates that a property doesn't exist. Used to indicate that a property whose value is undefined, and is not writable, enumerable or configurable. Gets a value that indicates whether the property exists. Gets the property attributes. These attributes describe how the property can be modified. Gets a boolean value indicating whether the property value can be set. Gets a boolean value indicating whether the property value will be included during an enumeration. Gets a boolean value indicating whether the property can be deleted. Gets the raw property value. Does not call the get accessor, even if one is present. Returns a string representing the current object. A string representing the current object. Gets a value that indicates whether the value is computed using accessor functions. Gets the function that is called when the property value is retrieved, assuming this property value is computed using accessor functions. Returns null if the property is not a accessor property. Gets the function that is called when the property value is modified, assuming this property value is computed using accessor functions. Returns null if the property is not a accessor property. Creates a property descriptor from an object containing any of the following properties: configurable, writable, enumerable, value, get, set. The object to get the property values from. The values to use if the relevant value is not specified. A PropertyDescriptor that corresponds to the object. Populates an object with the following properties: configurable, writable, enumerable, value, get, set. The script engine used to create a new object. An object with the information in this property descriptor set as individual properties. Checks whether the given descriptor is compatible with the current descriptor. The new descriptor. The descriptor corresponding to the currently existing property. true if the new descriptor is compatible with the old one; false otherwise. Represents a property name and value. Initializes a property with any descriptor. The property key (either a string or a Symbol). A descriptor describing the property. Initializes a simple property. The property key (either a string or a Symbol). The property value. Indicates whether the property is readable, writable and/or enumerable. Initializes a getter/setter property. The property key (either a string or a Symbol). The function to call to retrieve the property value. The function to call to set the property value. Indicates whether the property is readable, writable and/or enumerable. Gets the property key. Gets the value of the property. Gets the property attributes. These attributes describe how the property can be modified. Gets a boolean value indicating whether the property value can be set. Gets a boolean value indicating whether the property value will be included during an enumeration. Gets a boolean value indicating whether the property can be deleted. Returns a string that represents the current object. Represents a property name. Used to speed up access to object properties and global variables. Creates a new PropertyName instance. The name of the property to be accessed. The property name. A reference to a schema that defines how properties are stored. The index into the property array. Caches property details. A reference to a schema that defines how properties are stored. The index into the property array. Clears the cached property details. Returns a textual representation of this object. Represents the information stored about a property in the class schema. Creates a new SchemaProperty instance. The index of the property in the backing array. The property attributes. These attributes describe how the property can be modified. Gets a value that indicates that a property doesn't exist. Gets the index of the property in the backing array. Gets the property attributes. These attributes describe how the property can be modified. Gets a value that indicates whether the property exists. Gets a boolean value indicating whether the property value can be set. Gets a boolean value indicating whether the property value will be included during an enumeration. Gets a boolean value indicating whether the property can be deleted. Gets a value that indicates whether the value is computed using accessor functions. Gets a value that indicates whether the property is the magic length property. Represents the built-in javascript Promise object. Creates a new promise constructor. The next object in the prototype chain. Called when the Promise object is invoked like a function, e.g. var x = Promise(). Throws an error. Creates a new Promise instance. The function that the promise executes. The Promise instance. Creates a new Promise instance from a task. A task to wait on. The Promise instance. If the task is of type Task<object> then the result of the task will be used to resolve the promise. Otherwise, the promise is resolved with "undefined" as the value. A reference to the constructor function that is used to create derived objects. Returns a Promise that is rejected for the specified reason. The reason. Can be an Error instance. Returns either a new promise resolved with the passed argument, or the argument itself if the argument is a promise produced by this constructor. Argument to be resolved by this Promise. Can also be a Promise or a thenable to resolve. Returns a new promise which is settled in the same way as the first passed promise to settle. All elements of the passed iterable are resolved to promises. An iterable object such as an Array. Returns a Promise. It takes one argument: a list of Promises that determine whether the new Promise is fulfilled or rejected. An iterable object such as an Array. Represents an instance of the Promise object. Creates a new Promise instance. Creates a new Promise instance. Resolves the promise with the given value. If the value is an object with a "then" function, the returned promise will "follow" that thenable, adopting its eventual state; otherwise the returned promise will be fulfilled with the value. The resolved value of the promise, or a promise or thenable to follow. Rejects the promise with the given reason. The reason why this promise rejected. Can be an Error instance. Creates the Promise prototype object. The script environment. A reference to the constructor that owns the prototype. When the promise is completed, i.e either fulfilled or rejected, the specified callback function is executed. A Function called when the Promise is completed. Returns a Promise and deals with rejected cases only. It behaves the same as calling Promise.prototype.then(undefined, onRejected). A Function called when the Promise is rejected. This function has one argument, the rejection reason. Returns a Promise. It takes two arguments: callback functions for the success and failure cases of the Promise. A Function called when the Promise is fulfilled. This function has one argument, the fulfillment value. A Function called when the Promise is rejected. This function has one argument, the rejection reason. Creates a task that completes when this promise completes. The task that completes when this promise completes. Gets the promise status. Used by debugger decoration only. Gets the promise result. Used by debugger decoration only. Gets a function that will resolve the promise. Gets a function that will reject the promise. Represents a proxy instance. The proxy target. Invalidates (switches off) the proxy. The Set object lets you store unique values of any type, whether primitive values or object references. Creates a new set constructor. The next object in the prototype chain. Called when the typed array object is invoked like a function, e.g. Proxy(). Throws an error. Creates a proxy object. A target object to wrap with Proxy. It can be any sort of object, including a native array, a function, or even another proxy. An object whose properties are functions that define the behavior of the proxy when an operation is performed on it. A new proxy object. Creates a revocable proxy object. The script engine. A target object to wrap with Proxy. It can be any sort of object, including a native array, a function, or even another proxy. An object whose properties are functions that define the behavior of the proxy when an operation is performed on it. A new proxy object. Represents a callable, constructable instance of the Proxy class. Creates a new proxy instance. The script engine. A target object to wrap with Proxy. It can be any sort of object, including a native array, a function, or even another proxy. An object whose properties are functions that define the behavior of the proxy when an operation is performed on it. The proxy target. Invalidates (switches off) the proxy. Calls this function, passing in the given "this" value and zero or more arguments. The value of the "this" keyword within the function. An array of argument values. The value that was returned from the function. Creates an object, using this function as the constructor. The value of 'new.target'. An array of argument values. The object that was created. Represents an instance of the Proxy class, one that is non-callable and non-constructable. Creates a new proxy instance. The script engine. A target object to wrap with Proxy. It can be any sort of object, including a native array, a function, or even another proxy. An object whose properties are functions that define the behavior of the proxy when an operation is performed on it. The proxy target. Invalidates (switches off) the proxy. Gets the next object in the prototype chain. There is no corresponding property in javascript (it is is *not* the same as the prototype property), instead use Object.getPrototypeOf(). Returns null for the root object in the prototype chain. Use to set this value. Enforces the following invariants: * The return value must be either an Object or null. * If the target object is not extensible, the return value must be the same as Object.getPrototypeOf() applied to the proxy object's target object. Sets the next object in the prototype chain. Can be null, which indicates there are no further objects in the chain. The new prototype. true to throw an exception if the prototype could not be set. This can happen if the object is non-extensible or if setting the prototype would introduce a cyclic dependency. true if the prototype was successfully applied; false otherwise. Gets a value that indicates whether the object can have new properties added to it. Called by Object.isExtensible(). Use to set this value. Makes this object non-extensible, which means no new properties can be added to it. true to throw an exception if the object could not be made non-extensible. true if the operation was successful, false otherwise. Gets a descriptor for the property with the given array index. The array index of the property. A property descriptor containing the property value and attributes. The prototype chain is not searched. Gets a descriptor for the property with the given name. The property key (either a string or a Symbol). A property descriptor containing the property value and attributes. Enforces the following invariants: * The result of [[GetOwnProperty]] must be either an Object or undefined. * A property cannot be reported as non-existent, if it exists as a non-configurable own property of the target object. * A property cannot be reported as non-existent, if the target object is not extensible, unless it does not exist as an own property of the target object. * A property cannot be reported as existent, if the target object is not extensible, unless it exists as an own property of the target object. * A property cannot be reported as non-configurable, unless it exists as a non-configurable own property of the target object. * A property cannot be reported as both non-configurable and non-writable, unless it exists as a non-configurable, non-writable own property of the target object. Defines or redefines the value and attributes of a property. The prototype chain is not searched so if the property exists but only in the prototype chain a new property will be created. The property key of the property to modify. The property value and attributes. true to throw an exception if the property could not be set. This can happen if the property is not configurable or the object is sealed. true if the property was successfully modified; false otherwise. Determines if a property with the given name exists. The property key (either a string or a Symbol). true if the property exists on this object or in the prototype chain; false otherwise. Gets the value of the property with the given array index. The array index of the property. The value of the "this" keyword inside a getter. The value of the property, or null if the property doesn't exist. The prototype chain is searched if the property does not exist directly on this object. Gets the value of the property with the given name. The name of the property. The value of the property, or if the property doesn't exist. The prototype chain is searched if the property does not exist directly on this object. Gets the value of the property with the given name. The name cannot be an array index. The property key (either a string or a Symbol). Cannot be an array index. The value of the "this" keyword inside a getter. The value of the property, or null if the property doesn't exist. The prototype chain is searched if the property does not exist directly on this object. Gets the value of the property with the given name. The property key (either a string or a Symbol). The value of the "this" keyword inside a getter. The value of the property, or null if the property doesn't exist. The prototype chain is searched if the property does not exist directly on this object. Sets the value of the property with the given array index. If a property with the given index does not exist, or exists in the prototype chain (and is not a setter) then a new property is created. The array index of the property to set. The value to set the property to. This must be a javascript primitive (double, string, etc) or a class derived from . The value of the "this" keyword inside a setter. true to throw an exception if the property could not be set. This can happen if the property is read-only or if the object is sealed. false if an error occurred. Sets the value of the property with the given name. If a property with the given name does not exist, or exists in the prototype chain (and is not a setter) then a new property is created. The name of the property to set. The value to set the property to. This must be a javascript primitive (double, string, etc) or a class derived from . The value of the "this" keyword inside a setter. true to throw an exception if the property could not be set (i.e. if the property is read-only or if the object is not extensible and a new property needs to be created). false if is false and an error occurred; true otherwise. Sets the value of the property with the given name. If a property with the given name does not exist, or exists in the prototype chain (and is not a setter) then a new property is created. The property key of the property to set. The value to set the property to. This must be a javascript primitive (double, string, etc) or a class derived from . The value of the "this" keyword inside a setter. true to throw an exception if the property could not be set (i.e. if the property is read-only or if the object is not extensible and a new property needs to be created). false if is false and an error occurred; true otherwise. Deletes the property with the given name. The property key of the property to delete. true to throw an exception if the property could not be set because the property was marked as non-configurable. true if the property was successfully deleted, or if the property did not exist; false if the property was marked as non-configurable and was false. Gets an enumerable list of every property name associated with this object. Does not include properties in the prototype chain. Represents the built-in Reflect class that provides methods for interceptable JavaScript operations. Creates a new Reflect object. The next object in the prototype chain. Calls a target function with arguments as specified by the argumentsList parameter. See also Function.prototype.apply(). The target function to call. The value of this provided for the call to target. An array-like object specifying the arguments with which target should be called. The result of calling the given target function with the specified this value and arguments. The new operator as a function. Equivalent to calling new target(...argumentsList). Also provides the option to specify a different prototype. The target function to call. An array-like object specifying the arguments with which target should be called. The constructor whose prototype should be used. See also the new.target operator. If newTarget is not present, its value defaults to target. A new instance of target (or newTarget, if present), initialized by target as a constructor with the given argumentsList. Similar to Object.defineProperty(). Returns a Boolean that is true if the property was successfully defined. The target object on which to define the property. The name of the property to be defined or modified. The attributes for the property being defined or modified. A Boolean indicating whether or not the property was successfully defined. The delete operator as a function. Equivalent to calling delete target[propertyKey]. The target object on which to delete the property. The name of the property to be deleted. A Boolean indicating whether or not the property was successfully deleted. Returns the value of the property. Works like getting a property from an object (target[propertyKey]) as a function. The target object on which to get the property. The name of the property to get. The value of this provided for the call to target if a getter is encountered. When used with Proxy, it can be an object that inherits from target. The value of the property. Similar to Object.getOwnPropertyDescriptor(). Returns a property descriptor of the given property if it exists on the object, undefined otherwise. The target object in which to look for the property. The name of the property to get an own property descriptor for. Same as Object.getPrototypeOf(). The target object of which to get the prototype. The prototype of the given object. If there are no inherited properties, null is returned. Returns a Boolean indicating whether the target has the property. Either as own or inherited. Works like the in operator as a function. The target object in which to look for the property. The name of the property to check. A Boolean indicating whether or not the target has the property. Same as Object.isExtensible(). Returns a Boolean that is true if the target is extensible. The target object which to check if it is extensible. A Boolean indicating whether or not the target is extensible. Returns an array of the target object's own (not inherited) property keys. The target object from which to get the own keys. An Array of the target object's own property keys. Similar to Object.preventExtensions(). The target object on which to prevent extensions. A Boolean indicating whether or not the target was successfully set to prevent extensions. A function that assigns values to properties. Returns a Boolean that is true if the update was successful. The target object on which to set the property. The name of the property to set. The value to set. The value of this provided for the call to target if a setter is encountered. A Boolean indicating whether or not setting the property was successful. A function that sets the prototype of an object. Returns a Boolean that is true if the update was successful. The target object of which to set the prototype. The object's new prototype (an object or null). A Boolean indicating whether or not the prototype was successfully set. Represents the built-in javascript RegExp object. Creates a new RegExp object. The next object in the prototype chain. A reference to the constructor function that is used to create derived objects. Adds the deprecated RegExp properties to the given list. The list to add to. Initializes a single deprecated property. The list to add to. The name of the property. The property getter. The property attributes (determines whether the property is enumerable). Sets the deprecated RegExp properties. The string against which a regular expression is matched. The regular expression match to base the properties on. Gets the value of RegExp.input and RegExp.$_. The value of RegExp.input and RegExp.$_. Adapter for GetInput(). Gets the value of RegExp.$1. The value of RegExp.$1. Adapter for GetGroup1(). Gets the value of RegExp.$2. The value of RegExp.$2. Adapter for GetGroup2(). Gets the value of RegExp.$3. The value of RegExp.$3. Adapter for GetGroup3(). Gets the value of RegExp.$4. The value of RegExp.$4. Adapter for GetGroup4(). Gets the value of RegExp.$5. The value of RegExp.$5. Adapter for GetGroup5(). Gets the value of RegExp.$6. The value of RegExp.$6. Adapter for GetGroup6(). Gets the value of RegExp.$7. The value of RegExp.$7. Adapter for GetGroup7(). Gets the value of RegExp.$8. The value of RegExp.$8. Adapter for GetGroup8(). Gets the value of RegExp.$9. The value of RegExp.$9. Adapter for GetGroup9(). Gets the value of RegExp.lastMatch and RegExp.$&. The value of RegExp.lastMatch and RegExp.$&. Adapter for GetLastMatch(). Gets the value of RegExp.lastParen and RegExp.$+. The value of RegExp.lastParen and RegExp.$+. Adapter for GetLastParen(). Gets the value of RegExp.leftContext and RegExp.$`. The value of RegExp.leftContext and RegExp.$`. Adapter for GetLeftContext(). Gets the value of RegExp.rightContext and RegExp.$'. The value of RegExp.rightContext and RegExp.$'. Adapter for GetRightContext(). Called when the RegExp object is invoked like a function e.g. RegExp('abc', 'g') or RegExp(/abc/). If a string is passed as the first parameter it creates a new regular expression instance. Otherwise, if a regular expression is passed it returns the given regular expression verbatim. A regular expression pattern or a regular expression. Available flags, which may be combined, are: g (global search for all occurrences of pattern) i (ignore case) m (multiline search) Called when the new keyword is used on the RegExp object e.g. new RegExp(/abc/). Creates a new regular expression instance. The regular expression pattern, or a regular expression to clone. Available flags, which may be combined, are: g (global search for all occurrences of pattern) i (ignore case) m (multiline search) Called when the new keyword is used on the RegExp object e.g. new RegExp(/abc/). Creates a new regular expression instance. The value of the new.target expression. The regular expression pattern, or a regular expression to clone. Available flags, which may be combined, are: g (global search for all occurrences of pattern) i (ignore case) m (multiline search) Represents an instance of the RegExp object. Creates a new regular expression instance. The next object in the prototype chain. The regular expression pattern. Available flags, which may be combined, are: g (global search for all occurrences of pattern) i (ignore case) m (multiline search) Creates a new regular expression instance by copying the pattern and flags from another RegExp instance. The next object in the prototype chain. The instance to copy the pattern and flags from. Creates the RegExp prototype object. The script environment. A reference to the constructor that owns the prototype. Gets the primitive value of this object. Gets the regular expression pattern. Gets a string that contains the flags. Gets a value that indicates whether the global flag is set. If this flag is set it indicates that a search should find all occurrences of the pattern within the searched string, not just the first one. Gets a value that indicates whether the multiline flag is set. If this flag is set it indicates that the ^ and $ tokens should match the start and end of lines and not just the start and end of the string. Gets a value that indicates whether the ignoreCase flag is set. If this flag is set it indicates that a search should ignore differences in case between the pattern and the matched string. Gets the character position to start searching when the global flag is set. Compiles the regular expression for faster execution. The regular expression pattern. Available flags, which may be combined, are: g (global search for all occurrences of pattern) i (ignore case) m (multiline search) Returns a boolean value that indicates whether or not a pattern exists in a searched string. The string on which to perform the search. true if the regular expression has at least one match in the given string; false otherwise. Executes a search on a string using a regular expression pattern, and returns an array containing the results of that search. The string on which to perform the search. Returns an array containing the match and submatch details, or null if no match was found. The array returned by the exec method has three properties, input, index and lastIndex. The input property contains the entire searched string. The index property contains the position of the matched substring within the complete searched string. The lastIndex property contains the position following the last character in the match. Calculates the position to start searching. The string on which to perform the search. The character position to start searching. Finds all regular expression matches within the given string. The string on which to perform the search. An array containing the matched strings. Returns a copy of the given string with text replaced using a regular expression. The string on which to perform the search. A string containing the text to replace for every successful match. A copy of the given string with text replaced using a regular expression. Returns a copy of the given string with text replaced using a regular expression. The string on which to perform the search. A string containing the text to replace for every successful match. A copy of the given string with text replaced using a regular expression. Returns a copy of the given string with text replaced using a regular expression. The string on which to perform the search. A function that is called to produce the text to replace for every successful match. A copy of the given string with text replaced using a regular expression. Returns the position of the first substring match in a regular expression search. The string on which to perform the search. The character position of the first match, or -1 if no match was found. Splits the given string into an array of strings by separating the string into substrings. The string to split. The maximum number of array items to return. Defaults to unlimited. An array containing the split strings. Returns a string representing the current object. The object that is being operated on. A string representing the current object. Parses the flags parameter into an enum. Available flags, which may be combined, are: g (global search for all occurrences of pattern) i (ignore case) m (multiline search) RegexOptions flags that correspond to the given flags. Creates a .NET Regex object using the given pattern and options. The pattern string. The regular expression options. A constructed .NET Regex object. The Set object lets you store unique values of any type, whether primitive values or object references. Creates a new set constructor. The next object in the prototype chain. A reference to the constructor function that is used to create derived objects. Called when the typed array object is invoked like a function, e.g. Int8Array(). Throws an error. Creates a new set instance. If an iterable object is passed, all of its elements will be added to the new Set. null is treated as undefined. A new set instance. The Set object lets you store unique values of any type, whether primitive values or object references. Creates a new set instance. The next object in the prototype chain. Creates the Set prototype object. The script environment. A reference to the constructor that owns the prototype. Called before a linked list node is deleted. Gets the internal storage. Used by debugger decoration only. The number of elements in the Set. Appends a new element with a specified value to the end of the Set. The value of the element to add to the Set. The Set object. Removes all elements from a Set Removes the specified value from the Set. The value of the element to remove from the Set. true if an element in the Set object has been removed successfully; otherwise false. Returns a new array iterator object that contains the key/value pairs for each index in the array. An array iterator object that contains the key/value pairs for each index in the array. Executes a provided function once per each value in the Set, in insertion order. Function to execute for each element. Value to use as this when executing callback. Returns a boolean indicating whether an element with the specified value exists in the Set or not. The value to test for presence in the Set. true if an element with the specified value exists in the Set object; otherwise false. Returns a new array iterator object that contains the keys for each index in the array. An array iterator object that contains the keys for each index in the array. Returns a new array iterator object that contains the values for each index in the array. An array iterator object that contains the values for each index in the array. Implements the SameValueZero comparison operation. Represents an iteration over a Set. Creates a new set iterator. The next object in the prototype chain. The set to iterate over. The linked list to iterate over. The type of values to return. Creates the array iterator prototype object. The script environment. Called before a linked list node is deleted. The node that is being deleted. The tag value that is used by the base implementation of toString(). Moves the iterator to the next element in the array. An object containing two properies: value and done. Gets wheter the end is reached. Used by debugger decoration only. Gets current index. Used by debugger decoration only. Gets what is iterated - key, value or both. Gets the iterated Set. Represents the built-in javascript String object. Creates a new String object. The next object in the prototype chain. Called when the String object is invoked like a function, e.g. var x = String(). Returns an empty string. Called when the String object is invoked like a function, e.g. var x = String(NaN). Converts the given argument into a string value (not a String object). Creates a new String instance and initializes it to the empty string. Creates a new String instance and initializes it to the given value. The value to initialize to. Returns a string created by using the specified sequence of Unicode values. An array of 16-bit character codes. Returns a string created by using the specified sequence of Unicode codepoints. The script engine. An array of unicode code points. A tag function of template literals which is used to get the raw string form of template strings (that is, the original, uninterpreted text). The script engine. Well-formed template call site object e.g. { raw: ['one', 'two'] }. Contains substitution values. A formatted string containing the raw template literal text (with substitutions included). Represents an instance of the JavaScript string object. Creates a new string instance. The next object in the prototype chain. The value to initialize the instance. Creates the string prototype object. The script environment. A reference to the constructor that owns the prototype. Gets the primitive value of this object. Gets the number of characters in the string. Gets a descriptor for the property with the given array index. The array index of the property. A property descriptor containing the property value and attributes. The prototype chain is not searched. Defines or redefines the value and attributes of a property. The prototype chain is not searched so if the property exists but only in the prototype chain a new property will be created. The property key of the property to modify. The property value and attributes. true to throw an exception if the property could not be set. This can happen if the property is not configurable or the object is sealed. true if the property was successfully modified; false otherwise. Gets an enumerable list of every property name associated with this object. Does not include properties in the prototype chain. Returns the character at the specified index. The string that is being operated on. The character position (starts at 0). Returns a number indicating the 16-bit UTF-16 character code at the given index. The string that is being operated on. The character position (starts at 0). Returns a number indicating the Unicode code point of the character at the given index. The string that is being operated on. The character position (starts at 0). Combines the text of two or more strings and returns a new string. The current script environment. The string that is being operated on. The strings to concatenate with this string. The result of combining this string with the given strings. Returns true if the calling String object contains the given string. The script engine. The string that is being operated on. The substring to search for. The character position within the string to start searching. true if the substring was found; false otherwise. Returns the index within the calling String object of the first occurrence of the specified value, or -1 if not found. The string that is being operated on. The substring to search for. The character position to start searching from. Defaults to 0. The character position of the start of the substring, if it was found, or -1 if it wasn't. Returns the index within the calling String object of the specified value, searching backwards from the end of the string. The string that is being operated on. The substring to search for. The index of the character to start searching. The index of the substring, or -1 if not found. Returns a number indicating whether a reference string comes before or after or is the same as the given string in sort order. The string that is being operated on. The string to compare with. -1, 0 or 1 depending on whether the given string comes before or after or is the same as the given string in sort order. Finds the first match of the given substring within this string. The current script environment. The string that is being operated on. The substring or regular expression to search for. An array containing the matched strings. Returns a new string whose binary representation is in a particular Unicode normalization form. The current ScriptEngine instance. The string that is being operated on. A Unicode normalization form. A new string whose binary representation is in a particular Unicode normalization form. Wraps the string in double quotes ("). Any existing double quotes in the string are escaped using the backslash character. The string to wrap. The input string wrapped with double quotes and with existing double quotes escaped. Substitutes the given string or regular expression with the given text or the result of a replacement function. The current script environment. The string that is being operated on. The substring to replace -or- a regular expression that matches the text to replace. The text to substitute -or- a function that returns the text to substitute. A copy of this string with text replaced. Returns a copy of this string with text replaced. The string that is being operated on. The text to search for. A string containing the text to replace for every successful match. A copy of this string with text replaced. Returns a copy of this string with text replaced using a replacement function. The string that is being operated on. The text to search for. A function that is called to produce the text to replace for every successful match. A copy of this string with text replaced. Returns the position of the first substring match. The current script environment. The string that is being operated on. The string or regular expression to search for. The character position of the first match, or -1 if no match was found. Extracts a section of the string and returns a new string. The string that is being operated on. The character position to start extracting. The character position to stop extacting. A section of the string. Splits this string into an array of strings by separating the string into substrings. The current script environment. The string that is being operated on. A string or regular expression that indicates where to split the string. The maximum number of array items to return. Defaults to unlimited. An array containing the split strings. Splits this string into an array of strings by separating the string into substrings. The current script environment. The string that is being operated on. A string that indicates where to split the string. The maximum number of array items to return. Defaults to unlimited. An array containing the split strings. Returns the characters in a string beginning at the specified location through the specified number of characters. The string that is being operated on. The character position to start extracting. The number of characters to extract. A substring of this string. Returns the characters in a string between two indexes into the string. The string that is being operated on. The character position to start extracting. The character position to stop extracting. A substring of this string. Converts the characters within this string to lowercase while respecting the current locale. A copy of this string with the characters converted to lowercase. Converts the characters within this string to uppercase while respecting the current locale. A copy of this string with the characters converted to uppercase. Returns the calling string value converted to lowercase. A copy of this string with the characters converted to lowercase. Returns a string representing the current object. A string representing the current object. Returns the calling string value converted to uppercase. A copy of this string with the characters converted to uppercase. Trims whitespace from the beginning and end of the string. Trims whitespace from the beginning of the string. Trims whitespace from the beginning of the string. Trims whitespace from the beginning of the string. Trims whitespace from the beginning of the string. Returns the underlying primitive value of the current object. The underlying primitive value of the current object. Determines whether a string begins with the characters of another string. The string that is being operated on. The characters to be searched for at the start of this string. The position at which to begin searching. Defaults to zero. true if this string starts with the given string, false otherwise. Determines whether a string ends with the characters of another string. The string that is being operated on. The characters to be searched for at the end of this string. Search within the string as if the string were only this long. Defaults to the string's actual length. true if this string ends with the given string, false otherwise. Determines whether a string contains the characters of another string. The string that is being operated on. The characters to be searched for. The position at which to begin searching. Defaults to zero. true if this string contains the given string, false otherwise. Repeats this string a number of times and returns the result. The current ScriptEngine instance. The string that is being operated on. The number of times to repeat the string. Must be zero or higher. A repeated string. Returns an iterator that iterates over the code points of the string. An iterator for the string instance. Wraps the string with an anchor tag. The string that is being operated on. The name of the anchor. Wraps the string with a big tag. The string that is being operated on. Wraps the string with a blink tag. The string that is being operated on. Wraps the string with a bold (b) tag. The string that is being operated on. Wraps the string with a tt tag. Wraps the string with a font tag that specifies the given color. The string that is being operated on. The color value or name. Wraps the string with a font tag that specifies the given font size. The string that is being operated on. The font size, specified as an integer. Wraps the string with a italics (i) tag. The string that is being operated on. Wraps the string with a hyperlink. The string that is being operated on. The hyperlink URL. Wraps the string in a small tag. The string that is being operated on. Wraps the string in a strike tag. The string that is being operated on. Wraps the string in a sub tag. The string that is being operated on. Wraps the string in a sup tag. The string that is being operated on. Determines if the given object can be considered a RegExp-like object. The object instance to check. true if the object instance has [Symbol.match] value that is truthy; false otherwise. Represents an iteration over a String. Creates a new string iterator. The next object in the prototype chain. The string to iterate over. Creates the array iterator prototype object. The script environment. The tag value that is used by the base implementation of toString(). Moves the iterator to the next element in the array. An object containing two properies: value and done. Gets wheter the end is reached. Used by debugger decoration only. Gets current index. Used by debugger decoration only. Gets current character. Used by debugger decoration only. Represents a symbol primitive. Creates a new symbol primitive. An optional description of the symbol. An optional description of the symbol. Converts the value to a string. A method that determines if a constructor object recognizes an object as one of the constructor's instances. Used by the 'instanceof' operator. A Boolean valued property that if true indicates that an object should be flattened to its array elements by Array.prototype.concat. Used to override the default iterator for an object. Used by the for-of statement. A regular expression method that matches the regular expression against a string. Used by the String.prototype.match method. A regular expression method that replaces matched substrings of a string. Used by the String.prototype.replace method. A regular expression method that returns the index within a string that matches the regular expression. Used by the String.prototype.search method. A function valued property that is the constructor function that is used to create derived objects. A regular expression method that splits a string at the indices that match the regular expression. Used by the String.prototype.split method. Used to override ToPrimitive behaviour. Used to customize the behaviour of Object.prototype.toString(). An object valued property whose own and inherited property names are property names that are excluded from the with environment bindings of the associated object. Represents the built-in Symbol object. Creates a new Symbol object. The next object in the prototype chain. The prototype for instances created by this function. Called when the Symbol object is invoked like a function, e.g. var x = Symbol(). The name or description of the symbol (optional). Called when the Symbol object is called using new, e.g. var x = new Symbol(). Searches for existing symbols in a runtime-wide symbol registry with the given key and returns it if found. Otherwise a new symbol gets created in the global symbol registry with this key. The key for the symbol (also used for the description of the symbol). An existing symbol with the given key if found; otherwise, a new symbol is created and returned. Retrieves a shared symbol key from the global symbol registry for the given symbol. The symbol to find a key for. A string representing the key for the given symbol if one is found on the global registry; otherwise, undefined. Represents an instance of the Symbol object. Creates a new symbol instance. The next object in the prototype chain. The symbol primitive. Initializes the prototype properties. The object to set the properties on. A reference to the constructor that owns the prototype. Returns a string representing the object. A string representing the object. Returns the primitive value of a Symbol object. The primitive value of a Symbol object. Converts a Symbol object to a primitive value. Specifies the conversion behaviour. Must be "default", "string" or "number". The primitive value of a Symbol object. The ArrayBuffer object is used to represent a generic, fixed-length raw binary data buffer. You can not directly manipulate the contents of an ArrayBuffer; instead, you create one of the typed array objects or a DataView object which represents the buffer in a specific format, and use that to read and write the contents of the buffer. Creates a new array buffer constructor. The next object in the prototype chain. Called when the ArrayBuffer object is invoked like a function, e.g. var x = ArrayBuffer(). Throws an error. Creates a new ArrayBuffer of the given length in bytes. Its contents are initialized to zero. The size, in bytes, of the array buffer to create. A new ArrayBuffer object of the specified size. A reference to the constructor function that is used to create derived objects. Returns true if is one of the ArrayBuffer views, such as typed array objects or a DataView; false otherwise. The argument to be checked. true if arg is one of the ArrayBuffer views. The ArrayBuffer object is used to represent a generic, fixed-length raw binary data buffer. You can not directly manipulate the contents of an ArrayBuffer; instead, you create one of the typed array objects or a DataView object which represents the buffer in a specific format, and use that to read and write the contents of the buffer. Creates a new ArrayBuffer instance. The next object in the prototype chain. The size, in bytes, of the array buffer to create. Creates a new ArrayBuffer instance from an existing buffer. The next object in the prototype chain. The buffer to use. Creates the ArrayBuffer prototype object. The script environment. A reference to the constructor that owns the prototype. Gets the internal array for this ArrayBuffer. Returns a copy of the buffer data. A copy of the buffer data. Gets the length of an ArrayBuffer in bytes. Returns 0 if this ArrayBuffer has been detached. Returns a new ArrayBuffer whose contents are a copy of this ArrayBuffer's bytes from begin, inclusive, up to end, exclusive. Zero-based byte index at which to begin slicing. A new ArrayBuffer object. Returns a new ArrayBuffer whose contents are a copy of this ArrayBuffer's bytes from begin, inclusive, up to end, exclusive. Zero-based byte index at which to begin slicing. Byte index to end slicing. If end is unspecified, the new ArrayBuffer contains all bytes from begin to the end of this ArrayBuffer. The range specified by the begin and end values is clamped to the valid index range for the current array. If the computed length of the new ArrayBuffer would be negative, it is clamped to zero. A new ArrayBuffer object. The DataView view provides a low-level interface for reading and writing multiple number types in an ArrayBuffer irrespective of the platform's endianness. Creates a new DataView constructor. The next object in the prototype chain. Called when the DataView object is invoked like a function, e.g. var x = DataView(). Throws an error. Creates a new DataView. An existing ArrayBuffer to use as the storage for the new DataView object. The offset, in bytes, to the first byte in the specified buffer for the new view to reference. If not specified, the view of the buffer will start with the first byte. The number of elements in the byte array. If unspecified, length of the view will match the buffer's length. A new DataView object of the specified size. The DataView view provides a low-level interface for reading and writing multiple number types in an ArrayBuffer irrespective of the platform's endianness. Creates a new DataView instance. The next object in the prototype chain. An existing ArrayBuffer to use as the storage for the new DataView object. The offset, in bytes, to the first byte in the specified buffer for the new view to reference. If not specified, the view of the buffer will start with the first byte. The number of elements in the byte array. If unspecified, length of the view will match the buffer's length. Creates the DataView prototype object. The script environment. A reference to the constructor that owns the prototype. The ArrayBuffer referenced by the DataView at construction time. The offset (in bytes) of this view from the start of its ArrayBuffer. The length (in bytes) of this view from the start of its ArrayBuffer. Gets a 32-bit floating point number at the specified byte offset from the start of the DataView. The offset, in bytes, from the start of the view where to read the data. Indicates whether the number is stored in little- or big-endian format. If false or undefined, a big-endian value is read. The 32-bit floating point number at the specified byte offset from the start of the DataView. Gets a 64-bit floating point number at the specified byte offset from the start of the DataView. The offset, in bytes, from the start of the view where to read the data. Indicates whether the number is stored in little- or big-endian format. If false or undefined, a big-endian value is read. The 64-bit floating point number at the specified byte offset from the start of the DataView. Gets a signed 16-bit integer at the specified byte offset from the start of the DataView. The offset, in bytes, from the start of the view where to read the data. Indicates whether the number is stored in little- or big-endian format. If false or undefined, a big-endian value is read. The signed 16-bit integer at the specified byte offset from the start of the DataView. Gets a signed 32-bit integer at the specified byte offset from the start of the DataView. The offset, in bytes, from the start of the view where to read the data. Indicates whether the number is stored in little- or big-endian format. If false or undefined, a big-endian value is read. The signed 32-bit integer at the specified byte offset from the start of the DataView. Gets a signed 64-bit integer at the specified byte offset from the start of the DataView. The offset, in bytes, from the start of the view where to read the data. Indicates whether the number is stored in little- or big-endian format. If false or undefined, a big-endian value is read. The signed 64-bit integer at the specified byte offset from the start of the DataView. Gets a signed 8-bit integer (byte) at the specified byte offset from the start of the DataView. The offset, in bytes, from the start of the view where to read the data. The signed 8-bit integer (byte) at the specified byte offset from the start of the DataView. Gets an unsigned 8-bit integer (byte) at the specified byte offset from the start of the DataView. The offset, in bytes, from the start of the view where to read the data. Indicates whether the number is stored in little- or big-endian format. If false or undefined, a big-endian value is read. The unsigned 8-bit integer (byte) at the specified byte offset from the start of the DataView. Gets an unsigned 32-bit integer at the specified byte offset from the start of the DataView. The offset, in bytes, from the start of the view where to read the data. Indicates whether the number is stored in little- or big-endian format. If false or undefined, a big-endian value is read. The unsigned 32-bit integer at the specified byte offset from the start of the DataView. Gets an unsigned 8-bit integer (byte) at the specified byte offset from the start of the DataView. The offset, in bytes, from the start of the view where to read the data. The unsigned 8-bit integer (byte) at the specified byte offset from the start of the DataView. Stores a signed 32-bit float value at the specified byte offset from the start of the DataView. The offset, in bytes, from the start of the view where to store the data. The value to set. Indicates whether the 32-bit float is stored in little- or big-endian format. If false or undefined, a big-endian value is written. Stores a signed 64-bit float value at the specified byte offset from the start of the DataView. The offset, in bytes, from the start of the view where to store the data. The value to set. Indicates whether the 64-bit float is stored in little- or big-endian format. If false or undefined, a big-endian value is written. Stores a signed 16-bit integer value at the specified byte offset from the start of the DataView. The offset, in bytes, from the start of the view where to store the data. The value to set. Indicates whether the 32-bit float is stored in little- or big-endian format. If false or undefined, a big-endian value is written. Stores a signed 32-bit integer value at the specified byte offset from the start of the DataView. The offset, in bytes, from the start of the view where to store the data. The value to set. Indicates whether the 32-bit float is stored in little- or big-endian format. If false or undefined, a big-endian value is written. Stores a signed 8-bit integer value at the specified byte offset from the start of the DataView. The offset, in bytes, from the start of the view where to store the data. The value to set. Stores an unsigned 16-bit integer value at the specified byte offset from the start of the DataView. The offset, in bytes, from the start of the view where to store the data. The value to set. Indicates whether the 32-bit float is stored in little- or big-endian format. If false or undefined, a big-endian value is written. Stores an unsigned 32-bit integer value at the specified byte offset from the start of the DataView. The offset, in bytes, from the start of the view where to store the data. The value to set. Indicates whether the 32-bit float is stored in little- or big-endian format. If false or undefined, a big-endian value is written. Stores an unsigned 8-bit integer value at the specified byte offset from the start of the DataView. The offset, in bytes, from the start of the view where to store the data. The value to set. Stores a series of bytes at the specified byte offset from the start of the DataView. The offset, in bytes, from the start of the view where to store the data. The bytes to store. Indicates whether the bytes are stored in little- or big-endian format. If false, a big-endian value is written. Represents the built-in javascript String object. Creates a new typed array constructor. The next object in the prototype chain. Defines the element type and behaviour of the typed array. The result of calling . The data storage size, in bytes, of each array element. Creates a new typed array from a .NET array. A .NET array A new typed array instance. A reference to the constructor function that is used to create derived objects. Called when the typed array object is invoked like a function, e.g. Int8Array(). Throws an error. Creates a new (empty) typed array instance. A new typed array instance. Creates a new typed array instance. Either the length of the new array, or buffer, or an array-like object. The offset, in bytes, to the first byte in the specified buffer for the new view to reference. If not specified, the TypedArray will start with the first byte. Ignored unless the first parameter is a array buffer. The length (in elements) of the typed array. Ignored unless the first parameter is a array buffer. A new typed array instance. Creates a new typed array from an array-like or iterable object. An array-like or iterable object to convert to a typed array. Optional. Map function to call on every element of the typed array. Optional. Value to use as this when executing mapFn. A new typed array instance. Creates a new typed array with a variable number of elements. Elements of which to create the typed array. A new typed array with the given elements. Represents a typed array instance. Creates a new typed array instance. The next object in the prototype chain. Defines the element type and behaviour of the typed array. An existing ArrayBuffer to use as the storage for the new TypedArray object. The offset, in bytes, to the first byte in the specified buffer for the new view to reference. If not specified, the TypedArray will start with the first byte. The length (in elements) of the typed array. Creates the TypedArray prototype object. The script environment. A reference to the constructor that owns the prototype. The result of calling . Speeds up initialization by only calling GetDeclarativeProperties once. The type of each element in the array. Gets or sets the item at the given index. The array index. The value of the item at the given index. The data storage size, in bytes, of each array element. The ArrayBuffer referenced by the TypedArray at construction time. The offset (in bytes) of the typed array from the start of its ArrayBuffer. The length (in bytes) of the typed array from the start of its ArrayBuffer. The length (in elements) of the typed array. The length (in elements) of the typed array. Gets a descriptor for the property with the given array index. The array index of the property. A property descriptor containing the property value and attributes. The prototype chain is not searched. Sets the value of the property with the given array index. If a property with the given index does not exist, or exists in the prototype chain (and is not a setter) then a new property is created. The array index of the property to set. The value to set the property to. This must be a javascript primitive (double, string, etc) or a class derived from . The value of the "this" keyword inside a getter. true to throw an exception if the property could not be set. This can happen if the property is read-only or if the object is sealed. false if is false and an error occurred; true otherwise. Deletes the property with the given array index. The array index of the property to delete. true to throw an exception if the property could not be set because the property was marked as non-configurable. true if the property was successfully deleted, or if the property did not exist; false if the property was marked as non-configurable and was false. Returns a new array iterator object that contains the key/value pairs for each index in the array. An array iterator object that contains the key/value pairs for each index in the array. Returns a new array iterator object that contains the keys for each index in the array. An array iterator object that contains the keys for each index in the array. Returns a new typed array on the same ArrayBuffer store and with the same element types as for this TypedArray object. The begin offset is inclusive and the end offset is exclusive. Element to begin at. The offset is inclusive. Element to end at. The offset is exclusive. If not specified, all elements from the one specified by begin to the end of the array are included in the new view. A new typed array that shares the same ArrayBuffer store. Returns a new array iterator object that contains the values for each index in the array. An array iterator object that contains the values for each index in the array. Implements an adapter for typed arrays. Creates a new TypedArrayWrapper instance. The typed array that is being wrapped. Gets or sets an array element within the range 0 .. Length-1 (inclusive). The index to get or set. The value at the given index. Deletes the value at the given array index, throwing an exception on error. The array index to delete. Indicates whether the array index exists (has a value). The index to check. true if the index exists, false otherwise. Creates a new array of the same type as this one. The values in the new array. A new array object. Convert an untyped value to a typed value. The value to convert. The value converted to a typed value. Copies the sequence of array elements within the array to the position starting at target. The copy is taken from the index positions of the second and third arguments start and end. The end argument is optional and defaults to the length of the array. This method has the same algorithm as Array.prototype.copyWithin. Target start index position where to copy the elements to. Source start index position where to start copying elements from. Optional. Source end index position where to end copying elements from. The array that was operated on. Determines if every element of the array matches criteria defined by the given user- defined function. A user-defined function that is called for each element in the array. This function is called with three arguments: the value of the element, the index of the element, and the array that is being operated on. The function should return true or false. The value of this in the context of the callback function. true if every element of the array matches criteria defined by the given user-defined function; false otherwise. Fills all the elements of a typed array from a start index to an end index with a static value. The value to fill the typed array with. Optional. Start index. Defaults to 0. Optional. End index (exclusive). Defaults to the length of the array. The array that is being operated on. Creates a new array with the elements from this array that pass the test implemented by the given function. A user-defined function that is called for each element in the array. This function is called with three arguments: the value of the element, the index of the element, and the array that is being operated on. The function should return true or false. The value of this in the context of the callback function. A copy of this array but with only those elements which produce true when passed to the provided function. Returns the first element in the given array that passes the test implemented by the given function. A user-defined function that is called for each element in the array. This function is called with three arguments: the value of the element, the index of the element, and the array that is being operated on. The function should return true or false. The value of this in the context of the callback function. The first element that results in the callback returning true. Returns an index in the typed array, if an element in the typed array satisfies the provided testing function. Otherwise -1 is returned. A user-defined function that is called for each element in the array. This function is called with three arguments: the value of the element, the index of the element, and the array that is being operated on. The function should return true or false. The value of this in the context of the callback function. The first element that results in the callback returning true. Calls the given user-defined function once per element in the array. A user-defined function that is called for each element in the array. This function is called with three arguments: the value of the element, the index of the element, and the array that is being operated on. The value of this in the context of the callback function. Returns the index of the given search element in the array, starting from . The value to search for. The array index to start searching. The index of the given search element in the array, or -1 if the element wasn't found. Concatenates all the elements of the array, using the specified separator between each element. If no separator is provided, a comma is used for this purpose. The string to use as a separator. A string that consists of the element values separated by the separator string. Returns the index of the given search element in the array, searching backwards from the end of the array. The value to search for. The index of the given search element in the array, or -1 if the element wasn't found. Returns the index of the given search element in the array, searching backwards from . The value to search for. The array index to start searching. The index of the given search element in the array, or -1 if the element wasn't found. Creates a new array with the results of calling the given function on every element in this array. A user-defined function that is called for each element in the array. This function is called with three arguments: the value of the element, the index of the element, and the array that is being operated on. The value that is returned from this function is stored in the resulting array. The value of this in the context of the callback function. A new array with the results of calling the given function on every element in the array. Accumulates a single value by calling a user-defined function for each element. A user-defined function that is called for each element in the array. This function is called with four arguments: the current accumulated value, the value of the element, the index of the element, and the array that is being operated on. The return value for this function is the new accumulated value and is passed to the next invocation of the function. The initial accumulated value. The accumulated value returned from the last invocation of the callback function. Accumulates a single value by calling a user-defined function for each element (starting with the last element in the array). A user-defined function that is called for each element in the array. This function is called with four arguments: the current accumulated value, the value of the element, the index of the element, and the array that is being operated on. The return value for this function is the new accumulated value and is passed to the next invocation of the function. The initial accumulated value. The accumulated value returned from the last invocation of the callback function. Reverses the order of the elements in the array. The array that is being operated on. Stores multiple values in the typed array, reading input values from a specified array. The array from which to copy values. All values from the source array are copied into the target array, unless the length of the source array plus the offset exceeds the length of the target array, in which case an exception is thrown. The offset into the target array at which to begin writing values from the source array. If you omit this value, 0 is assumed (that is, the source array will overwrite values in the target array starting at index 0). Returns a section of an array. The index of the first element in the section. If this value is negative it is treated as an offset from the end of the array. The index of the element just past the last element in the section. If this value is negative it is treated as an offset from the end of the array. If is less than or equal to then an empty array is returned. A section of an array. Determines if at least one element of the array matches criteria defined by the given user-defined function. A user-defined function that is called for each element in the array. This function is called with three arguments: the value of the element, the index of the element, and the array that is being operated on. The function should return true or false. The value of this in the context of the callback function. true if at least one element of the array matches criteria defined by the given user-defined function; false otherwise. Sorts the array. A function which determines the order of the elements. This function should return a number less than zero if the first argument is less than the second argument, zero if the arguments are equal or a number greater than zero if the first argument is greater than Defaults to an ascending ASCII ordering. The array that was sorted. Returns a locale-specific string representing this object. A locale-specific string representing this object. Returns a string representing this object. The array that is being operated on. A string representing this object. Defines the element type and behaviour of typed array. An array of signed 8-bit elements. An array of unsigned 8-bit elements. An array of unsigned 8-bit elements, clamped to 0-255. An array of signed 16-bit elements. An array of unsigned 16-bit elements. An array of signed 32-bit elements. An array of unsigned 32-bit elements. An array of 32-bit floating point elements. An array of 64-bit floating point elements. The WeakMap object is a collection of key/value pairs in which the keys are weakly referenced. The keys must be objects and the values can be arbitrary values. Creates a new map constructor. The next object in the prototype chain. Called when the WeakMap object is invoked like a function, e.g. var x = WeakMap(). Throws an error. Creates a new WeakMap. An Array or other iterable object whose elements are key-value pairs (2-element Arrays). Each key-value pair is added to the new WeakMap. null is treated as undefined. A new WeakMap object, either empty or initialised with the given values. The WeakMap object is a collection of key/value pairs in which the keys are weakly referenced. The keys must be objects and the values can be arbitrary values. Creates a new WeakMap instance. The next object in the prototype chain. Creates the WeakMap prototype object. The script environment. A reference to the constructor that owns the prototype. Removes the specified element from a Map object. The key of the element to remove from the Map object. true if an element in the Map object existed and has been removed, or false if the element does not exist. Returns a specified element from a Map object. The key of the element to return from the Map object. The element associated with the specified key, or undefined if the key can't be found in the Map object. Returns a boolean indicating whether an element with the specified key exists or not. The key of the element to test for presence in the Map object. true if an element with the specified key exists in the Map object; otherwise false. Adds a new element with a specified key and value to a Map object. The key of the element to add to the Map object. The value of the element to add to the Map object. The WeakMap object. Gets the internal storage. Used by debugger decoration. The WeakSet object lets you store weakly held objects in a collection. Creates a new WeakSet constructor. The next object in the prototype chain. Called when the WeakSet object is invoked like a function, e.g. var x = WeakSet(). Throws an error. Creates a new WeakSet instance. If an iterable object is passed, all of its elements will be added to the new WeakSet. null is treated as undefined. A new WeakSet instance. The WeakSet object lets you store weakly held objects in a collection. Creates a new WeakSet instance. The next object in the prototype chain. Creates the WeakSet prototype object. The script environment. A reference to the constructor that owns the prototype. Appends a new element with a specified value to the end of the WeakSet. The value of the element to add to the WeakSet. The WeakSet object. Removes the specified value from the WeakSet. The value of the element to remove from the WeakSet. true if an element in the WeakSet object has been removed successfully; otherwise false. Returns a boolean indicating whether an element with the specified value exists in the WeakSet or not. The value to test for presence in the WeakSet. true if an element with the specified value exists in the WeakSet object; otherwise false. Gets the internal storage. Used by debugger decoration.