tytd-server/packages/Jurassic.3.2.4/lib/netstandard2.0/Jurassic.xml

18894 lines
985 KiB
XML
Raw Normal View History

2021-12-08 22:02:30 +00:00
<?xml version="1.0"?>
<doc>
<assembly>
<name>Jurassic</name>
</assembly>
<members>
<member name="T:Jurassic.Compiler.BinderDelegate">
<summary>
Represents a generic delegate that all method calls pass through. For internal use only.
</summary>
<param name="engine"> The associated script engine. </param>
<param name="thisObject"> The value of the <c>this</c> keyword. </param>
<param name="arguments"> The arguments that were passed to the function. </param>
<returns> The result of calling the method. </returns>
</member>
<member name="T:Jurassic.Compiler.Binder">
<summary>
Selects a method from a list of candidates and performs type conversion from actual
argument type to formal argument type.
</summary>
</member>
<member name="P:Jurassic.Compiler.Binder.Name">
<summary>
Gets the name of the target methods.
</summary>
</member>
<member name="P:Jurassic.Compiler.Binder.FullName">
<summary>
Gets the full name of the target methods, including the type name.
</summary>
</member>
<member name="P:Jurassic.Compiler.Binder.FunctionLength">
<summary>
Gets the maximum number of arguments of any of the target methods. Used to set the
length property on the function.
</summary>
</member>
<member name="M:Jurassic.Compiler.Binder.Call(Jurassic.ScriptEngine,System.Object,System.Object[])">
<summary>
Calls the bound method.
</summary>
<param name="engine"> The associated script engine. </param>
<param name="thisObject"> The value of the <c>this</c> keyword. </param>
<param name="arguments"> The arguments to pass to the function. </param>
<returns> The result of calling the method. </returns>
</member>
<member name="M:Jurassic.Compiler.Binder.CreateDelegate(System.Int32)">
<summary>
Creates a delegate that does type conversion and calls the bound method.
</summary>
<param name="argumentCount"> The number of arguments that will be passed to the delegate. </param>
<returns> A delegate that does type conversion and calls the method represented by this
object. </returns>
<remarks> This method caches the result so calling CreateDelegate a second time with
the same parameter count will be markedly quicker. </remarks>
</member>
<member name="M:Jurassic.Compiler.Binder.CreateDelegateCore(System.Int32)">
<summary>
Creates a delegate that does type conversion and calls the bound method.
</summary>
<param name="argumentCount"> The number of arguments that will be passed to the delegate. </param>
<returns> A delegate that does type conversion and calls the method represented by this
object. </returns>
<remarks> No caching of the result occurs. </remarks>
</member>
<member name="M:Jurassic.Compiler.Binder.GenerateStub(Jurassic.Compiler.ILGenerator,System.Int32)">
<summary>
Generates a method that does type conversion and calls the bound method.
</summary>
<param name="generator"> The ILGenerator used to output the body of the method. </param>
<param name="argumentCount"> The number of arguments that will be passed to the delegate. </param>
<returns> A delegate that does type conversion and calls the method represented by this
object. </returns>
</member>
<member name="M:Jurassic.Compiler.Binder.ToString">
<summary>
Returns a textual representation of this object.
</summary>
<returns> A textual representation of this object. </returns>
</member>
<member name="T:Jurassic.Compiler.BinderMethod">
<summary>
Represents a single method that a binder can call.
</summary>
</member>
<member name="M:Jurassic.Compiler.BinderMethod.#ctor(System.Reflection.MethodBase)">
<summary>
Creates a new BinderMethod instance.
</summary>
<param name="method"> The method to encapsulate. </param>
</member>
<member name="M:Jurassic.Compiler.BinderMethod.Init">
<summary>
Initializes this instance.
</summary>
</member>
<member name="P:Jurassic.Compiler.BinderMethod.Method">
<summary>
Gets a reference to the method.
</summary>
</member>
<member name="M:Jurassic.Compiler.BinderMethod.op_Implicit(Jurassic.Compiler.BinderMethod)~System.Reflection.MethodBase">
<summary>
Implicitly cast an instance of this class to a MethodBase.
</summary>
<param name="method"> The BinderMethod instance. </param>
<returns> A MethodBase instance. </returns>
</member>
<member name="P:Jurassic.Compiler.BinderMethod.Name">
<summary>
Gets the name of the method.
</summary>
</member>
<member name="P:Jurassic.Compiler.BinderMethod.DeclaringType">
<summary>
Gets the type the method is declared on.
</summary>
</member>
<member name="P:Jurassic.Compiler.BinderMethod.ReturnType">
<summary>
Gets the type of value pushed onto the stack after calling this method.
</summary>
</member>
<member name="P:Jurassic.Compiler.BinderMethod.RequiredParameterCount">
<summary>
Gets the number of required parameters.
</summary>
</member>
<member name="P:Jurassic.Compiler.BinderMethod.OptionalParameterCount">
<summary>
Gets the number of optional parameters.
</summary>
</member>
<member name="P:Jurassic.Compiler.BinderMethod.HasParamArray">
<summary>
Gets a value that indicates whether the last parameter is a ParamArray.
</summary>
</member>
<member name="P:Jurassic.Compiler.BinderMethod.ParamArrayElementType">
<summary>
Gets the type of element in the ParamArray array.
</summary>
</member>
<member name="M:Jurassic.Compiler.BinderMethod.GetParameters">
<summary>
Gets an array of method parameters.
</summary>
<returns> An array of ParameterInfo instances describing the method parameters. </returns>
</member>
<member name="M:Jurassic.Compiler.BinderMethod.IsArgumentCountCompatible(System.Int32)">
<summary>
Determines if this method can be called with the given number of arguments.
</summary>
<param name="argumentCount"> The desired number of arguments. </param>
<returns> <c>true</c> if this method can be called with the given number of arguments;
<c>false</c> otherwise. </returns>
</member>
<member name="M:Jurassic.Compiler.BinderMethod.GetArguments(System.Int32)">
<summary>
Gets an enumerable list of argument objects, equal in size to
<paramref name="argumentCount"/>.
</summary>
<param name="argumentCount"> The number of arguments to return. </param>
<returns> An enumerable list of argument objects. </returns>
</member>
<member name="M:Jurassic.Compiler.BinderMethod.GenerateArguments(Jurassic.Compiler.ILGenerator,System.Int32)">
<summary>
Gets an enumerable list of argument objects, equal in size to
<paramref name="argumentCount"/> while generating code to prepare those arguments for
a method call.
</summary>
<param name="argumentCount"> The number of arguments to return. </param>
<param name="generator"> The IL generator used to create an array if the method has a
ParamArray parameter. </param>
<returns> An enumerable list of argument objects. </returns>
</member>
<member name="M:Jurassic.Compiler.BinderMethod.GenerateCall(Jurassic.Compiler.ILGenerator)">
<summary>
Generates code to call the method.
</summary>
<param name="generator"> The IL generator. </param>
</member>
<member name="M:Jurassic.Compiler.BinderMethod.ToString">
<summary>
Returns a string representing this object.
</summary>
<returns> A string representing this object. </returns>
</member>
<member name="T:Jurassic.Compiler.BinderArgument">
<summary>
Represents a single method argument.
</summary>
</member>
<member name="P:Jurassic.Compiler.BinderArgument.Source">
<summary>
Gets the intended source of the argument.
</summary>
</member>
<member name="P:Jurassic.Compiler.BinderArgument.InputParameterIndex">
<summary>
Gets the argument index, starting from zero. Only valid if Source is InputParameter.
</summary>
</member>
<member name="P:Jurassic.Compiler.BinderArgument.Type">
<summary>
Gets the type of the argument.
</summary>
</member>
<member name="P:Jurassic.Compiler.BinderArgument.IsParamArrayArgument">
<summary>
Gets a value that indicates whether this argument will be rolled up into an array.
</summary>
</member>
<member name="P:Jurassic.Compiler.BinderArgument.HasDefaultValue">
<summary>
Gets a value that indicates whether this argument has a default value.
</summary>
</member>
<member name="P:Jurassic.Compiler.BinderArgument.DefaultValue">
<summary>
Gets the default value for this argument.
</summary>
</member>
<member name="M:Jurassic.Compiler.BinderArgument.GetCustomAttribute``1">
<summary>
Gets an attribute instance of the given type, if it exists on the argument.
</summary>
<typeparam name="T"> The type of attribute to retrieve. </typeparam>
<returns> An attribute instance, or <c>null</c> if the attribute does not exist on the
argument. </returns>
</member>
<member name="T:Jurassic.Compiler.BinderUtilities">
<summary>
This class is intended only for internal use.
</summary>
</member>
<member name="M:Jurassic.Compiler.BinderUtilities.ResolveOverloads(System.RuntimeMethodHandle[],Jurassic.ScriptEngine,System.Object,System.Object[])">
<summary>
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.
</summary>
<param name="methodHandles"> An array of handles to the candidate methods. </param>
<param name="engine"> The associated script engine. </param>
<param name="thisValue"> The value of the "this" keyword. </param>
<param name="arguments"> An array of parameter values. </param>
<returns> The index of the selected method. </returns>
</member>
<member name="T:Jurassic.Compiler.ClrBinder">
<summary>
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.
</summary>
</member>
<member name="M:Jurassic.Compiler.ClrBinder.#ctor(System.Reflection.MethodBase)">
<summary>
Creates a new ClrBinder instance.
</summary>
<param name="targetMethod"> A method to bind to. </param>
</member>
<member name="M:Jurassic.Compiler.ClrBinder.#ctor(System.Collections.Generic.IEnumerable{System.Reflection.MethodBase})">
<summary>
Creates a new ClrBinder instance.
</summary>
<param name="targetMethods"> An enumerable list of methods to bind to. </param>
</member>
<member name="M:Jurassic.Compiler.ClrBinder.#ctor(System.Collections.Generic.IEnumerable{Jurassic.Compiler.BinderMethod})">
<summary>
Creates a new ClrBinder instance.
</summary>
<param name="targetMethods"> An enumerable list of methods to bind to. </param>
</member>
<member name="M:Jurassic.Compiler.ClrBinder.GenerateStub(Jurassic.Compiler.ILGenerator,System.Int32)">
<summary>
Generates a method that does type conversion and calls the bound method.
</summary>
<param name="generator"> The ILGenerator used to output the body of the method. </param>
<param name="argumentCount"> The number of arguments that will be passed to the delegate. </param>
<returns> A delegate that does type conversion and calls the method represented by this
object. </returns>
</member>
<member name="M:Jurassic.Compiler.ClrBinder.EmitConversionToType(Jurassic.Compiler.ILGenerator,System.Type,System.Boolean)">
<summary>
Pops the value on the stack, converts it from an object to the given type, then pushes
the result onto the stack.
</summary>
<param name="generator"> The IL generator. </param>
<param name="toType"> The type to convert to. </param>
<param name="convertToAddress"> <c>true</c> if the value is intended for use as an
instance pointer; <c>false</c> otherwise. </param>
</member>
<member name="M:Jurassic.Compiler.ClrBinder.EmitConversionToObject(Jurassic.Compiler.ILGenerator,System.Type)">
<summary>
Pops the value on the stack, converts it to an object, then pushes the result onto the
stack.
</summary>
<param name="generator"> The IL generator. </param>
<param name="fromType"> The type to convert from. </param>
</member>
<member name="T:Jurassic.Compiler.FieldBinder">
<summary>
Base class of field getter and setter binders.
</summary>
</member>
<member name="M:Jurassic.Compiler.FieldBinder.#ctor(System.Reflection.FieldInfo)">
<summary>
Creates a new FieldGetterBinder instance.
</summary>
<param name="field"> The field. </param>
</member>
<member name="P:Jurassic.Compiler.FieldBinder.Name">
<summary>
Gets the name of the target methods.
</summary>
</member>
<member name="P:Jurassic.Compiler.FieldBinder.FullName">
<summary>
Gets the full name of the target methods, including the type name.
</summary>
</member>
<member name="T:Jurassic.Compiler.FieldGetterBinder">
<summary>
Retrieves the value of a field.
</summary>
</member>
<member name="M:Jurassic.Compiler.FieldGetterBinder.#ctor(System.Reflection.FieldInfo)">
<summary>
Creates a new FieldGetterBinder instance.
</summary>
<param name="field"> The field. </param>
</member>
<member name="M:Jurassic.Compiler.FieldGetterBinder.GenerateStub(Jurassic.Compiler.ILGenerator,System.Int32)">
<summary>
Generates a method that does type conversion and calls the bound method.
</summary>
<param name="generator"> The ILGenerator used to output the body of the method. </param>
<param name="argumentCount"> The number of arguments that will be passed to the delegate. </param>
<returns> A delegate that does type conversion and calls the method represented by this
object. </returns>
</member>
<member name="T:Jurassic.Compiler.FieldSetterBinder">
<summary>
Sets the value of a field.
</summary>
</member>
<member name="M:Jurassic.Compiler.FieldSetterBinder.#ctor(System.Reflection.FieldInfo)">
<summary>
Creates a new FieldSetterBinder instance.
</summary>
<param name="field"> The field. </param>
</member>
<member name="M:Jurassic.Compiler.FieldSetterBinder.GenerateStub(Jurassic.Compiler.ILGenerator,System.Int32)">
<summary>
Generates a method that does type conversion and calls the bound method.
</summary>
<param name="generator"> The ILGenerator used to output the body of the method. </param>
<param name="argumentCount"> The number of arguments that will be passed to the delegate. </param>
<returns> A delegate that does type conversion and calls the method represented by this
object. </returns>
</member>
<member name="T:Jurassic.Compiler.JSBinder">
<summary>
Binds to a method group using the default javascript rules (extra parameter values are
ignored, missing parameter values are replaced with "undefined").
</summary>
</member>
<member name="M:Jurassic.Compiler.JSBinder.#ctor(Jurassic.Compiler.JSBinderMethod[])">
<summary>
Creates a new JSBinder instance.
</summary>
<param name="targetMethods"> An array of methods to bind to. </param>
</member>
<member name="M:Jurassic.Compiler.JSBinder.#ctor(System.Collections.Generic.IEnumerable{Jurassic.Compiler.JSBinderMethod})">
<summary>
Creates a new JSBinder instance.
</summary>
<param name="targetMethods"> An enumerable list of methods to bind to. </param>
</member>
<member name="M:Jurassic.Compiler.JSBinder.GenerateStub(Jurassic.Compiler.ILGenerator,System.Int32)">
<summary>
Generates a method that does type conversion and calls the bound method.
</summary>
<param name="generator"> The ILGenerator used to output the body of the method. </param>
<param name="argumentCount"> The number of arguments that will be passed to the delegate. </param>
<returns> A delegate that does type conversion and calls the method represented by this
object. </returns>
</member>
<member name="M:Jurassic.Compiler.JSBinder.EmitTypeConversion(Jurassic.Compiler.ILGenerator,System.Type,Jurassic.Compiler.BinderArgument)">
<summary>
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.
</summary>
<param name="generator"> The IL generator. </param>
<param name="fromType"> The type to convert from. </param>
<param name="argument"> The type and default value of the target parameter. </param>
</member>
<member name="M:Jurassic.Compiler.JSBinder.EmitTypeConversion(Jurassic.Compiler.ILGenerator,System.Type,System.Type)">
<summary>
Pops the value on the stack, converts it from one type to another, then pushes the
result onto the stack.
</summary>
<param name="il"> The IL generator. </param>
<param name="fromType"> The type to convert from. </param>
<param name="toType"> The type to convert to. </param>
</member>
<member name="M:Jurassic.Compiler.JSBinder.EmitUndefined(Jurassic.Compiler.ILGenerator,Jurassic.Compiler.BinderArgument)">
<summary>
Pushes the result of converting <c>undefined</c> to the given type onto the stack.
</summary>
<param name="il"> The IL generator. </param>
<param name="argument"> The type to convert to, and optionally a default value. </param>
</member>
<member name="T:Jurassic.Compiler.JSBinderMethod">
<summary>
Represents a single method that the JS function binder can call.
</summary>
</member>
<member name="M:Jurassic.Compiler.JSBinderMethod.#ctor(System.Reflection.MethodInfo,Jurassic.Library.JSFunctionFlags)">
<summary>
Creates a new FunctionBinderMethod instance.
</summary>
<param name="method"> The method to call. </param>
<param name="flags"> Flags that modify the binding process. </param>
</member>
<member name="M:Jurassic.Compiler.JSBinderMethod.Init(Jurassic.Library.JSFunctionFlags)">
<summary>
Creates a new FunctionBinderMethod instance.
</summary>
<param name="flags"> Flags that modify the binding process. </param>
</member>
<member name="P:Jurassic.Compiler.JSBinderMethod.Flags">
<summary>
Gets the flags that were passed to the constructor.
</summary>
</member>
<member name="P:Jurassic.Compiler.JSBinderMethod.HasEngineParameter">
<summary>
Gets a value that indicates whether the script engine should be passed as the first
parameter. Always false for instance methods.
</summary>
</member>
<member name="P:Jurassic.Compiler.JSBinderMethod.HasExplicitThisParameter">
<summary>
Gets a value that indicates whether the "this" object should be passed as the first
parameter (or the second parameter if HasEngineParameter is <c>true</c>). Always false
for instance methods.
</summary>
</member>
<member name="P:Jurassic.Compiler.JSBinderMethod.ExplicitThisType">
<summary>
Gets the type of the explicit "this" value passed to this method. Will be <c>null</c>
if there is no explicit this value.
</summary>
</member>
<member name="P:Jurassic.Compiler.JSBinderMethod.MaxParameterCount">
<summary>
Gets the maximum number of parameters that this method requires (excluding the implicit
this parameter).
</summary>
</member>
<member name="M:Jurassic.Compiler.JSBinderMethod.GetParameters">
<summary>
Gets an array of method parameters.
</summary>
<returns> An array of ParameterInfo instances describing the method parameters. </returns>
</member>
<member name="M:Jurassic.Compiler.JSBinderMethod.GetArguments(System.Int32)">
<summary>
Gets an enumerable list of argument objects, equal in size to
<paramref name="argumentCount"/>.
</summary>
<param name="argumentCount"> The number of arguments to return. </param>
<returns> An enumerable list of argument objects. </returns>
</member>
<member name="T:Jurassic.Compiler.MethodBinder">
<summary>
Selects a method from a list of candidates and performs type conversion from actual
argument type to formal argument type.
</summary>
</member>
<member name="M:Jurassic.Compiler.MethodBinder.#ctor(Jurassic.Compiler.BinderMethod)">
<summary>
Creates a new Binder instance.
</summary>
<param name="targetMethod"> A method to bind to. </param>
</member>
<member name="M:Jurassic.Compiler.MethodBinder.#ctor(System.Collections.Generic.IEnumerable{Jurassic.Compiler.BinderMethod})">
<summary>
Creates a new Binder instance.
</summary>
<param name="targetMethods"> 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. </param>
</member>
<member name="P:Jurassic.Compiler.MethodBinder.Name">
<summary>
Gets the name of the target methods.
</summary>
</member>
<member name="P:Jurassic.Compiler.MethodBinder.FullName">
<summary>
Gets the full name of the target methods, including the type name.
</summary>
</member>
<member name="P:Jurassic.Compiler.MethodBinder.FunctionLength">
<summary>
Gets the maximum number of arguments of any of the target methods. Used to set the
length property on the function.
</summary>
</member>
<member name="T:Jurassic.Compiler.SourceCodePosition">
<summary>
Represents a line and column number in a source file.
</summary>
</member>
<member name="M:Jurassic.Compiler.SourceCodePosition.#ctor(System.Int32,System.Int32)">
<summary>
Creates a new SourceCodePosition instance.
</summary>
<param name="line"> The line number. Must be greater than zero. </param>
<param name="column"> The column number. Must be greater than zero. </param>
</member>
<member name="P:Jurassic.Compiler.SourceCodePosition.Line">
<summary>
Gets the line number.
</summary>
</member>
<member name="P:Jurassic.Compiler.SourceCodePosition.Column">
<summary>
Gets the column number.
</summary>
</member>
<member name="T:Jurassic.Compiler.SourceCodeSpan">
<summary>
Represents a portion of source code.
</summary>
</member>
<member name="M:Jurassic.Compiler.SourceCodeSpan.#ctor(System.Int32,System.Int32,System.Int32,System.Int32)">
<summary>
Creates a new SourceCodeSpan instance.
</summary>
<param name="startLine"> The start line of this SourceCodeSpan. Must be greater than
zero. </param>
<param name="startColumn"> The start column of this SourceCodeSpan. Must be greater
than zero. </param>
<param name="endLine"> The end line of this SourceCodeSpan. Must be greater than
<paramref name="startLine"/>. </param>
<param name="endColumn"> The end column of this SourceCodeSpan. Must be greater than
<paramref name="startColumn"/>. </param>
</member>
<member name="M:Jurassic.Compiler.SourceCodeSpan.#ctor(Jurassic.Compiler.SourceCodePosition,Jurassic.Compiler.SourceCodePosition)">
<summary>
Creates a new SourceCodeSpan instance.
</summary>
<param name="start"> The start line and column of this SourceCodeSpan. </param>
<param name="end"> The end line and column of this SourceCodeSpan. </param>
</member>
<member name="P:Jurassic.Compiler.SourceCodeSpan.StartLine">
<summary>
Gets the starting line number of this range.
</summary>
</member>
<member name="P:Jurassic.Compiler.SourceCodeSpan.StartColumn">
<summary>
Gets the starting column number of this range.
</summary>
</member>
<member name="P:Jurassic.Compiler.SourceCodeSpan.EndLine">
<summary>
Gets the ending line number of this range.
</summary>
</member>
<member name="P:Jurassic.Compiler.SourceCodeSpan.EndColumn">
<summary>
Gets the ending column number of this range.
</summary>
</member>
<member name="T:Jurassic.Compiler.EmitConversion">
<summary>
Outputs IL that converts between types.
</summary>
</member>
<member name="M:Jurassic.Compiler.EmitConversion.Convert(Jurassic.Compiler.ILGenerator,Jurassic.Compiler.PrimitiveType,Jurassic.Compiler.PrimitiveType)">
<summary>
Pops the value on the stack, converts it to the given type, then pushes the result
onto the stack.
</summary>
<param name="generator"> The IL generator. </param>
<param name="fromType"> The type to convert from. </param>
<param name="toType"> The type to convert to. </param>
</member>
<member name="M:Jurassic.Compiler.EmitConversion.Convert(Jurassic.Compiler.ILGenerator,Jurassic.Compiler.PrimitiveType,Jurassic.Compiler.PrimitiveType,Jurassic.Compiler.OptimizationInfo)">
<summary>
Pops the value on the stack, converts it to the given type, then pushes the result
onto the stack.
</summary>
<param name="generator"> The IL generator. </param>
<param name="fromType"> The type to convert from. </param>
<param name="toType"> The type to convert to. </param>
<param name="optimizationInfo"> Information about the line number, function and path. </param>
</member>
<member name="M:Jurassic.Compiler.EmitConversion.Convert(Jurassic.Compiler.ILGenerator,Jurassic.Compiler.PrimitiveType,Jurassic.Compiler.PrimitiveType,System.String,System.String,System.Int32)">
<summary>
Pops the value on the stack, converts it to the given type, then pushes the result
onto the stack.
</summary>
<param name="generator"> The IL generator. </param>
<param name="fromType"> The type to convert from. </param>
<param name="toType"> The type to convert to. </param>
<param name="path"> The path of the javascript source file that is currently executing. </param>
<param name="function"> The name of the currently executing function. </param>
<param name="line"> The line number of the statement that is currently executing. </param>
</member>
<member name="M:Jurassic.Compiler.EmitConversion.ToBool(Jurassic.Compiler.ILGenerator,Jurassic.Compiler.PrimitiveType)">
<summary>
Pops the value on the stack, converts it to a boolean, then pushes the boolean result
onto the stack.
</summary>
<param name="generator"> The IL generator. </param>
<param name="fromType"> The type to convert from. </param>
</member>
<member name="M:Jurassic.Compiler.EmitConversion.ToInteger(Jurassic.Compiler.ILGenerator,Jurassic.Compiler.PrimitiveType)">
<summary>
Pops the value on the stack, converts it to an integer, then pushes the integer result
onto the stack.
</summary>
<param name="generator"> The IL generator. </param>
<param name="fromType"> The type to convert from. </param>
</member>
<member name="M:Jurassic.Compiler.EmitConversion.ToInt32(Jurassic.Compiler.ILGenerator,Jurassic.Compiler.PrimitiveType)">
<summary>
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).
</summary>
<param name="generator"> The IL generator. </param>
<param name="fromType"> The type to convert from. </param>
</member>
<member name="M:Jurassic.Compiler.EmitConversion.ToUInt32(Jurassic.Compiler.ILGenerator,Jurassic.Compiler.PrimitiveType)">
<summary>
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).
</summary>
<param name="generator"> The IL generator. </param>
<param name="fromType"> The type to convert from. </param>
</member>
<member name="M:Jurassic.Compiler.EmitConversion.ToNumber(Jurassic.Compiler.ILGenerator,Jurassic.Compiler.PrimitiveType)">
<summary>
Pops the value on the stack, converts it to a double, then pushes the double result
onto the stack.
</summary>
<param name="generator"> The IL generator. </param>
<param name="fromType"> The type to convert from. </param>
</member>
<member name="M:Jurassic.Compiler.EmitConversion.ToString(Jurassic.Compiler.ILGenerator,Jurassic.Compiler.PrimitiveType)">
<summary>
Pops the value on the stack, converts it to a string, then pushes the result onto the
stack.
</summary>
<param name="generator"> The IL generator. </param>
<param name="fromType"> The type to convert from. </param>
</member>
<member name="M:Jurassic.Compiler.EmitConversion.ToConcatenatedString(Jurassic.Compiler.ILGenerator,Jurassic.Compiler.PrimitiveType)">
<summary>
Pops the value on the stack, converts it to a concatenated string, then pushes the result
onto the stack.
</summary>
<param name="generator"> The IL generator. </param>
<param name="fromType"> The type to convert from. </param>
</member>
<member name="M:Jurassic.Compiler.EmitConversion.ToObject(Jurassic.Compiler.ILGenerator,Jurassic.Compiler.PrimitiveType,Jurassic.Compiler.OptimizationInfo)">
<summary>
Pops the value on the stack, converts it to a javascript object, then pushes the result
onto the stack.
</summary>
<param name="generator"> The IL generator. </param>
<param name="fromType"> The type to convert from. </param>
<param name="optimizationInfo"> Information about the line number, function and path. </param>
</member>
<member name="M:Jurassic.Compiler.EmitConversion.ToObject(Jurassic.Compiler.ILGenerator,Jurassic.Compiler.PrimitiveType,System.String,System.String,System.Int32)">
<summary>
Pops the value on the stack, converts it to a javascript object, then pushes the result
onto the stack.
</summary>
<param name="generator"> The IL generator. </param>
<param name="fromType"> The type to convert from. </param>
<param name="path"> The path of the javascript source file that is currently executing. </param>
<param name="function"> The name of the currently executing function. </param>
<param name="line"> The line number of the statement that is currently executing. </param>
</member>
<member name="M:Jurassic.Compiler.EmitConversion.ToPrimitive(Jurassic.Compiler.ILGenerator,Jurassic.Compiler.PrimitiveType,Jurassic.PrimitiveTypeHint)">
<summary>
Pops the value on the stack, converts it to a primitive value, then pushes the result
onto the stack.
</summary>
<param name="generator"> The IL generator. </param>
<param name="fromType"> The type to convert from. </param>
<param name="preferredType"> Specifies whether toString() or valueOf() should be
preferred when converting to a primitive. </param>
</member>
<member name="M:Jurassic.Compiler.EmitConversion.ToAny(Jurassic.Compiler.ILGenerator,Jurassic.Compiler.PrimitiveType)">
<summary>
Pops the value on the stack, converts it to an object, then pushes the result onto the
stack.
</summary>
<param name="generator"> The IL generator. </param>
<param name="fromType"> The type to convert from. </param>
</member>
<member name="M:Jurassic.Compiler.EmitConversion.ToPropertyKey(Jurassic.Compiler.ILGenerator,Jurassic.Compiler.PrimitiveType)">
<summary>
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.
</summary>
<param name="generator"> The IL generator. </param>
<param name="fromType"> The type to convert from. </param>
</member>
<member name="T:Jurassic.Compiler.EmitHelpers">
<summary>
Outputs IL for misc tasks.
</summary>
</member>
<member name="M:Jurassic.Compiler.EmitHelpers.EmitUndefined(Jurassic.Compiler.ILGenerator)">
<summary>
Emits undefined.
</summary>
<param name="generator"> The IL generator. </param>
</member>
<member name="M:Jurassic.Compiler.EmitHelpers.EmitNull(Jurassic.Compiler.ILGenerator)">
<summary>
Emits null.
</summary>
<param name="generator"> The IL generator. </param>
</member>
<member name="M:Jurassic.Compiler.EmitHelpers.EmitDefaultValue(Jurassic.Compiler.ILGenerator,System.Type)">
<summary>
Emits a default value of the given type.
</summary>
<param name="generator"> The IL generator. </param>
<param name="type"> The type of value to generate. </param>
</member>
<member name="M:Jurassic.Compiler.EmitHelpers.EmitDefaultValue(Jurassic.Compiler.ILGenerator,Jurassic.Compiler.PrimitiveType)">
<summary>
Emits a dummy value of the given type.
</summary>
<param name="generator"> The IL generator. </param>
<param name="type"> The type of value to generate. </param>
</member>
<member name="M:Jurassic.Compiler.EmitHelpers.EmitThrow(Jurassic.Compiler.ILGenerator,Jurassic.Library.ErrorType,System.String)">
<summary>
Emits a JavaScriptException.
</summary>
<param name="generator"> The IL generator. </param>
<param name="type"> The type of error to generate, e.g. Error, RangeError, etc. </param>
<param name="message"> The error message. </param>
</member>
<member name="M:Jurassic.Compiler.EmitHelpers.EmitThrow(Jurassic.Compiler.ILGenerator,Jurassic.Library.ErrorType,System.String,Jurassic.Compiler.OptimizationInfo)">
<summary>
Emits a JavaScriptException.
</summary>
<param name="generator"> The IL generator. </param>
<param name="type"> The type of error to generate, e.g. Error, RangeError, etc. </param>
<param name="message"> The error message. </param>
<param name="optimizationInfo"> Information about the line number, function and path. </param>
</member>
<member name="M:Jurassic.Compiler.EmitHelpers.EmitThrow(Jurassic.Compiler.ILGenerator,Jurassic.Library.ErrorType,System.String,System.String,System.String,System.Int32)">
<summary>
Emits a JavaScriptException.
</summary>
<param name="generator"> The IL generator. </param>
<param name="type"> The type of error to generate, e.g. Error, RangeError, etc. </param>
<param name="message"> The error message. </param>
<param name="path"> The path of the javascript source file that is currently executing. </param>
<param name="function"> The name of the currently executing function. </param>
<param name="line"> The line number of the statement that is currently executing. </param>
</member>
<member name="M:Jurassic.Compiler.EmitHelpers.EmitValue(Jurassic.Compiler.ILGenerator,System.Object)">
<summary>
Emits the given value. Only possible for certain types.
</summary>
<param name="generator"> The IL generator. </param>
<param name="value"> The value to emit. </param>
</member>
<member name="M:Jurassic.Compiler.EmitHelpers.LoadExecutionContext(Jurassic.Compiler.ILGenerator)">
<summary>
Pushes the value of the execution context onto the stack.
</summary>
<param name="generator"> The IL generator. </param>
</member>
<member name="M:Jurassic.Compiler.EmitHelpers.LoadScriptEngine(Jurassic.Compiler.ILGenerator)">
<summary>
Pushes a reference to the script engine onto the stack.
</summary>
<param name="generator"> The IL generator. </param>
</member>
<member name="M:Jurassic.Compiler.EmitHelpers.LoadThis(Jurassic.Compiler.ILGenerator)">
<summary>
Pushes the value of the <c>this</c> keyword onto the stack.
</summary>
<param name="generator"> The IL generator. </param>
</member>
<member name="M:Jurassic.Compiler.EmitHelpers.LoadFunction(Jurassic.Compiler.ILGenerator)">
<summary>
Pushes a reference to the current function onto the stack.
</summary>
<param name="generator"> The IL generator. </param>
</member>
<member name="M:Jurassic.Compiler.EmitHelpers.LoadNewTarget(Jurassic.Compiler.ILGenerator)">
<summary>
Pushes a reference to the 'new.target' value for the current function onto the stack.
</summary>
<param name="generator"> The IL generator. </param>
</member>
<member name="M:Jurassic.Compiler.EmitHelpers.LoadArgumentsArray(Jurassic.Compiler.ILGenerator)">
<summary>
Pushes a reference to the array of argument values for the current function onto the
stack.
</summary>
<param name="generator"> The IL generator. </param>
</member>
<member name="T:Jurassic.Compiler.ILGenerator">
<summary>
Represents a generator of CIL bytes.
</summary>
</member>
<member name="P:Jurassic.Compiler.ILGenerator.MethodInfo">
<summary>
Gets a reference to the method that we are generating IL for.
</summary>
</member>
<member name="M:Jurassic.Compiler.ILGenerator.Complete">
<summary>
Emits a return statement and finalizes the generated code. Do not emit any more
instructions after calling this method.
</summary>
</member>
<member name="M:Jurassic.Compiler.ILGenerator.Pop">
<summary>
Pops the value from the top of the stack.
</summary>
</member>
<member name="M:Jurassic.Compiler.ILGenerator.Duplicate">
<summary>
Duplicates the value on the top of the stack.
</summary>
</member>
<member name="M:Jurassic.Compiler.ILGenerator.CreateLabel">
<summary>
Creates a label without setting its position.
</summary>
<returns> A new label. </returns>
</member>
<member name="M:Jurassic.Compiler.ILGenerator.DefineLabelPosition(Jurassic.Compiler.ILLabel)">
<summary>
Defines the position of the given label.
</summary>
<param name="label"> The label to define. </param>
</member>
<member name="M:Jurassic.Compiler.ILGenerator.DefineLabelPosition">
<summary>
Creates a label and sets its position.
</summary>
<returns> A new label. </returns>
</member>
<member name="M:Jurassic.Compiler.ILGenerator.Branch(Jurassic.Compiler.ILLabel)">
<summary>
Unconditionally branches to the given label.
</summary>
<param name="label"> The label to branch to. </param>
</member>
<member name="M:Jurassic.Compiler.ILGenerator.BranchIfZero(Jurassic.Compiler.ILLabel)">
<summary>
Branches to the given label if the value on the top of the stack is zero, false or
null.
</summary>
<param name="label"> The label to branch to. </param>
</member>
<member name="M:Jurassic.Compiler.ILGenerator.BranchIfNotZero(Jurassic.Compiler.ILLabel)">
<summary>
Branches to the given label if the value on the top of the stack is non-zero, true or
non-null.
</summary>
<param name="label"> The label to branch to. </param>
</member>
<member name="M:Jurassic.Compiler.ILGenerator.BranchIfFalse(Jurassic.Compiler.ILLabel)">
<summary>
Branches to the given label if the value on the top of the stack is zero, false or
null.
</summary>
<param name="label"> The label to branch to. </param>
</member>
<member name="M:Jurassic.Compiler.ILGenerator.BranchIfTrue(Jurassic.Compiler.ILLabel)">
<summary>
Branches to the given label if the value on the top of the stack is non-zero, true or
non-null.
</summary>
<param name="label"> The label to branch to. </param>
</member>
<member name="M:Jurassic.Compiler.ILGenerator.BranchIfNull(Jurassic.Compiler.ILLabel)">
<summary>
Branches to the given label if the value on the top of the stack is zero, false or
null.
</summary>
<param name="label"> The label to branch to. </param>
</member>
<member name="M:Jurassic.Compiler.ILGenerator.BranchIfNotNull(Jurassic.Compiler.ILLabel)">
<summary>
Branches to the given label if the value on the top of the stack is non-zero, true or
non-null.
</summary>
<param name="label"> The label to branch to. </param>
</member>
<member name="M:Jurassic.Compiler.ILGenerator.BranchIfEqual(Jurassic.Compiler.ILLabel)">
<summary>
Branches to the given label if the two values on the top of the stack are equal.
</summary>
<param name="label"> The label to branch to. </param>
</member>
<member name="M:Jurassic.Compiler.ILGenerator.BranchIfNotEqual(Jurassic.Compiler.ILLabel)">
<summary>
Branches to the given label if the two values on the top of the stack are not equal.
</summary>
<param name="label"> The label to branch to. </param>
</member>
<member name="M:Jurassic.Compiler.ILGenerator.BranchIfGreaterThan(Jurassic.Compiler.ILLabel)">
<summary>
Branches to the given label if the first value on the stack is greater than the second
value on the stack.
</summary>
<param name="label"> The label to branch to. </param>
</member>
<member name="M:Jurassic.Compiler.ILGenerator.BranchIfGreaterThanUnsigned(Jurassic.Compiler.ILLabel)">
<summary>
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.
</summary>
<param name="label"> The label to branch to. </param>
</member>
<member name="M:Jurassic.Compiler.ILGenerator.BranchIfGreaterThanOrEqual(Jurassic.Compiler.ILLabel)">
<summary>
Branches to the given label if the first value on the stack is greater than or equal to
the second value on the stack.
</summary>
<param name="label"> The label to branch to. </param>
</member>
<member name="M:Jurassic.Compiler.ILGenerator.BranchIfGreaterThanOrEqualUnsigned(Jurassic.Compiler.ILLabel)">
<summary>
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.
</summary>
<param name="label"> The label to branch to. </param>
</member>
<member name="M:Jurassic.Compiler.ILGenerator.BranchIfLessThan(Jurassic.Compiler.ILLabel)">
<summary>
Branches to the given label if the first value on the stack is less than the second
value on the stack.
</summary>
<param name="label"> The label to branch to. </param>
</member>
<member name="M:Jurassic.Compiler.ILGenerator.BranchIfLessThanUnsigned(Jurassic.Compiler.ILLabel)">
<summary>
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.
</summary>
<param name="label"> The label to branch to. </param>
</member>
<member name="M:Jurassic.Compiler.ILGenerator.BranchIfLessThanOrEqual(Jurassic.Compiler.ILLabel)">
<summary>
Branches to the given label if the first value on the stack is less than or equal to
the second value on the stack.
</summary>
<param name="label"> The label to branch to. </param>
</member>
<member name="M:Jurassic.Compiler.ILGenerator.BranchIfLessThanOrEqualUnsigned(Jurassic.Compiler.ILLabel)">
<summary>
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.
</summary>
<param name="label"> The label to branch to. </param>
</member>
<member name="M:Jurassic.Compiler.ILGenerator.Return">
<summary>
Returns from the current method. A value is popped from the stack and used as the
return value.
</summary>
</member>
<member name="M:Jurassic.Compiler.ILGenerator.Switch(Jurassic.Compiler.ILLabel[])">
<summary>
Creates a jump table. A value is popped from the stack - this value indicates the
index of the label in the <paramref name="labels"/> array to jump to.
</summary>
<param name="labels"> A array of labels. </param>
</member>
<member name="M:Jurassic.Compiler.ILGenerator.DeclareVariable(System.Type,System.String)">
<summary>
Declares a new local variable.
</summary>
<param name="type"> The type of the local variable. </param>
<param name="name"> The name of the local variable. Can be <c>null</c>. </param>
<returns> A new local variable. </returns>
</member>
<member name="M:Jurassic.Compiler.ILGenerator.DeclareVariable(Jurassic.Compiler.PrimitiveType,System.String)">
<summary>
Declares a new local variable.
</summary>
<param name="type"> The type of the local variable. </param>
<param name="name"> The name of the local variable. Can be <c>null</c>. </param>
<returns> A new local variable. </returns>
</member>
<member name="M:Jurassic.Compiler.ILGenerator.LoadVariable(Jurassic.Compiler.ILLocalVariable)">
<summary>
Pushes the value of the given variable onto the stack.
</summary>
<param name="variable"> The variable whose value will be pushed. </param>
</member>
<member name="M:Jurassic.Compiler.ILGenerator.LoadAddressOfVariable(Jurassic.Compiler.ILLocalVariable)">
<summary>
Pushes the address of the given variable onto the stack.
</summary>
<param name="variable"> The variable whose address will be pushed. </param>
</member>
<member name="M:Jurassic.Compiler.ILGenerator.StoreVariable(Jurassic.Compiler.ILLocalVariable)">
<summary>
Pops the value from the top of the stack and stores it in the given local variable.
</summary>
<param name="variable"> The variable to store the value. </param>
</member>
<member name="M:Jurassic.Compiler.ILGenerator.LoadArgument(System.Int32)">
<summary>
Pushes the value of the method argument with the given index onto the stack.
</summary>
<param name="argumentIndex"> The index of the argument to push onto the stack. </param>
</member>
<member name="M:Jurassic.Compiler.ILGenerator.StoreArgument(System.Int32)">
<summary>
Pops a value from the stack and stores it in the method argument with the given index.
</summary>
<param name="argumentIndex"> The index of the argument to store into. </param>
</member>
<member name="M:Jurassic.Compiler.ILGenerator.CreateTemporaryVariable(System.Type)">
<summary>
Retrieves a temporary variable with the given type, reusing a previous variable if
possible.
</summary>
<param name="type"> The type of variable to create. </param>
<returns> A temporary variable </returns>
</member>
<member name="M:Jurassic.Compiler.ILGenerator.CreateTemporaryVariable(Jurassic.Compiler.PrimitiveType)">
<summary>
Retrieves a temporary variable with the given type, reusing a previous variable if
possible.
</summary>
<param name="type"> The type of variable to create. </param>
<returns> A temporary variable </returns>
</member>
<member name="M:Jurassic.Compiler.ILGenerator.ReleaseTemporaryVariable(Jurassic.Compiler.ILLocalVariable)">
<summary>
Indicates that the given temporary variable is no longer needed.
</summary>
<param name="temporaryVariable"> The temporary variable created using CreateTemporaryVariable(). </param>
</member>
<member name="M:Jurassic.Compiler.ILGenerator.LoadNull">
<summary>
Pushes <c>null</c> onto the stack.
</summary>
</member>
<member name="M:Jurassic.Compiler.ILGenerator.LoadBoolean(System.Boolean)">
<summary>
Pushes a constant value onto the stack.
</summary>
<param name="value"> The boolean to push onto the stack. </param>
</member>
<member name="M:Jurassic.Compiler.ILGenerator.LoadInt32(System.Int32)">
<summary>
Pushes a constant value onto the stack.
</summary>
<param name="value"> The integer to push onto the stack. </param>
</member>
<member name="M:Jurassic.Compiler.ILGenerator.LoadInt32(System.UInt32)">
<summary>
Pushes an unsigned constant value onto the stack.
</summary>
<param name="value"> The integer to push onto the stack. </param>
</member>
<member name="M:Jurassic.Compiler.ILGenerator.LoadInt64(System.Int64)">
<summary>
Pushes a 64-bit constant value onto the stack.
</summary>
<param name="value"> The 64-bit integer to push onto the stack. </param>
</member>
<member name="M:Jurassic.Compiler.ILGenerator.LoadInt64(System.UInt64)">
<summary>
Pushes an unsigned 64-bit constant value onto the stack.
</summary>
<param name="value"> The 64-bit integer to push onto the stack. </param>
</member>
<member name="M:Jurassic.Compiler.ILGenerator.LoadDouble(System.Double)">
<summary>
Pushes a constant value onto the stack.
</summary>
<param name="value"> The number to push onto the stack. </param>
</member>
<member name="M:Jurassic.Compiler.ILGenerator.LoadString(System.String)">
<summary>
Pushes a constant value onto the stack.
</summary>
<param name="value"> The string to push onto the stack. </param>
</member>
<member name="M:Jurassic.Compiler.ILGenerator.LoadStringOrNull(System.String)">
<summary>
Pushes a constant value onto the stack.
</summary>
<param name="value"> The string to push onto the stack. Can be <c>null</c>. </param>
</member>
<member name="M:Jurassic.Compiler.ILGenerator.LoadEnumValue``1(``0)">
<summary>
Pushes a constant value onto the stack.
</summary>
<param name="value"> The enum value to push onto the stack. </param>
</member>
<member name="M:Jurassic.Compiler.ILGenerator.CompareEqual">
<summary>
Pops two values from the stack, compares, then pushes <c>1</c> if the first argument
is equal to the second, or <c>0</c> otherwise. Produces <c>0</c> if one or both
of the arguments are <c>NaN</c>.
</summary>
</member>
<member name="M:Jurassic.Compiler.ILGenerator.CompareGreaterThan">
<summary>
Pops two values from the stack, compares, then pushes <c>1</c> if the first argument
is greater than the second, or <c>0</c> otherwise. Produces <c>0</c> if one or both
of the arguments are <c>NaN</c>.
</summary>
</member>
<member name="M:Jurassic.Compiler.ILGenerator.CompareGreaterThanUnsigned">
<summary>
Pops two values from the stack, compares, then pushes <c>1</c> if the first argument
is greater than the second, or <c>0</c> otherwise. Produces <c>1</c> if one or both
of the arguments are <c>NaN</c>. Integers are considered to be unsigned.
</summary>
</member>
<member name="M:Jurassic.Compiler.ILGenerator.CompareLessThan">
<summary>
Pops two values from the stack, compares, then pushes <c>1</c> if the first argument
is less than the second, or <c>0</c> otherwise. Produces <c>0</c> if one or both
of the arguments are <c>NaN</c>.
</summary>
</member>
<member name="M:Jurassic.Compiler.ILGenerator.CompareLessThanUnsigned">
<summary>
Pops two values from the stack, compares, then pushes <c>1</c> if the first argument
is less than the second, or <c>0</c> otherwise. Produces <c>1</c> if one or both
of the arguments are <c>NaN</c>. Integers are considered to be unsigned.
</summary>
</member>
<member name="M:Jurassic.Compiler.ILGenerator.Add">
<summary>
Pops two values from the stack, adds them together, then pushes the result to the
stack.
</summary>
</member>
<member name="M:Jurassic.Compiler.ILGenerator.Subtract">
<summary>
Pops two values from the stack, subtracts the second from the first, then pushes the
result to the stack.
</summary>
</member>
<member name="M:Jurassic.Compiler.ILGenerator.Multiply">
<summary>
Pops two values from the stack, multiplies them together, then pushes the
result to the stack.
</summary>
</member>
<member name="M:Jurassic.Compiler.ILGenerator.Divide">
<summary>
Pops two values from the stack, divides the first by the second, then pushes the
result to the stack.
</summary>
</member>
<member name="M:Jurassic.Compiler.ILGenerator.Remainder">
<summary>
Pops two values from the stack, divides the first by the second, then pushes the
remainder to the stack.
</summary>
</member>
<member name="M:Jurassic.Compiler.ILGenerator.Negate">
<summary>
Pops a value from the stack, negates it, then pushes it back onto the stack.
</summary>
</member>
<member name="M:Jurassic.Compiler.ILGenerator.BitwiseAnd">
<summary>
Pops two values from the stack, ANDs them together, then pushes the result to the
stack.
</summary>
</member>
<member name="M:Jurassic.Compiler.ILGenerator.BitwiseOr">
<summary>
Pops two values from the stack, ORs them together, then pushes the result to the
stack.
</summary>
</member>
<member name="M:Jurassic.Compiler.ILGenerator.BitwiseXor">
<summary>
Pops two values from the stack, XORs them together, then pushes the result to the
stack.
</summary>
</member>
<member name="M:Jurassic.Compiler.ILGenerator.BitwiseNot">
<summary>
Pops a value from the stack, inverts it, then pushes the result to the stack.
</summary>
</member>
<member name="M:Jurassic.Compiler.ILGenerator.ShiftLeft">
<summary>
Pops two values from the stack, shifts the first to the left, then pushes the result
to the stack.
</summary>
</member>
<member name="M:Jurassic.Compiler.ILGenerator.ShiftRight">
<summary>
Pops two values from the stack, shifts the first to the right, then pushes the result
to the stack. The sign bit is preserved.
</summary>
</member>
<member name="M:Jurassic.Compiler.ILGenerator.ShiftRightUnsigned">
<summary>
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.
</summary>
</member>
<member name="M:Jurassic.Compiler.ILGenerator.Box(System.Type)">
<summary>
Pops a value from the stack, converts it to an object reference, then pushes it back onto
the stack.
</summary>
<param name="type"> The type of value to box. This should be a value type. </param>
</member>
<member name="M:Jurassic.Compiler.ILGenerator.Box(Jurassic.Compiler.PrimitiveType)">
<summary>
Pops a value from the stack, converts it to an object reference, then pushes it back onto
the stack.
</summary>
<param name="type"> The type of value to box. This should be a value type. </param>
</member>
<member name="M:Jurassic.Compiler.ILGenerator.Unbox(System.Type)">
<summary>
Pops an object reference (representing a boxed value) from the stack, extracts the
address, then pushes that address onto the stack.
</summary>
<param name="type"> The type of the boxed value. This should be a value type. </param>
</member>
<member name="M:Jurassic.Compiler.ILGenerator.Unbox(Jurassic.Compiler.PrimitiveType)">
<summary>
Pops an object reference (representing a boxed value) from the stack, extracts the
address, then pushes that address onto the stack.
</summary>
<param name="type"> The type of the boxed value. This should be a value type. </param>
</member>
<member name="M:Jurassic.Compiler.ILGenerator.UnboxAny(System.Type)">
<summary>
Pops an object reference (representing a boxed value) from the stack, extracts the value,
then pushes the value onto the stack.
</summary>
<param name="type"> The type of the boxed value. This should be a value type. </param>
</member>
<member name="M:Jurassic.Compiler.ILGenerator.UnboxAny(Jurassic.Compiler.PrimitiveType)">
<summary>
Pops an object reference (representing a boxed value) from the stack, extracts the value,
then pushes the value onto the stack.
</summary>
<param name="type"> The type of the boxed value. This should be a value type. </param>
</member>
<member name="M:Jurassic.Compiler.ILGenerator.ConvertToInteger">
<summary>
Pops a value from the stack, converts it to a signed integer, then pushes it back onto
the stack.
</summary>
</member>
<member name="M:Jurassic.Compiler.ILGenerator.ConvertToUnsignedInteger">
<summary>
Pops a value from the stack, converts it to an unsigned integer, then pushes it back
onto the stack.
</summary>
</member>
<member name="M:Jurassic.Compiler.ILGenerator.ConvertToInt64">
<summary>
Pops a value from the stack, converts it to a signed 64-bit integer, then pushes it
back onto the stack.
</summary>
</member>
<member name="M:Jurassic.Compiler.ILGenerator.ConvertToUnsignedInt64">
<summary>
Pops a value from the stack, converts it to an unsigned 64-bit integer, then pushes it
back onto the stack.
</summary>
</member>
<member name="M:Jurassic.Compiler.ILGenerator.ConvertToDouble">
<summary>
Pops a value from the stack, converts it to a double, then pushes it back onto
the stack.
</summary>
</member>
<member name="M:Jurassic.Compiler.ILGenerator.ConvertUnsignedToDouble">
<summary>
Pops an unsigned integer from the stack, converts it to a double, then pushes it back onto
the stack.
</summary>
</member>
<member name="M:Jurassic.Compiler.ILGenerator.NewObject(System.Reflection.ConstructorInfo)">
<summary>
Pops the constructor arguments off the stack and creates a new instance of the object.
</summary>
<param name="constructor"> The constructor that is used to initialize the object. </param>
</member>
<member name="M:Jurassic.Compiler.ILGenerator.Call(System.Reflection.MethodInfo)">
<summary>
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.
</summary>
<param name="method"> The method to call. </param>
</member>
<member name="M:Jurassic.Compiler.ILGenerator.CallStatic(System.Reflection.MethodInfo)">
<summary>
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.
</summary>
<param name="method"> The method to call. </param>
</member>
<member name="M:Jurassic.Compiler.ILGenerator.CallVirtual(System.Reflection.MethodInfo)">
<summary>
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.
</summary>
<param name="method"> The method to call. </param>
<exception cref="T:System.ArgumentException"> The method is static. </exception>
</member>
<member name="M:Jurassic.Compiler.ILGenerator.LoadField(System.Reflection.FieldInfo)">
<summary>
Pushes the value of the given field onto the stack.
</summary>
<param name="field"> The field whose value will be pushed. </param>
</member>
<member name="M:Jurassic.Compiler.ILGenerator.StoreField(System.Reflection.FieldInfo)">
<summary>
Pops a value off the stack and stores it in the given field.
</summary>
<param name="field"> The field to modify. </param>
</member>
<member name="M:Jurassic.Compiler.ILGenerator.CastClass(System.Type)">
<summary>
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.
</summary>
<param name="type"> The type of the class the object inherits from or the interface the
object implements. </param>
</member>
<member name="M:Jurassic.Compiler.ILGenerator.ReinterpretCast(System.Type)">
<summary>
Changes the type of the value on the top of the stack, for the purpose of passing
verification. Doesn't generate any IL instructions.
</summary>
<param name="type"> The type to convert to. </param>
</member>
<member name="M:Jurassic.Compiler.ILGenerator.IsInstance(System.Type)">
<summary>
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 <c>null</c>
(if the check failed) onto the stack.
</summary>
<param name="type"> The type of the class the object inherits from or the interface the
object implements. </param>
</member>
<member name="M:Jurassic.Compiler.ILGenerator.LoadToken(System.Type)">
<summary>
Pushes a RuntimeTypeHandle corresponding to the given type onto the evaluation stack.
</summary>
<param name="type"> The type to convert to a RuntimeTypeHandle. </param>
</member>
<member name="M:Jurassic.Compiler.ILGenerator.LoadToken(System.Reflection.MethodBase)">
<summary>
Pushes a RuntimeMethodHandle corresponding to the given method onto the evaluation
stack.
</summary>
<param name="method"> The method to convert to a RuntimeMethodHandle. </param>
</member>
<member name="M:Jurassic.Compiler.ILGenerator.LoadToken(System.Reflection.FieldInfo)">
<summary>
Pushes a RuntimeFieldHandle corresponding to the given field onto the evaluation stack.
</summary>
<param name="field"> The type to convert to a RuntimeFieldHandle. </param>
</member>
<member name="M:Jurassic.Compiler.ILGenerator.LoadStaticMethodPointer(System.Reflection.MethodBase)">
<summary>
Pushes a pointer to the native code implementing the given method onto the evaluation
stack. The virtual qualifier will be ignored, if present.
</summary>
<param name="method"> The method to retrieve a pointer for. </param>
</member>
<member name="M:Jurassic.Compiler.ILGenerator.LoadVirtualMethodPointer(System.Reflection.MethodBase)">
<summary>
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.
</summary>
<param name="method"> The method to retrieve a pointer for. </param>
<exception cref="T:System.ArgumentException"> The method is static. </exception>
</member>
<member name="M:Jurassic.Compiler.ILGenerator.LoadMethodPointer(System.Reflection.MethodBase)">
<summary>
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.
</summary>
<param name="method"> The method to retrieve a pointer for. </param>
</member>
<member name="M:Jurassic.Compiler.ILGenerator.InitObject(System.Type)">
<summary>
Pops a managed or native pointer off the stack and initializes the referenced type with
zeros.
</summary>
<param name="type"> The type the pointer on the top of the stack is pointing to. </param>
</member>
<member name="M:Jurassic.Compiler.ILGenerator.NewArray(System.Type)">
<summary>
Pops the size of the array off the stack and pushes a new array of the given type onto
the stack.
</summary>
<param name="type"> The element type. </param>
</member>
<member name="M:Jurassic.Compiler.ILGenerator.LoadArrayElement(System.Type)">
<summary>
Pops the array and index off the stack and pushes the element value onto the stack.
</summary>
<param name="type"> The element type. </param>
</member>
<member name="M:Jurassic.Compiler.ILGenerator.LoadArrayElement(Jurassic.Compiler.PrimitiveType)">
<summary>
Pops the array and index off the stack and pushes the element value onto the stack.
</summary>
<param name="type"> The element type. </param>
</member>
<member name="M:Jurassic.Compiler.ILGenerator.StoreArrayElement(System.Type)">
<summary>
Pops the array, index and value off the stack and stores the value in the array.
</summary>
<param name="type"> The element type. </param>
</member>
<member name="M:Jurassic.Compiler.ILGenerator.StoreArrayElement(Jurassic.Compiler.PrimitiveType)">
<summary>
Pops the array, index and value off the stack and stores the value in the array.
</summary>
<param name="type"> The element type. </param>
</member>
<member name="M:Jurassic.Compiler.ILGenerator.LoadArrayLength">
<summary>
Pops an array off the stack and pushes the length of the array onto the stack.
</summary>
</member>
<member name="M:Jurassic.Compiler.ILGenerator.Throw">
<summary>
Pops an exception object off the stack and throws the exception.
</summary>
</member>
<member name="M:Jurassic.Compiler.ILGenerator.Rethrow">
<summary>
Re-throws the current exception.
</summary>
</member>
<member name="M:Jurassic.Compiler.ILGenerator.BeginExceptionBlock">
<summary>
Begins a try-catch-finally block. After issuing this instruction any following
instructions are conceptually within the try block.
</summary>
</member>
<member name="M:Jurassic.Compiler.ILGenerator.EndExceptionBlock">
<summary>
Ends a try-catch-finally block.
</summary>
</member>
<member name="M:Jurassic.Compiler.ILGenerator.BeginCatchBlock(System.Type)">
<summary>
Begins a catch block. BeginExceptionBlock() must have already been called.
</summary>
<param name="exceptionType"> The type of exception to handle. </param>
</member>
<member name="M:Jurassic.Compiler.ILGenerator.BeginFinallyBlock">
<summary>
Begins a finally block. BeginExceptionBlock() must have already been called.
</summary>
</member>
<member name="M:Jurassic.Compiler.ILGenerator.BeginFilterBlock">
<summary>
Begins a filter block. BeginExceptionBlock() must have already been called.
</summary>
</member>
<member name="M:Jurassic.Compiler.ILGenerator.BeginFaultBlock">
<summary>
Begins a fault block. BeginExceptionBlock() must have already been called.
</summary>
</member>
<member name="M:Jurassic.Compiler.ILGenerator.Leave(Jurassic.Compiler.ILLabel)">
<summary>
Unconditionally branches to the given label. Unlike the regular branch instruction,
this instruction can exit out of try, filter and catch blocks.
</summary>
<param name="label"> The label to branch to. </param>
</member>
<member name="M:Jurassic.Compiler.ILGenerator.EndFinally">
<summary>
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.
</summary>
</member>
<member name="M:Jurassic.Compiler.ILGenerator.EndFault">
<summary>
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.
</summary>
</member>
<member name="M:Jurassic.Compiler.ILGenerator.EndFilter">
<summary>
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 <c>0</c>
to continue searching for an exception handler or <c>1</c> to use the handler
associated with the filter. EndFilter() must be called at the end of a filter block.
</summary>
</member>
<member name="M:Jurassic.Compiler.ILGenerator.Breakpoint">
<summary>
Triggers a breakpoint in an attached debugger.
</summary>
</member>
<member name="M:Jurassic.Compiler.ILGenerator.NoOperation">
<summary>
Does nothing.
</summary>
</member>
<member name="T:Jurassic.Compiler.ILLabel">
<summary>
Represents a label in IL code.
</summary>
</member>
<member name="T:Jurassic.Compiler.ReflectionEmitILLabel">
<summary>
Represents a label in IL code.
</summary>
</member>
<member name="M:Jurassic.Compiler.ReflectionEmitILLabel.#ctor(System.Reflection.Emit.Label)">
<summary>
Creates a new label instance.
</summary>
<param name="label"> The underlying label. </param>
</member>
<member name="P:Jurassic.Compiler.ReflectionEmitILLabel.UnderlyingLabel">
<summary>
Gets the underlying label.
</summary>
</member>
<member name="T:Jurassic.Compiler.ILLocalVariable">
<summary>
Represents a local variable in CIL code.
</summary>
</member>
<member name="P:Jurassic.Compiler.ILLocalVariable.Index">
<summary>
Gets the zero-based index of the local variable within the method body.
</summary>
</member>
<member name="P:Jurassic.Compiler.ILLocalVariable.Type">
<summary>
Gets the type of the local variable.
</summary>
</member>
<member name="P:Jurassic.Compiler.ILLocalVariable.Name">
<summary>
Gets the local variable name, or <c>null</c> if a name was not provided.
</summary>
</member>
<member name="T:Jurassic.Compiler.ReflectionEmitILLocalVariable">
<summary>
Represents a local variable in CIL code.
</summary>
</member>
<member name="M:Jurassic.Compiler.ReflectionEmitILLocalVariable.#ctor(System.Reflection.Emit.LocalBuilder,System.String)">
<summary>
Creates a new local variable instance.
</summary>
<param name="local"> The underlying local variable. </param>
<param name="name"> The name of the local variable. Can be <c>null</c>. </param>
</member>
<member name="P:Jurassic.Compiler.ReflectionEmitILLocalVariable.UnderlyingLocal">
<summary>
Gets the underlying local variable.
</summary>
</member>
<member name="P:Jurassic.Compiler.ReflectionEmitILLocalVariable.Index">
<summary>
Gets the zero-based index of the local variable within the method body.
</summary>
</member>
<member name="P:Jurassic.Compiler.ReflectionEmitILLocalVariable.Type">
<summary>
Gets the type of the local variable.
</summary>
</member>
<member name="P:Jurassic.Compiler.ReflectionEmitILLocalVariable.Name">
<summary>
Gets the local variable name, or <c>null</c> if a name was not provided.
</summary>
</member>
<member name="T:Jurassic.Compiler.LoggingILGenerator">
<summary>
Represents a generator that logs all operations.
</summary>
</member>
<member name="M:Jurassic.Compiler.LoggingILGenerator.#ctor(Jurassic.Compiler.ILGenerator)">
<summary>
Creates a new LoggingILGenerator instance.
</summary>
<param name="generator"> The ILGenerator that is used to output the IL. </param>
</member>
<member name="P:Jurassic.Compiler.LoggingILGenerator.MethodInfo">
<summary>
Gets a reference to the method that we are generating IL for.
</summary>
</member>
<member name="M:Jurassic.Compiler.LoggingILGenerator.Complete">
<summary>
Emits a return statement and finalizes the generated code. Do not emit any more
instructions after calling this method.
</summary>
</member>
<member name="M:Jurassic.Compiler.LoggingILGenerator.Pop">
<summary>
Pops the value from the top of the stack.
</summary>
</member>
<member name="M:Jurassic.Compiler.LoggingILGenerator.Duplicate">
<summary>
Duplicates the value on the top of the stack.
</summary>
</member>
<member name="M:Jurassic.Compiler.LoggingILGenerator.CreateLabel">
<summary>
Creates a label without setting its position.
</summary>
<returns> A new label. </returns>
</member>
<member name="M:Jurassic.Compiler.LoggingILGenerator.DefineLabelPosition(Jurassic.Compiler.ILLabel)">
<summary>
Defines the position of the given label.
</summary>
<param name="label"> The label to define. </param>
</member>
<member name="M:Jurassic.Compiler.LoggingILGenerator.Branch(Jurassic.Compiler.ILLabel)">
<summary>
Unconditionally branches to the given label.
</summary>
<param name="label"> The label to branch to. </param>
</member>
<member name="M:Jurassic.Compiler.LoggingILGenerator.BranchIfZero(Jurassic.Compiler.ILLabel)">
<summary>
Branches to the given label if the value on the top of the stack is zero.
</summary>
<param name="label"> The label to branch to. </param>
</member>
<member name="M:Jurassic.Compiler.LoggingILGenerator.BranchIfNotZero(Jurassic.Compiler.ILLabel)">
<summary>
Branches to the given label if the value on the top of the stack is non-zero, true or
non-null.
</summary>
<param name="label"> The label to branch to. </param>
</member>
<member name="M:Jurassic.Compiler.LoggingILGenerator.BranchIfEqual(Jurassic.Compiler.ILLabel)">
<summary>
Branches to the given label if the two values on the top of the stack are equal.
</summary>
<param name="label"> The label to branch to. </param>
</member>
<member name="M:Jurassic.Compiler.LoggingILGenerator.BranchIfNotEqual(Jurassic.Compiler.ILLabel)">
<summary>
Branches to the given label if the two values on the top of the stack are not equal.
</summary>
<param name="label"> The label to branch to. </param>
</member>
<member name="M:Jurassic.Compiler.LoggingILGenerator.BranchIfGreaterThan(Jurassic.Compiler.ILLabel)">
<summary>
Branches to the given label if the first value on the stack is greater than the second
value on the stack.
</summary>
<param name="label"> The label to branch to. </param>
</member>
<member name="M:Jurassic.Compiler.LoggingILGenerator.BranchIfGreaterThanUnsigned(Jurassic.Compiler.ILLabel)">
<summary>
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.
</summary>
<param name="label"> The label to branch to. </param>
</member>
<member name="M:Jurassic.Compiler.LoggingILGenerator.BranchIfGreaterThanOrEqual(Jurassic.Compiler.ILLabel)">
<summary>
Branches to the given label if the first value on the stack is greater than or equal to
the second value on the stack.
</summary>
<param name="label"> The label to branch to. </param>
</member>
<member name="M:Jurassic.Compiler.LoggingILGenerator.BranchIfGreaterThanOrEqualUnsigned(Jurassic.Compiler.ILLabel)">
<summary>
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.
</summary>
<param name="label"> The label to branch to. </param>
</member>
<member name="M:Jurassic.Compiler.LoggingILGenerator.BranchIfLessThan(Jurassic.Compiler.ILLabel)">
<summary>
Branches to the given label if the first value on the stack is less than the second
value on the stack.
</summary>
<param name="label"> The label to branch to. </param>
</member>
<member name="M:Jurassic.Compiler.LoggingILGenerator.BranchIfLessThanUnsigned(Jurassic.Compiler.ILLabel)">
<summary>
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.
</summary>
<param name="label"> The label to branch to. </param>
</member>
<member name="M:Jurassic.Compiler.LoggingILGenerator.BranchIfLessThanOrEqual(Jurassic.Compiler.ILLabel)">
<summary>
Branches to the given label if the first value on the stack is less than or equal to
the second value on the stack.
</summary>
<param name="label"> The label to branch to. </param>
</member>
<member name="M:Jurassic.Compiler.LoggingILGenerator.BranchIfLessThanOrEqualUnsigned(Jurassic.Compiler.ILLabel)">
<summary>
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.
</summary>
<param name="label"> The label to branch to. </param>
</member>
<member name="M:Jurassic.Compiler.LoggingILGenerator.Return">
<summary>
Returns from the current method. A value is popped from the stack and used as the
return value.
</summary>
</member>
<member name="M:Jurassic.Compiler.LoggingILGenerator.Switch(Jurassic.Compiler.ILLabel[])">
<summary>
Creates a jump table. A value is popped from the stack - this value indicates the
index of the label in the <paramref name="labels"/> array to jump to.
</summary>
<param name="labels"> A array of labels. </param>
</member>
<member name="M:Jurassic.Compiler.LoggingILGenerator.DeclareVariable(System.Type,System.String)">
<summary>
Declares a new local variable.
</summary>
<param name="type"> The type of the local variable. </param>
<param name="name"> The name of the local variable. Can be <c>null</c>. </param>
<returns> A new local variable. </returns>
</member>
<member name="M:Jurassic.Compiler.LoggingILGenerator.LoadVariable(Jurassic.Compiler.ILLocalVariable)">
<summary>
Pushes the value of the given variable onto the stack.
</summary>
<param name="variable"> The variable whose value will be pushed. </param>
</member>
<member name="M:Jurassic.Compiler.LoggingILGenerator.LoadAddressOfVariable(Jurassic.Compiler.ILLocalVariable)">
<summary>
Pushes the address of the given variable onto the stack.
</summary>
<param name="variable"> The variable whose address will be pushed. </param>
</member>
<member name="M:Jurassic.Compiler.LoggingILGenerator.StoreVariable(Jurassic.Compiler.ILLocalVariable)">
<summary>
Pops the value from the top of the stack and stores it in the given local variable.
</summary>
<param name="variable"> The variable to store the value. </param>
</member>
<member name="M:Jurassic.Compiler.LoggingILGenerator.LoadArgument(System.Int32)">
<summary>
Pushes the value of the method argument with the given index onto the stack.
</summary>
<param name="argumentIndex"> The index of the argument to push onto the stack. </param>
</member>
<member name="M:Jurassic.Compiler.LoggingILGenerator.StoreArgument(System.Int32)">
<summary>
Pops a value from the stack and stores it in the method argument with the given index.
</summary>
<param name="argumentIndex"> The index of the argument to store into. </param>
</member>
<member name="M:Jurassic.Compiler.LoggingILGenerator.LoadNull">
<summary>
Pushes <c>null</c> onto the stack.
</summary>
</member>
<member name="M:Jurassic.Compiler.LoggingILGenerator.LoadInt32(System.Int32)">
<summary>
Pushes a constant value onto the stack.
</summary>
<param name="value"> The integer to push onto the stack. </param>
</member>
<member name="M:Jurassic.Compiler.LoggingILGenerator.LoadInt64(System.Int64)">
<summary>
Pushes a 64-bit constant value onto the stack.
</summary>
<param name="value"> The 64-bit integer to push onto the stack. </param>
</member>
<member name="M:Jurassic.Compiler.LoggingILGenerator.LoadDouble(System.Double)">
<summary>
Pushes a constant value onto the stack.
</summary>
<param name="value"> The number to push onto the stack. </param>
</member>
<member name="M:Jurassic.Compiler.LoggingILGenerator.LoadString(System.String)">
<summary>
Pushes a constant value onto the stack.
</summary>
<param name="value"> The string to push onto the stack. </param>
</member>
<member name="M:Jurassic.Compiler.LoggingILGenerator.CompareEqual">
<summary>
Pops two values from the stack, compares, then pushes <c>1</c> if the first argument
is equal to the second, or <c>0</c> otherwise. Produces <c>0</c> if one or both
of the arguments are <c>NaN</c>.
</summary>
</member>
<member name="M:Jurassic.Compiler.LoggingILGenerator.CompareGreaterThan">
<summary>
Pops two values from the stack, compares, then pushes <c>1</c> if the first argument
is greater than the second, or <c>0</c> otherwise. Produces <c>0</c> if one or both
of the arguments are <c>NaN</c>.
</summary>
</member>
<member name="M:Jurassic.Compiler.LoggingILGenerator.CompareGreaterThanUnsigned">
<summary>
Pops two values from the stack, compares, then pushes <c>1</c> if the first argument
is greater than the second, or <c>0</c> otherwise. Produces <c>1</c> if one or both
of the arguments are <c>NaN</c>. Integers are considered to be unsigned.
</summary>
</member>
<member name="M:Jurassic.Compiler.LoggingILGenerator.CompareLessThan">
<summary>
Pops two values from the stack, compares, then pushes <c>1</c> if the first argument
is less than the second, or <c>0</c> otherwise. Produces <c>0</c> if one or both
of the arguments are <c>NaN</c>.
</summary>
</member>
<member name="M:Jurassic.Compiler.LoggingILGenerator.CompareLessThanUnsigned">
<summary>
Pops two values from the stack, compares, then pushes <c>1</c> if the first argument
is less than the second, or <c>0</c> otherwise. Produces <c>1</c> if one or both
of the arguments are <c>NaN</c>. Integers are considered to be unsigned.
</summary>
</member>
<member name="M:Jurassic.Compiler.LoggingILGenerator.Add">
<summary>
Pops two values from the stack, adds them together, then pushes the result to the
stack.
</summary>
</member>
<member name="M:Jurassic.Compiler.LoggingILGenerator.Subtract">
<summary>
Pops two values from the stack, subtracts the second from the first, then pushes the
result to the stack.
</summary>
</member>
<member name="M:Jurassic.Compiler.LoggingILGenerator.Multiply">
<summary>
Pops two values from the stack, multiplies them together, then pushes the
result to the stack.
</summary>
</member>
<member name="M:Jurassic.Compiler.LoggingILGenerator.Divide">
<summary>
Pops two values from the stack, divides the first by the second, then pushes the
result to the stack.
</summary>
</member>
<member name="M:Jurassic.Compiler.LoggingILGenerator.Remainder">
<summary>
Pops two values from the stack, divides the first by the second, then pushes the
remainder to the stack.
</summary>
</member>
<member name="M:Jurassic.Compiler.LoggingILGenerator.Negate">
<summary>
Pops a value from the stack, negates it, then pushes it back onto the stack.
</summary>
</member>
<member name="M:Jurassic.Compiler.LoggingILGenerator.BitwiseAnd">
<summary>
Pops two values from the stack, ANDs them together, then pushes the result to the
stack.
</summary>
</member>
<member name="M:Jurassic.Compiler.LoggingILGenerator.BitwiseOr">
<summary>
Pops two values from the stack, ORs them together, then pushes the result to the
stack.
</summary>
</member>
<member name="M:Jurassic.Compiler.LoggingILGenerator.BitwiseXor">
<summary>
Pops two values from the stack, XORs them together, then pushes the result to the
stack.
</summary>
</member>
<member name="M:Jurassic.Compiler.LoggingILGenerator.BitwiseNot">
<summary>
Pops a value from the stack, inverts it, then pushes the result to the stack.
</summary>
</member>
<member name="M:Jurassic.Compiler.LoggingILGenerator.ShiftLeft">
<summary>
Pops two values from the stack, shifts the first to the left, then pushes the result
to the stack.
</summary>
</member>
<member name="M:Jurassic.Compiler.LoggingILGenerator.ShiftRight">
<summary>
Pops two values from the stack, shifts the first to the right, then pushes the result
to the stack. The sign bit is preserved.
</summary>
</member>
<member name="M:Jurassic.Compiler.LoggingILGenerator.ShiftRightUnsigned">
<summary>
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.
</summary>
</member>
<member name="M:Jurassic.Compiler.LoggingILGenerator.Box(System.Type)">
<summary>
Pops a value from the stack, converts it to an object reference, then pushes it back onto
the stack.
</summary>
</member>
<member name="M:Jurassic.Compiler.LoggingILGenerator.Unbox(System.Type)">
<summary>
Pops an object reference (representing a boxed value) from the stack, extracts the
address, then pushes that address onto the stack.
</summary>
<param name="type"> The type of the boxed value. This should be a value type. </param>
</member>
<member name="M:Jurassic.Compiler.LoggingILGenerator.UnboxAny(System.Type)">
<summary>
Pops an object reference (representing a boxed value) from the stack, extracts the value,
then pushes the value onto the stack.
</summary>
<param name="type"> The type of the boxed value. This should be a value type. </param>
</member>
<member name="M:Jurassic.Compiler.LoggingILGenerator.ConvertToInteger">
<summary>
Pops a value from the stack, converts it to a signed integer, then pushes it back onto
the stack.
</summary>
</member>
<member name="M:Jurassic.Compiler.LoggingILGenerator.ConvertToUnsignedInteger">
<summary>
Pops a value from the stack, converts it to an unsigned integer, then pushes it back
onto the stack.
</summary>
</member>
<member name="M:Jurassic.Compiler.LoggingILGenerator.ConvertToInt64">
<summary>
Pops a value from the stack, converts it to a signed 64-bit integer, then pushes it
back onto the stack.
</summary>
</member>
<member name="M:Jurassic.Compiler.LoggingILGenerator.ConvertToUnsignedInt64">
<summary>
Pops a value from the stack, converts it to an unsigned 64-bit integer, then pushes it
back onto the stack.
</summary>
</member>
<member name="M:Jurassic.Compiler.LoggingILGenerator.ConvertToDouble">
<summary>
Pops a value from the stack, converts it to a double, then pushes it back onto
the stack.
</summary>
</member>
<member name="M:Jurassic.Compiler.LoggingILGenerator.ConvertUnsignedToDouble">
<summary>
Pops an unsigned integer from the stack, converts it to a double, then pushes it back onto
the stack.
</summary>
</member>
<member name="M:Jurassic.Compiler.LoggingILGenerator.NewObject(System.Reflection.ConstructorInfo)">
<summary>
Pops the constructor arguments off the stack and creates a new instance of the object.
</summary>
<param name="constructor"> The constructor that is used to initialize the object. </param>
</member>
<member name="M:Jurassic.Compiler.LoggingILGenerator.CallStatic(System.Reflection.MethodInfo)">
<summary>
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.
</summary>
<param name="method"> The method to call. </param>
</member>
<member name="M:Jurassic.Compiler.LoggingILGenerator.CallVirtual(System.Reflection.MethodInfo)">
<summary>
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.
</summary>
<param name="method"> The method to call. </param>
<exception cref="T:System.ArgumentException"> The method is static. </exception>
</member>
<member name="M:Jurassic.Compiler.LoggingILGenerator.LoadField(System.Reflection.FieldInfo)">
<summary>
Pushes the value of the given field onto the stack.
</summary>
<param name="field"> The field whose value will be pushed. </param>
</member>
<member name="M:Jurassic.Compiler.LoggingILGenerator.StoreField(System.Reflection.FieldInfo)">
<summary>
Pops a value off the stack and stores it in the given field.
</summary>
<param name="field"> The field to modify. </param>
</member>
<member name="M:Jurassic.Compiler.LoggingILGenerator.CastClass(System.Type)">
<summary>
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.
</summary>
<param name="type"> The type of the class the object inherits from or the interface the
object implements. </param>
</member>
<member name="M:Jurassic.Compiler.LoggingILGenerator.IsInstance(System.Type)">
<summary>
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 <c>null</c>
(if the check failed) onto the stack.
</summary>
<param name="type"> The type of the class the object inherits from or the interface the
object implements. </param>
</member>
<member name="M:Jurassic.Compiler.LoggingILGenerator.LoadToken(System.Type)">
<summary>
Pushes a RuntimeTypeHandle corresponding to the given type onto the evaluation stack.
</summary>
<param name="type"> The type to convert to a RuntimeTypeHandle. </param>
</member>
<member name="M:Jurassic.Compiler.LoggingILGenerator.LoadToken(System.Reflection.MethodBase)">
<summary>
Pushes a RuntimeMethodHandle corresponding to the given method onto the evaluation
stack.
</summary>
<param name="method"> The method to convert to a RuntimeMethodHandle. </param>
</member>
<member name="M:Jurassic.Compiler.LoggingILGenerator.LoadToken(System.Reflection.FieldInfo)">
<summary>
Pushes a RuntimeFieldHandle corresponding to the given field onto the evaluation stack.
</summary>
<param name="field"> The type to convert to a RuntimeFieldHandle. </param>
</member>
<member name="M:Jurassic.Compiler.LoggingILGenerator.LoadStaticMethodPointer(System.Reflection.MethodBase)">
<summary>
Pushes a pointer to the native code implementing the given method onto the evaluation
stack. The virtual qualifier will be ignored, if present.
</summary>
<param name="method"> The method to retrieve a pointer for. </param>
</member>
<member name="M:Jurassic.Compiler.LoggingILGenerator.LoadVirtualMethodPointer(System.Reflection.MethodBase)">
<summary>
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.
</summary>
<param name="method"> The method to retrieve a pointer for. </param>
<exception cref="T:System.ArgumentException"> The method is static. </exception>
</member>
<member name="M:Jurassic.Compiler.LoggingILGenerator.InitObject(System.Type)">
<summary>
Pops a managed or native pointer off the stack and initializes the referenced type with
zeros.
</summary>
<param name="type"> The type the pointer on the top of the stack is pointing to. </param>
</member>
<member name="M:Jurassic.Compiler.LoggingILGenerator.NewArray(System.Type)">
<summary>
Pops the size of the array off the stack and pushes a new array of the given type onto
the stack.
</summary>
<param name="type"> The element type. </param>
</member>
<member name="M:Jurassic.Compiler.LoggingILGenerator.LoadArrayElement(System.Type)">
<summary>
Pops the array and index off the stack and pushes the element value onto the stack.
</summary>
<param name="type"> The element type. </param>
</member>
<member name="M:Jurassic.Compiler.LoggingILGenerator.StoreArrayElement(System.Type)">
<summary>
Pops the array, index and value off the stack and stores the value in the array.
</summary>
<param name="type"> The element type. </param>
</member>
<member name="M:Jurassic.Compiler.LoggingILGenerator.LoadArrayLength">
<summary>
Pops an array off the stack and pushes the length of the array onto the stack.
</summary>
</member>
<member name="M:Jurassic.Compiler.LoggingILGenerator.Throw">
<summary>
Pops an exception object off the stack and throws the exception.
</summary>
</member>
<member name="M:Jurassic.Compiler.LoggingILGenerator.Rethrow">
<summary>
Rethrows the current exception.
</summary>
</member>
<member name="M:Jurassic.Compiler.LoggingILGenerator.BeginExceptionBlock">
<summary>
Begins a try-catch-finally block. After issuing this instruction any following
instructions are conceptually within the try block.
</summary>
</member>
<member name="M:Jurassic.Compiler.LoggingILGenerator.EndExceptionBlock">
<summary>
Ends a try-catch-finally block. BeginExceptionBlock() must have already been called.
</summary>
</member>
<member name="M:Jurassic.Compiler.LoggingILGenerator.BeginCatchBlock(System.Type)">
<summary>
Begins a catch block. BeginExceptionBlock() must have already been called.
</summary>
<param name="exceptionType"> The type of exception to handle. </param>
</member>
<member name="M:Jurassic.Compiler.LoggingILGenerator.BeginFinallyBlock">
<summary>
Begins a finally block. BeginExceptionBlock() must have already been called.
</summary>
</member>
<member name="M:Jurassic.Compiler.LoggingILGenerator.BeginFilterBlock">
<summary>
Begins a filter block. BeginExceptionBlock() must have already been called.
</summary>
</member>
<member name="M:Jurassic.Compiler.LoggingILGenerator.BeginFaultBlock">
<summary>
Begins a fault block. BeginExceptionBlock() must have already been called.
</summary>
</member>
<member name="M:Jurassic.Compiler.LoggingILGenerator.Leave(Jurassic.Compiler.ILLabel)">
<summary>
Unconditionally branches to the given label. Unlike the regular branch instruction,
this instruction can exit out of try, filter and catch blocks.
</summary>
<param name="label"> The label to branch to. </param>
</member>
<member name="M:Jurassic.Compiler.LoggingILGenerator.EndFinally">
<summary>
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.
</summary>
</member>
<member name="M:Jurassic.Compiler.LoggingILGenerator.EndFilter">
<summary>
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 <c>0</c>
to continue searching for an exception handler or <c>1</c> to use the handler
associated with the filter. EndFilter() must be called at the end of a filter block.
</summary>
</member>
<member name="M:Jurassic.Compiler.LoggingILGenerator.Breakpoint">
<summary>
Triggers a breakpoint in an attached debugger.
</summary>
</member>
<member name="M:Jurassic.Compiler.LoggingILGenerator.NoOperation">
<summary>
Does nothing.
</summary>
</member>
<member name="M:Jurassic.Compiler.LoggingILGenerator.ToString">
<summary>
Converts the object to a string.
</summary>
<returns> A string containing the IL generated by this object. </returns>
</member>
<member name="M:Jurassic.Compiler.LoggingILGenerator.Log(System.String)">
<summary>
Outputs an instruction to the log.
</summary>
<param name="instruction"> The instruction to output. </param>
</member>
<member name="M:Jurassic.Compiler.LoggingILGenerator.Log(System.String,Jurassic.Compiler.ILLabel)">
<summary>
Outputs an instruction and a label to the log.
</summary>
<param name="instruction"> The instruction to output. </param>
<param name="label"> The label to output. </param>
</member>
<member name="M:Jurassic.Compiler.LoggingILGenerator.Log(System.String,Jurassic.Compiler.ILLabel[])">
<summary>
Outputs an instruction and a number of labels to the log.
</summary>
<param name="instruction"> The instruction to output. </param>
<param name="labels"> The labels to output. </param>
</member>
<member name="M:Jurassic.Compiler.LoggingILGenerator.AppendLabel(Jurassic.Compiler.ILLabel)">
<summary>
Appends the name of a label to the log.
</summary>
<param name="label"> The label to convert. </param>
<returns> A string representation of the label. </returns>
</member>
<member name="M:Jurassic.Compiler.LoggingILGenerator.Log(System.String,Jurassic.Compiler.ILLocalVariable)">
<summary>
Outputs an instruction and a variable to the log.
</summary>
<param name="instruction"> The instruction to output. </param>
<param name="variable"> The variable to output. </param>
</member>
<member name="M:Jurassic.Compiler.LoggingILGenerator.Log(System.String,System.Int32)">
<summary>
Outputs an instruction and an integer to the log.
</summary>
<param name="instruction"> The instruction to output. </param>
<param name="indexOrValue"> The integer to output. </param>
</member>
<member name="M:Jurassic.Compiler.LoggingILGenerator.Log(System.String,System.Int64)">
<summary>
Outputs an instruction and a 64-bit integer to the log.
</summary>
<param name="instruction"> The instruction to output. </param>
<param name="numericValue"> The 64-bit integer to output. </param>
</member>
<member name="M:Jurassic.Compiler.LoggingILGenerator.Log(System.String,System.Double)">
<summary>
Outputs an instruction and a floating-point value to the log.
</summary>
<param name="instruction"> The instruction to output. </param>
<param name="numericValue"> The floating-point vaue to output. </param>
</member>
<member name="M:Jurassic.Compiler.LoggingILGenerator.Log(System.String,System.String)">
<summary>
Outputs an instruction and a string literal to the log.
</summary>
<param name="instruction"> The instruction to output. </param>
<param name="stringConstant"> The string literal to output. </param>
</member>
<member name="M:Jurassic.Compiler.LoggingILGenerator.Log(System.String,System.Type)">
<summary>
Outputs an instruction and a type to the log.
</summary>
<param name="instruction"> The instruction to output. </param>
<param name="type"> The type to output. </param>
</member>
<member name="M:Jurassic.Compiler.LoggingILGenerator.Log(System.String,System.Reflection.MethodBase)">
<summary>
Outputs an instruction and a method to the log.
</summary>
<param name="instruction"> The instruction to output. </param>
<param name="method"> The method to output. </param>
</member>
<member name="M:Jurassic.Compiler.LoggingILGenerator.Log(System.String,System.Reflection.FieldInfo)">
<summary>
Outputs an instruction and a field to the log.
</summary>
<param name="instruction"> The instruction to output. </param>
<param name="field"> The field to output. </param>
</member>
<member name="M:Jurassic.Compiler.LoggingILGenerator.Log(System.String,System.Reflection.ConstructorInfo)">
<summary>
Outputs an instruction and a constructor to the log.
</summary>
<param name="instruction"> The instruction to output. </param>
<param name="constructor"> The constructor to output. </param>
</member>
<member name="M:Jurassic.Compiler.LoggingILGenerator.LogInstruction(System.String,System.String)">
<summary>
Outputs an instruction and an arbitrary suffix to the log.
</summary>
<param name="instruction"> The instruction to output. </param>
<param name="suffix"> A suffix to output. </param>
</member>
<member name="M:Jurassic.Compiler.LoggingILGenerator.LogCore(System.String)">
<summary>
Outputs arbitrary text to the log.
</summary>
<param name="text"> The text to output. </param>
</member>
<member name="T:Jurassic.Compiler.ReflectionEmitILGenerator">
<summary>
Represents a generator of CIL bytes.
</summary>
</member>
<member name="M:Jurassic.Compiler.ReflectionEmitILGenerator.#ctor(System.Reflection.Emit.DynamicMethod,System.Boolean)">
<summary>
Creates a new ReflectionEmitILGenerator instance from a DynamicMethod.
</summary>
<param name="dynamicMethod"> The DynamicMethod to emit IL for. </param>
<param name="emitDebugInfo"> Indicates whether to emit debugging information, like symbol names. </param>
</member>
<member name="P:Jurassic.Compiler.ReflectionEmitILGenerator.MethodInfo">
<summary>
Gets a reference to the method that we are generating IL for.
</summary>
</member>
<member name="M:Jurassic.Compiler.ReflectionEmitILGenerator.Complete">
<summary>
Emits a return statement and finalizes the generated code. Do not emit any more
instructions after calling this method.
</summary>
</member>
<member name="M:Jurassic.Compiler.ReflectionEmitILGenerator.Pop">
<summary>
Pops the value from the top of the stack.
</summary>
</member>
<member name="M:Jurassic.Compiler.ReflectionEmitILGenerator.Duplicate">
<summary>
Duplicates the value on the top of the stack.
</summary>
</member>
<member name="M:Jurassic.Compiler.ReflectionEmitILGenerator.CreateLabel">
<summary>
Creates a label without setting its position.
</summary>
<returns> A new label. </returns>
</member>
<member name="M:Jurassic.Compiler.ReflectionEmitILGenerator.DefineLabelPosition(Jurassic.Compiler.ILLabel)">
<summary>
Defines the position of the given label.
</summary>
<param name="label"> The label to define. </param>
</member>
<member name="M:Jurassic.Compiler.ReflectionEmitILGenerator.Branch(Jurassic.Compiler.ILLabel)">
<summary>
Unconditionally branches to the given label.
</summary>
<param name="label"> The label to branch to. </param>
</member>
<member name="M:Jurassic.Compiler.ReflectionEmitILGenerator.BranchIfZero(Jurassic.Compiler.ILLabel)">
<summary>
Branches to the given label if the value on the top of the stack is zero.
</summary>
<param name="label"> The label to branch to. </param>
</member>
<member name="M:Jurassic.Compiler.ReflectionEmitILGenerator.BranchIfNotZero(Jurassic.Compiler.ILLabel)">
<summary>
Branches to the given label if the value on the top of the stack is non-zero, true or
non-null.
</summary>
<param name="label"> The label to branch to. </param>
</member>
<member name="M:Jurassic.Compiler.ReflectionEmitILGenerator.BranchIfEqual(Jurassic.Compiler.ILLabel)">
<summary>
Branches to the given label if the two values on the top of the stack are equal.
</summary>
<param name="label"> The label to branch to. </param>
</member>
<member name="M:Jurassic.Compiler.ReflectionEmitILGenerator.BranchIfNotEqual(Jurassic.Compiler.ILLabel)">
<summary>
Branches to the given label if the two values on the top of the stack are not equal.
</summary>
<param name="label"> The label to branch to. </param>
</member>
<member name="M:Jurassic.Compiler.ReflectionEmitILGenerator.BranchIfGreaterThan(Jurassic.Compiler.ILLabel)">
<summary>
Branches to the given label if the first value on the stack is greater than the second
value on the stack.
</summary>
<param name="label"> The label to branch to. </param>
</member>
<member name="M:Jurassic.Compiler.ReflectionEmitILGenerator.BranchIfGreaterThanUnsigned(Jurassic.Compiler.ILLabel)">
<summary>
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.
</summary>
<param name="label"> The label to branch to. </param>
</member>
<member name="M:Jurassic.Compiler.ReflectionEmitILGenerator.BranchIfGreaterThanOrEqual(Jurassic.Compiler.ILLabel)">
<summary>
Branches to the given label if the first value on the stack is greater than or equal to
the second value on the stack.
</summary>
<param name="label"> The label to branch to. </param>
</member>
<member name="M:Jurassic.Compiler.ReflectionEmitILGenerator.BranchIfGreaterThanOrEqualUnsigned(Jurassic.Compiler.ILLabel)">
<summary>
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.
</summary>
<param name="label"> The label to branch to. </param>
</member>
<member name="M:Jurassic.Compiler.ReflectionEmitILGenerator.BranchIfLessThan(Jurassic.Compiler.ILLabel)">
<summary>
Branches to the given label if the first value on the stack is less than the second
value on the stack.
</summary>
<param name="label"> The label to branch to. </param>
</member>
<member name="M:Jurassic.Compiler.ReflectionEmitILGenerator.BranchIfLessThanUnsigned(Jurassic.Compiler.ILLabel)">
<summary>
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.
</summary>
<param name="label"> The label to branch to. </param>
</member>
<member name="M:Jurassic.Compiler.ReflectionEmitILGenerator.BranchIfLessThanOrEqual(Jurassic.Compiler.ILLabel)">
<summary>
Branches to the given label if the first value on the stack is less than or equal to
the second value on the stack.
</summary>
<param name="label"> The label to branch to. </param>
</member>
<member name="M:Jurassic.Compiler.ReflectionEmitILGenerator.BranchIfLessThanOrEqualUnsigned(Jurassic.Compiler.ILLabel)">
<summary>
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.
</summary>
<param name="label"> The label to branch to. </param>
</member>
<member name="M:Jurassic.Compiler.ReflectionEmitILGenerator.Return">
<summary>
Returns from the current method. A value is popped from the stack and used as the
return value.
</summary>
</member>
<member name="M:Jurassic.Compiler.ReflectionEmitILGenerator.Switch(Jurassic.Compiler.ILLabel[])">
<summary>
Creates a jump table. A value is popped from the stack - this value indicates the
index of the label in the <paramref name="labels"/> array to jump to.
</summary>
<param name="labels"> A array of labels. </param>
</member>
<member name="M:Jurassic.Compiler.ReflectionEmitILGenerator.DeclareVariable(System.Type,System.String)">
<summary>
Declares a new local variable.
</summary>
<param name="type"> The type of the local variable. </param>
<param name="name"> The name of the local variable. Can be <c>null</c>. </param>
<returns> A new local variable. </returns>
</member>
<member name="M:Jurassic.Compiler.ReflectionEmitILGenerator.LoadVariable(Jurassic.Compiler.ILLocalVariable)">
<summary>
Pushes the value of the given variable onto the stack.
</summary>
<param name="variable"> The variable whose value will be pushed. </param>
</member>
<member name="M:Jurassic.Compiler.ReflectionEmitILGenerator.LoadAddressOfVariable(Jurassic.Compiler.ILLocalVariable)">
<summary>
Pushes the address of the given variable onto the stack.
</summary>
<param name="variable"> The variable whose address will be pushed. </param>
</member>
<member name="M:Jurassic.Compiler.ReflectionEmitILGenerator.StoreVariable(Jurassic.Compiler.ILLocalVariable)">
<summary>
Pops the value from the top of the stack and stores it in the given local variable.
</summary>
<param name="variable"> The variable to store the value. </param>
</member>
<member name="M:Jurassic.Compiler.ReflectionEmitILGenerator.LoadArgument(System.Int32)">
<summary>
Pushes the value of the method argument with the given index onto the stack.
</summary>
<param name="argumentIndex"> The index of the argument to push onto the stack. </param>
</member>
<member name="M:Jurassic.Compiler.ReflectionEmitILGenerator.StoreArgument(System.Int32)">
<summary>
Pops a value from the stack and stores it in the method argument with the given index.
</summary>
<param name="argumentIndex"> The index of the argument to store into. </param>
</member>
<member name="M:Jurassic.Compiler.ReflectionEmitILGenerator.LoadNull">
<summary>
Pushes <c>null</c> onto the stack.
</summary>
</member>
<member name="M:Jurassic.Compiler.ReflectionEmitILGenerator.LoadInt32(System.Int32)">
<summary>
Pushes a constant value onto the stack.
</summary>
<param name="value"> The integer to push onto the stack. </param>
</member>
<member name="M:Jurassic.Compiler.ReflectionEmitILGenerator.LoadInt64(System.Int64)">
<summary>
Pushes a 64-bit constant value onto the stack.
</summary>
<param name="value"> The 64-bit integer to push onto the stack. </param>
</member>
<member name="M:Jurassic.Compiler.ReflectionEmitILGenerator.LoadDouble(System.Double)">
<summary>
Pushes a constant value onto the stack.
</summary>
<param name="value"> The number to push onto the stack. </param>
</member>
<member name="M:Jurassic.Compiler.ReflectionEmitILGenerator.LoadString(System.String)">
<summary>
Pushes a constant value onto the stack.
</summary>
<param name="value"> The string to push onto the stack. </param>
</member>
<member name="M:Jurassic.Compiler.ReflectionEmitILGenerator.CompareEqual">
<summary>
Pops two values from the stack, compares, then pushes <c>1</c> if the first argument
is equal to the second, or <c>0</c> otherwise. Produces <c>0</c> if one or both
of the arguments are <c>NaN</c>.
</summary>
</member>
<member name="M:Jurassic.Compiler.ReflectionEmitILGenerator.CompareGreaterThan">
<summary>
Pops two values from the stack, compares, then pushes <c>1</c> if the first argument
is greater than the second, or <c>0</c> otherwise. Produces <c>0</c> if one or both
of the arguments are <c>NaN</c>.
</summary>
</member>
<member name="M:Jurassic.Compiler.ReflectionEmitILGenerator.CompareGreaterThanUnsigned">
<summary>
Pops two values from the stack, compares, then pushes <c>1</c> if the first argument
is greater than the second, or <c>0</c> otherwise. Produces <c>1</c> if one or both
of the arguments are <c>NaN</c>. Integers are considered to be unsigned.
</summary>
</member>
<member name="M:Jurassic.Compiler.ReflectionEmitILGenerator.CompareLessThan">
<summary>
Pops two values from the stack, compares, then pushes <c>1</c> if the first argument
is less than the second, or <c>0</c> otherwise. Produces <c>0</c> if one or both
of the arguments are <c>NaN</c>.
</summary>
</member>
<member name="M:Jurassic.Compiler.ReflectionEmitILGenerator.CompareLessThanUnsigned">
<summary>
Pops two values from the stack, compares, then pushes <c>1</c> if the first argument
is less than the second, or <c>0</c> otherwise. Produces <c>1</c> if one or both
of the arguments are <c>NaN</c>. Integers are considered to be unsigned.
</summary>
</member>
<member name="M:Jurassic.Compiler.ReflectionEmitILGenerator.Add">
<summary>
Pops two values from the stack, adds them together, then pushes the result to the
stack.
</summary>
</member>
<member name="M:Jurassic.Compiler.ReflectionEmitILGenerator.Subtract">
<summary>
Pops two values from the stack, subtracts the second from the first, then pushes the
result to the stack.
</summary>
</member>
<member name="M:Jurassic.Compiler.ReflectionEmitILGenerator.Multiply">
<summary>
Pops two values from the stack, multiplies them together, then pushes the
result to the stack.
</summary>
</member>
<member name="M:Jurassic.Compiler.ReflectionEmitILGenerator.Divide">
<summary>
Pops two values from the stack, divides the first by the second, then pushes the
result to the stack.
</summary>
</member>
<member name="M:Jurassic.Compiler.ReflectionEmitILGenerator.Remainder">
<summary>
Pops two values from the stack, divides the first by the second, then pushes the
remainder to the stack.
</summary>
</member>
<member name="M:Jurassic.Compiler.ReflectionEmitILGenerator.Negate">
<summary>
Pops a value from the stack, negates it, then pushes it back onto the stack.
</summary>
</member>
<member name="M:Jurassic.Compiler.ReflectionEmitILGenerator.BitwiseAnd">
<summary>
Pops two values from the stack, ANDs them together, then pushes the result to the
stack.
</summary>
</member>
<member name="M:Jurassic.Compiler.ReflectionEmitILGenerator.BitwiseOr">
<summary>
Pops two values from the stack, ORs them together, then pushes the result to the
stack.
</summary>
</member>
<member name="M:Jurassic.Compiler.ReflectionEmitILGenerator.BitwiseXor">
<summary>
Pops two values from the stack, XORs them together, then pushes the result to the
stack.
</summary>
</member>
<member name="M:Jurassic.Compiler.ReflectionEmitILGenerator.BitwiseNot">
<summary>
Pops a value from the stack, inverts it, then pushes the result to the stack.
</summary>
</member>
<member name="M:Jurassic.Compiler.ReflectionEmitILGenerator.ShiftLeft">
<summary>
Pops two values from the stack, shifts the first to the left, then pushes the result
to the stack.
</summary>
</member>
<member name="M:Jurassic.Compiler.ReflectionEmitILGenerator.ShiftRight">
<summary>
Pops two values from the stack, shifts the first to the right, then pushes the result
to the stack. The sign bit is preserved.
</summary>
</member>
<member name="M:Jurassic.Compiler.ReflectionEmitILGenerator.ShiftRightUnsigned">
<summary>
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.
</summary>
</member>
<member name="M:Jurassic.Compiler.ReflectionEmitILGenerator.Box(System.Type)">
<summary>
Pops a value from the stack, converts it to an object reference, then pushes it back onto
the stack.
</summary>
</member>
<member name="M:Jurassic.Compiler.ReflectionEmitILGenerator.Unbox(System.Type)">
<summary>
Pops an object reference (representing a boxed value) from the stack, extracts the
address, then pushes that address onto the stack.
</summary>
<param name="type"> The type of the boxed value. This should be a value type. </param>
</member>
<member name="M:Jurassic.Compiler.ReflectionEmitILGenerator.UnboxAny(System.Type)">
<summary>
Pops an object reference (representing a boxed value) from the stack, extracts the value,
then pushes the value onto the stack.
</summary>
<param name="type"> The type of the boxed value. This should be a value type. </param>
</member>
<member name="M:Jurassic.Compiler.ReflectionEmitILGenerator.ConvertToInteger">
<summary>
Pops a value from the stack, converts it to a signed integer, then pushes it back onto
the stack.
</summary>
</member>
<member name="M:Jurassic.Compiler.ReflectionEmitILGenerator.ConvertToUnsignedInteger">
<summary>
Pops a value from the stack, converts it to an unsigned integer, then pushes it back
onto the stack.
</summary>
</member>
<member name="M:Jurassic.Compiler.ReflectionEmitILGenerator.ConvertToInt64">
<summary>
Pops a value from the stack, converts it to a signed 64-bit integer, then pushes it
back onto the stack.
</summary>
</member>
<member name="M:Jurassic.Compiler.ReflectionEmitILGenerator.ConvertToUnsignedInt64">
<summary>
Pops a value from the stack, converts it to an unsigned 64-bit integer, then pushes it
back onto the stack.
</summary>
</member>
<member name="M:Jurassic.Compiler.ReflectionEmitILGenerator.ConvertToDouble">
<summary>
Pops a value from the stack, converts it to a double, then pushes it back onto
the stack.
</summary>
</member>
<member name="M:Jurassic.Compiler.ReflectionEmitILGenerator.ConvertUnsignedToDouble">
<summary>
Pops an unsigned integer from the stack, converts it to a double, then pushes it back onto
the stack.
</summary>
</member>
<member name="M:Jurassic.Compiler.ReflectionEmitILGenerator.NewObject(System.Reflection.ConstructorInfo)">
<summary>
Pops the constructor arguments off the stack and creates a new instance of the object.
</summary>
<param name="constructor"> The constructor that is used to initialize the object. </param>
</member>
<member name="M:Jurassic.Compiler.ReflectionEmitILGenerator.CallStatic(System.Reflection.MethodInfo)">
<summary>
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.
</summary>
<param name="method"> The method to call. </param>
</member>
<member name="M:Jurassic.Compiler.ReflectionEmitILGenerator.CallVirtual(System.Reflection.MethodInfo)">
<summary>
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.
</summary>
<param name="method"> The method to call. </param>
<exception cref="T:System.ArgumentException"> The method is static. </exception>
</member>
<member name="M:Jurassic.Compiler.ReflectionEmitILGenerator.LoadField(System.Reflection.FieldInfo)">
<summary>
Pushes the value of the given field onto the stack.
</summary>
<param name="field"> The field whose value will be pushed. </param>
</member>
<member name="M:Jurassic.Compiler.ReflectionEmitILGenerator.StoreField(System.Reflection.FieldInfo)">
<summary>
Pops a value off the stack and stores it in the given field.
</summary>
<param name="field"> The field to modify. </param>
</member>
<member name="M:Jurassic.Compiler.ReflectionEmitILGenerator.CastClass(System.Type)">
<summary>
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.
</summary>
<param name="type"> The type of the class the object inherits from or the interface the
object implements. </param>
</member>
<member name="M:Jurassic.Compiler.ReflectionEmitILGenerator.IsInstance(System.Type)">
<summary>
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 <c>null</c>
(if the check failed) onto the stack.
</summary>
<param name="type"> The type of the class the object inherits from or the interface the
object implements. </param>
</member>
<member name="M:Jurassic.Compiler.ReflectionEmitILGenerator.LoadToken(System.Type)">
<summary>
Pushes a RuntimeTypeHandle corresponding to the given type onto the evaluation stack.
</summary>
<param name="type"> The type to convert to a RuntimeTypeHandle. </param>
</member>
<member name="M:Jurassic.Compiler.ReflectionEmitILGenerator.LoadToken(System.Reflection.MethodBase)">
<summary>
Pushes a RuntimeMethodHandle corresponding to the given method onto the evaluation
stack.
</summary>
<param name="method"> The method to convert to a RuntimeMethodHandle. </param>
</member>
<member name="M:Jurassic.Compiler.ReflectionEmitILGenerator.LoadToken(System.Reflection.FieldInfo)">
<summary>
Pushes a RuntimeFieldHandle corresponding to the given field onto the evaluation stack.
</summary>
<param name="field"> The type to convert to a RuntimeFieldHandle. </param>
</member>
<member name="M:Jurassic.Compiler.ReflectionEmitILGenerator.LoadStaticMethodPointer(System.Reflection.MethodBase)">
<summary>
Pushes a pointer to the native code implementing the given method onto the evaluation
stack. The virtual qualifier will be ignored, if present.
</summary>
<param name="method"> The method to retrieve a pointer for. </param>
</member>
<member name="M:Jurassic.Compiler.ReflectionEmitILGenerator.LoadVirtualMethodPointer(System.Reflection.MethodBase)">
<summary>
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.
</summary>
<param name="method"> The method to retrieve a pointer for. </param>
<exception cref="T:System.ArgumentException"> The method is static. </exception>
</member>
<member name="M:Jurassic.Compiler.ReflectionEmitILGenerator.InitObject(System.Type)">
<summary>
Pops a managed or native pointer off the stack and initializes the referenced type with
zeros.
</summary>
<param name="type"> The type the pointer on the top of the stack is pointing to. </param>
</member>
<member name="M:Jurassic.Compiler.ReflectionEmitILGenerator.NewArray(System.Type)">
<summary>
Pops the size of the array off the stack and pushes a new array of the given type onto
the stack.
</summary>
<param name="type"> The element type. </param>
</member>
<member name="M:Jurassic.Compiler.ReflectionEmitILGenerator.LoadArrayElement(System.Type)">
<summary>
Pops the array and index off the stack and pushes the element value onto the stack.
</summary>
<param name="type"> The element type. </param>
</member>
<member name="M:Jurassic.Compiler.ReflectionEmitILGenerator.StoreArrayElement(System.Type)">
<summary>
Pops the array, index and value off the stack and stores the value in the array.
</summary>
<param name="type"> The element type. </param>
</member>
<member name="M:Jurassic.Compiler.ReflectionEmitILGenerator.LoadArrayLength">
<summary>
Pops an array off the stack and pushes the length of the array onto the stack.
</summary>
</member>
<member name="M:Jurassic.Compiler.ReflectionEmitILGenerator.Throw">
<summary>
Pops an exception object off the stack and throws the exception.
</summary>
</member>
<member name="M:Jurassic.Compiler.ReflectionEmitILGenerator.Rethrow">
<summary>
Rethrows the current exception.
</summary>
</member>
<member name="M:Jurassic.Compiler.ReflectionEmitILGenerator.BeginExceptionBlock">
<summary>
Begins a try-catch-finally block. After issuing this instruction any following
instructions are conceptually within the try block.
</summary>
</member>
<member name="M:Jurassic.Compiler.ReflectionEmitILGenerator.EndExceptionBlock">
<summary>
Ends a try-catch-finally block. BeginExceptionBlock() must have already been called.
</summary>
</member>
<member name="M:Jurassic.Compiler.ReflectionEmitILGenerator.BeginCatchBlock(System.Type)">
<summary>
Begins a catch block. BeginExceptionBlock() must have already been called.
</summary>
<param name="exceptionType"> The type of exception to handle. </param>
</member>
<member name="M:Jurassic.Compiler.ReflectionEmitILGenerator.BeginFinallyBlock">
<summary>
Begins a finally block. BeginExceptionBlock() must have already been called.
</summary>
</member>
<member name="M:Jurassic.Compiler.ReflectionEmitILGenerator.BeginFilterBlock">
<summary>
Begins a filter block. BeginExceptionBlock() must have already been called.
</summary>
</member>
<member name="M:Jurassic.Compiler.ReflectionEmitILGenerator.BeginFaultBlock">
<summary>
Begins a fault block. BeginExceptionBlock() must have already been called.
</summary>
</member>
<member name="M:Jurassic.Compiler.ReflectionEmitILGenerator.Leave(Jurassic.Compiler.ILLabel)">
<summary>
Unconditionally branches to the given label. Unlike the regular branch instruction,
this instruction can exit out of try, filter and catch blocks.
</summary>
<param name="label"> The label to branch to. </param>
</member>
<member name="M:Jurassic.Compiler.ReflectionEmitILGenerator.EndFinally">
<summary>
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.
</summary>
</member>
<member name="M:Jurassic.Compiler.ReflectionEmitILGenerator.EndFilter">
<summary>
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 <c>0</c>
to continue searching for an exception handler or <c>1</c> to use the handler
associated with the filter. EndFilter() must be called at the end of a filter block.
</summary>
</member>
<member name="M:Jurassic.Compiler.ReflectionEmitILGenerator.Breakpoint">
<summary>
Triggers a breakpoint in an attached debugger.
</summary>
</member>
<member name="M:Jurassic.Compiler.ReflectionEmitILGenerator.NoOperation">
<summary>
Does nothing.
</summary>
</member>
<member name="T:Jurassic.Compiler.VerifyingILGenerator">
<summary>
Represents a generator that checks commands for correctness.
</summary>
</member>
<member name="M:Jurassic.Compiler.VerifyingILGenerator.#ctor(Jurassic.Compiler.ILGenerator)">
<summary>
Creates a new LoggingILGenerator instance.
</summary>
<param name="generator"> The ILGenerator that is used to output the IL. </param>
</member>
<member name="P:Jurassic.Compiler.VerifyingILGenerator.MethodInfo">
<summary>
Gets a reference to the method that we are generating IL for.
</summary>
</member>
<member name="M:Jurassic.Compiler.VerifyingILGenerator.Complete">
<summary>
Emits a return statement and finalizes the generated code. Do not emit any more
instructions after calling this method.
</summary>
</member>
<member name="M:Jurassic.Compiler.VerifyingILGenerator.Pop">
<summary>
Pops the value from the top of the stack.
</summary>
</member>
<member name="M:Jurassic.Compiler.VerifyingILGenerator.Duplicate">
<summary>
Duplicates the value on the top of the stack.
</summary>
</member>
<member name="M:Jurassic.Compiler.VerifyingILGenerator.CreateLabel">
<summary>
Creates a label without setting its position.
</summary>
<returns> A new label. </returns>
</member>
<member name="M:Jurassic.Compiler.VerifyingILGenerator.DefineLabelPosition(Jurassic.Compiler.ILLabel)">
<summary>
Defines the position of the given label.
</summary>
<param name="label"> The label to define. </param>
</member>
<member name="M:Jurassic.Compiler.VerifyingILGenerator.Branch(Jurassic.Compiler.ILLabel)">
<summary>
Unconditionally branches to the given label.
</summary>
<param name="label"> The label to branch to. </param>
</member>
<member name="M:Jurassic.Compiler.VerifyingILGenerator.BranchIfZero(Jurassic.Compiler.ILLabel)">
<summary>
Branches to the given label if the value on the top of the stack is zero.
</summary>
<param name="label"> The label to branch to. </param>
</member>
<member name="M:Jurassic.Compiler.VerifyingILGenerator.BranchIfNotZero(Jurassic.Compiler.ILLabel)">
<summary>
Branches to the given label if the value on the top of the stack is non-zero, true or
non-null.
</summary>
<param name="label"> The label to branch to. </param>
</member>
<member name="M:Jurassic.Compiler.VerifyingILGenerator.BranchIfEqual(Jurassic.Compiler.ILLabel)">
<summary>
Branches to the given label if the two values on the top of the stack are equal.
</summary>
<param name="label"> The label to branch to. </param>
</member>
<member name="M:Jurassic.Compiler.VerifyingILGenerator.BranchIfNotEqual(Jurassic.Compiler.ILLabel)">
<summary>
Branches to the given label if the two values on the top of the stack are not equal.
</summary>
<param name="label"> The label to branch to. </param>
</member>
<member name="M:Jurassic.Compiler.VerifyingILGenerator.BranchIfGreaterThan(Jurassic.Compiler.ILLabel)">
<summary>
Branches to the given label if the first value on the stack is greater than the second
value on the stack.
</summary>
<param name="label"> The label to branch to. </param>
</member>
<member name="M:Jurassic.Compiler.VerifyingILGenerator.BranchIfGreaterThanUnsigned(Jurassic.Compiler.ILLabel)">
<summary>
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.
</summary>
<param name="label"> The label to branch to. </param>
</member>
<member name="M:Jurassic.Compiler.VerifyingILGenerator.BranchIfGreaterThanOrEqual(Jurassic.Compiler.ILLabel)">
<summary>
Branches to the given label if the first value on the stack is greater than or equal to
the second value on the stack.
</summary>
<param name="label"> The label to branch to. </param>
</member>
<member name="M:Jurassic.Compiler.VerifyingILGenerator.BranchIfGreaterThanOrEqualUnsigned(Jurassic.Compiler.ILLabel)">
<summary>
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.
</summary>
<param name="label"> The label to branch to. </param>
</member>
<member name="M:Jurassic.Compiler.VerifyingILGenerator.BranchIfLessThan(Jurassic.Compiler.ILLabel)">
<summary>
Branches to the given label if the first value on the stack is less than the second
value on the stack.
</summary>
<param name="label"> The label to branch to. </param>
</member>
<member name="M:Jurassic.Compiler.VerifyingILGenerator.BranchIfLessThanUnsigned(Jurassic.Compiler.ILLabel)">
<summary>
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.
</summary>
<param name="label"> The label to branch to. </param>
</member>
<member name="M:Jurassic.Compiler.VerifyingILGenerator.BranchIfLessThanOrEqual(Jurassic.Compiler.ILLabel)">
<summary>
Branches to the given label if the first value on the stack is less than or equal to
the second value on the stack.
</summary>
<param name="label"> The label to branch to. </param>
</member>
<member name="M:Jurassic.Compiler.VerifyingILGenerator.BranchIfLessThanOrEqualUnsigned(Jurassic.Compiler.ILLabel)">
<summary>
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.
</summary>
<param name="label"> The label to branch to. </param>
</member>
<member name="M:Jurassic.Compiler.VerifyingILGenerator.BranchIfFalse(Jurassic.Compiler.ILLabel)">
<summary>
Branches to the given label if the value on the top of the stack is zero, false or
null.
</summary>
<param name="label"> The label to branch to. </param>
</member>
<member name="M:Jurassic.Compiler.VerifyingILGenerator.BranchIfTrue(Jurassic.Compiler.ILLabel)">
<summary>
Branches to the given label if the value on the top of the stack is non-zero, true or
non-null.
</summary>
<param name="label"> The label to branch to. </param>
</member>
<member name="M:Jurassic.Compiler.VerifyingILGenerator.BranchIfNull(Jurassic.Compiler.ILLabel)">
<summary>
Branches to the given label if the value on the top of the stack is zero, false or
null.
</summary>
<param name="label"> The label to branch to. </param>
</member>
<member name="M:Jurassic.Compiler.VerifyingILGenerator.BranchIfNotNull(Jurassic.Compiler.ILLabel)">
<summary>
Branches to the given label if the value on the top of the stack is non-zero, true or
non-null.
</summary>
<param name="label"> The label to branch to. </param>
</member>
<member name="M:Jurassic.Compiler.VerifyingILGenerator.Return">
<summary>
Returns from the current method. A value is popped from the stack and used as the
return value.
</summary>
</member>
<member name="M:Jurassic.Compiler.VerifyingILGenerator.Switch(Jurassic.Compiler.ILLabel[])">
<summary>
Creates a jump table. A value is popped from the stack - this value indicates the
index of the label in the <paramref name="labels"/> array to jump to.
</summary>
<param name="labels"> A array of labels. </param>
</member>
<member name="M:Jurassic.Compiler.VerifyingILGenerator.DeclareVariable(System.Type,System.String)">
<summary>
Declares a new local variable.
</summary>
<param name="type"> The type of the local variable. </param>
<param name="name"> The name of the local variable. Can be <c>null</c>. </param>
<returns> A new local variable. </returns>
</member>
<member name="M:Jurassic.Compiler.VerifyingILGenerator.LoadVariable(Jurassic.Compiler.ILLocalVariable)">
<summary>
Pushes the value of the given variable onto the stack.
</summary>
<param name="variable"> The variable whose value will be pushed. </param>
</member>
<member name="M:Jurassic.Compiler.VerifyingILGenerator.LoadAddressOfVariable(Jurassic.Compiler.ILLocalVariable)">
<summary>
Pushes the address of the given variable onto the stack.
</summary>
<param name="variable"> The variable whose address will be pushed. </param>
</member>
<member name="M:Jurassic.Compiler.VerifyingILGenerator.StoreVariable(Jurassic.Compiler.ILLocalVariable)">
<summary>
Pops the value from the top of the stack and stores it in the given local variable.
</summary>
<param name="variable"> The variable to store the value. </param>
</member>
<member name="M:Jurassic.Compiler.VerifyingILGenerator.LoadArgument(System.Int32)">
<summary>
Pushes the value of the method argument with the given index onto the stack.
</summary>
<param name="argumentIndex"> The index of the argument to push onto the stack. </param>
</member>
<member name="M:Jurassic.Compiler.VerifyingILGenerator.StoreArgument(System.Int32)">
<summary>
Pops a value from the stack and stores it in the method argument with the given index.
</summary>
<param name="argumentIndex"> The index of the argument to store into. </param>
</member>
<member name="M:Jurassic.Compiler.VerifyingILGenerator.LoadNull">
<summary>
Pushes <c>null</c> onto the stack.
</summary>
</member>
<member name="M:Jurassic.Compiler.VerifyingILGenerator.LoadBoolean(System.Boolean)">
<summary>
Pushes a constant value onto the stack.
</summary>
<param name="value"> The boolean to push onto the stack. </param>
</member>
<member name="M:Jurassic.Compiler.VerifyingILGenerator.LoadInt32(System.Int32)">
<summary>
Pushes a constant value onto the stack.
</summary>
<param name="value"> The integer to push onto the stack. </param>
</member>
<member name="M:Jurassic.Compiler.VerifyingILGenerator.LoadInt64(System.Int64)">
<summary>
Pushes a 64-bit constant value onto the stack.
</summary>
<param name="value"> The 64-bit integer to push onto the stack. </param>
</member>
<member name="M:Jurassic.Compiler.VerifyingILGenerator.LoadDouble(System.Double)">
<summary>
Pushes a constant value onto the stack.
</summary>
<param name="value"> The number to push onto the stack. </param>
</member>
<member name="M:Jurassic.Compiler.VerifyingILGenerator.LoadString(System.String)">
<summary>
Pushes a constant value onto the stack.
</summary>
<param name="value"> The string to push onto the stack. </param>
</member>
<member name="M:Jurassic.Compiler.VerifyingILGenerator.LoadEnumValue``1(``0)">
<summary>
Pushes a constant value onto the stack.
</summary>
<param name="value"> The enum value to push onto the stack. </param>
</member>
<member name="M:Jurassic.Compiler.VerifyingILGenerator.CompareEqual">
<summary>
Pops two values from the stack, compares, then pushes <c>1</c> if the first argument
is equal to the second, or <c>0</c> otherwise. Produces <c>0</c> if one or both
of the arguments are <c>NaN</c>.
</summary>
</member>
<member name="M:Jurassic.Compiler.VerifyingILGenerator.CompareGreaterThan">
<summary>
Pops two values from the stack, compares, then pushes <c>1</c> if the first argument
is greater than the second, or <c>0</c> otherwise. Produces <c>0</c> if one or both
of the arguments are <c>NaN</c>.
</summary>
</member>
<member name="M:Jurassic.Compiler.VerifyingILGenerator.CompareGreaterThanUnsigned">
<summary>
Pops two values from the stack, compares, then pushes <c>1</c> if the first argument
is greater than the second, or <c>0</c> otherwise. Produces <c>1</c> if one or both
of the arguments are <c>NaN</c>. Integers are considered to be unsigned.
</summary>
</member>
<member name="M:Jurassic.Compiler.VerifyingILGenerator.CompareLessThan">
<summary>
Pops two values from the stack, compares, then pushes <c>1</c> if the first argument
is less than the second, or <c>0</c> otherwise. Produces <c>0</c> if one or both
of the arguments are <c>NaN</c>.
</summary>
</member>
<member name="M:Jurassic.Compiler.VerifyingILGenerator.CompareLessThanUnsigned">
<summary>
Pops two values from the stack, compares, then pushes <c>1</c> if the first argument
is less than the second, or <c>0</c> otherwise. Produces <c>1</c> if one or both
of the arguments are <c>NaN</c>. Integers are considered to be unsigned.
</summary>
</member>
<member name="M:Jurassic.Compiler.VerifyingILGenerator.Add">
<summary>
Pops two values from the stack, adds them together, then pushes the result to the
stack.
</summary>
</member>
<member name="M:Jurassic.Compiler.VerifyingILGenerator.Subtract">
<summary>
Pops two values from the stack, subtracts the second from the first, then pushes the
result to the stack.
</summary>
</member>
<member name="M:Jurassic.Compiler.VerifyingILGenerator.Multiply">
<summary>
Pops two values from the stack, multiplies them together, then pushes the
result to the stack.
</summary>
</member>
<member name="M:Jurassic.Compiler.VerifyingILGenerator.Divide">
<summary>
Pops two values from the stack, divides the first by the second, then pushes the
result to the stack.
</summary>
</member>
<member name="M:Jurassic.Compiler.VerifyingILGenerator.Remainder">
<summary>
Pops two values from the stack, divides the first by the second, then pushes the
remainder to the stack.
</summary>
</member>
<member name="M:Jurassic.Compiler.VerifyingILGenerator.Negate">
<summary>
Pops a value from the stack, negates it, then pushes it back onto the stack.
</summary>
</member>
<member name="M:Jurassic.Compiler.VerifyingILGenerator.BitwiseAnd">
<summary>
Pops two values from the stack, ANDs them together, then pushes the result to the
stack.
</summary>
</member>
<member name="M:Jurassic.Compiler.VerifyingILGenerator.BitwiseOr">
<summary>
Pops two values from the stack, ORs them together, then pushes the result to the
stack.
</summary>
</member>
<member name="M:Jurassic.Compiler.VerifyingILGenerator.BitwiseXor">
<summary>
Pops two values from the stack, XORs them together, then pushes the result to the
stack.
</summary>
</member>
<member name="M:Jurassic.Compiler.VerifyingILGenerator.BitwiseNot">
<summary>
Pops a value from the stack, inverts it, then pushes the result to the stack.
</summary>
</member>
<member name="M:Jurassic.Compiler.VerifyingILGenerator.ShiftLeft">
<summary>
Pops two values from the stack, shifts the first to the left, then pushes the result
to the stack.
</summary>
</member>
<member name="M:Jurassic.Compiler.VerifyingILGenerator.ShiftRight">
<summary>
Pops two values from the stack, shifts the first to the right, then pushes the result
to the stack. The sign bit is preserved.
</summary>
</member>
<member name="M:Jurassic.Compiler.VerifyingILGenerator.ShiftRightUnsigned">
<summary>
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.
</summary>
</member>
<member name="M:Jurassic.Compiler.VerifyingILGenerator.Box(System.Type)">
<summary>
Pops a value from the stack, converts it to an object reference, then pushes it back onto
the stack.
</summary>
</member>
<member name="M:Jurassic.Compiler.VerifyingILGenerator.Unbox(System.Type)">
<summary>
Pops an object reference (representing a boxed value) from the stack, extracts the
address, then pushes that address onto the stack.
</summary>
<param name="type"> The type of the boxed value. This should be a value type. </param>
</member>
<member name="M:Jurassic.Compiler.VerifyingILGenerator.UnboxAny(System.Type)">
<summary>
Pops an object reference (representing a boxed value) from the stack, extracts the value,
then pushes the value onto the stack.
</summary>
<param name="type"> The type of the boxed value. This should be a value type. </param>
</member>
<member name="M:Jurassic.Compiler.VerifyingILGenerator.ConvertToInteger">
<summary>
Pops a value from the stack, converts it to a signed integer, then pushes it back onto
the stack.
</summary>
</member>
<member name="M:Jurassic.Compiler.VerifyingILGenerator.ConvertToUnsignedInteger">
<summary>
Pops a value from the stack, converts it to an unsigned integer, then pushes it back
onto the stack.
</summary>
</member>
<member name="M:Jurassic.Compiler.VerifyingILGenerator.ConvertToInt64">
<summary>
Pops a value from the stack, converts it to a signed 64-bit integer, then pushes it
back onto the stack.
</summary>
</member>
<member name="M:Jurassic.Compiler.VerifyingILGenerator.ConvertToUnsignedInt64">
<summary>
Pops a value from the stack, converts it to an unsigned 64-bit integer, then pushes it
back onto the stack.
</summary>
</member>
<member name="M:Jurassic.Compiler.VerifyingILGenerator.ConvertToDouble">
<summary>
Pops a value from the stack, converts it to a double, then pushes it back onto
the stack.
</summary>
</member>
<member name="M:Jurassic.Compiler.VerifyingILGenerator.ConvertUnsignedToDouble">
<summary>
Pops an unsigned integer from the stack, converts it to a double, then pushes it back onto
the stack.
</summary>
</member>
<member name="M:Jurassic.Compiler.VerifyingILGenerator.NewObject(System.Reflection.ConstructorInfo)">
<summary>
Pops the constructor arguments off the stack and creates a new instance of the object.
</summary>
<param name="constructor"> The constructor that is used to initialize the object. </param>
</member>
<member name="M:Jurassic.Compiler.VerifyingILGenerator.CallStatic(System.Reflection.MethodInfo)">
<summary>
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.
</summary>
<param name="method"> The method to call. </param>
</member>
<member name="M:Jurassic.Compiler.VerifyingILGenerator.CallVirtual(System.Reflection.MethodInfo)">
<summary>
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.
</summary>
<param name="method"> The method to call. </param>
<exception cref="T:System.ArgumentException"> The method is static. </exception>
</member>
<member name="M:Jurassic.Compiler.VerifyingILGenerator.LoadField(System.Reflection.FieldInfo)">
<summary>
Pushes the value of the given field onto the stack.
</summary>
<param name="field"> The field whose value will be pushed. </param>
</member>
<member name="M:Jurassic.Compiler.VerifyingILGenerator.StoreField(System.Reflection.FieldInfo)">
<summary>
Pops a value off the stack and stores it in the given field.
</summary>
<param name="field"> The field to modify. </param>
</member>
<member name="M:Jurassic.Compiler.VerifyingILGenerator.CastClass(System.Type)">
<summary>
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.
</summary>
<param name="type"> The type of the class the object inherits from or the interface the
object implements. </param>
</member>
<member name="M:Jurassic.Compiler.VerifyingILGenerator.ReinterpretCast(System.Type)">
<summary>
Changes the type of the value on the top of the stack, for the purpose of passing
verification. Doesn't generate any IL instructions.
</summary>
<param name="type"> The type to convert to. </param>
</member>
<member name="M:Jurassic.Compiler.VerifyingILGenerator.IsInstance(System.Type)">
<summary>
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 <c>null</c>
(if the check failed) onto the stack.
</summary>
<param name="type"> The type of the class the object inherits from or the interface the
object implements. </param>
</member>
<member name="M:Jurassic.Compiler.VerifyingILGenerator.LoadToken(System.Type)">
<summary>
Pushes a RuntimeTypeHandle corresponding to the given type onto the evaluation stack.
</summary>
<param name="type"> The type to convert to a RuntimeTypeHandle. </param>
</member>
<member name="M:Jurassic.Compiler.VerifyingILGenerator.LoadToken(System.Reflection.MethodBase)">
<summary>
Pushes a RuntimeMethodHandle corresponding to the given method onto the evaluation
stack.
</summary>
<param name="method"> The method to convert to a RuntimeMethodHandle. </param>
</member>
<member name="M:Jurassic.Compiler.VerifyingILGenerator.LoadToken(System.Reflection.FieldInfo)">
<summary>
Pushes a RuntimeFieldHandle corresponding to the given field onto the evaluation stack.
</summary>
<param name="field"> The type to convert to a RuntimeFieldHandle. </param>
</member>
<member name="M:Jurassic.Compiler.VerifyingILGenerator.LoadStaticMethodPointer(System.Reflection.MethodBase)">
<summary>
Pushes a pointer to the native code implementing the given method onto the evaluation
stack. The virtual qualifier will be ignored, if present.
</summary>
<param name="method"> The method to retrieve a pointer for. </param>
</member>
<member name="M:Jurassic.Compiler.VerifyingILGenerator.LoadVirtualMethodPointer(System.Reflection.MethodBase)">
<summary>
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.
</summary>
<param name="method"> The method to retrieve a pointer for. </param>
<exception cref="T:System.ArgumentException"> The method is static. </exception>
</member>
<member name="M:Jurassic.Compiler.VerifyingILGenerator.InitObject(System.Type)">
<summary>
Pops a managed or native pointer off the stack and initializes the referenced type with
zeros.
</summary>
<param name="type"> The type the pointer on the top of the stack is pointing to. </param>
</member>
<member name="M:Jurassic.Compiler.VerifyingILGenerator.NewArray(System.Type)">
<summary>
Pops the size of the array off the stack and pushes a new array of the given type onto
the stack.
</summary>
<param name="type"> The element type. </param>
</member>
<member name="M:Jurassic.Compiler.VerifyingILGenerator.LoadArrayElement(System.Type)">
<summary>
Pops the array and index off the stack and pushes the element value onto the stack.
</summary>
<param name="type"> The element type. </param>
</member>
<member name="M:Jurassic.Compiler.VerifyingILGenerator.StoreArrayElement(System.Type)">
<summary>
Pops the array, index and value off the stack and stores the value in the array.
</summary>
<param name="type"> The element type. </param>
</member>
<member name="M:Jurassic.Compiler.VerifyingILGenerator.LoadArrayLength">
<summary>
Pops an array off the stack and pushes the length of the array onto the stack.
</summary>
</member>
<member name="M:Jurassic.Compiler.VerifyingILGenerator.Throw">
<summary>
Pops an exception object off the stack and throws the exception.
</summary>
</member>
<member name="M:Jurassic.Compiler.VerifyingILGenerator.Rethrow">
<summary>
Rethrows the current exception.
</summary>
</member>
<member name="M:Jurassic.Compiler.VerifyingILGenerator.BeginExceptionBlock">
<summary>
Begins a try-catch-finally block. After issuing this instruction any following
instructions are conceptually within the try block.
</summary>
</member>
<member name="M:Jurassic.Compiler.VerifyingILGenerator.EndExceptionBlock">
<summary>
Ends a try-catch-finally block. BeginExceptionBlock() must have already been called.
</summary>
</member>
<member name="M:Jurassic.Compiler.VerifyingILGenerator.BeginCatchBlock(System.Type)">
<summary>
Begins a catch block. BeginExceptionBlock() must have already been called.
</summary>
<param name="exceptionType"> The type of exception to handle. </param>
</member>
<member name="M:Jurassic.Compiler.VerifyingILGenerator.BeginFinallyBlock">
<summary>
Begins a finally block. BeginExceptionBlock() must have already been called.
</summary>
</member>
<member name="M:Jurassic.Compiler.VerifyingILGenerator.BeginFilterBlock">
<summary>
Begins a filter block. BeginExceptionBlock() must have already been called.
</summary>
</member>
<member name="M:Jurassic.Compiler.VerifyingILGenerator.BeginFaultBlock">
<summary>
Begins a fault block. BeginExceptionBlock() must have already been called.
</summary>
</member>
<member name="M:Jurassic.Compiler.VerifyingILGenerator.Leave(Jurassic.Compiler.ILLabel)">
<summary>
Unconditionally branches to the given label. Unlike the regular branch instruction,
this instruction can exit out of try, filter and catch blocks.
</summary>
<param name="label"> The label to branch to. </param>
</member>
<member name="M:Jurassic.Compiler.VerifyingILGenerator.EndFinally">
<summary>
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.
</summary>
</member>
<member name="M:Jurassic.Compiler.VerifyingILGenerator.EndFilter">
<summary>
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 <c>0</c>
to continue searching for an exception handler or <c>1</c> to use the handler
associated with the filter. EndFilter() must be called at the end of a filter block.
</summary>
</member>
<member name="M:Jurassic.Compiler.VerifyingILGenerator.Breakpoint">
<summary>
Triggers a breakpoint in an attached debugger.
</summary>
</member>
<member name="M:Jurassic.Compiler.VerifyingILGenerator.NoOperation">
<summary>
Does nothing.
</summary>
</member>
<member name="M:Jurassic.Compiler.VerifyingILGenerator.ToString">
<summary>
Converts the object to a string.
</summary>
<returns> A string containing the IL generated by this object. </returns>
</member>
<member name="T:Jurassic.Compiler.VerifyingILGenerator.VerifyingILLabel">
<summary>
Represents a label in IL code.
</summary>
</member>
<member name="M:Jurassic.Compiler.VerifyingILGenerator.VerifyingILLabel.#ctor(Jurassic.Compiler.ILLabel)">
<summary>
Creates a new label instance.
</summary>
<param name="label"> The underlying label. </param>
</member>
<member name="P:Jurassic.Compiler.VerifyingILGenerator.VerifyingILLabel.UnderlyingLabel">
<summary>
Gets the underlying label.
</summary>
</member>
<member name="P:Jurassic.Compiler.VerifyingILGenerator.VerifyingILLabel.Stack">
<summary>
A copy of the stack at the point the flow branched.
</summary>
</member>
<member name="P:Jurassic.Compiler.VerifyingILGenerator.VerifyingILLabel.Marked">
<summary>
Indicates whether the label has been marked. This must be done once and only once.
</summary>
</member>
<member name="T:Jurassic.Compiler.LongJumpException">
<summary>
Used internally to allow branching out of a finally block.
</summary>
</member>
<member name="M:Jurassic.Compiler.LongJumpException.#ctor(System.Int32)">
<summary>
Creates a new LongJumpException instance.
</summary>
<param name="routeID"> The route ID. </param>
</member>
<member name="P:Jurassic.Compiler.LongJumpException.RouteID">
<summary>
Gets the route ID.
</summary>
</member>
<member name="T:Jurassic.Compiler.MethodOptimizationHints">
<summary>
Represents information useful for optimizing a method.
</summary>
</member>
<member name="M:Jurassic.Compiler.MethodOptimizationHints.EncounteredVariable(System.String)">
<summary>
Called by the parser whenever a variable is encountered (variable being any identifier
which is not a property name).
</summary>
<param name="name"> The variable name. </param>
</member>
<member name="M:Jurassic.Compiler.MethodOptimizationHints.HasVariable(System.String)">
<summary>
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.
</summary>
<param name="name"> The variable name. </param>
<returns> <c>true</c> if the parser encountered the given variable name or "eval" while
parsing the function; <c>false</c> otherwise. </returns>
</member>
<member name="P:Jurassic.Compiler.MethodOptimizationHints.HasArguments">
<summary>
Gets a value that indicates whether the function being generated contains a reference
to the arguments object.
</summary>
</member>
<member name="P:Jurassic.Compiler.MethodOptimizationHints.HasEval">
<summary>
Gets a value that indicates whether the function being generated contains an eval
statement.
</summary>
</member>
<member name="M:Jurassic.Compiler.MethodOptimizationHints.CacheResults">
<summary>
Caches the HasEval and HasArguments property access.
</summary>
</member>
<member name="P:Jurassic.Compiler.MethodOptimizationHints.HasNestedFunction">
<summary>
Gets or sets a value that indicates whether the function being generated contains a
nested function declaration or expression.
</summary>
</member>
<member name="P:Jurassic.Compiler.MethodOptimizationHints.HasThis">
<summary>
Gets or sets a value that indicates whether the function being generated contains a
reference to the "this" keyword.
</summary>
</member>
<member name="T:Jurassic.Compiler.OptimizationInfo">
<summary>
Represents information about one or more code generation optimizations.
</summary>
</member>
<member name="M:Jurassic.Compiler.OptimizationInfo.#ctor">
<summary>
Creates a new OptimizationInfo instance.
</summary>
</member>
<member name="P:Jurassic.Compiler.OptimizationInfo.AbstractSyntaxTree">
<summary>
Gets or sets the root of the abstract syntax tree that is being compiled.
</summary>
</member>
<member name="P:Jurassic.Compiler.OptimizationInfo.StrictMode">
<summary>
Gets or sets a value that indicates whether strict mode is enabled.
</summary>
</member>
<member name="P:Jurassic.Compiler.OptimizationInfo.Source">
<summary>
Gets or sets the source of javascript code.
</summary>
</member>
<member name="P:Jurassic.Compiler.OptimizationInfo.FunctionName">
<summary>
Gets or sets the name of the function that is being generated.
</summary>
</member>
<member name="P:Jurassic.Compiler.OptimizationInfo.SourceSpan">
<summary>
Gets the portion of source code associated with the statement that code is
being generated for.
</summary>
</member>
<member name="M:Jurassic.Compiler.OptimizationInfo.MarkSequencePoint(Jurassic.Compiler.ILGenerator,Jurassic.Compiler.SourceCodeSpan)">
<summary>
Emits a sequence point, and sets the SourceSpan property.
</summary>
<param name="generator"> The IL generator used to emit the sequence point. </param>
<param name="span"> The source code span. </param>
</member>
<member name="P:Jurassic.Compiler.OptimizationInfo.NestedFunctions">
<summary>
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.
</summary>
</member>
<member name="P:Jurassic.Compiler.OptimizationInfo.MethodOptimizationHints">
<summary>
Gets or sets function optimization information.
</summary>
</member>
<member name="P:Jurassic.Compiler.OptimizationInfo.OptimizeDeclarativeScopes">
<summary>
Gets a value that indicates whether the declarative scopes should be optimized away,
so that the scope is not even created at runtime.
</summary>
</member>
<member name="P:Jurassic.Compiler.OptimizationInfo.IgnoreReturnValue">
<summary>
Indicates that the given expression can choose to not generate a return value.
</summary>
</member>
<member name="P:Jurassic.Compiler.OptimizationInfo.ReturnValueWasNotGenerated">
<summary>
Indicates whether the return value was generated.
</summary>
</member>
<member name="P:Jurassic.Compiler.OptimizationInfo.EvalResult">
<summary>
Gets or sets the local variable to store the result of the eval() call. Will be
<c>null</c> if code is being generated outside an eval context.
</summary>
</member>
<member name="M:Jurassic.Compiler.OptimizationInfo.GetGlobalPropertyReferenceVariable(Jurassic.Compiler.ILGenerator,System.String)">
<summary>
Retrieves a variable that can be used to store a property name referencing a
global variable.
</summary>
<param name="generator"> The IL generator used to create the variable. </param>
<param name="name"> The name of the global variable. </param>
<returns> A variable. </returns>
</member>
<member name="M:Jurassic.Compiler.OptimizationInfo.GetPropertyReferenceVariable(Jurassic.Compiler.ILGenerator,System.String)">
<summary>
Retrieves a variable that can be used to store a property name referencing an
object property.
</summary>
<param name="generator"> The IL generator used to create the variable. </param>
<param name="name"> The name of the property. </param>
<returns> A variable. </returns>
</member>
<member name="M:Jurassic.Compiler.OptimizationInfo.GetRegExpVariable(Jurassic.Compiler.ILGenerator,Jurassic.Compiler.RegularExpressionLiteral)">
<summary>
Retrieves a variable that can be used to store a shared instance of a regular
expression.
</summary>
<param name="generator"> The IL generator used to create the variable. </param>
<param name="literal"> The regular expression literal. </param>
<returns> A varaible that can be used to store a shared instance of a regular
expression. </returns>
</member>
<member name="P:Jurassic.Compiler.OptimizationInfo.ReturnTarget">
<summary>
Gets or sets the label the return statement should jump to (with the return value on
top of the stack). Will be <c>null</c> if code is being generated outside a function
context.
</summary>
</member>
<member name="P:Jurassic.Compiler.OptimizationInfo.ReturnVariable">
<summary>
Gets or sets the variable that holds the return value for the function. Will be
<c>null</c> if code is being generated outside a function context or if no return
statements have been encountered.
</summary>
</member>
<member name="P:Jurassic.Compiler.OptimizationInfo.InsideLoop">
<summary>
Indicates whether we are generating code inside a loop.
</summary>
</member>
<member name="M:Jurassic.Compiler.OptimizationInfo.PushBreakOrContinueInfo(System.Collections.Generic.IList{System.String},Jurassic.Compiler.ILLabel,Jurassic.Compiler.ILLabel,System.Boolean)">
<summary>
Pushes information about break or continue targets to a stack.
</summary>
<param name="labelNames"> The label names associated with the break or continue target.
Can be <c>null</c>. </param>
<param name="breakTarget"> The IL label to jump to if a break statement is encountered. </param>
<param name="continueTarget"> The IL label to jump to if a continue statement is
encountered. Can be <c>null</c>. </param>
<param name="labelledOnly"> <c>true</c> if break or continue statements without a label
should ignore this entry; <c>false</c> otherwise. </param>
</member>
<member name="M:Jurassic.Compiler.OptimizationInfo.PopBreakOrContinueInfo">
<summary>
Removes the top-most break or continue information from the stack.
</summary>
</member>
<member name="M:Jurassic.Compiler.OptimizationInfo.GetBreakTarget(System.String)">
<summary>
Returns the break target for the statement with the given label, if one is provided, or
the top-most break target otherwise.
</summary>
<param name="labelName"> The label associated with the break target. Can be
<c>null</c>. </param>
<returns> The break target for the statement with the given label. </returns>
</member>
<member name="M:Jurassic.Compiler.OptimizationInfo.GetContinueTarget(System.String)">
<summary>
Returns the continue target for the statement with the given label, if one is provided, or
the top-most continue target otherwise.
</summary>
<param name="labelName"> The label associated with the continue target. Can be
<c>null</c>. </param>
<returns> The continue target for the statement with the given label. </returns>
</member>
<member name="P:Jurassic.Compiler.OptimizationInfo.BreakOrContinueStackSize">
<summary>
Gets the number of available break or continue targets. Used to support break or
continue statements within finally blocks.
</summary>
</member>
<member name="M:Jurassic.Compiler.OptimizationInfo.GetBreakOrContinueLabelDepth(Jurassic.Compiler.ILLabel)">
<summary>
Searches for the given label in the break/continue stack.
</summary>
<param name="label"></param>
<returns> The depth of the label in the stack. Zero indicates the bottom of the stack.
<c>-1</c> is returned if the label was not found. </returns>
</member>
<member name="P:Jurassic.Compiler.OptimizationInfo.InsideTryCatchOrFinally">
<summary>
Gets or sets a value that indicates whether code generation is occurring within a
try, catch or finally block.
</summary>
</member>
<member name="P:Jurassic.Compiler.OptimizationInfo.LongJumpCallback">
<summary>
Gets or sets a delegate that is called when EmitLongJump() is called and the target
label is outside the LongJumpStackSizeThreshold.
</summary>
</member>
<member name="P:Jurassic.Compiler.OptimizationInfo.LongJumpStackSizeThreshold">
<summary>
Gets or sets the depth of the break/continue stack at the start of the finally
statement.
</summary>
</member>
<member name="M:Jurassic.Compiler.OptimizationInfo.EmitLongJump(Jurassic.Compiler.ILGenerator,Jurassic.Compiler.ILLabel)">
<summary>
Emits code to branch between statements, even if code generation is within a finally
block (where unconditional branches are not allowed).
</summary>
<param name="generator"> The generator to output the CIL to. </param>
<param name="targetLabel"> The label to jump to. </param>
</member>
<member name="T:Jurassic.Compiler.PrimitiveType">
<summary>
Represents a javascript primitive type.
</summary>
</member>
<member name="T:Jurassic.Compiler.PrimitiveTypeUtilities">
<summary>
Methods related to the PrimitiveType enum.
</summary>
</member>
<member name="M:Jurassic.Compiler.PrimitiveTypeUtilities.ToType(Jurassic.Compiler.PrimitiveType)">
<summary>
Converts a javascript primitive type to a .NET type.
</summary>
<param name="type"> The type to convert. </param>
<returns> A .NET type. </returns>
</member>
<member name="M:Jurassic.Compiler.PrimitiveTypeUtilities.ToPrimitiveType(System.Type)">
<summary>
Converts a .NET type to a javascript primitive type.
</summary>
<param name="type"> The type to convert. </param>
<returns> A javascript primitive type. </returns>
</member>
<member name="M:Jurassic.Compiler.PrimitiveTypeUtilities.IsNumeric(Jurassic.Compiler.PrimitiveType)">
<summary>
Checks if the given primitive type is numeric.
</summary>
<param name="type"> The primitive type to check. </param>
<returns> <c>true</c> if the given primitive type is numeric; <c>false</c> otherwise. </returns>
</member>
<member name="M:Jurassic.Compiler.PrimitiveTypeUtilities.IsString(Jurassic.Compiler.PrimitiveType)">
<summary>
Checks if the given primitive type is a string type.
</summary>
<param name="type"> The primitive type to check. </param>
<returns> <c>true</c> if the given primitive type is a string type; <c>false</c>
otherwise. </returns>
</member>
<member name="M:Jurassic.Compiler.PrimitiveTypeUtilities.IsValueType(Jurassic.Compiler.PrimitiveType)">
<summary>
Checks if the given primitive type is a value type.
</summary>
<param name="type"> The primitive type to check. </param>
<returns> <c>true</c> if the given primitive type is a value type; <c>false</c> otherwise. </returns>
</member>
<member name="M:Jurassic.Compiler.PrimitiveTypeUtilities.GetCommonType(Jurassic.Compiler.PrimitiveType,Jurassic.Compiler.PrimitiveType)">
<summary>
Gets a type that can hold values of both the given types.
</summary>
<param name="a"> The first of the two types to find the LCD for. </param>
<param name="b"> The second of the two types to find the LCD for. </param>
<returns> A type that can hold values of both the given types. </returns>
</member>
<member name="T:Jurassic.Compiler.ReflectionHelpers">
<summary>
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).
</summary>
</member>
<member name="M:Jurassic.Compiler.ReflectionHelpers.#cctor">
<summary>
Initializes static members of this class.
</summary>
</member>
<member name="M:Jurassic.Compiler.ReflectionHelpers.CreateFunction(Jurassic.Library.ObjectInstance,System.String,System.Collections.Generic.IList{System.String},Jurassic.Compiler.RuntimeScope,System.String,Jurassic.Compiler.GeneratedMethod,System.Boolean,Jurassic.Library.ObjectInstance)">
<summary>
Creates a new instance of a user-defined function.
</summary>
<param name="prototype"> The next object in the prototype chain. </param>
<param name="name"> The name of the function. </param>
<param name="argumentNames"> The names of the arguments. </param>
<param name="parentScope"> The scope at the point the function is declared. </param>
<param name="bodyText"> The source code for the function body. </param>
<param name="generatedMethod"> A delegate which represents the body of the function plus any dependencies. </param>
<param name="strictMode"> <c>true</c> if the function body is strict mode; <c>false</c> otherwise. </param>
<param name="container"> A reference to the containing class prototype or object literal (or <c>null</c>). </param>
<remarks> This is used by functions declared in JavaScript code (including getters and setters). </remarks>
</member>
<member name="M:Jurassic.Compiler.ReflectionHelpers.SetObjectLiteralValue(Jurassic.Library.ObjectInstance,System.Object,System.Object)">
<summary>
Sets the value of a object literal property to a value.
</summary>
<param name="obj"> The object to set the property on. </param>
<param name="key"> The property key (can be a string or a symbol). </param>
<param name="value"> The value to set. </param>
</member>
<member name="M:Jurassic.Compiler.ReflectionHelpers.SetObjectLiteralGetter(Jurassic.Library.ObjectInstance,System.Object,Jurassic.Library.UserDefinedFunction)">
<summary>
Sets the value of a object literal property to a getter. If the value already has a
setter then it will be retained.
</summary>
<param name="obj"> The object to set the property on. </param>
<param name="key"> The property key (can be a string or a symbol). </param>
<param name="getter"> The getter function. </param>
</member>
<member name="M:Jurassic.Compiler.ReflectionHelpers.SetObjectLiteralSetter(Jurassic.Library.ObjectInstance,System.Object,Jurassic.Library.UserDefinedFunction)">
<summary>
Sets the value of a object literal property to a setter. If the value already has a
getter then it will be retained.
</summary>
<param name="obj"> The object to set the property on. </param>
<param name="key"> The property key (can be a string or a symbol).</param>
<param name="setter"> The setter function. </param>
</member>
<member name="M:Jurassic.Compiler.ReflectionHelpers.GetCachedTemplateStringsArray(Jurassic.ScriptEngine,System.Int32)">
<summary>
Retrieves a cached template string array, using the given call site ID as the cache key.
</summary>
<param name="engine"> The associated script engine. </param>
<param name="callSiteId"> The call site ID to use as a cache key. </param>
<returns></returns>
</member>
<member name="M:Jurassic.Compiler.ReflectionHelpers.CreateTemplateStringsArray(Jurassic.ScriptEngine,System.Int32,System.String[],System.String[])">
<summary>
Creates an array suitable for passing to a tag function.
</summary>
<param name="engine"> The associated script engine. </param>
<param name="callSiteId"> The call site ID to use as a cache key. </param>
<param name="strings"> An array of strings that make up the template literal,
with escape character processing. </param>
<param name="rawStrings"> An array of strings that make up the template literal,
without any escape character processing. </param>
<returns> A JS array suitable for passing to a tag function. </returns>
</member>
<member name="M:Jurassic.Compiler.ReflectionHelpers.ConstructClass(Jurassic.ScriptEngine,System.String,System.Object,Jurassic.Library.UserDefinedFunction)">
<summary>
</summary>
<param name="engine"></param>
<param name="name"></param>
<param name="extends"></param>
<param name="constructor"></param>
<returns></returns>
</member>
<member name="M:Jurassic.Compiler.ReflectionHelpers.SetClassValue(Jurassic.Library.ObjectInstance,System.Object,System.Object)">
<summary>
Sets the value of a class property to a value.
</summary>
<param name="obj"> The object to set the property on. </param>
<param name="key"> The property key (can be a string or a symbol). </param>
<param name="value"> The value to set. </param>
</member>
<member name="M:Jurassic.Compiler.ReflectionHelpers.SetClassGetter(Jurassic.Library.ObjectInstance,System.Object,Jurassic.Library.UserDefinedFunction)">
<summary>
Sets the value of a class property to a getter. If the value already has a
setter then it will be retained.
</summary>
<param name="obj"> The object to set the property on. </param>
<param name="key"> The property key (can be a string or a symbol). </param>
<param name="getter"> The getter function. </param>
</member>
<member name="M:Jurassic.Compiler.ReflectionHelpers.SetClassSetter(Jurassic.Library.ObjectInstance,System.Object,Jurassic.Library.UserDefinedFunction)">
<summary>
Sets the value of a class property to a setter. If the value already has a
getter then it will be retained.
</summary>
<param name="obj"> The object to set the property on. </param>
<param name="key"> The property key (can be a string or a symbol).</param>
<param name="setter"> The setter function. </param>
</member>
<member name="M:Jurassic.Compiler.ReflectionHelpers.InstanceOf(System.Object,System.Object,System.Int32,System.String,System.String)">
<summary>
Implements the 'instanceof' operator.
</summary>
<param name="lhs"> The left-hand side value. </param>
<param name="rhs"> The right-hand side value. </param>
<param name="lineNumber"> The line number in the source file the error occurred on. </param>
<param name="sourcePath"> The path or URL of the source file. Can be <c>null</c>. </param>
<param name="functionName"> The name of the function. Can be <c>null</c>. </param>
<returns> The result of the 'instanceof' operator. </returns>
</member>
<member name="M:Jurassic.Compiler.ReflectionHelpers.GetMembers">
<summary>
Gets an enumerable list of all the MemberInfos that are statically known to be used by this DLL.
</summary>
<returns> An enumerable list of all the MemberInfos that are used by this DLL. </returns>
</member>
<member name="M:Jurassic.Compiler.ReflectionHelpers.GetField(System.Type,System.String)">
<summary>
Gets the FieldInfo for a field. Throws an exception if the search fails.
</summary>
<param name="type"> The type to search. </param>
<param name="name"> The name of the field. </param>
<returns> The FieldInfo for a field. </returns>
</member>
<member name="M:Jurassic.Compiler.ReflectionHelpers.GetConstructor(System.Type,System.Type[])">
<summary>
Gets the ConstructorInfo for a constructor. Throws an exception if the search fails.
</summary>
<param name="type"> The type to search. </param>
<param name="parameterTypes"> The types of the parameters accepted by the constructor. </param>
<returns> The ConstructorInfo for the constructor. </returns>
</member>
<member name="M:Jurassic.Compiler.ReflectionHelpers.GetInstanceMethod(System.Type,System.String,System.Type[])">
<summary>
Gets the MethodInfo for an instance method. Throws an exception if the search fails.
</summary>
<param name="type"> The type to search. </param>
<param name="name"> The name of the method to search for. </param>
<param name="parameterTypes"> The types of the parameters accepted by the method. </param>
<returns> The MethodInfo for the method. </returns>
</member>
<member name="M:Jurassic.Compiler.ReflectionHelpers.GetStaticMethod(System.Type,System.String,System.Type[])">
<summary>
Gets the MethodInfo for a static method. Throws an exception if the search fails.
</summary>
<param name="type"> The type to search. </param>
<param name="name"> The name of the method to search for. </param>
<param name="parameterTypes"> The types of the parameters accepted by the method. </param>
<returns> The MethodInfo for the method. </returns>
</member>
<member name="M:Jurassic.Compiler.ReflectionHelpers.GetGenericInstanceMethod(System.Type,System.String)">
<summary>
Gets the MethodInfo for a generic instance method. Throws an exception if the search fails.
</summary>
<param name="type"> The type to search. </param>
<param name="name"> The name of the method to search for. </param>
<returns> The MethodInfo for the method. </returns>
</member>
<member name="T:Jurassic.Compiler.ExecutionContext">
<summary>
Represents the runtime state needed to run JS code.
</summary>
</member>
<member name="M:Jurassic.Compiler.ExecutionContext.CreateGlobalOrEvalContext(Jurassic.ScriptEngine,Jurassic.Compiler.RuntimeScope,System.Object)">
<summary>
Creates an execution context for code running in an eval() scope.
</summary>
<param name="engine"> A script engine. </param>
<param name="parentScope"> The scope that was active when eval() was called. </param>
<param name="thisValue"> The value of the 'this' keyword. </param>
<returns> A new execution context instance. </returns>
</member>
<member name="M:Jurassic.Compiler.ExecutionContext.CreateFunctionContext(Jurassic.ScriptEngine,Jurassic.Compiler.RuntimeScope,System.Object,Jurassic.Library.UserDefinedFunction)">
<summary>
Creates an execution context for code running as a result of a function call.
</summary>
<param name="engine"> A script engine. </param>
<param name="parentScope"> The scope that was active when the function was declared
(NOT when it was called). </param>
<param name="thisValue"> The value of the 'this' keyword. </param>
<param name="executingFunction"> The function that is being called. </param>
<returns> A new execution context instance. </returns>
</member>
<member name="M:Jurassic.Compiler.ExecutionContext.CreateConstructContext(Jurassic.ScriptEngine,Jurassic.Compiler.RuntimeScope,System.Object,Jurassic.Library.UserDefinedFunction,Jurassic.Library.FunctionInstance,Jurassic.Library.ObjectInstance)">
<summary>
Creates an execution context for code running as a result of the new operator.
</summary>
<param name="engine"> A script engine. </param>
<param name="parentScope"> The scope that was active when the class was declared. </param>
<param name="thisValue"> The value of the 'this' keyword. </param>
<param name="executingFunction"> A reference to the function that is being executed. </param>
<param name="newTarget"> The target of the new operator. </param>
<param name="functionContainer"> A reference to the object literal or class prototype
the executing function was defined within. Used by the 'super' keyword. </param>
<returns> A new execution context instance. </returns>
</member>
<member name="M:Jurassic.Compiler.ExecutionContext.CreateDerivedContext(Jurassic.ScriptEngine,Jurassic.Compiler.RuntimeScope,Jurassic.Library.UserDefinedFunction,Jurassic.Library.FunctionInstance,Jurassic.Library.ObjectInstance)">
<summary>
Creates an execution context for code running as a result of the new operator. The
'this' value is unavailable.
</summary>
<param name="engine"> A script engine. </param>
<param name="parentScope"> The scope that was active when the class was declared. </param>
<param name="executingFunction"> A reference to the function that is being executed. </param>
<param name="newTarget"> The target of the new operator. </param>
<param name="functionContainer"> A reference to the object literal or class prototype
the executing function was defined within. Used by the 'super' keyword. </param>
<returns> A new execution context instance. </returns>
</member>
<member name="P:Jurassic.Compiler.ExecutionContext.Engine">
<summary>
A reference to the script engine.
</summary>
</member>
<member name="P:Jurassic.Compiler.ExecutionContext.ParentScope">
<summary>
The scope that was active when this execution context was declared. Can be <c>null</c>.
</summary>
</member>
<member name="T:Jurassic.Compiler.ExecutionContext.BindingStatus">
<summary>
Represents the state of the 'this' value.
</summary>
</member>
<member name="F:Jurassic.Compiler.ExecutionContext.BindingStatus.Initialized">
<summary>
A 'this' value is available, although it may be null or undefined.
</summary>
</member>
<member name="F:Jurassic.Compiler.ExecutionContext.BindingStatus.Uninitialized">
<summary>
'this' is unavailable because execution is in a derived class constructor and
super() has not yet been called.
</summary>
</member>
<member name="F:Jurassic.Compiler.ExecutionContext.BindingStatus.Lexical">
<summary>
This is an ArrowFunction and does not have a local this value.
</summary>
</member>
<member name="P:Jurassic.Compiler.ExecutionContext.ThisBindingStatus">
<summary>
Indicates the status of the 'this' value.
</summary>
</member>
<member name="P:Jurassic.Compiler.ExecutionContext.ThisValue">
<summary>
The value of the 'this' keyword.
</summary>
</member>
<member name="M:Jurassic.Compiler.ExecutionContext.ConvertThisToObject">
<summary>
Converts <see cref="P:Jurassic.Compiler.ExecutionContext.ThisValue"/> to an object. If <c>this</c> is null or undefined,
then it will be set to the global object.
</summary>
</member>
<member name="P:Jurassic.Compiler.ExecutionContext.SuperValue">
<summary>
The value of the 'super' keyword, or <c>null</c> if it is not available.
</summary>
</member>
<member name="M:Jurassic.Compiler.ExecutionContext.CallSuperClass(System.Object[])">
<summary>
Corresponds to a super(...argumentValues) call.
</summary>
<param name="argumentValues"> The parameter values to pass to the base class. </param>
<returns> The initialised object instance. </returns>
</member>
<member name="P:Jurassic.Compiler.ExecutionContext.ExecutingFunction">
<summary>
A reference to the executing function. Will be <c>null</c> if running in a global or
eval context.
</summary>
</member>
<member name="P:Jurassic.Compiler.ExecutionContext.NewTarget">
<summary>
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.
</summary>
</member>
<member name="P:Jurassic.Compiler.ExecutionContext.FunctionContainer">
<summary>
Contains a reference to the object literal or class prototype the executing function
was defined within. Used by the 'super' keyword.
</summary>
</member>
<member name="P:Jurassic.Compiler.ExecutionContext.NewTargetObject">
<summary>
The same as <see cref="P:Jurassic.Compiler.ExecutionContext.NewTarget"/> except that it returns <see cref="F:Jurassic.Undefined.Value"/>
instead of <c>null</c> if no new.target value is available.
</summary>
</member>
<member name="M:Jurassic.Compiler.ExecutionContext.CreateArgumentsInstance(Jurassic.Compiler.RuntimeScope,System.Object[])">
<summary>
Creates a new instance of the 'arguments' object.
</summary>
<param name="functionScope"> The top-level scope for the function. </param>
<param name="arguments"> The argument values that were passed to the function. </param>
<returns> A new instance of the 'arguments' object. </returns>
</member>
<member name="M:Jurassic.Compiler.ExecutionContext.CreateRuntimeScope(Jurassic.Compiler.RuntimeScope,Jurassic.Compiler.ScopeType,System.String[],System.String[],System.String[])">
<summary>
Creates a new RuntimeScope instance, which is used for passing captured variables
between methods.
</summary>
<param name="parent"> The parent scope, or <c>null</c> to use the ParentScope from this
execution context. </param>
<param name="scopeType"></param>
<param name="varNames"></param>
<param name="letNames"></param>
<param name="constNames"></param>
<returns> A new RuntimeScope instance. </returns>
</member>
<member name="T:Jurassic.Compiler.RuntimeScope">
<summary>
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"));
}
</summary>
</member>
<member name="M:Jurassic.Compiler.RuntimeScope.CreateGlobalScope(Jurassic.ScriptEngine)">
<summary>
Creates a global scope.
</summary>
<param name="engine"> The associated script engine. </param>
<returns> A new RuntimeScope instance. </returns>
</member>
<member name="M:Jurassic.Compiler.RuntimeScope.#ctor(Jurassic.ScriptEngine,Jurassic.Compiler.RuntimeScope,Jurassic.Compiler.ScopeType,System.String[],System.String[],System.String[])">
<summary>
Creates a new RuntimeScope instance.
</summary>
<param name="engine"> The script engine this scope is associated with. </param>
<param name="parent"> The parent scope, or <c>null</c> if this is the root scope. </param>
<param name="scopeType"></param>
<param name="varNames"></param>
<param name="letNames"></param>
<param name="constNames"></param>
</member>
<member name="P:Jurassic.Compiler.RuntimeScope.Engine">
<summary>
The current execution context.
</summary>
</member>
<member name="P:Jurassic.Compiler.RuntimeScope.Parent">
<summary>
A reference to the parent scope. If a variable cannot be found in this scope then the
parent scope can be checked instead.
</summary>
</member>
<member name="P:Jurassic.Compiler.RuntimeScope.ScopeType">
<summary>
Gets the type of scope, e.g. global, function, eval, with, etc.
</summary>
</member>
<member name="P:Jurassic.Compiler.RuntimeScope.ScopeObject">
<summary>
Gets the object that stores the values of the variables in the scope, if any. Can be <c>null</c>.
</summary>
</member>
<member name="P:Jurassic.Compiler.RuntimeScope.ImplicitThis">
<summary>
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.
</summary>
</member>
<member name="M:Jurassic.Compiler.RuntimeScope.With(System.Object)">
<summary>
Binds the scope to a scope object. This is used by the 'with' statement.
</summary>
<param name="scopeObject"> The object to use. </param>
</member>
<member name="M:Jurassic.Compiler.RuntimeScope.GetValue(System.String,System.Int32,System.String)">
<summary>
Returns the value of the given variable. An error is thrown if the variable doesn't
exist.
</summary>
<param name="variableName"> The name of the variable. </param>
<param name="lineNumber"> The line number in the source file the variable was accessed. </param>
<param name="sourcePath"> The path or URL of the source file. Can be <c>null</c>. </param>
<returns> The value of the given variable. </returns>
</member>
<member name="M:Jurassic.Compiler.RuntimeScope.GetValueNoThrow(System.String,System.Int32,System.String)">
<summary>
Returns the value of the given variable. Returns <see cref="F:Jurassic.Undefined.Value"/> if the
variable doesn't exist.
</summary>
<param name="variableName"></param>
<param name="lineNumber"> The line number in the source file the variable was accessed. </param>
<param name="sourcePath"> The path or URL of the source file. Can be <c>null</c>. </param>
<returns> The value of the given variable, or <see cref="F:Jurassic.Undefined.Value"/> if the
variable doesn't exist. </returns>
</member>
<member name="M:Jurassic.Compiler.RuntimeScope.GetValueCore(System.String,System.Int32,System.String)">
<summary>
Returns the value of the given variable. Returns <c>null</c> if the variable doesn't
exist.
</summary>
<param name="variableName"> The name of the variable. </param>
<param name="lineNumber"> The line number in the source file the variable was accessed. </param>
<param name="sourcePath"> The path or URL of the source file. Can be <c>null</c>. </param>
<returns> The value of the given variable, or <c>null</c> if the variable doesn't exist
in the scope. </returns>
</member>
<member name="M:Jurassic.Compiler.RuntimeScope.SetValue(System.String,System.Object,System.Int32,System.String)">
<summary>
Sets the value of the given variable.
</summary>
<param name="variableName"> The name of the variable. </param>
<param name="value"> The new value of the variable. </param>
<param name="lineNumber"> The line number in the source file the variable was set. </param>
<param name="sourcePath"> The path or URL of the source file. Can be <c>null</c>. </param>
</member>
<member name="M:Jurassic.Compiler.RuntimeScope.SetValueStrict(System.String,System.Object,System.Int32,System.String)">
<summary>
Sets the value of the given variable, using strict mode behaviour.
</summary>
<param name="variableName"> The name of the variable. </param>
<param name="value"> The new value of the variable. </param>
<param name="lineNumber"> The line number in the source file the variable was set. </param>
<param name="sourcePath"> The path or URL of the source file. Can be <c>null</c>. </param>
</member>
<member name="M:Jurassic.Compiler.RuntimeScope.SetValueCore(System.String,System.Object,System.Boolean,System.Int32,System.String)">
<summary>
Sets the value of the given variable.
</summary>
<param name="variableName"> The name of the variable. </param>
<param name="value"> The new value of the variable. </param>
<param name="strictMode"> Indicates whether to use strict mode behaviour when setting
the variable. </param>
<param name="lineNumber"> The line number in the source file the variable was set. </param>
<param name="sourcePath"> The path or URL of the source file. Can be <c>null</c>. </param>
</member>
<member name="M:Jurassic.Compiler.RuntimeScope.Delete(System.String)">
<summary>
Deletes the variable from the scope.
</summary>
<param name="variableName"> The name of the variable. </param>
</member>
<member name="T:Jurassic.Compiler.ArrayLiteralExpression">
<summary>
Represents an array literal expression.
</summary>
</member>
<member name="M:Jurassic.Compiler.ArrayLiteralExpression.#ctor(System.Collections.Generic.List{Jurassic.Compiler.Expression})">
<summary>
Creates a new instance of ArrayLiteralExpression.
</summary>
<param name="items"> A list of values in the array. </param>
</member>
<member name="P:Jurassic.Compiler.ArrayLiteralExpression.Items">
<summary>
Gets the literal value.
</summary>
</member>
<member name="P:Jurassic.Compiler.ArrayLiteralExpression.ResultType">
<summary>
Gets the type that results from evaluating this expression.
</summary>
</member>
<member name="M:Jurassic.Compiler.ArrayLiteralExpression.GenerateCode(Jurassic.Compiler.ILGenerator,Jurassic.Compiler.OptimizationInfo)">
<summary>
Generates CIL for the expression.
</summary>
<param name="generator"> The generator to output the CIL to. </param>
<param name="optimizationInfo"> Information about any optimizations that should be performed. </param>
</member>
<member name="M:Jurassic.Compiler.ArrayLiteralExpression.ToString">
<summary>
Converts the expression to a string.
</summary>
<returns> A string representing this expression. </returns>
</member>
<member name="T:Jurassic.Compiler.AssignmentExpression">
<summary>
Represents an assignment expression (++, --, =, +=, -=, *=, /=, %=, &amp;=, |=, ^=, &lt;&lt;=, &gt;&gt;=, &gt;&gt;&gt;=).
</summary>
</member>
<member name="M:Jurassic.Compiler.AssignmentExpression.#ctor(Jurassic.Compiler.Operator)">
<summary>
Creates a new instance of AssignmentExpression.
</summary>
<param name="operator"> The operator to base this expression on. </param>
</member>
<member name="M:Jurassic.Compiler.AssignmentExpression.#ctor(Jurassic.Compiler.Scope,System.String,Jurassic.Compiler.Expression)">
<summary>
Creates a simple variable assignment expression.
</summary>
<param name="scope"> The scope the variable is defined within. </param>
<param name="name"> The name of the variable to set. </param>
<param name="value"> The value to set the variable to. </param>
</member>
<member name="P:Jurassic.Compiler.AssignmentExpression.Target">
<summary>
Gets the target of the assignment.
</summary>
</member>
<member name="M:Jurassic.Compiler.AssignmentExpression.GetCompoundBaseOperator(Jurassic.Compiler.OperatorType)">
<summary>
Gets the underlying base operator for the given compound operator.
</summary>
<param name="compoundOperatorType"> The type of compound operator. </param>
<returns> The underlying base operator, or <c>null</c> if the type is not a compound
operator. </returns>
</member>
<member name="P:Jurassic.Compiler.AssignmentExpression.ResultType">
<summary>
Gets the type that results from evaluating this expression.
</summary>
</member>
<member name="M:Jurassic.Compiler.AssignmentExpression.GenerateCode(Jurassic.Compiler.ILGenerator,Jurassic.Compiler.OptimizationInfo)">
<summary>
Generates CIL for the expression.
</summary>
<param name="generator"> The generator to output the CIL to. </param>
<param name="optimizationInfo"> Information about any optimizations that should be performed. </param>
</member>
<member name="M:Jurassic.Compiler.AssignmentExpression.GenerateAssignment(Jurassic.Compiler.ILGenerator,Jurassic.Compiler.OptimizationInfo,Jurassic.Compiler.IReferenceExpression)">
<summary>
Generates CIL for an assignment expression.
</summary>
<param name="generator"> The generator to output the CIL to. </param>
<param name="optimizationInfo"> Information about any optimizations that should be performed. </param>
<param name="target"> The target to modify. </param>
</member>
<member name="M:Jurassic.Compiler.AssignmentExpression.GenerateIncrementOrDecrement(Jurassic.Compiler.ILGenerator,Jurassic.Compiler.OptimizationInfo,Jurassic.Compiler.IReferenceExpression,System.Boolean,System.Boolean)">
<summary>
Generates CIL for an increment or decrement expression.
</summary>
<param name="generator"> The generator to output the CIL to. </param>
<param name="optimizationInfo"> Information about any optimizations that should be performed. </param>
<param name="target"> The target to modify. </param>
<param name="postfix"> <c>true</c> if this is the postfix version of the operator;
<c>false</c> otherwise. </param>
<param name="increment"> <c>true</c> if this is the increment operator; <c>false</c> if
this is the decrement operator. </param>
</member>
<member name="M:Jurassic.Compiler.AssignmentExpression.GenerateCompoundAddAssignment(Jurassic.Compiler.ILGenerator,Jurassic.Compiler.OptimizationInfo,Jurassic.Compiler.IReferenceExpression)">
<summary>
Generates CIL for a compound assignment expression.
</summary>
<param name="generator"> The generator to output the CIL to. </param>
<param name="optimizationInfo"> Information about any optimizations that should be performed. </param>
<param name="target"> The target to modify. </param>
</member>
<member name="T:Jurassic.Compiler.AssignmentExpression.ReferenceGetExpression">
<summary>
This is a private class that supports generating code for compound operators (e.g. +=).
</summary>
</member>
<member name="M:Jurassic.Compiler.AssignmentExpression.ReferenceGetExpression.GenerateCode(Jurassic.Compiler.ILGenerator,Jurassic.Compiler.OptimizationInfo)">
<summary>
Generates CIL for the expression.
</summary>
<param name="generator"> The generator to output the CIL to. </param>
<param name="optimizationInfo"> Information about any optimizations that should be performed. </param>
</member>
<member name="P:Jurassic.Compiler.AssignmentExpression.ReferenceGetExpression.ResultType">
<summary>
Gets the type that results from evaluating this expression.
</summary>
</member>
<member name="M:Jurassic.Compiler.AssignmentExpression.GenerateCompoundAssignment(Jurassic.Compiler.ILGenerator,Jurassic.Compiler.OptimizationInfo,Jurassic.Compiler.IReferenceExpression)">
<summary>
Generates CIL for a compound assignment expression.
</summary>
<param name="generator"> The generator to output the CIL to. </param>
<param name="optimizationInfo"> Information about any optimizations that should be performed. </param>
<param name="target"> The target to modify. </param>
</member>
<member name="M:Jurassic.Compiler.AssignmentExpression.CheckValidity(Jurassic.Compiler.CodeContext,System.Int32,System.String)">
<summary>
Checks the expression is valid and throws a SyntaxErrorException if not.
Called after the expression tree is fully built out.
</summary>
<param name="context"> Indicates where the code is located e.g. inside a function, or a constructor, etc. </param>
<param name="lineNumber"> The line number to use when throwing an exception. </param>
<param name="sourcePath"> The source path to use when throwing an exception. </param>
</member>
<member name="T:Jurassic.Compiler.BinaryExpression">
<summary>
Represents a binary operator expression.
</summary>
</member>
<member name="M:Jurassic.Compiler.BinaryExpression.#ctor(Jurassic.Compiler.Operator)">
<summary>
Creates a new instance of BinaryExpression.
</summary>
<param name="operator"> The binary operator to base this expression on. </param>
</member>
<member name="M:Jurassic.Compiler.BinaryExpression.#ctor(Jurassic.Compiler.Operator,Jurassic.Compiler.Expression,Jurassic.Compiler.Expression)">
<summary>
Creates a new instance of BinaryJSExpression.
</summary>
<param name="operator"> The binary operator to base this expression on. </param>
<param name="left"> The operand on the left side of the operator. </param>
<param name="right"> The operand on the right side of the operator. </param>
</member>
<member name="P:Jurassic.Compiler.BinaryExpression.Left">
<summary>
Gets the expression on the left side of the operator.
</summary>
</member>
<member name="P:Jurassic.Compiler.BinaryExpression.Right">
<summary>
Gets the expression on the right side of the operator.
</summary>
</member>
<member name="M:Jurassic.Compiler.BinaryExpression.Evaluate">
<summary>
Evaluates the expression, if possible.
</summary>
<returns> The result of evaluating the expression, or <c>null</c> if the expression can
not be evaluated. </returns>
</member>
<member name="P:Jurassic.Compiler.BinaryExpression.ResultType">
<summary>
Gets the type that results from evaluating this expression.
</summary>
</member>
<member name="M:Jurassic.Compiler.BinaryExpression.GenerateCode(Jurassic.Compiler.ILGenerator,Jurassic.Compiler.OptimizationInfo)">
<summary>
Generates CIL for the expression.
</summary>
<param name="generator"> The generator to output the CIL to. </param>
<param name="optimizationInfo"> Information about any optimizations that should be performed. </param>
</member>
<member name="M:Jurassic.Compiler.BinaryExpression.GenerateAdd(Jurassic.Compiler.ILGenerator,Jurassic.Compiler.OptimizationInfo)">
<summary>
Generates CIL for the addition operation.
</summary>
<param name="generator"> The generator to output the CIL to. </param>
<param name="optimizationInfo"> Information about any optimizations that should be performed. </param>
</member>
<member name="M:Jurassic.Compiler.BinaryExpression.GenerateRelational(Jurassic.Compiler.ILGenerator,Jurassic.Compiler.OptimizationInfo)">
<summary>
Generates CIL for the relational operators.
</summary>
<param name="generator"> The generator to output the CIL to. </param>
<param name="optimizationInfo"> Information about any optimizations that should be performed. </param>
</member>
<member name="M:Jurassic.Compiler.BinaryExpression.GenerateLogical(Jurassic.Compiler.ILGenerator,Jurassic.Compiler.OptimizationInfo)">
<summary>
Generates CIL for the logical operators.
</summary>
<param name="generator"> The generator to output the CIL to. </param>
<param name="optimizationInfo"> Information about any optimizations that should be performed. </param>
</member>
<member name="M:Jurassic.Compiler.BinaryExpression.GenerateInstanceOf(Jurassic.Compiler.ILGenerator,Jurassic.Compiler.OptimizationInfo)">
<summary>
Generates CIL for the instanceof operator.
</summary>
<param name="generator"> The generator to output the CIL to. </param>
<param name="optimizationInfo"> Information about any optimizations that should be performed. </param>
</member>
<member name="M:Jurassic.Compiler.BinaryExpression.GenerateIn(Jurassic.Compiler.ILGenerator,Jurassic.Compiler.OptimizationInfo)">
<summary>
Generates CIL for the in operator.
</summary>
<param name="generator"> The generator to output the CIL to. </param>
<param name="optimizationInfo"> Information about any optimizations that should be performed. </param>
</member>
<member name="T:Jurassic.Compiler.ClassExpression">
<summary>
Represents a class expression.
</summary>
</member>
<member name="M:Jurassic.Compiler.ClassExpression.#ctor(Jurassic.Compiler.Scope,System.String,Jurassic.Compiler.Expression,Jurassic.Compiler.FunctionExpression,System.Collections.Generic.List{Jurassic.Compiler.FunctionExpression})">
<summary>
Creates a new class expression.
</summary>
<param name="scope"> The scope that contains the class. </param>
<param name="name"> The class name. </param>
<param name="extends"> The base class, or <c>null</c> if this class doesn't inherit
from another class. </param>
<param name="constructor"> The constructor, or <c>null</c> if the class doesn't have one. </param>
<param name="members"> A list of class members. </param>
</member>
<member name="P:Jurassic.Compiler.ClassExpression.Scope">
<summary>
The scope that contains the class.
</summary>
</member>
<member name="P:Jurassic.Compiler.ClassExpression.Name">
<summary>
The class name, or <c>null</c> if none were specified.
</summary>
</member>
<member name="P:Jurassic.Compiler.ClassExpression.Extends">
<summary>
The base class, or <c>null</c> if this class doesn't inherit from another class.
</summary>
</member>
<member name="P:Jurassic.Compiler.ClassExpression.Constructor">
<summary>
The constructor, or <c>null</c> if the class doesn't have one.
</summary>
</member>
<member name="P:Jurassic.Compiler.ClassExpression.Members">
<summary>
Gets the list of class members, exluding the constructor.
</summary>
</member>
<member name="P:Jurassic.Compiler.ClassExpression.ResultType">
<summary>
Gets the type that results from evaluating this expression.
</summary>
</member>
<member name="M:Jurassic.Compiler.ClassExpression.GenerateCode(Jurassic.Compiler.ILGenerator,Jurassic.Compiler.OptimizationInfo)">
<summary>
Generates CIL for the expression.
</summary>
<param name="generator"> The generator to output the CIL to. </param>
<param name="optimizationInfo"> Information about any optimizations that should be performed. </param>
</member>
<member name="M:Jurassic.Compiler.ClassExpression.ToString">
<summary>
Converts the expression to a string.
</summary>
<returns> A string representing this expression. </returns>
</member>
<member name="T:Jurassic.Compiler.Expression">
<summary>
Represents the base class of all javascript expressions.
</summary>
</member>
<member name="M:Jurassic.Compiler.Expression.Evaluate">
<summary>
Evaluates the expression, if possible.
</summary>
<returns> The result of evaluating the expression, or <c>null</c> if the expression can
not be evaluated. </returns>
</member>
<member name="P:Jurassic.Compiler.Expression.ResultType">
<summary>
Gets the type that results from evaluating this expression.
</summary>
</member>
<member name="M:Jurassic.Compiler.Expression.CheckValidity(Jurassic.Compiler.CodeContext,System.Int32,System.String)">
<summary>
Checks the expression is valid and throws a SyntaxErrorException if not.
Called after the expression tree is fully built out.
</summary>
<param name="context"> Indicates where the code is located e.g. inside a function, or a constructor, etc. </param>
<param name="lineNumber"> The line number to use when throwing an exception. </param>
<param name="sourcePath"> The source path to use when throwing an exception. </param>
</member>
<member name="T:Jurassic.Compiler.FunctionCallExpression">
<summary>
Represents a function call expression.
</summary>
</member>
<member name="M:Jurassic.Compiler.FunctionCallExpression.#ctor(Jurassic.Compiler.Operator,Jurassic.Compiler.Scope)">
<summary>
Creates a new instance of FunctionCallExpression.
</summary>
<param name="operator"> The binary operator to base this expression on. </param>
<param name="scope"> The scope that was in effect at the time of the function call
(used by eval() calls). </param>
</member>
<member name="P:Jurassic.Compiler.FunctionCallExpression.Target">
<summary>
Gets an expression that evaluates to the function instance.
</summary>
</member>
<member name="P:Jurassic.Compiler.FunctionCallExpression.ResultType">
<summary>
Gets the type that results from evaluating this expression.
</summary>
</member>
<member name="P:Jurassic.Compiler.FunctionCallExpression.Scope">
<summary>
The scope that was in effect at the time of the function call (used by eval() calls.)
</summary>
</member>
<member name="T:Jurassic.Compiler.FunctionCallExpression.TemporaryVariableExpression">
<summary>
Used to implement function calls without evaluating the left operand twice.
</summary>
</member>
<member name="M:Jurassic.Compiler.FunctionCallExpression.GenerateCode(Jurassic.Compiler.ILGenerator,Jurassic.Compiler.OptimizationInfo)">
<summary>
Generates CIL for the expression.
</summary>
<param name="generator"> The generator to output the CIL to. </param>
<param name="optimizationInfo"> Information about any optimizations that should be performed. </param>
</member>
<member name="M:Jurassic.Compiler.FunctionCallExpression.GenerateArgumentsArray(Jurassic.Compiler.ILGenerator,Jurassic.Compiler.OptimizationInfo)">
<summary>
Generates an array containing the argument values.
</summary>
<param name="generator"> The generator to output the CIL to. </param>
<param name="optimizationInfo"> Information about any optimizations that should be performed. </param>
</member>
<member name="M:Jurassic.Compiler.FunctionCallExpression.GenerateTemplateArgumentsArray(Jurassic.Compiler.ILGenerator,Jurassic.Compiler.OptimizationInfo,Jurassic.Compiler.TemplateLiteralExpression)">
<summary>
Generates an array containing the argument values for a tagged template literal.
</summary>
<param name="generator"> The generator to output the CIL to. </param>
<param name="optimizationInfo"> Information about any optimizations that should be performed. </param>
<param name="templateLiteral"> The template literal expression containing the parameter
values. </param>
</member>
<member name="M:Jurassic.Compiler.FunctionCallExpression.GenerateEval(Jurassic.Compiler.ILGenerator,Jurassic.Compiler.OptimizationInfo)">
<summary>
Generates CIL for a call to eval().
</summary>
<param name="generator"> The generator to output the CIL to. </param>
<param name="optimizationInfo"> Information about any optimizations that should be performed. </param>
</member>
<member name="M:Jurassic.Compiler.FunctionCallExpression.CheckValidity(Jurassic.Compiler.CodeContext,System.Int32,System.String)">
<summary>
Checks the expression is valid and throws a SyntaxErrorException if not.
Called after the expression tree is fully built out.
</summary>
<param name="context"> Indicates where the code is located e.g. inside a function, or a constructor, etc. </param>
<param name="lineNumber"> The line number to use when throwing an exception. </param>
<param name="sourcePath"> The source path to use when throwing an exception. </param>
</member>
<member name="T:Jurassic.Compiler.FunctionExpression">
<summary>
Represents a function expression.
</summary>
</member>
<member name="M:Jurassic.Compiler.FunctionExpression.#ctor(Jurassic.Compiler.FunctionMethodGenerator,Jurassic.Compiler.Scope)">
<summary>
Creates a new instance of FunctionExpression.
</summary>
<param name="functionContext"> The function context to base this expression on. </param>
<param name="scope"> The scope that was in effect where the function was declared. </param>
</member>
<member name="P:Jurassic.Compiler.FunctionExpression.DeclarationType">
<summary>
Indicates how the function was declared.
</summary>
</member>
<member name="P:Jurassic.Compiler.FunctionExpression.Name">
<summary>
Gets the name of the function. Can be <c>null</c>.
</summary>
</member>
<member name="P:Jurassic.Compiler.FunctionExpression.Arguments">
<summary>
Gets a list of argument names and default values.
</summary>
</member>
<member name="P:Jurassic.Compiler.FunctionExpression.BodyText">
<summary>
Gets the source code for the body of the function.
</summary>
</member>
<member name="P:Jurassic.Compiler.FunctionExpression.ResultType">
<summary>
Gets the type that results from evaluating this expression.
</summary>
</member>
<member name="P:Jurassic.Compiler.FunctionExpression.Scope">
<summary>
The scope that was in effect where the function was declared.
</summary>
</member>
<member name="P:Jurassic.Compiler.FunctionExpression.ContainerVariable">
<summary>
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.
</summary>
</member>
<member name="M:Jurassic.Compiler.FunctionExpression.GenerateCode(Jurassic.Compiler.ILGenerator,Jurassic.Compiler.OptimizationInfo)">
<summary>
Generates CIL for the expression.
</summary>
<param name="generator"> The generator to output the CIL to. </param>
<param name="optimizationInfo"> Information about any optimizations that should be performed. </param>
</member>
<member name="M:Jurassic.Compiler.FunctionExpression.ToString">
<summary>
Converts the expression to a string.
</summary>
<returns> A string representing this expression. </returns>
</member>
<member name="T:Jurassic.Compiler.GroupingExpression">
<summary>
Represents a grouping expression.
</summary>
</member>
<member name="M:Jurassic.Compiler.GroupingExpression.#ctor(Jurassic.Compiler.Operator)">
<summary>
Creates a new instance of GroupingJSExpression.
</summary>
<param name="operator"> The operator to base this expression on. </param>
</member>
<member name="P:Jurassic.Compiler.GroupingExpression.Operand">
<summary>
Gets the expression inside the grouping operator.
</summary>
</member>
<member name="M:Jurassic.Compiler.GroupingExpression.Evaluate">
<summary>
Evaluates the expression, if possible.
</summary>
<returns> The result of evaluating the expression, or <c>null</c> if the expression can
not be evaluated. </returns>
</member>
<member name="P:Jurassic.Compiler.GroupingExpression.ResultType">
<summary>
Gets the type that results from evaluating this expression.
</summary>
</member>
<member name="M:Jurassic.Compiler.GroupingExpression.GenerateCode(Jurassic.Compiler.ILGenerator,Jurassic.Compiler.OptimizationInfo)">
<summary>
Generates CIL for the expression.
</summary>
<param name="generator"> The generator to output the CIL to. </param>
<param name="optimizationInfo"> Information about any optimizations that should be performed. </param>
</member>
<member name="T:Jurassic.Compiler.IReferenceExpression">
<summary>
Represents a reference - an expression that is valid on the left-hand-side of an assignment
operation.
</summary>
</member>
<member name="P:Jurassic.Compiler.IReferenceExpression.Type">
<summary>
Gets the static type of the reference.
</summary>
</member>
<member name="M:Jurassic.Compiler.IReferenceExpression.GenerateReference(Jurassic.Compiler.ILGenerator,Jurassic.Compiler.OptimizationInfo)">
<summary>
Outputs the values needed to get or set this reference.
</summary>
<param name="generator"> The generator to output the CIL to. </param>
<param name="optimizationInfo"> Information about any optimizations that should be performed. </param>
</member>
<member name="M:Jurassic.Compiler.IReferenceExpression.DuplicateReference(Jurassic.Compiler.ILGenerator,Jurassic.Compiler.OptimizationInfo)">
<summary>
Duplicates the values needed to get or set this reference.
</summary>
<param name="generator"> The generator to output the CIL to. </param>
<param name="optimizationInfo"> Information about any optimizations that should be performed. </param>
</member>
<member name="M:Jurassic.Compiler.IReferenceExpression.GenerateGet(Jurassic.Compiler.ILGenerator,Jurassic.Compiler.OptimizationInfo,System.Boolean)">
<summary>
Pushes the value of the reference onto the stack. GenerateReference should be called first.
</summary>
<param name="generator"> The generator to output the CIL to. </param>
<param name="optimizationInfo"> Information about any optimizations that should be performed. </param>
<param name="throwIfUnresolvable"> <c>true</c> to throw a ReferenceError exception if
the name is unresolvable; <c>false</c> to output <c>null</c> instead. </param>
</member>
<member name="M:Jurassic.Compiler.IReferenceExpression.GenerateSet(Jurassic.Compiler.ILGenerator,Jurassic.Compiler.OptimizationInfo,Jurassic.Compiler.PrimitiveType)">
<summary>
Stores the value on the top of the stack in the reference. GenerateReference should be called first.
</summary>
<param name="generator"> The generator to output the CIL to. </param>
<param name="optimizationInfo"> Information about any optimizations that should be performed. </param>
<param name="valueType"> The primitive type of the value that is on the top of the stack. </param>
</member>
<member name="M:Jurassic.Compiler.IReferenceExpression.GenerateDelete(Jurassic.Compiler.ILGenerator,Jurassic.Compiler.OptimizationInfo)">
<summary>
Deletes the reference and pushes <c>true</c> if the delete succeeded, or <c>false</c>
if the delete failed.
</summary>
<param name="generator"> The generator to output the CIL to. </param>
<param name="optimizationInfo"> Information about any optimizations that should be performed. </param>
</member>
<member name="T:Jurassic.Compiler.ListExpression">
<summary>
Represents a comma-delimited list.
</summary>
</member>
<member name="M:Jurassic.Compiler.ListExpression.#ctor(Jurassic.Compiler.Operator)">
<summary>
Creates a new instance of ListExpression.
</summary>
<param name="operator"> The operator to base this expression on. </param>
</member>
<member name="P:Jurassic.Compiler.ListExpression.Items">
<summary>
Gets an array of expressions, one for each item in the list.
</summary>
</member>
<member name="M:Jurassic.Compiler.ListExpression.Evaluate">
<summary>
Evaluates the expression, if possible.
</summary>
<returns> The result of evaluating the expression, or <c>null</c> if the expression can
not be evaluated. </returns>
</member>
<member name="P:Jurassic.Compiler.ListExpression.ResultType">
<summary>
Gets the type that results from evaluating this expression.
</summary>
</member>
<member name="M:Jurassic.Compiler.ListExpression.GenerateCode(Jurassic.Compiler.ILGenerator,Jurassic.Compiler.OptimizationInfo)">
<summary>
Generates CIL for the expression.
</summary>
<param name="generator"> The generator to output the CIL to. </param>
<param name="optimizationInfo"> Information about any optimizations that should be performed. </param>
</member>
<member name="M:Jurassic.Compiler.ListExpression.ToString">
<summary>
Converts the expression to a string.
</summary>
<returns> A string representing this expression. </returns>
</member>
<member name="T:Jurassic.Compiler.LiteralExpression">
<summary>
Represents a simple literal expression (not an array literal or object literal).
</summary>
</member>
<member name="M:Jurassic.Compiler.LiteralExpression.#ctor(System.Object)">
<summary>
Creates a new instance of LiteralExpression.
</summary>
<param name="value"> The literal value. </param>
</member>
<member name="P:Jurassic.Compiler.LiteralExpression.Value">
<summary>
Gets the literal value.
</summary>
</member>
<member name="M:Jurassic.Compiler.LiteralExpression.Evaluate">
<summary>
Evaluates the expression, if possible.
</summary>
<returns> The result of evaluating the expression, or <c>null</c> if the expression can
not be evaluated. </returns>
</member>
<member name="P:Jurassic.Compiler.LiteralExpression.ResultType">
<summary>
Gets the type that results from evaluating this expression.
</summary>
</member>
<member name="M:Jurassic.Compiler.LiteralExpression.GenerateCode(Jurassic.Compiler.ILGenerator,Jurassic.Compiler.OptimizationInfo)">
<summary>
Generates CIL for the expression.
</summary>
<param name="generator"> The generator to output the CIL to. </param>
<param name="optimizationInfo"> Information about any optimizations that should be performed. </param>
</member>
<member name="M:Jurassic.Compiler.LiteralExpression.ToString">
<summary>
Converts the expression to a string.
</summary>
<returns> A string representing this expression. </returns>
</member>
<member name="T:Jurassic.Compiler.MemberAccessExpression">
<summary>
Represents a variable or member access.
</summary>
</member>
<member name="M:Jurassic.Compiler.MemberAccessExpression.#ctor(Jurassic.Compiler.Operator)">
<summary>
Creates a new instance of MemberAccessExpression.
</summary>
<param name="operator"> The operator to base this expression on. </param>
</member>
<member name="P:Jurassic.Compiler.MemberAccessExpression.Base">
<summary>
Gets an expression that evaluates to the object that is being accessed or modified.
</summary>
</member>
<member name="P:Jurassic.Compiler.MemberAccessExpression.ResultType">
<summary>
Gets the type that results from evaluating this expression.
</summary>
</member>
<member name="P:Jurassic.Compiler.MemberAccessExpression.Type">
<summary>
Gets the static type of the reference.
</summary>
</member>
<member name="M:Jurassic.Compiler.MemberAccessExpression.GenerateCode(Jurassic.Compiler.ILGenerator,Jurassic.Compiler.OptimizationInfo)">
<summary>
Generates CIL for the expression.
</summary>
<param name="generator"> The generator to output the CIL to. </param>
<param name="optimizationInfo"> Information about any optimizations that should be performed. </param>
</member>
<member name="F:Jurassic.Compiler.MemberAccessExpression.TypeOfMemberAccess.Static">
<summary>
Static property access e.g. a.b or a['b']
</summary>
</member>
<member name="F:Jurassic.Compiler.MemberAccessExpression.TypeOfMemberAccess.ArrayIndex">
<summary>
Numeric array indexer e.g. a[1]
</summary>
</member>
<member name="F:Jurassic.Compiler.MemberAccessExpression.TypeOfMemberAccess.Dynamic">
<summary>
Dynamic property access e.g. a[someVariable]
</summary>
</member>
<member name="M:Jurassic.Compiler.MemberAccessExpression.DetermineTypeOfMemberAccess(Jurassic.Compiler.OptimizationInfo,System.String@)">
<summary>
Determines the type of member access.
</summary>
<param name="optimizationInfo"> Information about any optimizations that should be performed. </param>
<param name="propertyName"> Outputs the name of the property that is being accessed, if
it is available at compile time, or <c>null</c> otherwise. </param>
<returns></returns>
</member>
<member name="M:Jurassic.Compiler.MemberAccessExpression.GenerateReference(Jurassic.Compiler.ILGenerator,Jurassic.Compiler.OptimizationInfo)">
<summary>
Outputs the values needed to get or set this reference.
</summary>
<param name="generator"> The generator to output the CIL to. </param>
<param name="optimizationInfo"> Information about any optimizations that should be performed. </param>
</member>
<member name="M:Jurassic.Compiler.MemberAccessExpression.DuplicateReference(Jurassic.Compiler.ILGenerator,Jurassic.Compiler.OptimizationInfo)">
<summary>
Outputs the values needed to get or set this reference.
</summary>
<param name="generator"> The generator to output the CIL to. </param>
<param name="optimizationInfo"> Information about any optimizations that should be performed. </param>
</member>
<member name="M:Jurassic.Compiler.MemberAccessExpression.GenerateGet(Jurassic.Compiler.ILGenerator,Jurassic.Compiler.OptimizationInfo,System.Boolean)">
<summary>
Pushes the value of the reference onto the stack.
</summary>
<param name="generator"> The generator to output the CIL to. </param>
<param name="optimizationInfo"> Information about any optimizations that should be performed. </param>
<param name="throwIfUnresolvable"> <c>true</c> to throw a ReferenceError exception if
the name is unresolvable; <c>false</c> to output <c>null</c> instead. </param>
</member>
<member name="M:Jurassic.Compiler.MemberAccessExpression.GenerateSet(Jurassic.Compiler.ILGenerator,Jurassic.Compiler.OptimizationInfo,Jurassic.Compiler.PrimitiveType)">
<summary>
Stores the value on the top of the stack in the reference.
</summary>
<param name="generator"> The generator to output the CIL to. </param>
<param name="optimizationInfo"> Information about any optimizations that should be performed. </param>
<param name="valueType"> The primitive type of the value that is on the top of the stack. </param>
</member>
<member name="M:Jurassic.Compiler.MemberAccessExpression.GenerateDelete(Jurassic.Compiler.ILGenerator,Jurassic.Compiler.OptimizationInfo)">
<summary>
Deletes the reference and pushes <c>true</c> if the delete succeeded, or <c>false</c>
if the delete failed.
</summary>
<param name="generator"> The generator to output the CIL to. </param>
<param name="optimizationInfo"> Information about any optimizations that should be performed. </param>
</member>
<member name="M:Jurassic.Compiler.MemberAccessExpression.CheckValidity(Jurassic.Compiler.CodeContext,System.Int32,System.String)">
<summary>
Checks the expression is valid and throws a SyntaxErrorException if not.
Called after the expression tree is fully built out.
</summary>
<param name="context"> Indicates where the code is located e.g. inside a function, or a constructor, etc. </param>
<param name="lineNumber"> The line number to use when throwing an exception. </param>
<param name="sourcePath"> The source path to use when throwing an exception. </param>
</member>
<member name="M:Jurassic.Compiler.MemberAccessExpression.ToString">
<summary>
Converts the expression to a string.
</summary>
<returns> A string representing this expression. </returns>
</member>
<member name="T:Jurassic.Compiler.NameExpression">
<summary>
Represents a variable or part of a member reference.
</summary>
</member>
<member name="M:Jurassic.Compiler.NameExpression.#ctor(Jurassic.Compiler.Scope,System.String)">
<summary>
Creates a new NameExpression instance.
</summary>
<param name="scope"> The current scope. </param>
<param name="name"> The name of the variable or member that is being referenced. </param>
</member>
<member name="P:Jurassic.Compiler.NameExpression.Scope">
<summary>
Gets or sets the scope the name is contained within.
</summary>
</member>
<member name="P:Jurassic.Compiler.NameExpression.Name">
<summary>
Gets the name of the variable or member.
</summary>
</member>
<member name="P:Jurassic.Compiler.NameExpression.ResultType">
<summary>
Gets the type that results from evaluating this expression.
</summary>
</member>
<member name="P:Jurassic.Compiler.NameExpression.Type">
<summary>
Gets the static type of the reference.
</summary>
</member>
<member name="M:Jurassic.Compiler.NameExpression.GenerateCode(Jurassic.Compiler.ILGenerator,Jurassic.Compiler.OptimizationInfo)">
<summary>
Generates CIL for the expression.
</summary>
<param name="generator"> The generator to output the CIL to. </param>
<param name="optimizationInfo"> Information about any optimizations that should be performed. </param>
</member>
<member name="M:Jurassic.Compiler.NameExpression.GenerateReference(Jurassic.Compiler.ILGenerator,Jurassic.Compiler.OptimizationInfo)">
<summary>
Outputs the values needed to get or set this reference.
</summary>
<param name="generator"> The generator to output the CIL to. </param>
<param name="optimizationInfo"> Information about any optimizations that should be performed. </param>
</member>
<member name="M:Jurassic.Compiler.NameExpression.DuplicateReference(Jurassic.Compiler.ILGenerator,Jurassic.Compiler.OptimizationInfo)">
<summary>
Outputs the values needed to get or set this reference.
</summary>
<param name="generator"> The generator to output the CIL to. </param>
<param name="optimizationInfo"> Information about any optimizations that should be performed. </param>
</member>
<member name="M:Jurassic.Compiler.NameExpression.GenerateGet(Jurassic.Compiler.ILGenerator,Jurassic.Compiler.OptimizationInfo,System.Boolean)">
<summary>
Pushes the value of the reference onto the stack.
</summary>
<param name="generator"> The generator to output the CIL to. </param>
<param name="optimizationInfo"> Information about any optimizations that should be performed. </param>
<param name="throwIfUnresolvable"> <c>true</c> to throw a ReferenceError exception if
the name is unresolvable; <c>false</c> to output <c>null</c> instead. </param>
</member>
<member name="M:Jurassic.Compiler.NameExpression.GenerateSet(Jurassic.Compiler.ILGenerator,Jurassic.Compiler.OptimizationInfo,Jurassic.Compiler.PrimitiveType)">
<summary>
Stores the value on the top of the stack in the reference.
</summary>
<param name="generator"> The generator to output the CIL to. </param>
<param name="optimizationInfo"> Information about any optimizations that should be performed. </param>
<param name="valueType"> The primitive type of the value that is on the top of the stack. </param>
</member>
<member name="M:Jurassic.Compiler.NameExpression.GenerateDelete(Jurassic.Compiler.ILGenerator,Jurassic.Compiler.OptimizationInfo)">
<summary>
Deletes the reference and pushes <c>true</c> if the delete succeeded, or <c>false</c>
if the delete failed.
</summary>
<param name="generator"> The generator to output the CIL to. </param>
<param name="optimizationInfo"> Information about any optimizations that should be performed. </param>
</member>
<member name="M:Jurassic.Compiler.NameExpression.GetHashCode">
<summary>
Calculates the hash code for this object.
</summary>
<returns> The hash code for this object. </returns>
</member>
<member name="M:Jurassic.Compiler.NameExpression.Equals(System.Object)">
<summary>
Determines if the given object is equal to this one.
</summary>
<param name="obj"> The object to compare. </param>
<returns> <c>true</c> if the given object is equal to this one; <c>false</c> otherwise. </returns>
</member>
<member name="M:Jurassic.Compiler.NameExpression.ToString">
<summary>
Converts the expression to a string.
</summary>
<returns> A string representing this expression. </returns>
</member>
<member name="T:Jurassic.Compiler.NewExpression">
<summary>
Represents a "new" expression.
</summary>
</member>
<member name="M:Jurassic.Compiler.NewExpression.#ctor(Jurassic.Compiler.Operator)">
<summary>
Creates a new instance of NewExpression.
</summary>
<param name="operator"> The operator to base this expression on. </param>
</member>
<member name="P:Jurassic.Compiler.NewExpression.Precedence">
<summary>
Gets the precedence of the operator.
</summary>
</member>
<member name="P:Jurassic.Compiler.NewExpression.ResultType">
<summary>
Gets the type that results from evaluating this expression.
</summary>
</member>
<member name="M:Jurassic.Compiler.NewExpression.GenerateCode(Jurassic.Compiler.ILGenerator,Jurassic.Compiler.OptimizationInfo)">
<summary>
Generates CIL for the expression.
</summary>
<param name="generator"> The generator to output the CIL to. </param>
<param name="optimizationInfo"> Information about any optimizations that should be performed. </param>
</member>
<member name="T:Jurassic.Compiler.NewTargetExpression">
<summary>
Represents a reference to the "new.target" value.
</summary>
</member>
<member name="M:Jurassic.Compiler.NewTargetExpression.#ctor">
<summary>
Creates a new NewTargetExpression instance.
</summary>
</member>
<member name="P:Jurassic.Compiler.NewTargetExpression.ResultType">
<summary>
Gets the type that results from evaluating this expression.
</summary>
</member>
<member name="P:Jurassic.Compiler.NewTargetExpression.Type">
<summary>
Gets the static type of the reference.
</summary>
</member>
<member name="M:Jurassic.Compiler.NewTargetExpression.GenerateCode(Jurassic.Compiler.ILGenerator,Jurassic.Compiler.OptimizationInfo)">
<summary>
Generates CIL for the expression.
</summary>
<param name="generator"> The generator to output the CIL to. </param>
<param name="optimizationInfo"> Information about any optimizations that should be performed. </param>
</member>
<member name="M:Jurassic.Compiler.NewTargetExpression.ToString">
<summary>
Converts the expression to a string.
</summary>
<returns> A string representing this expression. </returns>
</member>
<member name="T:Jurassic.Compiler.ObjectLiteralExpression">
<summary>
Represents an object literal expression.
</summary>
</member>
<member name="M:Jurassic.Compiler.ObjectLiteralExpression.#ctor(System.Collections.Generic.List{Jurassic.Compiler.PropertyDeclaration})">
<summary>
Creates a new object literal expression.
</summary>
<param name="properties"> A list of property declarations. </param>
</member>
<member name="P:Jurassic.Compiler.ObjectLiteralExpression.Properties">
<summary>
Gets the literal value.
</summary>
</member>
<member name="P:Jurassic.Compiler.ObjectLiteralExpression.ResultType">
<summary>
Gets the type that results from evaluating this expression.
</summary>
</member>
<member name="M:Jurassic.Compiler.ObjectLiteralExpression.GenerateCode(Jurassic.Compiler.ILGenerator,Jurassic.Compiler.OptimizationInfo)">
<summary>
Generates CIL for the expression.
</summary>
<param name="generator"> The generator to output the CIL to. </param>
<param name="optimizationInfo"> Information about any optimizations that should be performed. </param>
</member>
<member name="M:Jurassic.Compiler.ObjectLiteralExpression.ToString">
<summary>
Converts the expression to a string.
</summary>
<returns> A string representing this expression. </returns>
</member>
<member name="T:Jurassic.Compiler.OperatorExpression">
<summary>
Represents a mutable operator expression. Once all the operands are determined, the
expression is converted into a real operator expression.
</summary>
</member>
<member name="M:Jurassic.Compiler.OperatorExpression.#ctor(Jurassic.Compiler.Operator)">
<summary>
Creates a new instance of OperatorExpression.
</summary>
<param name="operator"> The operator to base this expression on. </param>
</member>
<member name="M:Jurassic.Compiler.OperatorExpression.FromOperator(Jurassic.Compiler.Operator,Jurassic.Compiler.Scope)">
<summary>
Creates a derived instance of OperatorExpression from the given operator.
</summary>
<param name="operator"> The operator to base this expression on. </param>
<param name="scope"> The scope that was in effect at the time of the function call
(used by eval() calls). </param>
<returns> A derived OperatorExpression instance. </returns>
</member>
<member name="P:Jurassic.Compiler.OperatorExpression.Operator">
<summary>
Gets or sets the operator this expression refers to.
</summary>
</member>
<member name="P:Jurassic.Compiler.OperatorExpression.OperatorType">
<summary>
Gets or sets the type of operator this expression refers to.
</summary>
</member>
<member name="M:Jurassic.Compiler.OperatorExpression.GetRawOperand(System.Int32)">
<summary>
Gets the operand with the given index. No parameter validation and grouping operator
elimination is performed.
</summary>
<param name="index"> The index of the operand to retrieve. </param>
<returns> The operand with the given index. </returns>
</member>
<member name="M:Jurassic.Compiler.OperatorExpression.GetOperand(System.Int32)">
<summary>
Gets the operand with the given index.
</summary>
<param name="index"> The index of the operand to retrieve. </param>
<returns> The operand with the given index. </returns>
</member>
<member name="P:Jurassic.Compiler.OperatorExpression.OperandCount">
<summary>
Gets the number of operands that have been added.
</summary>
</member>
<member name="M:Jurassic.Compiler.OperatorExpression.Push(Jurassic.Compiler.Expression)">
<summary>
Adds an operand.
</summary>
<param name="operand"> The expression representing the operand to add. </param>
</member>
<member name="M:Jurassic.Compiler.OperatorExpression.Pop">
<summary>
Removes and returns the most recently added operand.
</summary>
<returns> The most recently added operand. </returns>
</member>
<member name="P:Jurassic.Compiler.OperatorExpression.SecondTokenEncountered">
<summary>
Gets or sets a value that indicates whether the second token in a ternary operator
was encountered.
</summary>
</member>
<member name="P:Jurassic.Compiler.OperatorExpression.AcceptingOperands">
<summary>
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.
</summary>
</member>
<member name="P:Jurassic.Compiler.OperatorExpression.RightBranch">
<summary>
Gets the right-most operand as an unbound operator, or <c>null</c> if the operator
has no operands or the right-most operand is not an operator.
</summary>
</member>
<member name="P:Jurassic.Compiler.OperatorExpression.Precedence">
<summary>
Gets the precedence of the operator. For ternary operators this is -MinValue if
parsing is currently between the two tokens.
</summary>
</member>
<member name="P:Jurassic.Compiler.OperatorExpression.ChildNodes">
<summary>
Gets an enumerable list of child nodes in the abstract syntax tree.
</summary>
</member>
<member name="M:Jurassic.Compiler.OperatorExpression.CheckValidity(Jurassic.Compiler.CodeContext,System.Int32,System.String)">
<summary>
Checks the expression is valid and throws a SyntaxErrorException if not.
Called after the expression tree is fully built out.
</summary>
<param name="context"> Indicates where the code is located e.g. inside a function, or a constructor, etc. </param>
<param name="lineNumber"> The line number to use when throwing an exception. </param>
<param name="sourcePath"> The source path to use when throwing an exception. </param>
</member>
<member name="M:Jurassic.Compiler.OperatorExpression.ToString">
<summary>
Converts the expression to a string.
</summary>
<returns> A string representing this expression. </returns>
</member>
<member name="T:Jurassic.Compiler.SuperExpression">
<summary>
Represents a 'super' reference.
</summary>
</member>
<member name="P:Jurassic.Compiler.SuperExpression.ResultType">
<summary>
Gets the type that results from evaluating this expression.
</summary>
</member>
<member name="M:Jurassic.Compiler.SuperExpression.GenerateCode(Jurassic.Compiler.ILGenerator,Jurassic.Compiler.OptimizationInfo)">
<summary>
Generates CIL for the expression.
</summary>
<param name="generator"> The generator to output the CIL to. </param>
<param name="optimizationInfo"> Information about any optimizations that should be performed. </param>
</member>
<member name="P:Jurassic.Compiler.SuperExpression.IsInValidContext">
<summary>
Indicates whether this 'super' keyword is in a valid context.
</summary>
</member>
<member name="M:Jurassic.Compiler.SuperExpression.CheckValidity(Jurassic.Compiler.CodeContext,System.Int32,System.String)">
<summary>
Checks the expression is valid and throws a SyntaxErrorException if not.
Called after the expression tree is fully built out.
</summary>
<param name="context"> Indicates where the code is located e.g. inside a function, or a constructor, etc. </param>
<param name="lineNumber"> The line number to use when throwing an exception. </param>
<param name="sourcePath"> The source path to use when throwing an exception. </param>
</member>
<member name="M:Jurassic.Compiler.SuperExpression.ToString">
<summary>
Converts the expression to a string.
</summary>
<returns> A string representing this expression. </returns>
</member>
<member name="T:Jurassic.Compiler.TemplateLiteralExpression">
<summary>
Represents a template literal expression, with substitutions.
Code gen treats template literals with no substitutions just like string literals.
</summary>
</member>
<member name="M:Jurassic.Compiler.TemplateLiteralExpression.#ctor(System.Collections.Generic.List{System.String},System.Collections.Generic.List{Jurassic.Compiler.Expression},System.Collections.Generic.List{System.String})">
<summary>
Creates a new instance of TemplateLiteralExpression.
</summary>
<param name="strings"> The literal string parts of the template. For example `1${2}3`
has the string literal parts "1" and "3". </param>
<param name="values"> The substitution expressions in the template. For example
`1${2}3` has the substitution expression "2". </param>
<param name="rawStrings"> The literal string parts of the template, prior to performing
escape sequence processing. </param>
</member>
<member name="P:Jurassic.Compiler.TemplateLiteralExpression.Strings">
<summary>
The literal string parts of the template. For example `1${2}3` has the string literal
parts "1" and "3".
</summary>
</member>
<member name="P:Jurassic.Compiler.TemplateLiteralExpression.Values">
<summary>
The substitution expressions in the template. For example `1${2}3` has the
substitution expression "2".
</summary>
</member>
<member name="P:Jurassic.Compiler.TemplateLiteralExpression.RawStrings">
<summary>
The literal string parts of the template, prior to performing escape sequence
processing.
</summary>
</member>
<member name="P:Jurassic.Compiler.TemplateLiteralExpression.ResultType">
<summary>
Gets the type that results from evaluating this expression.
</summary>
</member>
<member name="M:Jurassic.Compiler.TemplateLiteralExpression.GenerateCode(Jurassic.Compiler.ILGenerator,Jurassic.Compiler.OptimizationInfo)">
<summary>
Generates CIL for the expression.
</summary>
<param name="generator"> The generator to output the CIL to. </param>
<param name="optimizationInfo"> Information about any optimizations that should be performed. </param>
</member>
<member name="T:Jurassic.Compiler.TernaryExpression">
<summary>
Represents a ternary operator expression.
</summary>
</member>
<member name="M:Jurassic.Compiler.TernaryExpression.#ctor(Jurassic.Compiler.Operator)">
<summary>
Creates a new instance of TernaryExpression.
</summary>
<param name="operator"> The ternary operator to base this expression on. </param>
</member>
<member name="M:Jurassic.Compiler.TernaryExpression.Evaluate">
<summary>
Evaluates the expression, if possible.
</summary>
<returns> The result of evaluating the expression, or <c>null</c> if the expression can
not be evaluated. </returns>
</member>
<member name="P:Jurassic.Compiler.TernaryExpression.ResultType">
<summary>
Gets the type that results from evaluating this expression.
</summary>
</member>
<member name="M:Jurassic.Compiler.TernaryExpression.GenerateCode(Jurassic.Compiler.ILGenerator,Jurassic.Compiler.OptimizationInfo)">
<summary>
Generates CIL for the expression.
</summary>
<param name="generator"> The generator to output the CIL to. </param>
<param name="optimizationInfo"> Information about any optimizations that should be performed. </param>
</member>
<member name="T:Jurassic.Compiler.ThisExpression">
<summary>
Represents a reference to the "this" value.
</summary>
</member>
<member name="M:Jurassic.Compiler.ThisExpression.#ctor">
<summary>
Creates a new ThisExpression instance.
</summary>
</member>
<member name="P:Jurassic.Compiler.ThisExpression.ResultType">
<summary>
Gets the type that results from evaluating this expression.
</summary>
</member>
<member name="P:Jurassic.Compiler.ThisExpression.Type">
<summary>
Gets the static type of the reference.
</summary>
</member>
<member name="M:Jurassic.Compiler.ThisExpression.GenerateCode(Jurassic.Compiler.ILGenerator,Jurassic.Compiler.OptimizationInfo)">
<summary>
Generates CIL for the expression.
</summary>
<param name="generator"> The generator to output the CIL to. </param>
<param name="optimizationInfo"> Information about any optimizations that should be performed. </param>
</member>
<member name="M:Jurassic.Compiler.ThisExpression.ToString">
<summary>
Converts the expression to a string.
</summary>
<returns> A string representing this expression. </returns>
</member>
<member name="T:Jurassic.Compiler.UnaryExpression">
<summary>
Represents a unary operator expression.
</summary>
</member>
<member name="M:Jurassic.Compiler.UnaryExpression.#ctor(Jurassic.Compiler.Operator)">
<summary>
Creates a new instance of UnaryExpression.
</summary>
<param name="operator"> The unary operator to base this expression on. </param>
</member>
<member name="P:Jurassic.Compiler.UnaryExpression.Operand">
<summary>
Gets the expression on the left or right side of the unary operator.
</summary>
</member>
<member name="M:Jurassic.Compiler.UnaryExpression.Evaluate">
<summary>
Evaluates the expression, if possible.
</summary>
<returns> The result of evaluating the expression, or <c>null</c> if the expression can
not be evaluated. </returns>
</member>
<member name="P:Jurassic.Compiler.UnaryExpression.ResultType">
<summary>
Gets the type that results from evaluating this expression.
</summary>
</member>
<member name="M:Jurassic.Compiler.UnaryExpression.GenerateCode(Jurassic.Compiler.ILGenerator,Jurassic.Compiler.OptimizationInfo)">
<summary>
Generates CIL for the expression.
</summary>
<param name="generator"> The generator to output the CIL to. </param>
<param name="optimizationInfo"> Information about any optimizations that should be performed. </param>
</member>
<member name="M:Jurassic.Compiler.UnaryExpression.GenerateTypeof(Jurassic.Compiler.ILGenerator,Jurassic.Compiler.OptimizationInfo)">
<summary>
Generates CIL for the typeof expression.
</summary>
<param name="generator"> The generator to output the CIL to. </param>
<param name="optimizationInfo"> Information about any optimizations that should be performed. </param>
</member>
<member name="M:Jurassic.Compiler.UnaryExpression.GenerateDelete(Jurassic.Compiler.ILGenerator,Jurassic.Compiler.OptimizationInfo)">
<summary>
Generates CIL for the delete expression.
</summary>
<param name="generator"> The generator to output the CIL to. </param>
<param name="optimizationInfo"> Information about any optimizations that should be performed. </param>
</member>
<member name="T:Jurassic.Compiler.IdentifierToken">
<summary>
Represents punctuation or an operator in the source code.
</summary>
</member>
<member name="M:Jurassic.Compiler.IdentifierToken.#ctor(System.String)">
<summary>
Creates a new IdentifierToken instance.
</summary>
<param name="name"> The identifier name. </param>
</member>
<member name="P:Jurassic.Compiler.IdentifierToken.Name">
<summary>
Gets the name of the identifier.
</summary>
</member>
<member name="P:Jurassic.Compiler.IdentifierToken.Text">
<summary>
Gets a string that represents the token in a parseable form.
</summary>
</member>
<member name="M:Jurassic.Compiler.IdentifierToken.Create(System.String)">
<summary>
Creates a new identifier token.
</summary>
<param name="name"> The name of the identifer. </param>
<returns> A new IdentifierToken instance. </returns>
</member>
<member name="T:Jurassic.Compiler.KeywordToken">
<summary>
Represents a reserved word in the source code.
</summary>
</member>
<member name="M:Jurassic.Compiler.KeywordToken.#ctor(System.String)">
<summary>
Creates a new KeywordToken instance.
</summary>
<param name="name"> The keyword name. </param>
</member>
<member name="P:Jurassic.Compiler.KeywordToken.Name">
<summary>
Gets the name of the identifier.
</summary>
</member>
<member name="M:Jurassic.Compiler.KeywordToken.FromString(System.String,Jurassic.CompatibilityMode,System.Boolean)">
<summary>
Creates a token from the given string.
</summary>
<param name="text"> The text. </param>
<param name="compatibilityMode"> The script engine compatibility mode. </param>
<param name="strictMode"> <c>true</c> if the lexer is operating in strict mode;
<c>false</c> otherwise. </param>
<returns> The token corresponding to the given string, or <c>null</c> if the string
does not represent a valid token. </returns>
</member>
<member name="M:Jurassic.Compiler.KeywordToken.InitializeLookupTable(Jurassic.Compiler.Token[])">
<summary>
Initializes a lookup table by combining the base list with a second list of keywords.
</summary>
<param name="additionalKeywords"> A list of additional keywords. </param>
<returns> A lookup table. </returns>
</member>
<member name="P:Jurassic.Compiler.KeywordToken.Text">
<summary>
Gets a string that represents the token in a parseable form.
</summary>
</member>
<member name="T:Jurassic.Compiler.ParserExpressionState">
<summary>
Represents the current expression state of the parser.
</summary>
</member>
<member name="F:Jurassic.Compiler.ParserExpressionState.Unknown">
<summary>
Indicates the context is not known. The lexer will guess.
</summary>
</member>
<member name="F:Jurassic.Compiler.ParserExpressionState.Literal">
<summary>
Indicates the next token can be a literal.
</summary>
</member>
<member name="F:Jurassic.Compiler.ParserExpressionState.Operator">
<summary>
Indicates the next token can be an operator.
</summary>
</member>
<member name="F:Jurassic.Compiler.ParserExpressionState.TemplateContinuation">
<summary>
Indicates the next token is the continuation of a template literal.
</summary>
</member>
<member name="T:Jurassic.Compiler.Lexer">
<summary>
Converts a JavaScript source file into a series of tokens.
</summary>
</member>
<member name="M:Jurassic.Compiler.Lexer.#ctor(Jurassic.ScriptSource)">
<summary>
Creates a Lexer instance with the given source of text.
</summary>
<param name="source"> The source of javascript code. </param>
</member>
<member name="M:Jurassic.Compiler.Lexer.Dispose">
<summary>
Cleans up any resources used by the lexer.
</summary>
</member>
<member name="P:Jurassic.Compiler.Lexer.Source">
<summary>
Gets the reader that was supplied to the constructor.
</summary>
</member>
<member name="P:Jurassic.Compiler.Lexer.LineNumber">
<summary>
Gets the line number of the next token.
</summary>
</member>
<member name="P:Jurassic.Compiler.Lexer.ColumnNumber">
<summary>
Gets the column number of the start of the next token.
</summary>
</member>
<member name="P:Jurassic.Compiler.Lexer.ParserExpressionState">
<summary>
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.
</summary>
</member>
<member name="P:Jurassic.Compiler.Lexer.StrictMode">
<summary>
Gets or sets a value that indicates whether the lexer should operate in strict mode.
</summary>
</member>
<member name="P:Jurassic.Compiler.Lexer.CompatibilityMode">
<summary>
Gets or sets a value that indicates what compatibility mode to use.
</summary>
</member>
<member name="P:Jurassic.Compiler.Lexer.InputCaptureStringBuilder">
<summary>
Gets or sets a string builder that will be appended with characters as they are read
from the input stream.
</summary>
</member>
<member name="M:Jurassic.Compiler.Lexer.ReadNextChar">
<summary>
Reads the next character from the input stream.
</summary>
<returns> The character that was read, or <c>-1</c> if the end of the input stream has
been reached. </returns>
</member>
<member name="M:Jurassic.Compiler.Lexer.NextToken">
<summary>
Reads the next token from the reader.
</summary>
<returns> A token, or <c>null</c> if there are no more tokens. </returns>
</member>
<member name="M:Jurassic.Compiler.Lexer.ReadIdentifier(System.Int32)">
<summary>
Reads an identifier token.
</summary>
<param name="firstChar"> The first character of the identifier. </param>
<returns> An identifier token, literal token or a keyword token. </returns>
</member>
<member name="M:Jurassic.Compiler.Lexer.ReadPunctuator(System.Int32)">
<summary>
Reads a punctuation token.
</summary>
<param name="firstChar"> The first character of the punctuation token. </param>
<returns> A punctuation token. </returns>
</member>
<member name="T:Jurassic.Compiler.Lexer.LexerReader">
<summary>
Creates a TextReader that calls ReadNextChar().
</summary>
</member>
<member name="M:Jurassic.Compiler.Lexer.ReadNumericLiteral(System.Int32)">
<summary>
Reads a numeric literal token.
</summary>
<param name="firstChar"> The first character of the token. </param>
<returns> A numeric literal token. </returns>
</member>
<member name="M:Jurassic.Compiler.Lexer.ReadInteger(System.Double,System.Int32@)">
<summary>
Reads an integer value.
</summary>
<param name="initialValue"> The initial value, derived from the first character. </param>
<param name="digitsRead"> The number of digits that were read from the stream. </param>
<returns> The numeric value, or <c>double.NaN</c> if no number was present. </returns>
</member>
<member name="M:Jurassic.Compiler.Lexer.ReadStringLiteral(System.Int32)">
<summary>
Reads a string literal.
</summary>
<param name="firstChar"> The first character of the string literal. </param>
<returns> A string literal. </returns>
</member>
<member name="M:Jurassic.Compiler.Lexer.ReadHexEscapeSequence(System.Int32)">
<summary>
Reads a hexidecimal number with the given number of digits and turns it into a character.
</summary>
<returns> The character corresponding to the escape sequence, or the content that was read
from the input if a valid hex number was not read. </returns>
</member>
<member name="M:Jurassic.Compiler.Lexer.ReadOctalEscapeSequence(System.Int32,System.Int32)">
<summary>
Reads an octal number turns it into a single-byte character.
</summary>
<param name="stringDelimiter"> The first character delimiting the string literal. </param>
<param name="firstDigit"> The value of the first digit. </param>
<returns> The character corresponding to the escape sequence. </returns>
</member>
<member name="M:Jurassic.Compiler.Lexer.ReadExtendedUnicodeSequence">
<summary>
Reads an extended unicode escape sequence in the form "\u{20BB7}".
</summary>
<returns> The character or characters corresponding to the escape sequence. </returns>
</member>
<member name="M:Jurassic.Compiler.Lexer.ReadSingleLineComment">
<summary>
Reads past a single line comment.
</summary>
<returns> Always returns <c>null</c>. </returns>
</member>
<member name="M:Jurassic.Compiler.Lexer.ReadMultiLineComment">
<summary>
Reads past a multi-line comment.
</summary>
<returns> A line terminator token if the multi-line comment contains a newline character;
otherwise returns <c>null</c>. </returns>
</member>
<member name="M:Jurassic.Compiler.Lexer.ReadWhiteSpace">
<summary>
Reads past whitespace.
</summary>
<returns> Always returns <c>null</c>. </returns>
</member>
<member name="M:Jurassic.Compiler.Lexer.ReadLineTerminator(System.Int32)">
<summary>
Reads a line terminator (a newline).
</summary>
<param name="firstChar"> The first character of the line terminator. </param>
<returns> A newline token. </returns>
</member>
<member name="M:Jurassic.Compiler.Lexer.ReadDivideCommentOrRegularExpression">
<summary>
Reads a divide operator ('/' or '/='), a comment ('//' or '/*'), or a regular expression
literal.
</summary>
<returns> A punctuator token or a regular expression token. </returns>
</member>
<member name="M:Jurassic.Compiler.Lexer.ReadRegularExpression">
<summary>
Reads a regular expression literal.
</summary>
<returns> A regular expression token. </returns>
</member>
<member name="M:Jurassic.Compiler.Lexer.IsWhiteSpace(System.Int32)">
<summary>
Determines if the given character is whitespace.
</summary>
<param name="c"> The character to test. </param>
<returns> <c>true</c> if the character is whitespace; <c>false</c> otherwise. </returns>
</member>
<member name="M:Jurassic.Compiler.Lexer.IsLineTerminator(System.Int32)">
<summary>
Determines if the given character is a line terminator.
</summary>
<param name="c"> The character to test. </param>
<returns> <c>true</c> if the character is a line terminator; <c>false</c> otherwise. </returns>
</member>
<member name="M:Jurassic.Compiler.Lexer.IsIdentifierStartChar(System.Int32)">
<summary>
Determines if the given character is valid as the first character of an identifier.
</summary>
<param name="c"> The character to test. </param>
<returns> <c>true</c> if the character is is valid as the first character of an identifier;
<c>false</c> otherwise. </returns>
</member>
<member name="M:Jurassic.Compiler.Lexer.IsIdentifierChar(System.Int32)">
<summary>
Determines if the given character is valid as a character of an identifier.
</summary>
<param name="c"> The character to test. </param>
<returns> <c>true</c> if the character is is valid as a character of an identifier;
<c>false</c> otherwise. </returns>
</member>
<member name="M:Jurassic.Compiler.Lexer.IsPunctuatorStartChar(System.Int32)">
<summary>
Determines if the given character is valid as the first character of a punctuator.
</summary>
<param name="c"> The character to test. </param>
<returns> <c>true</c> if the character is is valid as the first character of an punctuator;
<c>false</c> otherwise. </returns>
</member>
<member name="M:Jurassic.Compiler.Lexer.IsNumericLiteralStartChar(System.Int32)">
<summary>
Determines if the given character is valid as the first character of a numeric literal.
</summary>
<param name="c"> The character to test. </param>
<returns> <c>true</c> if the character is is valid as the first character of a numeric
literal; <c>false</c> otherwise. </returns>
</member>
<member name="M:Jurassic.Compiler.Lexer.IsStringLiteralStartChar(System.Int32)">
<summary>
Determines if the given character is valid as the first character of a string literal.
</summary>
<param name="c"> The character to test. </param>
<returns> <c>true</c> if the character is is valid as the first character of a string
literal; <c>false</c> otherwise. </returns>
</member>
<member name="M:Jurassic.Compiler.Lexer.IsHexDigit(System.Int32)">
<summary>
Determines if the given character is valid in a hexidecimal number.
</summary>
<param name="c"> The character to test. </param>
<returns> <c>true</c> if the given character is valid in a hexidecimal number; <c>false</c>
otherwise. </returns>
</member>
<member name="T:Jurassic.Compiler.LiteralToken">
<summary>
Represents a string, number, boolean or null literal in the source code.
</summary>
</member>
<member name="M:Jurassic.Compiler.LiteralToken.#ctor(System.Object)">
<summary>
Creates a new LiteralToken instance with the given value.
</summary>
<param name="value"></param>
</member>
<member name="P:Jurassic.Compiler.LiteralToken.Value">
<summary>
The value of the literal.
</summary>
</member>
<member name="P:Jurassic.Compiler.LiteralToken.IsKeyword">
<summary>
Gets a value that indicates whether the literal is a keyword. Literal keywords are
<c>false</c>, <c>true</c> and <c>null</c>.
</summary>
</member>
<member name="P:Jurassic.Compiler.LiteralToken.Text">
<summary>
Gets a string that represents the token in a parseable form.
</summary>
</member>
<member name="M:Jurassic.Compiler.LiteralToken.ToPropertyName">
<summary>
Converts this token into a property name.
</summary>
<returns></returns>
</member>
<member name="T:Jurassic.Compiler.PunctuatorToken">
<summary>
Represents punctuation or an operator in the source code.
</summary>
</member>
<member name="M:Jurassic.Compiler.PunctuatorToken.#ctor(System.String)">
<summary>
Creates a new PunctuatorToken instance.
</summary>
<param name="text"> The punctuator text. </param>
</member>
<member name="M:Jurassic.Compiler.PunctuatorToken.FromString(System.String)">
<summary>
Creates a punctuator token from the given string.
</summary>
<param name="text"> The punctuator text. </param>
<returns> The punctuator corresponding to the given string, or <c>null</c> if the string
does not represent a valid punctuator. </returns>
</member>
<member name="P:Jurassic.Compiler.PunctuatorToken.Text">
<summary>
Gets a string that represents the token in a parseable form.
</summary>
</member>
<member name="T:Jurassic.Compiler.RegularExpressionLiteral">
<summary>
Represents a lightweight representation of a regular expression literal.
</summary>
</member>
<member name="M:Jurassic.Compiler.RegularExpressionLiteral.#ctor(System.String,System.String)">
<summary>
Creates a new regular expression literal.
</summary>
<param name="pattern"> The unescaped regular expression pattern. </param>
<param name="flags"> The regular expression flags. </param>
</member>
<member name="P:Jurassic.Compiler.RegularExpressionLiteral.Pattern">
<summary>
Gets the regular expression pattern.
</summary>
</member>
<member name="P:Jurassic.Compiler.RegularExpressionLiteral.Flags">
<summary>
Gets a string that contains the flags.
</summary>
</member>
<member name="M:Jurassic.Compiler.RegularExpressionLiteral.Equals(System.Object)">
<summary>
Determines whether the specified Object is equal to the current Object.
</summary>
<param name="obj"> The Object to compare with the current Object. </param>
<returns> <c>true</c> if the specified Object is equal to the current Object;
otherwise, <c>false</c>. </returns>
</member>
<member name="M:Jurassic.Compiler.RegularExpressionLiteral.GetHashCode">
<summary>
Serves as a hash function for a particular type.
</summary>
<returns> A hash code for the current Object. </returns>
</member>
<member name="M:Jurassic.Compiler.RegularExpressionLiteral.ToString">
<summary>
Returns a String that represents the current Object.
</summary>
<returns> A String that represents the current Object. </returns>
</member>
<member name="T:Jurassic.Compiler.StringLiteralToken">
<summary>
Represents a string literal.
</summary>
</member>
<member name="P:Jurassic.Compiler.StringLiteralToken.EscapeSequenceCount">
<summary>
Gets the number of character escape sequences encounted while parsing the string
literal.
</summary>
</member>
<member name="P:Jurassic.Compiler.StringLiteralToken.LineContinuationCount">
<summary>
Gets the number of line continuations encounted while parsing the string literal.
</summary>
</member>
<member name="P:Jurassic.Compiler.StringLiteralToken.Value">
<summary>
Gets the contents of the string literal.
</summary>
</member>
<member name="T:Jurassic.Compiler.TemplateLiteralToken">
<summary>
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 = "!")
</summary>
</member>
<member name="M:Jurassic.Compiler.TemplateLiteralToken.#ctor(System.String,System.String,System.Boolean)">
<summary>
Creates a new TemplateLiteralToken instance.
</summary>
<param name="value"> The literal text. </param>
<param name="rawText"> The contents of the template literal, without any escaping. </param>
<param name="substitutionFollows"> Indicates whether a substitution follows this
string. </param>
</member>
<member name="P:Jurassic.Compiler.TemplateLiteralToken.SubstitutionFollows">
<summary>
Indicates whether a substitution follows this string. For example, this is true for
the "hello" in `hello${1}world`, but not the "world".
</summary>
</member>
<member name="P:Jurassic.Compiler.TemplateLiteralToken.RawText">
<summary>
The raw text, prior to performing any escape sequence processing.
</summary>
</member>
<member name="P:Jurassic.Compiler.TemplateLiteralToken.Value">
<summary>
Gets the contents of the template string literal.
</summary>
</member>
<member name="T:Jurassic.Compiler.Token">
<summary>
Represents the base class of all tokens.
</summary>
</member>
<member name="P:Jurassic.Compiler.Token.Text">
<summary>
Gets a string that represents the token in a parseable form.
</summary>
</member>
<member name="M:Jurassic.Compiler.Token.ToText(Jurassic.Compiler.Token)">
<summary>
Converts the token to the string suitable for embedding in an error message.
</summary>
<param name="token"> The token to convert. Can be <c>null</c>. </param>
<returns> A string suitable for embedding in an error message. </returns>
</member>
<member name="M:Jurassic.Compiler.Token.ToString">
<summary>
Converts the token to a string representation.
</summary>
<returns> A textual representation of the object. </returns>
</member>
<member name="T:Jurassic.Compiler.WhiteSpaceToken">
<summary>
Represents whitespace or a line terminator.
</summary>
</member>
<member name="M:Jurassic.Compiler.WhiteSpaceToken.#ctor(System.Int32)">
<summary>
Creates a new WhiteSpaceToken instance.
</summary>
<param name="lineTerminatorCount"> The number of line terminators encountered while
reading the whitespace. </param>
</member>
<member name="P:Jurassic.Compiler.WhiteSpaceToken.LineTerminatorCount">
<summary>
Gets a count of the number of line terminators.
</summary>
</member>
<member name="P:Jurassic.Compiler.WhiteSpaceToken.Text">
<summary>
Gets a string that represents the token in a parseable form.
</summary>
</member>
<member name="T:Jurassic.Compiler.CodeContext">
<summary>
Represents a context that code can be run in.
</summary>
</member>
<member name="F:Jurassic.Compiler.CodeContext.Global">
<summary>
The default context.
</summary>
</member>
<member name="F:Jurassic.Compiler.CodeContext.Function">
<summary>
The context inside function bodies.
</summary>
</member>
<member name="F:Jurassic.Compiler.CodeContext.Eval">
<summary>
The context inside the eval() function.
</summary>
</member>
<member name="T:Jurassic.Compiler.CompilerOptions">
<summary>
Represents a set of options that influence the compiler.
</summary>
</member>
<member name="M:Jurassic.Compiler.CompilerOptions.#ctor">
<summary>
Creates a new CompilerOptions instance.
</summary>
</member>
<member name="P:Jurassic.Compiler.CompilerOptions.ForceStrictMode">
<summary>
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 <c>false</c>.
</summary>
</member>
<member name="P:Jurassic.Compiler.CompilerOptions.CompatibilityMode">
<summary>
Gets or sets a value that indicates what compatibility mode to use.
</summary>
</member>
<member name="P:Jurassic.Compiler.CompilerOptions.EnableILAnalysis">
<summary>
Gets or sets a value that indicates whether to disassemble any generated IL and store it
in the associated function.
</summary>
</member>
<member name="M:Jurassic.Compiler.CompilerOptions.Clone">
<summary>
Performs a shallow clone of this instance.
</summary>
<returns> A shallow clone of this instance. </returns>
</member>
<member name="T:Jurassic.Compiler.FunctionDeclarationType">
<summary>
Represents how the function was defined.
</summary>
</member>
<member name="F:Jurassic.Compiler.FunctionDeclarationType.Declaration">
<summary>
The function was declared as a statement.
</summary>
</member>
<member name="F:Jurassic.Compiler.FunctionDeclarationType.Expression">
<summary>
The function was declared as an expression.
</summary>
</member>
<member name="T:Jurassic.Compiler.FunctionArgument">
<summary>
Represents the declaration of a function parameter.
</summary>
</member>
<member name="P:Jurassic.Compiler.FunctionArgument.Name">
<summary>
The name of the parameter.
</summary>
</member>
<member name="P:Jurassic.Compiler.FunctionArgument.DefaultValue">
<summary>
The value of the parameter, if no value was passed to the function (can be null).
</summary>
</member>
<member name="M:Jurassic.Compiler.FunctionArgument.ToString">
<summary>
Returns the textual representation of this object.
</summary>
<returns></returns>
</member>
<member name="T:Jurassic.Compiler.FunctionMethodGenerator">
<summary>
Represents the information needed to compile a function.
</summary>
</member>
<member name="M:Jurassic.Compiler.FunctionMethodGenerator.#ctor(Jurassic.Compiler.PropertyName,Jurassic.Compiler.FunctionDeclarationType,System.Collections.Generic.IList{Jurassic.Compiler.FunctionArgument},System.String,Jurassic.Compiler.Statement,Jurassic.Compiler.Scope,System.String,Jurassic.Compiler.SourceCodeSpan,Jurassic.Compiler.CompilerOptions)">
<summary>
Creates a new FunctionMethodGenerator instance.
</summary>
<param name="name"> The name of the function (can be computed at runtime). </param>
<param name="declarationType"> Indicates how the function was declared. </param>
<param name="arguments"> The names and default values of the arguments. </param>
<param name="bodyText"> The source code of the function. </param>
<param name="body"> The root of the abstract syntax tree for the body of the function. </param>
<param name="baseScope"> The scope that contains the function name and arguments. </param>
<param name="scriptPath"> The URL or file system path that the script was sourced from. </param>
<param name="span"> The extent of the function in the source code. </param>
<param name="options"> Options that influence the compiler. </param>
</member>
<member name="T:Jurassic.Compiler.FunctionMethodGenerator.DummyScriptSource">
<summary>
Dummy implementation of ScriptSource.
</summary>
</member>
<member name="M:Jurassic.Compiler.FunctionMethodGenerator.#ctor(System.String,System.String,System.String,Jurassic.Compiler.CompilerOptions)">
<summary>
Creates a new FunctionContext instance.
</summary>
<param name="name"> The name of the function. </param>
<param name="argumentsText"> A comma-separated list of arguments. </param>
<param name="body"> The source code for the body of the function. </param>
<param name="options"> Options that influence the compiler. </param>
</member>
<member name="P:Jurassic.Compiler.FunctionMethodGenerator.Name">
<summary>
An expression that evaluates to the name of the function. For getters and setters,
this does not include the "get" or "set".
</summary>
</member>
<member name="P:Jurassic.Compiler.FunctionMethodGenerator.DeclarationType">
<summary>
Indicates how the function was declared.
</summary>
</member>
<member name="P:Jurassic.Compiler.FunctionMethodGenerator.ArgumentsText">
<summary>
Gets a comma-separated list of arguments.
</summary>
</member>
<member name="P:Jurassic.Compiler.FunctionMethodGenerator.Arguments">
<summary>
Gets a list of argument names and default values.
</summary>
</member>
<member name="P:Jurassic.Compiler.FunctionMethodGenerator.BodyRoot">
<summary>
Gets the root of the abstract syntax tree for the body of the function.
</summary>
</member>
<member name="P:Jurassic.Compiler.FunctionMethodGenerator.BodyText">
<summary>
Gets the source code for the body of the function.
</summary>
</member>
<member name="M:Jurassic.Compiler.FunctionMethodGenerator.GetMethodName">
<summary>
Gets a name for the generated method.
</summary>
<returns> A name for the generated method. </returns>
</member>
<member name="M:Jurassic.Compiler.FunctionMethodGenerator.GetStackName">
<summary>
Gets a name for the function, as it appears in the stack trace.
</summary>
<returns> A name for the function, as it appears in the stack trace, or <c>null</c> if
this generator is generating code in the global scope. </returns>
</member>
<member name="M:Jurassic.Compiler.FunctionMethodGenerator.GetParameterTypes">
<summary>
Gets an array of types - one for each parameter accepted by the method generated by
this context.
</summary>
<returns> An array of parameter types. </returns>
</member>
<member name="M:Jurassic.Compiler.FunctionMethodGenerator.GetParameterNames">
<summary>
Gets an array of names - one for each parameter accepted by the method being generated.
</summary>
<returns> An array of parameter names. </returns>
</member>
<member name="M:Jurassic.Compiler.FunctionMethodGenerator.Validate(System.Int32,System.String)">
<summary>
Checks whether the function is valid (in strict mode the function cannot be named
'arguments' or 'eval' and the argument names cannot be duplicated).
</summary>
<param name="lineNumber"> The line number in the source file. </param>
<param name="sourcePath"> The path or URL of the source file. Can be <c>null</c>. </param>
</member>
<member name="M:Jurassic.Compiler.FunctionMethodGenerator.Parse">
<summary>
Parses the source text into an abstract syntax tree.
</summary>
<returns> The root node of the abstract syntax tree. </returns>
</member>
<member name="T:Jurassic.Compiler.FunctionMethodGenerator.FunctionDelegate">
<summary>
Represents a delegate that is used for user-defined functions. For internal use only.
</summary>
<param name="context"> The script engine, this value and other state needed to run the
function. </param>
<param name="arguments"> The arguments that were passed to the function. </param>
<returns> The result of calling the method. </returns>
</member>
<member name="M:Jurassic.Compiler.FunctionMethodGenerator.GetDelegate">
<summary>
Retrieves a delegate for the generated method.
</summary>
<returns> The delegate type that matches the method parameters. </returns>
</member>
<member name="M:Jurassic.Compiler.FunctionMethodGenerator.GenerateCode(Jurassic.Compiler.ILGenerator,Jurassic.Compiler.OptimizationInfo)">
<summary>
Generates IL for the script.
</summary>
<param name="generator"> The generator to output the CIL to. </param>
<param name="optimizationInfo"> Information about any optimizations that should be performed. </param>
</member>
<member name="M:Jurassic.Compiler.FunctionMethodGenerator.ToString">
<summary>
Converts this object to a string.
</summary>
<returns> A string representing this object. </returns>
</member>
<member name="T:Jurassic.Compiler.GeneratedMethod">
<summary>
Represents a generated method and it's dependencies.
</summary>
</member>
<member name="M:Jurassic.Compiler.GeneratedMethod.#ctor(System.Delegate,System.Collections.Generic.IList{Jurassic.Compiler.GeneratedMethod})">
<summary>
Creates a new GeneratedMethod instance.
</summary>
<param name="delegateToMethod"> A delegate that refers to the generated method. </param>
<param name="dependencies"> A list of dependent generated methods. Can be <c>null</c>. </param>
</member>
<member name="P:Jurassic.Compiler.GeneratedMethod.GeneratedDelegate">
<summary>
Gets a delegate which refers to the generated method.
</summary>
</member>
<member name="P:Jurassic.Compiler.GeneratedMethod.Dependencies">
<summary>
Gets a list of dependent generated methods.
</summary>
</member>
<member name="P:Jurassic.Compiler.GeneratedMethod.DisassembledIL">
<summary>
Gets or sets the disassembled IL code for the method.
</summary>
</member>
<member name="M:Jurassic.Compiler.GeneratedMethod.Load(System.Int64)">
<summary>
Retrieves the code for a generated method, given the ID. For internal use only.
</summary>
<param name="id"> The ID of the generated method. </param>
<returns> A <c>GeneratedMethodInfo</c> instance. </returns>
</member>
<member name="M:Jurassic.Compiler.GeneratedMethod.Save(Jurassic.Compiler.GeneratedMethod)">
<summary>
Saves the given generated method and returns an ID. For internal use only.
</summary>
<param name="generatedMethod"> The generated method to save. </param>
<returns> The ID that was associated with the generated method. </returns>
</member>
<member name="T:Jurassic.Compiler.GlobalOrEvalMethodGenerator">
<summary>
Represents the information needed to compile global or eval script into a method.
</summary>
</member>
<member name="M:Jurassic.Compiler.GlobalOrEvalMethodGenerator.#ctor(Jurassic.ScriptSource,Jurassic.Compiler.CompilerOptions,Jurassic.Compiler.GlobalOrEvalMethodGenerator.GeneratorContext)">
<summary>
Creates a new EvalMethodGenerator instance.
</summary>
<param name="source"> The script code to execute. </param>
<param name="options"> Options that influence the compiler. </param>
<param name="context"></param>
</member>
<member name="P:Jurassic.Compiler.GlobalOrEvalMethodGenerator.Context">
<summary>
</summary>
</member>
<member name="M:Jurassic.Compiler.GlobalOrEvalMethodGenerator.GetMethodName">
<summary>
Gets a name for the generated method.
</summary>
<returns> A name for the generated method. </returns>
</member>
<member name="T:Jurassic.Compiler.GlobalOrEvalMethodGenerator.GlobalCodeDelegate">
<summary>
Represents a delegate that is used for global code. For internal use only.
</summary>
<param name="context"> The script engine, scope and 'this' value. </param>
<returns> The result of calling the method. </returns>
</member>
<member name="M:Jurassic.Compiler.GlobalOrEvalMethodGenerator.GetDelegate">
<summary>
Retrieves a delegate for the generated method.
</summary>
<returns> The delegate type that matches the method parameters. </returns>
</member>
<member name="M:Jurassic.Compiler.GlobalOrEvalMethodGenerator.Parse">
<summary>
Parses the source text into an abstract syntax tree.
</summary>
</member>
<member name="M:Jurassic.Compiler.GlobalOrEvalMethodGenerator.GenerateCode(Jurassic.Compiler.ILGenerator,Jurassic.Compiler.OptimizationInfo)">
<summary>
Generates IL for the script.
</summary>
<param name="generator"> The generator to output the CIL to. </param>
<param name="optimizationInfo"> Information about any optimizations that should be performed. </param>
</member>
<member name="M:Jurassic.Compiler.GlobalOrEvalMethodGenerator.Execute(Jurassic.ScriptEngine,Jurassic.Compiler.RuntimeScope,System.Object)">
<summary>
Executes the script.
</summary>
<param name="engine"> The script engine to use to execute the script. </param>
<param name="parentScope"> The scope of the calling code. </param>
<param name="thisObject"> The value of the "this" keyword in the calling code. </param>
<returns> The result of evaluating the script. </returns>
</member>
<member name="T:Jurassic.Compiler.MethodGenerator">
<summary>
Represents the unit of compilation.
</summary>
</member>
<member name="M:Jurassic.Compiler.MethodGenerator.#ctor(Jurassic.ScriptSource,Jurassic.Compiler.CompilerOptions)">
<summary>
Creates a new MethodGenerator instance.
</summary>
<param name="source"> The source of javascript code. </param>
<param name="options"> Options that influence the compiler. </param>
</member>
<member name="P:Jurassic.Compiler.MethodGenerator.Options">
<summary>
Gets a reference to any compiler options.
</summary>
</member>
<member name="P:Jurassic.Compiler.MethodGenerator.Source">
<summary>
Gets the source of javascript code.
</summary>
</member>
<member name="P:Jurassic.Compiler.MethodGenerator.StrictMode">
<summary>
Gets a value that indicates whether strict mode is enabled.
</summary>
</member>
<member name="P:Jurassic.Compiler.MethodGenerator.AbstractSyntaxTree">
<summary>
Gets the root node of the abstract syntax tree. This will be <c>null</c> until Parse()
is called.
</summary>
</member>
<member name="P:Jurassic.Compiler.MethodGenerator.BaseScope">
<summary>
Gets the top-level scope. This will be <c>null</c> until Parse() is called.
</summary>
</member>
<member name="P:Jurassic.Compiler.MethodGenerator.MethodOptimizationHints">
<summary>
Gets or sets optimization information.
</summary>
</member>
<member name="P:Jurassic.Compiler.MethodGenerator.ILGenerator">
<summary>
Gets the generated IL. This will be <c>null</c> until GenerateCode() is
called.
</summary>
</member>
<member name="P:Jurassic.Compiler.MethodGenerator.GeneratedMethod">
<summary>
Gets a delegate to the emitted dynamic method, plus any dependencies. This will be
<c>null</c> until GenerateCode() is called.
</summary>
</member>
<member name="M:Jurassic.Compiler.MethodGenerator.GetMethodName">
<summary>
Gets a name for the generated method.
</summary>
<returns> A name for the generated method. </returns>
</member>
<member name="M:Jurassic.Compiler.MethodGenerator.GetStackName">
<summary>
Gets a name for the function, as it appears in the stack trace.
</summary>
<returns> A name for the function, as it appears in the stack trace, or <c>null</c> if
this generator is generating code in the global scope. </returns>
</member>
<member name="M:Jurassic.Compiler.MethodGenerator.GetParameterTypes">
<summary>
Gets an array of types - one for each parameter accepted by the method generated by
this context.
</summary>
<returns> An array of parameter types. </returns>
</member>
<member name="M:Jurassic.Compiler.MethodGenerator.GetParameterNames">
<summary>
Gets an array of names - one for each parameter accepted by the method being generated.
</summary>
<returns> An array of parameter names. </returns>
</member>
<member name="M:Jurassic.Compiler.MethodGenerator.GetDelegate">
<summary>
Retrieves a delegate for the generated method.
</summary>
<returns> The delegate type that matches the method parameters. </returns>
</member>
<member name="M:Jurassic.Compiler.MethodGenerator.Parse">
<summary>
Parses the source text into an abstract syntax tree.
</summary>
</member>
<member name="M:Jurassic.Compiler.MethodGenerator.Optimize">
<summary>
Optimizes the abstract syntax tree.
</summary>
</member>
<member name="M:Jurassic.Compiler.MethodGenerator.GenerateCode">
<summary>
Generates IL for the script.
</summary>
</member>
<member name="M:Jurassic.Compiler.MethodGenerator.GenerateCode(Jurassic.Compiler.ILGenerator,Jurassic.Compiler.OptimizationInfo)">
<summary>
Generates IL for the script.
</summary>
<param name="generator"> The generator to output the CIL to. </param>
<param name="optimizationInfo"> Information about any optimizations that should be performed. </param>
</member>
<member name="T:Jurassic.Compiler.AstNode">
<summary>
Represents the base class of expressions and statements.
</summary>
</member>
<member name="P:Jurassic.Compiler.AstNode.ChildNodes">
<summary>
Gets an enumerable list of child nodes in the abstract syntax tree.
</summary>
</member>
<member name="M:Jurassic.Compiler.AstNode.ContainsNodeOfType``1">
<summary>
Determines if this node or any of this node's children are of the given type.
</summary>
<typeparam name="T"> The type of AstNode to search for. </typeparam>
<returns> <c>true</c> if this node or any of this node's children are of the given
type; <c>false</c> otherwise. </returns>
</member>
<member name="M:Jurassic.Compiler.AstNode.GenerateCode(Jurassic.Compiler.ILGenerator,Jurassic.Compiler.OptimizationInfo)">
<summary>
Generates CIL for the expression.
</summary>
<param name="generator"> The generator to output the CIL to. </param>
<param name="optimizationInfo"> Information about any optimizations that should be performed. </param>
</member>
<member name="F:Jurassic.Compiler.OperatorAssociativity.LeftToRight">
<summary>
Indicates that multiple operators of this type are grouped left-to-right.
</summary>
</member>
<member name="F:Jurassic.Compiler.OperatorAssociativity.RightToLeft">
<summary>
Indicates that multiple operators of this type are grouped right-to-left.
</summary>
</member>
<member name="F:Jurassic.Compiler.OperatorPlacement.HasLHSOperand">
<summary>
Indicates that a value is consumed to the left of the primary token.
</summary>
</member>
<member name="F:Jurassic.Compiler.OperatorPlacement.HasRHSOperand">
<summary>
Indicates that a value is consumed to the right of the primary token.
</summary>
</member>
<member name="F:Jurassic.Compiler.OperatorPlacement.Binary">
<summary>
Indicates that values to the left and right of the primary token are consumed.
</summary>
</member>
<member name="F:Jurassic.Compiler.OperatorPlacement.HasSecondaryRHSOperand">
<summary>
Indicates that a value is consumed to the right of the secondary token.
</summary>
</member>
<member name="F:Jurassic.Compiler.OperatorPlacement.Ternary">
<summary>
Indicates that three values are consumed.
</summary>
</member>
<member name="F:Jurassic.Compiler.OperatorPlacement.InnerOperandIsOptional">
<summary>
Indicates the inner operand is optional. Only used with the function call operator.
</summary>
</member>
<member name="T:Jurassic.Compiler.OperatorType">
<summary>
Represents the type of operator.
</summary>
</member>
<member name="T:Jurassic.Compiler.Operator">
<summary>
Represents a JavaScript operator.
</summary>
</member>
<member name="M:Jurassic.Compiler.Operator.#ctor(Jurassic.Compiler.Token,System.Int32,Jurassic.Compiler.OperatorPlacement,Jurassic.Compiler.OperatorAssociativity,Jurassic.Compiler.OperatorType,Jurassic.Compiler.Token,System.Int32)">
<summary>
Creates a new operator instance.
</summary>
<param name="token"> 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. </param>
<param name="precedence"> An integer that indicates the order of evaluation. Higher
precedence operators are evaluated first. </param>
<param name="placement"> A value that indicates where operands are allowed. </param>
<param name="associativity"> Gets a value that indicates whether multiple operators of this
type are grouped left-to-right or right-to-left. </param>
<param name="type"> The type of operator: this decides what algorithm to use to calculate the result. </param>
<param name="secondaryToken"> The second token in the sequence. </param>
<param name="rhsPrecedence"> The precedence for the secondary or tertiary operand. </param>
</member>
<member name="P:Jurassic.Compiler.Operator.Type">
<summary>
Gets the type of operator: this decides what algorithm to use to calculate the result.
</summary>
</member>
<member name="P:Jurassic.Compiler.Operator.Token">
<summary>
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.
</summary>
</member>
<member name="P:Jurassic.Compiler.Operator.SecondaryToken">
<summary>
For a multi-token operator, gets the second token in the sequence.
</summary>
</member>
<member name="P:Jurassic.Compiler.Operator.Precedence">
<summary>
Gets an integer that indicates the order of evaluation. Higher precedence operators are
evaluated first.
</summary>
</member>
<member name="P:Jurassic.Compiler.Operator.SecondaryPrecedence">
<summary>
Gets an integer that indicates the order of evaluation for the secondary operand.
Higher precedence operators are evaluated first.
</summary>
</member>
<member name="P:Jurassic.Compiler.Operator.TertiaryPrecedence">
<summary>
Gets an integer that indicates the order of evaluation for the tertiary operand.
Higher precedence operators are evaluated first.
</summary>
</member>
<member name="P:Jurassic.Compiler.Operator.Associativity">
<summary>
Gets a value that indicates whether multiple operators of this type are grouped
left-to-right or right-to-left.
</summary>
</member>
<member name="P:Jurassic.Compiler.Operator.HasLHSOperand">
<summary>
Gets a value that indicates whether a value is consumed to the left of the primary token.
</summary>
</member>
<member name="P:Jurassic.Compiler.Operator.HasRHSOperand">
<summary>
Gets a value that indicates whether a value is consumed to the right of the primary token.
</summary>
</member>
<member name="P:Jurassic.Compiler.Operator.HasSecondaryRHSOperand">
<summary>
Gets a value that indicates whether a value is consumed to the right of the secondary token.
Must be <c>false</c> if there is no secondary token.
</summary>
</member>
<member name="P:Jurassic.Compiler.Operator.InnerOperandIsOptional">
<summary>
Gets a value that indicates the inner operand is optional. Only used with the function
call operator.
</summary>
</member>
<member name="P:Jurassic.Compiler.Operator.Arity">
<summary>
Gets the maximum number of operands required by this operator.
</summary>
</member>
<member name="M:Jurassic.Compiler.Operator.IsValidNumberOfOperands(System.Int32)">
<summary>
Determines if the given number of operands is valid for this operator.
</summary>
<param name="operandCount"> The number of operands. </param>
<returns> <c>true</c> if the given number of operands is valid for this operator;
<c>false</c> otherwise. </returns>
</member>
<member name="P:Jurassic.Compiler.Operator.AllOperators">
<summary>
Gets an enumerable collection of every defined operator.
</summary>
</member>
<member name="T:Jurassic.Compiler.Parser">
<summary>
Converts a series of tokens into an abstract syntax tree.
</summary>
</member>
<member name="M:Jurassic.Compiler.Parser.#ctor(Jurassic.Compiler.Lexer,Jurassic.Compiler.CompilerOptions,Jurassic.Compiler.CodeContext,Jurassic.Compiler.MethodOptimizationHints)">
<summary>
Creates a Parser instance with the given lexer supplying the tokens.
</summary>
<param name="lexer"> The lexical analyser that provides the tokens. </param>
<param name="options"> Options that influence the compiler. </param>
<param name="context"> The context of the code (global, function or eval). </param>
<param name="methodOptimizationHints"> Hints about whether optimization is possible. </param>
</member>
<member name="M:Jurassic.Compiler.Parser.CreateFunctionBodyParser(Jurassic.Compiler.Parser,Jurassic.Compiler.Scope,Jurassic.Compiler.MethodOptimizationHints,Jurassic.Compiler.CodeContext)">
<summary>
Creates a parser that can read the body of a function.
</summary>
<param name="parser"> The parser for the parent context. </param>
<param name="scope"> The function scope. </param>
<param name="optimizationHints"> Hints about whether optimization is possible. </param>
<param name="codeContext"> Indicates the parsing context. </param>
<returns> A new parser. </returns>
</member>
<member name="P:Jurassic.Compiler.Parser.LineNumber">
<summary>
Gets the line number of the next token.
</summary>
</member>
<member name="P:Jurassic.Compiler.Parser.PositionBeforeWhitespace">
<summary>
Gets the position just after the last character of the previously consumed token.
</summary>
</member>
<member name="P:Jurassic.Compiler.Parser.PositionAfterWhitespace">
<summary>
Gets the position of the first character of the next token.
</summary>
</member>
<member name="P:Jurassic.Compiler.Parser.SourcePath">
<summary>
Gets the path or URL of the source file. Can be <c>null</c>.
</summary>
</member>
<member name="P:Jurassic.Compiler.Parser.StrictMode">
<summary>
Gets or sets a value that indicates whether the parser is operating in strict mode.
</summary>
</member>
<member name="P:Jurassic.Compiler.Parser.BaseScope">
<summary>
The top-level scope.
</summary>
</member>
<member name="P:Jurassic.Compiler.Parser.MethodOptimizationHints">
<summary>
Gets optimization information about the code that was parsed (Parse() must be called
first).
</summary>
</member>
<member name="P:Jurassic.Compiler.Parser.IsInFunctionContext">
<summary>
Indicates whether we are parsing in a function context (including constructors and class functions).
</summary>
</member>
<member name="M:Jurassic.Compiler.Parser.ValidateVariableName(System.String)">
<summary>
Throws an exception if the variable name is invalid.
</summary>
<param name="name"> The name of the variable to check. </param>
</member>
<member name="M:Jurassic.Compiler.Parser.Consume(Jurassic.Compiler.ParserExpressionState)">
<summary>
Discards the current token and reads the next one.
</summary>
<param name="expressionState"> Indicates whether the next token can be a literal or an
operator. </param>
</member>
<member name="M:Jurassic.Compiler.Parser.Expect(Jurassic.Compiler.Token)">
<summary>
Indicates that the next token is identical to the given one. Throws an exception if
this is not the case. Consumes the token.
</summary>
<param name="token"> The expected token. </param>
</member>
<member name="M:Jurassic.Compiler.Parser.ExpectIdentifier">
<summary>
Indicates that the next token should be an identifier. Throws an exception if this is
not the case. Consumes the token.
</summary>
<returns> The identifier name. </returns>
</member>
<member name="M:Jurassic.Compiler.Parser.AtValidEndOfStatement">
<summary>
Returns a value that indicates whether the current position is a valid position to end
a statement.
</summary>
<returns> <c>true</c> if the current position is a valid position to end a statement;
<c>false</c> otherwise. </returns>
</member>
<member name="M:Jurassic.Compiler.Parser.ExpectEndOfStatement">
<summary>
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.
</summary>
</member>
<member name="M:Jurassic.Compiler.Parser.SetInitialScope(Jurassic.Compiler.Scope)">
<summary>
Sets the initial scope.
</summary>
<param name="initialScope"> The initial scope </param>
</member>
<member name="T:Jurassic.Compiler.Parser.ScopeContext">
<summary>
Helper class to help manage scopes.
</summary>
</member>
<member name="M:Jurassic.Compiler.Parser.CreateScopeContext(Jurassic.Compiler.Scope)">
<summary>
Sets the current scope and returns an object which can be disposed to restore the
previous scope.
</summary>
<param name="scope"> The new scope. </param>
<returns> An object which can be disposed to restore the previous scope. </returns>
</member>
<member name="M:Jurassic.Compiler.Parser.Parse">
<summary>
Parses javascript source code.
</summary>
<returns> An expression that can be executed to run the program represented by the
source code. </returns>
</member>
<member name="M:Jurassic.Compiler.Parser.ParseStatement(System.Boolean)">
<summary>
Parses any statement other than a function declaration.
</summary>
<param name="addingToExistingBlock"> <c>true</c> if the statement is being added to an
existing block statement, <c>false</c> if the statement represents a new block. </param>
<returns> An expression that represents the statement. </returns>
</member>
<member name="M:Jurassic.Compiler.Parser.ParseStatementNoNewContext">
<summary>
Parses any statement other than a function declaration, without beginning a new
statement context.
</summary>
<returns> An expression that represents the statement. </returns>
</member>
<member name="M:Jurassic.Compiler.Parser.ParseBlock">
<summary>
Parses a block of statements.
</summary>
<returns> A BlockStatement containing the statements. </returns>
<remarks> 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. </remarks>
</member>
<member name="M:Jurassic.Compiler.Parser.ParseVarLetOrConst(Jurassic.Compiler.KeywordToken,System.Boolean,System.Boolean)">
<summary>
Parses a var, let or const statement.
</summary>
<param name="keyword"> Indicates which type of statement is being parsed. Must be var,
let or const. </param>
<param name="consumeKeyword"> Indicates whether the keyword token needs to be consumed. </param>
<param name="insideForLoop"> Indicates whether we are parsing the initial declaration
inside a for() statement. </param>
<returns> A variable declaration statement. </returns>
</member>
<member name="M:Jurassic.Compiler.Parser.ParseEmpty">
<summary>
Parses an empty statement.
</summary>
<returns> An empty statement. </returns>
</member>
<member name="M:Jurassic.Compiler.Parser.ParseIf">
<summary>
Parses an if statement.
</summary>
<returns> An expression representing the if statement. </returns>
</member>
<member name="M:Jurassic.Compiler.Parser.ParseDo">
<summary>
Parses a do statement.
</summary>
<returns> An expression representing the do statement. </returns>
</member>
<member name="M:Jurassic.Compiler.Parser.ParseWhile">
<summary>
Parses a while statement.
</summary>
<returns> A while statement. </returns>
</member>
<member name="T:Jurassic.Compiler.Parser.ForStatementType">
<summary>
When parsing a for statement, used to keep track of what type it is.
</summary>
</member>
<member name="M:Jurassic.Compiler.Parser.ParseFor">
<summary>
Parses a for statement, for-in statement, or a for-of statement.
</summary>
<returns> A for statement, for-in statement, or a for-of statement. </returns>
</member>
<member name="M:Jurassic.Compiler.Parser.ParseContinue">
<summary>
Parses a continue statement.
</summary>
<returns> A continue statement. </returns>
</member>
<member name="M:Jurassic.Compiler.Parser.ParseBreak">
<summary>
Parses a break statement.
</summary>
<returns> A break statement. </returns>
</member>
<member name="M:Jurassic.Compiler.Parser.ParseReturn">
<summary>
Parses a return statement.
</summary>
<returns> A return statement. </returns>
</member>
<member name="M:Jurassic.Compiler.Parser.ParseWith">
<summary>
Parses a with statement.
</summary>
<returns> An expression representing the with statement. </returns>
</member>
<member name="M:Jurassic.Compiler.Parser.ParseSwitch">
<summary>
Parses a switch statement.
</summary>
<returns> A switch statement. </returns>
</member>
<member name="M:Jurassic.Compiler.Parser.ParseThrow">
<summary>
Parses a throw statement.
</summary>
<returns> A throw statement. </returns>
</member>
<member name="M:Jurassic.Compiler.Parser.ParseTry">
<summary>
Parses a try statement.
</summary>
<returns> A try-catch-finally statement. </returns>
</member>
<member name="M:Jurassic.Compiler.Parser.ParseDebugger">
<summary>
Parses a debugger statement.
</summary>
<returns> A debugger statement. </returns>
</member>
<member name="M:Jurassic.Compiler.Parser.ParseFunctionDeclaration">
<summary>
Parses a function declaration.
</summary>
<returns> A statement representing the function. </returns>
</member>
<member name="M:Jurassic.Compiler.Parser.ParseFunction(Jurassic.Compiler.FunctionDeclarationType,Jurassic.Compiler.Scope,Jurassic.Compiler.PropertyName,Jurassic.Compiler.SourceCodePosition,Jurassic.Compiler.CodeContext)">
<summary>
Parses a function declaration or a function expression.
</summary>
<param name="functionType"> The type of function to parse. </param>
<param name="parentScope"> The parent scope for the function. </param>
<param name="name"> The name of the function (can be computed at runtime). </param>
<param name="startPosition"> The position of the start of the function. </param>
<param name="codeContext"> Indicates the parsing context. </param>
<returns> A function expression. </returns>
</member>
<member name="M:Jurassic.Compiler.Parser.ParseFunctionArguments(Jurassic.Compiler.Token)">
<summary>
Parses a comma-separated list of function arguments.
</summary>
<param name="endToken"> The token that ends parsing. </param>
<returns> A list of parsed arguments. </returns>
</member>
<member name="M:Jurassic.Compiler.Parser.ParseLabelOrExpressionStatement">
<summary>
Parses a statement consisting of an expression or starting with a label. These two
cases are disambiguated here.
</summary>
<returns> A statement. </returns>
</member>
<member name="T:Jurassic.Compiler.Parser.OperatorKey">
<summary>
Represents a key by which to look up an operator.
</summary>
</member>
<member name="F:Jurassic.Compiler.Parser.operatorLookup">
<summary>
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).
</summary>
</member>
<member name="M:Jurassic.Compiler.Parser.InitializeOperatorLookup">
<summary>
Initializes the token -> operator mapping dictionary.
</summary>
<returns> The token -> operator mapping dictionary. </returns>
</member>
<member name="M:Jurassic.Compiler.Parser.OperatorFromToken(Jurassic.Compiler.Token,System.Boolean)">
<summary>
Finds a operator given a token and an indication whether the prefix or infix/postfix
version is desired.
</summary>
<param name="token"> The token to search for. </param>
<param name="postfixOrInfix"> <c>true</c> if the infix/postfix version of the operator
is desired; <c>false</c> otherwise. </param>
<returns> An Operator instance, or <c>null</c> if the operator could not be found. </returns>
</member>
<member name="M:Jurassic.Compiler.Parser.ParseExpression(Jurassic.Compiler.Token[])">
<summary>
Parses a javascript expression.
</summary>
<param name="endTokens"> One or more tokens that indicate the end of the expression. </param>
<returns> An expression tree that represents the expression. </returns>
</member>
<member name="M:Jurassic.Compiler.Parser.ParseArrayLiteral">
<summary>
Parses an array literal (e.g. "[1, 2]").
</summary>
<returns> A literal expression that represents the array literal. </returns>
</member>
<member name="M:Jurassic.Compiler.Parser.ParseObjectLiteral">
<summary>
Parses an object literal (e.g. "{a: 5}").
</summary>
<returns> A literal expression that represents the object literal. </returns>
</member>
<member name="M:Jurassic.Compiler.Parser.ReadPropertyName(Jurassic.Compiler.Parser.PropertyNameContext)">
<summary>
Reads a property name, as used in object literals and class bodies.
</summary>
<param name="context"> </param>
<returns> Details on the property name. </returns>
</member>
<member name="M:Jurassic.Compiler.Parser.ParseFunctionExpression">
<summary>
Parses a function expression.
</summary>
<returns> A function expression. </returns>
</member>
<member name="M:Jurassic.Compiler.Parser.ParseTemplateLiteral">
<summary>
Parses a template literal (e.g. `Bought ${count} items`).
</summary>
<returns> An expression that represents the template literal. </returns>
</member>
<member name="M:Jurassic.Compiler.Parser.ParseClassDeclaration">
<summary>
Parses a class declaration.
</summary>
<returns> A statement representing the class. </returns>
</member>
<member name="M:Jurassic.Compiler.Parser.ParseClassExpression">
<summary>
Parses a class expression.
</summary>
<returns> A class expression. </returns>
</member>
<member name="M:Jurassic.Compiler.Parser.ParseClassBody(System.String,Jurassic.Compiler.Expression,Jurassic.Compiler.SourceCodePosition)">
<summary>
Parses the body of a class declaration or a class expression.
</summary>
<param name="className"> The name of the class (can be empty). </param>
<param name="extends"> The base class, or <c>null</c> if this class doesn't inherit
from another class. </param>
<param name="startPosition"> The position of the start of the function. </param>
<returns> A class expression. </returns>
</member>
<member name="T:Jurassic.Compiler.PropertyDeclaration">
<summary>
Represents a single property of an object literal or a member of a class body.
</summary>
</member>
<member name="M:Jurassic.Compiler.PropertyDeclaration.#ctor(Jurassic.Compiler.PropertyName,Jurassic.Compiler.Expression)">
<summary>
Creates a new PropertyDeclaration instance.
</summary>
<param name="name"> The property name. </param>
<param name="value"> The property value. </param>
</member>
<member name="P:Jurassic.Compiler.PropertyDeclaration.Name">
<summary>
The member name. Can be static or computed e.g. ['fu' + 'nc']() { }.
</summary>
</member>
<member name="P:Jurassic.Compiler.PropertyDeclaration.Value">
<summary>
The value of the member.
</summary>
</member>
<member name="T:Jurassic.Compiler.PropertyNameFlags">
<summary>
Represents the valid prefixes that can appear before a property name.
</summary>
</member>
<member name="T:Jurassic.Compiler.PropertyName">
<summary>
Represents the name of a property (member), which can be
</summary>
</member>
<member name="M:Jurassic.Compiler.PropertyName.#ctor(System.String)">
<summary>
Creates a property name instance with a statically-known name.
</summary>
<param name="name"> The statically-known name. </param>
</member>
<member name="M:Jurassic.Compiler.PropertyName.#ctor(Jurassic.Compiler.Expression)">
<summary>
Creates a property name instance with a name that will be computed at runtime.
</summary>
<param name="name"> The expression that will compute the name. </param>
</member>
<member name="P:Jurassic.Compiler.PropertyName.IsGetter">
<summary>
Indicates the property was preceeded by 'get', making this property a getter.
</summary>
</member>
<member name="P:Jurassic.Compiler.PropertyName.IsSetter">
<summary>
Indicates the property was preceeded by 'set', making this property a setter.
</summary>
</member>
<member name="P:Jurassic.Compiler.PropertyName.IsStatic">
<summary>
Indicates the property was preceeded by 'static', making this a static function
(applies to classes, not object literals).
</summary>
</member>
<member name="P:Jurassic.Compiler.PropertyName.HasStaticName">
<summary>
Indicates whether the name is statically known.
</summary>
</member>
<member name="P:Jurassic.Compiler.PropertyName.StaticName">
<summary>
If HasStaticName is <c>true</c>, contains the name of the property.
</summary>
</member>
<member name="P:Jurassic.Compiler.PropertyName.ComputedName">
<summary>
If HasStaticName is <c>false</c>, contains an expression which computes the name of the
property.
</summary>
</member>
<member name="M:Jurassic.Compiler.PropertyName.WithFlags(Jurassic.Compiler.PropertyNameFlags)">
<summary>
Modifies this name to include the given flags.
</summary>
<param name="flags"> The flags to add. </param>
<returns> A new property name instance with the existing flags and the provided flags. </returns>
</member>
<member name="T:Jurassic.Compiler.Scope">
<summary>
Represents an enclosing context where variables are uniquely defined.
</summary>
</member>
<member name="T:Jurassic.Compiler.Scope.DeclaredVariable">
<summary>
Represents a variable declared in a scope.
</summary>
</member>
<member name="M:Jurassic.Compiler.Scope.CreateGlobalOrEvalScope(Jurassic.Compiler.CodeContext)">
<summary>
</summary>
<param name="codeContext"></param>
<returns></returns>
</member>
<member name="M:Jurassic.Compiler.Scope.CreateFunctionScope(System.String,System.Collections.Generic.IEnumerable{System.String})">
<summary>
Creates a new declarative scope for use inside a function body (and within function
argument default values).
</summary>
<param name="functionName"> The name of the function. Can be empty for an anonymous function. </param>
<param name="argumentNames"> The names of each of the function arguments. Can be <c>null</c>. </param>
<returns> A new DeclarativeScope instance. </returns>
</member>
<member name="M:Jurassic.Compiler.Scope.CreateBlockScope(Jurassic.Compiler.Scope)">
<summary>
</summary>
<param name="parentScope"></param>
<returns></returns>
</member>
<member name="M:Jurassic.Compiler.Scope.CreateWithScope(Jurassic.Compiler.Scope)">
<summary>
Creates a new object scope for use inside a with statement.
</summary>
<param name="parentScope"> A reference to the parent scope. Can not be <c>null</c>. </param>
<returns> A new ObjectScope instance. </returns>
</member>
<member name="M:Jurassic.Compiler.Scope.#ctor(Jurassic.Compiler.Scope,System.Int32)">
<summary>
Creates a new Scope instance.
</summary>
<param name="parentScope"> A reference to the parent scope, or <c>null</c> if this is
the global scope. </param>
<param name="declaredVariableCount"> The number of variables declared in this scope. </param>
</member>
<member name="M:Jurassic.Compiler.Scope.ConvertToStrictMode">
<summary>
</summary>
</member>
<member name="P:Jurassic.Compiler.Scope.ParentScope">
<summary>
Gets a reference to the parent scope. Can be <c>null</c> if this is the global scope.
</summary>
</member>
<member name="P:Jurassic.Compiler.Scope.DeclaredVariableCount">
<summary>
Gets the number of variables declared in this scope.
</summary>
</member>
<member name="P:Jurassic.Compiler.Scope.GeneratedRuntimeScope">
<summary>
After GenerateScopeCreation is called, gets a variable containing the RuntimeScope
instance. Can be <c>null</c> if this scope contains no variables.
</summary>
</member>
<member name="P:Jurassic.Compiler.Scope.GenerateScopeCreationWasCalled">
<summary>
Indicates whether <see cref="M:Jurassic.Compiler.Scope.GenerateScopeCreation(Jurassic.Compiler.ILGenerator,Jurassic.Compiler.OptimizationInfo)"/>
was called.
</summary>
</member>
<member name="P:Jurassic.Compiler.Scope.DeclaredVariables">
<summary>
Gets an enumerable list of the declared variables, in no particular order.
</summary>
</member>
<member name="M:Jurassic.Compiler.Scope.FindStaticVariable(System.String)">
<summary>
Gets a reference to the variable with the given name, in this scope or any parent
scope.
</summary>
<param name="variableName"> The name of the variable to find. </param>
<returns> The variable details, or <c>null</c> if the variable doesn't exist in the
scope. </returns>
</member>
<member name="M:Jurassic.Compiler.Scope.HasDeclaredVariable(System.String)">
<summary>
Returns <c>true</c> if the given variable has been declared in this scope.
</summary>
<param name="name"> The name of the variable. </param>
<returns> <c>true</c> if the given variable has been declared in this scope;
<c>false</c> otherwise. </returns>
</member>
<member name="M:Jurassic.Compiler.Scope.DeclareVariable(Jurassic.Compiler.KeywordToken,System.String,Jurassic.Compiler.FunctionExpression)">
<summary>
Declares a variable or function in this scope. This will be initialized with the value
of the given expression.
</summary>
<param name="keyword"> The keyword that was used to declare the variable (var, let or
const). </param>
<param name="name"> The name of the variable. </param>
<param name="hoistedFunction"> The function value to hoist to the top of the scope.
Should be <c>null</c> for everything except function declarations. </param>
<returns> A reference to the variable that was declared. </returns>
</member>
<member name="M:Jurassic.Compiler.Scope.GenerateScopeCreation(Jurassic.Compiler.ILGenerator,Jurassic.Compiler.OptimizationInfo)">
<summary>
Generates code that creates a new scope.
</summary>
<param name="generator"> The generator to output the CIL to. </param>
<param name="optimizationInfo"> Information about any optimizations that should be performed. </param>
</member>
<member name="M:Jurassic.Compiler.Scope.GenerateReference(Jurassic.Compiler.ILGenerator,Jurassic.Compiler.OptimizationInfo)">
<summary>
Generates code that pushes a RuntimeScope instance to the top of the stack.
</summary>
<param name="generator"> The generator to output the CIL to. </param>
<param name="optimizationInfo"> Information about any optimizations that should be performed. </param>
</member>
<member name="M:Jurassic.Compiler.Scope.GenerateHoistedDeclarations(Jurassic.Compiler.ILGenerator,Jurassic.Compiler.OptimizationInfo)">
<summary>
Generates code that initializes the variable and function declarations.
</summary>
<param name="generator"> The generator to output the CIL to. </param>
<param name="optimizationInfo"> Information about any optimizations that should be performed. </param>
</member>
<member name="T:Jurassic.Compiler.ScopeType">
<summary>
Represents different types of scopes.
</summary>
</member>
<member name="F:Jurassic.Compiler.ScopeType.Global">
<summary>
The top-level global scope.
</summary>
</member>
<member name="F:Jurassic.Compiler.ScopeType.With">
<summary>
A scope associated with a 'with' statement.
</summary>
</member>
<member name="F:Jurassic.Compiler.ScopeType.TopLevelFunction">
<summary>
The top-level scope in a function.
</summary>
</member>
<member name="F:Jurassic.Compiler.ScopeType.Block">
<summary>
</summary>
</member>
<member name="F:Jurassic.Compiler.ScopeType.Eval">
<summary>
The scope for a non-strict mode eval() function call.
</summary>
</member>
<member name="F:Jurassic.Compiler.ScopeType.EvalStrict">
<summary>
The scope for a strict mode eval() function call.
</summary>
</member>
<member name="T:Jurassic.Compiler.BlockStatement">
<summary>
Represents a javascript block statement.
</summary>
</member>
<member name="M:Jurassic.Compiler.BlockStatement.#ctor(System.Collections.Generic.IList{System.String},Jurassic.Compiler.Scope)">
<summary>
Creates a new BlockStatement instance.
</summary>
<param name="labels"> The labels that are associated with this statement. </param>
<param name="scope"> The lexical scope associated with this block statement. </param>
</member>
<member name="P:Jurassic.Compiler.BlockStatement.Statements">
<summary>
Gets a list of the statements in the block.
</summary>
</member>
<member name="P:Jurassic.Compiler.BlockStatement.Scope">
<summary>
The lexical scope associated with this block statement.
</summary>
</member>
<member name="M:Jurassic.Compiler.BlockStatement.GenerateCode(Jurassic.Compiler.ILGenerator,Jurassic.Compiler.OptimizationInfo)">
<summary>
Generates CIL for the statement.
</summary>
<param name="generator"> The generator to output the CIL to. </param>
<param name="optimizationInfo"> Information about any optimizations that should be performed. </param>
</member>
<member name="P:Jurassic.Compiler.BlockStatement.ChildNodes">
<summary>
Gets an enumerable list of child nodes in the abstract syntax tree.
</summary>
</member>
<member name="M:Jurassic.Compiler.BlockStatement.ToString(System.Int32)">
<summary>
Converts the statement to a string.
</summary>
<param name="indentLevel"> The number of tabs to include before the statement. </param>
<returns> A string representing this statement. </returns>
</member>
<member name="T:Jurassic.Compiler.BreakStatement">
<summary>
Represents a break statement.
</summary>
</member>
<member name="M:Jurassic.Compiler.BreakStatement.#ctor(System.Collections.Generic.IList{System.String})">
<summary>
Creates a new BreakStatement instance.
</summary>
<param name="labels"> The labels that are associated with this statement. </param>
</member>
<member name="P:Jurassic.Compiler.BreakStatement.Label">
<summary>
Gets or sets the name of the label that identifies the block to break out of. Can be
<c>null</c>.
</summary>
</member>
<member name="M:Jurassic.Compiler.BreakStatement.GenerateCode(Jurassic.Compiler.ILGenerator,Jurassic.Compiler.OptimizationInfo)">
<summary>
Generates CIL for the statement.
</summary>
<param name="generator"> The generator to output the CIL to. </param>
<param name="optimizationInfo"> Information about any optimizations that should be performed. </param>
</member>
<member name="M:Jurassic.Compiler.BreakStatement.ToString(System.Int32)">
<summary>
Converts the statement to a string.
</summary>
<param name="indentLevel"> The number of tabs to include before the statement. </param>
<returns> A string representing this statement. </returns>
</member>
<member name="T:Jurassic.Compiler.ContinueStatement">
<summary>
Represents a continue statement.
</summary>
</member>
<member name="M:Jurassic.Compiler.ContinueStatement.#ctor(System.Collections.Generic.IList{System.String})">
<summary>
Creates a new ContinueStatement instance.
</summary>
<param name="labels"> The labels that are associated with this statement. </param>
</member>
<member name="P:Jurassic.Compiler.ContinueStatement.Label">
<summary>
Gets or sets the name of the label that identifies the loop to continue. Can be
<c>null</c>.
</summary>
</member>
<member name="M:Jurassic.Compiler.ContinueStatement.GenerateCode(Jurassic.Compiler.ILGenerator,Jurassic.Compiler.OptimizationInfo)">
<summary>
Generates CIL for the statement.
</summary>
<param name="generator"> The generator to output the CIL to. </param>
<param name="optimizationInfo"> Information about any optimizations that should be performed. </param>
</member>
<member name="M:Jurassic.Compiler.ContinueStatement.ToString(System.Int32)">
<summary>
Converts the statement to a string.
</summary>
<param name="indentLevel"> The number of tabs to include before the statement. </param>
<returns> A string representing this statement. </returns>
</member>
<member name="T:Jurassic.Compiler.DebuggerStatement">
<summary>
Represents the debugger statement.
</summary>
</member>
<member name="M:Jurassic.Compiler.DebuggerStatement.#ctor(System.Collections.Generic.IList{System.String})">
<summary>
Creates a new DebuggerStatement instance.
</summary>
<param name="labels"> The labels that are associated with this statement. </param>
</member>
<member name="M:Jurassic.Compiler.DebuggerStatement.GenerateCode(Jurassic.Compiler.ILGenerator,Jurassic.Compiler.OptimizationInfo)">
<summary>
Generates CIL for the statement.
</summary>
<param name="generator"> The generator to output the CIL to. </param>
<param name="optimizationInfo"> Information about any optimizations that should be performed. </param>
</member>
<member name="M:Jurassic.Compiler.DebuggerStatement.ToString(System.Int32)">
<summary>
Converts the statement to a string.
</summary>
<param name="indentLevel"> The number of tabs to include before the statement. </param>
<returns> A string representing this statement. </returns>
</member>
<member name="T:Jurassic.Compiler.DoWhileStatement">
<summary>
Represents a javascript do-while statement.
</summary>
</member>
<member name="M:Jurassic.Compiler.DoWhileStatement.#ctor(System.Collections.Generic.IList{System.String})">
<summary>
Creates a new DoWhileStatement instance.
</summary>
<param name="labels"> The labels that are associated with this statement. </param>
</member>
<member name="P:Jurassic.Compiler.DoWhileStatement.CheckConditionAtEnd">
<summary>
Gets a value that indicates whether the condition should be checked at the end of the
loop.
</summary>
</member>
<member name="M:Jurassic.Compiler.DoWhileStatement.ToString(System.Int32)">
<summary>
Converts the statement to a string.
</summary>
<param name="indentLevel"> The number of tabs to include before the statement. </param>
<returns> A string representing this statement. </returns>
</member>
<member name="T:Jurassic.Compiler.EmptyStatement">
<summary>
Represents an empty statement.
</summary>
</member>
<member name="M:Jurassic.Compiler.EmptyStatement.#ctor(System.Collections.Generic.IList{System.String})">
<summary>
Creates a new EmptyStatement instance.
</summary>
<param name="labels"> The labels that are associated with this statement. </param>
</member>
<member name="M:Jurassic.Compiler.EmptyStatement.GenerateCode(Jurassic.Compiler.ILGenerator,Jurassic.Compiler.OptimizationInfo)">
<summary>
Generates CIL for the statement.
</summary>
<param name="generator"> The generator to output the CIL to. </param>
<param name="optimizationInfo"> Information about any optimizations that should be performed. </param>
</member>
<member name="M:Jurassic.Compiler.EmptyStatement.ToString(System.Int32)">
<summary>
Converts the statement to a string.
</summary>
<param name="indentLevel"> The number of tabs to include before the statement. </param>
<returns> A string representing this statement. </returns>
</member>
<member name="T:Jurassic.Compiler.ExpressionStatement">
<summary>
Represents a javascript expression statement.
</summary>
</member>
<member name="M:Jurassic.Compiler.ExpressionStatement.#ctor(Jurassic.Compiler.Expression)">
<summary>
Creates a new ExpressionStatement instance. By default, this expression does not
contribute to the result of an eval().
</summary>
<param name="expression"> The underlying expression. </param>
</member>
<member name="M:Jurassic.Compiler.ExpressionStatement.#ctor(System.Collections.Generic.IList{System.String},Jurassic.Compiler.Expression)">
<summary>
Creates a new ExpressionStatement instance. By default, this expression does
contribute to the result of an eval().
</summary>
<param name="labels"> The labels that are associated with this statement. </param>
<param name="expression"> The underlying expression. </param>
</member>
<member name="P:Jurassic.Compiler.ExpressionStatement.Expression">
<summary>
Gets or sets the underlying expression.
</summary>
</member>
<member name="P:Jurassic.Compiler.ExpressionStatement.ContributesToEvalResult">
<summary>
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 <c>false</c>.
</summary>
</member>
<member name="M:Jurassic.Compiler.ExpressionStatement.GenerateCode(Jurassic.Compiler.ILGenerator,Jurassic.Compiler.OptimizationInfo)">
<summary>
Generates CIL for the statement.
</summary>
<param name="generator"> The generator to output the CIL to. </param>
<param name="optimizationInfo"> Information about any optimizations that should be performed. </param>
</member>
<member name="P:Jurassic.Compiler.ExpressionStatement.ChildNodes">
<summary>
Gets an enumerable list of child nodes in the abstract syntax tree.
</summary>
</member>
<member name="M:Jurassic.Compiler.ExpressionStatement.ToString(System.Int32)">
<summary>
Converts the statement to a string.
</summary>
<param name="indentLevel"> The number of tabs to include before the statement. </param>
<returns> A string representing this statement. </returns>
</member>
<member name="T:Jurassic.Compiler.ForInStatement">
<summary>
Represents a javascript for-in statement.
</summary>
</member>
<member name="M:Jurassic.Compiler.ForInStatement.#ctor(System.Collections.Generic.IList{System.String})">
<summary>
Creates a new ForInStatement instance.
</summary>
<param name="labels"> The labels that are associated with this statement. </param>
</member>
<member name="P:Jurassic.Compiler.ForInStatement.Scope">
<summary>
The scope that encompasses the entire loop statement.
</summary>
</member>
<member name="P:Jurassic.Compiler.ForInStatement.Variable">
<summary>
Gets or sets a reference to mutate on each iteration of the loop.
</summary>
</member>
<member name="P:Jurassic.Compiler.ForInStatement.VariableSourceSpan">
<summary>
Gets or sets the portion of source code associated with the variable.
</summary>
</member>
<member name="P:Jurassic.Compiler.ForInStatement.TargetObject">
<summary>
Gets or sets an expression that evaluates to the object to enumerate.
</summary>
</member>
<member name="P:Jurassic.Compiler.ForInStatement.TargetObjectSourceSpan">
<summary>
Gets or sets the portion of source code associated with the target object.
</summary>
</member>
<member name="P:Jurassic.Compiler.ForInStatement.Body">
<summary>
Gets or sets the loop body.
</summary>
</member>
<member name="M:Jurassic.Compiler.ForInStatement.GenerateCode(Jurassic.Compiler.ILGenerator,Jurassic.Compiler.OptimizationInfo)">
<summary>
Generates CIL for the statement.
</summary>
<param name="generator"> The generator to output the CIL to. </param>
<param name="optimizationInfo"> Information about any optimizations that should be performed. </param>
</member>
<member name="P:Jurassic.Compiler.ForInStatement.ChildNodes">
<summary>
Gets an enumerable list of child nodes in the abstract syntax tree.
</summary>
</member>
<member name="M:Jurassic.Compiler.ForInStatement.ToString(System.Int32)">
<summary>
Converts the statement to a string.
</summary>
<param name="indentLevel"> The number of tabs to include before the statement. </param>
<returns> A string representing this statement. </returns>
</member>
<member name="T:Jurassic.Compiler.ForOfStatement">
<summary>
Represents a javascript for-of statement.
</summary>
</member>
<member name="M:Jurassic.Compiler.ForOfStatement.#ctor(System.Collections.Generic.IList{System.String})">
<summary>
Creates a new ForOfStatement instance.
</summary>
<param name="labels"> The labels that are associated with this statement. </param>
</member>
<member name="P:Jurassic.Compiler.ForOfStatement.Scope">
<summary>
The scope that encompasses the entire loop statement.
</summary>
</member>
<member name="P:Jurassic.Compiler.ForOfStatement.Variable">
<summary>
Gets or sets a reference to mutate on each iteration of the loop.
</summary>
</member>
<member name="P:Jurassic.Compiler.ForOfStatement.VariableSourceSpan">
<summary>
Gets or sets the portion of source code associated with the variable.
</summary>
</member>
<member name="P:Jurassic.Compiler.ForOfStatement.TargetObject">
<summary>
Gets or sets an expression that evaluates to the object to enumerate.
</summary>
</member>
<member name="P:Jurassic.Compiler.ForOfStatement.TargetObjectSourceSpan">
<summary>
Gets or sets the portion of source code associated with the target object.
</summary>
</member>
<member name="P:Jurassic.Compiler.ForOfStatement.Body">
<summary>
Gets or sets the loop body.
</summary>
</member>
<member name="M:Jurassic.Compiler.ForOfStatement.GenerateCode(Jurassic.Compiler.ILGenerator,Jurassic.Compiler.OptimizationInfo)">
<summary>
Generates CIL for the statement.
</summary>
<param name="generator"> The generator to output the CIL to. </param>
<param name="optimizationInfo"> Information about any optimizations that should be performed. </param>
</member>
<member name="P:Jurassic.Compiler.ForOfStatement.ChildNodes">
<summary>
Gets an enumerable list of child nodes in the abstract syntax tree.
</summary>
</member>
<member name="M:Jurassic.Compiler.ForOfStatement.ToString(System.Int32)">
<summary>
Converts the statement to a string.
</summary>
<param name="indentLevel"> The number of tabs to include before the statement. </param>
<returns> A string representing this statement. </returns>
</member>
<member name="T:Jurassic.Compiler.ForStatement">
<summary>
Represents a javascript for statement (for-in is a separate statement).
</summary>
</member>
<member name="M:Jurassic.Compiler.ForStatement.#ctor(System.Collections.Generic.IList{System.String})">
<summary>
Creates a new ForStatement instance.
</summary>
<param name="labels"> The labels that are associated with this statement. </param>
</member>
<member name="M:Jurassic.Compiler.ForStatement.ToString(System.Int32)">
<summary>
Converts the statement to a string.
</summary>
<param name="indentLevel"> The number of tabs to include before the statement. </param>
<returns> A string representing this statement. </returns>
</member>
<member name="T:Jurassic.Compiler.IfStatement">
<summary>
Represents an if statement.
</summary>
</member>
<member name="M:Jurassic.Compiler.IfStatement.#ctor(System.Collections.Generic.IList{System.String})">
<summary>
Creates a new IfStatement instance.
</summary>
<param name="labels"> The labels that are associated with this statement. </param>
</member>
<member name="P:Jurassic.Compiler.IfStatement.Condition">
<summary>
Gets or sets the condition that determines which path the code should proceed.
</summary>
</member>
<member name="P:Jurassic.Compiler.IfStatement.IfClause">
<summary>
Gets or sets the statement that is executed if the condition is true.
</summary>
</member>
<member name="P:Jurassic.Compiler.IfStatement.ElseClause">
<summary>
Gets or sets the statement that is executed if the condition is false.
</summary>
</member>
<member name="M:Jurassic.Compiler.IfStatement.GenerateCode(Jurassic.Compiler.ILGenerator,Jurassic.Compiler.OptimizationInfo)">
<summary>
Generates CIL for the statement.
</summary>
<param name="generator"> The generator to output the CIL to. </param>
<param name="optimizationInfo"> Information about any optimizations that should be performed. </param>
</member>
<member name="P:Jurassic.Compiler.IfStatement.ChildNodes">
<summary>
Gets an enumerable list of child nodes in the abstract syntax tree.
</summary>
</member>
<member name="M:Jurassic.Compiler.IfStatement.ToString(System.Int32)">
<summary>
Converts the statement to a string.
</summary>
<param name="indentLevel"> The number of tabs to include before the statement. </param>
<returns> A string representing this statement. </returns>
</member>
<member name="T:Jurassic.Compiler.LoopStatement">
<summary>
Represents a javascript loop statement (for, for-in, while and do-while).
</summary>
</member>
<member name="M:Jurassic.Compiler.LoopStatement.#ctor(System.Collections.Generic.IList{System.String})">
<summary>
Creates a new LoopStatement instance.
</summary>
<param name="labels"> The labels that are associated with this statement. </param>
</member>
<member name="P:Jurassic.Compiler.LoopStatement.Scope">
<summary>
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.
</summary>
</member>
<member name="P:Jurassic.Compiler.LoopStatement.InitStatement">
<summary>
Gets or sets the statement that initializes the loop variable.
</summary>
</member>
<member name="P:Jurassic.Compiler.LoopStatement.InitVarStatement">
<summary>
Gets the var statement that initializes the loop variable.
</summary>
</member>
<member name="P:Jurassic.Compiler.LoopStatement.InitExpression">
<summary>
Gets the expression that initializes the loop variable.
</summary>
</member>
<member name="P:Jurassic.Compiler.LoopStatement.ConditionStatement">
<summary>
Gets or sets the statement that checks whether the loop should terminate.
</summary>
</member>
<member name="P:Jurassic.Compiler.LoopStatement.Condition">
<summary>
Gets the expression that checks whether the loop should terminate.
</summary>
</member>
<member name="P:Jurassic.Compiler.LoopStatement.IncrementStatement">
<summary>
Gets or sets the statement that increments (or decrements) the loop variable.
</summary>
</member>
<member name="P:Jurassic.Compiler.LoopStatement.Increment">
<summary>
Gets the expression that increments (or decrements) the loop variable.
</summary>
</member>
<member name="P:Jurassic.Compiler.LoopStatement.Body">
<summary>
Gets or sets the loop body.
</summary>
</member>
<member name="P:Jurassic.Compiler.LoopStatement.CheckConditionAtEnd">
<summary>
Gets a value that indicates whether the condition should be checked at the end of the
loop.
</summary>
</member>
<member name="M:Jurassic.Compiler.LoopStatement.GenerateCode(Jurassic.Compiler.ILGenerator,Jurassic.Compiler.OptimizationInfo)">
<summary>
Generates CIL for the statement.
</summary>
<param name="generator"> The generator to output the CIL to. </param>
<param name="optimizationInfo"> Information about any optimizations that should be performed. </param>
</member>
<member name="P:Jurassic.Compiler.LoopStatement.ChildNodes">
<summary>
Gets an enumerable list of child nodes in the abstract syntax tree.
</summary>
</member>
<member name="T:Jurassic.Compiler.ReturnStatement">
<summary>
Represents a return statement.
</summary>
</member>
<member name="M:Jurassic.Compiler.ReturnStatement.#ctor(System.Collections.Generic.IList{System.String})">
<summary>
Creates a new ReturnStatement instance.
</summary>
<param name="labels"> The labels that are associated with this statement. </param>
</member>
<member name="P:Jurassic.Compiler.ReturnStatement.Value">
<summary>
Gets or sets the expression to return. Can be <c>null</c> to return "undefined".
</summary>
</member>
<member name="M:Jurassic.Compiler.ReturnStatement.GenerateCode(Jurassic.Compiler.ILGenerator,Jurassic.Compiler.OptimizationInfo)">
<summary>
Generates CIL for the statement.
</summary>
<param name="generator"> The generator to output the CIL to. </param>
<param name="optimizationInfo"> Information about any optimizations that should be performed. </param>
</member>
<member name="P:Jurassic.Compiler.ReturnStatement.ChildNodes">
<summary>
Gets an enumerable list of child nodes in the abstract syntax tree.
</summary>
</member>
<member name="M:Jurassic.Compiler.ReturnStatement.ToString(System.Int32)">
<summary>
Converts the statement to a string.
</summary>
<param name="indentLevel"> The number of tabs to include before the statement. </param>
<returns> A string representing this statement. </returns>
</member>
<member name="T:Jurassic.Compiler.Statement">
<summary>
Represents a javascript statement.
</summary>
</member>
<member name="M:Jurassic.Compiler.Statement.#ctor(System.Collections.Generic.IList{System.String})">
<summary>
Creates a new Statement instance.
</summary>
<param name="labels"> The labels that are associated with this statement. </param>
</member>
<member name="P:Jurassic.Compiler.Statement.HasLabels">
<summary>
Returns a value that indicates whether the statement has one or more labels attached to
it.
</summary>
</member>
<member name="P:Jurassic.Compiler.Statement.Labels">
<summary>
Gets or sets the labels associated with this statement.
</summary>
</member>
<member name="P:Jurassic.Compiler.Statement.SourceSpan">
<summary>
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.
</summary>
</member>
<member name="T:Jurassic.Compiler.Statement.StatementLocals">
<summary>
Locals needed by GenerateStartOfStatement() and GenerateEndOfStatement().
</summary>
</member>
<member name="F:Jurassic.Compiler.Statement.StatementLocals.NonDefaultBreakStatementBehavior">
<summary>
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.
</summary>
</member>
<member name="F:Jurassic.Compiler.Statement.StatementLocals.NonDefaultSourceSpanBehavior">
<summary>
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.
</summary>
</member>
<member name="F:Jurassic.Compiler.Statement.StatementLocals.EndOfStatement">
<summary>
Gets or sets a label marking the end of the statement.
</summary>
</member>
<member name="M:Jurassic.Compiler.Statement.GenerateStartOfStatement(Jurassic.Compiler.ILGenerator,Jurassic.Compiler.OptimizationInfo,Jurassic.Compiler.Statement.StatementLocals)">
<summary>
Generates CIL for the start of every statement.
</summary>
<param name="generator"> The generator to output the CIL to. </param>
<param name="optimizationInfo"> Information about any optimizations that should be performed. </param>
<param name="locals"> Variables common to both GenerateStartOfStatement() and GenerateEndOfStatement(). </param>
</member>
<member name="M:Jurassic.Compiler.Statement.GenerateEndOfStatement(Jurassic.Compiler.ILGenerator,Jurassic.Compiler.OptimizationInfo,Jurassic.Compiler.Statement.StatementLocals)">
<summary>
Generates CIL for the end of every statement.
</summary>
<param name="generator"> The generator to output the CIL to. </param>
<param name="optimizationInfo"> Information about any optimizations that should be performed. </param>
<param name="locals"> Variables common to both GenerateStartOfStatement() and GenerateEndOfStatement(). </param>
</member>
<member name="M:Jurassic.Compiler.Statement.ToString">
<summary>
Converts the statement to a string.
</summary>
<returns> A string representing this statement. </returns>
</member>
<member name="M:Jurassic.Compiler.Statement.ToString(System.Int32)">
<summary>
Converts the statement to a string.
</summary>
<param name="indentLevel"> The number of tabs to include before the statement. </param>
<returns> A string representing this statement. </returns>
</member>
<member name="T:Jurassic.Compiler.SwitchStatement">
<summary>
Represents a javascript switch statement.
</summary>
</member>
<member name="M:Jurassic.Compiler.SwitchStatement.#ctor(System.Collections.Generic.IList{System.String})">
<summary>
Creates a new SwitchStatement instance.
</summary>
<param name="labels"> The labels that are associated with this statement. </param>
</member>
<member name="P:Jurassic.Compiler.SwitchStatement.Value">
<summary>
Gets or sets an expression that represents the value to switch on.
</summary>
</member>
<member name="P:Jurassic.Compiler.SwitchStatement.CaseClauses">
<summary>
Gets a list of case clauses (including the default clause).
</summary>
</member>
<member name="M:Jurassic.Compiler.SwitchStatement.GenerateCode(Jurassic.Compiler.ILGenerator,Jurassic.Compiler.OptimizationInfo)">
<summary>
Generates CIL for the statement.
</summary>
<param name="generator"> The generator to output the CIL to. </param>
<param name="optimizationInfo"> Information about any optimizations that should be performed. </param>
</member>
<member name="P:Jurassic.Compiler.SwitchStatement.ChildNodes">
<summary>
Gets an enumerable list of child nodes in the abstract syntax tree.
</summary>
</member>
<member name="M:Jurassic.Compiler.SwitchStatement.ToString(System.Int32)">
<summary>
Converts the statement to a string.
</summary>
<param name="indentLevel"> The number of tabs to include before the statement. </param>
<returns> A string representing this statement. </returns>
</member>
<member name="T:Jurassic.Compiler.SwitchCase">
<summary>
Represents a single case statement inside a switch statement.
</summary>
</member>
<member name="P:Jurassic.Compiler.SwitchCase.Value">
<summary>
Gets or sets an expression that must match the switch value for the case to execute.
A value of <c>null</c> indicates this is the default clause.
</summary>
</member>
<member name="P:Jurassic.Compiler.SwitchCase.BodyStatements">
<summary>
Gets a list of the statement(s) in the body of the case statement.
</summary>
</member>
<member name="T:Jurassic.Compiler.ThrowStatement">
<summary>
Represents a throw statement.
</summary>
</member>
<member name="M:Jurassic.Compiler.ThrowStatement.#ctor(System.Collections.Generic.IList{System.String})">
<summary>
Creates a new ThrowStatement instance.
</summary>
<param name="labels"> The labels that are associated with this statement. </param>
</member>
<member name="P:Jurassic.Compiler.ThrowStatement.Value">
<summary>
Gets or sets an expression which evaluates to the value to throw.
</summary>
</member>
<member name="M:Jurassic.Compiler.ThrowStatement.GenerateCode(Jurassic.Compiler.ILGenerator,Jurassic.Compiler.OptimizationInfo)">
<summary>
Generates CIL for the statement.
</summary>
<param name="generator"> The generator to output the CIL to. </param>
<param name="optimizationInfo"> Information about any optimizations that should be performed. </param>
</member>
<member name="P:Jurassic.Compiler.ThrowStatement.ChildNodes">
<summary>
Gets an enumerable list of child nodes in the abstract syntax tree.
</summary>
</member>
<member name="M:Jurassic.Compiler.ThrowStatement.ToString(System.Int32)">
<summary>
Converts the statement to a string.
</summary>
<param name="indentLevel"> The number of tabs to include before the statement. </param>
<returns> A string representing this statement. </returns>
</member>
<member name="T:Jurassic.Compiler.TryCatchFinallyStatement">
<summary>
Represents a try-catch-finally statement.
</summary>
</member>
<member name="M:Jurassic.Compiler.TryCatchFinallyStatement.#ctor(System.Collections.Generic.IList{System.String})">
<summary>
Creates a new TryCatchFinallyStatement instance.
</summary>
</member>
<member name="P:Jurassic.Compiler.TryCatchFinallyStatement.TryBlock">
<summary>
Gets or sets the statement(s) inside the try block.
</summary>
</member>
<member name="P:Jurassic.Compiler.TryCatchFinallyStatement.CatchBlock">
<summary>
Gets or sets the statement(s) inside the catch block. Can be <c>null</c>.
</summary>
</member>
<member name="P:Jurassic.Compiler.TryCatchFinallyStatement.CatchVariableName">
<summary>
Gets or sets the name of the variable to receive the exception. Can be <c>null</c> if
CatchStatement is also <c>null</c> or if the catch variable binding was omitted.
</summary>
</member>
<member name="P:Jurassic.Compiler.TryCatchFinallyStatement.FinallyBlock">
<summary>
Gets or sets the statement(s) inside the finally block. Can be <c>null</c>.
</summary>
</member>
<member name="M:Jurassic.Compiler.TryCatchFinallyStatement.GenerateCode(Jurassic.Compiler.ILGenerator,Jurassic.Compiler.OptimizationInfo)">
<summary>
Generates CIL for the statement.
</summary>
<param name="generator"> The generator to output the CIL to. </param>
<param name="optimizationInfo"> Information about any optimizations that should be performed. </param>
</member>
<member name="P:Jurassic.Compiler.TryCatchFinallyStatement.ChildNodes">
<summary>
Gets an enumerable list of child nodes in the abstract syntax tree.
</summary>
</member>
<member name="M:Jurassic.Compiler.TryCatchFinallyStatement.ToString(System.Int32)">
<summary>
Converts the statement to a string.
</summary>
<param name="indentLevel"> The number of tabs to include before the statement. </param>
<returns> A string representing this statement. </returns>
</member>
<member name="T:Jurassic.Compiler.VarLetOrConstStatement">
<summary>
Represents a javascript var, let or const statement.
</summary>
</member>
<member name="M:Jurassic.Compiler.VarLetOrConstStatement.#ctor(System.Collections.Generic.IList{System.String},Jurassic.Compiler.Scope)">
<summary>
Creates a new VarStatement instance.
</summary>
<param name="labels"> The labels that are associated with this statement. </param>
<param name="scope"> The scope the variables are defined within. </param>
</member>
<member name="P:Jurassic.Compiler.VarLetOrConstStatement.Scope">
<summary>
Gets the scope the variables are defined within.
</summary>
</member>
<member name="P:Jurassic.Compiler.VarLetOrConstStatement.Keyword">
<summary>
Indicates whether this is a 'var', 'let' or 'const' declaration.
</summary>
</member>
<member name="P:Jurassic.Compiler.VarLetOrConstStatement.Declarations">
<summary>
Gets a list of variable declarations.
</summary>
</member>
<member name="M:Jurassic.Compiler.VarLetOrConstStatement.GenerateCode(Jurassic.Compiler.ILGenerator,Jurassic.Compiler.OptimizationInfo)">
<summary>
Generates CIL for the statement.
</summary>
<param name="generator"> The generator to output the CIL to. </param>
<param name="optimizationInfo"> Information about any optimizations that should be performed. </param>
</member>
<member name="P:Jurassic.Compiler.VarLetOrConstStatement.ChildNodes">
<summary>
Gets an enumerable list of child nodes in the abstract syntax tree.
</summary>
</member>
<member name="M:Jurassic.Compiler.VarLetOrConstStatement.ToString(System.Int32)">
<summary>
Converts the statement to a string.
</summary>
<param name="indentLevel"> The number of tabs to include before the statement. </param>
<returns> A string representing this statement. </returns>
</member>
<member name="T:Jurassic.Compiler.VariableDeclaration">
<summary>
Represents a variable declaration.
</summary>
</member>
<member name="P:Jurassic.Compiler.VariableDeclaration.Keyword">
<summary>
Gets the type of declaration.
</summary>
</member>
<member name="P:Jurassic.Compiler.VariableDeclaration.VariableName">
<summary>
Gets the name of the variable that is being declared.
</summary>
</member>
<member name="P:Jurassic.Compiler.VariableDeclaration.InitExpression">
<summary>
Gets or sets the initial value of the variable. Can be <c>null</c>.
</summary>
</member>
<member name="P:Jurassic.Compiler.VariableDeclaration.SourceSpan">
<summary>
Gets or sets the portion of source code associated with the declaration.
</summary>
</member>
<member name="T:Jurassic.Compiler.WhileStatement">
<summary>
Represents a javascript while statement.
</summary>
</member>
<member name="M:Jurassic.Compiler.WhileStatement.#ctor(System.Collections.Generic.IList{System.String})">
<summary>
Creates a new WhileStatement instance.
</summary>
<param name="labels"> The labels that are associated with this statement. </param>
</member>
<member name="M:Jurassic.Compiler.WhileStatement.ToString(System.Int32)">
<summary>
Converts the statement to a string.
</summary>
<param name="indentLevel"> The number of tabs to include before the statement. </param>
<returns> A string representing this statement. </returns>
</member>
<member name="T:Jurassic.Compiler.WithStatement">
<summary>
Represents a javascript with statement.
</summary>
</member>
<member name="M:Jurassic.Compiler.WithStatement.#ctor(System.Collections.Generic.IList{System.String})">
<summary>
Creates a new WithStatement instance.
</summary>
<param name="labels"> The labels that are associated with this statement. </param>
</member>
<member name="P:Jurassic.Compiler.WithStatement.WithScope">
<summary>
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.
</summary>
</member>
<member name="P:Jurassic.Compiler.WithStatement.Body">
<summary>
Gets or sets the body of the with statement.
</summary>
</member>
<member name="M:Jurassic.Compiler.WithStatement.GenerateCode(Jurassic.Compiler.ILGenerator,Jurassic.Compiler.OptimizationInfo)">
<summary>
Generates CIL for the statement.
</summary>
<param name="generator"> The generator to output the CIL to. </param>
<param name="optimizationInfo"> Information about any optimizations that should be performed. </param>
</member>
<member name="P:Jurassic.Compiler.WithStatement.ChildNodes">
<summary>
Gets an enumerable list of child nodes in the abstract syntax tree.
</summary>
</member>
<member name="M:Jurassic.Compiler.WithStatement.ToString(System.Int32)">
<summary>
Converts the statement to a string.
</summary>
<param name="indentLevel"> The number of tabs to include before the statement. </param>
<returns> A string representing this statement. </returns>
</member>
<member name="T:Jurassic.Compiler.SyntaxErrorException">
<summary>
Represents a non-runtime compiler error.
</summary>
</member>
<member name="M:Jurassic.Compiler.SyntaxErrorException.#ctor(System.String,System.Int32,System.String)">
<summary>
Creates a new syntax error exception.
</summary>
<param name="message"> A description of the error. </param>
<param name="lineNumber"> The line number in the source file the error occurred on. </param>
<param name="sourcePath"> The path or URL of the source file. Can be <c>null</c>. </param>
</member>
<member name="M:Jurassic.Compiler.SyntaxErrorException.#ctor(System.String,System.Int32,System.String,System.String)">
<summary>
Creates a new syntax error exception.
</summary>
<param name="message"> A description of the error. </param>
<param name="lineNumber"> The line number in the source file the error occurred on. </param>
<param name="sourcePath"> The path or URL of the source file. Can be <c>null</c>. </param>
<param name="functionName"> The name of the function. Can be <c>null</c>. </param>
</member>
<member name="P:Jurassic.Compiler.SyntaxErrorException.LineNumber">
<summary>
Gets the line number in the source file the error occurred on. Can be <c>0</c> if no
line number information is available.
</summary>
</member>
<member name="P:Jurassic.Compiler.SyntaxErrorException.SourcePath">
<summary>
Gets the path or URL of the source file. Can be <c>null</c> if no source information
is available.
</summary>
</member>
<member name="P:Jurassic.Compiler.SyntaxErrorException.FunctionName">
<summary>
Gets the name of the function where the exception occurred. Can be <c>null</c> if no
source information is available.
</summary>
</member>
<member name="T:Jurassic.BigInteger">
<summary>
Represents an arbitrarily large signed integer.
</summary>
</member>
<member name="M:Jurassic.BigInteger.#ctor(System.Int32)">
<summary>
Initializes a new instance of the BigInteger structure using a 32-bit signed integer
value.
</summary>
<param name="value"> A 32-bit signed integer. </param>
</member>
<member name="M:Jurassic.BigInteger.#ctor(System.Int64)">
<summary>
Initializes a new instance of the BigInteger structure using a 64-bit signed integer
value.
</summary>
<param name="value"> A 64-bit signed integer. </param>
</member>
<member name="F:Jurassic.BigInteger.Zero">
<summary>
Gets a value that represents the number zero (0).
</summary>
</member>
<member name="F:Jurassic.BigInteger.One">
<summary>
Gets a value that represents the number one (1).
</summary>
</member>
<member name="P:Jurassic.BigInteger.Sign">
<summary>
Gets a number that indicates the sign (negative, positive or zero) of the current
BigInteger object.
</summary>
</member>
<member name="M:Jurassic.BigInteger.Add(Jurassic.BigInteger,Jurassic.BigInteger)">
<summary>
Adds two BigInteger values and returns the result.
</summary>
<param name="left"> The first value to add. </param>
<param name="right"> The second value to add. </param>
<returns> The sum of <paramref name="left"/> and <paramref name="right"/>. </returns>
</member>
<member name="M:Jurassic.BigInteger.Multiply(Jurassic.BigInteger,Jurassic.BigInteger)">
<summary>
Returns the product of two BigInteger values.
</summary>
<param name="left"> The first number to multiply. </param>
<param name="right"> The second number to multiply. </param>
<returns> The product of the <paramref name="left"/> and <paramref name="right"/>
parameters. </returns>
</member>
<member name="M:Jurassic.BigInteger.Subtract(Jurassic.BigInteger,Jurassic.BigInteger)">
<summary>
Subtracts one BigInteger value from another and returns the result.
</summary>
<param name="left"> The value to subtract from. </param>
<param name="right"> The value to subtract. </param>
<returns> The result of subtracting <paramref name="right"/> from
<paramref name="left"/>. </returns>
</member>
<member name="M:Jurassic.BigInteger.LeftShift(Jurassic.BigInteger,System.Int32)">
<summary>
Shifts a BigInteger value a specified number of bits to the left.
</summary>
<param name="value"> The value whose bits are to be shifted. </param>
<param name="shift"> The number of bits to shift <paramref name="value"/> to the left.
Can be negative to shift to the right. </param>
<returns> A value that has been shifted to the left by the specified number of bits. </returns>
</member>
<member name="M:Jurassic.BigInteger.RightShift(Jurassic.BigInteger,System.Int32)">
<summary>
Shifts a BigInteger value a specified number of bits to the right.
</summary>
<param name="value"> The value whose bits are to be shifted. </param>
<param name="shift"> The number of bits to shift <paramref name="value"/> to the right. </param>
<returns> A value that has been shifted to the right by the specified number of bits.
Can be negative to shift to the left. </returns>
<remarks> Note: unlike System.Numerics.BigInteger, negative numbers are treated
identically to positive numbers. </remarks>
</member>
<member name="M:Jurassic.BigInteger.MultiplyAdd(Jurassic.BigInteger,System.Int32,System.Int32)">
<summary>
Multiply by m and add a.
</summary>
<param name="b"></param>
<param name="m"></param>
<param name="a"></param>
<returns></returns>
</member>
<member name="M:Jurassic.BigInteger.MultiplyPow5(Jurassic.BigInteger,System.Int32)">
<summary>
Computes b x 5 ^ k.
</summary>
<param name="b"></param>
<param name="k"></param>
<returns></returns>
</member>
<member name="M:Jurassic.BigInteger.Compare(Jurassic.BigInteger,Jurassic.BigInteger)">
<summary>
Returns <c>-1</c> if a &lt; b, <c>0</c> if they are the same, or <c>1</c> if a &gt; b.
</summary>
<param name="a"></param>
<param name="b"></param>
<returns></returns>
</member>
<member name="M:Jurassic.BigInteger.Negate(Jurassic.BigInteger)">
<summary>
Negates a specified BigInteger value.
</summary>
<param name="value"> The value to negate. </param>
<returns> The result of the <paramref name="value"/> parameter multiplied by negative
one (-1). </returns>
</member>
<member name="M:Jurassic.BigInteger.SetupQuorum(Jurassic.BigInteger@,Jurassic.BigInteger@)">
<summary>
Modifies the given values so they are suitable for passing to Quorem.
</summary>
<param name="dividend"> The number that will be divided. </param>
<param name="divisor"> The number to divide by. </param>
</member>
<member name="M:Jurassic.BigInteger.SetupQuorum(Jurassic.BigInteger@,Jurassic.BigInteger@,Jurassic.BigInteger@)">
<summary>
Modifies the given values so they are suitable for passing to Quorem.
</summary>
<param name="dividend"> The number that will be divided. </param>
<param name="divisor"> The number to divide by. </param>
<param name="other"> Another value involved in the division. </param>
</member>
<member name="M:Jurassic.BigInteger.Quorem(Jurassic.BigInteger@,Jurassic.BigInteger)">
<summary>
Calculates the integer result of dividing <paramref name="dividend"/> by
<paramref name="divisor"/> then sets <paramref name="dividend"/> to the remainder.
</summary>
<param name="dividend"> The number that will be divided. </param>
<param name="divisor"> The number to divide by. </param>
<returns> The integer that results from dividing <paramref name="dividend"/> by
<paramref name="divisor"/>. </returns>
</member>
<member name="M:Jurassic.BigInteger.InPlaceDecrement">
<summary>
Decrements the current value of the BigInteger object.
</summary>
</member>
<member name="M:Jurassic.BigInteger.Pow(System.Int32,System.Int32)">
<summary>
Equivalent to BigInteger.Pow but with integer arguments.
</summary>
<param name="radix"> The number to be raised to a power. </param>
<param name="exponent"> The number that specifies the power. </param>
<returns> The number <paramref name="radix"/> raised to the power
<paramref name="exponent"/>. </returns>
</member>
<member name="M:Jurassic.BigInteger.Abs(Jurassic.BigInteger)">
<summary>
Gets the absolute value of a BigInteger object.
</summary>
<param name="b"> A number. </param>
<returns> The absolute value of <paramref name="b"/>. </returns>
</member>
<member name="M:Jurassic.BigInteger.Log(Jurassic.BigInteger,System.Double)">
<summary>
Returns the logarithm of a specified number in a specified base.
</summary>
<param name="value"> A number whose logarithm is to be found. </param>
<param name="baseValue"> The base of the logarithm. </param>
<returns> The base <paramref name="baseValue"/> logarithm of <paramref name="value"/>. </returns>
</member>
<member name="M:Jurassic.BigInteger.Equals(System.Object)">
<summary>
Returns a value that indicates whether the current instance and a specified BigInteger
object have the same value.
</summary>
<param name="obj"> The object to compare. </param>
<returns> <c>true</c> if this BigInteger object and <paramref name="obj"/> have the
same value; otherwise, <c>false</c>. </returns>
</member>
<member name="M:Jurassic.BigInteger.GetHashCode">
<summary>
Returns the hash code for the current BigInteger object.
</summary>
<returns> A 32-bit signed integer hash code. </returns>
</member>
<member name="M:Jurassic.BigInteger.Parse(System.String)">
<summary>
Converts the string representation of a number to its BigInteger equivalent.
</summary>
<param name="str"> A string that contains the number to convert. </param>
<returns> A value that is equivalent to the number specified in the
<paramref name="str"/> parameter. </returns>
</member>
<member name="M:Jurassic.BigInteger.ToString">
<summary>
Converts the numeric value of the current BigInteger object to its equivalent string
representation.
</summary>
<returns> The string representation of the current BigInteger value. </returns>
</member>
<member name="M:Jurassic.BigInteger.FromDouble(System.Double)">
<summary>
Returns a new instance BigInteger structure from a 64-bit double precision floating
point value.
</summary>
<param name="value"> A 64-bit double precision floating point value. </param>
<returns> The corresponding BigInteger value. </returns>
</member>
<member name="M:Jurassic.BigInteger.ToDouble">
<summary>
Returns a double that corresponds to the BigInteger value.
</summary>
<returns> A double that corresponds to the BigInteger value. </returns>
</member>
<member name="M:Jurassic.BigInteger.CountLeadingZeroBits(System.UInt32)">
<summary>
Returns the number of leading zero bits in the given 32-bit integer.
</summary>
<param name="value"> A 32-bit integer. </param>
<returns> The number of leading zero bits in the given 32-bit integer. Returns
<c>32</c> if <paramref name="value"/> is zero. </returns>
</member>
<member name="T:Jurassic.CompatibilityMode">
<summary>
Used to indicate that the script engine should run in compatibility mode.
</summary>
</member>
<member name="F:Jurassic.CompatibilityMode.Latest">
<summary>
Indicates that the script engine should run in the most standards compliant mode.
</summary>
</member>
<member name="F:Jurassic.CompatibilityMode.ECMAScript3">
<summary>
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).
</summary>
</member>
<member name="T:Jurassic.CompiledEval">
<summary>
Represents the result of compiling a script.
</summary>
</member>
<member name="M:Jurassic.CompiledEval.Compile(Jurassic.ScriptSource,Jurassic.Compiler.CompilerOptions)">
<summary>
Compiles source code into a quickly executed form, using the given compiler options.
</summary>
<param name="source"> The javascript source code to execute. </param>
<param name="options"> Compiler options, or <c>null</c> to use the default options. </param>
<returns> A CompiledScript instance, which can be executed as many times as needed. </returns>
<exception cref="T:System.ArgumentNullException"> <paramref name="source"/> is a <c>null</c> reference. </exception>
</member>
<member name="P:Jurassic.CompiledEval.DisassembledIL">
<summary>
Gets the body of the generated method in the form of disassembled IL code. Will be
<c>null</c> unless <see cref="P:Jurassic.Compiler.CompilerOptions.EnableILAnalysis"/> was set to
<c>true</c>.
</summary>
</member>
<member name="M:Jurassic.CompiledEval.Evaluate(Jurassic.ScriptEngine)">
<summary>
Executes the compiled eval code.
</summary>
<param name="engine"> The script engine to use to execute the script. </param>
<returns> The result of the eval. </returns>
<exception cref="T:System.ArgumentNullException"> <paramref name="engine"/> is a <c>null</c> reference. </exception>
</member>
<member name="T:Jurassic.CompiledScript">
<summary>
Represents the result of compiling a script.
</summary>
</member>
<member name="M:Jurassic.CompiledScript.Compile(Jurassic.ScriptSource,Jurassic.Compiler.CompilerOptions)">
<summary>
Compiles source code into a quickly executed form, using the given compiler options.
</summary>
<param name="source"> The javascript source code to execute. </param>
<param name="options"> Compiler options, or <c>null</c> to use the default options. </param>
<returns> A CompiledScript instance, which can be executed as many times as needed. </returns>
<exception cref="T:System.ArgumentNullException"> <paramref name="source"/> is a <c>null</c> reference. </exception>
</member>
<member name="P:Jurassic.CompiledScript.DisassembledIL">
<summary>
Gets the body of the generated method in the form of disassembled IL code. Will be
<c>null</c> unless <see cref="P:Jurassic.Compiler.CompilerOptions.EnableILAnalysis"/> was set to
<c>true</c>.
</summary>
</member>
<member name="M:Jurassic.CompiledScript.Execute(Jurassic.ScriptEngine)">
<summary>
Executes the compiled script.
</summary>
<param name="engine"> The script engine to use to execute the script. </param>
<exception cref="T:System.ArgumentNullException"> <paramref name="engine"/> is a <c>null</c> reference. </exception>
</member>
<member name="T:Jurassic.ConcatenatedString">
<summary>
Represents a string that supports efficient concatenation. This class is used instead of
<see cref="T:System.String"/> 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).
</summary>
</member>
<member name="M:Jurassic.ConcatenatedString.#ctor(System.String)">
<summary>
Creates a new ConcatenatedString instance from the given string.
</summary>
<param name="initialValue"> The initial contents of the concatenated string. </param>
</member>
<member name="M:Jurassic.ConcatenatedString.#ctor(System.String,System.String)">
<summary>
Creates a new ConcatenatedString instance by concatenating the given strings.
</summary>
<param name="left"> The left-most string to concatenate. </param>
<param name="right"> The right-most string to concatenate. </param>
</member>
<member name="M:Jurassic.ConcatenatedString.#ctor(System.String[])">
<summary>
Creates a new ConcatenatedString instance by concatenating the given strings.
</summary>
<param name="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. </param>
</member>
<member name="P:Jurassic.ConcatenatedString.Length">
<summary>
Gets the length, in characters, of the ConcatenatedString object.
</summary>
</member>
<member name="M:Jurassic.ConcatenatedString.Concatenate(System.Object)">
<summary>
Returns a new ConcatenatedString instance containing the concatenation of this ConcatenatedString
and the given object (converted to a string).
</summary>
<param name="obj"> The object to append to this string. </param>
<returns> A new ConcatenatedString instance representing the concatenated string. </returns>
</member>
<member name="M:Jurassic.ConcatenatedString.Concatenate(System.String)">
<summary>
Returns a new ConcatenatedString instance containing the concatenation of this ConcatenatedString
and the given string.
</summary>
<param name="str"> The string to append. </param>
<returns> A new ConcatenatedString instance representing the concatenated string. </returns>
</member>
<member name="M:Jurassic.ConcatenatedString.Concatenate(Jurassic.ConcatenatedString)">
<summary>
Returns a new ConcatenatedString instance containing the concatenation of this ConcatenatedString
and the given string.
</summary>
<param name="str"> The string to append. </param>
<returns> A new ConcatenatedString instance representing the concatenated string. </returns>
</member>
<member name="M:Jurassic.ConcatenatedString.Append(System.Object)">
<summary>
Appends the given object (converted to a string) to the end of this object.
</summary>
<param name="obj"> The object to append. </param>
</member>
<member name="M:Jurassic.ConcatenatedString.Append(System.String)">
<summary>
Appends the given string to the end of this object.
</summary>
<param name="str"> The string to append. </param>
</member>
<member name="M:Jurassic.ConcatenatedString.Append(Jurassic.ConcatenatedString)">
<summary>
Appends the given string to the end of this object.
</summary>
<param name="str"> The string to append. </param>
</member>
<member name="M:Jurassic.ConcatenatedString.ToString">
<summary>
Returns a string representing the current object.
</summary>
<returns> A string representing the current object. </returns>
</member>
<member name="T:Jurassic.JavaScriptException">
<summary>
Represents a wrapper for javascript error objects.
</summary>
</member>
<member name="M:Jurassic.JavaScriptException.#ctor(System.Object)">
<summary>
Creates a new JavaScriptException instance based on the given object.
</summary>
<param name="errorObject"> The javascript object that was thrown. </param>
</member>
<member name="M:Jurassic.JavaScriptException.#ctor(System.Object,System.Int32,System.String,System.String)">
<summary>
Creates a new JavaScriptException instance based on the given object.
</summary>
<param name="errorObject"> The javascript object that was thrown. </param>
<param name="lineNumber"> The line number in the source file the error occurred on. </param>
<param name="sourcePath"> The path or URL of the source file. Can be <c>null</c>. </param>
<param name="functionName"> The name of the function. Can be <c>null</c>. </param>
</member>
<member name="M:Jurassic.JavaScriptException.#ctor(Jurassic.Library.ErrorType,System.String)">
<summary>
Creates a new JavaScriptException instance.
</summary>
<param name="type"> The type of error, e.g. Error, RangeError, etc. </param>
<param name="message"> A description of the error. </param>
</member>
<member name="M:Jurassic.JavaScriptException.#ctor(Jurassic.Library.ErrorType,System.String,System.Exception)">
<summary>
Creates a new JavaScriptException instance.
</summary>
<param name="type"> The type of error, e.g. Error, RangeError, etc. </param>
<param name="message"> A description of the error. </param>
<param name="innerException"> The exception that is the cause of the current exception,
or <c>null</c> if no inner exception is specified. </param>
</member>
<member name="M:Jurassic.JavaScriptException.#ctor(Jurassic.Library.ErrorType,System.String,System.Int32,System.String)">
<summary>
Creates a new JavaScriptException instance.
</summary>
<param name="type"> The type of error, e.g. Error, RangeError, etc. </param>
<param name="message"> A description of the error. </param>
<param name="lineNumber"> The line number in the source file the error occurred on. </param>
<param name="sourcePath"> The path or URL of the source file. Can be <c>null</c>. </param>
</member>
<member name="M:Jurassic.JavaScriptException.#ctor(Jurassic.Library.ErrorType,System.String,System.Int32,System.String,System.Exception)">
<summary>
Creates a new JavaScriptException instance.
</summary>
<param name="type"> The type of error, e.g. Error, RangeError, etc. </param>
<param name="message"> A description of the error. </param>
<param name="lineNumber"> The line number in the source file the error occurred on. </param>
<param name="sourcePath"> The path or URL of the source file. Can be <c>null</c>. </param>
<param name="innerException"> The exception that is the cause of the current exception,
or <c>null</c> if no inner exception is specified. </param>
</member>
<member name="M:Jurassic.JavaScriptException.#ctor(Jurassic.Library.ErrorType,System.String,System.Int32,System.String,System.String)">
<summary>
Creates a new JavaScriptException instance.
</summary>
<param name="type"> The type of error, e.g. Error, RangeError, etc. </param>
<param name="message"> A description of the error. </param>
<param name="lineNumber"> The line number in the source file the error occurred on. </param>
<param name="sourcePath"> The path or URL of the source file. Can be <c>null</c>. </param>
<param name="functionName"> The name of the function. Can be <c>null</c>. </param>
</member>
<member name="P:Jurassic.JavaScriptException.ErrorObject">
<summary>
Gets a reference to the JavaScript Error object.
</summary>
</member>
<member name="P:Jurassic.JavaScriptException.ErrorType">
<summary>
Gets the type of error, e.g. ErrorType.TypeError or ErrorType.SyntaxError.
</summary>
</member>
<member name="P:Jurassic.JavaScriptException.ErrorMessage">
<summary>
The error message, excluding the error type.
</summary>
</member>
<member name="P:Jurassic.JavaScriptException.LineNumber">
<summary>
Gets the line number in the source file the error occurred on. Can be <c>0</c> if no
line number information is available.
</summary>
</member>
<member name="P:Jurassic.JavaScriptException.SourcePath">
<summary>
Gets the path or URL of the source file. Can be <c>null</c> if no source information
is available.
</summary>
</member>
<member name="P:Jurassic.JavaScriptException.FunctionName">
<summary>
Gets the name of the function where the exception occurred. Can be <c>null</c> if no
source information is available.
</summary>
</member>
<member name="P:Jurassic.JavaScriptException.Engine">
<summary>
Gets a reference to the script engine associated with this object. Will be <c>null</c>
for statements like "throw 2".
</summary>
</member>
<member name="M:Jurassic.JavaScriptException.GetErrorObject(Jurassic.ScriptEngine)">
<summary>
Returns the error instance associated with this exception.
</summary>
<param name="engine"> The script engine used to create the error object. </param>
<returns> A new Error instance. </returns>
</member>
<member name="T:Jurassic.Null">
<summary>
Represents the JavaScript "null" type and provides the one and only instance of that type.
</summary>
</member>
<member name="M:Jurassic.Null.#ctor">
<summary>
Creates a new Null instance.
</summary>
</member>
<member name="F:Jurassic.Null.Value">
<summary>
Gets the one and only "null" instance.
</summary>
</member>
<member name="M:Jurassic.Null.ToString">
<summary>
Returns a string representing the current object.
</summary>
<returns> A string representing the current object. </returns>
</member>
<member name="T:Jurassic.NumberFormatter">
<summary>
Converts numbers into strings.
</summary>
</member>
<member name="T:Jurassic.NumberFormatter.Style">
<summary>
Used to specify the type of number formatting that should be applied.
</summary>
</member>
<member name="F:Jurassic.NumberFormatter.Style.Regular">
<summary>
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.
</summary>
</member>
<member name="F:Jurassic.NumberFormatter.Style.Precision">
<summary>
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.
</summary>
</member>
<member name="F:Jurassic.NumberFormatter.Style.Fixed">
<summary>
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.
</summary>
</member>
<member name="F:Jurassic.NumberFormatter.Style.Exponential">
<summary>
Specifies that numbers should always be displayed in scientific notation. The
precision parameter specifies the number of figures to display after the decimal
point.
</summary>
</member>
<member name="M:Jurassic.NumberFormatter.ToString(System.Double,System.Int32,Jurassic.NumberFormatter.Style,System.Int32)">
<summary>
Converts a number to a string.
</summary>
<param name="value"> The value to convert to a string. </param>
<param name="radix"> The base of the number system to convert to. </param>
<param name="style"> The type of formatting to apply. </param>
<param name="precision">
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.
</param>
</member>
<member name="M:Jurassic.NumberFormatter.ToString(System.Double,System.Int32,System.Globalization.NumberFormatInfo,Jurassic.NumberFormatter.Style,System.Int32)">
<summary>
Converts a number to a string.
</summary>
<param name="value"> The value to convert to a string. </param>
<param name="radix"> The base of the number system to convert to. </param>
<param name="numberFormatInfo"> The number format style to use. </param>
<param name="style"> The type of formatting to apply. </param>
<param name="precision">
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.
</param>
</member>
<member name="M:Jurassic.NumberFormatter.CalculateError(System.Double)">
<summary>
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).
</summary>
<param name="value"> The number to calculate an error value for. </param>
<returns> The minimum increment that creates a number distinct from the value that was
provided. </returns>
</member>
<member name="M:Jurassic.NumberFormatter.ScaleToInteger(System.Double,Jurassic.BigInteger,System.Int32)">
<summary>
Scales the given double-precision number by multiplying and then shifting it.
</summary>
<param name="value"> The value to scale. </param>
<param name="multiplier"> The multiplier. </param>
<param name="shift"> The power of two scale factor. </param>
<returns> A BigInteger containing the result of multiplying <paramref name="value"/> by
<paramref name="multiplier"/> and then shifting left by <paramref name="shift"/> bits. </returns>
</member>
<member name="M:Jurassic.NumberFormatter.CountTrailingZeroBits(System.UInt64)">
<summary>
Counts the number of trailing zero bits in the given 64-bit value.
</summary>
<param name="value"> The 64-bit value. </param>
<returns> The number of trailing zero bits in the given 64-bit value. </returns>
</member>
<member name="M:Jurassic.NumberFormatter.IntegralLog(System.Double,System.Int32)">
<summary>
Calculates (int)Math.Floor(Math.Log(value, radix)).
</summary>
<param name="value"> The value to calculate the log for. </param>
<param name="radix"> 10 for base-10. </param>
<returns> The logarithm of the provided value, rounded down to the nearest integer. </returns>
</member>
<member name="T:Jurassic.NumberParser">
<summary>
Parses strings into numbers.
</summary>
</member>
<member name="M:Jurassic.NumberParser.ParseFloat(System.String)">
<summary>
Converts a string to a number (used by parseFloat).
</summary>
<param name="input"> The string to convert. </param>
<returns> The result of parsing the string as a number. </returns>
</member>
<member name="M:Jurassic.NumberParser.CoerceToNumber(System.String)">
<summary>
Converts a string to a number (used in type coercion).
</summary>
<returns> The result of parsing the string as a number. </returns>
</member>
<member name="M:Jurassic.NumberParser.ParseCore(System.IO.TextReader,System.Char,Jurassic.NumberParser.ParseCoreStatus@,System.Boolean,System.Boolean)">
<summary>
Parses a number and returns the corresponding double-precision value.
</summary>
<param name="reader"> The reader to read characters from. </param>
<param name="firstChar"> The first character of the number. Must be 0-9 or a period. </param>
<param name="status"> Upon returning, contains the type of error if one occurred. </param>
<param name="decimalOnly"> </param>
<param name="allowES3Octal"> </param>
<returns> The numeric value, or <c>NaN</c> if the number is invalid. </returns>
</member>
<member name="M:Jurassic.NumberParser.ParseInt(System.String,System.Int32,System.Boolean)">
<summary>
Converts a string to an integer (used by parseInt).
</summary>
<param name="input"> The input text to parse. </param>
<param name="radix"> 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. </param>
<param name="allowOctal"> <c>true</c> if numbers with a leading zero should be parsed
as octal numbers. </param>
<returns> The result of parsing the string as a integer. </returns>
</member>
<member name="M:Jurassic.NumberParser.ParseHex(System.IO.TextReader)">
<summary>
Parses a hexidecimal number and returns the corresponding double-precision value.
</summary>
<param name="reader"> The reader to read characters from. </param>
<returns> The numeric value, or <c>NaN</c> if the number is invalid. </returns>
</member>
<member name="M:Jurassic.NumberParser.ParseOctal(System.IO.TextReader)">
<summary>
Parses a octal number and returns the corresponding double-precision value.
</summary>
<param name="reader"> The reader to read characters from. </param>
<returns> The numeric value, or <c>NaN</c> if the number is invalid. </returns>
</member>
<member name="M:Jurassic.NumberParser.ParseBinary(System.IO.TextReader)">
<summary>
Parses a binary number and returns the corresponding double-precision value.
</summary>
<param name="reader"> The reader to read characters from. </param>
<returns> The numeric value, or <c>NaN</c> if the number is invalid. </returns>
</member>
<member name="M:Jurassic.NumberParser.IsWhiteSpaceOrLineTerminator(System.Int32)">
<summary>
Determines if the given character is whitespace or a line terminator.
</summary>
<param name="c"> The unicode code point for the character. </param>
<returns> <c>true</c> if the character is whitespace or a line terminator; <c>false</c>
otherwise. </returns>
</member>
<member name="M:Jurassic.NumberParser.RefineEstimate(System.Double,System.Int32,Jurassic.BigInteger)">
<summary>
Modifies the initial estimate until the closest double-precision number to the desired
value is found.
</summary>
<param name="initialEstimate"> The initial estimate. Assumed to be very close to the
result. </param>
<param name="base10Exponent"> The power-of-ten scale factor. </param>
<param name="desiredValue"> The desired value, already scaled using the power-of-ten
scale factor. </param>
<returns> 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. </returns>
</member>
<member name="M:Jurassic.NumberParser.AddUlps(System.Double,System.Int32)">
<summary>
Adds ULPs (units in the last place) to the given double-precision number.
</summary>
<param name="value"> The value to modify. </param>
<param name="ulps"> The number of ULPs to add. Can be negative. </param>
<returns> The modified number. </returns>
</member>
<member name="M:Jurassic.NumberParser.ScaleToInteger(System.Double,Jurassic.BigInteger,System.Int32)">
<summary>
Scales the given double-precision number by multiplying and then shifting it.
</summary>
<param name="value"> The value to scale. </param>
<param name="multiplier"> The multiplier. </param>
<param name="shift"> The power of two scale factor. </param>
<returns> A BigInteger containing the result of multiplying <paramref name="value"/> by
<paramref name="multiplier"/> and then shifting left by <paramref name="shift"/> bits. </returns>
</member>
<member name="T:Jurassic.ScriptEngine">
<summary>
Represents the JavaScript script engine. This is the first object that needs to be
instantiated in order to execute javascript code.
</summary>
</member>
<member name="M:Jurassic.ScriptEngine.#ctor">
<summary>
Initializes a new scripting environment.
</summary>
</member>
<member name="M:Jurassic.ScriptEngine.BaseFunctionImplementation(Jurassic.ScriptEngine,System.Object,System.Object[])">
<summary>
Implements the behaviour of the function that is the prototype of the Function object.
</summary>
<param name="engine"></param>
<param name="thisObj"></param>
<param name="args"></param>
<returns></returns>
</member>
<member name="P:Jurassic.ScriptEngine.ForceStrictMode">
<summary>
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
<c>false</c>.
</summary>
</member>
<member name="P:Jurassic.ScriptEngine.CompatibilityMode">
<summary>
Gets or sets a value that indicates whether the script engine should run in
compatibility mode.
</summary>
</member>
<member name="P:Jurassic.ScriptEngine.EnableILAnalysis">
<summary>
Gets or sets a value that indicates whether to disassemble any generated IL and store it
in the associated function.
</summary>
</member>
<member name="P:Jurassic.ScriptEngine.RecursionDepthLimit">
<summary>
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
<see cref="T:System.StackOverflowException"/> will be thrown.
The default value is <c>0</c>, which allows unlimited recursion.
</summary>
</member>
<member name="T:Jurassic.ScriptEngine.StackFrameTransformDelegate">
<summary>
Represents a method that transforms a stack frame when formatting the stack trace.
</summary>
<param name="context"></param>
</member>
<member name="P:Jurassic.ScriptEngine.StackFrameTransform">
<summary>
Gets or sets a delegate that transforms a stack frame when
formatting the stack trace for <see cref="P:Jurassic.Library.ErrorInstance.Stack"/>.
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.
</summary>
</member>
<member name="P:Jurassic.ScriptEngine.FunctionInstancePrototype">
<summary>
The instance prototype of the Function object (i.e. Function.InstancePrototype).
</summary>
<remarks>
This property solves a circular reference in the initialization, plus it speeds up
initialization.
</remarks>
</member>
<member name="P:Jurassic.ScriptEngine.BaseIteratorPrototype">
<summary>
The prototype shared by all iterators.
</summary>
</member>
<member name="P:Jurassic.ScriptEngine.StringIteratorPrototype">
<summary>
The prototype of all string iterators.
</summary>
</member>
<member name="P:Jurassic.ScriptEngine.MapIteratorPrototype">
<summary>
The prototype of all map iterators.
</summary>
</member>
<member name="P:Jurassic.ScriptEngine.SetIteratorPrototype">
<summary>
The prototype of all set iterators.
</summary>
</member>
<member name="P:Jurassic.ScriptEngine.ArrayIteratorPrototype">
<summary>
The prototype of all array iterators.
</summary>
</member>
<member name="P:Jurassic.ScriptEngine.Global">
<summary>
Gets the built-in global object. This object is implicitly accessed when creating
global variables and functions.
</summary>
</member>
<member name="P:Jurassic.ScriptEngine.Array">
<summary>
Gets the built-in Array object.
</summary>
</member>
<member name="P:Jurassic.ScriptEngine.Boolean">
<summary>
Gets the built-in Boolean object.
</summary>
</member>
<member name="P:Jurassic.ScriptEngine.Date">
<summary>
Gets the built-in Date object.
</summary>
</member>
<member name="P:Jurassic.ScriptEngine.Function">
<summary>
Gets the built-in Function object.
</summary>
</member>
<member name="P:Jurassic.ScriptEngine.Map">
<summary>
Gets the built-in Map object.
</summary>
</member>
<member name="P:Jurassic.ScriptEngine.Math">
<summary>
Gets the built-in Math object.
</summary>
</member>
<member name="P:Jurassic.ScriptEngine.Number">
<summary>
Gets the built-in Number object.
</summary>
</member>
<member name="P:Jurassic.ScriptEngine.Object">
<summary>
Gets the built-in Object object.
</summary>
</member>
<member name="P:Jurassic.ScriptEngine.Promise">
<summary>
Gets the built-in Promise object.
</summary>
</member>
<member name="P:Jurassic.ScriptEngine.Proxy">
<summary>
Gets the built-in Proxy object.
</summary>
</member>
<member name="P:Jurassic.ScriptEngine.Reflect">
<summary>
Gets the built-in Reflect object.
</summary>
</member>
<member name="P:Jurassic.ScriptEngine.RegExp">
<summary>
Gets the built-in RegExp object.
</summary>
</member>
<member name="P:Jurassic.ScriptEngine.Set">
<summary>
Gets the built-in String object.
</summary>
</member>
<member name="P:Jurassic.ScriptEngine.String">
<summary>
Gets the built-in String object.
</summary>
</member>
<member name="P:Jurassic.ScriptEngine.Symbol">
<summary>
Gets the built-in Symbol object.
</summary>
</member>
<member name="P:Jurassic.ScriptEngine.WeakMap">
<summary>
Gets the built-in WeakMap object.
</summary>
</member>
<member name="P:Jurassic.ScriptEngine.WeakSet">
<summary>
Gets the built-in WeakSet object.
</summary>
</member>
<member name="P:Jurassic.ScriptEngine.Error">
<summary>
Gets the built-in Error object.
</summary>
</member>
<member name="P:Jurassic.ScriptEngine.RangeError">
<summary>
Gets the built-in RangeError object.
</summary>
</member>
<member name="P:Jurassic.ScriptEngine.TypeError">
<summary>
Gets the built-in TypeError object.
</summary>
</member>
<member name="P:Jurassic.ScriptEngine.SyntaxError">
<summary>
Gets the built-in SyntaxError object.
</summary>
</member>
<member name="P:Jurassic.ScriptEngine.URIError">
<summary>
Gets the built-in URIError object.
</summary>
</member>
<member name="P:Jurassic.ScriptEngine.EvalError">
<summary>
Gets the built-in EvalError object.
</summary>
</member>
<member name="P:Jurassic.ScriptEngine.ReferenceError">
<summary>
Gets the built-in ReferenceError object.
</summary>
</member>
<member name="P:Jurassic.ScriptEngine.ArrayBuffer">
<summary>
Gets the built-in ArrayBuffer object.
</summary>
</member>
<member name="P:Jurassic.ScriptEngine.DataView">
<summary>
Gets the built-in DataView object.
</summary>
</member>
<member name="P:Jurassic.ScriptEngine.Int8Array">
<summary>
Gets the built-in Int8Array object.
</summary>
</member>
<member name="P:Jurassic.ScriptEngine.Uint8Array">
<summary>
Gets the built-in Uint8Array object.
</summary>
</member>
<member name="P:Jurassic.ScriptEngine.Uint8ClampedArray">
<summary>
Gets the built-in Uint8ClampedArray object.
</summary>
</member>
<member name="P:Jurassic.ScriptEngine.Int16Array">
<summary>
Gets the built-in Int16Array object.
</summary>
</member>
<member name="P:Jurassic.ScriptEngine.Uint16Array">
<summary>
Gets the built-in Uint16Array object.
</summary>
</member>
<member name="P:Jurassic.ScriptEngine.Int32Array">
<summary>
Gets the built-in Int32Array object.
</summary>
</member>
<member name="P:Jurassic.ScriptEngine.Uint32Array">
<summary>
Gets the built-in Uint32Array object.
</summary>
</member>
<member name="P:Jurassic.ScriptEngine.Float32Array">
<summary>
Gets the built-in Float32Array object.
</summary>
</member>
<member name="P:Jurassic.ScriptEngine.Float64Array">
<summary>
Gets the built-in Float64Array object.
</summary>
</member>
<member name="P:Jurassic.ScriptEngine.EnableExposedClrTypes">
<summary>
Gets or sets whether CLR types can be exposed directly to the script engine. If this is set to
<c>false</c>, attempting to instantiate CLR types from script may result in exceptions being
thrown in script.
</summary>
<remarks>
<para>This property is intended to prevent script developers from accessing the entire CLR
type system, for security purposes. When this property is set to <c>false</c>, 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.</para>
</remarks>
</member>
<member name="M:Jurassic.ScriptEngine.Compile(Jurassic.ScriptSource)">
<summary>
Compiles the given source code and returns it in a form that can be executed many
times.
</summary>
<param name="source"> The javascript source code to execute. </param>
<returns> A CompiledScript instance, which can be executed as many times as needed. </returns>
<exception cref="T:System.ArgumentNullException"> <paramref name="source"/> is a <c>null</c> reference. </exception>
</member>
<member name="M:Jurassic.ScriptEngine.Evaluate(System.String)">
<summary>
Executes the given source code. Execution is bound to the global scope.
</summary>
<param name="code"> The javascript source code to execute. </param>
<returns> The result of executing the source code. </returns>
<exception cref="T:System.ArgumentNullException"> <paramref name="code"/> is a <c>null</c> reference. </exception>
</member>
<member name="M:Jurassic.ScriptEngine.Evaluate``1(System.String)">
<summary>
Executes the given source code. Execution is bound to the global scope.
</summary>
<typeparam name="T"> The type to convert the result to. </typeparam>
<param name="code"> The javascript source code to execute. </param>
<returns> The result of executing the source code. </returns>
<exception cref="T:System.ArgumentNullException"> <paramref name="code"/> is a <c>null</c> reference. </exception>
</member>
<member name="M:Jurassic.ScriptEngine.Evaluate(Jurassic.ScriptSource)">
<summary>
Executes the given source code. Execution is bound to the global scope.
</summary>
<param name="source"> The javascript source code to execute. </param>
<returns> The result of executing the source code. </returns>
<exception cref="T:System.ArgumentNullException"> <paramref name="source"/> is a <c>null</c> reference. </exception>
</member>
<member name="M:Jurassic.ScriptEngine.Evaluate``1(Jurassic.ScriptSource)">
<summary>
Executes the given source code. Execution is bound to the global scope.
</summary>
<typeparam name="T"> The type to convert the result to. </typeparam>
<param name="source"> The javascript source code to execute. </param>
<returns> The result of executing the source code. </returns>
<exception cref="T:System.ArgumentNullException"> <paramref name="source"/> is a <c>null</c> reference. </exception>
</member>
<member name="M:Jurassic.ScriptEngine.Execute(System.String)">
<summary>
Executes the given source code. Execution is bound to the global scope.
</summary>
<param name="code"> The javascript source code to execute. </param>
</member>
<member name="M:Jurassic.ScriptEngine.ExecuteFile(System.String)">
<summary>
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.
</summary>
<param name="path"> The path to a javascript file. This can be a local file path or a
UNC path. </param>
<exception cref="T:System.ArgumentNullException"> <paramref name="path"/> is a <c>null</c> reference. </exception>
</member>
<member name="M:Jurassic.ScriptEngine.ExecuteFile(System.String,System.Text.Encoding)">
<summary>
Executes the given file. Execution is bound to the global scope.
</summary>
<param name="path"> The path to a javascript file. This can be a local file path or a
UNC path. </param>
<param name="encoding"> The character encoding to use if the file lacks a byte order
mark (BOM). </param>
<exception cref="T:System.ArgumentNullException"> <paramref name="path"/> is a <c>null</c> reference. </exception>
</member>
<member name="M:Jurassic.ScriptEngine.Execute(Jurassic.ScriptSource)">
<summary>
Executes the given source code. Execution is bound to the global scope.
</summary>
<param name="source"> The javascript source code to execute. </param>
<exception cref="T:System.ArgumentNullException"> <paramref name="source"/> is a <c>null</c> reference. </exception>
</member>
<member name="M:Jurassic.ScriptEngine.VerifyGeneratedCode">
<summary>
Verifies the generated byte code.
</summary>
</member>
<member name="M:Jurassic.ScriptEngine.CreateOptions">
<summary>
Creates a CompilerOptions instance using the script engine properties.
</summary>
<returns> A populated CompilerOptions instance. </returns>
</member>
<member name="M:Jurassic.ScriptEngine.HasGlobalValue(System.String)">
<summary>
Gets a value that indicates whether the global variable with the given name is defined.
</summary>
<param name="variableName"> The name of the variable to check. </param>
<returns> <c>true</c> if the given variable has a value; <c>false</c> otherwise. </returns>
<remarks> Note that a variable that has been set to <c>undefined</c> is still
considered to have a value. </remarks>
</member>
<member name="M:Jurassic.ScriptEngine.GetGlobalValue(System.String)">
<summary>
Gets the value of the global variable with the given name.
</summary>
<param name="variableName"> The name of the variable to retrieve the value for. </param>
<returns> The value of the global variable, or <c>null</c> otherwise. </returns>
</member>
<member name="M:Jurassic.ScriptEngine.GetGlobalValue``1(System.String)">
<summary>
Gets the value of the global variable with the given name and coerces it to the given
type.
</summary>
<typeparam name="T"> The type to coerce the value to. </typeparam>
<param name="variableName"> The name of the variable to retrieve the value for. </param>
<returns> The value of the global variable, or <c>null</c> otherwise. </returns>
<remarks> Note that <c>null</c> is coerced to the following values: <c>false</c> (if
<typeparamref name="T"/> is <c>bool</c>), 0 (if <typeparamref name="T"/> is <c>int</c>
or <c>double</c>), string.Empty (if <typeparamref name="T"/> is <c>string</c>). </remarks>
</member>
<member name="M:Jurassic.ScriptEngine.SetGlobalValue(System.String,System.Object)">
<summary>
Sets the value of the global variable with the given name. If the property does not
exist, it will be created.
</summary>
<param name="variableName"> The name of the variable to set. </param>
<param name="value"> The desired value of the variable. This must be of a supported
type (bool, int, double, string, Null, Undefined or a ObjectInstance-derived type). </param>
<exception cref="T:Jurassic.JavaScriptException"> The property is read-only or the property does
not exist and the object is not extensible. </exception>
</member>
<member name="M:Jurassic.ScriptEngine.CallGlobalFunction(System.String,System.Object[])">
<summary>
Calls a global function and returns the result.
</summary>
<param name="functionName"> The name of the function to call. </param>
<param name="argumentValues"> The argument values to pass to the function. </param>
<returns> The return value from the function. </returns>
</member>
<member name="M:Jurassic.ScriptEngine.CallGlobalFunction``1(System.String,System.Object[])">
<summary>
Calls a global function and returns the result.
</summary>
<typeparam name="T"> The type to coerce the value to. </typeparam>
<param name="functionName"> The name of the function to call. </param>
<param name="argumentValues"> The argument values to pass to the function. </param>
<returns> The return value from the function, coerced to the given type. </returns>
</member>
<member name="M:Jurassic.ScriptEngine.SetGlobalFunction(System.String,System.Delegate)">
<summary>
Sets the global variable with the given name to a function implemented by the provided
delegate.
</summary>
<param name="functionName"> The name of the global variable to set. </param>
<param name="functionDelegate"> The delegate that will implement the function. </param>
</member>
<member name="E:Jurassic.ScriptEngine.ParsingStarted">
<summary>
Fires when the compiler starts parsing javascript source code.
</summary>
</member>
<member name="E:Jurassic.ScriptEngine.OptimizationStarted">
<summary>
Fires when the compiler starts optimizing.
</summary>
</member>
<member name="E:Jurassic.ScriptEngine.CodeGenerationStarted">
<summary>
Fires when the compiler starts generating byte code.
</summary>
</member>
<member name="E:Jurassic.ScriptEngine.ExecutionStarted">
<summary>
Fires when the compiler starts running javascript code.
</summary>
</member>
<member name="P:Jurassic.ScriptEngine.EmptySchema">
<summary>
Gets an empty schema.
</summary>
</member>
<member name="M:Jurassic.ScriptEngine.Eval(System.String,Jurassic.Compiler.RuntimeScope,System.Object,System.Boolean)">
<summary>
Evaluates the given javascript source code and returns the result.
</summary>
<param name="code"> The source code to evaluate. </param>
<param name="scope"> The containing scope. </param>
<param name="thisObject"> The value of the "this" keyword in the containing scope. </param>
<param name="strictMode"> Indicates whether the eval statement is being called from
strict mode code. </param>
<returns> The value of the last statement that was executed, or <c>undefined</c> if
there were no executed statements. </returns>
</member>
<member name="M:Jurassic.ScriptEngine.FormatStackTrace(System.String,System.String,System.String,System.String,System.Int32)">
<summary>
Creates a stack trace.
</summary>
<param name="errorName"> The name of the error (e.g. "ReferenceError"). </param>
<param name="message"> The error message. </param>
<param name="path"> The path of the javascript source file that is currently executing. </param>
<param name="function"> The name of the currently executing function. </param>
<param name="line"> The line number of the statement that is currently executing. </param>
</member>
<member name="M:Jurassic.ScriptEngine.AppendStackFrame(System.Text.StringBuilder,System.String,System.String,System.Int32,Jurassic.ScriptEngine.CallType)">
<summary>
Appends a stack frame to the end of the given StringBuilder instance.
</summary>
<param name="result"> The StringBuilder to append to. </param>
<param name="path"> The path of the javascript source file. </param>
<param name="function"> The name of the function. </param>
<param name="line"> The line number of the statement. </param>
<param name="parentCallType"> The method by which the current stack frame was created. </param>
</member>
<member name="M:Jurassic.ScriptEngine.PushStackFrame(System.String,System.String,System.Int32,Jurassic.ScriptEngine.CallType)">
<summary>
Pushes a frame to the javascript stack. This needs to be called every time there is a
function call.
</summary>
<param name="path"> The path of the javascript source file that contains the function. </param>
<param name="function"> The name of the function that is calling another function. </param>
<param name="line"> The line number of the function call. </param>
<param name="callType"> The type of call that is being made. </param>
</member>
<member name="M:Jurassic.ScriptEngine.PopStackFrame">
<summary>
Pops a frame from the javascript stack.
</summary>
</member>
<member name="M:Jurassic.ScriptEngine.CanCatchException(System.Object)">
<summary>
Checks if the given <paramref name="exception"/> is catchable by JavaScript code with a
<c>catch</c> clause.
Note: This method is public for technical reasons only and should not be used by user code.
</summary>
<param name="exception"> The exception to check. </param>
<returns><c>true</c> if the <see cref="T:System.Exception"/> is catchable, <c>false otherwise</c></returns>
</member>
<member name="P:Jurassic.ScriptEngine.InstanceTypeWrapperCache">
<summary>
Gets a dictionary that can be used to cache ClrInstanceTypeWrapper instances.
</summary>
</member>
<member name="P:Jurassic.ScriptEngine.StaticTypeWrapperCache">
<summary>
Gets a dictionary that can be used to cache ClrStaticTypeWrapper instances.
</summary>
</member>
<member name="M:Jurassic.ScriptEngine.GetCachedTemplateStringsArray(System.Int32)">
<summary>
Returns a cached template array, suitable for passing to a tag function.
</summary>
<param name="cacheKey"> The cache key that identifies the array to return. </param>
<returns> The cached template array, or <c>null</c> if no array with the given cache
key has been cached. </returns>
</member>
<member name="M:Jurassic.ScriptEngine.SetCachedTemplateStringsArray(System.Int32,Jurassic.Library.ArrayInstance)">
<summary>
Caches a template array using the given cache key.
</summary>
<param name="cacheKey"> The cache key that identifies the array to cache. </param>
<param name="cachedValue"> The cached value. </param>
</member>
<member name="M:Jurassic.ScriptEngine.AddPostExecuteStep(System.Action)">
<summary>
Appends a callback that will be executed at the end of script execution.
</summary>
<param name="callback"> The callback function. </param>
</member>
<member name="M:Jurassic.ScriptEngine.ExecutePostExecuteSteps">
<summary>
This method is called at the end of script execution in order to execute pending
callbacks registered with <see cref="M:Jurassic.ScriptEngine.AddPostExecuteStep(System.Action)"/>.
</summary>
</member>
<member name="M:Jurassic.ScriptEngine.ClearPostExecuteSteps">
<summary>
Clears (and does not execute) all queued post-execute actions.
</summary>
</member>
<member name="M:Jurassic.ScriptEngine.EnqueueEvent(System.Action)">
<summary>
Adds a callback to the end of the event queue.
</summary>
<param name="action"> The action to enqueue. </param>
<remarks> This method is thread-safe. </remarks>
</member>
<member name="P:Jurassic.ScriptEngine.EventQueueCount">
<summary>
The number of queued actions in the event queue.
</summary>
</member>
<member name="M:Jurassic.ScriptEngine.ExecuteNextEventQueueAction">
<summary>
Removes the first available action from the event queue, and executes it.
</summary>
<returns> <c>true</c> if an event queue action was executed, <c>false</c> if the event
queue was empty. </returns>
<remarks>
This method is meant to be called in a loop, like this:
<code>
while (scriptEngine.ExecuteNextEventQueueAction()) { }
</code>
If an exception is thrown, you should assume that the action was successfully removed
from the queue. This means <see cref="M:Jurassic.ScriptEngine.ExecuteNextEventQueueAction"/> can be called
again without triggering the same exception.
</remarks>
</member>
<member name="T:Jurassic.FileScriptSource">
<summary>
Represents a script file.
</summary>
</member>
<member name="M:Jurassic.FileScriptSource.#ctor(System.String,System.Text.Encoding)">
<summary>
Creates a new FileScriptSource instance.
</summary>
<param name="path"> The path of the script file. </param>
<param name="encoding"> 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. </param>
</member>
<member name="P:Jurassic.FileScriptSource.Path">
<summary>
Gets the path of the source file (either a path on the file system or a URL). This
can be <c>null</c> if no path is available.
</summary>
</member>
<member name="M:Jurassic.FileScriptSource.GetReader">
<summary>
Returns a reader that can be used to read the source code for the script.
</summary>
<returns> A reader that can be used to read the source code for the script, positioned
at the start of the source code. </returns>
<remarks> If this method is called multiple times then each reader must return the
same source code. </remarks>
</member>
<member name="T:Jurassic.ScriptSource">
<summary>
Represents a resource that can provide script code. This is the abstract base class of all
the script providers.
</summary>
</member>
<member name="P:Jurassic.ScriptSource.Path">
<summary>
Gets the path of the source file (either a path on the file system or a URL). This
can be <c>null</c> if no path is available.
</summary>
</member>
<member name="M:Jurassic.ScriptSource.GetReader">
<summary>
Returns a reader that can be used to read the source code for the script.
</summary>
<returns> A reader that can be used to read the source code for the script, positioned
at the start of the source code. </returns>
<remarks> If this method is called multiple times then each reader must return the
same source code. </remarks>
</member>
<member name="M:Jurassic.ScriptSource.ReadSpan(Jurassic.Compiler.SourceCodeSpan)">
<summary>
Reads the source code within the given span.
</summary>
<param name="span"> The start and end positions within the source code. </param>
<returns> The source code within the given span. </returns>
</member>
<member name="T:Jurassic.StringScriptSource">
<summary>
Represents a string containing script code.
</summary>
</member>
<member name="M:Jurassic.StringScriptSource.#ctor(System.String)">
<summary>
Creates a new StringScriptSource instance.
</summary>
<param name="code"> The script code. </param>
</member>
<member name="M:Jurassic.StringScriptSource.#ctor(System.String,System.String)">
<summary>
Creates a new StringScriptSource instance.
</summary>
<param name="code"> The script code. </param>
<param name="path"> The path of the file the script code was retrieved from. </param>
</member>
<member name="P:Jurassic.StringScriptSource.Path">
<summary>
Gets the path of the source file (either a path on the file system or a URL). This
can be <c>null</c> if no path is available.
</summary>
</member>
<member name="M:Jurassic.StringScriptSource.GetReader">
<summary>
Returns a reader that can be used to read the source code for the script.
</summary>
<returns> A reader that can be used to read the source code for the script, positioned
at the start of the source code. </returns>
<remarks> If this method is called multiple times then each reader must return the
same source code. </remarks>
</member>
<member name="T:Jurassic.StackFrameTransformContext">
<summary>
Contains stack frame properties which can be transformed when formatting the
stack trace.
</summary>
</member>
<member name="P:Jurassic.StackFrameTransformContext.SuppressStackFrame">
<summary>
Gets or sets a value that indicates if the stack frame represented by
this <see cref="T:Jurassic.StackFrameTransformContext"/> should be suppressed, so that
it is not displayed in the stack trace.
The default value is <c>false</c>.
</summary>
</member>
<member name="P:Jurassic.StackFrameTransformContext.Line">
<summary>
Gets or sets the line number. A value of <c>0</c> means the line number
is unknown.
</summary>
</member>
<member name="P:Jurassic.StackFrameTransformContext.Path">
<summary>
Gets or sets the path of the javascript script file. A value of
<c>null</c> means that the path is unknown.
</summary>
</member>
<member name="P:Jurassic.StackFrameTransformContext.Function">
<summary>
Gets or sets the name of the function. A value of <c>null</c> or
the empty string (<c>""</c>) means that the path is unknown.
</summary>
</member>
<member name="T:Jurassic.StringHelpers">
<summary>
Contains handy string routines.
</summary>
</member>
<member name="M:Jurassic.StringHelpers.Join``1(System.String,System.Collections.Generic.IEnumerable{``0})">
<summary>
Concatenates a specified separator string between each element of a specified string
array, yielding a single concatenated string.
</summary>
<typeparam name="T"> The type of the members of <paramref name="values"/> </typeparam>
<param name="separator"> The string to use as a separator. </param>
<param name="values"> A collection that contains the objects to concatenate. </param>
<returns> A string that consists of the members of <paramref name="values"/> delimited
by the <paramref name="separator"/> string. </returns>
</member>
<member name="T:Jurassic.TypeComparer">
<summary>
Implements the JavaScript equality and comparison rules.
</summary>
</member>
<member name="M:Jurassic.TypeComparer.Equals(System.Object,System.Object)">
<summary>
Compares two objects for equality. Used by the equality operator (==).
</summary>
<param name="x"> The first object to compare. </param>
<param name="y"> The first object to compare. </param>
<returns> <c>true</c> if the objects are identical; <c>false</c> otherwise. </returns>
</member>
<member name="M:Jurassic.TypeComparer.StrictEquals(System.Object,System.Object)">
<summary>
Compares two objects for equality. Used by the strict equality operator (===).
</summary>
<param name="x"> The first object to compare. </param>
<param name="y"> The second object to compare. </param>
<returns> <c>true</c> if the objects are identical; <c>false</c> otherwise. </returns>
<remarks>
With this algorithm:
1. NaN is not considered equal to NaN.
2. +0 and -0 are considered to be equal.
</remarks>
</member>
<member name="M:Jurassic.TypeComparer.LessThan(System.Object,System.Object)">
<summary>
Determines the ordering of two objects. Used by the less than operator (&lt;).
</summary>
<param name="x"> The first object to compare. </param>
<param name="y"> The second object to compare. </param>
<returns> <c>true</c> if <paramref name="x"/> is less than <paramref name="y"/>;
<c>false</c> otherwise. </returns>
</member>
<member name="M:Jurassic.TypeComparer.LessThanOrEqual(System.Object,System.Object)">
<summary>
Determines the ordering of two objects. Used by the less than or equal operator (&lt;=).
</summary>
<param name="x"> The first object to compare. </param>
<param name="y"> The second object to compare. </param>
<returns> <c>true</c> if <paramref name="x"/> is less than or equal to
<paramref name="y"/>; <c>false</c> otherwise. </returns>
</member>
<member name="M:Jurassic.TypeComparer.GreaterThan(System.Object,System.Object)">
<summary>
Determines the ordering of two objects. Used by the greater than operator (&gt;).
</summary>
<param name="x"> The first object to compare. </param>
<param name="y"> The second object to compare. </param>
<returns> <c>true</c> if <paramref name="x"/> is greater than <paramref name="y"/>;
<c>false</c> otherwise. </returns>
</member>
<member name="M:Jurassic.TypeComparer.GreaterThanOrEqual(System.Object,System.Object)">
<summary>
Determines the ordering of two objects. Used by the greater than or equal operator (&gt;=).
</summary>
<param name="x"> The first object to compare. </param>
<param name="y"> The second object to compare. </param>
<returns> <c>true</c> if <paramref name="x"/> is greater than or equal to
<paramref name="y"/>; <c>false</c> otherwise. </returns>
</member>
<member name="M:Jurassic.TypeComparer.SameValue(System.Object,System.Object)">
<summary>
Implements the SameValue algorithm.
</summary>
<param name="x"> The first object to compare. </param>
<param name="y"> The second object to compare. </param>
<returns> <c>true</c> if the objects are the same value according to the SameValue
algorithm. </returns>
<remarks>
With this algorithm:
1. NaN is considered equal to NaN.
2. +0 and -0 are considered to be different.
</remarks>
</member>
<member name="M:Jurassic.TypeComparer.SameValueZero(System.Object,System.Object)">
<summary>
Implements the SameValueZero algorithm.
</summary>
<param name="x"> The first object to compare. </param>
<param name="y"> The second object to compare. </param>
<returns> <c>true</c> if the objects are the same value according to the SameValueZero
algorithm. </returns>
<remarks>
With this algorithm:
1. NaN is considered equal to NaN.
2. +0 and -0 are considered to be equal.
</remarks>
</member>
<member name="T:Jurassic.PrimitiveTypeHint">
<summary>
Provides a hint on how to do the conversion when converting to a primitive.
</summary>
</member>
<member name="F:Jurassic.PrimitiveTypeHint.None">
<summary>
Use the default behaviour.
</summary>
</member>
<member name="F:Jurassic.PrimitiveTypeHint.Number">
<summary>
Prefer converting to a number.
</summary>
</member>
<member name="F:Jurassic.PrimitiveTypeHint.String">
<summary>
Prefer converting to a string.
</summary>
</member>
<member name="T:Jurassic.TypeConverter">
<summary>
Implements the JavaScript type conversion rules.
</summary>
</member>
<member name="M:Jurassic.TypeConverter.ConvertTo``1(Jurassic.ScriptEngine,System.Object)">
<summary>
Converts the given value to the given type.
</summary>
<param name="engine"> The script engine used to create new objects. </param>
<param name="value"> The value to convert. </param>
<typeparam name="T"> The type to convert the value to. </typeparam>
<returns> The converted value. </returns>
</member>
<member name="M:Jurassic.TypeConverter.ConvertTo(Jurassic.ScriptEngine,System.Object,System.Type)">
<summary>
Converts the given value to the given type.
</summary>
<param name="engine"> The script engine used to create new objects. </param>
<param name="value"> The value to convert. </param>
<param name="type"> The type to convert the value to. </param>
<returns> The converted value. </returns>
</member>
<member name="M:Jurassic.TypeConverter.ToBoolean(System.Object)">
<summary>
Converts any JavaScript value to a primitive boolean value.
</summary>
<param name="value"> The value to convert. </param>
<returns> A primitive boolean value. </returns>
</member>
<member name="M:Jurassic.TypeConverter.ToNumber(System.Object)">
<summary>
Converts any JavaScript value to a primitive number value.
</summary>
<param name="value"> The value to convert. </param>
<returns> A primitive number value. </returns>
</member>
<member name="M:Jurassic.TypeConverter.ToString(System.Object)">
<summary>
Converts any JavaScript value to a primitive string value.
</summary>
<param name="value"> The value to convert. </param>
<returns> A primitive string value. </returns>
</member>
<member name="M:Jurassic.TypeConverter.ToString(System.Object,System.String)">
<summary>
Converts any JavaScript value to a primitive string value.
</summary>
<param name="value"> The value to convert. </param>
<param name="defaultValue"> The value to return if the input is undefined. </param>
<returns> A primitive string value. </returns>
</member>
<member name="M:Jurassic.TypeConverter.ToConcatenatedString(System.Object)">
<summary>
Converts any JavaScript value to a concatenated string value.
</summary>
<param name="value"> The value to convert. </param>
<returns> A concatenated string value. </returns>
</member>
<member name="M:Jurassic.TypeConverter.ToObject(Jurassic.ScriptEngine,System.Object)">
<summary>
Converts any JavaScript value to an object.
</summary>
<param name="engine"> The script engine used to create new objects. </param>
<param name="value"> The value to convert. </param>
<returns> An object. </returns>
</member>
<member name="M:Jurassic.TypeConverter.ToObject(Jurassic.ScriptEngine,System.Object,System.Int32,System.String,System.String)">
<summary>
Converts any JavaScript value to an object.
</summary>
<param name="engine"> The script engine used to create new objects. </param>
<param name="value"> The value to convert. </param>
<param name="lineNumber"> The line number in the source file the error occurred on. </param>
<param name="sourcePath"> The path or URL of the source file. Can be <c>null</c>. </param>
<param name="functionName"> The name of the function. Can be <c>null</c>. </param>
<returns> An object. </returns>
</member>
<member name="M:Jurassic.TypeConverter.ToObject``1(Jurassic.ScriptEngine,System.Object)">
<summary>
Converts any JavaScript value to an object.
</summary>
<param name="engine"> The script engine used to create new objects. </param>
<param name="value"> The value to convert. </param>
<returns> An object. </returns>
</member>
<member name="M:Jurassic.TypeConverter.ToPrimitive(System.Object,Jurassic.PrimitiveTypeHint)">
<summary>
Converts any JavaScript value to a primitive value.
</summary>
<param name="value"> The value to convert. </param>
<param name="preferredType"> Specifies whether toString() or valueOf() should be
preferred when converting to a primitive. </param>
<returns> A primitive (non-object) value. </returns>
</member>
<member name="M:Jurassic.TypeConverter.ToPropertyKey(System.Object)">
<summary>
Converts a value to a property key (either a string or a symbol).
</summary>
<param name="value"> The value to convert. </param>
<returns> A property key value. </returns>
</member>
<member name="M:Jurassic.TypeConverter.ToInteger(System.Object)">
<summary>
Converts any JavaScript value to an integer.
</summary>
<param name="value"> The value to convert. </param>
<returns> An integer value. </returns>
</member>
<member name="M:Jurassic.TypeConverter.ToInt32(System.Object)">
<summary>
Converts any JavaScript value to a 32-bit integer.
</summary>
<param name="value"> The value to convert. </param>
<returns> A 32-bit integer value. </returns>
</member>
<member name="M:Jurassic.TypeConverter.ToUint32(System.Object)">
<summary>
Converts any JavaScript value to an unsigned 32-bit integer.
</summary>
<param name="value"> The value to convert. </param>
<returns> An unsigned 32-bit integer value. </returns>
</member>
<member name="M:Jurassic.TypeConverter.ToInt16(System.Object)">
<summary>
Converts any JavaScript value to a signed 16-bit integer.
</summary>
<param name="value"> The value to convert. </param>
<returns> A signed 16-bit integer value. </returns>
</member>
<member name="M:Jurassic.TypeConverter.ToUint16(System.Object)">
<summary>
Converts any JavaScript value to an unsigned 16-bit integer.
</summary>
<param name="value"> The value to convert. </param>
<returns> An unsigned 16-bit integer value. </returns>
</member>
<member name="M:Jurassic.TypeConverter.ToInt8(System.Object)">
<summary>
Converts any JavaScript value to a signed 8-bit integer.
</summary>
<param name="value"> The value to convert. </param>
<returns> A signed 8-bit integer value. </returns>
</member>
<member name="M:Jurassic.TypeConverter.ToUint8(System.Object)">
<summary>
Converts any JavaScript value to an unsigned 8-bit integer.
</summary>
<param name="value"> The value to convert. </param>
<returns> An unsigned 8-bit integer value. </returns>
</member>
<member name="M:Jurassic.TypeConverter.ConvertParameterArrayTo``1(Jurassic.ScriptEngine,System.Object[],System.Int32)">
<summary>
Utility method to convert an object array to a typed array.
</summary>
<typeparam name="T"> The type to convert to. </typeparam>
<param name="engine"> The script engine used to create new objects. </param>
<param name="args"> The array to convert. </param>
<param name="offset"> The number of elements to skip at the beginning of the array. </param>
<returns> A typed array. </returns>
</member>
<member name="T:Jurassic.TypeUtilities">
<summary>
Contains type-related functionality that isn't conversion or comparison.
</summary>
</member>
<member name="M:Jurassic.TypeUtilities.TypeOf(System.Object)">
<summary>
Gets the type name for the given object. Used by the typeof operator.
</summary>
<param name="obj"> The object to get the type name for. </param>
<returns> The type name for the given object. </returns>
</member>
<member name="M:Jurassic.TypeUtilities.IsUndefined(System.Object)">
<summary>
Returns <c>true</c> if the given value is undefined.
</summary>
<param name="obj"> The object to check. </param>
<returns> <c>true</c> if the given value is undefined; <c>false</c> otherwise. </returns>
</member>
<member name="M:Jurassic.TypeUtilities.IsNumeric(System.Object)">
<summary>
Returns <c>true</c> if the given value is a supported numeric type.
</summary>
<param name="obj"> The object to check. </param>
<returns> <c>true</c> if the given value is a supported numeric type; <c>false</c>
otherwise. </returns>
</member>
<member name="M:Jurassic.TypeUtilities.IsString(System.Object)">
<summary>
Returns <c>true</c> if the given value is a supported string type.
</summary>
<param name="obj"> The object to check. </param>
<returns> <c>true</c> if the given value is a supported string type; <c>false</c>
otherwise. </returns>
</member>
<member name="M:Jurassic.TypeUtilities.NormalizeValue(System.Object)">
<summary>
Converts the given value into a standard .NET type, suitable for returning from an API.
</summary>
<param name="obj"> The value to normalize. </param>
<returns> The value as a standard .NET type. </returns>
</member>
<member name="M:Jurassic.TypeUtilities.EnumeratePropertyNames(Jurassic.ScriptEngine,System.Object)">
<summary>
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.
</summary>
<param name="engine"> The script engine used to convert the given value to an object. </param>
<param name="obj"> The object to enumerate. </param>
<returns> An enumerator that iteratively returns property names. </returns>
</member>
<member name="M:Jurassic.TypeUtilities.Add(System.Object,System.Object)">
<summary>
Adds two objects together, as if by the javascript addition operator.
</summary>
<param name="left"> The left hand side operand. </param>
<param name="right"> The right hand side operand. </param>
<returns> Either a number or a concatenated string. </returns>
</member>
<member name="M:Jurassic.TypeUtilities.IsPrimitive(System.Object)">
<summary>
Determines if the given value is a supported JavaScript primitive.
</summary>
<param name="value"> The value to test. </param>
<returns> <c>true</c> if the given value is a supported JavaScript primitive;
<c>false</c> otherwise. </returns>
</member>
<member name="M:Jurassic.TypeUtilities.IsPrimitiveOrObject(System.Object)">
<summary>
Determines if the given value is a supported JavaScript primitive or derives from
ObjectInstance.
</summary>
<param name="value"> The value to test. </param>
<returns> <c>true</c> if the given value is a supported JavaScript primitive or derives
from ObjectInstance; <c>false</c> otherwise. </returns>
</member>
<member name="M:Jurassic.TypeUtilities.VerifyThisObject(Jurassic.ScriptEngine,System.Object,System.String)">
<summary>
Throws a TypeError when the given value is <c>null</c> or <c>undefined.</c>
</summary>
<param name="engine"> The associated script engine. </param>
<param name="value"> The value to check. </param>
<param name="functionName"> The name of the function which is doing the check. </param>
</member>
<member name="M:Jurassic.TypeUtilities.SliceArray(System.Object[],System.Int32)">
<summary>
Utility method for create a slice of an array.
</summary>
<param name="args"> The array to slice. </param>
<param name="offset"> The offset to begin the resulting array. </param>
<returns> An array containing the input array elements, excluding the first
<paramref name="offset"/> entries. </returns>
</member>
<member name="M:Jurassic.TypeUtilities.IsNegativeZero(System.Double)">
<summary>
Determines if the given number is negative zero.
</summary>
<param name="value"> The value to test. </param>
<returns> <c>true</c> if the value is negative zero; <c>false</c> otherwise. </returns>
</member>
<member name="M:Jurassic.TypeUtilities.IsPositiveZero(System.Double)">
<summary>
Determines if the given number is positive zero.
</summary>
<param name="value"> The value to test. </param>
<returns> <c>true</c> if the value is positive zero; <c>false</c> otherwise. </returns>
</member>
<member name="M:Jurassic.TypeUtilities.GetIterator(Jurassic.ScriptEngine,Jurassic.Library.ObjectInstance)">
<summary>
Converts an iteratable object into a iterator by looking up the @@iterator property,
then calling that value as a function.
</summary>
<param name="engine"> The script engine. </param>
<param name="iterable"> The object to get a iterator from. </param>
<returns> An iterator object, with a next function, or <c>null</c> if the iterator
symbol value is undefined or null. </returns>
</member>
<member name="M:Jurassic.TypeUtilities.CreateIterator(Jurassic.ScriptEngine,System.Collections.IEnumerable)">
<summary>
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.
</summary>
<param name="engine"> The script engine to associate the new object with. </param>
<param name="enumerable"> The enumerable collection. The item type must be a supported
type. </param>
<returns> An iterator object that also supports the iterable protocol. </returns>
</member>
<member name="M:Jurassic.TypeUtilities.RequireIterator(Jurassic.ScriptEngine,System.Object)">
<summary>
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.
</summary>
<param name="engine"> The script engine. </param>
<param name="iterable"> The object to get a iterator from. </param>
<returns> An iterator object, with a next function. </returns>
</member>
<member name="M:Jurassic.TypeUtilities.Iterate(Jurassic.ScriptEngine,Jurassic.Library.ObjectInstance)">
<summary>
Iterate over the values in an iterator.
</summary>
<param name="engine"> The script engine. </param>
<param name="iterator"> The iterator object. Must contain a next function. </param>
<returns> An enumerable list of iterator values. </returns>
</member>
<member name="M:Jurassic.TypeUtilities.ForOf(Jurassic.ScriptEngine,System.Object)">
<summary>
Implements the logic for the for-of operator.
</summary>
<param name="engine"> The script engine. </param>
<param name="iterable"> The object to get a iterator from. </param>
<returns> An enumerable list of iterator values. </returns>
</member>
<member name="M:Jurassic.TypeUtilities.CreateListFromArrayLike(Jurassic.Library.ObjectInstance)">
<summary>
Create an array whose elements are provided by the indexed properties of an array-like object.
</summary>
<param name="arrayLike"> The array-like object to convert. </param>
<returns> An array. </returns>
</member>
<member name="M:Jurassic.TypeUtilities.GetSpeciesConstructor(Jurassic.Library.ObjectInstance,Jurassic.Library.FunctionInstance)">
<summary>
Retrieves the constructor that should be used to create new objects that are derived
from the argument object <paramref name="objectInstance"/>.
</summary>
<param name="objectInstance"> The object to check. </param>
<param name="defaultConstructor"> The constructor to return if no @@species property
can be found. </param>
<returns> A constructor that can be used to create new objects. </returns>
</member>
<member name="T:Jurassic.Undefined">
<summary>
Represents the JavaScript "undefined" type and provides the one and only instance of that type.
</summary>
</member>
<member name="M:Jurassic.Undefined.#ctor">
<summary>
Creates a new Undefined instance.
</summary>
</member>
<member name="F:Jurassic.Undefined.Value">
<summary>
Gets the one and only "undefined" instance.
</summary>
</member>
<member name="M:Jurassic.Undefined.ToString">
<summary>
Returns a string representing the current object.
</summary>
<returns> A string representing the current object. </returns>
</member>
<member name="T:Jurassic.Library.ArrayAdapter`1">
<summary>
Implements the array algorithms that are shared between arrays and typed arrays.
</summary>
</member>
<member name="M:Jurassic.Library.ArrayAdapter`1.#ctor(Jurassic.Library.ObjectInstance,System.Int32)">
<summary>
Creates a new ArrayWrapper instance.
</summary>
<param name="wrappedInstance"> The array-like object that is being wrapped. </param>
<param name="length"> The number of elements in the array. </param>
</member>
<member name="P:Jurassic.Library.ArrayAdapter`1.Engine">
<summary>
The current scripting environment.
</summary>
</member>
<member name="P:Jurassic.Library.ArrayAdapter`1.WrappedInstance">
<summary>
The array-like object that is being wrapped.
</summary>
</member>
<member name="P:Jurassic.Library.ArrayAdapter`1.Length">
<summary>
The number of elements in the array.
</summary>
</member>
<member name="P:Jurassic.Library.ArrayAdapter`1.Item(System.Int32)">
<summary>
Gets or sets an array element within the range 0 .. Length-1 (inclusive).
</summary>
<param name="index"> The index to get or set. </param>
<returns> The value at the given index. </returns>
</member>
<member name="M:Jurassic.Library.ArrayAdapter`1.Delete(System.Int32)">
<summary>
Deletes the value at the given array index, throwing an exception on error.
</summary>
<param name="index"> The array index to delete. </param>
</member>
<member name="M:Jurassic.Library.ArrayAdapter`1.HasProperty(System.Int32)">
<summary>
Indicates whether the array index exists (has a value).
</summary>
<param name="index"> The index to check. </param>
<returns> <c>true</c> if the index exists, <c>false</c> otherwise. </returns>
</member>
<member name="M:Jurassic.Library.ArrayAdapter`1.ConstructArray(`0[])">
<summary>
Creates a new array of the same type as this one.
</summary>
<param name="values"> The values in the new array. </param>
<returns> A new array object. </returns>
</member>
<member name="M:Jurassic.Library.ArrayAdapter`1.ConvertValue(System.Object)">
<summary>
Convert an untyped value to a typed value.
</summary>
<param name="value"> The value to convert. </param>
<returns> The value converted to type <typeparamref name="T"/>. </returns>
</member>
<member name="M:Jurassic.Library.ArrayAdapter`1.Join(System.String)">
<summary>
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.
</summary>
<param name="separator"> The string to use as a separator. </param>
<returns> A string that consists of the element values separated by the separator string. </returns>
</member>
<member name="M:Jurassic.Library.ArrayAdapter`1.Reverse">
<summary>
Reverses the order of the elements in the array.
</summary>
<returns> The array that is being operated on. </returns>
</member>
<member name="M:Jurassic.Library.ArrayAdapter`1.Slice(System.Int32,System.Int32)">
<summary>
Returns a section of an array.
</summary>
<param name="start"> 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. </param>
<param name="end"> 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
<paramref name="end"/> is less than or equal to <paramref name="start"/> then an empty
array is returned. </param>
<returns> A section of an array. </returns>
</member>
<member name="M:Jurassic.Library.ArrayAdapter`1.Sort(System.Comparison{`0})">
<summary>
Sorts the array.
</summary>
<param name="comparer"> A comparison function. </param>
<returns> The array that was sorted. </returns>
</member>
<member name="M:Jurassic.Library.ArrayAdapter`1.ToLocaleString">
<summary>
Returns a locale-specific string representing this object.
</summary>
<returns> A locale-specific string representing this object. </returns>
</member>
<member name="M:Jurassic.Library.ArrayAdapter`1.ToString">
<summary>
Returns a string representing this object.
</summary>
<returns> A string representing this object. </returns>
</member>
<member name="M:Jurassic.Library.ArrayAdapter`1.IndexOf(System.Object,System.Int32)">
<summary>
Returns the index of the given search element in the array, starting from
<paramref name="fromIndex"/>.
</summary>
<param name="searchElement"> The value to search for. </param>
<param name="fromIndex"> The array index to start searching. </param>
<returns> The index of the given search element in the array, or <c>-1</c> if the
element wasn't found. </returns>
</member>
<member name="M:Jurassic.Library.ArrayAdapter`1.LastIndexOf(System.Object,System.Int32)">
<summary>
Returns the index of the given search element in the array, searching backwards from
<paramref name="fromIndex"/>.
</summary>
<param name="searchElement"> The value to search for. </param>
<param name="fromIndex"> The array index to start searching. </param>
<returns> The index of the given search element in the array, or <c>-1</c> if the
element wasn't found. </returns>
</member>
<member name="M:Jurassic.Library.ArrayAdapter`1.Every(Jurassic.Library.FunctionInstance,Jurassic.Library.ObjectInstance)">
<summary>
Determines if every element of the array matches criteria defined by the given user-
defined function.
</summary>
<param name="callbackFunction"> 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 <c>true</c> or <c>false</c>. </param>
<param name="context"> The value of <c>this</c> in the context of the callback function. </param>
<returns> <c>true</c> if every element of the array matches criteria defined by the
given user-defined function; <c>false</c> otherwise. </returns>
</member>
<member name="M:Jurassic.Library.ArrayAdapter`1.Some(Jurassic.Library.FunctionInstance,Jurassic.Library.ObjectInstance)">
<summary>
Determines if at least one element of the array matches criteria defined by the given
user-defined function.
</summary>
<param name="callbackFunction"> 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 <c>true</c> or <c>false</c>. </param>
<param name="context"> The value of <c>this</c> in the context of the callback function. </param>
<returns> <c>true</c> if at least one element of the array matches criteria defined by
the given user-defined function; <c>false</c> otherwise. </returns>
</member>
<member name="M:Jurassic.Library.ArrayAdapter`1.ForEach(Jurassic.Library.FunctionInstance,Jurassic.Library.ObjectInstance)">
<summary>
Calls the given user-defined function once per element in the array.
</summary>
<param name="callbackFunction"> 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. </param>
<param name="context"> The value of <c>this</c> in the context of the callback function. </param>
</member>
<member name="M:Jurassic.Library.ArrayAdapter`1.Map(Jurassic.Library.FunctionInstance,Jurassic.Library.ObjectInstance)">
<summary>
Creates a new array with the results of calling the given function on every element in
this array.
</summary>
<param name="callbackFunction"> 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. </param>
<param name="context"> The value of <c>this</c> in the context of the callback function. </param>
<returns> A new array with the results of calling the given function on every element
in the array. </returns>
</member>
<member name="M:Jurassic.Library.ArrayAdapter`1.Find(Jurassic.Library.FunctionInstance,Jurassic.Library.ObjectInstance)">
<summary>
Returns the first element in the given array that passes the test implemented by the
given function.
</summary>
<param name="callbackFunction"> 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 <c>true</c> or <c>false</c>. </param>
<param name="context"> The value of <c>this</c> in the context of the callback function. </param>
<returns> The first element that results in the callback returning <c>true</c>. </returns>
</member>
<member name="M:Jurassic.Library.ArrayAdapter`1.Filter(Jurassic.Library.FunctionInstance,Jurassic.Library.ObjectInstance)">
<summary>
Creates a new array with the elements from this array that pass the test implemented by
the given function.
</summary>
<param name="callbackFunction"> 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 <c>true</c> or <c>false</c>. </param>
<param name="context"> The value of <c>this</c> in the context of the callback function. </param>
<returns> A copy of this array but with only those elements which produce <c>true</c>
when passed to the provided function. </returns>
</member>
<member name="M:Jurassic.Library.ArrayAdapter`1.Reduce(Jurassic.Library.FunctionInstance,System.Object)">
<summary>
Accumulates a single value by calling a user-defined function for each element.
</summary>
<param name="callbackFunction"> 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. </param>
<param name="initialValue"> The initial accumulated value. </param>
<returns> The accumulated value returned from the last invocation of the callback
function. </returns>
</member>
<member name="M:Jurassic.Library.ArrayAdapter`1.ReduceRight(Jurassic.Library.FunctionInstance,System.Object)">
<summary>
Accumulates a single value by calling a user-defined function for each element
(starting with the last element in the array).
</summary>
<param name="callbackFunction"> 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. </param>
<param name="initialValue"> The initial accumulated value. </param>
<returns> The accumulated value returned from the last invocation of the callback
function. </returns>
</member>
<member name="M:Jurassic.Library.ArrayAdapter`1.CopyWithin(System.Int32,System.Int32,System.Int32)">
<summary>
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.
</summary>
<param name="target"> Target start index position where to copy the elements to. </param>
<param name="start"> Source start index position where to start copying elements from. </param>
<param name="end"> Optional. Source end index position where to end copying elements from. </param>
<returns> The array that is being operated on. </returns>
</member>
<member name="M:Jurassic.Library.ArrayAdapter`1.Fill(`0,System.Int32,System.Int32)">
<summary>
Fills all the elements of a typed array from a start index to an end index with a
static value.
</summary>
<param name="value"> The value to fill the typed array with. </param>
<param name="start"> Optional. Start index. Defaults to 0. </param>
<param name="end"> Optional. End index (exclusive). Defaults to the length of the array. </param>
<returns> The array that is being operated on. </returns>
</member>
<member name="M:Jurassic.Library.ArrayAdapter`1.FindIndex(Jurassic.Library.FunctionInstance,Jurassic.Library.ObjectInstance)">
<summary>
Returns an index in the typed array, if an element in the typed array satisfies the
provided testing function. Otherwise -1 is returned.
</summary>
<param name="callbackFunction"> 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 <c>true</c> or <c>false</c>. </param>
<param name="context"> The value of <c>this</c> in the context of the callback function. </param>
<returns> The first element that results in the callback returning <c>true</c>. </returns>
</member>
<member name="M:Jurassic.Library.ArrayAdapter`1.Includes(System.Object,System.Int32)">
<summary>
Determines whether an array includes a certain value among its entries.
</summary>
<param name="searchElement"> The value to search for. </param>
<param name="fromIndex"> The array index to start searching. </param>
<returns> <c>true</c> given search element in the array, or <c>false</c> if the element
wasn't found. </returns>
</member>
<member name="M:Jurassic.Library.ArrayAdapter`1.QuickSort(System.Comparison{`0},System.Int32,System.Int32)">
<summary>
Sorts a array using the quicksort algorithm.
</summary>
<param name="comparer"> A comparison function. </param>
<param name="start"> The first index in the range. </param>
<param name="end"> The last index in the range. </param>
</member>
<member name="M:Jurassic.Library.ArrayAdapter`1.InsertionSort(System.Comparison{`0},System.Int32,System.Int32)">
<summary>
Sorts a array using the insertion sort algorithm.
</summary>
<param name="comparer"> A comparison function. </param>
<param name="start"> The first index in the range. </param>
<param name="end"> The last index in the range. </param>
</member>
<member name="M:Jurassic.Library.ArrayAdapter`1.Swap(System.Int32,System.Int32)">
<summary>
Swaps the elements at two locations in the array.
</summary>
<param name="index1"> The location of the first element. </param>
<param name="index2"> The location of the second element. </param>
</member>
<member name="T:Jurassic.Library.ArrayConstructor">
<summary>
Represents the built-in javascript Array object.
</summary>
</member>
<member name="M:Jurassic.Library.ArrayConstructor.#ctor(Jurassic.Library.ObjectInstance)">
<summary>
Creates a new Array object.
</summary>
<param name="prototype"> The next object in the prototype chain. </param>
</member>
<member name="M:Jurassic.Library.ArrayConstructor.New">
<summary>
Creates a new Array instance.
</summary>
</member>
<member name="M:Jurassic.Library.ArrayConstructor.New(System.Object[])">
<summary>
Creates a new Array instance.
</summary>
<param name="elements"> The initial elements of the new array. </param>
</member>
<member name="M:Jurassic.Library.ArrayConstructor.New(Jurassic.Library.ObjectInstance,System.Object[])">
<summary>
Creates a new Array instance.
</summary>
<param name="prototype"> The prototype of the newly created array. </param>
<param name="elements"> The initial elements of the new array. </param>
</member>
<member name="P:Jurassic.Library.ArrayConstructor.Species">
<summary>
A reference to the constructor function that is used to create derived objects.
</summary>
</member>
<member name="M:Jurassic.Library.ArrayConstructor.Call(System.Object[])">
<summary>
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).
</summary>
<param name="elements"> The initial elements of the new array. </param>
</member>
<member name="M:Jurassic.Library.ArrayConstructor.Construct(System.Object[])">
<summary>
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).
</summary>
<param name="elements"> The initial elements of the new array. </param>
</member>
<member name="M:Jurassic.Library.ArrayConstructor.Construct(Jurassic.Library.FunctionInstance,System.Object[])">
<summary>
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).
</summary>
<param name="newTarget"> The value of the new.target expression. </param>
<param name="elements"> The initial elements of the new array. </param>
</member>
<member name="M:Jurassic.Library.ArrayConstructor.IsArray(System.Object)">
<summary>
Tests if the given value is an Array instance.
</summary>
<param name="value"> The value to test. </param>
<returns> <c>true</c> if the given value is an Array instance, <c>false</c> otherwise. </returns>
</member>
<member name="M:Jurassic.Library.ArrayConstructor.Of(Jurassic.ScriptEngine,System.Object[])">
<summary>
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.
</summary>
<param name="engine"> The script engine to use. </param>
<param name="elements"> The elements of the new array. </param>
</member>
<member name="M:Jurassic.Library.ArrayConstructor.From(Jurassic.ScriptEngine,Jurassic.Library.ObjectInstance)">
<summary>
The Array.from() method creates a new, shallow-copied Array instance from an array-like
or iterable object.
</summary>
<param name="engine"> The script engine to use. </param>
<param name="iterable"> An array-like or iterable object to convert to an array. </param>
<returns></returns>
</member>
<member name="M:Jurassic.Library.ArrayConstructor.From(Jurassic.ScriptEngine,Jurassic.Library.ObjectInstance,Jurassic.Library.FunctionInstance,System.Object)">
<summary>
The Array.from() method creates a new, shallow-copied Array instance from an array-like
or iterable object.
</summary>
<param name="engine"> The script engine to use. </param>
<param name="iterable"> An array-like or iterable object to convert to an array. </param>
<param name="mapFunction"> Map function to call on every element of the array. </param>
<param name="thisArg"> Value to use as <c>this</c> when executing <paramref name="mapFunction"/>. </param>
<returns></returns>
</member>
<member name="T:Jurassic.Library.ArrayInstance">
<summary>
Represents an instance of the JavaScript Array object.
</summary>
</member>
<member name="M:Jurassic.Library.ArrayInstance.#ctor(Jurassic.Library.ObjectInstance,System.UInt32,System.UInt32)">
<summary>
Creates a new array with the given length and capacity.
</summary>
<param name="prototype"> The next object in the prototype chain. </param>
<param name="length"> The initial value of the length property. </param>
<param name="capacity"> The number of elements to allocate. </param>
</member>
<member name="M:Jurassic.Library.ArrayInstance.#ctor(Jurassic.Library.ObjectInstance,System.Object[])">
<summary>
Creates a new array and initializes it with the given array.
</summary>
<param name="prototype"> The next object in the prototype chain. </param>
<param name="elements"> The initial values in the array. </param>
</member>
<member name="M:Jurassic.Library.ArrayInstance.#ctor(Jurassic.Library.ObjectInstance,Jurassic.Library.SparseArray,System.UInt32)">
<summary>
Creates a new array and initializes it with the given sparse array.
</summary>
<param name="prototype"> The next object in the prototype chain. </param>
<param name="sparseArray"> The sparse array to use as the backing store. </param>
<param name="length"> The initial value of the length property. </param>
</member>
<member name="M:Jurassic.Library.ArrayInstance.CreatePrototype(Jurassic.ScriptEngine,Jurassic.Library.ArrayConstructor)">
<summary>
Creates the Array prototype object.
</summary>
<param name="engine"> The script environment. </param>
<param name="constructor"> A reference to the constructor that owns the prototype. </param>
</member>
<member name="P:Jurassic.Library.ArrayInstance.Length">
<summary>
Gets or sets the number of elements in the array. Equivalent to the javascript
Array.prototype.length property.
</summary>
</member>
<member name="P:Jurassic.Library.ArrayInstance.ElementValues">
<summary>
Gets an enumerable list of the defined element values stored in this array.
</summary>
</member>
<member name="M:Jurassic.Library.ArrayInstance.ParseArrayIndex(System.Object)">
<summary>
Attempts to parse a string into a valid array index.
</summary>
<param name="key"> The property key (either a string or a Symbol). </param>
<returns> The array index value, or <c>uint.MaxValue</c> if the property name does not reference
an array index. </returns>
</member>
<member name="M:Jurassic.Library.ArrayInstance.ToArray">
<summary>
Converts the JS array to a .NET object array.
</summary>
<returns> A .NET object array. </returns>
</member>
<member name="M:Jurassic.Library.ArrayInstance.GetOwnPropertyDescriptor(System.UInt32)">
<summary>
Gets a descriptor for the property with the given array index.
</summary>
<param name="index"> The array index of the property. </param>
<returns> A property descriptor containing the property value and attributes. </returns>
<remarks> The prototype chain is not searched. </remarks>
</member>
<member name="M:Jurassic.Library.ArrayInstance.SetPropertyValue(System.UInt32,System.Object,System.Object,System.Boolean)">
<summary>
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.
</summary>
<param name="index"> The array index of the property to set. </param>
<param name="value"> The value to set the property to. This must be a javascript
primitive (double, string, etc) or a class derived from <see cref="T:Jurassic.Library.ObjectInstance"/>. </param>
<param name="thisValue"> The value of the "this" keyword inside a getter. </param>
<param name="throwOnError"> <c>true</c> 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. </param>
<returns> <c>false</c> if <paramref name="throwOnError"/> is false and an error
occurred; <c>true</c> otherwise. </returns>
</member>
<member name="M:Jurassic.Library.ArrayInstance.Delete(System.UInt32,System.Boolean)">
<summary>
Deletes the property with the given array index.
</summary>
<param name="index"> The array index of the property to delete. </param>
<param name="throwOnError"> <c>true</c> to throw an exception if the property could not
be set because the property was marked as non-configurable. </param>
<returns> <c>true</c> if the property was successfully deleted, or if the property did
not exist; <c>false</c> if the property was marked as non-configurable and
<paramref name="throwOnError"/> was <c>false</c>. </returns>
</member>
<member name="M:Jurassic.Library.ArrayInstance.DefineProperty(System.Object,Jurassic.Library.PropertyDescriptor,System.Boolean)">
<summary>
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.
</summary>
<param name="key"> The property key of the property to modify. </param>
<param name="descriptor"> The property value and attributes. </param>
<param name="throwOnError"> <c>true</c> 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. </param>
<returns> <c>true</c> if the property was successfully modified; <c>false</c> otherwise. </returns>
</member>
<member name="P:Jurassic.Library.ArrayInstance.OwnKeys">
<summary>
Gets an enumerable list of every property name associated with this object.
Does not include properties in the prototype chain.
</summary>
</member>
<member name="M:Jurassic.Library.ArrayInstance.Concat(Jurassic.Library.ObjectInstance,System.Object[])">
<summary>
Returns a new array consisting of the values of this array plus any number of
additional items. Values are appended from left to right.
</summary>
<param name="thisObj"> The array that is being operated on. </param>
<param name="items"> Any number of items to append. </param>
<returns> A new array consisting of the values of this array plus any number of
additional items. </returns>
</member>
<member name="M:Jurassic.Library.ArrayInstance.Pop(Jurassic.Library.ObjectInstance)">
<summary>
Removes the last element from the array and returns it.
</summary>
<param name="thisObj"> The array to operate on. </param>
<returns> The last element from the array. </returns>
</member>
<member name="M:Jurassic.Library.ArrayInstance.Pop">
<summary>
Removes the last element from the array and returns it.
</summary>
<returns> The last element from the array. </returns>
</member>
<member name="M:Jurassic.Library.ArrayInstance.Push(Jurassic.Library.ObjectInstance,System.Object[])">
<summary>
Appends one or more elements to the end of the array.
</summary>
<param name="thisObj"> The array that is being operated on. </param>
<param name="items"> The items to append to the array. </param>
</member>
<member name="M:Jurassic.Library.ArrayInstance.Push(System.Object)">
<summary>
Appends one element to the end of the array.
</summary>
<param name="item"> The item to append to the array. </param>
</member>
<member name="M:Jurassic.Library.ArrayInstance.Shift(Jurassic.Library.ObjectInstance)">
<summary>
The first element in the array is removed from the array and returned. All the other
elements are shifted down in the array.
</summary>
<param name="thisObj"> The array that is being operated on. </param>
<returns> The first element in the array. </returns>
</member>
<member name="M:Jurassic.Library.ArrayInstance.Splice(Jurassic.Library.ObjectInstance)">
<summary>
Deletes a range of elements from the array and optionally inserts new elements.
</summary>
<param name="thisObj"> The array that is being operated on. </param>
<returns> An array containing the deleted elements, if any. </returns>
</member>
<member name="M:Jurassic.Library.ArrayInstance.Splice(Jurassic.Library.ObjectInstance,System.Int32)">
<summary>
Deletes a range of elements from the array and optionally inserts new elements.
</summary>
<param name="thisObj"> The array that is being operated on. </param>
<param name="start"> The index to start deleting from. </param>
<returns> An array containing the deleted elements, if any. </returns>
</member>
<member name="M:Jurassic.Library.ArrayInstance.Splice(Jurassic.Library.ObjectInstance,System.Int32,System.Int32,System.Object[])">
<summary>
Deletes a range of elements from the array and optionally inserts new elements.
</summary>
<param name="thisObj"> The array that is being operated on. </param>
<param name="start"> The index to start deleting from. </param>
<param name="deleteCount"> The number of elements to delete. </param>
<param name="items"> The items to insert. </param>
<returns> An array containing the deleted elements, if any. </returns>
</member>
<member name="M:Jurassic.Library.ArrayInstance.Unshift(Jurassic.Library.ObjectInstance,System.Object[])">
<summary>
Prepends the given items to the start of the array.
</summary>
<param name="thisObj"> The array that is being operated on. </param>
<param name="items"> The items to prepend. </param>
<returns> The new length of the array. </returns>
</member>
<member name="M:Jurassic.Library.ArrayInstance.Flat(Jurassic.Library.ObjectInstance,System.Int32)">
<summary>
Creates a new array with all sub-array elements concatenated into it recursively up to
the specified depth.
</summary>
<param name="thisObj"> The array that is being operated on. </param>
<param name="depth"> The depth level specifying how deep a nested array structure
should be flattened. Defaults to 1. </param>
<returns> A new array with the sub-array elements concatenated into it. </returns>
</member>
<member name="M:Jurassic.Library.ArrayInstance.FlatMap(Jurassic.Library.ObjectInstance,Jurassic.Library.FunctionInstance,System.Object)">
<summary>
Maps each element using a mapping function, then flattens the result into a new array.
</summary>
<param name="thisObj"> The array that is being operated on. </param>
<param name="callback"> A function that produces an element of the new Array, taking
three arguments: currentValue, index, array. </param>
<param name="thisArg"> Value to use as this when executing callback. </param>
<returns> A new array with each element being the result of the callback function and
flattened to a depth of 1. </returns>
</member>
<member name="T:Jurassic.Library.ArrayInstance.ArrayInstanceAdapter">
<summary>
Implements an adapter for regular JS arrays.
</summary>
</member>
<member name="M:Jurassic.Library.ArrayInstance.ArrayInstanceAdapter.#ctor(Jurassic.Library.ObjectInstance)">
<summary>
Creates a new ArrayInstanceWrapper instance.
</summary>
<param name="wrappedInstance"> The array-like object that is being wrapped. </param>
</member>
<member name="P:Jurassic.Library.ArrayInstance.ArrayInstanceAdapter.Item(System.Int32)">
<summary>
Gets or sets an array element within the range 0 .. Length-1 (inclusive).
</summary>
<param name="index"> The index to get or set. </param>
<returns> The value at the given index. </returns>
</member>
<member name="M:Jurassic.Library.ArrayInstance.ArrayInstanceAdapter.Delete(System.Int32)">
<summary>
Deletes the value at the given array index, throwing an exception on error.
</summary>
<param name="index"> The array index to delete. </param>
</member>
<member name="M:Jurassic.Library.ArrayInstance.ArrayInstanceAdapter.HasProperty(System.Int32)">
<summary>
Indicates whether the array index exists (has a value).
</summary>
<param name="index"> The index to check. </param>
<returns> <c>true</c> if the index exists, <c>false</c> otherwise. </returns>
</member>
<member name="M:Jurassic.Library.ArrayInstance.ArrayInstanceAdapter.ConstructArray(System.Object[])">
<summary>
Creates a new array of the same type as this one.
</summary>
<param name="values"> The values in the new array. </param>
<returns> A new array object. </returns>
</member>
<member name="M:Jurassic.Library.ArrayInstance.ArrayInstanceAdapter.ConvertValue(System.Object)">
<summary>
Convert an untyped value to a typed value.
</summary>
<param name="value"> The value to convert. </param>
<returns> The typed value. </returns>
</member>
<member name="M:Jurassic.Library.ArrayInstance.Join(Jurassic.Library.ObjectInstance,System.String)">
<summary>
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.
</summary>
<param name="thisObj"> The array that is being operated on. </param>
<param name="separator"> The string to use as a separator. </param>
<returns> A string that consists of the element values separated by the separator string. </returns>
</member>
<member name="M:Jurassic.Library.ArrayInstance.Reverse(Jurassic.Library.ObjectInstance)">
<summary>
Reverses the order of the elements in the array.
</summary>
<param name="thisObj"> The array that is being operated on. </param>
<returns> The array that is being operated on. </returns>
</member>
<member name="M:Jurassic.Library.ArrayInstance.Slice(Jurassic.Library.ObjectInstance,System.Int32,System.Int32)">
<summary>
Returns a section of an array.
</summary>
<param name="thisObj"> The array that is being operated on. </param>
<param name="start"> 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. </param>
<param name="end"> 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
<paramref name="end"/> is less than or equal to <paramref name="start"/> then an empty
array is returned. </param>
<returns> A section of an array. </returns>
</member>
<member name="M:Jurassic.Library.ArrayInstance.Sort(Jurassic.Library.ObjectInstance,Jurassic.Library.FunctionInstance)">
<summary>
Sorts the array.
</summary>
<param name="thisObj"> The array that is being operated on. </param>
<param name="comparisonFunction"> 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. </param>
<returns> The array that was sorted. </returns>
</member>
<member name="M:Jurassic.Library.ArrayInstance.ToLocaleString(Jurassic.Library.ObjectInstance)">
<summary>
Returns a locale-specific string representing this object.
</summary>
<param name="thisObj"> The array that is being operated on. </param>
<returns> A locale-specific string representing this object. </returns>
</member>
<member name="M:Jurassic.Library.ArrayInstance.ToString(Jurassic.Library.ObjectInstance)">
<summary>
Returns a string representing this object.
</summary>
<param name="thisObj"> The array that is being operated on. </param>
<returns> A string representing this object. </returns>
</member>
<member name="M:Jurassic.Library.ArrayInstance.IndexOf(Jurassic.Library.ObjectInstance,System.Object,System.Int32)">
<summary>
Returns the index of the given search element in the array, starting from
<paramref name="fromIndex"/>.
</summary>
<param name="thisObj"> The array that is being operated on. </param>
<param name="searchElement"> The value to search for. </param>
<param name="fromIndex"> The array index to start searching. </param>
<returns> The index of the given search element in the array, or <c>-1</c> if the
element wasn't found. </returns>
</member>
<member name="M:Jurassic.Library.ArrayInstance.LastIndexOf(Jurassic.Library.ObjectInstance,System.Object)">
<summary>
Returns the index of the given search element in the array, searching backwards from
the end of the array.
</summary>
<param name="thisObj"> The array that is being operated on. </param>
<param name="searchElement"> The value to search for. </param>
<returns> The index of the given search element in the array, or <c>-1</c> if the
element wasn't found. </returns>
</member>
<member name="M:Jurassic.Library.ArrayInstance.LastIndexOf(Jurassic.Library.ObjectInstance,System.Object,System.Int32)">
<summary>
Returns the index of the given search element in the array, searching backwards from
<paramref name="fromIndex"/>.
</summary>
<param name="thisObj"> The array that is being operated on. </param>
<param name="searchElement"> The value to search for. </param>
<param name="fromIndex"> The array index to start searching. </param>
<returns> The index of the given search element in the array, or <c>-1</c> if the
element wasn't found. </returns>
</member>
<member name="M:Jurassic.Library.ArrayInstance.Every(Jurassic.Library.ObjectInstance,Jurassic.Library.FunctionInstance,Jurassic.Library.ObjectInstance)">
<summary>
Determines if every element of the array matches criteria defined by the given user-
defined function.
</summary>
<param name="thisObj"> The array that is being operated on. </param>
<param name="callbackFunction"> 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 <c>true</c> or <c>false</c>. </param>
<param name="context"> The value of <c>this</c> in the context of the callback function. </param>
<returns> <c>true</c> if every element of the array matches criteria defined by the
given user-defined function; <c>false</c> otherwise. </returns>
</member>
<member name="M:Jurassic.Library.ArrayInstance.Some(Jurassic.Library.ObjectInstance,Jurassic.Library.FunctionInstance,Jurassic.Library.ObjectInstance)">
<summary>
Determines if at least one element of the array matches criteria defined by the given
user-defined function.
</summary>
<param name="thisObj"> The array that is being operated on. </param>
<param name="callbackFunction"> 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 <c>true</c> or <c>false</c>. </param>
<param name="context"> The value of <c>this</c> in the context of the callback function. </param>
<returns> <c>true</c> if at least one element of the array matches criteria defined by
the given user-defined function; <c>false</c> otherwise. </returns>
</member>
<member name="M:Jurassic.Library.ArrayInstance.ForEach(Jurassic.Library.ObjectInstance,Jurassic.Library.FunctionInstance,Jurassic.Library.ObjectInstance)">
<summary>
Calls the given user-defined function once per element in the array.
</summary>
<param name="thisObj"> The array that is being operated on. </param>
<param name="callbackFunction"> 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. </param>
<param name="context"> The value of <c>this</c> in the context of the callback function. </param>
</member>
<member name="M:Jurassic.Library.ArrayInstance.Map(Jurassic.Library.ObjectInstance,Jurassic.Library.FunctionInstance,Jurassic.Library.ObjectInstance)">
<summary>
Creates a new array with the results of calling the given function on every element in
this array.
</summary>
<param name="thisObj"> The array that is being operated on. </param>
<param name="callbackFunction"> 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. </param>
<param name="context"> The value of <c>this</c> in the context of the callback function. </param>
<returns> A new array with the results of calling the given function on every element
in the array. </returns>
</member>
<member name="M:Jurassic.Library.ArrayInstance.Find(Jurassic.Library.ObjectInstance,Jurassic.Library.FunctionInstance,Jurassic.Library.ObjectInstance)">
<summary>
Returns the first element in the given array that passes the test implemented by the
given function.
</summary>
<param name="thisObj"> The array that is being operated on. </param>
<param name="callbackFunction"> 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 <c>true</c> or <c>false</c>. </param>
<param name="context"> The value of <c>this</c> in the context of the callback function. </param>
<returns> The first element that results in the callback returning <c>true</c>. </returns>
</member>
<member name="M:Jurassic.Library.ArrayInstance.Filter(Jurassic.Library.ObjectInstance,Jurassic.Library.FunctionInstance,Jurassic.Library.ObjectInstance)">
<summary>
Creates a new array with the elements from this array that pass the test implemented by
the given function.
</summary>
<param name="thisObj"> The array that is being operated on. </param>
<param name="callbackFunction"> 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 <c>true</c> or <c>false</c>. </param>
<param name="context"> The value of <c>this</c> in the context of the callback function. </param>
<returns> A copy of this array but with only those elements which produce <c>true</c>
when passed to the provided function. </returns>
</member>
<member name="M:Jurassic.Library.ArrayInstance.Reduce(Jurassic.Library.ObjectInstance,Jurassic.Library.FunctionInstance,System.Object)">
<summary>
Accumulates a single value by calling a user-defined function for each element.
</summary>
<param name="thisObj"> The array that is being operated on. </param>
<param name="callbackFunction"> 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. </param>
<param name="initialValue"> The initial accumulated value. </param>
<returns> The accumulated value returned from the last invocation of the callback
function. </returns>
</member>
<member name="M:Jurassic.Library.ArrayInstance.ReduceRight(Jurassic.Library.ObjectInstance,Jurassic.Library.FunctionInstance,System.Object)">
<summary>
Accumulates a single value by calling a user-defined function for each element
(starting with the last element in the array).
</summary>
<param name="thisObj"> The array that is being operated on. </param>
<param name="callbackFunction"> 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. </param>
<param name="initialValue"> The initial accumulated value. </param>
<returns> The accumulated value returned from the last invocation of the callback
function. </returns>
</member>
<member name="M:Jurassic.Library.ArrayInstance.CopyWithin(Jurassic.Library.ObjectInstance,System.Int32,System.Int32,System.Int32)">
<summary>
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.
</summary>
<param name="thisObj"> The array that is being operated on. </param>
<param name="target"> Target start index position where to copy the elements to. </param>
<param name="start"> Source start index position where to start copying elements from. </param>
<param name="end"> Optional. Source end index position where to end copying elements from. </param>
<returns> The array that is being operated on. </returns>
</member>
<member name="M:Jurassic.Library.ArrayInstance.Fill(Jurassic.Library.ObjectInstance,System.Object,System.Int32,System.Int32)">
<summary>
Fills all the elements of a typed array from a start index to an end index with a
static value.
</summary>
<param name="thisObj"> The array that is being operated on. </param>
<param name="value"> The value to fill the typed array with. </param>
<param name="start"> Optional. Start index. Defaults to 0. </param>
<param name="end"> Optional. End index (exclusive). Defaults to the length of the array. </param>
<returns> The array that is being operated on. </returns>
</member>
<member name="M:Jurassic.Library.ArrayInstance.FindIndex(Jurassic.Library.ObjectInstance,Jurassic.Library.FunctionInstance,Jurassic.Library.ObjectInstance)">
<summary>
Returns an index in the typed array, if an element in the typed array satisfies the
provided testing function. Otherwise -1 is returned.
</summary>
<param name="thisObj"> The array that is being operated on. </param>
<param name="callbackFunction"> 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 <c>true</c> or <c>false</c>. </param>
<param name="context"> The value of <c>this</c> in the context of the callback function. </param>
<returns> The first element that results in the callback returning <c>true</c>. </returns>
</member>
<member name="M:Jurassic.Library.ArrayInstance.Entries">
<summary>
Returns a new array iterator object that contains the key/value pairs for each index in
the array.
</summary>
<returns> An array iterator object that contains the key/value pairs for each index in
the array. </returns>
</member>
<member name="M:Jurassic.Library.ArrayInstance.Keys">
<summary>
Returns a new array iterator object that contains the keys for each index in the array.
</summary>
<returns> An array iterator object that contains the keys for each index in the array. </returns>
</member>
<member name="M:Jurassic.Library.ArrayInstance.Values">
<summary>
Returns a new array iterator object that contains the values for each index in the
array.
</summary>
<returns> An array iterator object that contains the values for each index in the
array. </returns>
</member>
<member name="M:Jurassic.Library.ArrayInstance.Includes(Jurassic.Library.ObjectInstance,System.Object,System.Int32)">
<summary>
Determines whether an array includes a certain value among its entries.
</summary>
<param name="thisObj"> The array that is being operated on. </param>
<param name="searchElement"> The value to search for. </param>
<param name="fromIndex"> The array index to start searching. </param>
<returns> <c>true</c> given search element in the array, or <c>false</c> if the element
wasn't found. </returns>
</member>
<member name="M:Jurassic.Library.ArrayInstance.GetLength(Jurassic.Library.ObjectInstance)">
<summary>
Gets the number of items in the array.
</summary>
<param name="thisObj"> The array that is being operated on. </param>
<returns> The number of items in the array. </returns>
</member>
<member name="M:Jurassic.Library.ArrayInstance.SetLength(Jurassic.Library.ObjectInstance,System.UInt32)">
<summary>
Sets the number of items in the array.
</summary>
<param name="thisObj"> The array that is being operated on. </param>
<param name="value"> The new value of the length property. </param>
</member>
<member name="M:Jurassic.Library.ArrayInstance.ResizeDenseArray(System.UInt32,System.UInt32)">
<summary>
Enlarges the size of the dense array.
</summary>
<param name="newCapacity"> The new capacity of the array. </param>
<param name="length"> The valid number of items in the array. </param>
</member>
<member name="M:Jurassic.Library.ArrayInstance.FlattenTo(System.Collections.Generic.List{System.Object},Jurassic.Library.ObjectInstance,Jurassic.Library.FunctionInstance,System.Object,System.Int32)">
<summary>
Recursively appends sub-array elements into the given list.
</summary>
<param name="result"> The list to append to. </param>
<param name="array"> The array elements to append. </param>
<param name="callback"> A function that produces an element of the new Array, taking
three arguments: currentValue, index, array. </param>
<param name="thisArg"> Value to use as this when executing callback. </param>
<param name="depth"> The depth of recursion when iterating through elements. </param>
</member>
<member name="M:Jurassic.Library.ArrayInstance.IsConcatSpreadable(Jurassic.ScriptEngine,System.Object)">
<summary>
Indicates whether the given object should be concatenated as if it was an array.
</summary>
<param name="engine"> The script engine. </param>
<param name="o"> The value to check. </param>
<returns> <c>true</c> if the value should be concatenated as if it was an array,
<c>false</c> otherwise. </returns>
</member>
<member name="M:Jurassic.Library.ArrayInstance.EnumerateArrayLikeValues(Jurassic.ScriptEngine,Jurassic.Library.ObjectInstance,System.UInt32)">
<summary>
Enumerates the list of array-like properties (with numeric names).
</summary>
<param name="engine"> The script engine. </param>
<param name="obj"> The object to enumerate properties of. </param>
<param name="length"> The value of the length property. No indices are returned that
are higher or equal to this value. </param>
<returns> Enumerates the list of array-like properties (with numeric names). </returns>
</member>
<member name="T:Jurassic.Library.ArrayIterator">
<summary>
Represents an iteration over an array-like object.
</summary>
</member>
<member name="M:Jurassic.Library.ArrayIterator.#ctor(Jurassic.Library.ObjectInstance,Jurassic.Library.ObjectInstance,Jurassic.Library.ArrayIterator.Kind)">
<summary>
Creates a new array iterator.
</summary>
<param name="prototype"> The next object in the prototype chain. </param>
<param name="array"> The array-like object to iterate over. </param>
<param name="kind"> The type of values to return. </param>
</member>
<member name="M:Jurassic.Library.ArrayIterator.CreatePrototype(Jurassic.ScriptEngine)">
<summary>
Creates the array iterator prototype object.
</summary>
<param name="engine"> The script environment. </param>
</member>
<member name="P:Jurassic.Library.ArrayIterator.ToStringTag">
<summary>
The tag value that is used by the base implementation of toString().
</summary>
</member>
<member name="M:Jurassic.Library.ArrayIterator.Next">
<summary>
Moves the iterator to the next element in the array.
</summary>
<returns> An object containing two properies: value and done. </returns>
</member>
<member name="T:Jurassic.Library.SparseArray">
<summary>
Represents an array with non-consecutive elements.
</summary>
</member>
<member name="M:Jurassic.Library.SparseArray.FromDenseArray(System.Object[],System.Int32)">
<summary>
Creates a sparse array from the given dense array.
</summary>
<param name="array"> The array to copy items from. </param>
<param name="length"> The number of items to copy. </param>
<returns> A new sparse array containing the items from the given array. </returns>
</member>
<member name="M:Jurassic.Library.SparseArray.Delete(System.UInt32)">
<summary>
Deletes (sets to <c>null</c>) an array element.
</summary>
<param name="index"> The index of the array element to delete. </param>
</member>
<member name="M:Jurassic.Library.SparseArray.DeleteRange(System.UInt32,System.UInt32)">
<summary>
Deletes (sets to <c>null</c>) a range of array elements.
</summary>
<param name="start"> The index of the first array element to delete. </param>
<param name="length"> The number of array elements to delete. </param>
</member>
<member name="M:Jurassic.Library.SparseArray.DeleteRange(System.UInt32,System.UInt32,Jurassic.Library.SparseArray.Node,Jurassic.Library.SparseArray.Node,System.Int32,System.Int32)">
<summary>
Deletes (sets to <c>null</c>) a range of array elements.
</summary>
<param name="start"> The index of the first array element to delete. </param>
<param name="length"> The number of array elements to delete. </param>
<param name="parentNode"> The parent node of the node to delete from. Can be <c>null</c>. </param>
<param name="node"> The node to delete from. </param>
<param name="nodeIndex"> The index of the node, in the parent node's array. </param>
<param name="nodeDepth"> The depth of the tree, treating <paramref name="node"/> as the root. </param>
</member>
<member name="M:Jurassic.Library.SparseArray.CopyTo(System.Object[],System.UInt32,System.Int32)">
<summary>
Copies the elements of the sparse array to this sparse array, starting at a particular
index. Existing values are overwritten.
</summary>
<param name="source"> The sparse array to copy. </param>
<param name="start"> The zero-based index at which copying begins. </param>
<param name="length"> The number of elements to copy. </param>
</member>
<member name="M:Jurassic.Library.SparseArray.CopyTo(Jurassic.Library.SparseArray,System.UInt32)">
<summary>
Copies the elements of the given sparse array to this sparse array, starting at a
particular index. Existing values are overwritten.
</summary>
<param name="source"> The sparse array to copy. </param>
<param name="start"> The zero-based index at which copying begins. </param>
</member>
<member name="T:Jurassic.Library.BooleanConstructor">
<summary>
Represents the built-in javascript Boolean object.
</summary>
</member>
<member name="M:Jurassic.Library.BooleanConstructor.#ctor(Jurassic.Library.ObjectInstance)">
<summary>
Creates a new Boolean object.
</summary>
<param name="prototype"> The next object in the prototype chain. </param>
</member>
<member name="M:Jurassic.Library.BooleanConstructor.Call(System.Boolean)">
<summary>
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).
</summary>
</member>
<member name="M:Jurassic.Library.BooleanConstructor.Construct(System.Boolean)">
<summary>
Creates a new Boolean instance and initializes it to the given value.
</summary>
<param name="value"> The value to initialize to. Defaults to false. </param>
</member>
<member name="T:Jurassic.Library.BooleanInstance">
<summary>
Represents an instance of the JavaScript Boolean object.
</summary>
</member>
<member name="M:Jurassic.Library.BooleanInstance.#ctor(Jurassic.Library.ObjectInstance,System.Boolean)">
<summary>
Creates a new boolean instance.
</summary>
<param name="prototype"> The next object in the prototype chain. </param>
<param name="value"> The value to initialize the instance with. </param>
</member>
<member name="M:Jurassic.Library.BooleanInstance.CreatePrototype(Jurassic.ScriptEngine,Jurassic.Library.BooleanConstructor)">
<summary>
Creates the Boolean prototype object.
</summary>
<param name="engine"> The script environment. </param>
<param name="constructor"> A reference to the constructor that owns the prototype. </param>
</member>
<member name="P:Jurassic.Library.BooleanInstance.Value">
<summary>
Gets the primitive value of this object.
</summary>
</member>
<member name="M:Jurassic.Library.BooleanInstance.ValueOf">
<summary>
Returns the underlying primitive value of the current object.
</summary>
<returns> The underlying primitive value of the current object. </returns>
</member>
<member name="M:Jurassic.Library.BooleanInstance.ToStringJS">
<summary>
Returns a string representing this object.
</summary>
<returns> A string representing this object. </returns>
</member>
<member name="T:Jurassic.Library.ClrInstanceTypeWrapper">
<summary>
Represents the instance portion of a CLR type that cannot be exposed directly but instead
must be wrapped.
</summary>
</member>
<member name="M:Jurassic.Library.ClrInstanceTypeWrapper.FromCache(Jurassic.ScriptEngine,System.Type)">
<summary>
Retrieves a ClrInstanceTypeWrapper object from the cache, if possible, or creates it
otherwise.
</summary>
<param name="engine"> The associated script engine. </param>
<param name="type"> The CLR type to wrap. </param>
</member>
<member name="M:Jurassic.Library.ClrInstanceTypeWrapper.#ctor(Jurassic.ScriptEngine,System.Type)">
<summary>
Creates a new ClrInstanceTypeWrapper object.
</summary>
<param name="engine"> The associated script engine. </param>
<param name="type"> The CLR type to wrap. </param>
</member>
<member name="M:Jurassic.Library.ClrInstanceTypeWrapper.GetPrototypeObject(Jurassic.ScriptEngine,System.Type)">
<summary>
Returns an object instance to serve as the next object in the prototype chain.
</summary>
<param name="engine"> The associated script engine. </param>
<param name="type"> The CLR type to wrap. </param>
<returns> The next object in the prototype chain. </returns>
</member>
<member name="P:Jurassic.Library.ClrInstanceTypeWrapper.WrappedType">
<summary>
Gets the .NET type this object represents.
</summary>
</member>
<member name="M:Jurassic.Library.ClrInstanceTypeWrapper.ToString">
<summary>
Returns a textual representation of this object.
</summary>
<returns> A textual representation of this object. </returns>
</member>
<member name="T:Jurassic.Library.ClrInstanceWrapper">
<summary>
Represents a non-native CLR object instance.
</summary>
</member>
<member name="M:Jurassic.Library.ClrInstanceWrapper.#ctor(Jurassic.ScriptEngine,System.Object)">
<summary>
Creates a new ClrInstanceWrapper object.
</summary>
<param name="engine"> The associated script engine. </param>
<param name="instance"> The CLR object instance to wrap. </param>
</member>
<member name="M:Jurassic.Library.ClrInstanceWrapper.GetPrototypeObject(Jurassic.ScriptEngine,System.Object)">
<summary>
Returns an object instance to serve as the next object in the prototype chain.
</summary>
<param name="engine"> The associated script engine. </param>
<param name="instance"> The CLR object instance to wrap. </param>
<returns> The next object in the prototype chain. </returns>
</member>
<member name="M:Jurassic.Library.ClrInstanceWrapper.Create(Jurassic.ScriptEngine,System.Object)">
<summary>
Creates an instance of ClrInstanceWrapper or ArrayInstance based on object type.
</summary>
<param name="engine"> The associated script engine. </param>
<param name="instance"> The CLR object instance to wrap. </param>
</member>
<member name="P:Jurassic.Library.ClrInstanceWrapper.WrappedInstance">
<summary>
Gets the .NET instance this object represents.
</summary>
</member>
<member name="M:Jurassic.Library.ClrInstanceWrapper.ToString">
<summary>
Returns a textual representation of this object.
</summary>
<returns> A textual representation of this object. </returns>
</member>
<member name="T:Jurassic.Library.ClrStaticTypeWrapper">
<summary>
Represents the static portion of a CLR type that cannot be exposed directly but instead
must be wrapped.
</summary>
</member>
<member name="M:Jurassic.Library.ClrStaticTypeWrapper.FromCache(Jurassic.ScriptEngine,System.Type)">
<summary>
Retrieves a ClrStaticTypeWrapper object from the cache, if possible, or creates it
otherwise.
</summary>
<param name="engine"> The associated script engine. </param>
<param name="type"> The CLR type to wrap. </param>
</member>
<member name="M:Jurassic.Library.ClrStaticTypeWrapper.#ctor(Jurassic.ScriptEngine,System.Type)">
<summary>
Creates a new ClrStaticTypeWrapper object.
</summary>
<param name="engine"> The associated script engine. </param>
<param name="type"> The CLR type to wrap. </param>
</member>
<member name="M:Jurassic.Library.ClrStaticTypeWrapper.GetPrototypeObject(Jurassic.ScriptEngine,System.Type)">
<summary>
Returns an object instance to serve as the next object in the prototype chain.
</summary>
<param name="engine"> The associated script engine. </param>
<param name="type"> The CLR type to wrap. </param>
<returns> The next object in the prototype chain. </returns>
</member>
<member name="P:Jurassic.Library.ClrStaticTypeWrapper.WrappedType">
<summary>
Gets the .NET type this object represents.
</summary>
</member>
<member name="M:Jurassic.Library.ClrStaticTypeWrapper.CallLateBound(System.Object,System.Object[])">
<summary>
Calls this function, passing in the given "this" value and zero or more arguments.
</summary>
<param name="thisObject"> The value of the "this" keyword within the function. </param>
<param name="argumentValues"> An array of argument values. </param>
<returns> The value that was returned from the function. </returns>
</member>
<member name="M:Jurassic.Library.ClrStaticTypeWrapper.ConstructLateBound(Jurassic.Library.FunctionInstance,System.Object[])">
<summary>
Creates an object, using this function as the constructor.
</summary>
<param name="newTarget"> The value of 'new.target'. </param>
<param name="argumentValues"> An array of argument values. </param>
<returns> The object that was created. </returns>
</member>
<member name="M:Jurassic.Library.ClrStaticTypeWrapper.PopulateMembers(Jurassic.Library.ObjectInstance,System.Type,System.Reflection.BindingFlags)">
<summary>
Populates the given object with properties, field and methods based on the given .NET
type.
</summary>
<param name="target"> The object to populate. </param>
<param name="type"> The .NET type to search for methods. </param>
<param name="flags"> <c>BindingFlags.Static</c> to populate static methods;
<c>BindingFlags.Instance</c> to populate instance methods. </param>
</member>
<member name="M:Jurassic.Library.ClrStaticTypeWrapper.ToString">
<summary>
Returns a textual representation of this object.
</summary>
<returns> A textual representation of this object. </returns>
</member>
<member name="T:Jurassic.Library.DateConstructor">
<summary>
Represents the built-in javascript Date object.
</summary>
</member>
<member name="M:Jurassic.Library.DateConstructor.#ctor(Jurassic.Library.ObjectInstance)">
<summary>
Creates a new Date object.
</summary>
<param name="prototype"> The next object in the prototype chain. </param>
</member>
<member name="M:Jurassic.Library.DateConstructor.Call">
<summary>
Called when the Date object is invoked like a function, e.g. var x = Date().
Returns a string representing the current time.
</summary>
</member>
<member name="M:Jurassic.Library.DateConstructor.Construct">
<summary>
Creates a new Date object and sets its value to the current time.
</summary>
</member>
<member name="M:Jurassic.Library.DateConstructor.Construct(System.Double)">
<summary>
Creates a new Date object from a millisecond value.
</summary>
<param name="milliseconds"> The number of milliseconds since 1 January 1970 00:00:00 UTC. </param>
</member>
<member name="M:Jurassic.Library.DateConstructor.Construct(System.String)">
<summary>
Creates a new Date object from a string.
</summary>
<param name="dateStr"> A string representing a date, expressed in RFC 1123 format. </param>
</member>
<member name="M:Jurassic.Library.DateConstructor.Construct(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32)">
<summary>
Creates a new Date object from various date components, expressed in local time.
</summary>
<param name="year"> The full year. </param>
<param name="month"> The month as an integer between 0 and 11 (january to december). </param>
<param name="day"> The day of the month, from 1 to 31. Defaults to 1. </param>
<param name="hour"> The number of hours since midnight, from 0 to 23. Defaults to 0. </param>
<param name="minute"> The number of minutes, from 0 to 59. Defaults to 0. </param>
<param name="second"> The number of seconds, from 0 to 59. Defaults to 0. </param>
<param name="millisecond"> The number of milliseconds, from 0 to 999. Defaults to 0. </param>
<remarks>
If any of the parameters are out of range, then the other values are modified accordingly.
</remarks>
</member>
<member name="M:Jurassic.Library.DateConstructor.Construct(System.Object[])">
<summary>
Creates a new Date object from various date components, expressed in local time.
</summary>
<param name="components"> An array containing date components, in the following order:
year, month, day, hour, minute, second and millisecond. </param>
<remarks>
If any of the parameters are out of range, then the other values are modified accordingly.
</remarks>
</member>
<member name="M:Jurassic.Library.DateConstructor.Now">
<summary>
Returns the current date and time as the number of milliseconds elapsed since January 1,
1970, 00:00:00 UTC.
</summary>
<returns> The current date and time as the number of milliseconds elapsed since January 1,
1970, 00:00:00 UTC. </returns>
</member>
<member name="M:Jurassic.Library.DateConstructor.UTC(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32)">
<summary>
Given the components of a UTC date, returns the number of milliseconds since January 1,
1970, 00:00:00 UTC to that date.
</summary>
<param name="year"> The full year. </param>
<param name="month"> The month as an integer between 0 and 11 (january to december). </param>
<param name="day"> The day of the month, from 1 to 31. Defaults to 1. </param>
<param name="hour"> The number of hours since midnight, from 0 to 23. Defaults to 0. </param>
<param name="minute"> The number of minutes, from 0 to 59. Defaults to 0. </param>
<param name="second"> The number of seconds, from 0 to 59. Defaults to 0. </param>
<param name="millisecond"> The number of milliseconds, from 0 to 999. Defaults to 0. </param>
<returns> The number of milliseconds since January 1, 1970, 00:00:00 UTC to the given
date. </returns>
<remarks>
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.
</remarks>
</member>
<member name="M:Jurassic.Library.DateConstructor.Parse(System.String)">
<summary>
Parses a string representation of a date, and returns the number of milliseconds since
January 1, 1970, 00:00:00 UTC.
</summary>
<param name="dateStr"> A string representing a date, expressed in RFC 1123 format. </param>
</member>
<member name="T:Jurassic.Library.DateInstance">
<summary>
The prototype for the Date object.
</summary>
</member>
<member name="F:Jurassic.Library.DateInstance.value">
<summary>
The underlying DateTime value.
</summary>
</member>
<member name="F:Jurassic.Library.DateInstance.InvalidDate">
<summary>
A DateTime that represents an invalid date.
</summary>
</member>
<member name="M:Jurassic.Library.DateInstance.#ctor(Jurassic.Library.ObjectInstance)">
<summary>
Creates a new Date instance and initializes it to the current time.
</summary>
<param name="prototype"> The next object in the prototype chain. </param>
</member>
<member name="M:Jurassic.Library.DateInstance.#ctor(Jurassic.Library.ObjectInstance,System.Double)">
<summary>
Creates a new Date instance from the given date value.
</summary>
<param name="prototype"> The next object in the prototype chain. </param>
<param name="value"> The number of milliseconds since January 1, 1970, 00:00:00 UTC. </param>
</member>
<member name="M:Jurassic.Library.DateInstance.#ctor(Jurassic.Library.ObjectInstance,System.String)">
<summary>
Creates a new Date instance from the given date string.
</summary>
<param name="prototype"> The next object in the prototype chain. </param>
<param name="dateStr"> A string representing a date, expressed in RFC 1123 format. </param>
</member>
<member name="M:Jurassic.Library.DateInstance.#ctor(Jurassic.Library.ObjectInstance,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32)">
<summary>
Creates a new Date instance from various date components, expressed in local time.
</summary>
<param name="prototype"> The next object in the prototype chain. </param>
<param name="year"> The full year. </param>
<param name="month"> The month as an integer between 0 and 11 (january to december). </param>
<param name="day"> The day of the month, from 1 to 31. Defaults to 1. </param>
<param name="hour"> The number of hours since midnight, from 0 to 23. Defaults to 0. </param>
<param name="minute"> The number of minutes, from 0 to 59. Defaults to 0. </param>
<param name="second"> The number of seconds, from 0 to 59. Defaults to 0. </param>
<param name="millisecond"> The number of milliseconds, from 0 to 999. Defaults to 0. </param>
<remarks>
If any of the parameters are out of range, then the other values are modified accordingly.
</remarks>
</member>
<member name="M:Jurassic.Library.DateInstance.#ctor(Jurassic.Library.ObjectInstance,System.DateTime)">
<summary>
Creates a new Date instance from the given date.
</summary>
<param name="prototype"> The next object in the prototype chain. </param>
<param name="dateTime"> The date to set the instance value to. </param>
</member>
<member name="M:Jurassic.Library.DateInstance.CreatePrototype(Jurassic.ScriptEngine,Jurassic.Library.DateConstructor)">
<summary>
Creates the Date prototype object.
</summary>
<param name="engine"> The script environment. </param>
<param name="constructor"> A reference to the constructor that owns the prototype. </param>
</member>
<member name="P:Jurassic.Library.DateInstance.Value">
<summary>
Gets the date represented by this object in standard .NET DateTime format.
</summary>
</member>
<member name="P:Jurassic.Library.DateInstance.ValueInMilliseconds">
<summary>
Gets the date represented by this object as the number of milliseconds elapsed since
January 1, 1970, 00:00:00 UTC.
</summary>
</member>
<member name="P:Jurassic.Library.DateInstance.IsValid">
<summary>
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.
</summary>
</member>
<member name="M:Jurassic.Library.DateInstance.GetFullYear">
<summary>
Returns the year component of this date, according to local time.
</summary>
<returns> The year component of this date, according to local time. </returns>
</member>
<member name="M:Jurassic.Library.DateInstance.GetYear">
<summary>
Returns the year component of this date as an offset from 1900, according to local time.
</summary>
<returns> The year component of this date as an offset from 1900, according to local time. </returns>
</member>
<member name="M:Jurassic.Library.DateInstance.GetMonth">
<summary>
Returns the month component of this date, according to local time.
</summary>
<returns> The month component (0-11) of this date, according to local time. </returns>
</member>
<member name="M:Jurassic.Library.DateInstance.GetDate">
<summary>
Returns the day of the month component of this date, according to local time.
</summary>
<returns> The day of the month component (1-31) of this date, according to local time. </returns>
</member>
<member name="M:Jurassic.Library.DateInstance.GetDay">
<summary>
Returns the day of the week component of this date, according to local time.
</summary>
<returns> The day of the week component (0-6) of this date, according to local time. </returns>
</member>
<member name="M:Jurassic.Library.DateInstance.GetHours">
<summary>
Returns the hour component of this date, according to local time.
</summary>
<returns> The hour component (0-23) of this date, according to local time. </returns>
</member>
<member name="M:Jurassic.Library.DateInstance.GetMinutes">
<summary>
Returns the minute component of this date, according to local time.
</summary>
<returns> The minute component (0-59) of this date, according to local time. </returns>
</member>
<member name="M:Jurassic.Library.DateInstance.GetSeconds">
<summary>
Returns the seconds component of this date, according to local time.
</summary>
<returns> The seconds component (0-59) of this date, according to local time. </returns>
</member>
<member name="M:Jurassic.Library.DateInstance.GetMilliseconds">
<summary>
Returns the millisecond component of this date, according to local time.
</summary>
<returns> The millisecond component (0-999) of this date, according to local time. </returns>
</member>
<member name="M:Jurassic.Library.DateInstance.GetTime">
<summary>
Returns the number of milliseconds since January 1, 1970, 00:00:00 UTC.
</summary>
<returns> The number of milliseconds since January 1, 1970, 00:00:00 UTC. </returns>
</member>
<member name="M:Jurassic.Library.DateInstance.GetTimezoneOffset">
<summary>
Returns the time-zone offset in minutes for the current locale.
</summary>
<returns> The time-zone offset in minutes for the current locale. </returns>
</member>
<member name="M:Jurassic.Library.DateInstance.GetUTCFullYear">
<summary>
Returns the year component of this date, according to universal time.
</summary>
<returns> The year component of this date, according to universal time. </returns>
</member>
<member name="M:Jurassic.Library.DateInstance.GetUTCMonth">
<summary>
Returns the month component of this date, according to universal time.
</summary>
<returns> The month component (0-11) of this date, according to universal time. </returns>
</member>
<member name="M:Jurassic.Library.DateInstance.GetUTCDate">
<summary>
Returns the day of the month component of this date, according to universal time.
</summary>
<returns> The day of the month component (1-31) of this date, according to universal time. </returns>
</member>
<member name="M:Jurassic.Library.DateInstance.GetUTCDay">
<summary>
Returns the day of the week component of this date, according to universal time.
</summary>
<returns> The day of the week component (0-6) of this date, according to universal time. </returns>
</member>
<member name="M:Jurassic.Library.DateInstance.GetUTCHours">
<summary>
Returns the hour component of this date, according to universal time.
</summary>
<returns> The hour component (0-23) of this date, according to universal time. </returns>
</member>
<member name="M:Jurassic.Library.DateInstance.GetUTCMinutes">
<summary>
Returns the minute component of this date, according to universal time.
</summary>
<returns> The minute component (0-59) of this date, according to universal time. </returns>
</member>
<member name="M:Jurassic.Library.DateInstance.GetUTCSeconds">
<summary>
Returns the seconds component of this date, according to universal time.
</summary>
<returns> The seconds component (0-59) of this date, according to universal time. </returns>
</member>
<member name="M:Jurassic.Library.DateInstance.GetUTCMilliseconds">
<summary>
Returns the millisecond component of this date, according to universal time.
</summary>
<returns> The millisecond component (0-999) of this date, according to universal time. </returns>
</member>
<member name="M:Jurassic.Library.DateInstance.SetFullYear(System.Double)">
<summary>
Sets the full year (4 digits for 4-digit years) of this date, according to local time.
</summary>
<param name="year"> The 4 digit year. </param>
<returns> The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for
the new date. </returns>
</member>
<member name="M:Jurassic.Library.DateInstance.SetFullYear(System.Double,System.Double)">
<summary>
Sets the full year (4 digits for 4-digit years) of this date, according to local time.
</summary>
<param name="year"> The 4 digit year. </param>
<param name="month"> The month (0-11). </param>
<returns> The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for
the new date. </returns>
</member>
<member name="M:Jurassic.Library.DateInstance.SetFullYear(System.Double,System.Double,System.Double)">
<summary>
Sets the full year (4 digits for 4-digit years) of this date, according to local time.
</summary>
<param name="year"> The 4 digit year. </param>
<param name="month"> The month (0-11). </param>
<param name="day"> The day of the month (1-31). </param>
<returns> The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for
the new date. </returns>
</member>
<member name="M:Jurassic.Library.DateInstance.SetYear(System.Double)">
<summary>
Sets the year of this date, according to local time.
</summary>
<param name="year"> The year. Numbers less than 100 will be assumed to be </param>
<returns> The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for
the new date. </returns>
</member>
<member name="M:Jurassic.Library.DateInstance.SetMonth(System.Double)">
<summary>
Sets the month of this date, according to local time.
</summary>
<param name="month"> The month (0-11). </param>
<returns> The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for
the new date. </returns>
</member>
<member name="M:Jurassic.Library.DateInstance.SetMonth(System.Double,System.Double)">
<summary>
Sets the month of this date, according to local time.
</summary>
<param name="month"> The month (0-11). </param>
<param name="day"> The day of the month (1-31). </param>
<returns> The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for
the new date. </returns>
</member>
<member name="M:Jurassic.Library.DateInstance.SetDate(System.Double)">
<summary>
Sets the day of this date, according to local time.
</summary>
<param name="day"> The day of the month (1-31). </param>
<returns> The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for
the new date. </returns>
</member>
<member name="M:Jurassic.Library.DateInstance.SetHours(System.Double)">
<summary>
Sets the hours component of this date, according to local time.
</summary>
<param name="hour"> The number of hours since midnight (0-23). </param>
<returns> The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for
the new date. </returns>
</member>
<member name="M:Jurassic.Library.DateInstance.SetHours(System.Double,System.Double)">
<summary>
Sets the hours component of this date, according to local time.
</summary>
<param name="hour"> The number of hours since midnight (0-23). </param>
<param name="minute"> The number of minutes since the hour (0-59). </param>
<returns> The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for
the new date. </returns>
</member>
<member name="M:Jurassic.Library.DateInstance.SetHours(System.Double,System.Double,System.Double)">
<summary>
Sets the hours component of this date, according to local time.
</summary>
<param name="hour"> The number of hours since midnight (0-23). </param>
<param name="minute"> The number of minutes since the hour (0-59). </param>
<param name="second"> The number of seconds since the minute (0-59). </param>
<returns> The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for
the new date. </returns>
</member>
<member name="M:Jurassic.Library.DateInstance.SetHours(System.Double,System.Double,System.Double,System.Double)">
<summary>
Sets the hours component of this date, according to local time.
</summary>
<param name="hour"> The number of hours since midnight (0-23). </param>
<param name="minute"> The number of minutes since the hour (0-59). </param>
<param name="second"> The number of seconds since the minute (0-59). </param>
<param name="millisecond"> The number of milliseconds since the second (0-999). </param>
<returns> The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for
the new date. </returns>
</member>
<member name="M:Jurassic.Library.DateInstance.SetMinutes(System.Double)">
<summary>
Sets the minutes component of this date, according to local time.
</summary>
<param name="minute"> The number of minutes since the hour (0-59). </param>
<returns> The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for
the new date. </returns>
</member>
<member name="M:Jurassic.Library.DateInstance.SetMinutes(System.Double,System.Double)">
<summary>
Sets the minutes component of this date, according to local time.
</summary>
<param name="minute"> The number of minutes since the hour (0-59). </param>
<param name="second"> The number of seconds since the minute (0-59). </param>
<returns> The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for
the new date. </returns>
</member>
<member name="M:Jurassic.Library.DateInstance.SetMinutes(System.Double,System.Double,System.Double)">
<summary>
Sets the minutes component of this date, according to local time.
</summary>
<param name="minute"> The number of minutes since the hour (0-59). </param>
<param name="second"> The number of seconds since the minute (0-59). </param>
<param name="millisecond"> The number of milliseconds since the second (0-999). </param>
<returns> The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for
the new date. </returns>
</member>
<member name="M:Jurassic.Library.DateInstance.SetSeconds(System.Double)">
<summary>
Sets the seconds component of this date, according to local time.
</summary>
<param name="second"> The number of seconds since the minute (0-59). </param>
<returns> The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for
the new date. </returns>
</member>
<member name="M:Jurassic.Library.DateInstance.SetSeconds(System.Double,System.Double)">
<summary>
Sets the seconds component of this date, according to local time.
</summary>
<param name="second"> The number of seconds since the minute (0-59). </param>
<param name="millisecond"> The number of milliseconds since the second (0-999). </param>
<returns> The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for
the new date. </returns>
</member>
<member name="M:Jurassic.Library.DateInstance.SetMilliseconds(System.Double)">
<summary>
Sets the milliseconds component of this date, according to local time.
</summary>
<param name="millisecond"> The number of milliseconds since the second (0-999). </param>
<returns> The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for
the new date. </returns>
</member>
<member name="M:Jurassic.Library.DateInstance.SetUTCFullYear(System.Double)">
<summary>
Sets the full year (4 digits for 4-digit years) of this date, according to universal time.
</summary>
<param name="year"> The 4 digit year. </param>
<returns> The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for
the new date. </returns>
</member>
<member name="M:Jurassic.Library.DateInstance.SetUTCFullYear(System.Double,System.Double)">
<summary>
Sets the full year (4 digits for 4-digit years) of this date, according to universal time.
</summary>
<param name="year"> The 4 digit year. </param>
<param name="month"> The month (0-11). </param>
<returns> The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for
the new date. </returns>
</member>
<member name="M:Jurassic.Library.DateInstance.SetUTCFullYear(System.Double,System.Double,System.Double)">
<summary>
Sets the full year (4 digits for 4-digit years) of this date, according to universal time.
</summary>
<param name="year"> The 4 digit year. </param>
<param name="month"> The month (0-11). </param>
<param name="day"> The day of the month (1-31). </param>
<returns> The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for
the new date. </returns>
</member>
<member name="M:Jurassic.Library.DateInstance.SetUTCMonth(System.Double)">
<summary>
Sets the month of this date, according to universal time.
</summary>
<param name="month"> The month (0-11). </param>
<returns> The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for
the new date. </returns>
</member>
<member name="M:Jurassic.Library.DateInstance.SetUTCMonth(System.Double,System.Double)">
<summary>
Sets the month of this date, according to universal time.
</summary>
<param name="month"> The month (0-11). </param>
<param name="day"> The day of the month (1-31). </param>
<returns> The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for
the new date. </returns>
</member>
<member name="M:Jurassic.Library.DateInstance.SetUTCDate(System.Double)">
<summary>
Sets the day of this date, according to universal time.
</summary>
<param name="day"> The day of the month (1-31). </param>
<returns> The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for
the new date. </returns>
</member>
<member name="M:Jurassic.Library.DateInstance.SetUTCHours(System.Double)">
<summary>
Sets the hours component of this date, according to universal time.
</summary>
<param name="hour"> The number of hours since midnight (0-23). </param>
<returns> The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for
the new date. </returns>
</member>
<member name="M:Jurassic.Library.DateInstance.SetUTCHours(System.Double,System.Double)">
<summary>
Sets the hours component of this date, according to universal time.
</summary>
<param name="hour"> The number of hours since midnight (0-23). </param>
<param name="minute"> The number of minutes since the hour (0-59). </param>
<returns> The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for
the new date. </returns>
</member>
<member name="M:Jurassic.Library.DateInstance.SetUTCHours(System.Double,System.Double,System.Double)">
<summary>
Sets the hours component of this date, according to universal time.
</summary>
<param name="hour"> The number of hours since midnight (0-23). </param>
<param name="minute"> The number of minutes since the hour (0-59). </param>
<param name="second"> The number of seconds since the minute (0-59). </param>
<returns> The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for
the new date. </returns>
</member>
<member name="M:Jurassic.Library.DateInstance.SetUTCHours(System.Double,System.Double,System.Double,System.Double)">
<summary>
Sets the hours component of this date, according to universal time.
</summary>
<param name="hour"> The number of hours since midnight (0-23). </param>
<param name="minute"> The number of minutes since the hour (0-59). </param>
<param name="second"> The number of seconds since the minute (0-59). </param>
<param name="millisecond"> The number of milliseconds since the second (0-999). </param>
<returns> The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for
the new date. </returns>
</member>
<member name="M:Jurassic.Library.DateInstance.SetUTCMinutes(System.Double)">
<summary>
Sets the minutes component of this date, according to universal time.
</summary>
<param name="minute"> The number of minutes since the hour (0-59). </param>
<returns> The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for
the new date. </returns>
</member>
<member name="M:Jurassic.Library.DateInstance.SetUTCMinutes(System.Double,System.Double)">
<summary>
Sets the minutes component of this date, according to universal time.
</summary>
<param name="minute"> The number of minutes since the hour (0-59). </param>
<param name="second"> The number of seconds since the minute (0-59). </param>
<returns> The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for
the new date. </returns>
</member>
<member name="M:Jurassic.Library.DateInstance.SetUTCMinutes(System.Double,System.Double,System.Double)">
<summary>
Sets the minutes component of this date, according to universal time.
</summary>
<param name="minute"> The number of minutes since the hour (0-59). </param>
<param name="second"> The number of seconds since the minute (0-59). </param>
<param name="millisecond"> The number of milliseconds since the second (0-999). </param>
<returns> The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for
the new date. </returns>
</member>
<member name="M:Jurassic.Library.DateInstance.SetUTCSeconds(System.Double)">
<summary>
Sets the seconds component of this date, according to universal time.
</summary>
<param name="second"> The number of seconds since the minute (0-59). </param>
<returns> The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for
the new date. </returns>
</member>
<member name="M:Jurassic.Library.DateInstance.SetUTCSeconds(System.Double,System.Double)">
<summary>
Sets the seconds component of this date, according to universal time.
</summary>
<param name="second"> The number of seconds since the minute (0-59). </param>
<param name="millisecond"> The number of milliseconds since the second (0-999). </param>
<returns> The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for
the new date. </returns>
</member>
<member name="M:Jurassic.Library.DateInstance.SetUTCMilliseconds(System.Double)">
<summary>
Sets the milliseconds component of this date, according to universal time.
</summary>
<param name="millisecond"> The number of milliseconds since the second (0-999). </param>
<returns> The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for
the new date. </returns>
</member>
<member name="M:Jurassic.Library.DateInstance.SetTime(System.Double)">
<summary>
Sets the date and time value of ths date.
</summary>
<param name="millisecond"> The number of milliseconds since January 1, 1970, 00:00:00 UTC. </param>
<returns> The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for
the new date. </returns>
</member>
<member name="M:Jurassic.Library.DateInstance.ToDateString">
<summary>
Returns the date as a string.
</summary>
<returns> The date as a string. </returns>
</member>
<member name="M:Jurassic.Library.DateInstance.ToGMTString">
<summary>
Returns the date as a string using GMT (Greenwich Mean Time).
</summary>
<returns> The date as a string. </returns>
</member>
<member name="M:Jurassic.Library.DateInstance.ToISOString">
<summary>
Returns the date as a string using GMT (Greenwich Mean Time).
</summary>
<returns> The date as a string. </returns>
</member>
<member name="M:Jurassic.Library.DateInstance.ToJSON(Jurassic.Library.ObjectInstance,System.String)">
<summary>
Used by the JSON.stringify to transform objects prior to serialization.
</summary>
<param name="thisObject"> The object that is being operated on. </param>
<param name="key"> Unused. </param>
<returns> The date as a serializable string. </returns>
</member>
<member name="M:Jurassic.Library.DateInstance.ToLocaleDateString">
<summary>
Returns the date as a string using the current locale settings.
</summary>
<returns></returns>
</member>
<member name="M:Jurassic.Library.DateInstance.ToLocaleString">
<summary>
Returns the date and time as a string using the current locale settings.
</summary>
<returns></returns>
</member>
<member name="M:Jurassic.Library.DateInstance.ToLocaleTimeString">
<summary>
Returns the time as a string using the current locale settings.
</summary>
<returns></returns>
</member>
<member name="M:Jurassic.Library.DateInstance.ToString(System.Object)">
<summary>
Returns a string representing the date and time.
</summary>
<param name="thisRef"> The object that is being operated on. </param>
<returns> A string representing the date and time. </returns>
</member>
<member name="M:Jurassic.Library.DateInstance.ToTimeString">
<summary>
Returns the time as a string.
</summary>
<returns></returns>
</member>
<member name="M:Jurassic.Library.DateInstance.ToUTCString">
<summary>
Returns the date as a string using UTC (universal time).
</summary>
<returns></returns>
</member>
<member name="M:Jurassic.Library.DateInstance.ValueOf">
<summary>
Returns the primitive value of this object.
</summary>
<returns> The primitive value of this object. </returns>
</member>
<member name="M:Jurassic.Library.DateInstance.ToPrimitive(Jurassic.ScriptEngine,Jurassic.Library.ObjectInstance,System.String)">
<summary>
Returns a primitive value that represents the current object. Used by the addition and
equality operators.
</summary>
<param name="engine"> The current script environment. </param>
<param name="thisObj"> The object to operate on. </param>
<param name="hint"> Specifies the conversion behaviour. Must be "default", "string" or "number". </param>
<returns></returns>
</member>
<member name="M:Jurassic.Library.DateInstance.Now">
<summary>
Returns the current date and time as the number of milliseconds elapsed since January 1,
1970, 00:00:00 UTC.
</summary>
<returns> The current date and time as the number of milliseconds elapsed since January 1,
1970, 00:00:00 UTC. </returns>
</member>
<member name="M:Jurassic.Library.DateInstance.UTC(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32)">
<summary>
Given the components of a UTC date, returns the number of milliseconds since January 1,
1970, 00:00:00 UTC to that date.
</summary>
<param name="year"> The full year. </param>
<param name="month"> The month as an integer between 0 and 11 (january to december). </param>
<param name="day"> The day of the month, from 1 to 31. Defaults to 1. </param>
<param name="hour"> The number of hours since midnight, from 0 to 23. Defaults to 0. </param>
<param name="minute"> The number of minutes, from 0 to 59. Defaults to 0. </param>
<param name="second"> The number of seconds, from 0 to 59. Defaults to 0. </param>
<param name="millisecond"> The number of milliseconds, from 0 to 999. Defaults to 0. </param>
<returns> The number of milliseconds since January 1, 1970, 00:00:00 UTC to the given
date. </returns>
<remarks>
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.
</remarks>
</member>
<member name="M:Jurassic.Library.DateInstance.Parse(System.String)">
<summary>
Parses a string representation of a date, and returns the number of milliseconds since
January 1, 1970, 00:00:00 UTC.
</summary>
<param name="dateStr"> A string representing a date, expressed in RFC 1123 format. </param>
</member>
<member name="M:Jurassic.Library.DateInstance.GetDateComponent(Jurassic.Library.DateInstance.DateComponent,System.DateTimeKind)">
<summary>
Gets a single component of this date.
</summary>
<param name="component"> The date component to extract. </param>
<param name="localOrUniversal"> Indicates whether to retrieve the component in local
or universal time. </param>
<returns> The date component value, or <c>NaN</c> if the date is invalid. </returns>
</member>
<member name="M:Jurassic.Library.DateInstance.SetDateComponents(Jurassic.Library.DateInstance.DateComponent,System.DateTimeKind,System.Double[])">
<summary>
Sets one or more components of this date.
</summary>
<param name="firstComponent"> The first date component to set. </param>
<param name="localOrUniversal"> Indicates whether to set the component(s) in local
or universal time. </param>
<param name="componentValues"> One or more date component values. </param>
<returns> The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for
the new date. </returns>
</member>
<member name="M:Jurassic.Library.DateInstance.ToJSDate(System.DateTime)">
<summary>
Converts a .NET date into a javascript date.
</summary>
<param name="dateTime"> The .NET date. </param>
<returns> The number of milliseconds since January 1, 1970, 00:00:00 UTC </returns>
</member>
<member name="M:Jurassic.Library.DateInstance.ToDateTime(System.Double)">
<summary>
Converts a javascript date into a .NET date.
</summary>
<param name="milliseconds"> The number of milliseconds since January 1, 1970, 00:00:00 UTC. </param>
<returns> The equivalent .NET date. </returns>
</member>
<member name="M:Jurassic.Library.DateInstance.ToDateTime(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.DateTimeKind)">
<summary>
Given the components of a date, returns the equivalent .NET date.
</summary>
<param name="year"> The full year. </param>
<param name="month"> The month as an integer between 0 and 11 (january to december). </param>
<param name="day"> The day of the month, from 1 to 31. Defaults to 1. </param>
<param name="hour"> The number of hours since midnight, from 0 to 23. Defaults to 0. </param>
<param name="minute"> The number of minutes, from 0 to 59. Defaults to 0. </param>
<param name="second"> The number of seconds, from 0 to 59. Defaults to 0. </param>
<param name="millisecond"> The number of milliseconds, from 0 to 999. Defaults to 0. </param>
<param name="kind"> Indicates whether the components are in UTC or local time. </param>
<returns> The equivalent .NET date. </returns>
</member>
<member name="M:Jurassic.Library.DateInstance.GetNow">
<summary>
Gets the current time and date.
</summary>
<returns> The current time and date. </returns>
</member>
<member name="M:Jurassic.Library.DateInstance.ToTimeZoneString(System.DateTime)">
<summary>
Returns a string of the form "GMT+1200 (New Zealand Standard Time)".
</summary>
<param name="dateTime"> The date to get the time zone information from. </param>
<returns> A string of the form "GMT+1200 (New Zealand Standard Time)". </returns>
</member>
<member name="T:Jurassic.Library.DateParser">
<summary>
Parses a javascript date string.
</summary>
</member>
<member name="M:Jurassic.Library.DateParser.Parse(System.String)">
<summary>
Parses a javascript date string.
</summary>
<param name="input"> The string to parse as a date. </param>
<returns> A date. </returns>
</member>
<member name="M:Jurassic.Library.DateParser.ParseUnstructured(System.String)">
<summary>
Parses an unstructured javascript date string.
</summary>
<param name="input"> The string to parse as a date. </param>
<returns> A date. </returns>
</member>
<member name="M:Jurassic.Library.DateParser.ParseTimeZone(System.String,System.Int32@)">
<summary>
Converts a timezone string to a timezone offset.
</summary>
<param name="timezoneStr"> The timezone string e.g. "+1300", "+13", "-1". </param>
<param name="offsetInMinutes"> The timezone offset, in minutes. e.g. +1200 will return 12*60=700. </param>
<returns> Indicates whether parsing was successful. </returns>
</member>
<member name="M:Jurassic.Library.DateParser.PopulateDayOfWeekNames">
<summary>
Constructs a HashSet containing the names of days of the week.
</summary>
</member>
<member name="M:Jurassic.Library.DateParser.PopulateMonthNames">
<summary>
Constructs a dictionary containing the names of all the months and a mapping to the
number of the month (1-12).
</summary>
</member>
<member name="M:Jurassic.Library.DateParser.PopulateTimeZones">
<summary>
Constructs a dictionary containing the names of all the time zones and a mapping to the
time zone offset (in hours).
</summary>
</member>
<member name="T:Jurassic.Library.ErrorConstructor">
<summary>
Represents a constructor for one of the error types: Error, RangeError, SyntaxError, etc.
</summary>
</member>
<member name="M:Jurassic.Library.ErrorConstructor.#ctor(Jurassic.Library.ObjectInstance,Jurassic.Library.ErrorType)">
<summary>
Creates a new derived error function.
</summary>
<param name="prototype"> The next object in the prototype chain. </param>
<param name="type"> The type of error, e.g. Error, RangeError, etc. </param>
</member>
<member name="M:Jurassic.Library.ErrorConstructor.Call(System.String)">
<summary>
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.
</summary>
<param name="message"> A description of the error. </param>
</member>
<member name="M:Jurassic.Library.ErrorConstructor.Construct(System.String)">
<summary>
Creates a new derived error instance with the given message.
</summary>
<param name="message"> A description of the error. </param>
</member>
<member name="T:Jurassic.Library.ErrorInstance">
<summary>
Represents the base class of all the javascript errors.
</summary>
</member>
<member name="M:Jurassic.Library.ErrorInstance.#ctor(Jurassic.Library.ObjectInstance,System.String)">
<summary>
Creates a new Error instance with the given message.
</summary>
<param name="prototype"> The next object in the prototype chain. </param>
<param name="message"> The initial value of the message property. Pass <c>null</c> to
avoid creating this property. </param>
</member>
<member name="M:Jurassic.Library.ErrorInstance.CreatePrototype(Jurassic.ScriptEngine,Jurassic.Library.ErrorConstructor,Jurassic.Library.ErrorType)">
<summary>
Creates the Error prototype object.
</summary>
<param name="engine"> The script environment. </param>
<param name="constructor"> A reference to the constructor that owns the prototype. </param>
<param name="type"> The type of error, e.g. Error, RangeError, etc. </param>
</member>
<member name="M:Jurassic.Library.ErrorInstance.GetPrototype(Jurassic.ScriptEngine,Jurassic.Library.ErrorType)">
<summary>
Determine the prototype for the given error type.
</summary>
<param name="engine"> The script engine associated with this object. </param>
<param name="type"> The type of error, e.g. Error, RangeError, etc. </param>
<returns> The prototype. </returns>
</member>
<member name="P:Jurassic.Library.ErrorInstance.Name">
<summary>
Gets the name for the type of error.
</summary>
</member>
<member name="P:Jurassic.Library.ErrorInstance.Message">
<summary>
Gets a human-readable description of the error.
</summary>
</member>
<member name="P:Jurassic.Library.ErrorInstance.Stack">
<summary>
Gets the stack trace. Note that this is populated when the object is thrown, NOT when
it is initialized.
</summary>
</member>
<member name="M:Jurassic.Library.ErrorInstance.SetStackTrace(System.String,System.String,System.Int32)">
<summary>
Sets the stack trace information.
</summary>
<param name="path"> The path of the javascript source file that is currently executing. </param>
<param name="function"> The name of the currently executing function. </param>
<param name="line"> The line number of the statement that is currently executing. </param>
</member>
<member name="M:Jurassic.Library.ErrorInstance.ToString(Jurassic.ScriptEngine,System.Object)">
<summary>
Returns a string representing the current object.
</summary>
<param name="engine"> The current script environment. </param>
<param name="thisObj"> The object that is being operated on. </param>
<returns> A string representing the current object. </returns>
</member>
<member name="T:Jurassic.Library.ErrorType">
<summary>
Used when creating an error to specify the specific type of error.
</summary>
</member>
<member name="F:Jurassic.Library.ErrorType.Error">
<summary>
Represents a generic error.
</summary>
</member>
<member name="F:Jurassic.Library.ErrorType.RangeError">
<summary>
Indicates a value that is not in the set or range of allowable values.
</summary>
</member>
<member name="F:Jurassic.Library.ErrorType.TypeError">
<summary>
Indicates the actual type of an operand is different than the expected type.
</summary>
</member>
<member name="F:Jurassic.Library.ErrorType.SyntaxError">
<summary>
Indicates that a parsing error has occurred.
</summary>
</member>
<member name="F:Jurassic.Library.ErrorType.URIError">
<summary>
Indicates that one of the global URI handling functions was used in a way that is incompatible with its definition.
</summary>
</member>
<member name="F:Jurassic.Library.ErrorType.EvalError">
<summary>
Not used.
</summary>
</member>
<member name="F:Jurassic.Library.ErrorType.ReferenceError">
<summary>
Indicate that an invalid reference value has been detected.
</summary>
</member>
<member name="T:Jurassic.Library.FirebugConsole">
<summary>
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).
</summary>
</member>
<member name="M:Jurassic.Library.FirebugConsole.#ctor(Jurassic.ScriptEngine)">
<summary>
Creates a new FirebugConsole instance.
</summary>
<param name="engine"> The associated script engine. </param>
</member>
<member name="P:Jurassic.Library.FirebugConsole.Output">
<summary>
Gets or sets the console to output to.
</summary>
</member>
<member name="M:Jurassic.Library.FirebugConsole.Log(System.Object[])">
<summary>
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
</summary>
<param name="items"> The items to format. </param>
</member>
<member name="M:Jurassic.Library.FirebugConsole.Debug(System.Object[])">
<summary>
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
</summary>
<param name="items"> The items to format. </param>
</member>
<member name="M:Jurassic.Library.FirebugConsole.Info(System.Object[])">
<summary>
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
</summary>
<param name="items"> The items to format. </param>
</member>
<member name="M:Jurassic.Library.FirebugConsole.Warn(System.Object[])">
<summary>
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
</summary>
<param name="items"> The items to format. </param>
</member>
<member name="M:Jurassic.Library.FirebugConsole.Error(System.Object[])">
<summary>
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
</summary>
<param name="items"> The items to format. </param>
</member>
<member name="M:Jurassic.Library.FirebugConsole.Assert(System.Boolean,System.Object[])">
<summary>
Tests that an expression is true. If not, it will write a message to the console.
</summary>
<param name="expression"> The expression to test. </param>
<param name="items"> The items to format. </param>
</member>
<member name="M:Jurassic.Library.FirebugConsole.Clear(System.Object[])">
<summary>
Clears the console.
</summary>
</member>
<member name="M:Jurassic.Library.FirebugConsole.Group(System.Object[])">
<summary>
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.
</summary>
<param name="items"> The items to format. </param>
</member>
<member name="M:Jurassic.Library.FirebugConsole.GroupCollapsed(System.Object[])">
<summary>
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.
</summary>
<param name="items"> The items to format. </param>
</member>
<member name="M:Jurassic.Library.FirebugConsole.GroupEnd">
<summary>
Closes the most recently opened block created by a call to console.group().
</summary>
</member>
<member name="M:Jurassic.Library.FirebugConsole.Time(System.String)">
<summary>
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.
</summary>
<param name="name"> The name of the time to create. </param>
</member>
<member name="M:Jurassic.Library.FirebugConsole.TimeEnd(System.String)">
<summary>
Stops a timer created by a call to console.time(name) and writes the time elapsed.
</summary>
<param name="name"> The name of the timer to stop. </param>
</member>
<member name="M:Jurassic.Library.FirebugConsole.Log(Jurassic.Library.FirebugConsoleMessageStyle,System.Object[])">
<summary>
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
</summary>
<param name="style"> The style of the message (this determines the icon and text
color). </param>
<param name="items"> The items to format. </param>
</member>
<member name="M:Jurassic.Library.FirebugConsole.Format(System.Object[])">
<summary>
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
</summary>
<param name="items"> The items to format. </param>
<returns> A formatted string. </returns>
</member>
<member name="M:Jurassic.Library.FirebugConsole.FormatObjects(System.Object[])">
<summary>
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
</summary>
<param name="items"> The items to format. </param>
<returns> An array containing formatted strings interspersed with objects. </returns>
</member>
<member name="T:Jurassic.Library.FirebugConsoleMessageStyle">
<summary>
Indicates the level of severity.
</summary>
</member>
<member name="F:Jurassic.Library.FirebugConsoleMessageStyle.Regular">
<summary>
Log text, without any indication of the severity.
</summary>
</member>
<member name="F:Jurassic.Library.FirebugConsoleMessageStyle.Information">
<summary>
Log informational text.
</summary>
</member>
<member name="F:Jurassic.Library.FirebugConsoleMessageStyle.Warning">
<summary>
Log warnings.
</summary>
</member>
<member name="F:Jurassic.Library.FirebugConsoleMessageStyle.Error">
<summary>
Log errors.
</summary>
</member>
<member name="T:Jurassic.Library.IFirebugConsoleOutput">
<summary>
Represents the target of any Firebug console commands.
</summary>
</member>
<member name="M:Jurassic.Library.IFirebugConsoleOutput.Log(Jurassic.Library.FirebugConsoleMessageStyle,System.Object[])">
<summary>
Logs a message to the console.
</summary>
<param name="style"> The style of the message (this determines the icon and text
color). </param>
<param name="objects"> The objects to output to the console. These can be strings or
ObjectInstances. </param>
</member>
<member name="M:Jurassic.Library.IFirebugConsoleOutput.Clear">
<summary>
Clears the console.
</summary>
</member>
<member name="M:Jurassic.Library.IFirebugConsoleOutput.StartGroup(System.String,System.Boolean)">
<summary>
Starts grouping messages together.
</summary>
<param name="title"> The title for the group. </param>
<param name="initiallyCollapsed"> <c>true</c> if subsequent messages should be hidden by default. </param>
</member>
<member name="M:Jurassic.Library.IFirebugConsoleOutput.EndGroup">
<summary>
Ends the most recently started group.
</summary>
</member>
<member name="T:Jurassic.Library.StandardConsoleOutput">
<summary>
Represents an implementation of the Firebug API using the standard console.
</summary>
</member>
<member name="P:Jurassic.Library.StandardConsoleOutput.CurrentIndentation">
<summary>
Gets or sets the number of spaces to output before writing any text to the console.
</summary>
</member>
<member name="P:Jurassic.Library.StandardConsoleOutput.IndentationDelta">
<summary>
Gets or sets the number of spaces to add to the identation when group() is called.
</summary>
</member>
<member name="M:Jurassic.Library.StandardConsoleOutput.Log(Jurassic.Library.FirebugConsoleMessageStyle,System.Object[])">
<summary>
Logs a message to the console.
</summary>
<param name="style"> A style which influences the icon and text color. </param>
<param name="objects"> The objects to output to the console. These can be strings or
ObjectInstances. </param>
</member>
<member name="M:Jurassic.Library.StandardConsoleOutput.Clear">
<summary>
Clears the console.
</summary>
</member>
<member name="M:Jurassic.Library.StandardConsoleOutput.StartGroup(System.String,System.Boolean)">
<summary>
Starts grouping messages together.
</summary>
<param name="title"> The title for the group. </param>
<param name="initiallyCollapsed"> <c>true</c> if subsequent messages should be hidden by default. </param>
</member>
<member name="M:Jurassic.Library.StandardConsoleOutput.EndGroup">
<summary>
Ends the most recently started group.
</summary>
</member>
<member name="T:Jurassic.Library.ArgumentsInstance">
<summary>
Represents an arguments object.
</summary>
</member>
<member name="M:Jurassic.Library.ArgumentsInstance.#ctor(Jurassic.Library.ObjectInstance,Jurassic.Library.UserDefinedFunction,Jurassic.Compiler.RuntimeScope,System.Object[])">
<summary>
Creates a new Arguments instance.
</summary>
<param name="prototype"> The next object in the prototype chain. </param>
<param name="callee"> The function that was called. </param>
<param name="bindings"> The bindings to allow modification. </param>
<param name="argumentValues"> The argument values that were passed to the function. </param>
</member>
<member name="M:Jurassic.Library.ArgumentsInstance.ArgumentGetter(Jurassic.Compiler.ExecutionContext,System.Object[])">
<summary>
Used to retrieve the value of an argument.
</summary>
<param name="context"> The script engine, this value, etc. </param>
<param name="argumentValues"> The arguments that were passed to the function. </param>
<returns> The result of calling the method. </returns>
</member>
<member name="M:Jurassic.Library.ArgumentsInstance.ArgumentSetter(Jurassic.Compiler.ExecutionContext,System.Object[])">
<summary>
Used to set the value of an argument.
</summary>
<param name="context"> The script engine, this value, etc. </param>
<param name="argumentValues"> The arguments that were passed to the function. </param>
<returns> The result of calling the method. </returns>
</member>
<member name="M:Jurassic.Library.ArgumentsInstance.Delete(System.UInt32,System.Boolean)">
<summary>
Deletes the property with the given array index.
</summary>
<param name="index"> The array index of the property to delete. </param>
<param name="throwOnError"> <c>true</c> to throw an exception if the property could not
be set because the property was marked as non-configurable. </param>
<returns> <c>true</c> if the property was successfully deleted, or if the property did
not exist; <c>false</c> if the property was marked as non-configurable and
<paramref name="throwOnError"/> was <c>false</c>. </returns>
</member>
<member name="M:Jurassic.Library.ArgumentsInstance.GetIterator">
<summary>
Returns an iterator that iterates over the argument values.
</summary>
<returns> An iterator for the arguments instance. </returns>
</member>
<member name="T:Jurassic.Library.BoundFunction">
<summary>
Represents a function that has bound arguments.
</summary>
</member>
<member name="M:Jurassic.Library.BoundFunction.#ctor(Jurassic.Library.FunctionInstance,System.Object,System.Object[])">
<summary>
Creates a new instance of a user-defined function.
</summary>
<param name="targetFunction"> The function that was bound. </param>
<param name="boundThis"> The value of the "this" parameter when the target function is called. </param>
<param name="boundArguments"> Zero or more bound argument values. </param>
</member>
<member name="P:Jurassic.Library.BoundFunction.TargetFunction">
<summary>
Gets the function that is being bound.
</summary>
</member>
<member name="P:Jurassic.Library.BoundFunction.BoundThis">
<summary>
Gets the value of the "this" parameter when the target function is called.
</summary>
</member>
<member name="P:Jurassic.Library.BoundFunction.BoundArguments">
<summary>
Gets an array of zero or more bound argument values.
</summary>
</member>
<member name="M:Jurassic.Library.BoundFunction.HasInstance(System.Object)">
<summary>
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.
</summary>
<param name="instance"> The instance to check. </param>
<returns> <c>true</c> if the object inherits from this function; <c>false</c>
otherwise. </returns>
</member>
<member name="M:Jurassic.Library.BoundFunction.CallLateBound(System.Object,System.Object[])">
<summary>
Calls this function, passing in the given "this" value and zero or more arguments.
</summary>
<param name="thisObject"> The value of the "this" keyword within the function. </param>
<param name="argumentValues"> An array of argument values to pass to the function. </param>
<returns> The value that was returned from the function. </returns>
</member>
<member name="M:Jurassic.Library.BoundFunction.ConstructLateBound(Jurassic.Library.FunctionInstance,System.Object[])">
<summary>
Creates an object, using this function as the constructor.
</summary>
<param name="newTarget"> The value of 'new.target'. </param>
<param name="argumentValues"> An array of argument values to pass to the function. </param>
<returns> The object that was created. </returns>
</member>
<member name="M:Jurassic.Library.BoundFunction.ToString">
<summary>
Returns a string representing this object.
</summary>
<returns> A string representing this object. </returns>
</member>
<member name="T:Jurassic.Library.ClassFunction">
<summary>
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.
</summary>
</member>
<member name="M:Jurassic.Library.ClassFunction.#ctor(Jurassic.Library.ObjectInstance,System.String,Jurassic.Library.ObjectInstance,Jurassic.Library.UserDefinedFunction)">
<summary>
Creates a new instance of a user-defined class.
</summary>
<param name="prototype"> The next object in the prototype chain. </param>
<param name="name"> The name of the class. Can be <c>null</c> if none were supplied. </param>
<param name="instancePrototype"> The value of the 'prototype' property. </param>
<param name="constructor"> A function that represents the constructor, if the class has
one, or <c>null</c> otherwise. </param>
<remarks>
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)
</remarks>
</member>
<member name="M:Jurassic.Library.ClassFunction.CallLateBound(System.Object,System.Object[])">
<summary>
Calls this function, passing in the given "this" value and zero or more arguments.
</summary>
<param name="thisObject"> The value of the "this" keyword within the function. </param>
<param name="argumentValues"> An array of argument values to pass to the function. </param>
<returns> The value that was returned from the function. </returns>
</member>
<member name="M:Jurassic.Library.ClassFunction.ConstructLateBound(Jurassic.Library.FunctionInstance,System.Object[])">
<summary>
Creates an object, using this function as the constructor.
</summary>
<param name="newTarget"> The value of 'new.target'. </param>
<param name="argumentValues"> An array of argument values. </param>
<returns> The object that was created. </returns>
</member>
<member name="M:Jurassic.Library.ClassFunction.ToString">
<summary>
Returns a string representing this object.
</summary>
<returns> A string representing this object. </returns>
</member>
<member name="T:Jurassic.Library.ClrFunction">
<summary>
Represents a JavaScript function implemented by one or more .NET methods.
</summary>
</member>
<member name="M:Jurassic.Library.ClrFunction.#ctor(Jurassic.Library.ObjectInstance,System.String,Jurassic.Library.ObjectInstance)">
<summary>
Creates a new instance of a built-in constructor function.
</summary>
<param name="prototype"> The next object in the prototype chain. </param>
<param name="name"> The name of the function. </param>
<param name="instancePrototype"> </param>
</member>
<member name="M:Jurassic.Library.ClrFunction.#ctor(Jurassic.Library.ObjectInstance,System.Delegate,System.String,System.Int32)">
<summary>
Creates a new instance of a function which calls the given delegate.
</summary>
<param name="prototype"> The next object in the prototype chain. </param>
<param name="delegateToCall"> The delegate to call. </param>
<param name="name"> The name of the function. Pass <c>null</c> to use the name of the
delegate for the function name. </param>
<param name="length"> The "typical" number of arguments expected by the function. Pass
<c>-1</c> to use the number of arguments expected by the delegate. </param>
</member>
<member name="M:Jurassic.Library.ClrFunction.#ctor(Jurassic.Library.ObjectInstance,System.Collections.Generic.IEnumerable{Jurassic.Compiler.JSBinderMethod},System.String,System.Int32)">
<summary>
Creates a new instance of a function which calls one or more provided methods.
</summary>
<param name="prototype"> The next object in the prototype chain. </param>
<param name="methods"> An enumerable collection of methods that logically comprise a
single method group. </param>
<param name="name"> The name of the function. Pass <c>null</c> to use the name of the
provided methods for the function name (in this case all the provided methods must have
the same name). </param>
<param name="length"> The "typical" number of arguments expected by the function. Pass
<c>-1</c> to use the maximum of arguments expected by any of the provided methods. </param>
</member>
<member name="M:Jurassic.Library.ClrFunction.#ctor(Jurassic.Library.ObjectInstance,Jurassic.Compiler.Binder)">
<summary>
Creates a new instance of a function which calls the given binder.
</summary>
<param name="prototype"> The next object in the prototype chain. </param>
<param name="binder"> An object representing a collection of methods to bind to. </param>
</member>
<member name="M:Jurassic.Library.ClrFunction.CallLateBound(System.Object,System.Object[])">
<summary>
Calls this function, passing in the given "this" value and zero or more arguments.
</summary>
<param name="thisObject"> The value of the "this" keyword within the function. </param>
<param name="arguments"> An array of argument values. </param>
<returns> The value that was returned from the function. </returns>
</member>
<member name="M:Jurassic.Library.ClrFunction.ConstructLateBound(Jurassic.Library.FunctionInstance,System.Object[])">
<summary>
Creates an object, using this function as the constructor.
</summary>
<param name="newTarget"> The value of 'new.target'. </param>
<param name="argumentValues"> An array of argument values. </param>
<returns> The object that was created. </returns>
</member>
<member name="T:Jurassic.Library.ClrFunction.EmptyBinder">
<summary>
A binder that merely returns undefined.
</summary>
</member>
<member name="M:Jurassic.Library.ClrFunction.EmptyBinder.#ctor">
<summary>
Creates a new EmptyBinder instance.
</summary>
</member>
<member name="P:Jurassic.Library.ClrFunction.EmptyBinder.Name">
<summary>
Gets the name of the target methods.
</summary>
</member>
<member name="P:Jurassic.Library.ClrFunction.EmptyBinder.FullName">
<summary>
Gets the full name of the target methods, including the type name.
</summary>
</member>
<member name="M:Jurassic.Library.ClrFunction.EmptyBinder.GenerateStub(Jurassic.Compiler.ILGenerator,System.Int32)">
<summary>
Generates a method that does type conversion and calls the bound method.
</summary>
<param name="generator"> The ILGenerator used to output the body of the method. </param>
<param name="argumentCount"> The number of arguments that will be passed to the delegate. </param>
<returns> A delegate that does type conversion and calls the method represented by this
object. </returns>
</member>
<member name="T:Jurassic.Library.ClrStubFunction">
<summary>
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.
</summary>
</member>
<member name="M:Jurassic.Library.ClrStubFunction.#ctor(Jurassic.Library.ObjectInstance,System.Func{Jurassic.ScriptEngine,System.Object,System.Object[],System.Object})">
<summary>
Creates a function which calls a .NET method, with no name or length.
</summary>
<param name="prototype"> The next object in the prototype chain. </param>
<param name="call"> The delegate to call when calling the JS method. </param>
</member>
<member name="M:Jurassic.Library.ClrStubFunction.#ctor(Jurassic.ScriptEngine,System.String,System.Int32,System.Func{Jurassic.ScriptEngine,System.Object,System.Object[],System.Object})">
<summary>
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.
</summary>
<param name="engine"> The script engine. </param>
<param name="name"> The name of the function. </param>
<param name="length"> The "typical" number of arguments expected by the function. </param>
<param name="call"> The delegate to call when calling the JS method. </param>
</member>
<member name="M:Jurassic.Library.ClrStubFunction.#ctor(Jurassic.Library.ObjectInstance,System.String,System.Int32,System.Func{Jurassic.ScriptEngine,System.Object,System.Object[],System.Object})">
<summary>
Creates a new instance of a function which calls a .NET method.
</summary>
<param name="prototype"> The next object in the prototype chain. </param>
<param name="name"> The name of the function. </param>
<param name="length"> The "typical" number of arguments expected by the function. </param>
<param name="call"> The delegate to call when calling the JS method. </param>
</member>
<member name="M:Jurassic.Library.ClrStubFunction.#ctor(Jurassic.Library.ObjectInstance,System.Func{Jurassic.ScriptEngine,Jurassic.Library.FunctionInstance,Jurassic.Library.FunctionInstance,System.Object[],Jurassic.Library.ObjectInstance},System.Func{Jurassic.ScriptEngine,System.Object,System.Object[],System.Object})">
<summary>
Creates a new constructor function.
</summary>
<param name="prototype"> The next object in the prototype chain. </param>
<param name="construct"> The delegate to call when calling the JS method as a constructor. </param>
<param name="call"> The delegate to call when function is called. </param>
</member>
<member name="M:Jurassic.Library.ClrStubFunction.InitializeConstructorProperties(System.Collections.Generic.List{Jurassic.Library.PropertyNameAndValue},System.String,System.Int32,Jurassic.Library.ObjectInstance)">
<summary>
Adds properties needed by the function to the list of properties.
</summary>
<param name="properties"> The list of properties to add to. </param>
<param name="name"> The name of the function. </param>
<param name="length"> The "typical" number of arguments expected by the function. </param>
<param name="instancePrototype"> The value of the "prototype" property. </param>
</member>
<member name="M:Jurassic.Library.ClrStubFunction.#ctor(Jurassic.Library.ObjectInstance,System.String,System.Int32,Jurassic.Library.ObjectInstance,System.Func{Jurassic.ScriptEngine,Jurassic.Library.FunctionInstance,Jurassic.Library.FunctionInstance,System.Object[],Jurassic.Library.ObjectInstance},System.Func{Jurassic.ScriptEngine,System.Object,System.Object[],System.Object})">
<summary>
Creates a new constructor function.
</summary>
<param name="prototype"> The next object in the prototype chain. </param>
<param name="name"> The name of the function. </param>
<param name="length"> The "typical" number of arguments expected by the function. </param>
<param name="instancePrototype"> The value of the "prototype" property. </param>
<param name="construct"> The delegate to call when calling the JS method as a constructor. </param>
<param name="call"> The delegate to call when function is called. </param>
</member>
<member name="M:Jurassic.Library.ClrStubFunction.CallLateBound(System.Object,System.Object[])">
<summary>
Calls this function, passing in the given "this" value and zero or more arguments.
</summary>
<param name="thisObject"> The value of the "this" keyword within the function. </param>
<param name="argumentValues"> An array of argument values. </param>
<returns> The value that was returned from the function. </returns>
</member>
<member name="P:Jurassic.Library.ClrStubFunction.IsConstructor">
<summary>
Indicates whether the 'new' operator can be used on this function.
Will be <c>false</c> for built-in functions like Math.max.
</summary>
</member>
<member name="M:Jurassic.Library.ClrStubFunction.ConstructLateBound(Jurassic.Library.FunctionInstance,System.Object[])">
<summary>
Creates an object, using this function as the constructor.
</summary>
<param name="newTarget"> The value of 'new.target'. </param>
<param name="argumentValues"> An array of argument values. </param>
<returns> The object that was created. </returns>
</member>
<member name="T:Jurassic.Library.FunctionConstructor">
<summary>
Represents the built-in JavaScript Function object.
</summary>
</member>
<member name="M:Jurassic.Library.FunctionConstructor.#ctor(Jurassic.Library.ObjectInstance,Jurassic.Library.FunctionInstance)">
<summary>
Creates a new Function object.
</summary>
<param name="prototype"> The next object in the prototype chain. </param>
<param name="instancePrototype"> The prototype for instances created by this function. </param>
</member>
<member name="M:Jurassic.Library.FunctionConstructor.Call(System.String[])">
<summary>
Called when the Function object is invoked like a function, e.g. var x = Function("5").
Creates a new function instance.
</summary>
<param name="argumentsAndBody"> The argument names plus the function body. </param>
<returns> A new function instance. </returns>
</member>
<member name="M:Jurassic.Library.FunctionConstructor.Construct(System.String[])">
<summary>
Creates a new function instance.
</summary>
<param name="argumentsAndBody"> The argument names plus the function body. </param>
<returns> A new function instance. </returns>
</member>
<member name="T:Jurassic.Library.FunctionInstance">
<summary>
Represents a JavaScript function.
</summary>
</member>
<member name="M:Jurassic.Library.FunctionInstance.#ctor(Jurassic.ScriptEngine)">
<summary>
Creates a new instance of a built-in function object, with the default Function
prototype.
</summary>
<param name="engine"> The associated script engine. </param>
</member>
<member name="M:Jurassic.Library.FunctionInstance.#ctor(Jurassic.Library.ObjectInstance)">
<summary>
Creates a new instance of a built-in function object.
</summary>
<param name="prototype"> The next object in the prototype chain. </param>
</member>
<member name="M:Jurassic.Library.FunctionInstance.#ctor(Jurassic.ScriptEngine,Jurassic.Library.ObjectInstance)">
<summary>
Creates a new instance of a built-in function object.
</summary>
<param name="engine"> The associated script engine. </param>
<param name="prototype"> The next object in the prototype chain. Can be <c>null</c>. </param>
</member>
<member name="M:Jurassic.Library.FunctionInstance.InitializePrototypeProperties(Jurassic.Library.ObjectInstance,Jurassic.Library.FunctionConstructor)">
<summary>
Initializes the prototype properties.
</summary>
<param name="obj"> The object to set the properties on. </param>
<param name="constructor"> A reference to the constructor that owns the prototype. </param>
</member>
<member name="P:Jurassic.Library.FunctionInstance.InstancePrototype">
<summary>
Gets the prototype of objects constructed using this function. Equivalent to
the Function.prototype property.
</summary>
</member>
<member name="P:Jurassic.Library.FunctionInstance.Name">
<summary>
Gets the name of the function.
</summary>
</member>
<member name="P:Jurassic.Library.FunctionInstance.Length">
<summary>
Gets the number of arguments expected by the function.
</summary>
</member>
<member name="M:Jurassic.Library.FunctionInstance.HasInstance(System.Object)">
<summary>
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.
</summary>
<param name="instance"> The instance to check. </param>
<returns> <c>true</c> if the object inherits from this function; <c>false</c>
otherwise. </returns>
</member>
<member name="M:Jurassic.Library.FunctionInstance.CallLateBound(System.Object,System.Object[])">
<summary>
Calls this function, passing in the given "this" value and zero or more arguments.
</summary>
<param name="thisObject"> The value of the "this" keyword within the function. </param>
<param name="argumentValues"> An array of argument values. </param>
<returns> The value that was returned from the function. </returns>
</member>
<member name="M:Jurassic.Library.FunctionInstance.CallFromNative(System.String,System.Object,System.Object[])">
<summary>
Calls this function, passing in the given "this" value and zero or more arguments.
</summary>
<param name="function"> The name of the caller function. </param>
<param name="thisObject"> The value of the "this" keyword within the function. </param>
<param name="argumentValues"> An array of argument values. </param>
<returns> The value that was returned from the function. </returns>
</member>
<member name="M:Jurassic.Library.FunctionInstance.CallWithStackTrace(System.String,System.String,System.Int32,System.Object,System.Object[])">
<summary>
Calls this function, passing in the given "this" value and zero or more arguments.
</summary>
<param name="path"> The path of the javascript source file that contains the caller. </param>
<param name="function"> The name of the caller function. </param>
<param name="line"> The line number of the statement that is calling this function. </param>
<param name="thisObject"> The value of the "this" keyword within the function. </param>
<param name="argumentValues"> An array of argument values. </param>
<returns> The value that was returned from the function. </returns>
</member>
<member name="P:Jurassic.Library.FunctionInstance.IsConstructor">
<summary>
Indicates whether the 'new' operator can be used on this function.
Will be <c>false</c> for built-in functions like Math.max.
</summary>
</member>
<member name="M:Jurassic.Library.FunctionInstance.ConstructLateBound(Jurassic.Library.FunctionInstance,System.Object[])">
<summary>
Creates an object, using this function as the constructor.
</summary>
<param name="newTarget"> The value of 'new.target'. </param>
<param name="argumentValues"> An array of argument values. </param>
<returns> The object that was created. </returns>
</member>
<member name="M:Jurassic.Library.FunctionInstance.ConstructWithStackTrace(System.String,System.String,System.Int32,Jurassic.Library.FunctionInstance,System.Object[])">
<summary>
Creates an object, using this function as the constructor.
</summary>
<param name="path"> The path of the javascript source file that contains the caller. </param>
<param name="function"> The name of the caller function. </param>
<param name="line"> The line number of the statement that is calling this function. </param>
<param name="newTarget"> The value of 'new.target'. </param>
<param name="argumentValues"> An array of argument values. </param>
<returns> The object that was created. </returns>
</member>
<member name="M:Jurassic.Library.FunctionInstance.Apply(System.Object,System.Object)">
<summary>
Calls the function, passing in parameters from the given array.
</summary>
<param name="thisObj"> The value of <c>this</c> in the context of the function. </param>
<param name="arguments"> The arguments passed to the function, as an array. </param>
<returns> The result from the function call. </returns>
</member>
<member name="M:Jurassic.Library.FunctionInstance.Call(System.Object,System.Object[])">
<summary>
Calls the function.
</summary>
<param name="thisObj"> The value of <c>this</c> in the context of the function. </param>
<param name="arguments"> Any number of arguments that will be passed to the function. </param>
<returns> The result from the function call. </returns>
</member>
<member name="M:Jurassic.Library.FunctionInstance.Bind(System.Object,System.Object[])">
<summary>
Creates a new function that, when called, calls this function with the given "this"
value and, optionally, one or more more arguments.
</summary>
<param name="boundThis"> The fixed value of "this". </param>
<param name="boundArguments"> Any number of fixed arguments values. </param>
<returns> A new function. </returns>
</member>
<member name="M:Jurassic.Library.FunctionInstance.ToStringJS">
<summary>
Returns a string representing this object.
</summary>
<returns> A string representing this object. </returns>
</member>
<member name="M:Jurassic.Library.FunctionInstance.ToString">
<summary>
Returns a string representing this object.
</summary>
<returns> A string representing this object. </returns>
</member>
<member name="T:Jurassic.Library.ThrowTypeErrorFunction">
<summary>
Represents a JavaScript function that throws a type error.
</summary>
</member>
<member name="M:Jurassic.Library.ThrowTypeErrorFunction.#ctor(Jurassic.Library.ObjectInstance)">
<summary>
Creates a new ThrowTypeErrorFunction instance.
</summary>
<param name="prototype"> The next object in the prototype chain. </param>
</member>
<member name="M:Jurassic.Library.ThrowTypeErrorFunction.#ctor(Jurassic.Library.ObjectInstance,System.String)">
<summary>
Creates a new ThrowTypeErrorFunction instance.
</summary>
<param name="prototype"> The next object in the prototype chain. </param>
<param name="message"> The TypeError message. </param>
</member>
<member name="M:Jurassic.Library.ThrowTypeErrorFunction.CallLateBound(System.Object,System.Object[])">
<summary>
Calls this function, passing in the given "this" value and zero or more arguments.
</summary>
<param name="thisObject"> The value of the "this" keyword within the function. </param>
<param name="argumentValues"> An array of argument values to pass to the function. </param>
<returns> The value that was returned from the function. </returns>
</member>
<member name="T:Jurassic.Library.UserDefinedFunction">
<summary>
Represents a JavaScript function implemented in javascript.
</summary>
</member>
<member name="M:Jurassic.Library.UserDefinedFunction.#ctor(Jurassic.Library.ObjectInstance,System.String,System.String,System.String)">
<summary>
Creates a new instance of a user-defined function.
</summary>
<param name="prototype"> The next object in the prototype chain. </param>
<param name="name"> The name of the function. </param>
<param name="argumentsText"> A comma-separated list of arguments. </param>
<param name="bodyText"> The source code for the body of the function. </param>
<remarks> This is used by <c>new Function()</c>. </remarks>
</member>
<member name="M:Jurassic.Library.UserDefinedFunction.#ctor(Jurassic.Library.ObjectInstance,System.String,System.Collections.Generic.IList{System.String},Jurassic.Compiler.RuntimeScope,System.String,Jurassic.Compiler.FunctionMethodGenerator.FunctionDelegate,System.Boolean)">
<summary>
Creates a new instance of a user-defined function.
</summary>
<param name="prototype"> The next object in the prototype chain. </param>
<param name="name"> The name of the function. </param>
<param name="argumentNames"> The names of the arguments. </param>
<param name="parentScope"> The scope at the point the function is declared. </param>
<param name="bodyText"> The source code for the function body. </param>
<param name="body"> A delegate which represents the body of the function. </param>
<param name="strictMode"> <c>true</c> if the function body is strict mode; <c>false</c> otherwise. </param>
<remarks> This is used by <c>arguments</c>. </remarks>
</member>
<member name="M:Jurassic.Library.UserDefinedFunction.#ctor(Jurassic.Library.ObjectInstance,System.String,System.Collections.Generic.IList{System.String},Jurassic.Compiler.RuntimeScope,System.String,Jurassic.Compiler.GeneratedMethod,System.Boolean,Jurassic.Library.ObjectInstance)">
<summary>
Creates a new instance of a user-defined function.
</summary>
<param name="prototype"> The next object in the prototype chain. </param>
<param name="name"> The name of the function. </param>
<param name="argumentNames"> The names of the arguments. </param>
<param name="parentScope"> The scope at the point the function is declared. </param>
<param name="bodyText"> The source code for the function body. </param>
<param name="generatedMethod"> A delegate which represents the body of the function plus any dependencies. </param>
<param name="strictMode"> <c>true</c> if the function body is strict mode; <c>false</c> otherwise. </param>
<param name="container"> A reference to the containing class prototype or object literal (or <c>null</c>). </param>
<remarks> This is used by functions declared in JavaScript code (including getters and setters). </remarks>
</member>
<member name="M:Jurassic.Library.UserDefinedFunction.InitProperties(System.String,System.Int32)">
<summary>
Initializes the object properties.
</summary>
<param name="name"> The name of the function. </param>
<param name="length"> The expected number of arguments. </param>
</member>
<member name="P:Jurassic.Library.UserDefinedFunction.ArgumentsText">
<summary>
A comma-separated list of arguments.
</summary>
</member>
<member name="P:Jurassic.Library.UserDefinedFunction.ArgumentNames">
<summary>
Gets a list containing the names of the function arguments, in order of definition.
This list can contain duplicate names.
</summary>
</member>
<member name="P:Jurassic.Library.UserDefinedFunction.StrictMode">
<summary>
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.
</summary>
</member>
<member name="P:Jurassic.Library.UserDefinedFunction.ParentScope">
<summary>
Gets the scope at the point the function was declared.
</summary>
</member>
<member name="P:Jurassic.Library.UserDefinedFunction.BodyText">
<summary>
Gets the source code for the body of the function.
</summary>
</member>
<member name="P:Jurassic.Library.UserDefinedFunction.DisassembledIL">
<summary>
Gets the body of the method in the form of disassembled IL code. Will be <c>null</c>
unless <see cref="P:Jurassic.Compiler.CompilerOptions.EnableILAnalysis"/> was set to <c>true</c>.
</summary>
</member>
<member name="P:Jurassic.Library.UserDefinedFunction.GeneratedMethod">
<summary>
Gets a reference to the generated method. For internal use only.
</summary>
</member>
<member name="P:Jurassic.Library.UserDefinedFunction.Body">
<summary>
Gets a reference to the generated method. For internal use only.
</summary>
</member>
<member name="P:Jurassic.Library.UserDefinedFunction.Container">
<summary>
A reference to the containing class prototype or object literal (or <c>null</c>). Used
by the 'super' property accessor.
</summary>
</member>
<member name="M:Jurassic.Library.UserDefinedFunction.CallLateBound(System.Object,System.Object[])">
<summary>
Calls this function, passing in the given "this" value and zero or more arguments.
</summary>
<param name="thisObject"> The value of the "this" keyword within the function. </param>
<param name="argumentValues"> An array of argument values to pass to the function. </param>
<returns> The value that was returned from the function. </returns>
</member>
<member name="M:Jurassic.Library.UserDefinedFunction.ConstructLateBound(Jurassic.Library.FunctionInstance,System.Object[])">
<summary>
Creates an object, using this function as the constructor.
</summary>
<param name="newTarget"> The value of 'new.target'. </param>
<param name="argumentValues"> An array of argument values. </param>
<returns> The object that was created. </returns>
</member>
<member name="M:Jurassic.Library.UserDefinedFunction.ToString">
<summary>
Returns a string representing this object.
</summary>
<returns> A string representing this object. </returns>
</member>
<member name="T:Jurassic.Library.GlobalObject">
<summary>
Represents functions and properties within the global scope.
</summary>
</member>
<member name="M:Jurassic.Library.GlobalObject.#ctor(Jurassic.Library.ObjectInstance)">
<summary>
Creates a new Global object.
</summary>
<param name="prototype"> The next object in the prototype chain. </param>
</member>
<member name="M:Jurassic.Library.GlobalObject.GetGlobalProperties">
<summary>
Retrieves a list of properties to apply to the global object.
</summary>
</member>
<member name="M:Jurassic.Library.GlobalObject.DecodeURI(Jurassic.ScriptEngine,System.String)">
<summary>
Decodes a string that was encoded with the encodeURI function.
</summary>
<param name="engine"> The current script environment. </param>
<param name="input"> The associated script engine. </param>
<returns> The string, as it was before encoding. </returns>
</member>
<member name="M:Jurassic.Library.GlobalObject.DecodeURIComponent(Jurassic.ScriptEngine,System.String)">
<summary>
Decodes a string that was encoded with the decodeURIComponent function.
</summary>
<param name="engine"> The associated script engine. </param>
<param name="input"> The string to decode. </param>
<returns> The string, as it was before encoding. </returns>
</member>
<member name="M:Jurassic.Library.GlobalObject.EncodeURI(Jurassic.ScriptEngine,System.String)">
<summary>
Encodes a string containing a Uniform Resource Identifier (URI).
</summary>
<param name="engine"> The associated script engine. </param>
<param name="input"> The string to encode. </param>
<returns> A copy of the given URI with the special characters encoded. </returns>
</member>
<member name="M:Jurassic.Library.GlobalObject.EncodeURIComponent(Jurassic.ScriptEngine,System.String)">
<summary>
Encodes a string containing a portion of a Uniform Resource Identifier (URI).
</summary>
<param name="engine"> The associated script engine. </param>
<param name="input"> The string to encode. </param>
<returns> A copy of the given URI with the special characters encoded. </returns>
</member>
<member name="M:Jurassic.Library.GlobalObject.Escape(System.String)">
<summary>
Encodes a string using an encoding similar to that used in URLs.
</summary>
<param name="input"> The string to encode. </param>
<returns> A copy of the given string with the special characters encoded. </returns>
</member>
<member name="M:Jurassic.Library.GlobalObject.Eval(Jurassic.ScriptEngine,System.Object)">
<summary>
Evaluates the given javascript source code and returns the result.
</summary>
<param name="engine"> The associated script engine. </param>
<param name="code"> The source code to evaluate. </param>
<returns> The value of the last statement that was executed, or <c>undefined</c> if
there were no executed statements. </returns>
</member>
<member name="M:Jurassic.Library.GlobalObject.Eval(Jurassic.ScriptEngine,System.Object,Jurassic.Compiler.RuntimeScope,System.Object,System.Boolean)">
<summary>
Evaluates the given javascript source code and returns the result.
</summary>
<param name="engine"> The associated script engine. </param>
<param name="code"> The source code to evaluate. </param>
<param name="scope"> The containing scope. </param>
<param name="thisObject"> The value of the "this" keyword in the containing scope. </param>
<param name="strictMode"> Indicates whether the eval statement is being called from
strict mode code. </param>
<returns> The value of the last statement that was executed, or <c>undefined</c> if
there were no executed statements. </returns>
</member>
<member name="M:Jurassic.Library.GlobalObject.IsFinite(System.Double)">
<summary>
Determines whether the given number is finite.
</summary>
<param name="value"> The number to test. </param>
<returns> <c>false</c> if the number is NaN or positive or negative infinity,
<c>true</c> otherwise. </returns>
</member>
<member name="M:Jurassic.Library.GlobalObject.IsNaN(System.Double)">
<summary>
Determines whether the given number is NaN.
</summary>
<param name="value"> The number to test. </param>
<returns> <c>true</c> if the number is NaN, <c>false</c> otherwise. </returns>
</member>
<member name="M:Jurassic.Library.GlobalObject.Unescape(System.String)">
<summary>
Decodes a string that has been encoded using escape().
</summary>
<param name="input"> The string to decode. </param>
<returns> A copy of the given string with the escape sequences decoded. </returns>
</member>
<member name="M:Jurassic.Library.GlobalObject.Decode(Jurassic.ScriptEngine,System.String,System.Boolean[])">
<summary>
Decodes a string containing a URI or a portion of a URI.
</summary>
<param name="engine"> The script engine used to create the error objects. </param>
<param name="input"> The string to decode. </param>
<param name="reservedSet"> A string containing the set of characters that should not
be escaped. Alphanumeric characters should not be included. </param>
<returns> A copy of the given string with the escape sequences decoded. </returns>
</member>
<member name="M:Jurassic.Library.GlobalObject.Encode(Jurassic.ScriptEngine,System.String,System.Boolean[])">
<summary>
Encodes a string containing a URI or a portion of a URI.
</summary>
<param name="engine"> The associated script engine. </param>
<param name="input"> The string to encode. </param>
<param name="unescapedSet"> An array containing the set of characters that should not
be escaped. </param>
<returns> A copy of the given URI with the special characters encoded. </returns>
</member>
<member name="M:Jurassic.Library.GlobalObject.ReadInteger(System.IO.StringReader,System.Int32@)">
<summary>
Reads an integer value using the given reader.
</summary>
<param name="reader"> The reader to read characters from. </param>
<param name="digitsRead"> Upon returning, contains the number of digits that were read. </param>
<returns> The numeric value, or <c>double.NaN</c> if no number was present. </returns>
</member>
<member name="M:Jurassic.Library.GlobalObject.IsWhiteSpaceOrLineTerminator(System.Int32)">
<summary>
Determines if the given character is whitespace or a line terminator.
</summary>
<param name="c"> The unicode code point for the character. </param>
<returns> <c>true</c> if the character is whitespace or a line terminator; <c>false</c>
otherwise. </returns>
</member>
<member name="M:Jurassic.Library.GlobalObject.ParseHexNumber(System.String,System.Int32,System.Int32)">
<summary>
Parses a hexidecimal number from within a string.
</summary>
<param name="input"> The string containing the hexidecimal number. </param>
<param name="start"> The start index of the hexidecimal number. </param>
<param name="length"> The number of characters in the hexidecimal number. </param>
<returns> The numeric value of the hexidecimal number, or <c>-1</c> if the number
is not valid. </returns>
</member>
<member name="M:Jurassic.Library.GlobalObject.CreateCharacterSetLookupTable(System.String)">
<summary>
Creates a 128 entry lookup table for the characters in the given string.
</summary>
<param name="characters"> The characters to include in the set. </param>
<returns> An array containing <c>true</c> for each character in the set. </returns>
</member>
<member name="T:Jurassic.Library.Iterator">
<summary>
Represents a general iterator.
</summary>
</member>
<member name="M:Jurassic.Library.Iterator.#ctor(Jurassic.ScriptEngine,System.Collections.IEnumerable)">
<summary>
Creates a new iterator.
</summary>
<param name="engine"> The script environment. </param>
<param name="enumerable"> The enumerable to iterate over. </param>
</member>
<member name="M:Jurassic.Library.Iterator.CreatePrototype(Jurassic.ScriptEngine)">
<summary>
Creates the array iterator prototype object.
</summary>
<param name="engine"> The script environment. </param>
</member>
<member name="P:Jurassic.Library.Iterator.ToStringTag">
<summary>
The tag value that is used by the base implementation of toString().
</summary>
</member>
<member name="M:Jurassic.Library.Iterator.GetIterator">
<summary>
Returns this iterator.
</summary>
<returns> An iterator. </returns>
</member>
<member name="M:Jurassic.Library.Iterator.Next">
<summary>
Moves the iterator to the next element in the array.
</summary>
<returns> An object containing two properies: value and done. </returns>
</member>
<member name="T:Jurassic.Library.JSONLexer">
<summary>
Converts JSON text into a series of tokens.
</summary>
</member>
<member name="M:Jurassic.Library.JSONLexer.#ctor(Jurassic.ScriptEngine,System.IO.TextReader)">
<summary>
Creates a JSONLexer instance with the given source of text.
</summary>
<param name="engine"> The script engine used to create error objects. </param>
<param name="reader"> A reader that will supply the JSON source text. </param>
</member>
<member name="P:Jurassic.Library.JSONLexer.Reader">
<summary>
Gets the reader that was supplied to the constructor.
</summary>
</member>
<member name="M:Jurassic.Library.JSONLexer.NextToken">
<summary>
Reads the next token from the reader.
</summary>
<returns> A token, or <c>null</c> if there are no more tokens. </returns>
</member>
<member name="M:Jurassic.Library.JSONLexer.ReadKeyword(System.Int32)">
<summary>
Reads an keyword token.
</summary>
<param name="firstChar"> The first character of the identifier. </param>
<returns> An keyword token. </returns>
</member>
<member name="M:Jurassic.Library.JSONLexer.ReadNumericLiteral(System.Int32)">
<summary>
Reads a numeric literal token.
</summary>
<param name="firstChar"> The first character of the token. </param>
<returns> A numeric literal token. </returns>
</member>
<member name="M:Jurassic.Library.JSONLexer.ReadInteger(System.Double,System.Int32@)">
<summary>
Reads an integer value.
</summary>
<param name="initialValue"> The initial value, derived from the first character. </param>
<param name="digitsRead"> The number of digits that were read from the stream. </param>
<returns> The numeric value, or <c>double.NaN</c> if no number was present. </returns>
</member>
<member name="M:Jurassic.Library.JSONLexer.ReadStringLiteral(System.Int32)">
<summary>
Reads a string literal.
</summary>
<param name="firstChar"> The first character of the string literal. </param>
<returns> A string literal. </returns>
</member>
<member name="M:Jurassic.Library.JSONLexer.ReadHexNumber(System.Int32)">
<summary>
Reads a hexidecimal number with the given number of digits and turns it into a character.
</summary>
<returns> The character corresponding to the escape sequence, or the content that was read
from the input if a valid hex number was not read. </returns>
</member>
<member name="M:Jurassic.Library.JSONLexer.ReadWhiteSpace">
<summary>
Reads past whitespace.
</summary>
<returns> Always returns <c>null</c>. </returns>
</member>
<member name="M:Jurassic.Library.JSONLexer.IsWhiteSpace(System.Int32)">
<summary>
Determines if the given character is whitespace or a line terminator.
</summary>
<param name="c"> The character to test. </param>
<returns> <c>true</c> if the character is whitespace or a line terminator; <c>false</c>
otherwise. </returns>
</member>
<member name="M:Jurassic.Library.JSONLexer.IsIdentifierChar(System.Int32)">
<summary>
Determines if the given character is valid as a character of an identifier.
</summary>
<param name="c"> The character to test. </param>
<returns> <c>true</c> if the character is is valid as a character of an identifier;
<c>false</c> otherwise. </returns>
</member>
<member name="M:Jurassic.Library.JSONLexer.IsNumericLiteralStartChar(System.Int32)">
<summary>
Determines if the given character is valid as the first character of a numeric literal.
</summary>
<param name="c"> The character to test. </param>
<returns> <c>true</c> if the character is is valid as the first character of a numeric
literal; <c>false</c> otherwise. </returns>
</member>
<member name="M:Jurassic.Library.JSONLexer.IsHexDigit(System.Int32)">
<summary>
Determines if the given character is valid in a hexidecimal number.
</summary>
<param name="c"> The character to test. </param>
<returns> <c>true</c> if the given character is valid in a hexidecimal number; <c>false</c>
otherwise. </returns>
</member>
<member name="T:Jurassic.Library.JSONObject">
<summary>
Represents the built-in JSON object.
</summary>
</member>
<member name="M:Jurassic.Library.JSONObject.#ctor(Jurassic.Library.ObjectInstance)">
<summary>
Creates a new JSON object.
</summary>
<param name="prototype"> The next object in the prototype chain. </param>
</member>
<member name="M:Jurassic.Library.JSONObject.Parse(Jurassic.ScriptEngine,System.String,System.Object)">
<summary>
Parses the JSON source text and transforms it into a value.
</summary>
<param name="engine"> The current script environment. </param>
<param name="text"> The JSON text to parse. </param>
<param name="reviver"> A function that will be called for each value. </param>
<returns> The value of the JSON text. </returns>
</member>
<member name="M:Jurassic.Library.JSONObject.Stringify(Jurassic.ScriptEngine,System.Object,System.Object,System.Object)">
<summary>
Serializes a value into a JSON string.
</summary>
<param name="engine"> The current script environment. </param>
<param name="value"> The value to serialize. </param>
<param name="replacer"> Either a function that can transform each value before it is
serialized, or an array of the names of the properties to serialize. </param>
<param name="spacer"> Either the number of spaces to use for indentation, or a string
that is used for indentation. </param>
<returns> The JSON string representing the value. </returns>
</member>
<member name="T:Jurassic.Library.JSONParser">
<summary>
Converts a series of JSON tokens into a JSON object.
</summary>
</member>
<member name="M:Jurassic.Library.JSONParser.#ctor(Jurassic.ScriptEngine,Jurassic.Library.JSONLexer)">
<summary>
Creates a JSONParser instance with the given lexer supplying the tokens.
</summary>
<param name="engine"> The associated script engine. </param>
<param name="lexer"> The lexical analyser that provides the tokens. </param>
</member>
<member name="P:Jurassic.Library.JSONParser.ReviverFunction">
<summary>
Gets or sets a function that can be used to transform values as they are being parsed.
</summary>
</member>
<member name="M:Jurassic.Library.JSONParser.Consume">
<summary>
Discards the current token and reads the next one.
</summary>
</member>
<member name="M:Jurassic.Library.JSONParser.Expect(Jurassic.Compiler.Token)">
<summary>
Indicates that the next token is identical to the given one. Throws an exception if
this is not the case. Consumes the token.
</summary>
<param name="token"> The expected token. </param>
</member>
<member name="M:Jurassic.Library.JSONParser.ExpectIdentifier">
<summary>
Indicates that the next token should be an identifier. Throws an exception if this is
not the case. Consumes the token.
</summary>
<returns> The identifier name. </returns>
</member>
<member name="M:Jurassic.Library.JSONParser.Parse">
<summary>
Parses the JSON text (optionally applying the reviver function) and returns the resulting value.
</summary>
<returns> The result of parsing the JSON text. </returns>
</member>
<member name="M:Jurassic.Library.JSONParser.ParseValue">
<summary>
Parses a value.
</summary>
<returns> A JSON value. </returns>
</member>
<member name="M:Jurassic.Library.JSONParser.ParseArrayLiteral">
<summary>
Parses an array literal (e.g. "[1, 2]").
</summary>
<returns> A populated array. </returns>
</member>
<member name="M:Jurassic.Library.JSONParser.ParseObjectLiteral">
<summary>
Parses an object literal (e.g. "{a: 5}").
</summary>
<returns> A populated object. </returns>
</member>
<member name="T:Jurassic.Library.JSONSerializer">
<summary>
Converts a value into JSON text.
</summary>
</member>
<member name="M:Jurassic.Library.JSONSerializer.#ctor(Jurassic.ScriptEngine)">
<summary>
Creates a new JSONSerializer instance with the default options.
</summary>
<param name="engine"> The associated script engine. </param>
</member>
<member name="P:Jurassic.Library.JSONSerializer.ReplacerFunction">
<summary>
Gets or sets a function which can transform values before they are serialized.
</summary>
</member>
<member name="P:Jurassic.Library.JSONSerializer.Indentation">
<summary>
Gets or sets a string to use for indentation.
</summary>
</member>
<member name="P:Jurassic.Library.JSONSerializer.SerializableProperties">
<summary>
Gets or sets a list of property names to be serialized.
</summary>
</member>
<member name="M:Jurassic.Library.JSONSerializer.Serialize(System.Object)">
<summary>
Serializes a value into a JSON string.
</summary>
<param name="value"> The value to serialize. </param>
<returns> The JSON repesentation of the value, or <c>null</c> if passed an
unserializable value (like a function). </returns>
</member>
<member name="M:Jurassic.Library.JSONSerializer.TransformPropertyValue(Jurassic.Library.ObjectInstance,System.String)">
<summary>
Transforms the value stored in the given object using toJSON and/or the replacer function.
</summary>
<param name="holder"> The object containing the value. </param>
<param name="propertyName"> The name of the property holding the value to transform. </param>
<returns> The transformed value. </returns>
</member>
<member name="M:Jurassic.Library.JSONSerializer.TransformPropertyValue(Jurassic.Library.ObjectInstance,System.UInt32)">
<summary>
Transforms the value stored in the given object using toJSON and/or the replacer function.
</summary>
<param name="holder"> The object containing the value. </param>
<param name="arrayIndex"> The array index of the property holding the value to transform. </param>
<returns> The transformed value. </returns>
</member>
<member name="M:Jurassic.Library.JSONSerializer.SerializePropertyValue(System.Object,System.Text.StringBuilder)">
<summary>
Serializes a value into a JSON string. Does not serialize "undefined", check for that
value before calling this method.
</summary>
<param name="value"> The value to serialize. </param>
<param name="result"> The StringBuilder to write the JSON representation of the
value to. </param>
</member>
<member name="M:Jurassic.Library.JSONSerializer.QuoteString(System.String,System.Text.StringBuilder)">
<summary>
Adds double quote characters to the start and end of the given string and converts any
invalid characters into escape sequences.
</summary>
<param name="input"> The string to quote. </param>
<param name="result"> The StringBuilder to write the quoted string to. </param>
</member>
<member name="M:Jurassic.Library.JSONSerializer.SerializeObject(Jurassic.Library.ObjectInstance,System.Text.StringBuilder)">
<summary>
Serializes an object into a JSON string.
</summary>
<param name="value"> The object to serialize. </param>
<param name="result"> The StringBuilder to write the JSON representation of the
object to. </param>
</member>
<member name="M:Jurassic.Library.JSONSerializer.SerializeArray(Jurassic.Library.ObjectInstance,System.Text.StringBuilder)">
<summary>
Serializes an array into a JSON string.
</summary>
<param name="value"> The array to serialize. </param>
<param name="result"> The StringBuilder to write the JSON representation of the
array to. </param>
</member>
<member name="T:Jurassic.Library.MapConstructor">
<summary>
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.
</summary>
</member>
<member name="M:Jurassic.Library.MapConstructor.#ctor(Jurassic.Library.ObjectInstance)">
<summary>
Creates a new map constructor.
</summary>
<param name="prototype"> The next object in the prototype chain. </param>
</member>
<member name="P:Jurassic.Library.MapConstructor.Species">
<summary>
A reference to the constructor function that is used to create derived objects.
</summary>
</member>
<member name="M:Jurassic.Library.MapConstructor.Call">
<summary>
Called when the Map object is invoked like a function, e.g. var x = Map().
Throws an error.
</summary>
</member>
<member name="M:Jurassic.Library.MapConstructor.Construct(System.Object)">
<summary>
Creates a new Map.
</summary>
<param name="iterable"> 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.
<c>null</c> is treated as undefined. </param>
<returns> A new Map object, either empty or initialised with the given values. </returns>
</member>
<member name="T:Jurassic.Library.MapInstance">
<summary>
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.
</summary>
</member>
<member name="M:Jurassic.Library.MapInstance.#ctor(Jurassic.Library.ObjectInstance)">
<summary>
Creates a new Map instance.
</summary>
<param name="prototype"> The next object in the prototype chain. </param>
</member>
<member name="M:Jurassic.Library.MapInstance.CreatePrototype(Jurassic.ScriptEngine,Jurassic.Library.MapConstructor)">
<summary>
Creates the Map prototype object.
</summary>
<param name="engine"> The script environment. </param>
<param name="constructor"> A reference to the constructor that owns the prototype. </param>
</member>
<member name="E:Jurassic.Library.MapInstance.BeforeDelete">
<summary>
Called before a linked list node is deleted.
</summary>
</member>
<member name="P:Jurassic.Library.MapInstance.Store">
<summary>
Gets the internal storage. Used by debugger decoration only.
</summary>
</member>
<member name="P:Jurassic.Library.MapInstance.Size">
<summary>
The number of elements in the Map.
</summary>
</member>
<member name="M:Jurassic.Library.MapInstance.Clear">
<summary>
Removes all elements from a Map object.
</summary>
</member>
<member name="M:Jurassic.Library.MapInstance.Delete(System.Object)">
<summary>
Removes the specified element from a Map object.
</summary>
<param name="key"> The key of the element to remove from the Map object. </param>
<returns> <c>true</c> if an element in the Map object existed and has been removed, or
<c>false</c> if the element does not exist. </returns>
</member>
<member name="M:Jurassic.Library.MapInstance.Entries">
<summary>
Returns a new Iterator object that contains the [key, value] pairs for each element in
the Map object in insertion order.
</summary>
<returns> A new Iterator object. </returns>
</member>
<member name="M:Jurassic.Library.MapInstance.ForEach(Jurassic.Library.FunctionInstance,System.Object)">
<summary>
Executes a provided function once per each key/value pair in the Map object, in
insertion order.
</summary>
<param name="callback"> Function to execute for each element. </param>
<param name="thisArg"> Value to use as this when executing callback. </param>
</member>
<member name="M:Jurassic.Library.MapInstance.Get(System.Object)">
<summary>
Returns a specified element from a Map object.
</summary>
<param name="key"> The key of the element to return from the Map object. </param>
<returns> The element associated with the specified key, or undefined if the key can't
be found in the Map object. </returns>
</member>
<member name="M:Jurassic.Library.MapInstance.Has(System.Object)">
<summary>
Returns a boolean indicating whether an element with the specified key exists or not.
</summary>
<param name="key"> The key of the element to test for presence in the Map object. </param>
<returns> <c>true</c> if an element with the specified key exists in the Map object;
otherwise <c>false</c>. </returns>
</member>
<member name="M:Jurassic.Library.MapInstance.Keys">
<summary>
Returns a new Iterator object that contains the keys for each element in the Map object
in insertion order.
</summary>
<returns> A new Iterator object. </returns>
</member>
<member name="M:Jurassic.Library.MapInstance.Set(System.Object,System.Object)">
<summary>
Adds a new element with a specified key and value to a Map object.
</summary>
<param name="key"> The key of the element to add to the Map object. </param>
<param name="value"> The value of the element to add to the Map object. </param>
<returns> The Map object. </returns>
</member>
<member name="M:Jurassic.Library.MapInstance.Values">
<summary>
Returns a new Iterator object that contains the values for each element in the Map
object in insertion order.
</summary>
<returns> A new Iterator object. </returns>
</member>
<member name="T:Jurassic.Library.MapInstance.SameValueZeroComparer">
<summary>
Implements the SameValueZero comparison operation.
</summary>
</member>
<member name="T:Jurassic.Library.MapIterator">
<summary>
Represents an iteration over a Map.
</summary>
</member>
<member name="M:Jurassic.Library.MapIterator.#ctor(Jurassic.Library.ObjectInstance,Jurassic.Library.MapInstance,System.Collections.Generic.LinkedList{System.Collections.Generic.KeyValuePair{System.Object,System.Object}},Jurassic.Library.MapIterator.Kind)">
<summary>
Creates a new map iterator.
</summary>
<param name="prototype"> The next object in the prototype chain. </param>
<param name="map"> The map to iterate over. </param>
<param name="list"> The linked list to iterate over. </param>
<param name="kind"> The type of values to return. </param>
</member>
<member name="M:Jurassic.Library.MapIterator.CreatePrototype(Jurassic.ScriptEngine)">
<summary>
Creates the array iterator prototype object.
</summary>
<param name="engine"> The script environment. </param>
</member>
<member name="M:Jurassic.Library.MapIterator.Map_BeforeDelete(System.Collections.Generic.LinkedListNode{System.Collections.Generic.KeyValuePair{System.Object,System.Object}})">
<summary>
Called before a linked list node is deleted.
</summary>
<param name="node"> The node that is being deleted. </param>
</member>
<member name="P:Jurassic.Library.MapIterator.ToStringTag">
<summary>
The tag value that is used by the base implementation of toString().
</summary>
</member>
<member name="M:Jurassic.Library.MapIterator.Next">
<summary>
Moves the iterator to the next element in the array.
</summary>
<returns> An object containing two properies: value and done. </returns>
</member>
<member name="P:Jurassic.Library.MapIterator.Done">
<summary>
Gets wheter the end is reached. Used by debugger decoration only.
</summary>
</member>
<member name="P:Jurassic.Library.MapIterator.IteratorIndex">
<summary>
Gets current index. Used by debugger decoration only.
</summary>
</member>
<member name="P:Jurassic.Library.MapIterator.IteratorKind">
<summary>
Gets what is iterated - key, value or both
</summary>
</member>
<member name="P:Jurassic.Library.MapIterator.Map">
<summary>
Gets the iterated Map
</summary>
</member>
<member name="T:Jurassic.Library.MathObject">
<summary>
Represents the built-in Math class that has mathematical constants and functions.
</summary>
</member>
<member name="M:Jurassic.Library.MathObject.#ctor(Jurassic.Library.ObjectInstance)">
<summary>
Creates a new Math object.
</summary>
<param name="prototype"> The next object in the prototype chain. </param>
</member>
<member name="F:Jurassic.Library.MathObject.E">
<summary>
The mathematical constant E, approximately 2.718.
</summary>
</member>
<member name="F:Jurassic.Library.MathObject.LN2">
<summary>
The natural logarithm of 2, approximately 0.693.
</summary>
</member>
<member name="F:Jurassic.Library.MathObject.LN10">
<summary>
The natural logarithm of 10, approximately 2.303.
</summary>
</member>
<member name="F:Jurassic.Library.MathObject.LOG2E">
<summary>
The base 2 logarithm of E, approximately 1.442.
</summary>
</member>
<member name="F:Jurassic.Library.MathObject.LOG10E">
<summary>
The base 10 logarithm of E, approximately 0.434.
</summary>
</member>
<member name="F:Jurassic.Library.MathObject.PI">
<summary>
The ratio of the circumference of a circle to its diameter, approximately 3.14159.
</summary>
</member>
<member name="F:Jurassic.Library.MathObject.SQRT1_2">
<summary>
The square root of 0.5, approximately 0.707.
</summary>
</member>
<member name="F:Jurassic.Library.MathObject.SQRT2">
<summary>
The square root of 2, approximately 1.414.
</summary>
</member>
<member name="M:Jurassic.Library.MathObject.Abs(System.Double)">
<summary>
Returns the absolute value of a number.
</summary>
<param name="number"> The number to operate on. </param>
<returns> The absolute value of the <paramref name="number"/> parameter. </returns>
</member>
<member name="M:Jurassic.Library.MathObject.Acos(System.Double)">
<summary>
Returns the arccosine of a number.
</summary>
<param name="number"> The number to operate on. </param>
<returns> The arccosine of the <paramref name="number"/> parameter. If
<paramref name="number"/> is less than -1 or greater than 1, then <c>NaN</c> is
returned. </returns>
</member>
<member name="M:Jurassic.Library.MathObject.Asin(System.Double)">
<summary>
Returns the arcsine of a number.
</summary>
<param name="number"> The number to operate on. </param>
<returns> The arcsine of the <paramref name="number"/> parameter. If
<paramref name="number"/> is less than -1 or greater than 1, then <c>NaN</c> is
returned. </returns>
</member>
<member name="M:Jurassic.Library.MathObject.Atan(System.Double)">
<summary>
Returns the arctangent of a number.
</summary>
<param name="number"> The number to operate on. </param>
<returns> The arctangent of the <paramref name="number"/> parameter. If
<paramref name="number"/> is less than -1 or greater than 1, then <c>NaN</c> is
returned. </returns>
</member>
<member name="M:Jurassic.Library.MathObject.Atan2(System.Double,System.Double)">
<summary>
Returns the counter-clockwise angle (in radians) from the X axis to the point (x,y).
</summary>
<param name="x"> A numeric expression representing the cartesian x-coordinate. </param>
<param name="y"> A numeric expression representing the cartesian y-coordinate. </param>
<returns> The angle (in radians) from the X axis to a point (x,y) (between -pi and pi). </returns>
</member>
<member name="M:Jurassic.Library.MathObject.Ceil(System.Double)">
<summary>
Returns the smallest integer greater than or equal to a number.
</summary>
<param name="number"> The number to operate on. </param>
<returns> The smallest integer greater than or equal to the <paramref name="number"/>
parameter. </returns>
</member>
<member name="M:Jurassic.Library.MathObject.Cos(System.Double)">
<summary>
Returns the cosine of an angle.
</summary>
<param name="angle"> The angle to operate on. </param>
<returns> The cosine of the <paramref name="angle"/> parameter (between -1 and 1). </returns>
</member>
<member name="M:Jurassic.Library.MathObject.Exp(System.Double)">
<summary>
Returns e (the base of natural logarithms) raised to the specified power.
</summary>
<param name="number"> The exponent. </param>
<returns> E (the base of natural logarithms) raised to the specified power. </returns>
</member>
<member name="M:Jurassic.Library.MathObject.Floor(System.Double)">
<summary>
Returns the greatest integer less than or equal to a number.
</summary>
<param name="number"> The number to operate on. </param>
<returns> The greatest integer less than or equal to the <paramref name="number"/> parameter. </returns>
</member>
<member name="M:Jurassic.Library.MathObject.Log(System.Double)">
<summary>
Returns the natural logarithm of a number.
</summary>
<param name="number"> The number to operate on. </param>
<returns> The natural logarithm of the <paramref name="number"/> parameter. </returns>
</member>
<member name="M:Jurassic.Library.MathObject.Max(System.Double[])">
<summary>
Returns the largest of zero or more numbers.
</summary>
<param name="numbers"> The numbers to operate on. </param>
<returns> 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>
</member>
<member name="M:Jurassic.Library.MathObject.Min(System.Double[])">
<summary>
Returns the smallest of zero or more numbers.
</summary>
<param name="numbers"> The numbers to operate on. </param>
<returns> 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>
</member>
<member name="M:Jurassic.Library.MathObject.Pow(System.Double,System.Double)">
<summary>
Returns the value of a base expression taken to a specified power.
</summary>
<param name="base"> The base value of the expression. </param>
<param name="exponent"> The exponent value of the expression. </param>
<returns> The value of the base expression taken to the specified power. </returns>
</member>
<member name="M:Jurassic.Library.MathObject.Random">
<summary>
Returns a pseudorandom number between 0 and 1.
</summary>
<returns> 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>
</member>
<member name="M:Jurassic.Library.MathObject.Round(System.Double)">
<summary>
Returns the value of a number rounded to the nearest integer.
</summary>
<param name="number"> The number to operate on. </param>
<returns> 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>
</member>
<member name="M:Jurassic.Library.MathObject.Sin(System.Double)">
<summary>
Returns the sine of an angle.
</summary>
<param name="angle"> The angle, in radians. </param>
<returns> The sine of the <paramref name="angle"/> parameter (between -1 and 1). </returns>
</member>
<member name="M:Jurassic.Library.MathObject.Sqrt(System.Double)">
<summary>
Returns the square root of a number.
</summary>
<param name="number"> The number to operate on. </param>
<returns> The square root of the <paramref name="number"/> parameter. </returns>
</member>
<member name="M:Jurassic.Library.MathObject.Tan(System.Double)">
<summary>
Returns the tangent of an angle.
</summary>
<param name="angle"> The angle, in radians. </param>
<returns> The tangent of the <paramref name="angle"/> parameter (between -1 and 1). </returns>
</member>
<member name="M:Jurassic.Library.MathObject.Log10(System.Double)">
<summary>
Returns the base 10 logarithm of a number.
</summary>
<param name="number"> The number to operate on. </param>
<returns> The base 10 logarithm of the <paramref name="number"/> parameter. </returns>
</member>
<member name="M:Jurassic.Library.MathObject.Log2(System.Double)">
<summary>
Returns the base 2 logarithm of a number.
</summary>
<param name="number"> The number to operate on. </param>
<returns> The base 2 logarithm of the <paramref name="number"/> parameter. </returns>
</member>
<member name="M:Jurassic.Library.MathObject.Log1p(System.Double)">
<summary>
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.
</summary>
<param name="number"> The number to operate on. </param>
<returns> The natural logarithm (base E) of one plus the <paramref name="number"/> parameter. </returns>
</member>
<member name="M:Jurassic.Library.MathObject.Expm1(System.Double)">
<summary>
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.
</summary>
<param name="number"> The number to operate on. </param>
<returns> E to the power of the <paramref name="number"/> parameter minus 1. </returns>
</member>
<member name="M:Jurassic.Library.MathObject.Cosh(System.Double)">
<summary>
Returns the hyperbolic cosine of a number.
</summary>
<param name="number"> The number to operate on. </param>
<returns> The hyperbolic cosine of the <paramref name="number"/> parameter. </returns>
</member>
<member name="M:Jurassic.Library.MathObject.Sinh(System.Double)">
<summary>
Returns the hyperbolic sine of a number.
</summary>
<param name="number"> The number to operate on. </param>
<returns> The hyperbolic sine of the <paramref name="number"/> parameter. </returns>
</member>
<member name="M:Jurassic.Library.MathObject.Tanh(System.Double)">
<summary>
Returns the hyperbolic tangent of a number.
</summary>
<param name="number"> The number to operate on. </param>
<returns> The hyperbolic tangent of the <paramref name="number"/> parameter. </returns>
</member>
<member name="M:Jurassic.Library.MathObject.Acosh(System.Double)">
<summary>
Returns the inverse hyperbolic cosine of a number.
</summary>
<param name="number"> The number to operate on. </param>
<returns> The inverse hyperbolic cosine of the <paramref name="number"/> parameter. </returns>
</member>
<member name="M:Jurassic.Library.MathObject.Asinh(System.Double)">
<summary>
Returns the inverse hyperbolic sine of a number.
</summary>
<param name="number"> The number to operate on. </param>
<returns> The inverse hyperbolic sine of the <paramref name="number"/> parameter. </returns>
</member>
<member name="M:Jurassic.Library.MathObject.Atanh(System.Double)">
<summary>
Returns the inverse hyperbolic tangent of a number.
</summary>
<param name="number"> The number to operate on. </param>
<returns> The inverse hyperbolic tangent of the <paramref name="number"/> parameter. </returns>
</member>
<member name="M:Jurassic.Library.MathObject.Hypot(System.Double[])">
<summary>
Returns the square root of the sum of squares of the provided numbers.
</summary>
<param name="numbers"> The numbers to operate on. </param>
<returns> The square root of the sum of squares of <paramref name="numbers"/>. </returns>
</member>
<member name="M:Jurassic.Library.MathObject.Hypot(System.Double,System.Double)">
<summary>
Returns the square root of the sum of squares of the provided numbers.
</summary>
<param name="number1"> The first number to operate on. </param>
<param name="number2"> The second number to operate on. </param>
<returns> The square root of the sum of squares of <paramref name="number1"/> and
<paramref name="number2"/>. </returns>
</member>
<member name="M:Jurassic.Library.MathObject.Trunc(System.Double)">
<summary>
Returns the integral part of a number, removing any fractional digits.
</summary>
<param name="number"> The number to operate on. </param>
<returns> The integral part of the <paramref name="number"/> parameter. </returns>
</member>
<member name="M:Jurassic.Library.MathObject.Sign(System.Double)">
<summary>
Returns the sign of the x, indicating whether x is positive, negative or zero.
</summary>
<param name="number"> The number to operate on. </param>
<returns> The sign of the <paramref name="number"/> parameter. </returns>
</member>
<member name="M:Jurassic.Library.MathObject.IMul(System.Double,System.Double)">
<summary>
Returns the result of the 32-bit multiplication of the two parameters.
</summary>
<param name="number1"> The first value to multiply. </param>
<param name="number2"> The second value to multiply. </param>
<returns> The result of multiplying the two numbers as if they were 32-bit integers. </returns>
</member>
<member name="M:Jurassic.Library.MathObject.Fround(System.Double)">
<summary>
Returns the result of converting the double precision number to the nearest single
precision equivalent.
</summary>
<param name="number"> The number to operate on. </param>
<returns> The result of converting the double precision number to the nearest single
precision equivalent. </returns>
</member>
<member name="M:Jurassic.Library.MathObject.Clz32(System.Double)">
<summary>
Converts the input value to an unsigned 32-bit integer, then returns the number of
leading zero bits.
</summary>
<param name="number"> The number to operate on. </param>
<returns> The number of leading zero bits, treating the input like an unsigned 32-bit
integer. </returns>
</member>
<member name="M:Jurassic.Library.MathObject.Cbrt(System.Double)">
<summary>
Returns an approximation to the cube root of the input value.
</summary>
<param name="number"> The number to operate on. </param>
<returns> An approximation to the cube root of the input value. </returns>
</member>
<member name="T:Jurassic.Library.NumberConstructor">
<summary>
Represents the built-in javascript Number object.
</summary>
</member>
<member name="M:Jurassic.Library.NumberConstructor.#ctor(Jurassic.Library.ObjectInstance)">
<summary>
Creates a new Number object.
</summary>
<param name="prototype"> The next object in the prototype chain. </param>
</member>
<member name="M:Jurassic.Library.NumberConstructor.Call">
<summary>
Called when the Number object is invoked like a function, e.g. var x = Number("5").
Returns zero.
</summary>
</member>
<member name="M:Jurassic.Library.NumberConstructor.Call(System.Double)">
<summary>
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).
</summary>
</member>
<member name="M:Jurassic.Library.NumberConstructor.Construct">
<summary>
Creates a new Number instance and initializes it to zero.
</summary>
</member>
<member name="M:Jurassic.Library.NumberConstructor.Construct(System.Double)">
<summary>
Creates a new Number instance and initializes it to the given value.
</summary>
<param name="value"> The value to initialize to. </param>
</member>
<member name="F:Jurassic.Library.NumberConstructor.MAX_VALUE">
<summary>
The largest representable number, approximately 1.8e+308.
</summary>
</member>
<member name="F:Jurassic.Library.NumberConstructor.MIN_VALUE">
<summary>
The smallest positive representable number, approximately 5e-324.
</summary>
</member>
<member name="F:Jurassic.Library.NumberConstructor.NaN">
<summary>
Special "not a number" value.
</summary>
</member>
<member name="F:Jurassic.Library.NumberConstructor.NEGATIVE_INFINITY">
<summary>
Special value representing negative infinity.
</summary>
</member>
<member name="F:Jurassic.Library.NumberConstructor.POSITIVE_INFINITY">
<summary>
Special value representing positive infinity.
</summary>
</member>
<member name="F:Jurassic.Library.NumberConstructor.EPSILON">
<summary>
The difference between 1 and the smallest value greater than 1 that is representable as
a numeric value.
</summary>
</member>
<member name="F:Jurassic.Library.NumberConstructor.MAX_SAFE_INTEGER">
<summary>
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.
</summary>
</member>
<member name="F:Jurassic.Library.NumberConstructor.MIN_SAFE_INTEGER">
<summary>
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.
</summary>
</member>
<member name="M:Jurassic.Library.NumberConstructor.IsFinite(System.Object)">
<summary>
Determines whether the given number is finite.
</summary>
<param name="value"> The number to test. </param>
<returns> <c>false</c> if the number is NaN or positive or negative infinity,
<c>true</c> otherwise. <c>false</c> if the value is not a number. </returns>
</member>
<member name="M:Jurassic.Library.NumberConstructor.IsNaN(System.Object)">
<summary>
Determines whether the given number is NaN.
</summary>
<param name="value"> The number to test. </param>
<returns> <c>true</c> if the number is NaN, <c>false</c> otherwise. </returns>
</member>
<member name="M:Jurassic.Library.NumberConstructor.IsInteger(System.Object)">
<summary>
Determines whether the given number is an integer.
</summary>
<param name="value"> The number to test. </param>
<returns> <c>true</c> if the number is an integer, <c>false</c> otherwise. </returns>
</member>
<member name="M:Jurassic.Library.NumberConstructor.IsSafeInteger(System.Object)">
<summary>
Determines whether the given number is within the "safe" integer range.
</summary>
<param name="value"> The number to test. </param>
<returns> <c>true</c> if the number is a safe integer, <c>false</c> otherwise. </returns>
</member>
<member name="M:Jurassic.Library.NumberConstructor.ParseInt(Jurassic.ScriptEngine,System.String,System.Double)">
<summary>
Parses the given string and returns the equivalent integer value.
</summary>
<param name="engine"> The associated script engine. </param>
<param name="input"> The string to parse. </param>
<param name="radix"> 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). </param>
<returns> The equivalent integer value of the given string. </returns>
<remarks> Leading whitespace is ignored. Parsing continues until the first invalid
character, at which point parsing stops. No error is returned in this case. </remarks>
</member>
<member name="M:Jurassic.Library.NumberConstructor.ParseFloat(System.String)">
<summary>
Parses the given string and returns the equivalent numeric value.
</summary>
<param name="input"> The string to parse. </param>
<returns> The equivalent numeric value of the given string. </returns>
<remarks> Leading whitespace is ignored. Parsing continues until the first invalid
character, at which point parsing stops. No error is returned in this case. </remarks>
</member>
<member name="T:Jurassic.Library.NumberInstance">
<summary>
Represents an instance of the Number object.
</summary>
<remarks>
None of the methods of the Number prototype are generic; they should throw <c>TypeError</c>
if the <c>this</c> value is not a Number object or a number primitive.
</remarks>
</member>
<member name="F:Jurassic.Library.NumberInstance.value">
<summary>
The primitive value.
</summary>
</member>
<member name="M:Jurassic.Library.NumberInstance.#ctor(Jurassic.Library.ObjectInstance,System.Double)">
<summary>
Creates a new Number instance and initializes it to the given value.
</summary>
<param name="prototype"> The next object in the prototype chain. </param>
<param name="value"> The value to initialize to. </param>
</member>
<member name="M:Jurassic.Library.NumberInstance.CreatePrototype(Jurassic.ScriptEngine,Jurassic.Library.NumberConstructor)">
<summary>
Creates the Number prototype object.
</summary>
<param name="engine"> The script environment. </param>
<param name="constructor"> A reference to the constructor that owns the prototype. </param>
</member>
<member name="P:Jurassic.Library.NumberInstance.Value">
<summary>
Gets the primitive value of the number.
</summary>
</member>
<member name="M:Jurassic.Library.NumberInstance.ToExponential(System.Object)">
<summary>
Returns a string representing a number represented in exponential notation.
</summary>
<param name="fractionDigits"> 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. </param>
<returns> 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>
</member>
<member name="M:Jurassic.Library.NumberInstance.ToFixed(System.Int32)">
<summary>
Returns a string representing a number in fixed-point notation.
</summary>
<param name="fractionDigits"> Number of digits after the decimal point. Must be in the
range 0 20, inclusive. </param>
<returns> 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>
</member>
<member name="M:Jurassic.Library.NumberInstance.ToLocaleString">
<summary>
Returns a string containing a locale-dependant version of the number.
</summary>
<returns> A string containing a locale-dependant version of the number. </returns>
</member>
<member name="M:Jurassic.Library.NumberInstance.ToPrecision(System.Object)">
<summary>
Returns a string containing a number represented either in exponential or fixed-point
notation with a specified number of digits.
</summary>
<param name="precision"> The number of significant digits. Must be in the range 1 21,
inclusive. </param>
<returns> A string containing a number represented either in exponential or fixed-point
notation with a specified number of digits. </returns>
<remarks>
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.
</remarks>
</member>
<member name="M:Jurassic.Library.NumberInstance.ToStringJS(System.Int32)">
<summary>
Returns the textual representation of the number.
</summary>
<param name="radix"> Specifies a radix for converting numeric values to strings. </param>
<returns> The textual representation of the number. </returns>
</member>
<member name="M:Jurassic.Library.NumberInstance.ValueOf">
<summary>
Returns the primitive value of the specified object.
</summary>
<returns> The primitive value of the specified object. </returns>
</member>
<member name="M:Jurassic.Library.NumberInstance.Clz">
<summary>
Calculates the number of leading zero bits in the integer representation of this
number.
</summary>
<returns> The number of leading zero bits in the integer representation of this number. </returns>
</member>
<member name="M:Jurassic.Library.NumberInstance.CountOneBits(System.UInt32)">
<summary>
Counts the number of set bits in an integer.
</summary>
<param name="x"> The integer. </param>
<returns> The number of set bits in the integer. </returns>
</member>
<member name="T:Jurassic.Library.BaseJSFunctionAttribute">
<summary>
The base class of the javascript function attributes.
</summary>
</member>
<member name="M:Jurassic.Library.BaseJSFunctionAttribute.#ctor">
<summary>
Creates a new BaseJSFunctionAttribute instance with no flags.
</summary>
</member>
<member name="M:Jurassic.Library.BaseJSFunctionAttribute.#ctor(Jurassic.Library.JSFunctionFlags)">
<summary>
Creates a new BaseJSFunctionAttribute instance.
</summary>
<param name="flags"> One or more flags. </param>
</member>
<member name="P:Jurassic.Library.BaseJSFunctionAttribute.Flags">
<summary>
Gets or sets the flags associated with the function.
</summary>
</member>
<member name="T:Jurassic.Library.JSFunctionAttribute">
<summary>
Marks a method as being visible to javascript code.
</summary>
</member>
<member name="M:Jurassic.Library.JSFunctionAttribute.#ctor">
<summary>
Creates a new JSFunctionAttribute instance with no flags.
</summary>
</member>
<member name="P:Jurassic.Library.JSFunctionAttribute.Name">
<summary>
Get or sets the name of the function, as exposed to javascript.
</summary>
</member>
<member name="P:Jurassic.Library.JSFunctionAttribute.NonStandard">
<summary>
Indicates the function is non-standard.
</summary>
</member>
<member name="P:Jurassic.Library.JSFunctionAttribute.Deprecated">
<summary>
Indicates the function is deprecated and should not be used.
</summary>
</member>
<member name="P:Jurassic.Library.JSFunctionAttribute.Length">
<summary>
Gets or sets the "typical" number of arguments expected by the function.
</summary>
</member>
<member name="P:Jurassic.Library.JSFunctionAttribute.IsWritable">
<summary>
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 <c>true</c>.
</summary>
<seealso cref="T:Jurassic.Library.PropertyAttributes"/>
</member>
<member name="P:Jurassic.Library.JSFunctionAttribute.IsEnumerable">
<summary>
Gets or sets whether the property should be enumerable (exposed via the
<c>for...in</c> construct) in JavaScript code. The default value of this
property is <c>false</c>.
</summary>
<seealso cref="T:Jurassic.Library.PropertyAttributes"/>
</member>
<member name="P:Jurassic.Library.JSFunctionAttribute.IsConfigurable">
<summary>
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 <c>true</c>.
</summary>
<seealso cref="T:Jurassic.Library.PropertyAttributes"/>
</member>
<member name="T:Jurassic.Library.JSInternalFunctionAttribute">
<summary>
Marks a method as being visible to javascript code.
Used internally - has different defaults to what you would expect.
</summary>
</member>
<member name="P:Jurassic.Library.JSInternalFunctionAttribute.RequiredArgumentCount">
<summary>
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.
</summary>
</member>
<member name="T:Jurassic.Library.JSPropertyAttribute">
<summary>
Marks a property as being visible to JavaScript code.
</summary>
</member>
<member name="M:Jurassic.Library.JSPropertyAttribute.#ctor">
<summary>
Creates a new <see cref="T:Jurassic.Library.JSPropertyAttribute"/>
</summary>
</member>
<member name="P:Jurassic.Library.JSPropertyAttribute.Name">
<summary>
Gets or sets the name of the property as exposed to JavaScript code.
</summary>
</member>
<member name="P:Jurassic.Library.JSPropertyAttribute.IsEnumerable">
<summary>
Gets or sets whether the property should be enumerable (exposed via the
<c>for...in</c> construct) in JavaScript code. The default value of this
property is <c>false</c>.
</summary>
<seealso cref="T:Jurassic.Library.PropertyAttributes"/>
</member>
<member name="P:Jurassic.Library.JSPropertyAttribute.IsConfigurable">
<summary>
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 <c>true</c>.
</summary>
<seealso cref="T:Jurassic.Library.PropertyAttributes"/>
</member>
<member name="T:Jurassic.Library.JSCallFunctionAttribute">
<summary>
Some built-in objects act like both classes and functions depending on whether the
<c>new</c> 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.
</summary>
</member>
<member name="T:Jurassic.Library.JSConstructorFunctionAttribute">
<summary>
Indicates that the method should be called when the <c>new</c> keyword is used.
</summary>
</member>
<member name="T:Jurassic.Library.JSFieldAttribute">
<summary>
Marks a field as being visible to javascript code. Currently only <c>const</c> fields
are supported.
</summary>
</member>
<member name="T:Jurassic.Library.HiddenClassSchema">
<summary>
Represents a container for property names and attributes.
</summary>
</member>
<member name="M:Jurassic.Library.HiddenClassSchema.#ctor(System.Collections.Generic.Dictionary{System.Object,Jurassic.Library.SchemaProperty},System.Int32)">
<summary>
Creates a new HiddenClassSchema instance from a modify or delete operation.
</summary>
</member>
<member name="M:Jurassic.Library.HiddenClassSchema.#ctor(System.Collections.Generic.Dictionary{System.Object,Jurassic.Library.SchemaProperty},System.Int32,Jurassic.Library.HiddenClassSchema,Jurassic.Library.HiddenClassSchema.TransitionInfo)">
<summary>
Creates a new HiddenClassSchema instance from an add operation.
</summary>
</member>
<member name="M:Jurassic.Library.HiddenClassSchema.CreateEmptySchema">
<summary>
Creates a hidden class schema with no properties.
</summary>
<returns> A hidden class schema with no properties. </returns>
</member>
<member name="P:Jurassic.Library.HiddenClassSchema.PropertyCount">
<summary>
Gets the number of properties defined in this schema.
</summary>
</member>
<member name="P:Jurassic.Library.HiddenClassSchema.NextValueIndex">
<summary>
Gets the index into the Values array of the next added property.
</summary>
</member>
<member name="M:Jurassic.Library.HiddenClassSchema.EnumeratePropertyNames">
<summary>
Enumerates the property names for this schema.
</summary>
<returns> An enumerable collection of property names. </returns>
</member>
<member name="M:Jurassic.Library.HiddenClassSchema.EnumeratePropertyNamesAndValues(System.Object[])">
<summary>
Enumerates the property names and values for this schema.
</summary>
<param name="values"> The array containing the property values. </param>
<returns> An enumerable collection of property names and values. </returns>
</member>
<member name="M:Jurassic.Library.HiddenClassSchema.GetPropertyIndex(System.Object)">
<summary>
Gets the zero-based index of the property with the given name.
</summary>
<param name="key"> The property key (either a string or a Symbol). </param>
<returns> The zero-based index of the property, or <c>-1</c> if a property with the
given name does not exist. </returns>
</member>
<member name="M:Jurassic.Library.HiddenClassSchema.GetPropertyIndexAndAttributes(System.Object)">
<summary>
Gets the zero-based index of the property with the given name and the attributes
associated with the property.
</summary>
<param name="key"> The property key (either a string or a Symbol). </param>
<returns> A structure containing the zero-based index of the property, or <c>-1</c> if a property with the
given name does not exist. </returns>
</member>
<member name="M:Jurassic.Library.HiddenClassSchema.AddProperty(System.Object,Jurassic.Library.PropertyAttributes)">
<summary>
Adds a property to the schema.
</summary>
<param name="key"> The property key of the property to add. </param>
<param name="attributes"> The property attributes. </param>
<returns> A new schema with the extra property. </returns>
</member>
<member name="M:Jurassic.Library.HiddenClassSchema.AddProperties(System.Collections.Generic.IEnumerable{Jurassic.Library.PropertyNameAndValue})">
<summary>
Adds multiple properties to the schema.
</summary>
<param name="properties"> The properties to add. </param>
<returns> A new schema with the extra properties. </returns>
</member>
<member name="M:Jurassic.Library.HiddenClassSchema.DeleteProperty(System.Object)">
<summary>
Deletes a property from the schema.
</summary>
<param name="key"> The property key of the property to delete. </param>
<returns> A new schema without the property. </returns>
</member>
<member name="M:Jurassic.Library.HiddenClassSchema.SetPropertyAttributes(System.Object,Jurassic.Library.PropertyAttributes)">
<summary>
Modifies the attributes for a property in the schema.
</summary>
<param name="key"> The property key of the property to modify. </param>
<param name="attributes"> The new attributes. </param>
<returns> A new schema with the modified property. </returns>
</member>
<member name="M:Jurassic.Library.HiddenClassSchema.CreatePropertiesDictionary">
<summary>
Creates the properties dictionary.
</summary>
</member>
<member name="T:Jurassic.Library.JSFunctionFlags">
<summary>
A set of flags that controls stub generation.
</summary>
</member>
<member name="F:Jurassic.Library.JSFunctionFlags.None">
<summary>
No flags were specified.
</summary>
</member>
<member name="F:Jurassic.Library.JSFunctionFlags.HasEngineParameter">
<summary>
The first parameter to the function is the associated <c>ScriptEngine</c>.
</summary>
</member>
<member name="F:Jurassic.Library.JSFunctionFlags.HasThisObject">
<summary>
The first (or second, if <c>HasEngineParameter</c> is specified) parameter to the
function is the <c>this</c> value.
</summary>
</member>
<member name="F:Jurassic.Library.JSFunctionFlags.MutatesThisObject">
<summary>
Indicates that the instance object may be modified by the function.
</summary>
</member>
<member name="F:Jurassic.Library.JSFunctionFlags.ConvertNullReturnValueToUndefined">
<summary>
A return value of null is converted to undefined immediately after control leaves the
method.
</summary>
</member>
<member name="T:Jurassic.Library.ObjectConstructor">
<summary>
Represents the built-in javascript Object object.
</summary>
</member>
<member name="M:Jurassic.Library.ObjectConstructor.#ctor(Jurassic.Library.ObjectInstance,Jurassic.Library.ObjectInstance)">
<summary>
Creates a new Object object.
</summary>
<param name="prototype"> The next object in the prototype chain. </param>
<param name="instancePrototype"> The prototype for instances created by this function. </param>
</member>
<member name="M:Jurassic.Library.ObjectConstructor.Construct">
<summary>
Creates a new Object instance.
</summary>
</member>
<member name="M:Jurassic.Library.ObjectConstructor.Construct(System.Object)">
<summary>
Converts the given argument to an object.
</summary>
<param name="obj"> The value to convert. </param>
</member>
<member name="M:Jurassic.Library.ObjectConstructor.Call(System.Object)">
<summary>
Converts the given argument to an object.
</summary>
<param name="obj"> The value to convert. </param>
</member>
<member name="M:Jurassic.Library.ObjectConstructor.GetPrototypeOf(Jurassic.Library.ObjectInstance)">
<summary>
Retrieves the next object in the prototype chain for the given object.
</summary>
<param name="obj"> The object to retrieve the prototype from. </param>
<returns> The next object in the prototype chain for the given object, or <c>null</c>
if the object has no prototype chain. </returns>
</member>
<member name="M:Jurassic.Library.ObjectConstructor.SetPrototypeOf(Jurassic.Library.ObjectInstance,System.Object)">
<summary>
Sets the prototype of a specified object to another object or null.
</summary>
<param name="obj"> The object which is to have its prototype set. </param>
<param name="prototype"> The object's new prototype (an object or <c>null</c>). </param>
<returns> The specified object. </returns>
</member>
<member name="M:Jurassic.Library.ObjectConstructor.GetOwnPropertyDescriptor(Jurassic.Library.ObjectInstance,System.Object)">
<summary>
Gets an object that contains details of the property with the given name.
</summary>
<param name="obj"> The object to retrieve property details for. </param>
<param name="key"> The property key (either a string or a Symbol). </param>
<returns> An object containing some of the following properties: configurable,
writable, enumerable, value, get and set. </returns>
</member>
<member name="M:Jurassic.Library.ObjectConstructor.GetOwnPropertyNames(Jurassic.Library.ObjectInstance)">
<summary>
Creates an array containing the names of all the named properties on the object (even
the non-enumerable ones).
</summary>
<param name="obj"> The object to retrieve the property names for. </param>
<returns> An array containing property names. </returns>
</member>
<member name="M:Jurassic.Library.ObjectConstructor.GetOwnPropertySymbols(Jurassic.Library.ObjectInstance)">
<summary>
Creates an array containing the symbols of all the symbol-based properties on the
object (even the non-enumerable ones).
</summary>
<param name="obj"> The object to retrieve the property symbols for. </param>
<returns> An array containing symbols. </returns>
</member>
<member name="M:Jurassic.Library.ObjectConstructor.Create(Jurassic.ScriptEngine,System.Object,Jurassic.Library.ObjectInstance)">
<summary>
Creates an object with the given prototype and, optionally, a set of properties.
</summary>
<param name="engine"> The script engine. </param>
<param name="prototype"> A reference to the next object in the prototype chain for the
created object. </param>
<param name="properties"> An object containing one or more property descriptors. </param>
<returns> A new object instance. </returns>
</member>
<member name="M:Jurassic.Library.ObjectConstructor.Assign(Jurassic.ScriptEngine,Jurassic.Library.ObjectInstance,System.Object[])">
<summary>
Assigns enumerable properties of one or more source objects onto a destination object.
</summary>
<param name="engine"> The script engine. </param>
<param name="target"> The destination object to copy properties to. </param>
<param name="sources"> One or more source objects to copy properties from. </param>
<returns> A new object instance. </returns>
</member>
<member name="M:Jurassic.Library.ObjectConstructor.DefineProperty(Jurassic.Library.ObjectInstance,System.Object,System.Object)">
<summary>
Modifies the value and attributes of a property.
</summary>
<param name="obj"> The object to define the property on. </param>
<param name="key"> The property key (either a string or a Symbol). </param>
<param name="attributes"> A property descriptor containing some of the following
properties: configurable, writable, enumerable, value, get and set. </param>
<returns> The object with the property. </returns>
</member>
<member name="M:Jurassic.Library.ObjectConstructor.DefineProperties(System.Object,Jurassic.Library.ObjectInstance)">
<summary>
Modifies multiple properties on an object.
</summary>
<param name="obj"> The object to define the properties on. </param>
<param name="properties"> An object containing one or more property descriptors. </param>
<returns> The object with the properties. </returns>
</member>
<member name="M:Jurassic.Library.ObjectConstructor.Seal(System.Object)">
<summary>
Prevents the addition or deletion of any properties on the given object.
</summary>
<param name="obj"> The object to modify. </param>
<returns> The object that was affected. </returns>
</member>
<member name="M:Jurassic.Library.ObjectConstructor.Freeze(System.Object)">
<summary>
Prevents the addition, deletion or modification of any properties on the given object.
</summary>
<param name="obj"> The object to modify. </param>
<returns> The object that was affected. </returns>
</member>
<member name="M:Jurassic.Library.ObjectConstructor.PreventExtensions(System.Object)">
<summary>
Prevents the addition of any properties on the given object.
</summary>
<param name="obj"> The object to modify. </param>
<returns> The object that was affected. </returns>
</member>
<member name="M:Jurassic.Library.ObjectConstructor.IsSealed(System.Object)">
<summary>
Determines if addition or deletion of any properties on the object is allowed.
</summary>
<param name="obj"> The object to check. </param>
<returns> <c>true</c> if properties can be added or at least one property can be
deleted; <c>false</c> otherwise. </returns>
</member>
<member name="M:Jurassic.Library.ObjectConstructor.IsFrozen(System.Object)">
<summary>
Determines if addition, deletion or modification of any properties on the object is
allowed.
</summary>
<param name="obj"> The object to check. </param>
<returns> <c>true</c> if properties can be added or at least one property can be
deleted or modified; <c>false</c> otherwise. </returns>
</member>
<member name="M:Jurassic.Library.ObjectConstructor.IsExtensible(System.Object)">
<summary>
Determines if addition of properties on the object is allowed.
</summary>
<param name="obj"> The object to check. </param>
<returns> <c>true</c> if properties can be added to the object; <c>false</c> otherwise. </returns>
</member>
<member name="M:Jurassic.Library.ObjectConstructor.Keys(Jurassic.Library.ObjectInstance)">
<summary>
Creates an array containing the names of all the enumerable properties on the object.
</summary>
<param name="obj"> The object to retrieve the property names for. </param>
<returns> An array containing the names of all the enumerable properties on the object. </returns>
</member>
<member name="M:Jurassic.Library.ObjectConstructor.Is(System.Object,System.Object)">
<summary>
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.
</summary>
<param name="value1"> The first value to compare. </param>
<param name="value2"> The second value to compare. </param>
<returns> <c>true</c> if the values are the same. </returns>
</member>
<member name="M:Jurassic.Library.ObjectConstructor.FromEntries(Jurassic.Library.ObjectInstance)">
<summary>
Transforms a list of key-value pairs into an object.
</summary>
<param name="iterable"> An iterable such as Array or Map. </param>
<returns> A new object whose properties are given by the entries of the iterable. </returns>
</member>
<member name="T:Jurassic.Library.ObjectInstance">
<summary>
Provides functionality common to all JavaScript objects.
</summary>
</member>
<member name="F:Jurassic.Library.ObjectInstance.ObjectFlags.Extensible">
<summary>
Indicates whether properties can be added to this object.
</summary>
</member>
<member name="M:Jurassic.Library.ObjectInstance.#ctor(Jurassic.ScriptEngine)">
<summary>
Creates an Object with the default prototype.
</summary>
<param name="engine"> The script engine associated with this object. </param>
</member>
<member name="M:Jurassic.Library.ObjectInstance.#ctor(Jurassic.Library.ObjectInstance)">
<summary>
Called by derived classes to create a new object instance.
</summary>
<param name="prototype"> The next object in the prototype chain. Cannot be <c>null</c>. </param>
</member>
<member name="M:Jurassic.Library.ObjectInstance.#ctor(Jurassic.ScriptEngine,Jurassic.Library.ObjectInstance)">
<summary>
Called by derived classes to create a new object instance.
</summary>
<param name="engine"> The script engine associated with this object. </param>
<param name="prototype"> The next object in the prototype chain. Can be <c>null</c>. </param>
</member>
<member name="M:Jurassic.Library.ObjectInstance.CreateRootObject(Jurassic.ScriptEngine)">
<summary>
Creates an Object with no prototype to serve as the base prototype of all objects.
</summary>
<param name="engine"> The script engine associated with this object. </param>
<returns> An Object with no prototype. </returns>
</member>
<member name="M:Jurassic.Library.ObjectInstance.CreateRawObject(Jurassic.Library.ObjectInstance)">
<summary>
Creates an Object instance (use ObjectConstructor.Construct rather than this).
</summary>
<param name="prototype"> The next object in the prototype chain. </param>
<returns> An Object instance. </returns>
</member>
<member name="M:Jurassic.Library.ObjectInstance.InitializePrototypeProperties(Jurassic.Library.ObjectInstance,Jurassic.Library.ObjectConstructor)">
<summary>
Initializes the prototype properties.
</summary>
<param name="obj"> The object to set the properties on. </param>
<param name="constructor"> A reference to the constructor that owns the prototype. </param>
</member>
<member name="P:Jurassic.Library.ObjectInstance.Engine">
<summary>
Gets a reference to the script engine associated with this object.
</summary>
</member>
<member name="P:Jurassic.Library.ObjectInstance.Prototype">
<summary>
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 <c>null</c> for the root object in the prototype
chain. Use <see cref="M:Jurassic.Library.ObjectInstance.SetPrototype(Jurassic.Library.ObjectInstance,System.Boolean)"/> to set this value.
</summary>
</member>
<member name="P:Jurassic.Library.ObjectInstance.IsExtensible">
<summary>
Gets a value that indicates whether the object can have new properties added to it.
Called by Object.isExtensible(). Use <see cref="M:Jurassic.Library.ObjectInstance.PreventExtensions(System.Boolean)"/> to set this value.
</summary>
</member>
<member name="P:Jurassic.Library.ObjectInstance.Item(System.Object)">
<summary>
Gets or sets the value of a named property.
</summary>
<param name="key"> The property key (either a string or a Symbol). </param>
<returns> The property value, or <see cref="F:Jurassic.Undefined.Value"/> if the property doesn't
exist. </returns>
</member>
<member name="P:Jurassic.Library.ObjectInstance.Item(System.UInt32)">
<summary>
Gets or sets the value of an array-indexed property.
</summary>
<param name="index"> The index of the property to retrieve. </param>
<returns> The property value, or <see cref="F:Jurassic.Undefined.Value"/> if the property doesn't
exist. </returns>
</member>
<member name="P:Jurassic.Library.ObjectInstance.Item(System.Int32)">
<summary>
Gets or sets the value of an array-indexed property.
</summary>
<param name="index"> The index of the property to retrieve. </param>
<returns> The property value, or <see cref="F:Jurassic.Undefined.Value"/> if the property doesn't
exist. </returns>
</member>
<member name="P:Jurassic.Library.ObjectInstance.Properties">
<summary>
Gets an enumerable list of every property name and value associated with this object.
Does not include properties in the prototype chain.
</summary>
</member>
<member name="P:Jurassic.Library.ObjectInstance.OwnKeys">
<summary>
Gets an enumerable list of every property name associated with this object.
Does not include properties in the prototype chain.
</summary>
</member>
<member name="M:Jurassic.Library.ObjectInstance.SetPrototype(Jurassic.Library.ObjectInstance,System.Boolean)">
<summary>
Sets the next object in the prototype chain. Can be <c>null</c>, which indicates there
are no further objects in the chain.
</summary>
<param name="prototype"> The new prototype. </param>
<param name="throwOnError"> <c>true</c> 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. </param>
<returns> <c>true</c> if the prototype was successfully applied; <c>false</c> otherwise. </returns>
</member>
<member name="M:Jurassic.Library.ObjectInstance.PreventExtensions(System.Boolean)">
<summary>
Makes this object non-extensible, which means no new properties can be added to it.
</summary>
<param name="throwOnError"> <c>true</c> to throw an exception if the object could not
be made non-extensible. </param>
<returns> <c>true</c> if the operation was successful, <c>false</c> otherwise. The
default implementation always returns <c>true</c>. </returns>
</member>
<member name="M:Jurassic.Library.ObjectInstance.HasProperty(System.Object)">
<summary>
Determines if a property with the given name exists.
</summary>
<param name="key"> The property key (either a string or a Symbol). </param>
<returns> <c>true</c> if the property exists on this object or in the prototype chain;
<c>false</c> otherwise. </returns>
</member>
<member name="M:Jurassic.Library.ObjectInstance.GetPropertyValue(System.UInt32)">
<summary>
Gets the value of the property with the given array index.
</summary>
<param name="index"> The array index of the property. </param>
<returns> The value of the property, or <c>null</c> if the property doesn't exist. </returns>
<remarks> The prototype chain is searched if the property does not exist directly on
this object. </remarks>
</member>
<member name="M:Jurassic.Library.ObjectInstance.GetPropertyValue(System.UInt32,System.Object)">
<summary>
Gets the value of the property with the given array index.
</summary>
<param name="index"> The array index of the property. </param>
<param name="thisValue"> The value of the "this" keyword inside a getter. </param>
<returns> The value of the property, or <c>null</c> if the property doesn't exist. </returns>
<remarks> The prototype chain is searched if the property does not exist directly on
this object. </remarks>
</member>
<member name="M:Jurassic.Library.ObjectInstance.GetPropertyValue(System.Object)">
<summary>
Gets the value of the property with the given name.
</summary>
<param name="key"> The property key (either a string or a Symbol). </param>
<returns> The value of the property, or <c>null</c> if the property doesn't exist. </returns>
<remarks> The prototype chain is searched if the property does not exist directly on
this object. </remarks>
</member>
<member name="M:Jurassic.Library.ObjectInstance.GetPropertyValue(System.Object,System.Object)">
<summary>
Gets the value of the property with the given name.
</summary>
<param name="key"> The property key (either a string or a Symbol). </param>
<param name="thisValue"> The value of the "this" keyword inside a getter. </param>
<returns> The value of the property, or <c>null</c> if the property doesn't exist. </returns>
<remarks> The prototype chain is searched if the property does not exist directly on
this object. </remarks>
</member>
<member name="M:Jurassic.Library.ObjectInstance.TryGetPropertyValue(System.Object,System.Object@)">
<summary>
Gets the value of the property with the given name.
</summary>
<param name="key"> The property key (either a string or a Symbol). </param>
<param name="value"> Receives the value of the property, or <c>null</c> if the property
doesn't exist. </param>
<returns> <c>true</c> if the value exists, <c>false</c> otherwise. </returns>
</member>
<member name="M:Jurassic.Library.ObjectInstance.GetPropertyValue(Jurassic.Library.PropertyReference)">
<summary>
Gets the value of the property with the given name.
</summary>
<param name="propertyReference"> The name of the property. </param>
<returns> The value of the property, or <see cref="F:Jurassic.Undefined.Value"/> if the property
doesn't exist. </returns>
<remarks> The prototype chain is searched if the property does not exist directly on
this object. </remarks>
</member>
<member name="M:Jurassic.Library.ObjectInstance.GetNamedPropertyValue(System.Object,System.Object)">
<summary>
Gets the value of the property with the given name. The name cannot be an array index.
</summary>
<param name="key"> The property key (either a string or a Symbol). Cannot be an array index. </param>
<param name="thisValue"> The value of the "this" keyword inside a getter. </param>
<returns> The value of the property, or <c>null</c> if the property doesn't exist. </returns>
<remarks> The prototype chain is searched if the property does not exist directly on
this object. </remarks>
</member>
<member name="M:Jurassic.Library.ObjectInstance.GetOwnPropertyDescriptor(System.UInt32)">
<summary>
Gets a descriptor for the property with the given array index.
</summary>
<param name="index"> The array index of the property. </param>
<returns> A property descriptor containing the property value and attributes. </returns>
<remarks> The prototype chain is not searched. </remarks>
</member>
<member name="M:Jurassic.Library.ObjectInstance.GetOwnPropertyDescriptor(System.Object)">
<summary>
Gets a descriptor for the property with the given name.
</summary>
<param name="key"> The property key (either a string or a Symbol). </param>
<returns> A property descriptor containing the property value and attributes. </returns>
<remarks> The prototype chain is not searched. </remarks>
</member>
<member name="M:Jurassic.Library.ObjectInstance.GetMethod(System.Object)">
<summary>
Returns the function with the given name, if it exists.
</summary>
<param name="key"> The property key (either a string or a Symbol). Cannot be a number. </param>
<returns> The method with the given name, if it exists; otherwise <c>null</c>. </returns>
<exception cref="T:Jurassic.JavaScriptException"> A property exists with the given name, but it's not callable. </exception>
</member>
<member name="M:Jurassic.Library.ObjectInstance.SetPropertyValue(System.UInt32,System.Object,System.Boolean)">
<summary>
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.
</summary>
<param name="index"> The array index of the property to set. </param>
<param name="value"> The value to set the property to. This must be a javascript
primitive (double, string, etc) or a class derived from <see cref="T:Jurassic.Library.ObjectInstance"/>. </param>
<param name="throwOnError"> <c>true</c> 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. </param>
<returns> <c>false</c> if an error occurred. </returns>
</member>
<member name="M:Jurassic.Library.ObjectInstance.SetPropertyValue(System.UInt32,System.Object,System.Object,System.Boolean)">
<summary>
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.
</summary>
<param name="index"> The array index of the property to set. </param>
<param name="value"> The value to set the property to. This must be a javascript
primitive (double, string, etc) or a class derived from <see cref="T:Jurassic.Library.ObjectInstance"/>. </param>
<param name="thisValue"> The value of the "this" keyword inside a setter. </param>
<param name="throwOnError"> <c>true</c> 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. </param>
<returns> <c>false</c> if an error occurred. </returns>
</member>
<member name="M:Jurassic.Library.ObjectInstance.SetPropertyValue(System.Object,System.Object,System.Boolean)">
<summary>
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.
</summary>
<param name="key"> The property key of the property to set. </param>
<param name="value"> The value to set the property to. This must be a javascript
primitive (double, string, etc) or a class derived from <see cref="T:Jurassic.Library.ObjectInstance"/>. </param>
<param name="throwOnError"> <c>true</c> 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). </param>
<returns> <c>false</c> if <paramref name="throwOnError"/> is false and an error
occurred; <c>true</c> otherwise. </returns>
</member>
<member name="M:Jurassic.Library.ObjectInstance.SetPropertyValue(System.Object,System.Object,System.Object,System.Boolean)">
<summary>
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.
</summary>
<param name="key"> The property key of the property to set. </param>
<param name="value"> The value to set the property to. This must be a javascript
primitive (double, string, etc) or a class derived from <see cref="T:Jurassic.Library.ObjectInstance"/>. </param>
<param name="thisValue"> The value of the "this" keyword inside a setter. </param>
<param name="throwOnError"> <c>true</c> 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). </param>
<returns> <c>false</c> if <paramref name="throwOnError"/> is false and an error
occurred; <c>true</c> otherwise. </returns>
</member>
<member name="M:Jurassic.Library.ObjectInstance.SetPropertyValue(Jurassic.Library.PropertyReference,System.Object,System.Boolean)">
<summary>
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.
</summary>
<param name="propertyReference"> The name of the property to set. </param>
<param name="value"> The value to set the property to. This must be a javascript
primitive (double, string, etc) or a class derived from <see cref="T:Jurassic.Library.ObjectInstance"/>. </param>
<param name="throwOnError"> <c>true</c> 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). </param>
<returns> <c>false</c> if <paramref name="throwOnError"/> is false and an error
occurred; <c>true</c> otherwise. </returns>
</member>
<member name="M:Jurassic.Library.ObjectInstance.SetPropertyValue(Jurassic.Library.PropertyReference,System.Object,System.Object,System.Boolean)">
<summary>
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.
</summary>
<param name="propertyReference"> The name of the property to set. </param>
<param name="value"> The value to set the property to. This must be a javascript
primitive (double, string, etc) or a class derived from <see cref="T:Jurassic.Library.ObjectInstance"/>. </param>
<param name="thisValue"> The value of the "this" keyword inside a setter. </param>
<param name="throwOnError"> <c>true</c> 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). </param>
<returns> <c>false</c> if <paramref name="throwOnError"/> is false and an error
occurred; <c>true</c> otherwise. </returns>
</member>
<member name="M:Jurassic.Library.ObjectInstance.SetPropertyValueIfExists(System.Object,System.Object,System.Object,System.Boolean,System.Boolean@)">
<summary>
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
<c>false</c>. This method is used to set the value of a variable reference within a
with statement.
</summary>
<param name="key"> The property key (either a string or a Symbol). Cannot be an array index. </param>
<param name="value"> The desired value of the property. This must be a javascript
primitive (double, string, etc) or a class derived from <see cref="T:Jurassic.Library.ObjectInstance"/>. </param>
<param name="thisValue"> The value of the "this" keyword inside a setter. </param>
<param name="throwOnError"> <c>true</c> 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). </param>
<param name="exists"> Set to <c>true</c> if the property value exists; <c>false</c> otherwise. </param>
<returns> <c>false</c> if <paramref name="throwOnError"/> is false and an error
occurred; <c>true</c> otherwise. </returns>
</member>
<member name="M:Jurassic.Library.ObjectInstance.Delete(System.UInt32,System.Boolean)">
<summary>
Deletes the property with the given array index.
</summary>
<param name="index"> The array index of the property to delete. </param>
<param name="throwOnError"> <c>true</c> to throw an exception if the property could not
be set because the property was marked as non-configurable. </param>
<returns> <c>true</c> if the property was successfully deleted, or if the property did
not exist; <c>false</c> if the property was marked as non-configurable and
<paramref name="throwOnError"/> was <c>false</c>. </returns>
</member>
<member name="M:Jurassic.Library.ObjectInstance.Delete(System.Object,System.Boolean)">
<summary>
Deletes the property with the given name.
</summary>
<param name="key"> The property key of the property to delete. </param>
<param name="throwOnError"> <c>true</c> to throw an exception if the property could not
be set because the property was marked as non-configurable. </param>
<returns> <c>true</c> if the property was successfully deleted, or if the property did
not exist; <c>false</c> if the property was marked as non-configurable and
<paramref name="throwOnError"/> was <c>false</c>. </returns>
</member>
<member name="M:Jurassic.Library.ObjectInstance.DefineProperty(System.Object,Jurassic.Library.PropertyDescriptor,System.Boolean)">
<summary>
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.
</summary>
<param name="key"> The property key of the property to modify. </param>
<param name="descriptor"> The property value and attributes. </param>
<param name="throwOnError"> <c>true</c> 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. </param>
<returns> <c>true</c> if the property was successfully modified; <c>false</c> otherwise. </returns>
</member>
<member name="M:Jurassic.Library.ObjectInstance.IsCompatiblePropertyDescriptor(System.Boolean,Jurassic.Library.PropertyDescriptor,Jurassic.Library.PropertyDescriptor)">
<summary>
Checks whether the given descriptor is compatible with the current descriptor.
</summary>
<param name="isExtensible"> Indicates whether the target object is extensible. </param>
<param name="descriptor"> The new descriptor. </param>
<param name="current"> The descriptor corresponding to the currently existing property. </param>
<returns> <c>true</c> if the new descriptor is compatible with the old one; <c>false</c> otherwise. </returns>
</member>
<member name="M:Jurassic.Library.ObjectInstance.AddProperty(System.Object,System.Object,Jurassic.Library.PropertyAttributes,System.Boolean)">
<summary>
Adds a property to this object. The property must not already exist.
</summary>
<param name="key"> The property key of the property to add. </param>
<param name="value"> The desired value of the property. This can be a
<see cref="T:Jurassic.Library.PropertyAccessorValue"/>. </param>
<param name="attributes"> Attributes describing how the property may be modified. </param>
<param name="throwOnError"> <c>true</c> to throw an exception if the property could not
be added (i.e. if the object is not extensible). </param>
<returns> <c>true</c> if the property was successfully added; <c>false</c> otherwise. </returns>
</member>
<member name="M:Jurassic.Library.ObjectInstance.FastSetProperty(System.Object,System.Object,Jurassic.Library.PropertyAttributes,System.Boolean)">
<summary>
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).
</summary>
<param name="key"> The property key (either a string or a Symbol). </param>
<param name="value"> The intended value of the property. </param>
<param name="attributes"> Attributes that indicate whether the property is writable,
configurable and enumerable. </param>
<param name="overwriteAttributes"> Indicates whether to overwrite any existing attributes. </param>
</member>
<member name="M:Jurassic.Library.ObjectInstance.InitializeProperties(System.Collections.Generic.IEnumerable{Jurassic.Library.PropertyNameAndValue})">
<summary>
Sets up multiple properties at once. Can only be called on an empty object.
</summary>
<param name="properties"> The list of properties to set. </param>
</member>
<member name="M:Jurassic.Library.ObjectInstance.InitializeMissingProperty(System.Object,Jurassic.Library.PropertyAttributes)">
<summary>
Initializes a property to be <c>undefined</c>, if the property doesn't exist.
If it does exist, then this method does nothing.
</summary>
<param name="key"> The property key of the property. </param>
<param name="attributes"> The attributes of the new property, if it doesn't exist. </param>
</member>
<member name="M:Jurassic.Library.ObjectInstance.GetPrimitiveValue(Jurassic.PrimitiveTypeHint)">
<summary>
Returns a primitive value that represents the current object. Used by the addition and
equality operators.
</summary>
<param name="typeHint"> Indicates the preferred type of the result. </param>
<returns> A primitive value that represents the current object. </returns>
</member>
<member name="M:Jurassic.Library.ObjectInstance.GetPrimitiveValuePreES6(Jurassic.PrimitiveTypeHint)">
<summary>
Returns a primitive value that represents the current object, without using the
@@toPrimitive symbol.
</summary>
<param name="typeHint"> Indicates the preferred type of the result. </param>
<returns> A primitive value that represents the current object. </returns>
</member>
<member name="M:Jurassic.Library.ObjectInstance.CallMemberFunction(System.Object,System.Object[])">
<summary>
Calls the function with the given name. The function must exist on this object or an
exception will be thrown.
</summary>
<param name="functionName"> The name of the function to call (or a symbol). </param>
<param name="parameters"> The parameters to pass to the function. </param>
<returns> The result of calling the function. </returns>
</member>
<member name="M:Jurassic.Library.ObjectInstance.TryCallMemberFunction(System.Object@,System.Object,System.Object[])">
<summary>
Calls the function with the given name.
</summary>
<param name="result"> The result of calling the function. </param>
<param name="key"> The name or symbol of the function to call. </param>
<param name="parameters"> The parameters to pass to the function. </param>
<returns> <c>true</c> if the function was called successfully; <c>false</c> otherwise. </returns>
</member>
<member name="M:Jurassic.Library.ObjectInstance.ToString">
<summary>
Returns a string representing this object.
</summary>
<returns> A string representing this object. </returns>
</member>
<member name="M:Jurassic.Library.ObjectInstance.HasOwnProperty(Jurassic.ScriptEngine,System.Object,System.Object)">
<summary>
Determines if a property with the given name exists on this object.
</summary>
<param name="engine"> The associated script engine. </param>
<param name="thisObject"> The object that is being operated on. </param>
<param name="key"> The property key (either a string or a Symbol). </param>
<returns> <c>true</c> if a property with the given name exists on this object,
<c>false</c> otherwise. </returns>
<remarks> Objects in the prototype chain are not considered. </remarks>
</member>
<member name="M:Jurassic.Library.ObjectInstance.IsPrototypeOf(Jurassic.ScriptEngine,System.Object,System.Object)">
<summary>
Determines if this object is in the prototype chain of the given object.
</summary>
<param name="engine"> The associated script engine. </param>
<param name="thisObject"> The object that is being operated on. </param>
<param name="obj"> The object to check. </param>
<returns> <c>true</c> if this object is in the prototype chain of the given object;
<c>false</c> otherwise. </returns>
</member>
<member name="M:Jurassic.Library.ObjectInstance.PropertyIsEnumerable(Jurassic.ScriptEngine,System.Object,System.Object)">
<summary>
Determines if a property with the given name exists on this object and is enumerable.
</summary>
<param name="engine"> The associated script engine. </param>
<param name="thisObject"> The object that is being operated on. </param>
<param name="key"> The property key (either a string or a Symbol). </param>
<returns> <c>true</c> if a property with the given name exists on this object and is
enumerable, <c>false</c> otherwise. </returns>
<remarks> Objects in the prototype chain are not considered. </remarks>
</member>
<member name="M:Jurassic.Library.ObjectInstance.ToLocaleString">
<summary>
Returns a locale-dependant string representing the current object.
</summary>
<returns> Returns a locale-dependant string representing the current object. </returns>
</member>
<member name="M:Jurassic.Library.ObjectInstance.ValueOf">
<summary>
Returns a primitive value associated with the object.
</summary>
<returns> A primitive value associated with the object. </returns>
</member>
<member name="M:Jurassic.Library.ObjectInstance.ToStringJS(Jurassic.ScriptEngine,System.Object)">
<summary>
Returns a string representing the current object.
</summary>
<param name="engine"> The current script environment. </param>
<param name="thisObject"> The value of the "this" keyword. </param>
<returns> A string representing the current object. </returns>
</member>
<member name="M:Jurassic.Library.ObjectInstance.PopulateFunctions">
<summary>
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.
</summary>
</member>
<member name="M:Jurassic.Library.ObjectInstance.PopulateFunctions(System.Type)">
<summary>
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.
</summary>
<param name="type"> The type to search for methods. </param>
</member>
<member name="M:Jurassic.Library.ObjectInstance.PopulateFunctions(System.Type,System.Reflection.BindingFlags)">
<summary>
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.
</summary>
<param name="type"> The type to search for methods. </param>
<param name="bindingFlags"> The binding flags to use to search for properties and methods. </param>
</member>
<member name="M:Jurassic.Library.ObjectInstance.PopulateFields">
<summary>
Populates the object with properties by searching a .NET type for fields marked with
the [JSField] attribute. Should be called only once at startup.
</summary>
</member>
<member name="M:Jurassic.Library.ObjectInstance.PopulateFields(System.Type)">
<summary>
Populates the object with properties by searching a .NET type for fields marked with
the [JSField] attribute. Should be called only once at startup.
</summary>
<param name="type"> The type to search for fields. </param>
</member>
<member name="T:Jurassic.Library.PropertyAccessorValue">
<summary>
Represents a the value of an accessor property.
</summary>
</member>
<member name="M:Jurassic.Library.PropertyAccessorValue.#ctor(Jurassic.Library.FunctionInstance,Jurassic.Library.FunctionInstance)">
<summary>
Creates a new PropertyAccessorValue instance.
</summary>
<param name="getter"> The getter function, or <c>null</c> if no getter was provided. </param>
<param name="setter"> The setter function, or <c>null</c> if no setter was provided. </param>
</member>
<member name="P:Jurassic.Library.PropertyAccessorValue.Getter">
<summary>
Gets the function that is called when the property value is retrieved.
</summary>
</member>
<member name="P:Jurassic.Library.PropertyAccessorValue.Setter">
<summary>
Gets the function that is called when the property value is modified.
</summary>
</member>
<member name="M:Jurassic.Library.PropertyAccessorValue.GetValue(System.Object)">
<summary>
Gets the property value by calling the getter, if one is present.
</summary>
<param name="thisObject"> The value of the "this" keyword inside the getter. </param>
<returns> The property value returned by the getter. </returns>
</member>
<member name="M:Jurassic.Library.PropertyAccessorValue.SetValue(System.Object,System.Object)">
<summary>
Sets the property value by calling the setter, if one is present.
</summary>
<param name="thisObject"> The value of the "this" keyword inside the setter. </param>
<param name="value"> The desired value. </param>
</member>
<member name="M:Jurassic.Library.PropertyAccessorValue.ToString">
<summary>
Returns a string that represents the current object.
</summary>
</member>
<member name="T:Jurassic.Library.PropertyAttributes">
<summary>
A set of flags which controls the accessibility of properties.
</summary>
</member>
<member name="F:Jurassic.Library.PropertyAttributes.Sealed">
<summary>
Indicates the property value is not writable, enumerable or configurable. This is
the default for built-in properties.
</summary>
</member>
<member name="F:Jurassic.Library.PropertyAttributes.Writable">
<summary>
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.
</summary>
</member>
<member name="F:Jurassic.Library.PropertyAttributes.Enumerable">
<summary>
Indicates the property will be enumerated by a for-in enumeration. Otherwise, the
property is said to be non-enumerable.
</summary>
</member>
<member name="F:Jurassic.Library.PropertyAttributes.Configurable">
<summary>
Indicates the property can be deleted or changed to an accessor property or have it's
flags changed.
</summary>
</member>
<member name="F:Jurassic.Library.PropertyAttributes.NonEnumerable">
<summary>
Indicates the property can be modified and deleted but will not be enumerated.
</summary>
</member>
<member name="F:Jurassic.Library.PropertyAttributes.FullAccess">
<summary>
Indicates the property is read-write, enumerable and configurable. This is the default
for user-created properties.
</summary>
</member>
<member name="F:Jurassic.Library.PropertyAttributes.IsAccessorProperty">
<summary>
Indicates the property is an accessor property (i.e. it has a getter or a setter).
</summary>
</member>
<member name="F:Jurassic.Library.PropertyAttributes.IsLengthProperty">
<summary>
Indicates the property is the "magic" length property (only found on arrays).
</summary>
</member>
<member name="T:Jurassic.Library.PropertyDescriptor">
<summary>
Represents either a named data property, or a named accessor property.
</summary>
</member>
<member name="M:Jurassic.Library.PropertyDescriptor.#ctor(System.Object,Jurassic.Library.PropertyAttributes)">
<summary>
Creates a new PropertyDescriptor instance.
</summary>
<param name="value"> The initial value for the property. </param>
<param name="attributes"> The property attributes. </param>
</member>
<member name="M:Jurassic.Library.PropertyDescriptor.#ctor(Jurassic.Library.FunctionInstance,Jurassic.Library.FunctionInstance,Jurassic.Library.PropertyAttributes)">
<summary>
Creates a new PropertyDescriptor instance with a getter function and, optionally, a
setter function.
</summary>
<param name="getter"> The function to call to retrieve the property value. </param>
<param name="setter"> The function to call to set the property value. </param>
<param name="attributes"> The property attributes (whether the property is writable or
not is implied by whether there is a setter function). </param>
</member>
<member name="F:Jurassic.Library.PropertyDescriptor.Missing">
<summary>
Indicates that a property doesn't exist.
</summary>
</member>
<member name="F:Jurassic.Library.PropertyDescriptor.Undefined">
<summary>
Used to indicate that a property whose value is undefined, and is not writable,
enumerable or configurable.
</summary>
</member>
<member name="P:Jurassic.Library.PropertyDescriptor.Exists">
<summary>
Gets a value that indicates whether the property exists.
</summary>
</member>
<member name="P:Jurassic.Library.PropertyDescriptor.Attributes">
<summary>
Gets the property attributes. These attributes describe how the property can
be modified.
</summary>
</member>
<member name="P:Jurassic.Library.PropertyDescriptor.IsWritable">
<summary>
Gets a boolean value indicating whether the property value can be set.
</summary>
</member>
<member name="P:Jurassic.Library.PropertyDescriptor.IsEnumerable">
<summary>
Gets a boolean value indicating whether the property value will be included during an
enumeration.
</summary>
</member>
<member name="P:Jurassic.Library.PropertyDescriptor.IsConfigurable">
<summary>
Gets a boolean value indicating whether the property can be deleted.
</summary>
</member>
<member name="P:Jurassic.Library.PropertyDescriptor.Value">
<summary>
Gets the raw property value. Does not call the get accessor, even if one is present.
</summary>
</member>
<member name="M:Jurassic.Library.PropertyDescriptor.ToString">
<summary>
Returns a string representing the current object.
</summary>
<returns> A string representing the current object. </returns>
</member>
<member name="P:Jurassic.Library.PropertyDescriptor.IsAccessor">
<summary>
Gets a value that indicates whether the value is computed using accessor functions.
</summary>
</member>
<member name="P:Jurassic.Library.PropertyDescriptor.Getter">
<summary>
Gets the function that is called when the property value is retrieved, assuming this
property value is computed using accessor functions. Returns <c>null</c> if the
property is not a accessor property.
</summary>
</member>
<member name="P:Jurassic.Library.PropertyDescriptor.Setter">
<summary>
Gets the function that is called when the property value is modified, assuming this
property value is computed using accessor functions. Returns <c>null</c> if the
property is not a accessor property.
</summary>
</member>
<member name="M:Jurassic.Library.PropertyDescriptor.FromObject(Jurassic.Library.ObjectInstance,Jurassic.Library.PropertyDescriptor)">
<summary>
Creates a property descriptor from an object containing any of the following
properties: configurable, writable, enumerable, value, get, set.
</summary>
<param name="obj"> The object to get the property values from. </param>
<param name="defaults"> The values to use if the relevant value is not specified. </param>
<returns> A PropertyDescriptor that corresponds to the object. </returns>
</member>
<member name="M:Jurassic.Library.PropertyDescriptor.ToObject(Jurassic.ScriptEngine)">
<summary>
Populates an object with the following properties: configurable, writable, enumerable,
value, get, set.
</summary>
<param name="engine"> The script engine used to create a new object. </param>
<returns> An object with the information in this property descriptor set as individual
properties. </returns>
</member>
<member name="M:Jurassic.Library.PropertyDescriptor.IsCompatible(Jurassic.Library.PropertyDescriptor,Jurassic.Library.PropertyDescriptor)">
<summary>
Checks whether the given descriptor is compatible with the current descriptor.
</summary>
<param name="descriptor"> The new descriptor. </param>
<param name="current"> The descriptor corresponding to the currently existing property. </param>
<returns> <c>true</c> if the new descriptor is compatible with the old one; <c>false</c> otherwise. </returns>
</member>
<member name="T:Jurassic.Library.PropertyNameAndValue">
<summary>
Represents a property name and value.
</summary>
</member>
<member name="M:Jurassic.Library.PropertyNameAndValue.#ctor(System.Object,Jurassic.Library.PropertyDescriptor)">
<summary>
Initializes a property with any descriptor.
</summary>
<param name="key"> The property key (either a string or a Symbol). </param>
<param name="descriptor"> A descriptor describing the property. </param>
</member>
<member name="M:Jurassic.Library.PropertyNameAndValue.#ctor(System.Object,System.Object,Jurassic.Library.PropertyAttributes)">
<summary>
Initializes a simple property.
</summary>
<param name="key"> The property key (either a string or a Symbol). </param>
<param name="value"> The property value. </param>
<param name="attributes"> Indicates whether the property is readable, writable and/or enumerable. </param>
</member>
<member name="M:Jurassic.Library.PropertyNameAndValue.#ctor(System.Object,Jurassic.Library.FunctionInstance,Jurassic.Library.FunctionInstance,Jurassic.Library.PropertyAttributes)">
<summary>
Initializes a getter/setter property.
</summary>
<param name="key"> The property key (either a string or a Symbol). </param>
<param name="getter"> The function to call to retrieve the property value. </param>
<param name="setter"> The function to call to set the property value. </param>
<param name="attributes"> Indicates whether the property is readable, writable and/or enumerable. </param>
</member>
<member name="P:Jurassic.Library.PropertyNameAndValue.Key">
<summary>
Gets the property key.
</summary>
</member>
<member name="P:Jurassic.Library.PropertyNameAndValue.Value">
<summary>
Gets the value of the property.
</summary>
</member>
<member name="P:Jurassic.Library.PropertyNameAndValue.Attributes">
<summary>
Gets the property attributes. These attributes describe how the property can
be modified.
</summary>
</member>
<member name="P:Jurassic.Library.PropertyNameAndValue.IsWritable">
<summary>
Gets a boolean value indicating whether the property value can be set.
</summary>
</member>
<member name="P:Jurassic.Library.PropertyNameAndValue.IsEnumerable">
<summary>
Gets a boolean value indicating whether the property value will be included during an
enumeration.
</summary>
</member>
<member name="P:Jurassic.Library.PropertyNameAndValue.IsConfigurable">
<summary>
Gets a boolean value indicating whether the property can be deleted.
</summary>
</member>
<member name="M:Jurassic.Library.PropertyNameAndValue.ToString">
<summary>
Returns a string that represents the current object.
</summary>
</member>
<member name="T:Jurassic.Library.PropertyReference">
<summary>
Represents a property name. Used to speed up access to object properties and global variables.
</summary>
</member>
<member name="M:Jurassic.Library.PropertyReference.#ctor(System.String)">
<summary>
Creates a new PropertyName instance.
</summary>
<param name="propertyName"> The name of the property to be accessed. </param>
</member>
<member name="P:Jurassic.Library.PropertyReference.Name">
<summary>
The property name.
</summary>
</member>
<member name="P:Jurassic.Library.PropertyReference.CachedSchema">
<summary>
A reference to a schema that defines how properties are stored.
</summary>
</member>
<member name="P:Jurassic.Library.PropertyReference.CachedIndex">
<summary>
The index into the property array.
</summary>
</member>
<member name="M:Jurassic.Library.PropertyReference.CachePropertyDetails(Jurassic.Library.HiddenClassSchema,System.Int32)">
<summary>
Caches property details.
</summary>
<param name="schema"> A reference to a schema that defines how properties are stored. </param>
<param name="index"> The index into the property array. </param>
</member>
<member name="M:Jurassic.Library.PropertyReference.ClearCache">
<summary>
Clears the cached property details.
</summary>
</member>
<member name="M:Jurassic.Library.PropertyReference.ToString">
<summary>
Returns a textual representation of this object.
</summary>
<returns></returns>
</member>
<member name="T:Jurassic.Library.SchemaProperty">
<summary>
Represents the information stored about a property in the class schema.
</summary>
</member>
<member name="M:Jurassic.Library.SchemaProperty.#ctor(System.Int32,Jurassic.Library.PropertyAttributes)">
<summary>
Creates a new SchemaProperty instance.
</summary>
<param name="index"> The index of the property in the backing array. </param>
<param name="attributes"> The property attributes. These attributes describe how the
property can be modified. </param>
</member>
<member name="F:Jurassic.Library.SchemaProperty.Undefined">
<summary>
Gets a value that indicates that a property doesn't exist.
</summary>
</member>
<member name="P:Jurassic.Library.SchemaProperty.Index">
<summary>
Gets the index of the property in the backing array.
</summary>
</member>
<member name="P:Jurassic.Library.SchemaProperty.Attributes">
<summary>
Gets the property attributes. These attributes describe how the property can
be modified.
</summary>
</member>
<member name="P:Jurassic.Library.SchemaProperty.Exists">
<summary>
Gets a value that indicates whether the property exists.
</summary>
</member>
<member name="P:Jurassic.Library.SchemaProperty.IsWritable">
<summary>
Gets a boolean value indicating whether the property value can be set.
</summary>
</member>
<member name="P:Jurassic.Library.SchemaProperty.IsEnumerable">
<summary>
Gets a boolean value indicating whether the property value will be included during an
enumeration.
</summary>
</member>
<member name="P:Jurassic.Library.SchemaProperty.IsConfigurable">
<summary>
Gets a boolean value indicating whether the property can be deleted.
</summary>
</member>
<member name="P:Jurassic.Library.SchemaProperty.IsAccessor">
<summary>
Gets a value that indicates whether the value is computed using accessor functions.
</summary>
</member>
<member name="P:Jurassic.Library.SchemaProperty.IsLength">
<summary>
Gets a value that indicates whether the property is the magic length property.
</summary>
</member>
<member name="T:Jurassic.Library.PromiseConstructor">
<summary>
Represents the built-in javascript Promise object.
</summary>
</member>
<member name="M:Jurassic.Library.PromiseConstructor.#ctor(Jurassic.Library.ObjectInstance)">
<summary>
Creates a new promise constructor.
</summary>
<param name="prototype"> The next object in the prototype chain. </param>
</member>
<member name="M:Jurassic.Library.PromiseConstructor.Call">
<summary>
Called when the Promise object is invoked like a function, e.g. var x = Promise().
Throws an error.
</summary>
</member>
<member name="M:Jurassic.Library.PromiseConstructor.Construct(Jurassic.Library.FunctionInstance)">
<summary>
Creates a new Promise instance.
</summary>
<param name="executor">The function that the promise executes.</param>
<returns>The Promise instance.</returns>
</member>
<member name="M:Jurassic.Library.PromiseConstructor.FromTask(System.Threading.Tasks.Task)">
<summary>
Creates a new Promise instance from a task.
</summary>
<param name="task"> A task to wait on. </param>
<returns> The Promise instance. </returns>
<remarks>
If the task is of type Task&lt;object&gt; then the result of the task will be used to
resolve the promise. Otherwise, the promise is resolved with "undefined" as the value.
</remarks>
</member>
<member name="P:Jurassic.Library.PromiseConstructor.Species">
<summary>
A reference to the constructor function that is used to create derived objects.
</summary>
</member>
<member name="M:Jurassic.Library.PromiseConstructor.Reject(System.Object)">
<summary>
Returns a Promise that is rejected for the specified reason.
</summary>
<param name="result"> The reason. Can be an Error instance. </param>
<returns></returns>
</member>
<member name="M:Jurassic.Library.PromiseConstructor.Resolve(System.Object)">
<summary>
Returns either a new promise resolved with the passed argument, or the argument itself
if the argument is a promise produced by this constructor.
</summary>
<param name="value"> Argument to be resolved by this Promise. Can also be a Promise or
a thenable to resolve. </param>
<returns></returns>
</member>
<member name="M:Jurassic.Library.PromiseConstructor.Race(Jurassic.Library.ObjectInstance)">
<summary>
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.
</summary>
<param name="iterable"> An iterable object such as an Array. </param>
<returns></returns>
</member>
<member name="M:Jurassic.Library.PromiseConstructor.All(Jurassic.Library.ObjectInstance)">
<summary>
Returns a Promise. It takes one argument: a list of Promises that determine whether
the new Promise is fulfilled or rejected.
</summary>
<param name="iterable"> An iterable object such as an Array. </param>
<returns></returns>
</member>
<member name="T:Jurassic.Library.PromiseInstance">
<summary>
Represents an instance of the Promise object.
</summary>
</member>
<member name="M:Jurassic.Library.PromiseInstance.#ctor(Jurassic.Library.ObjectInstance,Jurassic.Library.FunctionInstance)">
<summary>
Creates a new Promise instance.
</summary>
<param name="prototype"></param>
<param name="executor"></param>
</member>
<member name="M:Jurassic.Library.PromiseInstance.#ctor(Jurassic.Library.ObjectInstance)">
<summary>
Creates a new Promise instance.
</summary>
<param name="prototype"></param>
</member>
<member name="M:Jurassic.Library.PromiseInstance.Resolve(System.Object)">
<summary>
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.
</summary>
<param name="value"> The resolved value of the promise, or a promise or thenable to
follow. </param>
</member>
<member name="M:Jurassic.Library.PromiseInstance.Reject(System.Object)">
<summary>
Rejects the promise with the given reason.
</summary>
<param name="reason"> The reason why this promise rejected. Can be an Error instance. </param>
</member>
<member name="M:Jurassic.Library.PromiseInstance.CreatePrototype(Jurassic.ScriptEngine,Jurassic.Library.PromiseConstructor)">
<summary>
Creates the Promise prototype object.
</summary>
<param name="engine"> The script environment. </param>
<param name="constructor"> A reference to the constructor that owns the prototype. </param>
</member>
<member name="M:Jurassic.Library.PromiseInstance.Finally(System.Object)">
<summary>
When the promise is completed, i.e either fulfilled or rejected, the specified callback
function is executed.
</summary>
<param name="onFinally"> A Function called when the Promise is completed.</param>
<returns></returns>
</member>
<member name="M:Jurassic.Library.PromiseInstance.Catch(System.Object)">
<summary>
Returns a Promise and deals with rejected cases only. It behaves the same as calling
Promise.prototype.then(undefined, onRejected).
</summary>
<param name="onRejected"> A Function called when the Promise is rejected. This function
has one argument, the rejection reason. </param>
<returns></returns>
</member>
<member name="M:Jurassic.Library.PromiseInstance.Then(System.Object,System.Object)">
<summary>
Returns a Promise. It takes two arguments: callback functions for the success and
failure cases of the Promise.
</summary>
<param name="onFulfilled"> A Function called when the Promise is fulfilled. This
function has one argument, the fulfillment value. </param>
<param name="onRejected"> A Function called when the Promise is rejected. This function
has one argument, the rejection reason. </param>
<returns></returns>
</member>
<member name="M:Jurassic.Library.PromiseInstance.CreateTask">
<summary>
Creates a task that completes when this promise completes.
</summary>
<returns>The task that completes when this promise completes.</returns>
</member>
<member name="P:Jurassic.Library.PromiseInstance.State">
<summary>
Gets the promise status. Used by debugger decoration only.
</summary>
</member>
<member name="P:Jurassic.Library.PromiseInstance.Result">
<summary>
Gets the promise result. Used by debugger decoration only.
</summary>
</member>
<member name="P:Jurassic.Library.PromiseInstance.ResolveFunction">
<summary>
Gets a function that will resolve the promise.
</summary>
</member>
<member name="P:Jurassic.Library.PromiseInstance.RejectFunction">
<summary>
Gets a function that will reject the promise.
</summary>
</member>
<member name="T:Jurassic.Library.IProxyInstance">
<summary>
Represents a proxy instance.
</summary>
</member>
<member name="P:Jurassic.Library.IProxyInstance.Target">
<summary>
The proxy target.
</summary>
</member>
<member name="M:Jurassic.Library.IProxyInstance.Revoke">
<summary>
Invalidates (switches off) the proxy.
</summary>
</member>
<member name="T:Jurassic.Library.ProxyConstructor">
<summary>
The Set object lets you store unique values of any type, whether primitive values or object references.
</summary>
</member>
<member name="M:Jurassic.Library.ProxyConstructor.#ctor(Jurassic.Library.ObjectInstance)">
<summary>
Creates a new set constructor.
</summary>
<param name="prototype"> The next object in the prototype chain. </param>
</member>
<member name="M:Jurassic.Library.ProxyConstructor.Call">
<summary>
Called when the typed array object is invoked like a function, e.g. Proxy().
Throws an error.
</summary>
</member>
<member name="M:Jurassic.Library.ProxyConstructor.Construct(System.Object,System.Object)">
<summary>
Creates a proxy object.
</summary>
<param name="target"> A target object to wrap with Proxy. It can be any sort of object, including a native array, a function, or even another proxy. </param>
<param name="handler"> An object whose properties are functions that define the behavior of the proxy when an operation is performed on it. </param>
<returns> A new proxy object. </returns>
</member>
<member name="M:Jurassic.Library.ProxyConstructor.Revocable(Jurassic.ScriptEngine,System.Object,System.Object)">
<summary>
Creates a revocable proxy object.
</summary>
<param name="engine"> The script engine. </param>
<param name="target"> A target object to wrap with Proxy. It can be any sort of object, including a native array, a function, or even another proxy. </param>
<param name="handler"> An object whose properties are functions that define the behavior of the proxy when an operation is performed on it. </param>
<returns> A new proxy object. </returns>
</member>
<member name="T:Jurassic.Library.ProxyFunction">
<summary>
Represents a callable, constructable instance of the Proxy class.
</summary>
</member>
<member name="M:Jurassic.Library.ProxyFunction.#ctor(Jurassic.ScriptEngine,Jurassic.Library.FunctionInstance,Jurassic.Library.ObjectInstance)">
<summary>
Creates a new proxy instance.
</summary>
<param name="engine"> The script engine. </param>
<param name="target"> A target object to wrap with Proxy. It can be any sort of object,
including a native array, a function, or even another proxy. </param>
<param name="handler"> An object whose properties are functions that define the
behavior of the proxy when an operation is performed on it. </param>
</member>
<member name="P:Jurassic.Library.ProxyFunction.Jurassic#Library#IProxyInstance#Target">
<summary>
The proxy target.
</summary>
</member>
<member name="M:Jurassic.Library.ProxyFunction.Jurassic#Library#IProxyInstance#Revoke">
<summary>
Invalidates (switches off) the proxy.
</summary>
</member>
<member name="M:Jurassic.Library.ProxyFunction.CallLateBound(System.Object,System.Object[])">
<summary>
Calls this function, passing in the given "this" value and zero or more arguments.
</summary>
<param name="thisObject"> The value of the "this" keyword within the function. </param>
<param name="argumentValues"> An array of argument values. </param>
<returns> The value that was returned from the function. </returns>
</member>
<member name="M:Jurassic.Library.ProxyFunction.ConstructLateBound(Jurassic.Library.FunctionInstance,System.Object[])">
<summary>
Creates an object, using this function as the constructor.
</summary>
<param name="newTarget"> The value of 'new.target'. </param>
<param name="argumentValues"> An array of argument values. </param>
<returns> The object that was created. </returns>
</member>
<member name="P:Jurassic.Library.ProxyFunction.Prototype">
<inheritdoc/>
</member>
<member name="M:Jurassic.Library.ProxyFunction.SetPrototype(Jurassic.Library.ObjectInstance,System.Boolean)">
<inheritdoc/>
</member>
<member name="P:Jurassic.Library.ProxyFunction.IsExtensible">
<inheritdoc/>
</member>
<member name="M:Jurassic.Library.ProxyFunction.PreventExtensions(System.Boolean)">
<inheritdoc/>
</member>
<member name="M:Jurassic.Library.ProxyFunction.GetOwnPropertyDescriptor(System.UInt32)">
<inheritdoc/>
</member>
<member name="M:Jurassic.Library.ProxyFunction.GetOwnPropertyDescriptor(System.Object)">
<inheritdoc/>
</member>
<member name="M:Jurassic.Library.ProxyFunction.DefineProperty(System.Object,Jurassic.Library.PropertyDescriptor,System.Boolean)">
<inheritdoc/>
</member>
<member name="M:Jurassic.Library.ProxyFunction.HasProperty(System.Object)">
<inheritdoc/>
</member>
<member name="M:Jurassic.Library.ProxyFunction.GetPropertyValue(System.UInt32,System.Object)">
<inheritdoc/>
</member>
<member name="M:Jurassic.Library.ProxyFunction.GetPropertyValue(Jurassic.Library.PropertyReference)">
<inheritdoc/>
</member>
<member name="M:Jurassic.Library.ProxyFunction.GetNamedPropertyValue(System.Object,System.Object)">
<inheritdoc/>
</member>
<member name="M:Jurassic.Library.ProxyFunction.GetPropertyValue(System.Object,System.Object)">
<inheritdoc/>
</member>
<member name="M:Jurassic.Library.ProxyFunction.SetPropertyValue(System.UInt32,System.Object,System.Object,System.Boolean)">
<inheritdoc/>
</member>
<member name="M:Jurassic.Library.ProxyFunction.SetPropertyValue(Jurassic.Library.PropertyReference,System.Object,System.Object,System.Boolean)">
<inheritdoc/>
</member>
<member name="M:Jurassic.Library.ProxyFunction.SetPropertyValue(System.Object,System.Object,System.Object,System.Boolean)">
<inheritdoc/>
</member>
<member name="M:Jurassic.Library.ProxyFunction.Delete(System.Object,System.Boolean)">
<inheritdoc/>
</member>
<member name="P:Jurassic.Library.ProxyFunction.OwnKeys">
<inheritdoc/>
</member>
<member name="T:Jurassic.Library.ProxyObject">
<summary>
Represents an instance of the Proxy class, one that is non-callable and non-constructable.
</summary>
</member>
<member name="M:Jurassic.Library.ProxyObject.#ctor(Jurassic.ScriptEngine,Jurassic.Library.ObjectInstance,Jurassic.Library.ObjectInstance)">
<summary>
Creates a new proxy instance.
</summary>
<param name="engine"> The script engine. </param>
<param name="target"> A target object to wrap with Proxy. It can be any sort of object,
including a native array, a function, or even another proxy. </param>
<param name="handler"> An object whose properties are functions that define the
behavior of the proxy when an operation is performed on it. </param>
</member>
<member name="P:Jurassic.Library.ProxyObject.Jurassic#Library#IProxyInstance#Target">
<summary>
The proxy target.
</summary>
</member>
<member name="M:Jurassic.Library.ProxyObject.Jurassic#Library#IProxyInstance#Revoke">
<summary>
Invalidates (switches off) the proxy.
</summary>
</member>
<member name="P:Jurassic.Library.ProxyObject.Prototype">
<summary>
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 <c>null</c> for the root object in the prototype
chain. Use <see cref="M:Jurassic.Library.ProxyObject.SetPrototype(Jurassic.Library.ObjectInstance,System.Boolean)"/> to set this value.
</summary>
<remarks>
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.
</remarks>
</member>
<member name="M:Jurassic.Library.ProxyObject.SetPrototype(Jurassic.Library.ObjectInstance,System.Boolean)">
<summary>
Sets the next object in the prototype chain. Can be <c>null</c>, which indicates there
are no further objects in the chain.
</summary>
<param name="prototype"> The new prototype. </param>
<param name="throwOnError"> <c>true</c> 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. </param>
<returns> <c>true</c> if the prototype was successfully applied; <c>false</c> otherwise. </returns>
</member>
<member name="P:Jurassic.Library.ProxyObject.IsExtensible">
<summary>
Gets a value that indicates whether the object can have new properties added to it.
Called by Object.isExtensible(). Use <see cref="M:Jurassic.Library.ProxyObject.PreventExtensions(System.Boolean)"/> to set this value.
</summary>
</member>
<member name="M:Jurassic.Library.ProxyObject.PreventExtensions(System.Boolean)">
<summary>
Makes this object non-extensible, which means no new properties can be added to it.
</summary>
<param name="throwOnError"> <c>true</c> to throw an exception if the object could not
be made non-extensible. </param>
<returns> <c>true</c> if the operation was successful, <c>false</c> otherwise. </returns>
</member>
<member name="M:Jurassic.Library.ProxyObject.GetOwnPropertyDescriptor(System.UInt32)">
<summary>
Gets a descriptor for the property with the given array index.
</summary>
<param name="index"> The array index of the property. </param>
<returns> A property descriptor containing the property value and attributes. </returns>
<remarks> The prototype chain is not searched. </remarks>
</member>
<member name="M:Jurassic.Library.ProxyObject.GetOwnPropertyDescriptor(System.Object)">
<summary>
Gets a descriptor for the property with the given name.
</summary>
<param name="key"> The property key (either a string or a Symbol). </param>
<returns> A property descriptor containing the property value and attributes. </returns>
<remarks>
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.
</remarks>
</member>
<member name="M:Jurassic.Library.ProxyObject.DefineProperty(System.Object,Jurassic.Library.PropertyDescriptor,System.Boolean)">
<summary>
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.
</summary>
<param name="key"> The property key of the property to modify. </param>
<param name="descriptor"> The property value and attributes. </param>
<param name="throwOnError"> <c>true</c> 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. </param>
<returns> <c>true</c> if the property was successfully modified; <c>false</c> otherwise. </returns>
</member>
<member name="M:Jurassic.Library.ProxyObject.HasProperty(System.Object)">
<summary>
Determines if a property with the given name exists.
</summary>
<param name="key"> The property key (either a string or a Symbol). </param>
<returns> <c>true</c> if the property exists on this object or in the prototype chain;
<c>false</c> otherwise. </returns>
</member>
<member name="M:Jurassic.Library.ProxyObject.GetPropertyValue(System.UInt32,System.Object)">
<summary>
Gets the value of the property with the given array index.
</summary>
<param name="index"> The array index of the property. </param>
<param name="thisValue"> The value of the "this" keyword inside a getter. </param>
<returns> The value of the property, or <c>null</c> if the property doesn't exist. </returns>
<remarks> The prototype chain is searched if the property does not exist directly on
this object. </remarks>
</member>
<member name="M:Jurassic.Library.ProxyObject.GetPropertyValue(Jurassic.Library.PropertyReference)">
<summary>
Gets the value of the property with the given name.
</summary>
<param name="propertyReference"> The name of the property. </param>
<returns> The value of the property, or <see cref="F:Jurassic.Undefined.Value"/> if the property
doesn't exist. </returns>
<remarks> The prototype chain is searched if the property does not exist directly on
this object. </remarks>
</member>
<member name="M:Jurassic.Library.ProxyObject.GetNamedPropertyValue(System.Object,System.Object)">
<summary>
Gets the value of the property with the given name. The name cannot be an array index.
</summary>
<param name="key"> The property key (either a string or a Symbol). Cannot be an array index. </param>
<param name="thisValue"> The value of the "this" keyword inside a getter. </param>
<returns> The value of the property, or <c>null</c> if the property doesn't exist. </returns>
<remarks> The prototype chain is searched if the property does not exist directly on
this object. </remarks>
</member>
<member name="M:Jurassic.Library.ProxyObject.GetPropertyValue(System.Object,System.Object)">
<summary>
Gets the value of the property with the given name.
</summary>
<param name="key"> The property key (either a string or a Symbol). </param>
<param name="thisValue"> The value of the "this" keyword inside a getter. </param>
<returns> The value of the property, or <c>null</c> if the property doesn't exist. </returns>
<remarks> The prototype chain is searched if the property does not exist directly on
this object. </remarks>
</member>
<member name="M:Jurassic.Library.ProxyObject.SetPropertyValue(System.UInt32,System.Object,System.Object,System.Boolean)">
<summary>
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.
</summary>
<param name="index"> The array index of the property to set. </param>
<param name="value"> The value to set the property to. This must be a javascript
primitive (double, string, etc) or a class derived from <see cref="T:Jurassic.Library.ObjectInstance"/>. </param>
<param name="thisValue"> The value of the "this" keyword inside a setter. </param>
<param name="throwOnError"> <c>true</c> 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. </param>
<returns> <c>false</c> if an error occurred. </returns>
</member>
<member name="M:Jurassic.Library.ProxyObject.SetPropertyValue(Jurassic.Library.PropertyReference,System.Object,System.Object,System.Boolean)">
<summary>
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.
</summary>
<param name="propertyReference"> The name of the property to set. </param>
<param name="value"> The value to set the property to. This must be a javascript
primitive (double, string, etc) or a class derived from <see cref="T:Jurassic.Library.ObjectInstance"/>. </param>
<param name="thisValue"> The value of the "this" keyword inside a setter. </param>
<param name="throwOnError"> <c>true</c> 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). </param>
<returns> <c>false</c> if <paramref name="throwOnError"/> is false and an error
occurred; <c>true</c> otherwise. </returns>
</member>
<member name="M:Jurassic.Library.ProxyObject.SetPropertyValue(System.Object,System.Object,System.Object,System.Boolean)">
<summary>
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.
</summary>
<param name="key"> The property key of the property to set. </param>
<param name="value"> The value to set the property to. This must be a javascript
primitive (double, string, etc) or a class derived from <see cref="T:Jurassic.Library.ObjectInstance"/>. </param>
<param name="thisValue"> The value of the "this" keyword inside a setter. </param>
<param name="throwOnError"> <c>true</c> 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). </param>
<returns> <c>false</c> if <paramref name="throwOnError"/> is false and an error
occurred; <c>true</c> otherwise. </returns>
</member>
<member name="M:Jurassic.Library.ProxyObject.Delete(System.Object,System.Boolean)">
<summary>
Deletes the property with the given name.
</summary>
<param name="key"> The property key of the property to delete. </param>
<param name="throwOnError"> <c>true</c> to throw an exception if the property could not
be set because the property was marked as non-configurable. </param>
<returns> <c>true</c> if the property was successfully deleted, or if the property did
not exist; <c>false</c> if the property was marked as non-configurable and
<paramref name="throwOnError"/> was <c>false</c>. </returns>
</member>
<member name="P:Jurassic.Library.ProxyObject.OwnKeys">
<summary>
Gets an enumerable list of every property name associated with this object.
Does not include properties in the prototype chain.
</summary>
</member>
<member name="T:Jurassic.Library.ReflectObject">
<summary>
Represents the built-in Reflect class that provides methods for interceptable JavaScript
operations.
</summary>
</member>
<member name="M:Jurassic.Library.ReflectObject.#ctor(Jurassic.Library.ObjectInstance)">
<summary>
Creates a new Reflect object.
</summary>
<param name="prototype"> The next object in the prototype chain. </param>
</member>
<member name="M:Jurassic.Library.ReflectObject.Apply(Jurassic.Library.FunctionInstance,System.Object,Jurassic.Library.ObjectInstance)">
<summary>
Calls a target function with arguments as specified by the argumentsList parameter.
See also Function.prototype.apply().
</summary>
<param name="target"> The target function to call. </param>
<param name="thisArgument"> The value of this provided for the call to target. </param>
<param name="argumentsList"> An array-like object specifying the arguments with which target should be called. </param>
<returns> The result of calling the given target function with the specified this value and arguments. </returns>
</member>
<member name="M:Jurassic.Library.ReflectObject.Construct(Jurassic.Library.FunctionInstance,Jurassic.Library.ObjectInstance,Jurassic.Library.FunctionInstance)">
<summary>
The new operator as a function. Equivalent to calling new target(...argumentsList). Also provides the option to specify a different prototype.
</summary>
<param name="target"> The target function to call. </param>
<param name="argumentsList"> An array-like object specifying the arguments with which target should be called. </param>
<param name="newTarget"> The constructor whose prototype should be used. See also the new.target operator. If newTarget is not present, its value defaults to target. </param>
<returns> A new instance of target (or newTarget, if present), initialized by target as a constructor with the given argumentsList. </returns>
</member>
<member name="M:Jurassic.Library.ReflectObject.DefineProperty(System.Object,System.Object,System.Object)">
<summary>
Similar to Object.defineProperty(). Returns a Boolean that is true if the property was successfully defined.
</summary>
<param name="target"> The target object on which to define the property. </param>
<param name="propertyKey"> The name of the property to be defined or modified. </param>
<param name="attributes"> The attributes for the property being defined or modified. </param>
<returns> A Boolean indicating whether or not the property was successfully defined. </returns>
</member>
<member name="M:Jurassic.Library.ReflectObject.DeleteProperty(System.Object,System.Object)">
<summary>
The delete operator as a function. Equivalent to calling delete target[propertyKey].
</summary>
<param name="target"> The target object on which to delete the property. </param>
<param name="propertyKey"> The name of the property to be deleted. </param>
<returns> A Boolean indicating whether or not the property was successfully deleted. </returns>
</member>
<member name="M:Jurassic.Library.ReflectObject.Get(System.Object,System.Object,System.Object)">
<summary>
Returns the value of the property. Works like getting a property from an object (target[propertyKey]) as a function.
</summary>
<param name="target"> The target object on which to get the property. </param>
<param name="propertyKey"> The name of the property to get. </param>
<param name="receiver"> 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. </param>
<returns> The value of the property. </returns>
</member>
<member name="M:Jurassic.Library.ReflectObject.GetOwnPropertyDescriptor(System.Object,System.Object)">
<summary>
Similar to Object.getOwnPropertyDescriptor(). Returns a property descriptor of the given property if it exists on the object, undefined otherwise.
</summary>
<param name="target"> The target object in which to look for the property. </param>
<param name="propertyKey"> The name of the property to get an own property descriptor for. </param>
<returns></returns>
</member>
<member name="M:Jurassic.Library.ReflectObject.GetPrototypeOf(System.Object)">
<summary>
Same as Object.getPrototypeOf().
</summary>
<param name="target"> The target object of which to get the prototype. </param>
<returns> The prototype of the given object. If there are no inherited properties, null is returned. </returns>
</member>
<member name="M:Jurassic.Library.ReflectObject.Has(System.Object,System.Object)">
<summary>
Returns a Boolean indicating whether the target has the property. Either as own or
inherited. Works like the in operator as a function.
</summary>
<param name="target"> The target object in which to look for the property. </param>
<param name="propertyKey"> The name of the property to check. </param>
<returns> A Boolean indicating whether or not the target has the property. </returns>
</member>
<member name="M:Jurassic.Library.ReflectObject.IsExtensible(System.Object)">
<summary>
Same as Object.isExtensible(). Returns a Boolean that is true if the target is extensible.
</summary>
<param name="target"> The target object which to check if it is extensible. </param>
<returns> A Boolean indicating whether or not the target is extensible. </returns>
</member>
<member name="M:Jurassic.Library.ReflectObject.OwnKeys(System.Object)">
<summary>
Returns an array of the target object's own (not inherited) property keys.
</summary>
<param name="target"> The target object from which to get the own keys. </param>
<returns> An Array of the target object's own property keys. </returns>
</member>
<member name="M:Jurassic.Library.ReflectObject.PreventExtensions(System.Object)">
<summary>
Similar to Object.preventExtensions().
</summary>
<param name="target"> The target object on which to prevent extensions. </param>
<returns> A Boolean indicating whether or not the target was successfully set to prevent extensions. </returns>
</member>
<member name="M:Jurassic.Library.ReflectObject.Set(System.Object,System.Object,System.Object,System.Object)">
<summary>
A function that assigns values to properties. Returns a Boolean that is true if the update was successful.
</summary>
<param name="target"> The target object on which to set the property. </param>
<param name="propertyKey"> The name of the property to set. </param>
<param name="value"> The value to set. </param>
<param name="receiver"> The value of this provided for the call to target if a setter is encountered. </param>
<returns> A Boolean indicating whether or not setting the property was successful. </returns>
</member>
<member name="M:Jurassic.Library.ReflectObject.SetPrototypeOf(System.Object,System.Object)">
<summary>
A function that sets the prototype of an object. Returns a Boolean that is true if the update was successful.
</summary>
<param name="target"> The target object of which to set the prototype. </param>
<param name="prototype"> The object's new prototype (an object or null). </param>
<returns> A Boolean indicating whether or not the prototype was successfully set. </returns>
</member>
<member name="T:Jurassic.Library.RegExpConstructor">
<summary>
Represents the built-in javascript RegExp object.
</summary>
</member>
<member name="M:Jurassic.Library.RegExpConstructor.#ctor(Jurassic.Library.ObjectInstance)">
<summary>
Creates a new RegExp object.
</summary>
<param name="prototype"> The next object in the prototype chain. </param>
</member>
<member name="P:Jurassic.Library.RegExpConstructor.Species">
<summary>
A reference to the constructor function that is used to create derived objects.
</summary>
</member>
<member name="M:Jurassic.Library.RegExpConstructor.AddDeprecatedProperties(System.Collections.Generic.List{Jurassic.Library.PropertyNameAndValue})">
<summary>
Adds the deprecated RegExp properties to the given list.
</summary>
<param name="properties"> The list to add to. </param>
</member>
<member name="M:Jurassic.Library.RegExpConstructor.AddDeprecatedProperty(System.Collections.Generic.List{Jurassic.Library.PropertyNameAndValue},System.String,System.Func{Jurassic.ScriptEngine,System.Object,System.Object[],System.Object},Jurassic.Library.PropertyAttributes)">
<summary>
Initializes a single deprecated property.
</summary>
<param name="properties"> The list to add to. </param>
<param name="propertyName"> The name of the property. </param>
<param name="getter"> The property getter. </param>
<param name="attributes"> The property attributes (determines whether the property is enumerable). </param>
</member>
<member name="M:Jurassic.Library.RegExpConstructor.SetDeprecatedProperties(System.String,System.Text.RegularExpressions.Match)">
<summary>
Sets the deprecated RegExp properties.
</summary>
<param name="input"> The string against which a regular expression is matched. </param>
<param name="match"> The regular expression match to base the properties on. </param>
</member>
<member name="M:Jurassic.Library.RegExpConstructor.GetInput">
<summary>
Gets the value of RegExp.input and RegExp.$_.
</summary>
<returns> The value of RegExp.input and RegExp.$_. </returns>
</member>
<member name="M:Jurassic.Library.RegExpConstructor.GetInputAdapter(Jurassic.ScriptEngine,System.Object,System.Object[])">
<summary>
Adapter for GetInput().
</summary>
<param name="engine"></param>
<param name="thisObj"></param>
<param name="args"></param>
<returns></returns>
</member>
<member name="M:Jurassic.Library.RegExpConstructor.GetGroup1">
<summary>
Gets the value of RegExp.$1.
</summary>
<returns> The value of RegExp.$1. </returns>
</member>
<member name="M:Jurassic.Library.RegExpConstructor.GetGroup1Adapter(Jurassic.ScriptEngine,System.Object,System.Object[])">
<summary>
Adapter for GetGroup1().
</summary>
<param name="engine"></param>
<param name="thisObj"></param>
<param name="args"></param>
<returns></returns>
</member>
<member name="M:Jurassic.Library.RegExpConstructor.GetGroup2">
<summary>
Gets the value of RegExp.$2.
</summary>
<returns> The value of RegExp.$2. </returns>
</member>
<member name="M:Jurassic.Library.RegExpConstructor.GetGroup2Adapter(Jurassic.ScriptEngine,System.Object,System.Object[])">
<summary>
Adapter for GetGroup2().
</summary>
<param name="engine"></param>
<param name="thisObj"></param>
<param name="args"></param>
<returns></returns>
</member>
<member name="M:Jurassic.Library.RegExpConstructor.GetGroup3">
<summary>
Gets the value of RegExp.$3.
</summary>
<returns> The value of RegExp.$3. </returns>
</member>
<member name="M:Jurassic.Library.RegExpConstructor.GetGroup3Adapter(Jurassic.ScriptEngine,System.Object,System.Object[])">
<summary>
Adapter for GetGroup3().
</summary>
<param name="engine"></param>
<param name="thisObj"></param>
<param name="args"></param>
<returns></returns>
</member>
<member name="M:Jurassic.Library.RegExpConstructor.GetGroup4">
<summary>
Gets the value of RegExp.$4.
</summary>
<returns> The value of RegExp.$4. </returns>
</member>
<member name="M:Jurassic.Library.RegExpConstructor.GetGroup4Adapter(Jurassic.ScriptEngine,System.Object,System.Object[])">
<summary>
Adapter for GetGroup4().
</summary>
<param name="engine"></param>
<param name="thisObj"></param>
<param name="args"></param>
<returns></returns>
</member>
<member name="M:Jurassic.Library.RegExpConstructor.GetGroup5">
<summary>
Gets the value of RegExp.$5.
</summary>
<returns> The value of RegExp.$5. </returns>
</member>
<member name="M:Jurassic.Library.RegExpConstructor.GetGroup5Adapter(Jurassic.ScriptEngine,System.Object,System.Object[])">
<summary>
Adapter for GetGroup5().
</summary>
<param name="engine"></param>
<param name="thisObj"></param>
<param name="args"></param>
<returns></returns>
</member>
<member name="M:Jurassic.Library.RegExpConstructor.GetGroup6">
<summary>
Gets the value of RegExp.$6.
</summary>
<returns> The value of RegExp.$6. </returns>
</member>
<member name="M:Jurassic.Library.RegExpConstructor.GetGroup6Adapter(Jurassic.ScriptEngine,System.Object,System.Object[])">
<summary>
Adapter for GetGroup6().
</summary>
<param name="engine"></param>
<param name="thisObj"></param>
<param name="args"></param>
<returns></returns>
</member>
<member name="M:Jurassic.Library.RegExpConstructor.GetGroup7">
<summary>
Gets the value of RegExp.$7.
</summary>
<returns> The value of RegExp.$7. </returns>
</member>
<member name="M:Jurassic.Library.RegExpConstructor.GetGroup7Adapter(Jurassic.ScriptEngine,System.Object,System.Object[])">
<summary>
Adapter for GetGroup7().
</summary>
<param name="engine"></param>
<param name="thisObj"></param>
<param name="args"></param>
<returns></returns>
</member>
<member name="M:Jurassic.Library.RegExpConstructor.GetGroup8">
<summary>
Gets the value of RegExp.$8.
</summary>
<returns> The value of RegExp.$8. </returns>
</member>
<member name="M:Jurassic.Library.RegExpConstructor.GetGroup8Adapter(Jurassic.ScriptEngine,System.Object,System.Object[])">
<summary>
Adapter for GetGroup8().
</summary>
<param name="engine"></param>
<param name="thisObj"></param>
<param name="args"></param>
<returns></returns>
</member>
<member name="M:Jurassic.Library.RegExpConstructor.GetGroup9">
<summary>
Gets the value of RegExp.$9.
</summary>
<returns> The value of RegExp.$9. </returns>
</member>
<member name="M:Jurassic.Library.RegExpConstructor.GetGroup9Adapter(Jurassic.ScriptEngine,System.Object,System.Object[])">
<summary>
Adapter for GetGroup9().
</summary>
<param name="engine"></param>
<param name="thisObj"></param>
<param name="args"></param>
<returns></returns>
</member>
<member name="M:Jurassic.Library.RegExpConstructor.GetLastMatch">
<summary>
Gets the value of RegExp.lastMatch and RegExp.$&amp;.
</summary>
<returns> The value of RegExp.lastMatch and RegExp.$&amp;. </returns>
</member>
<member name="M:Jurassic.Library.RegExpConstructor.GetLastMatchAdapter(Jurassic.ScriptEngine,System.Object,System.Object[])">
<summary>
Adapter for GetLastMatch().
</summary>
<param name="engine"></param>
<param name="thisObj"></param>
<param name="args"></param>
<returns></returns>
</member>
<member name="M:Jurassic.Library.RegExpConstructor.GetLastParen">
<summary>
Gets the value of RegExp.lastParen and RegExp.$+.
</summary>
<returns> The value of RegExp.lastParen and RegExp.$+. </returns>
</member>
<member name="M:Jurassic.Library.RegExpConstructor.GetLastParenAdapter(Jurassic.ScriptEngine,System.Object,System.Object[])">
<summary>
Adapter for GetLastParen().
</summary>
<param name="engine"></param>
<param name="thisObj"></param>
<param name="args"></param>
<returns></returns>
</member>
<member name="M:Jurassic.Library.RegExpConstructor.GetLeftContext">
<summary>
Gets the value of RegExp.leftContext and RegExp.$`.
</summary>
<returns> The value of RegExp.leftContext and RegExp.$`. </returns>
</member>
<member name="M:Jurassic.Library.RegExpConstructor.GetLeftContextAdapter(Jurassic.ScriptEngine,System.Object,System.Object[])">
<summary>
Adapter for GetLeftContext().
</summary>
<param name="engine"></param>
<param name="thisObj"></param>
<param name="args"></param>
<returns></returns>
</member>
<member name="M:Jurassic.Library.RegExpConstructor.GetRightContext">
<summary>
Gets the value of RegExp.rightContext and RegExp.$'.
</summary>
<returns> The value of RegExp.rightContext and RegExp.$'. </returns>
</member>
<member name="M:Jurassic.Library.RegExpConstructor.GetRightContextAdapter(Jurassic.ScriptEngine,System.Object,System.Object[])">
<summary>
Adapter for GetRightContext().
</summary>
<param name="engine"></param>
<param name="thisObj"></param>
<param name="args"></param>
<returns></returns>
</member>
<member name="M:Jurassic.Library.RegExpConstructor.Call(System.Object,System.String)">
<summary>
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.
</summary>
<param name="patternOrRegExp"> A regular expression pattern or a regular expression. </param>
<param name="flags"> Available flags, which may be combined, are:
g (global search for all occurrences of pattern)
i (ignore case)
m (multiline search)</param>
</member>
<member name="M:Jurassic.Library.RegExpConstructor.Construct(System.Object,System.String)">
<summary>
Called when the new keyword is used on the RegExp object e.g. new RegExp(/abc/).
Creates a new regular expression instance.
</summary>
<param name="patternOrRegExp"> The regular expression pattern, or a regular expression
to clone. </param>
<param name="flags"> Available flags, which may be combined, are:
g (global search for all occurrences of pattern)
i (ignore case)
m (multiline search)</param>
</member>
<member name="M:Jurassic.Library.RegExpConstructor.Construct(Jurassic.Library.FunctionInstance,System.Object,System.String)">
<summary>
Called when the new keyword is used on the RegExp object e.g. new RegExp(/abc/).
Creates a new regular expression instance.
</summary>
<param name="newTarget"> The value of the new.target expression. </param>
<param name="patternOrRegExp"> The regular expression pattern, or a regular expression
to clone. </param>
<param name="flags"> Available flags, which may be combined, are:
g (global search for all occurrences of pattern)
i (ignore case)
m (multiline search)</param>
</member>
<member name="T:Jurassic.Library.RegExpInstance">
<summary>
Represents an instance of the RegExp object.
</summary>
</member>
<member name="M:Jurassic.Library.RegExpInstance.#ctor(Jurassic.Library.ObjectInstance,System.String,System.String)">
<summary>
Creates a new regular expression instance.
</summary>
<param name="prototype"> The next object in the prototype chain. </param>
<param name="pattern"> The regular expression pattern. </param>
<param name="flags"> Available flags, which may be combined, are:
g (global search for all occurrences of pattern)
i (ignore case)
m (multiline search)</param>
</member>
<member name="M:Jurassic.Library.RegExpInstance.#ctor(Jurassic.Library.ObjectInstance,Jurassic.Library.RegExpInstance)">
<summary>
Creates a new regular expression instance by copying the pattern and flags from another
RegExp instance.
</summary>
<param name="prototype"> The next object in the prototype chain. </param>
<param name="existingInstance"> The instance to copy the pattern and flags from. </param>
</member>
<member name="M:Jurassic.Library.RegExpInstance.CreatePrototype(Jurassic.ScriptEngine,Jurassic.Library.RegExpConstructor)">
<summary>
Creates the RegExp prototype object.
</summary>
<param name="engine"> The script environment. </param>
<param name="constructor"> A reference to the constructor that owns the prototype. </param>
</member>
<member name="P:Jurassic.Library.RegExpInstance.Value">
<summary>
Gets the primitive value of this object.
</summary>
</member>
<member name="P:Jurassic.Library.RegExpInstance.Source">
<summary>
Gets the regular expression pattern.
</summary>
</member>
<member name="P:Jurassic.Library.RegExpInstance.Flags">
<summary>
Gets a string that contains the flags.
</summary>
</member>
<member name="P:Jurassic.Library.RegExpInstance.Global">
<summary>
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.
</summary>
</member>
<member name="P:Jurassic.Library.RegExpInstance.Multiline">
<summary>
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.
</summary>
</member>
<member name="P:Jurassic.Library.RegExpInstance.IgnoreCase">
<summary>
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.
</summary>
</member>
<member name="P:Jurassic.Library.RegExpInstance.LastIndex">
<summary>
Gets the character position to start searching when the global flag is set.
</summary>
</member>
<member name="M:Jurassic.Library.RegExpInstance.Compile(System.String,System.String)">
<summary>
Compiles the regular expression for faster execution.
</summary>
<param name="pattern"> The regular expression pattern. </param>
<param name="flags"> Available flags, which may be combined, are:
g (global search for all occurrences of pattern)
i (ignore case)
m (multiline search)</param>
</member>
<member name="M:Jurassic.Library.RegExpInstance.Test(System.String)">
<summary>
Returns a boolean value that indicates whether or not a pattern exists in a searched string.
</summary>
<param name="input"> The string on which to perform the search. </param>
<returns> <c>true</c> if the regular expression has at least one match in the given
string; <c>false</c> otherwise. </returns>
</member>
<member name="M:Jurassic.Library.RegExpInstance.Exec(System.String)">
<summary>
Executes a search on a string using a regular expression pattern, and returns an array
containing the results of that search.
</summary>
<param name="input"> The string on which to perform the search. </param>
<returns> Returns an array containing the match and submatch details, or <c>null</c> 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. </returns>
</member>
<member name="M:Jurassic.Library.RegExpInstance.CalculateStartPosition(System.String)">
<summary>
Calculates the position to start searching.
</summary>
<param name="input"> The string on which to perform the search. </param>
<returns> The character position to start searching. </returns>
</member>
<member name="M:Jurassic.Library.RegExpInstance.Match(System.String)">
<summary>
Finds all regular expression matches within the given string.
</summary>
<param name="input"> The string on which to perform the search. </param>
<returns> An array containing the matched strings. </returns>
</member>
<member name="M:Jurassic.Library.RegExpInstance.Replace(System.String,System.Object)">
<summary>
Returns a copy of the given string with text replaced using a regular expression.
</summary>
<param name="input"> The string on which to perform the search. </param>
<param name="replaceValue"> A string containing the text to replace for every successful match. </param>
<returns> A copy of the given string with text replaced using a regular expression. </returns>
</member>
<member name="M:Jurassic.Library.RegExpInstance.Replace(System.String,System.String)">
<summary>
Returns a copy of the given string with text replaced using a regular expression.
</summary>
<param name="input"> The string on which to perform the search. </param>
<param name="replaceText"> A string containing the text to replace for every successful match. </param>
<returns> A copy of the given string with text replaced using a regular expression. </returns>
</member>
<member name="M:Jurassic.Library.RegExpInstance.Replace(System.String,Jurassic.Library.FunctionInstance)">
<summary>
Returns a copy of the given string with text replaced using a regular expression.
</summary>
<param name="input"> The string on which to perform the search. </param>
<param name="replaceFunction"> A function that is called to produce the text to replace
for every successful match. </param>
<returns> A copy of the given string with text replaced using a regular expression. </returns>
</member>
<member name="M:Jurassic.Library.RegExpInstance.Search(System.String)">
<summary>
Returns the position of the first substring match in a regular expression search.
</summary>
<param name="input"> The string on which to perform the search. </param>
<returns> The character position of the first match, or -1 if no match was found. </returns>
</member>
<member name="M:Jurassic.Library.RegExpInstance.Split(System.String,System.UInt32)">
<summary>
Splits the given string into an array of strings by separating the string into substrings.
</summary>
<param name="input"> The string to split. </param>
<param name="limit"> The maximum number of array items to return. Defaults to unlimited. </param>
<returns> An array containing the split strings. </returns>
</member>
<member name="M:Jurassic.Library.RegExpInstance.ToString(Jurassic.Library.ObjectInstance)">
<summary>
Returns a string representing the current object.
</summary>
<param name="thisObject"> The object that is being operated on. </param>
<returns> A string representing the current object. </returns>
</member>
<member name="M:Jurassic.Library.RegExpInstance.ParseFlags(System.String)">
<summary>
Parses the flags parameter into an enum.
</summary>
<param name="flags"> Available flags, which may be combined, are:
g (global search for all occurrences of pattern)
i (ignore case)
m (multiline search)</param>
<returns> RegexOptions flags that correspond to the given flags. </returns>
</member>
<member name="M:Jurassic.Library.RegExpInstance.CreateRegex(System.String,System.Text.RegularExpressions.RegexOptions)">
<summary>
Creates a .NET Regex object using the given pattern and options.
</summary>
<param name="pattern"> The pattern string. </param>
<param name="options"> The regular expression options. </param>
<returns> A constructed .NET Regex object. </returns>
</member>
<member name="T:Jurassic.Library.SetConstructor">
<summary>
The Set object lets you store unique values of any type, whether primitive values or object references.
</summary>
</member>
<member name="M:Jurassic.Library.SetConstructor.#ctor(Jurassic.Library.ObjectInstance)">
<summary>
Creates a new set constructor.
</summary>
<param name="prototype"> The next object in the prototype chain. </param>
</member>
<member name="P:Jurassic.Library.SetConstructor.Species">
<summary>
A reference to the constructor function that is used to create derived objects.
</summary>
</member>
<member name="M:Jurassic.Library.SetConstructor.Call">
<summary>
Called when the typed array object is invoked like a function, e.g. Int8Array().
Throws an error.
</summary>
</member>
<member name="M:Jurassic.Library.SetConstructor.Construct(System.Object)">
<summary>
Creates a new set instance.
</summary>
<param name="iterable"> If an iterable object is passed, all of its elements will be
added to the new Set. <c>null</c> is treated as undefined. </param>
<returns> A new set instance. </returns>
</member>
<member name="T:Jurassic.Library.SetInstance">
<summary>
The Set object lets you store unique values of any type, whether primitive values or object references.
</summary>
</member>
<member name="M:Jurassic.Library.SetInstance.#ctor(Jurassic.Library.ObjectInstance)">
<summary>
Creates a new set instance.
</summary>
<param name="prototype"> The next object in the prototype chain. </param>
</member>
<member name="M:Jurassic.Library.SetInstance.CreatePrototype(Jurassic.ScriptEngine,Jurassic.Library.SetConstructor)">
<summary>
Creates the Set prototype object.
</summary>
<param name="engine"> The script environment. </param>
<param name="constructor"> A reference to the constructor that owns the prototype. </param>
</member>
<member name="E:Jurassic.Library.SetInstance.BeforeDelete">
<summary>
Called before a linked list node is deleted.
</summary>
</member>
<member name="P:Jurassic.Library.SetInstance.Store">
<summary>
Gets the internal storage. Used by debugger decoration only.
</summary>
</member>
<member name="P:Jurassic.Library.SetInstance.Size">
<summary>
The number of elements in the Set.
</summary>
</member>
<member name="M:Jurassic.Library.SetInstance.Add(System.Object)">
<summary>
Appends a new element with a specified value to the end of the Set.
</summary>
<param name="value"> The value of the element to add to the Set. </param>
<returns> The Set object. </returns>
</member>
<member name="M:Jurassic.Library.SetInstance.Clear">
<summary>
Removes all elements from a Set
</summary>
</member>
<member name="M:Jurassic.Library.SetInstance.Delete(System.Object)">
<summary>
Removes the specified value from the Set.
</summary>
<param name="value"> The value of the element to remove from the Set. </param>
<returns> <c>true</c> if an element in the Set object has been removed successfully;
otherwise <c>false</c>. </returns>
</member>
<member name="M:Jurassic.Library.SetInstance.Entries">
<summary>
Returns a new array iterator object that contains the key/value pairs for each index in
the array.
</summary>
<returns> An array iterator object that contains the key/value pairs for each index in
the array. </returns>
</member>
<member name="M:Jurassic.Library.SetInstance.ForEach(Jurassic.Library.FunctionInstance,System.Object)">
<summary>
Executes a provided function once per each value in the Set, in insertion order.
</summary>
<param name="callback"> Function to execute for each element. </param>
<param name="thisArg"> Value to use as this when executing callback. </param>
</member>
<member name="M:Jurassic.Library.SetInstance.Has(System.Object)">
<summary>
Returns a boolean indicating whether an element with the specified value exists in the
Set or not.
</summary>
<param name="value"> The value to test for presence in the Set. </param>
<returns> <c>true</c> if an element with the specified value exists in the Set object;
otherwise <c>false</c>. </returns>
</member>
<member name="M:Jurassic.Library.SetInstance.Keys">
<summary>
Returns a new array iterator object that contains the keys for each index in the array.
</summary>
<returns> An array iterator object that contains the keys for each index in the array. </returns>
</member>
<member name="M:Jurassic.Library.SetInstance.Values">
<summary>
Returns a new array iterator object that contains the values for each index in the
array.
</summary>
<returns> An array iterator object that contains the values for each index in the
array. </returns>
</member>
<member name="T:Jurassic.Library.SetInstance.SameValueZeroComparer">
<summary>
Implements the SameValueZero comparison operation.
</summary>
</member>
<member name="T:Jurassic.Library.SetIterator">
<summary>
Represents an iteration over a Set.
</summary>
</member>
<member name="M:Jurassic.Library.SetIterator.#ctor(Jurassic.Library.ObjectInstance,Jurassic.Library.SetInstance,System.Collections.Generic.LinkedList{System.Object},Jurassic.Library.SetIterator.Kind)">
<summary>
Creates a new set iterator.
</summary>
<param name="prototype"> The next object in the prototype chain. </param>
<param name="set"> The set to iterate over. </param>
<param name="list"> The linked list to iterate over. </param>
<param name="kind"> The type of values to return. </param>
</member>
<member name="M:Jurassic.Library.SetIterator.CreatePrototype(Jurassic.ScriptEngine)">
<summary>
Creates the array iterator prototype object.
</summary>
<param name="engine"> The script environment. </param>
</member>
<member name="M:Jurassic.Library.SetIterator.Set_BeforeDelete(System.Collections.Generic.LinkedListNode{System.Object})">
<summary>
Called before a linked list node is deleted.
</summary>
<param name="node"> The node that is being deleted. </param>
</member>
<member name="P:Jurassic.Library.SetIterator.ToStringTag">
<summary>
The tag value that is used by the base implementation of toString().
</summary>
</member>
<member name="M:Jurassic.Library.SetIterator.Next">
<summary>
Moves the iterator to the next element in the array.
</summary>
<returns> An object containing two properies: value and done. </returns>
</member>
<member name="P:Jurassic.Library.SetIterator.Done">
<summary>
Gets wheter the end is reached. Used by debugger decoration only.
</summary>
</member>
<member name="P:Jurassic.Library.SetIterator.IteratorIndex">
<summary>
Gets current index. Used by debugger decoration only.
</summary>
</member>
<member name="P:Jurassic.Library.SetIterator.IteratorKind">
<summary>
Gets what is iterated - key, value or both.
</summary>
</member>
<member name="P:Jurassic.Library.SetIterator.Set">
<summary>
Gets the iterated Set.
</summary>
</member>
<member name="T:Jurassic.Library.StringConstructor">
<summary>
Represents the built-in javascript String object.
</summary>
</member>
<member name="M:Jurassic.Library.StringConstructor.#ctor(Jurassic.Library.ObjectInstance)">
<summary>
Creates a new String object.
</summary>
<param name="prototype"> The next object in the prototype chain. </param>
</member>
<member name="M:Jurassic.Library.StringConstructor.Call">
<summary>
Called when the String object is invoked like a function, e.g. var x = String().
Returns an empty string.
</summary>
</member>
<member name="M:Jurassic.Library.StringConstructor.Call(System.Object)">
<summary>
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).
</summary>
</member>
<member name="M:Jurassic.Library.StringConstructor.Construct">
<summary>
Creates a new String instance and initializes it to the empty string.
</summary>
</member>
<member name="M:Jurassic.Library.StringConstructor.Construct(System.String)">
<summary>
Creates a new String instance and initializes it to the given value.
</summary>
<param name="value"> The value to initialize to. </param>
</member>
<member name="M:Jurassic.Library.StringConstructor.FromCharCode(System.Double[])">
<summary>
Returns a string created by using the specified sequence of Unicode values.
</summary>
<param name="charCodes"> An array of 16-bit character codes. </param>
<returns></returns>
</member>
<member name="M:Jurassic.Library.StringConstructor.FromCodePoint(Jurassic.ScriptEngine,System.Double[])">
<summary>
Returns a string created by using the specified sequence of Unicode codepoints.
</summary>
<param name="scriptEngine"> The script engine. </param>
<param name="codePoints"> An array of unicode code points. </param>
<returns></returns>
</member>
<member name="M:Jurassic.Library.StringConstructor.Raw(Jurassic.ScriptEngine,Jurassic.Library.ObjectInstance,System.Object[])">
<summary>
A tag function of template literals which is used to get the raw string form of
template strings (that is, the original, uninterpreted text).
</summary>
<param name="scriptEngine"> The script engine. </param>
<param name="template"> Well-formed template call site object e.g. { raw: ['one', 'two'] }. </param>
<param name="substitutions"> Contains substitution values. </param>
<returns> A formatted string containing the raw template literal text (with
substitutions included). </returns>
</member>
<member name="T:Jurassic.Library.StringInstance">
<summary>
Represents an instance of the JavaScript string object.
</summary>
</member>
<member name="M:Jurassic.Library.StringInstance.#ctor(Jurassic.Library.ObjectInstance,System.String)">
<summary>
Creates a new string instance.
</summary>
<param name="prototype"> The next object in the prototype chain. </param>
<param name="value"> The value to initialize the instance. </param>
</member>
<member name="M:Jurassic.Library.StringInstance.CreatePrototype(Jurassic.ScriptEngine,Jurassic.Library.StringConstructor)">
<summary>
Creates the string prototype object.
</summary>
<param name="engine"> The script environment. </param>
<param name="constructor"> A reference to the constructor that owns the prototype. </param>
</member>
<member name="P:Jurassic.Library.StringInstance.Value">
<summary>
Gets the primitive value of this object.
</summary>
</member>
<member name="P:Jurassic.Library.StringInstance.Length">
<summary>
Gets the number of characters in the string.
</summary>
</member>
<member name="M:Jurassic.Library.StringInstance.GetOwnPropertyDescriptor(System.UInt32)">
<summary>
Gets a descriptor for the property with the given array index.
</summary>
<param name="index"> The array index of the property. </param>
<returns> A property descriptor containing the property value and attributes. </returns>
<remarks> The prototype chain is not searched. </remarks>
</member>
<member name="M:Jurassic.Library.StringInstance.DefineProperty(System.Object,Jurassic.Library.PropertyDescriptor,System.Boolean)">
<summary>
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.
</summary>
<param name="key"> The property key of the property to modify. </param>
<param name="descriptor"> The property value and attributes. </param>
<param name="throwOnError"> <c>true</c> 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. </param>
<returns> <c>true</c> if the property was successfully modified; <c>false</c> otherwise. </returns>
</member>
<member name="P:Jurassic.Library.StringInstance.OwnKeys">
<summary>
Gets an enumerable list of every property name associated with this object.
Does not include properties in the prototype chain.
</summary>
</member>
<member name="M:Jurassic.Library.StringInstance.CharAt(System.String,System.Int32)">
<summary>
Returns the character at the specified index.
</summary>
<param name="thisObject"> The string that is being operated on. </param>
<param name="index"> The character position (starts at 0). </param>
<returns></returns>
</member>
<member name="M:Jurassic.Library.StringInstance.CharCodeAt(System.String,System.Int32)">
<summary>
Returns a number indicating the 16-bit UTF-16 character code at the given index.
</summary>
<param name="thisObject"> The string that is being operated on. </param>
<param name="index"> The character position (starts at 0). </param>
<returns></returns>
</member>
<member name="M:Jurassic.Library.StringInstance.CodePointAt(System.String,System.Int32)">
<summary>
Returns a number indicating the Unicode code point of the character at the given index.
</summary>
<param name="thisObject"> The string that is being operated on. </param>
<param name="index"> The character position (starts at 0). </param>
<returns></returns>
</member>
<member name="M:Jurassic.Library.StringInstance.Concat(Jurassic.ScriptEngine,System.Object,System.Object[])">
<summary>
Combines the text of two or more strings and returns a new string.
</summary>
<param name="engine"> The current script environment. </param>
<param name="thisObject"> The string that is being operated on. </param>
<param name="strings"> The strings to concatenate with this string. </param>
<returns> The result of combining this string with the given strings. </returns>
</member>
<member name="M:Jurassic.Library.StringInstance.Includes(Jurassic.ScriptEngine,System.String,System.Object,System.Int32)">
<summary>
Returns <c>true</c> if the calling String object contains the given string.
</summary>
<param name="engine"> The script engine. </param>
<param name="thisObject"> The string that is being operated on. </param>
<param name="substring"> The substring to search for. </param>
<param name="startIndex"> The character position within the string to start searching. </param>
<returns> <c>true</c> if the substring was found; <c>false</c> otherwise. </returns>
</member>
<member name="M:Jurassic.Library.StringInstance.IndexOf(System.String,System.String,System.Int32)">
<summary>
Returns the index within the calling String object of the first occurrence of the specified value, or -1 if not found.
</summary>
<param name="thisObject"> The string that is being operated on. </param>
<param name="substring"> The substring to search for. </param>
<param name="startIndex"> The character position to start searching from. Defaults to 0. </param>
<returns> The character position of the start of the substring, if it was found, or -1 if it wasn't. </returns>
</member>
<member name="M:Jurassic.Library.StringInstance.LastIndexOf(System.String,System.String,System.Double)">
<summary>
Returns the index within the calling String object of the specified value, searching
backwards from the end of the string.
</summary>
<param name="thisObject"> The string that is being operated on. </param>
<param name="substring"> The substring to search for. </param>
<param name="startIndex"> The index of the character to start searching. </param>
<returns> The index of the substring, or <c>-1</c> if not found. </returns>
</member>
<member name="M:Jurassic.Library.StringInstance.LocaleCompare(System.String,System.String)">
<summary>
Returns a number indicating whether a reference string comes before or after or is the
same as the given string in sort order.
</summary>
<param name="thisObject"> The string that is being operated on. </param>
<param name="str"> The string to compare with. </param>
<returns> -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. </returns>
</member>
<member name="M:Jurassic.Library.StringInstance.Match(Jurassic.ScriptEngine,System.Object,System.Object)">
<summary>
Finds the first match of the given substring within this string.
</summary>
<param name="engine"> The current script environment. </param>
<param name="thisObject"> The string that is being operated on. </param>
<param name="substrOrRegExp"> The substring or regular expression to search for. </param>
<returns> An array containing the matched strings. </returns>
</member>
<member name="M:Jurassic.Library.StringInstance.Normalize(Jurassic.ScriptEngine,System.String,System.String)">
<summary>
Returns a new string whose binary representation is in a particular Unicode normalization form.
</summary>
<param name="engine"> The current ScriptEngine instance. </param>
<param name="thisObject"> The string that is being operated on. </param>
<param name="form"> A Unicode normalization form. </param>
<returns> A new string whose binary representation is in a particular Unicode normalization form. </returns>
</member>
<member name="M:Jurassic.Library.StringInstance.Quote(System.String)">
<summary>
Wraps the string in double quotes ("). Any existing double quotes in the string are
escaped using the backslash character.
</summary>
<param name="thisObject"> The string to wrap. </param>
<returns> The input string wrapped with double quotes and with existing double quotes
escaped. </returns>
</member>
<member name="M:Jurassic.Library.StringInstance.Replace(Jurassic.ScriptEngine,System.Object,System.Object,System.Object)">
<summary>
Substitutes the given string or regular expression with the given text or the result
of a replacement function.
</summary>
<param name="engine"> The current script environment. </param>
<param name="thisObject"> The string that is being operated on. </param>
<param name="substrOrRegExp"> The substring to replace -or- a regular expression that
matches the text to replace. </param>
<param name="replaceTextOrFunction"> The text to substitute -or- a function that
returns the text to substitute. </param>
<returns> A copy of this string with text replaced. </returns>
</member>
<member name="M:Jurassic.Library.StringInstance.Replace(System.String,System.String,System.String)">
<summary>
Returns a copy of this string with text replaced.
</summary>
<param name="thisObject"> The string that is being operated on. </param>
<param name="substr"> The text to search for. </param>
<param name="replaceText"> A string containing the text to replace for every successful
match. </param>
<returns> A copy of this string with text replaced. </returns>
</member>
<member name="M:Jurassic.Library.StringInstance.Replace(System.String,System.String,Jurassic.Library.FunctionInstance)">
<summary>
Returns a copy of this string with text replaced using a replacement function.
</summary>
<param name="thisObject"> The string that is being operated on. </param>
<param name="substr"> The text to search for. </param>
<param name="replaceFunction"> A function that is called to produce the text to replace
for every successful match. </param>
<returns> A copy of this string with text replaced. </returns>
</member>
<member name="M:Jurassic.Library.StringInstance.Search(Jurassic.ScriptEngine,System.Object,System.Object)">
<summary>
Returns the position of the first substring match.
</summary>
<param name="engine"> The current script environment. </param>
<param name="thisObject"> The string that is being operated on. </param>
<param name="substrOrRegExp"> The string or regular expression to search for. </param>
<returns> The character position of the first match, or -1 if no match was found. </returns>
</member>
<member name="M:Jurassic.Library.StringInstance.Slice(System.String,System.Int32,System.Int32)">
<summary>
Extracts a section of the string and returns a new string.
</summary>
<param name="thisObject"> The string that is being operated on. </param>
<param name="start"> The character position to start extracting. </param>
<param name="end"> The character position to stop extacting. </param>
<returns> A section of the string. </returns>
</member>
<member name="M:Jurassic.Library.StringInstance.Split(Jurassic.ScriptEngine,System.Object,System.Object,System.Object)">
<summary>
Splits this string into an array of strings by separating the string into substrings.
</summary>
<param name="engine"> The current script environment. </param>
<param name="thisObject"> The string that is being operated on. </param>
<param name="separator"> A string or regular expression that indicates where to split the string. </param>
<param name="limit"> The maximum number of array items to return. Defaults to unlimited. </param>
<returns> An array containing the split strings. </returns>
</member>
<member name="M:Jurassic.Library.StringInstance.Split(Jurassic.ScriptEngine,System.String,System.String,System.UInt32)">
<summary>
Splits this string into an array of strings by separating the string into substrings.
</summary>
<param name="engine"> The current script environment. </param>
<param name="thisObject"> The string that is being operated on. </param>
<param name="separator"> A string that indicates where to split the string. </param>
<param name="limit"> The maximum number of array items to return. Defaults to unlimited. </param>
<returns> An array containing the split strings. </returns>
</member>
<member name="M:Jurassic.Library.StringInstance.Substr(System.String,System.Int32,System.Int32)">
<summary>
Returns the characters in a string beginning at the specified location through the specified number of characters.
</summary>
<param name="thisObject"> The string that is being operated on. </param>
<param name="start"> The character position to start extracting. </param>
<param name="length"> The number of characters to extract. </param>
<returns> A substring of this string. </returns>
</member>
<member name="M:Jurassic.Library.StringInstance.Substring(System.String,System.Int32,System.Int32)">
<summary>
Returns the characters in a string between two indexes into the string.
</summary>
<param name="thisObject"> The string that is being operated on. </param>
<param name="start"> The character position to start extracting. </param>
<param name="end"> The character position to stop extracting. </param>
<returns> A substring of this string. </returns>
</member>
<member name="M:Jurassic.Library.StringInstance.ToLocaleLowerCase(System.String)">
<summary>
Converts the characters within this string to lowercase while respecting the current
locale.
</summary>
<returns> A copy of this string with the characters converted to lowercase. </returns>
</member>
<member name="M:Jurassic.Library.StringInstance.ToLocaleUpperCase(System.String)">
<summary>
Converts the characters within this string to uppercase while respecting the current
locale.
</summary>
<returns> A copy of this string with the characters converted to uppercase. </returns>
</member>
<member name="M:Jurassic.Library.StringInstance.ToLowerCase(System.String)">
<summary>
Returns the calling string value converted to lowercase.
</summary>
<returns> A copy of this string with the characters converted to lowercase. </returns>
</member>
<member name="M:Jurassic.Library.StringInstance.ToString">
<summary>
Returns a string representing the current object.
</summary>
<returns> A string representing the current object. </returns>
</member>
<member name="M:Jurassic.Library.StringInstance.ToUpperCase(System.String)">
<summary>
Returns the calling string value converted to uppercase.
</summary>
<returns> A copy of this string with the characters converted to uppercase. </returns>
</member>
<member name="M:Jurassic.Library.StringInstance.Trim(System.String)">
<summary>
Trims whitespace from the beginning and end of the string.
</summary>
<returns></returns>
</member>
<member name="M:Jurassic.Library.StringInstance.TrimStart(System.String)">
<summary>
Trims whitespace from the beginning of the string.
</summary>
<returns></returns>
</member>
<member name="M:Jurassic.Library.StringInstance.TrimEnd(System.String)">
<summary>
Trims whitespace from the beginning of the string.
</summary>
<returns></returns>
</member>
<member name="M:Jurassic.Library.StringInstance.TrimLeft(System.String)">
<summary>
Trims whitespace from the beginning of the string.
</summary>
<returns></returns>
</member>
<member name="M:Jurassic.Library.StringInstance.TrimRight(System.String)">
<summary>
Trims whitespace from the beginning of the string.
</summary>
<returns></returns>
</member>
<member name="M:Jurassic.Library.StringInstance.ValueOf">
<summary>
Returns the underlying primitive value of the current object.
</summary>
<returns> The underlying primitive value of the current object. </returns>
</member>
<member name="M:Jurassic.Library.StringInstance.StartsWith(System.String,System.Object,System.Int32)">
<summary>
Determines whether a string begins with the characters of another string.
</summary>
<param name="thisObject"> The string that is being operated on. </param>
<param name="searchStringObj"> The characters to be searched for at the start of this string. </param>
<param name="position"> The position at which to begin searching. Defaults to zero. </param>
<returns> <c>true</c> if this string starts with the given string, <c>false</c> otherwise. </returns>
</member>
<member name="M:Jurassic.Library.StringInstance.EndsWith(System.String,System.Object,System.Int32)">
<summary>
Determines whether a string ends with the characters of another string.
</summary>
<param name="thisObject"> The string that is being operated on. </param>
<param name="searchStringObj"> The characters to be searched for at the end of this string. </param>
<param name="position"> Search within the string as if the string were only this long.
Defaults to the string's actual length. </param>
<returns> <c>true</c> if this string ends with the given string, <c>false</c> otherwise. </returns>
</member>
<member name="M:Jurassic.Library.StringInstance.Contains(System.String,System.String,System.Int32)">
<summary>
Determines whether a string contains the characters of another string.
</summary>
<param name="thisObject"> The string that is being operated on. </param>
<param name="searchString"> The characters to be searched for. </param>
<param name="position"> The position at which to begin searching. Defaults to zero. </param>
<returns> <c>true</c> if this string contains the given string, <c>false</c> otherwise. </returns>
</member>
<member name="M:Jurassic.Library.StringInstance.Repeat(Jurassic.ScriptEngine,System.String,System.Int32)">
<summary>
Repeats this string a number of times and returns the result.
</summary>
<param name="engine"> The current ScriptEngine instance. </param>
<param name="thisObject"> The string that is being operated on. </param>
<param name="count"> The number of times to repeat the string. Must be zero or higher. </param>
<returns> A repeated string. </returns>
</member>
<member name="M:Jurassic.Library.StringInstance.GetIterator">
<summary>
Returns an iterator that iterates over the code points of the string.
</summary>
<returns> An iterator for the string instance. </returns>
</member>
<member name="M:Jurassic.Library.StringInstance.Anchor(System.String,System.String)">
<summary>
Wraps the string with an anchor tag.
</summary>
<param name="thisObject"> The string that is being operated on. </param>
<param name="name"> The name of the anchor. </param>
<returns> </returns>
</member>
<member name="M:Jurassic.Library.StringInstance.Big(System.String)">
<summary>
Wraps the string with a big tag.
</summary>
<param name="thisObject"> The string that is being operated on. </param>
<returns></returns>
</member>
<member name="M:Jurassic.Library.StringInstance.Blink(System.String)">
<summary>
Wraps the string with a blink tag.
</summary>
<param name="thisObject"> The string that is being operated on. </param>
<returns></returns>
</member>
<member name="M:Jurassic.Library.StringInstance.Bold(System.String)">
<summary>
Wraps the string with a bold (b) tag.
</summary>
<param name="thisObject"> The string that is being operated on. </param>
<returns></returns>
</member>
<member name="M:Jurassic.Library.StringInstance.Fixed(System.String)">
<summary>
Wraps the string with a tt tag.
</summary>
<returns></returns>
</member>
<member name="M:Jurassic.Library.StringInstance.FontColor(System.String,System.String)">
<summary>
Wraps the string with a font tag that specifies the given color.
</summary>
<param name="thisObject"> The string that is being operated on. </param>
<param name="colorValue"> The color value or name. </param>
<returns></returns>
</member>
<member name="M:Jurassic.Library.StringInstance.FontSize(System.String,System.String)">
<summary>
Wraps the string with a font tag that specifies the given font size.
</summary>
<param name="thisObject"> The string that is being operated on. </param>
<param name="size"> The font size, specified as an integer. </param>
<returns></returns>
</member>
<member name="M:Jurassic.Library.StringInstance.Italics(System.String)">
<summary>
Wraps the string with a italics (i) tag.
</summary>
<param name="thisObject"> The string that is being operated on. </param>
<returns></returns>
</member>
<member name="M:Jurassic.Library.StringInstance.Link(System.String,System.String)">
<summary>
Wraps the string with a hyperlink.
</summary>
<param name="thisObject"> The string that is being operated on. </param>
<param name="href"> The hyperlink URL. </param>
<returns></returns>
</member>
<member name="M:Jurassic.Library.StringInstance.Small(System.String)">
<summary>
Wraps the string in a <c>small</c> tag.
</summary>
<param name="thisObject"> The string that is being operated on. </param>
<returns></returns>
</member>
<member name="M:Jurassic.Library.StringInstance.Strike(System.String)">
<summary>
Wraps the string in a <c>strike</c> tag.
</summary>
<param name="thisObject"> The string that is being operated on. </param>
<returns></returns>
</member>
<member name="M:Jurassic.Library.StringInstance.Sub(System.String)">
<summary>
Wraps the string in a <c>sub</c> tag.
</summary>
<param name="thisObject"> The string that is being operated on. </param>
<returns></returns>
</member>
<member name="M:Jurassic.Library.StringInstance.Sup(System.String)">
<summary>
Wraps the string in a <c>sup</c> tag.
</summary>
<param name="thisObject"> The string that is being operated on. </param>
<returns></returns>
</member>
<member name="M:Jurassic.Library.StringInstance.IsRegExp(System.Object)">
<summary>
Determines if the given object can be considered a RegExp-like object.
</summary>
<param name="o"> The object instance to check. </param>
<returns> <c>true</c> if the object instance has [Symbol.match] value that is truthy;
<c>false</c> otherwise. </returns>
</member>
<member name="T:Jurassic.Library.StringIterator">
<summary>
Represents an iteration over a String.
</summary>
</member>
<member name="M:Jurassic.Library.StringIterator.#ctor(Jurassic.Library.ObjectInstance,System.String)">
<summary>
Creates a new string iterator.
</summary>
<param name="prototype"> The next object in the prototype chain. </param>
<param name="iteratedString"> The string to iterate over. </param>
</member>
<member name="M:Jurassic.Library.StringIterator.CreatePrototype(Jurassic.ScriptEngine)">
<summary>
Creates the array iterator prototype object.
</summary>
<param name="engine"> The script environment. </param>
</member>
<member name="P:Jurassic.Library.StringIterator.ToStringTag">
<summary>
The tag value that is used by the base implementation of toString().
</summary>
</member>
<member name="M:Jurassic.Library.StringIterator.Next">
<summary>
Moves the iterator to the next element in the array.
</summary>
<returns> An object containing two properies: value and done. </returns>
</member>
<member name="P:Jurassic.Library.StringIterator.Done">
<summary>
Gets wheter the end is reached. Used by debugger decoration only.
</summary>
</member>
<member name="P:Jurassic.Library.StringIterator.IteratorIndex">
<summary>
Gets current index. Used by debugger decoration only.
</summary>
</member>
<member name="P:Jurassic.Library.StringIterator.Current">
<summary>
Gets current character. Used by debugger decoration only.
</summary>
</member>
<member name="T:Jurassic.Library.Symbol">
<summary>
Represents a symbol primitive.
</summary>
</member>
<member name="M:Jurassic.Library.Symbol.#ctor(System.String)">
<summary>
Creates a new symbol primitive.
</summary>
<param name="description"> An optional description of the symbol. </param>
</member>
<member name="P:Jurassic.Library.Symbol.Description">
<summary>
An optional description of the symbol.
</summary>
</member>
<member name="M:Jurassic.Library.Symbol.ToString">
<summary>
Converts the value to a string.
</summary>
<returns></returns>
</member>
<member name="F:Jurassic.Library.Symbol.HasInstance">
<summary>
A method that determines if a constructor object recognizes an object as one of the
constructor's instances. Used by the 'instanceof' operator.
</summary>
</member>
<member name="F:Jurassic.Library.Symbol.IsConcatSpreadable">
<summary>
A Boolean valued property that if true indicates that an object should be flattened to
its array elements by Array.prototype.concat.
</summary>
</member>
<member name="F:Jurassic.Library.Symbol.Iterator">
<summary>
Used to override the default iterator for an object. Used by the for-of statement.
</summary>
</member>
<member name="F:Jurassic.Library.Symbol.Match">
<summary>
A regular expression method that matches the regular expression against a string.
Used by the String.prototype.match method.
</summary>
</member>
<member name="F:Jurassic.Library.Symbol.Replace">
<summary>
A regular expression method that replaces matched substrings of a string. Used by the
String.prototype.replace method.
</summary>
</member>
<member name="F:Jurassic.Library.Symbol.Search">
<summary>
A regular expression method that returns the index within a string that matches the
regular expression. Used by the String.prototype.search method.
</summary>
</member>
<member name="F:Jurassic.Library.Symbol.Species">
<summary>
A function valued property that is the constructor function that is used to create
derived objects.
</summary>
</member>
<member name="F:Jurassic.Library.Symbol.Split">
<summary>
A regular expression method that splits a string at the indices that match the regular
expression. Used by the String.prototype.split method.
</summary>
</member>
<member name="F:Jurassic.Library.Symbol.ToPrimitive">
<summary>
Used to override ToPrimitive behaviour.
</summary>
</member>
<member name="F:Jurassic.Library.Symbol.ToStringTag">
<summary>
Used to customize the behaviour of Object.prototype.toString().
</summary>
</member>
<member name="F:Jurassic.Library.Symbol.Unscopables">
<summary>
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.
</summary>
</member>
<member name="T:Jurassic.Library.SymbolConstructor">
<summary>
Represents the built-in Symbol object.
</summary>
</member>
<member name="M:Jurassic.Library.SymbolConstructor.#ctor(Jurassic.Library.ObjectInstance,Jurassic.Library.ObjectInstance)">
<summary>
Creates a new Symbol object.
</summary>
<param name="prototype"> The next object in the prototype chain. </param>
<param name="instancePrototype"> The prototype for instances created by this function. </param>
</member>
<member name="M:Jurassic.Library.SymbolConstructor.Call(System.String)">
<summary>
Called when the Symbol object is invoked like a function, e.g. var x = Symbol().
</summary>
<param name="description"> The name or description of the symbol (optional). </param>
</member>
<member name="M:Jurassic.Library.SymbolConstructor.Construct">
<summary>
Called when the Symbol object is called using new, e.g. var x = new Symbol().
</summary>
</member>
<member name="M:Jurassic.Library.SymbolConstructor.For(System.String)">
<summary>
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.
</summary>
<param name="key"> The key for the symbol (also used for the description of the symbol). </param>
<returns> An existing symbol with the given key if found; otherwise, a new symbol is
created and returned. </returns>
</member>
<member name="M:Jurassic.Library.SymbolConstructor.KeyFor(Jurassic.Library.Symbol)">
<summary>
Retrieves a shared symbol key from the global symbol registry for the given symbol.
</summary>
<param name="symbol"> The symbol to find a key for. </param>
<returns> A string representing the key for the given symbol if one is found on the
global registry; otherwise, undefined. </returns>
</member>
<member name="T:Jurassic.Library.SymbolInstance">
<summary>
Represents an instance of the Symbol object.
</summary>
</member>
<member name="M:Jurassic.Library.SymbolInstance.#ctor(Jurassic.Library.ObjectInstance,Jurassic.Library.Symbol)">
<summary>
Creates a new symbol instance.
</summary>
<param name="prototype"> The next object in the prototype chain. </param>
<param name="symbol"> The symbol primitive. </param>
</member>
<member name="M:Jurassic.Library.SymbolInstance.InitializePrototypeProperties(Jurassic.Library.ObjectInstance,Jurassic.Library.SymbolConstructor)">
<summary>
Initializes the prototype properties.
</summary>
<param name="obj"> The object to set the properties on. </param>
<param name="constructor"> A reference to the constructor that owns the prototype. </param>
</member>
<member name="M:Jurassic.Library.SymbolInstance.ToString">
<summary>
Returns a string representing the object.
</summary>
<returns> A string representing the object. </returns>
</member>
<member name="M:Jurassic.Library.SymbolInstance.ValueOf">
<summary>
Returns the primitive value of a Symbol object.
</summary>
<returns> The primitive value of a Symbol object. </returns>
</member>
<member name="M:Jurassic.Library.SymbolInstance.ToPrimitive(System.String)">
<summary>
Converts a Symbol object to a primitive value.
</summary>
<param name="hint"> Specifies the conversion behaviour. Must be "default", "string" or "number". </param>
<returns> The primitive value of a Symbol object. </returns>
</member>
<member name="T:Jurassic.Library.ArrayBufferConstructor">
<summary>
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.
</summary>
</member>
<member name="M:Jurassic.Library.ArrayBufferConstructor.#ctor(Jurassic.Library.ObjectInstance)">
<summary>
Creates a new array buffer constructor.
</summary>
<param name="prototype"> The next object in the prototype chain. </param>
</member>
<member name="M:Jurassic.Library.ArrayBufferConstructor.Call">
<summary>
Called when the ArrayBuffer object is invoked like a function, e.g. var x = ArrayBuffer().
Throws an error.
</summary>
</member>
<member name="M:Jurassic.Library.ArrayBufferConstructor.Construct(System.Int32)">
<summary>
Creates a new ArrayBuffer of the given length in bytes. Its contents are initialized
to zero.
</summary>
<param name="size"> The size, in bytes, of the array buffer to create. </param>
<returns> A new ArrayBuffer object of the specified size. </returns>
</member>
<member name="P:Jurassic.Library.ArrayBufferConstructor.Species">
<summary>
A reference to the constructor function that is used to create derived objects.
</summary>
</member>
<member name="M:Jurassic.Library.ArrayBufferConstructor.IsView(System.Object)">
<summary>
Returns <c>true</c> if <paramref name="arg"/> is one of the ArrayBuffer views, such as
typed array objects or a DataView; <c>false</c> otherwise.
</summary>
<param name="arg"> The argument to be checked. </param>
<returns> <c>true</c> if arg is one of the ArrayBuffer views. </returns>
</member>
<member name="T:Jurassic.Library.ArrayBufferInstance">
<summary>
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.
</summary>
</member>
<member name="M:Jurassic.Library.ArrayBufferInstance.#ctor(Jurassic.Library.ObjectInstance,System.Int32)">
<summary>
Creates a new ArrayBuffer instance.
</summary>
<param name="prototype"> The next object in the prototype chain. </param>
<param name="size"> The size, in bytes, of the array buffer to create. </param>
</member>
<member name="M:Jurassic.Library.ArrayBufferInstance.#ctor(Jurassic.Library.ObjectInstance,System.Byte[])">
<summary>
Creates a new ArrayBuffer instance from an existing buffer.
</summary>
<param name="prototype"> The next object in the prototype chain. </param>
<param name="buffer"> The buffer to use. </param>
</member>
<member name="M:Jurassic.Library.ArrayBufferInstance.CreatePrototype(Jurassic.ScriptEngine,Jurassic.Library.ArrayBufferConstructor)">
<summary>
Creates the ArrayBuffer prototype object.
</summary>
<param name="engine"> The script environment. </param>
<param name="constructor"> A reference to the constructor that owns the prototype. </param>
</member>
<member name="P:Jurassic.Library.ArrayBufferInstance.Buffer">
<summary>
Gets the internal array for this ArrayBuffer.
</summary>
</member>
<member name="M:Jurassic.Library.ArrayBufferInstance.ToArray">
<summary>
Returns a copy of the buffer data.
</summary>
<returns> A copy of the buffer data. </returns>
</member>
<member name="P:Jurassic.Library.ArrayBufferInstance.ByteLength">
<summary>
Gets the length of an ArrayBuffer in bytes. Returns 0 if this ArrayBuffer has been
detached.
</summary>
</member>
<member name="M:Jurassic.Library.ArrayBufferInstance.Slice(System.Int32)">
<summary>
Returns a new ArrayBuffer whose contents are a copy of this ArrayBuffer's bytes from
begin, inclusive, up to end, exclusive.
</summary>
<param name="begin"> Zero-based byte index at which to begin slicing. </param>
<returns> A new ArrayBuffer object. </returns>
</member>
<member name="M:Jurassic.Library.ArrayBufferInstance.Slice(System.Int32,System.Int32)">
<summary>
Returns a new ArrayBuffer whose contents are a copy of this ArrayBuffer's bytes from
begin, inclusive, up to end, exclusive.
</summary>
<param name="begin"> Zero-based byte index at which to begin slicing. </param>
<param name="end"> 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. </param>
<returns> A new ArrayBuffer object. </returns>
</member>
<member name="T:Jurassic.Library.DataViewConstructor">
<summary>
The DataView view provides a low-level interface for reading and writing multiple number
types in an ArrayBuffer irrespective of the platform's endianness.
</summary>
</member>
<member name="M:Jurassic.Library.DataViewConstructor.#ctor(Jurassic.Library.ObjectInstance)">
<summary>
Creates a new DataView constructor.
</summary>
<param name="prototype"> The next object in the prototype chain. </param>
</member>
<member name="M:Jurassic.Library.DataViewConstructor.Call">
<summary>
Called when the DataView object is invoked like a function, e.g. var x = DataView().
Throws an error.
</summary>
</member>
<member name="M:Jurassic.Library.DataViewConstructor.Construct(Jurassic.Library.ArrayBufferInstance,System.Int32,System.Nullable{System.Int32})">
<summary>
Creates a new DataView.
</summary>
<param name="buffer"> An existing ArrayBuffer to use as the storage for the new
DataView object. </param>
<param name="byteOffset"> 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. </param>
<param name="byteLength"> The number of elements in the byte array. If unspecified,
length of the view will match the buffer's length. </param>
<returns> A new DataView object of the specified size. </returns>
</member>
<member name="T:Jurassic.Library.DataViewInstance">
<summary>
The DataView view provides a low-level interface for reading and writing multiple number
types in an ArrayBuffer irrespective of the platform's endianness.
</summary>
</member>
<member name="M:Jurassic.Library.DataViewInstance.#ctor(Jurassic.Library.ObjectInstance,Jurassic.Library.ArrayBufferInstance,System.Int32,System.Int32)">
<summary>
Creates a new DataView instance.
</summary>
<param name="prototype"> The next object in the prototype chain. </param>
<param name="buffer"> An existing ArrayBuffer to use as the storage for the new
DataView object. </param>
<param name="byteOffset"> 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. </param>
<param name="byteLength"> The number of elements in the byte array. If unspecified,
length of the view will match the buffer's length. </param>
</member>
<member name="M:Jurassic.Library.DataViewInstance.CreatePrototype(Jurassic.ScriptEngine,Jurassic.Library.DataViewConstructor)">
<summary>
Creates the DataView prototype object.
</summary>
<param name="engine"> The script environment. </param>
<param name="constructor"> A reference to the constructor that owns the prototype. </param>
</member>
<member name="P:Jurassic.Library.DataViewInstance.Buffer">
<summary>
The ArrayBuffer referenced by the DataView at construction time.
</summary>
</member>
<member name="P:Jurassic.Library.DataViewInstance.ByteOffset">
<summary>
The offset (in bytes) of this view from the start of its ArrayBuffer.
</summary>
</member>
<member name="P:Jurassic.Library.DataViewInstance.ByteLength">
<summary>
The length (in bytes) of this view from the start of its ArrayBuffer.
</summary>
</member>
<member name="M:Jurassic.Library.DataViewInstance.GetFloat32(System.Int32,System.Boolean)">
<summary>
Gets a 32-bit floating point number at the specified byte offset from the start of the
DataView.
</summary>
<param name="byteOffset"> The offset, in bytes, from the start of the view where to
read the data. </param>
<param name="littleEndian"> Indicates whether the number is stored in little- or
big-endian format. If false or undefined, a big-endian value is read. </param>
<returns> The 32-bit floating point number at the specified byte offset from the start
of the DataView. </returns>
</member>
<member name="M:Jurassic.Library.DataViewInstance.GetFloat64(System.Int32,System.Boolean)">
<summary>
Gets a 64-bit floating point number at the specified byte offset from the start of the
DataView.
</summary>
<param name="byteOffset"> The offset, in bytes, from the start of the view where to
read the data. </param>
<param name="littleEndian"> Indicates whether the number is stored in little- or
big-endian format. If false or undefined, a big-endian value is read. </param>
<returns> The 64-bit floating point number at the specified byte offset from the start
of the DataView. </returns>
</member>
<member name="M:Jurassic.Library.DataViewInstance.GetInt16(System.Int32,System.Boolean)">
<summary>
Gets a signed 16-bit integer at the specified byte offset from the start of the DataView.
</summary>
<param name="byteOffset"> The offset, in bytes, from the start of the view where to
read the data. </param>
<param name="littleEndian"> Indicates whether the number is stored in little- or
big-endian format. If false or undefined, a big-endian value is read. </param>
<returns> The signed 16-bit integer at the specified byte offset from the start of the
DataView. </returns>
</member>
<member name="M:Jurassic.Library.DataViewInstance.GetInt32(System.Int32,System.Boolean)">
<summary>
Gets a signed 32-bit integer at the specified byte offset from the start of the
DataView.
</summary>
<param name="byteOffset"> The offset, in bytes, from the start of the view where to
read the data. </param>
<param name="littleEndian"> Indicates whether the number is stored in little- or
big-endian format. If false or undefined, a big-endian value is read. </param>
<returns> The signed 32-bit integer at the specified byte offset from the start
of the DataView. </returns>
</member>
<member name="M:Jurassic.Library.DataViewInstance.GetInt64(System.Int32,System.Boolean)">
<summary>
Gets a signed 64-bit integer at the specified byte offset from the start of the
DataView.
</summary>
<param name="byteOffset"> The offset, in bytes, from the start of the view where to
read the data. </param>
<param name="littleEndian"> Indicates whether the number is stored in little- or
big-endian format. If false or undefined, a big-endian value is read. </param>
<returns> The signed 64-bit integer at the specified byte offset from the start
of the DataView. </returns>
</member>
<member name="M:Jurassic.Library.DataViewInstance.GetInt8(System.Int32)">
<summary>
Gets a signed 8-bit integer (byte) at the specified byte offset from the start of the
DataView.
</summary>
<param name="byteOffset"> The offset, in bytes, from the start of the view where to
read the data. </param>
<returns> The signed 8-bit integer (byte) at the specified byte offset from the start
of the DataView. </returns>
</member>
<member name="M:Jurassic.Library.DataViewInstance.GetUint16(System.Int32,System.Boolean)">
<summary>
Gets an unsigned 8-bit integer (byte) at the specified byte offset from the start of
the DataView.
</summary>
<param name="byteOffset"> The offset, in bytes, from the start of the view where to
read the data. </param>
<param name="littleEndian"> Indicates whether the number is stored in little- or
big-endian format. If false or undefined, a big-endian value is read. </param>
<returns> The unsigned 8-bit integer (byte) at the specified byte offset from the start
of the DataView. </returns>
</member>
<member name="M:Jurassic.Library.DataViewInstance.GetUint32(System.Int32,System.Boolean)">
<summary>
Gets an unsigned 32-bit integer at the specified byte offset from the start of the
DataView.
</summary>
<param name="byteOffset"> The offset, in bytes, from the start of the view where to
read the data. </param>
<param name="littleEndian"> Indicates whether the number is stored in little- or
big-endian format. If false or undefined, a big-endian value is read. </param>
<returns> The unsigned 32-bit integer at the specified byte offset from the start
of the DataView. </returns>
</member>
<member name="M:Jurassic.Library.DataViewInstance.GetUint8(System.Int32)">
<summary>
Gets an unsigned 8-bit integer (byte) at the specified byte offset from the start of
the DataView.
</summary>
<param name="byteOffset"> The offset, in bytes, from the start of the view where to
read the data. </param>
<returns> The unsigned 8-bit integer (byte) at the specified byte offset from the start
of the DataView. </returns>
</member>
<member name="M:Jurassic.Library.DataViewInstance.SetFloat32(System.Int32,System.Double,System.Boolean)">
<summary>
Stores a signed 32-bit float value at the specified byte offset from the start of the
DataView.
</summary>
<param name="byteOffset"> The offset, in bytes, from the start of the view where to
store the data. </param>
<param name="value"> The value to set. </param>
<param name="littleEndian"> Indicates whether the 32-bit float is stored in little- or
big-endian format. If false or undefined, a big-endian value is written. </param>
</member>
<member name="M:Jurassic.Library.DataViewInstance.SetFloat64(System.Int32,System.Double,System.Boolean)">
<summary>
Stores a signed 64-bit float value at the specified byte offset from the start of the
DataView.
</summary>
<param name="byteOffset"> The offset, in bytes, from the start of the view where to
store the data. </param>
<param name="value"> The value to set. </param>
<param name="littleEndian"> Indicates whether the 64-bit float is stored in little- or
big-endian format. If false or undefined, a big-endian value is written. </param>
</member>
<member name="M:Jurassic.Library.DataViewInstance.SetInt16(System.Int32,System.Object,System.Boolean)">
<summary>
Stores a signed 16-bit integer value at the specified byte offset from the start of the
DataView.
</summary>
<param name="byteOffset"> The offset, in bytes, from the start of the view where to
store the data. </param>
<param name="value"> The value to set. </param>
<param name="littleEndian"> Indicates whether the 32-bit float is stored in little- or
big-endian format. If false or undefined, a big-endian value is written. </param>
</member>
<member name="M:Jurassic.Library.DataViewInstance.SetInt32(System.Int32,System.Object,System.Boolean)">
<summary>
Stores a signed 32-bit integer value at the specified byte offset from the start of the
DataView.
</summary>
<param name="byteOffset"> The offset, in bytes, from the start of the view where to
store the data. </param>
<param name="value"> The value to set. </param>
<param name="littleEndian"> Indicates whether the 32-bit float is stored in little- or
big-endian format. If false or undefined, a big-endian value is written. </param>
</member>
<member name="M:Jurassic.Library.DataViewInstance.SetInt8(System.Int32,System.Object)">
<summary>
Stores a signed 8-bit integer value at the specified byte offset from the start of the
DataView.
</summary>
<param name="byteOffset"> The offset, in bytes, from the start of the view where to
store the data. </param>
<param name="value"> The value to set. </param>
</member>
<member name="M:Jurassic.Library.DataViewInstance.SetUint16(System.Int32,System.Object,System.Boolean)">
<summary>
Stores an unsigned 16-bit integer value at the specified byte offset from the start of the
DataView.
</summary>
<param name="byteOffset"> The offset, in bytes, from the start of the view where to
store the data. </param>
<param name="value"> The value to set. </param>
<param name="littleEndian"> Indicates whether the 32-bit float is stored in little- or
big-endian format. If false or undefined, a big-endian value is written. </param>
</member>
<member name="M:Jurassic.Library.DataViewInstance.SetUint32(System.Int32,System.Object,System.Boolean)">
<summary>
Stores an unsigned 32-bit integer value at the specified byte offset from the start of the
DataView.
</summary>
<param name="byteOffset"> The offset, in bytes, from the start of the view where to
store the data. </param>
<param name="value"> The value to set. </param>
<param name="littleEndian"> Indicates whether the 32-bit float is stored in little- or
big-endian format. If false or undefined, a big-endian value is written. </param>
</member>
<member name="M:Jurassic.Library.DataViewInstance.SetUint8(System.Int32,System.Object)">
<summary>
Stores an unsigned 8-bit integer value at the specified byte offset from the start of the
DataView.
</summary>
<param name="byteOffset"> The offset, in bytes, from the start of the view where to
store the data. </param>
<param name="value"> The value to set. </param>
</member>
<member name="M:Jurassic.Library.DataViewInstance.SetCore(System.Int32,System.Byte[],System.Boolean)">
<summary>
Stores a series of bytes at the specified byte offset from the start of the
DataView.
</summary>
<param name="byteOffset"> The offset, in bytes, from the start of the view where to
store the data. </param>
<param name="bytes"> The bytes to store. </param>
<param name="littleEndian"> Indicates whether the bytes are stored in little- or
big-endian format. If false, a big-endian value is written. </param>
</member>
<member name="T:Jurassic.Library.TypedArrayConstructor">
<summary>
Represents the built-in javascript String object.
</summary>
</member>
<member name="M:Jurassic.Library.TypedArrayConstructor.#ctor(Jurassic.Library.ObjectInstance,Jurassic.Library.TypedArrayType,System.Collections.Generic.List{Jurassic.Library.PropertyNameAndValue})">
<summary>
Creates a new typed array constructor.
</summary>
<param name="prototype"> The next object in the prototype chain. </param>
<param name="type"> Defines the element type and behaviour of the typed array. </param>
<param name="declarativeProperties"> The result of calling <see cref="M:Jurassic.Library.TypedArrayInstance.GetDeclarativeProperties(Jurassic.ScriptEngine)"/>. </param>
</member>
<member name="P:Jurassic.Library.TypedArrayConstructor.BytesPerElement">
<summary>
The data storage size, in bytes, of each array element.
</summary>
</member>
<member name="M:Jurassic.Library.TypedArrayConstructor.From(System.Object[])">
<summary>
Creates a new typed array from a .NET array.
</summary>
<param name="source"> A .NET array </param>
<returns> A new typed array instance. </returns>
</member>
<member name="P:Jurassic.Library.TypedArrayConstructor.Species">
<summary>
A reference to the constructor function that is used to create derived objects.
</summary>
</member>
<member name="M:Jurassic.Library.TypedArrayConstructor.Call">
<summary>
Called when the typed array object is invoked like a function, e.g. Int8Array().
Throws an error.
</summary>
</member>
<member name="M:Jurassic.Library.TypedArrayConstructor.Construct">
<summary>
Creates a new (empty) typed array instance.
</summary>
<returns> A new typed array instance. </returns>
</member>
<member name="M:Jurassic.Library.TypedArrayConstructor.Construct(System.Object,System.Int32,System.Nullable{System.Int32})">
<summary>
Creates a new typed array instance.
</summary>
<param name="arg"> Either the length of the new array, or buffer, or an array-like
object. </param>
<param name="byteOffset"> 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. </param>
<param name="length"> The length (in elements) of the typed array. Ignored unless the
first parameter is a array buffer. </param>
<returns> A new typed array instance. </returns>
</member>
<member name="M:Jurassic.Library.TypedArrayConstructor.From(System.Object,Jurassic.Library.FunctionInstance,System.Object)">
<summary>
Creates a new typed array from an array-like or iterable object.
</summary>
<param name="source"> An array-like or iterable object to convert to a typed array. </param>
<param name="mapFn"> Optional. Map function to call on every element of the typed array. </param>
<param name="thisArg"> Optional. Value to use as this when executing mapFn. </param>
<returns> A new typed array instance. </returns>
</member>
<member name="M:Jurassic.Library.TypedArrayConstructor.Of(System.Object[])">
<summary>
Creates a new typed array with a variable number of elements.
</summary>
<param name="elements"> Elements of which to create the typed array. </param>
<returns> A new typed array with the given elements. </returns>
</member>
<member name="T:Jurassic.Library.TypedArrayInstance">
<summary>
Represents a typed array instance.
</summary>
</member>
<member name="M:Jurassic.Library.TypedArrayInstance.#ctor(Jurassic.Library.ObjectInstance,Jurassic.Library.TypedArrayType,Jurassic.Library.ArrayBufferInstance,System.Int32,System.Int32)">
<summary>
Creates a new typed array instance.
</summary>
<param name="prototype"> The next object in the prototype chain. </param>
<param name="type"> Defines the element type and behaviour of the typed array. </param>
<param name="buffer"> An existing ArrayBuffer to use as the storage for the new
TypedArray object. </param>
<param name="byteOffset"> 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. </param>
<param name="length"> The length (in elements) of the typed array. </param>
</member>
<member name="M:Jurassic.Library.TypedArrayInstance.CreatePrototype(Jurassic.ScriptEngine,Jurassic.Library.TypedArrayConstructor,System.Collections.Generic.List{Jurassic.Library.PropertyNameAndValue})">
<summary>
Creates the TypedArray prototype object.
</summary>
<param name="engine"> The script environment. </param>
<param name="constructor"> A reference to the constructor that owns the prototype. </param>
<param name="declarativeProperties"> The result of calling <see cref="M:Jurassic.Library.TypedArrayInstance.GetDeclarativeProperties(Jurassic.ScriptEngine)"/>. </param>
</member>
<member name="M:Jurassic.Library.TypedArrayInstance.ScriptEngine_GetDeclarativeProperties(Jurassic.ScriptEngine)">
<summary>
Speeds up initialization by only calling GetDeclarativeProperties once.
</summary>
<param name="engine"></param>
<returns></returns>
</member>
<member name="P:Jurassic.Library.TypedArrayInstance.Type">
<summary>
The type of each element in the array.
</summary>
</member>
<member name="P:Jurassic.Library.TypedArrayInstance.Item(System.Int32)">
<summary>
Gets or sets the item at the given index.
</summary>
<param name="index"> The array index. </param>
<returns> The value of the item at the given index. </returns>
</member>
<member name="P:Jurassic.Library.TypedArrayInstance.BytesPerElement">
<summary>
The data storage size, in bytes, of each array element.
</summary>
</member>
<member name="P:Jurassic.Library.TypedArrayInstance.Buffer">
<summary>
The ArrayBuffer referenced by the TypedArray at construction time.
</summary>
</member>
<member name="P:Jurassic.Library.TypedArrayInstance.ByteOffset">
<summary>
The offset (in bytes) of the typed array from the start of its ArrayBuffer.
</summary>
</member>
<member name="P:Jurassic.Library.TypedArrayInstance.ByteLength">
<summary>
The length (in bytes) of the typed array from the start of its ArrayBuffer.
</summary>
</member>
<member name="P:Jurassic.Library.TypedArrayInstance.Length">
<summary>
The length (in elements) of the typed array.
</summary>
</member>
<member name="P:Jurassic.Library.TypedArrayInstance.ToStringTag">
<summary>
The length (in elements) of the typed array.
</summary>
</member>
<member name="M:Jurassic.Library.TypedArrayInstance.GetOwnPropertyDescriptor(System.UInt32)">
<summary>
Gets a descriptor for the property with the given array index.
</summary>
<param name="index"> The array index of the property. </param>
<returns> A property descriptor containing the property value and attributes. </returns>
<remarks> The prototype chain is not searched. </remarks>
</member>
<member name="M:Jurassic.Library.TypedArrayInstance.SetPropertyValue(System.UInt32,System.Object,System.Object,System.Boolean)">
<summary>
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.
</summary>
<param name="index"> The array index of the property to set. </param>
<param name="value"> The value to set the property to. This must be a javascript
primitive (double, string, etc) or a class derived from <see cref="T:Jurassic.Library.ObjectInstance"/>. </param>
<param name="thisValue"> The value of the "this" keyword inside a getter. </param>
<param name="throwOnError"> <c>true</c> 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. </param>
<returns> <c>false</c> if <paramref name="throwOnError"/> is false and an error
occurred; <c>true</c> otherwise. </returns>
</member>
<member name="M:Jurassic.Library.TypedArrayInstance.Delete(System.UInt32,System.Boolean)">
<summary>
Deletes the property with the given array index.
</summary>
<param name="index"> The array index of the property to delete. </param>
<param name="throwOnError"> <c>true</c> to throw an exception if the property could not
be set because the property was marked as non-configurable. </param>
<returns> <c>true</c> if the property was successfully deleted, or if the property did
not exist; <c>false</c> if the property was marked as non-configurable and
<paramref name="throwOnError"/> was <c>false</c>. </returns>
</member>
<member name="M:Jurassic.Library.TypedArrayInstance.Entries">
<summary>
Returns a new array iterator object that contains the key/value pairs for each index in
the array.
</summary>
<returns> An array iterator object that contains the key/value pairs for each index in
the array. </returns>
</member>
<member name="M:Jurassic.Library.TypedArrayInstance.Keys">
<summary>
Returns a new array iterator object that contains the keys for each index in the array.
</summary>
<returns> An array iterator object that contains the keys for each index in the array. </returns>
</member>
<member name="M:Jurassic.Library.TypedArrayInstance.Subarray(System.Int32,System.Int32)">
<summary>
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.
</summary>
<param name="begin"> Element to begin at. The offset is inclusive. </param>
<param name="end"> 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. </param>
<returns> A new typed array that shares the same ArrayBuffer store. </returns>
</member>
<member name="M:Jurassic.Library.TypedArrayInstance.Values">
<summary>
Returns a new array iterator object that contains the values for each index in the
array.
</summary>
<returns> An array iterator object that contains the values for each index in the
array. </returns>
</member>
<member name="T:Jurassic.Library.TypedArrayInstance.TypedArrayAdapter">
<summary>
Implements an adapter for typed arrays.
</summary>
</member>
<member name="M:Jurassic.Library.TypedArrayInstance.TypedArrayAdapter.#ctor(Jurassic.Library.TypedArrayInstance)">
<summary>
Creates a new TypedArrayWrapper instance.
</summary>
<param name="wrappedInstance"> The typed array that is being wrapped. </param>
</member>
<member name="P:Jurassic.Library.TypedArrayInstance.TypedArrayAdapter.Item(System.Int32)">
<summary>
Gets or sets an array element within the range 0 .. Length-1 (inclusive).
</summary>
<param name="index"> The index to get or set. </param>
<returns> The value at the given index. </returns>
</member>
<member name="M:Jurassic.Library.TypedArrayInstance.TypedArrayAdapter.Delete(System.Int32)">
<summary>
Deletes the value at the given array index, throwing an exception on error.
</summary>
<param name="index"> The array index to delete. </param>
</member>
<member name="M:Jurassic.Library.TypedArrayInstance.TypedArrayAdapter.HasProperty(System.Int32)">
<summary>
Indicates whether the array index exists (has a value).
</summary>
<param name="index"> The index to check. </param>
<returns> <c>true</c> if the index exists, <c>false</c> otherwise. </returns>
</member>
<member name="M:Jurassic.Library.TypedArrayInstance.TypedArrayAdapter.ConstructArray(System.Object[])">
<summary>
Creates a new array of the same type as this one.
</summary>
<param name="values"> The values in the new array. </param>
<returns> A new array object. </returns>
</member>
<member name="M:Jurassic.Library.TypedArrayInstance.TypedArrayAdapter.ConvertValue(System.Object)">
<summary>
Convert an untyped value to a typed value.
</summary>
<param name="value"> The value to convert. </param>
<returns> The value converted to a typed value. </returns>
</member>
<member name="M:Jurassic.Library.TypedArrayInstance.CopyWithin(System.Int32,System.Int32,System.Int32)">
<summary>
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.
</summary>
<param name="target"> Target start index position where to copy the elements to. </param>
<param name="start"> Source start index position where to start copying elements from. </param>
<param name="end"> Optional. Source end index position where to end copying elements from. </param>
<returns> The array that was operated on. </returns>
</member>
<member name="M:Jurassic.Library.TypedArrayInstance.Every(Jurassic.Library.FunctionInstance,Jurassic.Library.ObjectInstance)">
<summary>
Determines if every element of the array matches criteria defined by the given user-
defined function.
</summary>
<param name="callbackFunction"> 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 <c>true</c> or <c>false</c>. </param>
<param name="context"> The value of <c>this</c> in the context of the callback function. </param>
<returns> <c>true</c> if every element of the array matches criteria defined by the
given user-defined function; <c>false</c> otherwise. </returns>
</member>
<member name="M:Jurassic.Library.TypedArrayInstance.Fill(System.Object,System.Int32,System.Int32)">
<summary>
Fills all the elements of a typed array from a start index to an end index with a
static value.
</summary>
<param name="value"> The value to fill the typed array with. </param>
<param name="start"> Optional. Start index. Defaults to 0. </param>
<param name="end"> Optional. End index (exclusive). Defaults to the length of the array. </param>
<returns> The array that is being operated on. </returns>
</member>
<member name="M:Jurassic.Library.TypedArrayInstance.Filter(Jurassic.Library.FunctionInstance,Jurassic.Library.ObjectInstance)">
<summary>
Creates a new array with the elements from this array that pass the test implemented by
the given function.
</summary>
<param name="callbackFunction"> 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 <c>true</c> or <c>false</c>. </param>
<param name="context"> The value of <c>this</c> in the context of the callback function. </param>
<returns> A copy of this array but with only those elements which produce <c>true</c>
when passed to the provided function. </returns>
</member>
<member name="M:Jurassic.Library.TypedArrayInstance.Find(Jurassic.Library.FunctionInstance,Jurassic.Library.ObjectInstance)">
<summary>
Returns the first element in the given array that passes the test implemented by the
given function.
</summary>
<param name="callbackFunction"> 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 <c>true</c> or <c>false</c>. </param>
<param name="context"> The value of <c>this</c> in the context of the callback function. </param>
<returns> The first element that results in the callback returning <c>true</c>. </returns>
</member>
<member name="M:Jurassic.Library.TypedArrayInstance.FindIndex(Jurassic.Library.FunctionInstance,Jurassic.Library.ObjectInstance)">
<summary>
Returns an index in the typed array, if an element in the typed array satisfies the
provided testing function. Otherwise -1 is returned.
</summary>
<param name="callbackFunction"> 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 <c>true</c> or <c>false</c>. </param>
<param name="context"> The value of <c>this</c> in the context of the callback function. </param>
<returns> The first element that results in the callback returning <c>true</c>. </returns>
</member>
<member name="M:Jurassic.Library.TypedArrayInstance.ForEach(Jurassic.Library.FunctionInstance,Jurassic.Library.ObjectInstance)">
<summary>
Calls the given user-defined function once per element in the array.
</summary>
<param name="callbackFunction"> 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. </param>
<param name="context"> The value of <c>this</c> in the context of the callback function. </param>
</member>
<member name="M:Jurassic.Library.TypedArrayInstance.IndexOf(System.Object,System.Int32)">
<summary>
Returns the index of the given search element in the array, starting from
<paramref name="fromIndex"/>.
</summary>
<param name="searchElement"> The value to search for. </param>
<param name="fromIndex"> The array index to start searching. </param>
<returns> The index of the given search element in the array, or <c>-1</c> if the
element wasn't found. </returns>
</member>
<member name="M:Jurassic.Library.TypedArrayInstance.Join(System.String)">
<summary>
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.
</summary>
<param name="separator"> The string to use as a separator. </param>
<returns> A string that consists of the element values separated by the separator string. </returns>
</member>
<member name="M:Jurassic.Library.TypedArrayInstance.LastIndexOf(System.Object)">
<summary>
Returns the index of the given search element in the array, searching backwards from
the end of the array.
</summary>
<param name="searchElement"> The value to search for. </param>
<returns> The index of the given search element in the array, or <c>-1</c> if the
element wasn't found. </returns>
</member>
<member name="M:Jurassic.Library.TypedArrayInstance.LastIndexOf(System.Object,System.Int32)">
<summary>
Returns the index of the given search element in the array, searching backwards from
<paramref name="fromIndex"/>.
</summary>
<param name="searchElement"> The value to search for. </param>
<param name="fromIndex"> The array index to start searching. </param>
<returns> The index of the given search element in the array, or <c>-1</c> if the
element wasn't found. </returns>
</member>
<member name="M:Jurassic.Library.TypedArrayInstance.Map(Jurassic.Library.FunctionInstance,Jurassic.Library.ObjectInstance)">
<summary>
Creates a new array with the results of calling the given function on every element in
this array.
</summary>
<param name="callbackFunction"> 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. </param>
<param name="context"> The value of <c>this</c> in the context of the callback function. </param>
<returns> A new array with the results of calling the given function on every element
in the array. </returns>
</member>
<member name="M:Jurassic.Library.TypedArrayInstance.Reduce(Jurassic.Library.FunctionInstance,System.Object)">
<summary>
Accumulates a single value by calling a user-defined function for each element.
</summary>
<param name="callbackFunction"> 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. </param>
<param name="initialValue"> The initial accumulated value. </param>
<returns> The accumulated value returned from the last invocation of the callback
function. </returns>
</member>
<member name="M:Jurassic.Library.TypedArrayInstance.ReduceRight(Jurassic.Library.FunctionInstance,System.Object)">
<summary>
Accumulates a single value by calling a user-defined function for each element
(starting with the last element in the array).
</summary>
<param name="callbackFunction"> 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. </param>
<param name="initialValue"> The initial accumulated value. </param>
<returns> The accumulated value returned from the last invocation of the callback
function. </returns>
</member>
<member name="M:Jurassic.Library.TypedArrayInstance.Reverse">
<summary>
Reverses the order of the elements in the array.
</summary>
<returns> The array that is being operated on. </returns>
</member>
<member name="M:Jurassic.Library.TypedArrayInstance.Set(Jurassic.Library.ObjectInstance,System.Int32)">
<summary>
Stores multiple values in the typed array, reading input values from a specified array.
</summary>
<param name="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. </param>
<param name="offset"> 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). </param>
</member>
<member name="M:Jurassic.Library.TypedArrayInstance.Slice(System.Int32,System.Int32)">
<summary>
Returns a section of an array.
</summary>
<param name="start"> 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. </param>
<param name="end"> 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
<paramref name="end"/> is less than or equal to <paramref name="start"/> then an empty
array is returned. </param>
<returns> A section of an array. </returns>
</member>
<member name="M:Jurassic.Library.TypedArrayInstance.Some(Jurassic.Library.FunctionInstance,Jurassic.Library.ObjectInstance)">
<summary>
Determines if at least one element of the array matches criteria defined by the given
user-defined function.
</summary>
<param name="callbackFunction"> 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 <c>true</c> or <c>false</c>. </param>
<param name="context"> The value of <c>this</c> in the context of the callback function. </param>
<returns> <c>true</c> if at least one element of the array matches criteria defined by
the given user-defined function; <c>false</c> otherwise. </returns>
</member>
<member name="M:Jurassic.Library.TypedArrayInstance.Sort(Jurassic.Library.FunctionInstance)">
<summary>
Sorts the array.
</summary>
<param name="comparisonFunction"> 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. </param>
<returns> The array that was sorted. </returns>
</member>
<member name="M:Jurassic.Library.TypedArrayInstance.ToLocaleString">
<summary>
Returns a locale-specific string representing this object.
</summary>
<returns> A locale-specific string representing this object. </returns>
</member>
<member name="M:Jurassic.Library.TypedArrayInstance.ToString(Jurassic.Library.ObjectInstance)">
<summary>
Returns a string representing this object.
</summary>
<param name="thisObj"> The array that is being operated on. </param>
<returns> A string representing this object. </returns>
</member>
<member name="T:Jurassic.Library.TypedArrayType">
<summary>
Defines the element type and behaviour of typed array.
</summary>
</member>
<member name="F:Jurassic.Library.TypedArrayType.Int8Array">
<summary>
An array of signed 8-bit elements.
</summary>
</member>
<member name="F:Jurassic.Library.TypedArrayType.Uint8Array">
<summary>
An array of unsigned 8-bit elements.
</summary>
</member>
<member name="F:Jurassic.Library.TypedArrayType.Uint8ClampedArray">
<summary>
An array of unsigned 8-bit elements, clamped to 0-255.
</summary>
</member>
<member name="F:Jurassic.Library.TypedArrayType.Int16Array">
<summary>
An array of signed 16-bit elements.
</summary>
</member>
<member name="F:Jurassic.Library.TypedArrayType.Uint16Array">
<summary>
An array of unsigned 16-bit elements.
</summary>
</member>
<member name="F:Jurassic.Library.TypedArrayType.Int32Array">
<summary>
An array of signed 32-bit elements.
</summary>
</member>
<member name="F:Jurassic.Library.TypedArrayType.Uint32Array">
<summary>
An array of unsigned 32-bit elements.
</summary>
</member>
<member name="F:Jurassic.Library.TypedArrayType.Float32Array">
<summary>
An array of 32-bit floating point elements.
</summary>
</member>
<member name="F:Jurassic.Library.TypedArrayType.Float64Array">
<summary>
An array of 64-bit floating point elements.
</summary>
</member>
<member name="T:Jurassic.Library.WeakMapConstructor">
<summary>
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.
</summary>
</member>
<member name="M:Jurassic.Library.WeakMapConstructor.#ctor(Jurassic.Library.ObjectInstance)">
<summary>
Creates a new map constructor.
</summary>
<param name="prototype"> The next object in the prototype chain. </param>
</member>
<member name="M:Jurassic.Library.WeakMapConstructor.Call">
<summary>
Called when the WeakMap object is invoked like a function, e.g. var x = WeakMap().
Throws an error.
</summary>
</member>
<member name="M:Jurassic.Library.WeakMapConstructor.Construct(System.Object)">
<summary>
Creates a new WeakMap.
</summary>
<param name="iterable"> 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. <c>null</c>
is treated as undefined. </param>
<returns> A new WeakMap object, either empty or initialised with the given values. </returns>
</member>
<member name="T:Jurassic.Library.WeakMapInstance">
<summary>
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.
</summary>
</member>
<member name="M:Jurassic.Library.WeakMapInstance.#ctor(Jurassic.Library.ObjectInstance)">
<summary>
Creates a new WeakMap instance.
</summary>
<param name="prototype"> The next object in the prototype chain. </param>
</member>
<member name="M:Jurassic.Library.WeakMapInstance.CreatePrototype(Jurassic.ScriptEngine,Jurassic.Library.WeakMapConstructor)">
<summary>
Creates the WeakMap prototype object.
</summary>
<param name="engine"> The script environment. </param>
<param name="constructor"> A reference to the constructor that owns the prototype. </param>
</member>
<member name="M:Jurassic.Library.WeakMapInstance.Delete(System.Object)">
<summary>
Removes the specified element from a Map object.
</summary>
<param name="key"> The key of the element to remove from the Map object. </param>
<returns> <c>true</c> if an element in the Map object existed and has been removed, or
<c>false</c> if the element does not exist. </returns>
</member>
<member name="M:Jurassic.Library.WeakMapInstance.Get(System.Object)">
<summary>
Returns a specified element from a Map object.
</summary>
<param name="key"> The key of the element to return from the Map object. </param>
<returns> The element associated with the specified key, or undefined if the key can't
be found in the Map object. </returns>
</member>
<member name="M:Jurassic.Library.WeakMapInstance.Has(System.Object)">
<summary>
Returns a boolean indicating whether an element with the specified key exists or not.
</summary>
<param name="key"> The key of the element to test for presence in the Map object. </param>
<returns> <c>true</c> if an element with the specified key exists in the Map object;
otherwise <c>false</c>. </returns>
</member>
<member name="M:Jurassic.Library.WeakMapInstance.Set(System.Object,System.Object)">
<summary>
Adds a new element with a specified key and value to a Map object.
</summary>
<param name="key"> The key of the element to add to the Map object. </param>
<param name="value"> The value of the element to add to the Map object. </param>
<returns> The WeakMap object. </returns>
</member>
<member name="P:Jurassic.Library.WeakMapInstance.Store">
<summary>
Gets the internal storage. Used by debugger decoration.
</summary>
</member>
<member name="T:Jurassic.Library.WeakSetConstructor">
<summary>
The WeakSet object lets you store weakly held objects in a collection.
</summary>
</member>
<member name="M:Jurassic.Library.WeakSetConstructor.#ctor(Jurassic.Library.ObjectInstance)">
<summary>
Creates a new WeakSet constructor.
</summary>
<param name="prototype"> The next object in the prototype chain. </param>
</member>
<member name="M:Jurassic.Library.WeakSetConstructor.Call">
<summary>
Called when the WeakSet object is invoked like a function, e.g. var x = WeakSet().
Throws an error.
</summary>
</member>
<member name="M:Jurassic.Library.WeakSetConstructor.Construct(System.Object)">
<summary>
Creates a new WeakSet instance.
</summary>
<param name="iterable"> If an iterable object is passed, all of its elements will be
added to the new WeakSet. <c>null</c> is treated as undefined. </param>
<returns> A new WeakSet instance. </returns>
</member>
<member name="T:Jurassic.Library.WeakSetInstance">
<summary>
The WeakSet object lets you store weakly held objects in a collection.
</summary>
</member>
<member name="M:Jurassic.Library.WeakSetInstance.#ctor(Jurassic.Library.ObjectInstance)">
<summary>
Creates a new WeakSet instance.
</summary>
<param name="prototype"> The next object in the prototype chain. </param>
</member>
<member name="M:Jurassic.Library.WeakSetInstance.CreatePrototype(Jurassic.ScriptEngine,Jurassic.Library.WeakSetConstructor)">
<summary>
Creates the WeakSet prototype object.
</summary>
<param name="engine"> The script environment. </param>
<param name="constructor"> A reference to the constructor that owns the prototype. </param>
</member>
<member name="M:Jurassic.Library.WeakSetInstance.Add(System.Object)">
<summary>
Appends a new element with a specified value to the end of the WeakSet.
</summary>
<param name="value"> The value of the element to add to the WeakSet. </param>
<returns> The WeakSet object. </returns>
</member>
<member name="M:Jurassic.Library.WeakSetInstance.Delete(System.Object)">
<summary>
Removes the specified value from the WeakSet.
</summary>
<param name="value"> The value of the element to remove from the WeakSet. </param>
<returns> <c>true</c> if an element in the WeakSet object has been removed
successfully; otherwise <c>false</c>. </returns>
</member>
<member name="M:Jurassic.Library.WeakSetInstance.Has(System.Object)">
<summary>
Returns a boolean indicating whether an element with the specified value exists in the
WeakSet or not.
</summary>
<param name="value"> The value to test for presence in the WeakSet. </param>
<returns> <c>true</c> if an element with the specified value exists in the WeakSet
object; otherwise <c>false</c>. </returns>
</member>
<member name="P:Jurassic.Library.WeakSetInstance.Store">
<summary>
Gets the internal storage. Used by debugger decoration.
</summary>
</member>
</members>
</doc>