C# (CSharp) Jurassic.Compiler Namespace

Classes

Name Description
AssignmentExpression Represents an assignment expression (++, --, =, +=, -=, *=, /=, %=, &=, |=, ^=, <<=, >>=, >>>=).
AssignmentExpression.ReferenceGetExpression This is a private class that supports generating code for compound operators (e.g. +=).
BinaryExpression Represents a binary operator expression.
Binder
BinderUtilities This class is public for technical reasons and is intended only for internal use.
ClrBinder 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.
DeclarativeScope Represents a scope where the variables are statically known.
DynamicILGenerator Represents a generator of CIL bytes.
DynamicILGenerator.ExceptionClause
DynamicILGenerator.ExceptionRegion
DynamicILGenerator.Fixup
DynamicILLabel Represents a label in IL code.
DynamicILLocalVariable Represents a local variable in CIL code.
EmitConversion Outputs IL that converts between types.
EmitHelpers Outputs IL for misc tasks.
EvalMethodGenerator Represents the information needed to compile eval script into a method.
FieldBinder Base class of field getter and setter binders.
FieldGetterBinder Retrieves the value of a field.
FieldSetterBinder Sets the value of a field.
ForInStatement Represents a javascript for-in statement.
ForOfStatement Represents a javascript for-of statement.
FunctionCallExpression Represents a function call expression.
FunctionCallExpression.TemporaryVariableExpression Used to implement function calls without evaluating the left operand twice.
GlobalMethodGenerator Represents the information needed to compile global code.
ILGenerator Represents a generator of CIL bytes.
ILLocalVariable Represents a local variable in CIL code.
IdentifierToken Represents punctuation or an operator in the source code.
JSBinder Binds to a method group using the default javascript rules (extra parameter values are ignored, missing parameter values are replaced with "undefined").
JSBinderMethod
KeywordToken Represents a reserved word in the source code.
Lexer Converts a JavaScript source file into a series of tokens.
Lexer.LexerReader Creates a TextReader that calls ReadNextChar().
LiteralExpression Represents a literal expression.
LiteralToken Represents a string, number, boolean or null literal in the source code.
LoopStatement Represents a javascript loop statement (for, for-in, while and do-while).
LoopStatement.InferredTypeInfo
LoopStatement.RevertInfo
MemberAccessExpression Represents a variable or member access.
MethodBinder Selects a method from a list of candidates and performs type conversion from actual argument type to formal argument type.
MethodGenerator Represents the unit of compilation.
NameExpression Represents a variable or part of a member reference.
NewExpression Represents a "new" expression.
ObjectScope Represents a scope which is backed by the properties of an object.
OptimizationInfo Represents information about one or more code generation optimizations.
OptimizationInfo.BreakOrContinueInfo
Parser Converts a series of tokens into an abstract syntax tree.
Parser.OperatorKey Represents a key by which to look up an operator.
Parser.ScopeContext Helper class to help manage scopes.
ReflectionEmitILLabel Represents a label in IL code.
ReflectionEmitILLocalVariable Represents a local variable in CIL code.
ReflectionHelpers 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).
ReflectionHelpers.ReflectionField
Scope Represents an enclosing context where variables are uniquely defined.
Scope.DeclaredVariable Represents a variable declared in a scope.
Statement Represents a javascript statement.
Statement.StatementLocals Locals needed by GenerateStartOfStatement() and GenerateEndOfStatement().
StringLiteralToken Represents a string literal.
TemplateLiteralExpression Represents a template literal expression, with substitutions. Code gen treats template literals with no substitutions just like string literals.