package org.whole.lang.javascript.reflect;
import org.whole.lang.reflect.EntityDescriptorEnum;
import org.whole.lang.reflect.EntityDescriptor;
import org.whole.lang.javascript.model.*;
/**
* @generator Whole
*/
@SuppressWarnings("unchecked")
public class JavaScriptEntityDescriptorEnum extends EntityDescriptorEnum {
public static final int Program_ord = 0;
public static final int Statements_ord = 1;
public static final int Comment_ord = 2;
public static final int CommentKind_ord = 3;
public static final int FunctionBody_ord = 4;
public static final int Function_ord = 5;
public static final int DestructuringForm_ord = 6;
public static final int ObjectLiteral_ord = 7;
public static final int ObjectProperties_ord = 8;
public static final int ObjectProperty_ord = 9;
public static final int LiteralOrIdentifier_ord = 10;
public static final int ArrayLiteral_ord = 11;
public static final int Statement_ord = 12;
public static final int Expression_ord = 13;
public static final int EmptyExpression_ord = 14;
public static final int ExpressionStatement_ord = 15;
public static final int IfStatement_ord = 16;
public static final int LabeledStatement_ord = 17;
public static final int Labels_ord = 18;
public static final int Label_ord = 19;
public static final int Targeting_ord = 20;
public static final int BreakStatement_ord = 21;
public static final int ContinueStatement_ord = 22;
public static final int WithStatement_ord = 23;
public static final int SwitchStatement_ord = 24;
public static final int SwitchCases_ord = 25;
public static final int SwitchCase_ord = 26;
public static final int ReturnStatement_ord = 27;
public static final int ThrowStatement_ord = 28;
public static final int TryStatement_ord = 29;
public static final int CatchClauses_ord = 30;
public static final int CatchClause_ord = 31;
public static final int WhileStatement_ord = 32;
public static final int DoWhileStatement_ord = 33;
public static final int VariableDeclarationOrExpression_ord = 34;
public static final int ForStatement_ord = 35;
public static final int ForEachIn_ord = 36;
public static final int ForInStatement_ord = 37;
public static final int ForEachStatement_ord = 38;
public static final int Let_ord = 39;
public static final int LetStatement_ord = 40;
public static final int VariableInitializers_ord = 41;
public static final int VariableInitializer_ord = 42;
public static final int FunctionDeclaration_ord = 43;
public static final int VariableDeclaration_ord = 44;
public static final int VariableDeclarationKind_ord = 45;
public static final int IdentifierOrXmlAny_ord = 46;
public static final int XmlAny_ord = 47;
public static final int XmlRef_ord = 48;
public static final int ComputedXmlRef_ord = 49;
public static final int StaticXmlRef_ord = 50;
public static final int XmlMemberGet_ord = 51;
public static final int XmlDotQuery_ord = 52;
public static final int XmlMemberOperator_ord = 53;
public static final int XmlLiteral_ord = 54;
public static final int XmlFragments_ord = 55;
public static final int XmlFragment_ord = 56;
public static final int XmlString_ord = 57;
public static final int XmlExpression_ord = 58;
public static final int XmlDefaultNamespace_ord = 59;
public static final int FunctionExpression_ord = 60;
public static final int Expressions_ord = 61;
public static final int ParenthesizedExpression_ord = 62;
public static final int UnaryExpression_ord = 63;
public static final int PrefixExpression_ord = 64;
public static final int PostfixExpression_ord = 65;
public static final int PrefixOperator_ord = 66;
public static final int PostfixOperator_ord = 67;
public static final int BinaryExpression_ord = 68;
public static final int InfixExpression_ord = 69;
public static final int InfixOperator_ord = 70;
public static final int AssignmentExpression_ord = 71;
public static final int AssignmentOperator_ord = 72;
public static final int ConditionalExpression_ord = 73;
public static final int NewExpression_ord = 74;
public static final int CallExpression_ord = 75;
public static final int MemberExpression_ord = 76;
public static final int ComputedMemberExpression_ord = 77;
public static final int StaticMemberExpression_ord = 78;
public static final int YieldExpression_ord = 79;
public static final int ComprehensionExpression_ord = 80;
public static final int ArrayComprehensionExpression_ord = 81;
public static final int ComprehensionBlocks_ord = 82;
public static final int ComprehensionBlock_ord = 83;
public static final int ForInComprehensionBlock_ord = 84;
public static final int ForEachComprehensionBlock_ord = 85;
public static final int LetExpression_ord = 86;
public static final int Identifier_ord = 87;
public static final int Literal_ord = 88;
public static final int NullLiteral_ord = 89;
public static final int ThisLiteral_ord = 90;
public static final int StringLiteral_ord = 91;
public static final int BooleanLiteral_ord = 92;
public static final int NumberLiteral_ord = 93;
public static final int RegExpLiteral_ord = 94;
public static final int BooleanData_ord = 95;
public static final int StringData_ord = 96;
public static final JavaScriptEntityDescriptorEnum instance = new JavaScriptEntityDescriptorEnum();
public static final EntityDescriptor<Program> Program = (EntityDescriptor<Program>) instance
.valueOf(Program_ord);
public static final EntityDescriptor<Statements> Statements = (EntityDescriptor<Statements>) instance
.valueOf(Statements_ord);
public static final EntityDescriptor<Comment> Comment = (EntityDescriptor<Comment>) instance
.valueOf(Comment_ord);
public static final EntityDescriptor<CommentKind> CommentKind = (EntityDescriptor<CommentKind>) instance
.valueOf(CommentKind_ord);
public static final EntityDescriptor<FunctionBody> FunctionBody = (EntityDescriptor<FunctionBody>) instance
.valueOf(FunctionBody_ord);
public static final EntityDescriptor<Function> Function = (EntityDescriptor<Function>) instance
.valueOf(Function_ord);
public static final EntityDescriptor<DestructuringForm> DestructuringForm = (EntityDescriptor<DestructuringForm>) instance
.valueOf(DestructuringForm_ord);
public static final EntityDescriptor<ObjectLiteral> ObjectLiteral = (EntityDescriptor<ObjectLiteral>) instance
.valueOf(ObjectLiteral_ord);
public static final EntityDescriptor<ObjectProperties> ObjectProperties = (EntityDescriptor<ObjectProperties>) instance
.valueOf(ObjectProperties_ord);
public static final EntityDescriptor<ObjectProperty> ObjectProperty = (EntityDescriptor<ObjectProperty>) instance
.valueOf(ObjectProperty_ord);
public static final EntityDescriptor<LiteralOrIdentifier> LiteralOrIdentifier = (EntityDescriptor<LiteralOrIdentifier>) instance
.valueOf(LiteralOrIdentifier_ord);
public static final EntityDescriptor<ArrayLiteral> ArrayLiteral = (EntityDescriptor<ArrayLiteral>) instance
.valueOf(ArrayLiteral_ord);
public static final EntityDescriptor<Statement> Statement = (EntityDescriptor<Statement>) instance
.valueOf(Statement_ord);
public static final EntityDescriptor<Expression> Expression = (EntityDescriptor<Expression>) instance
.valueOf(Expression_ord);
public static final EntityDescriptor<EmptyExpression> EmptyExpression = (EntityDescriptor<EmptyExpression>) instance
.valueOf(EmptyExpression_ord);
public static final EntityDescriptor<ExpressionStatement> ExpressionStatement = (EntityDescriptor<ExpressionStatement>) instance
.valueOf(ExpressionStatement_ord);
public static final EntityDescriptor<IfStatement> IfStatement = (EntityDescriptor<IfStatement>) instance
.valueOf(IfStatement_ord);
public static final EntityDescriptor<LabeledStatement> LabeledStatement = (EntityDescriptor<LabeledStatement>) instance
.valueOf(LabeledStatement_ord);
public static final EntityDescriptor<Labels> Labels = (EntityDescriptor<Labels>) instance
.valueOf(Labels_ord);
public static final EntityDescriptor<Label> Label = (EntityDescriptor<Label>) instance
.valueOf(Label_ord);
public static final EntityDescriptor<Targeting> Targeting = (EntityDescriptor<Targeting>) instance
.valueOf(Targeting_ord);
public static final EntityDescriptor<BreakStatement> BreakStatement = (EntityDescriptor<BreakStatement>) instance
.valueOf(BreakStatement_ord);
public static final EntityDescriptor<ContinueStatement> ContinueStatement = (EntityDescriptor<ContinueStatement>) instance
.valueOf(ContinueStatement_ord);
public static final EntityDescriptor<WithStatement> WithStatement = (EntityDescriptor<WithStatement>) instance
.valueOf(WithStatement_ord);
public static final EntityDescriptor<SwitchStatement> SwitchStatement = (EntityDescriptor<SwitchStatement>) instance
.valueOf(SwitchStatement_ord);
public static final EntityDescriptor<SwitchCases> SwitchCases = (EntityDescriptor<SwitchCases>) instance
.valueOf(SwitchCases_ord);
public static final EntityDescriptor<SwitchCase> SwitchCase = (EntityDescriptor<SwitchCase>) instance
.valueOf(SwitchCase_ord);
public static final EntityDescriptor<ReturnStatement> ReturnStatement = (EntityDescriptor<ReturnStatement>) instance
.valueOf(ReturnStatement_ord);
public static final EntityDescriptor<ThrowStatement> ThrowStatement = (EntityDescriptor<ThrowStatement>) instance
.valueOf(ThrowStatement_ord);
public static final EntityDescriptor<TryStatement> TryStatement = (EntityDescriptor<TryStatement>) instance
.valueOf(TryStatement_ord);
public static final EntityDescriptor<CatchClauses> CatchClauses = (EntityDescriptor<CatchClauses>) instance
.valueOf(CatchClauses_ord);
public static final EntityDescriptor<CatchClause> CatchClause = (EntityDescriptor<CatchClause>) instance
.valueOf(CatchClause_ord);
public static final EntityDescriptor<WhileStatement> WhileStatement = (EntityDescriptor<WhileStatement>) instance
.valueOf(WhileStatement_ord);
public static final EntityDescriptor<DoWhileStatement> DoWhileStatement = (EntityDescriptor<DoWhileStatement>) instance
.valueOf(DoWhileStatement_ord);
public static final EntityDescriptor<VariableDeclarationOrExpression> VariableDeclarationOrExpression = (EntityDescriptor<VariableDeclarationOrExpression>) instance
.valueOf(VariableDeclarationOrExpression_ord);
public static final EntityDescriptor<ForStatement> ForStatement = (EntityDescriptor<ForStatement>) instance
.valueOf(ForStatement_ord);
public static final EntityDescriptor<ForEachIn> ForEachIn = (EntityDescriptor<ForEachIn>) instance
.valueOf(ForEachIn_ord);
public static final EntityDescriptor<ForInStatement> ForInStatement = (EntityDescriptor<ForInStatement>) instance
.valueOf(ForInStatement_ord);
public static final EntityDescriptor<ForEachStatement> ForEachStatement = (EntityDescriptor<ForEachStatement>) instance
.valueOf(ForEachStatement_ord);
public static final EntityDescriptor<Let> Let = (EntityDescriptor<Let>) instance
.valueOf(Let_ord);
public static final EntityDescriptor<LetStatement> LetStatement = (EntityDescriptor<LetStatement>) instance
.valueOf(LetStatement_ord);
public static final EntityDescriptor<VariableInitializers> VariableInitializers = (EntityDescriptor<VariableInitializers>) instance
.valueOf(VariableInitializers_ord);
public static final EntityDescriptor<VariableInitializer> VariableInitializer = (EntityDescriptor<VariableInitializer>) instance
.valueOf(VariableInitializer_ord);
public static final EntityDescriptor<FunctionDeclaration> FunctionDeclaration = (EntityDescriptor<FunctionDeclaration>) instance
.valueOf(FunctionDeclaration_ord);
public static final EntityDescriptor<VariableDeclaration> VariableDeclaration = (EntityDescriptor<VariableDeclaration>) instance
.valueOf(VariableDeclaration_ord);
public static final EntityDescriptor<VariableDeclarationKind> VariableDeclarationKind = (EntityDescriptor<VariableDeclarationKind>) instance
.valueOf(VariableDeclarationKind_ord);
public static final EntityDescriptor<IdentifierOrXmlAny> IdentifierOrXmlAny = (EntityDescriptor<IdentifierOrXmlAny>) instance
.valueOf(IdentifierOrXmlAny_ord);
public static final EntityDescriptor<XmlAny> XmlAny = (EntityDescriptor<XmlAny>) instance
.valueOf(XmlAny_ord);
public static final EntityDescriptor<XmlRef> XmlRef = (EntityDescriptor<XmlRef>) instance
.valueOf(XmlRef_ord);
public static final EntityDescriptor<ComputedXmlRef> ComputedXmlRef = (EntityDescriptor<ComputedXmlRef>) instance
.valueOf(ComputedXmlRef_ord);
public static final EntityDescriptor<StaticXmlRef> StaticXmlRef = (EntityDescriptor<StaticXmlRef>) instance
.valueOf(StaticXmlRef_ord);
public static final EntityDescriptor<XmlMemberGet> XmlMemberGet = (EntityDescriptor<XmlMemberGet>) instance
.valueOf(XmlMemberGet_ord);
public static final EntityDescriptor<XmlDotQuery> XmlDotQuery = (EntityDescriptor<XmlDotQuery>) instance
.valueOf(XmlDotQuery_ord);
public static final EntityDescriptor<XmlMemberOperator> XmlMemberOperator = (EntityDescriptor<XmlMemberOperator>) instance
.valueOf(XmlMemberOperator_ord);
public static final EntityDescriptor<XmlLiteral> XmlLiteral = (EntityDescriptor<XmlLiteral>) instance
.valueOf(XmlLiteral_ord);
public static final EntityDescriptor<XmlFragments> XmlFragments = (EntityDescriptor<XmlFragments>) instance
.valueOf(XmlFragments_ord);
public static final EntityDescriptor<XmlFragment> XmlFragment = (EntityDescriptor<XmlFragment>) instance
.valueOf(XmlFragment_ord);
public static final EntityDescriptor<XmlString> XmlString = (EntityDescriptor<XmlString>) instance
.valueOf(XmlString_ord);
public static final EntityDescriptor<XmlExpression> XmlExpression = (EntityDescriptor<XmlExpression>) instance
.valueOf(XmlExpression_ord);
public static final EntityDescriptor<XmlDefaultNamespace> XmlDefaultNamespace = (EntityDescriptor<XmlDefaultNamespace>) instance
.valueOf(XmlDefaultNamespace_ord);
public static final EntityDescriptor<FunctionExpression> FunctionExpression = (EntityDescriptor<FunctionExpression>) instance
.valueOf(FunctionExpression_ord);
public static final EntityDescriptor<Expressions> Expressions = (EntityDescriptor<Expressions>) instance
.valueOf(Expressions_ord);
public static final EntityDescriptor<ParenthesizedExpression> ParenthesizedExpression = (EntityDescriptor<ParenthesizedExpression>) instance
.valueOf(ParenthesizedExpression_ord);
public static final EntityDescriptor<UnaryExpression> UnaryExpression = (EntityDescriptor<UnaryExpression>) instance
.valueOf(UnaryExpression_ord);
public static final EntityDescriptor<PrefixExpression> PrefixExpression = (EntityDescriptor<PrefixExpression>) instance
.valueOf(PrefixExpression_ord);
public static final EntityDescriptor<PostfixExpression> PostfixExpression = (EntityDescriptor<PostfixExpression>) instance
.valueOf(PostfixExpression_ord);
public static final EntityDescriptor<PrefixOperator> PrefixOperator = (EntityDescriptor<PrefixOperator>) instance
.valueOf(PrefixOperator_ord);
public static final EntityDescriptor<PostfixOperator> PostfixOperator = (EntityDescriptor<PostfixOperator>) instance
.valueOf(PostfixOperator_ord);
public static final EntityDescriptor<BinaryExpression> BinaryExpression = (EntityDescriptor<BinaryExpression>) instance
.valueOf(BinaryExpression_ord);
public static final EntityDescriptor<InfixExpression> InfixExpression = (EntityDescriptor<InfixExpression>) instance
.valueOf(InfixExpression_ord);
public static final EntityDescriptor<InfixOperator> InfixOperator = (EntityDescriptor<InfixOperator>) instance
.valueOf(InfixOperator_ord);
public static final EntityDescriptor<AssignmentExpression> AssignmentExpression = (EntityDescriptor<AssignmentExpression>) instance
.valueOf(AssignmentExpression_ord);
public static final EntityDescriptor<AssignmentOperator> AssignmentOperator = (EntityDescriptor<AssignmentOperator>) instance
.valueOf(AssignmentOperator_ord);
public static final EntityDescriptor<ConditionalExpression> ConditionalExpression = (EntityDescriptor<ConditionalExpression>) instance
.valueOf(ConditionalExpression_ord);
public static final EntityDescriptor<NewExpression> NewExpression = (EntityDescriptor<NewExpression>) instance
.valueOf(NewExpression_ord);
public static final EntityDescriptor<CallExpression> CallExpression = (EntityDescriptor<CallExpression>) instance
.valueOf(CallExpression_ord);
public static final EntityDescriptor<MemberExpression> MemberExpression = (EntityDescriptor<MemberExpression>) instance
.valueOf(MemberExpression_ord);
public static final EntityDescriptor<ComputedMemberExpression> ComputedMemberExpression = (EntityDescriptor<ComputedMemberExpression>) instance
.valueOf(ComputedMemberExpression_ord);
public static final EntityDescriptor<StaticMemberExpression> StaticMemberExpression = (EntityDescriptor<StaticMemberExpression>) instance
.valueOf(StaticMemberExpression_ord);
public static final EntityDescriptor<YieldExpression> YieldExpression = (EntityDescriptor<YieldExpression>) instance
.valueOf(YieldExpression_ord);
public static final EntityDescriptor<ComprehensionExpression> ComprehensionExpression = (EntityDescriptor<ComprehensionExpression>) instance
.valueOf(ComprehensionExpression_ord);
public static final EntityDescriptor<ArrayComprehensionExpression> ArrayComprehensionExpression = (EntityDescriptor<ArrayComprehensionExpression>) instance
.valueOf(ArrayComprehensionExpression_ord);
public static final EntityDescriptor<ComprehensionBlocks> ComprehensionBlocks = (EntityDescriptor<ComprehensionBlocks>) instance
.valueOf(ComprehensionBlocks_ord);
public static final EntityDescriptor<ComprehensionBlock> ComprehensionBlock = (EntityDescriptor<ComprehensionBlock>) instance
.valueOf(ComprehensionBlock_ord);
public static final EntityDescriptor<ForInComprehensionBlock> ForInComprehensionBlock = (EntityDescriptor<ForInComprehensionBlock>) instance
.valueOf(ForInComprehensionBlock_ord);
public static final EntityDescriptor<ForEachComprehensionBlock> ForEachComprehensionBlock = (EntityDescriptor<ForEachComprehensionBlock>) instance
.valueOf(ForEachComprehensionBlock_ord);
public static final EntityDescriptor<LetExpression> LetExpression = (EntityDescriptor<LetExpression>) instance
.valueOf(LetExpression_ord);
public static final EntityDescriptor<Identifier> Identifier = (EntityDescriptor<Identifier>) instance
.valueOf(Identifier_ord);
public static final EntityDescriptor<Literal> Literal = (EntityDescriptor<Literal>) instance
.valueOf(Literal_ord);
public static final EntityDescriptor<NullLiteral> NullLiteral = (EntityDescriptor<NullLiteral>) instance
.valueOf(NullLiteral_ord);
public static final EntityDescriptor<ThisLiteral> ThisLiteral = (EntityDescriptor<ThisLiteral>) instance
.valueOf(ThisLiteral_ord);
public static final EntityDescriptor<StringLiteral> StringLiteral = (EntityDescriptor<StringLiteral>) instance
.valueOf(StringLiteral_ord);
public static final EntityDescriptor<BooleanLiteral> BooleanLiteral = (EntityDescriptor<BooleanLiteral>) instance
.valueOf(BooleanLiteral_ord);
public static final EntityDescriptor<NumberLiteral> NumberLiteral = (EntityDescriptor<NumberLiteral>) instance
.valueOf(NumberLiteral_ord);
public static final EntityDescriptor<RegExpLiteral> RegExpLiteral = (EntityDescriptor<RegExpLiteral>) instance
.valueOf(RegExpLiteral_ord);
public static final EntityDescriptor<BooleanData> BooleanData = (EntityDescriptor<BooleanData>) instance
.valueOf(BooleanData_ord);
public static final EntityDescriptor<StringData> StringData = (EntityDescriptor<StringData>) instance
.valueOf(StringData_ord);
private JavaScriptEntityDescriptorEnum() {
}
private static final long serialVersionUID = 1;
protected void initEntityDescriptors() {
putSimpleEntity(Program_ord, "Program", Program.class, false)
.withFeature(JavaScriptFeatureDescriptorEnum.statements,
Statements_ord);
putCompositeEntity(
Statements_ord, "Statements", Statements.class, false, Statement_ord, true, false);
putSimpleEntity(Comment_ord, "Comment", Comment.class, false)
.withFeature(JavaScriptFeatureDescriptorEnum.kind,
CommentKind_ord).withFeature(
JavaScriptFeatureDescriptorEnum.contents,
StringData_ord);
putDataEntity(CommentKind_ord, "CommentKind", CommentKind.class, false,
CommentKindEnum.Value.class);
putSimpleEntity(FunctionBody_ord, "FunctionBody", FunctionBody.class,
true, ComputedMemberExpression_ord, AssignmentExpression_ord,
NullLiteral_ord, Expressions_ord, XmlLiteral_ord,
ComputedXmlRef_ord, ComprehensionExpression_ord,
NumberLiteral_ord, ConditionalExpression_ord,
PrefixExpression_ord, Statements_ord,
StaticMemberExpression_ord, RegExpLiteral_ord,
XmlDefaultNamespace_ord, Expression_ord, XmlMemberGet_ord,
Identifier_ord, XmlDotQuery_ord, YieldExpression_ord,
FunctionExpression_ord, StringLiteral_ord,
BinaryExpression_ord, LetExpression_ord, XmlAny_ord,
ArrayLiteral_ord, ObjectLiteral_ord, EmptyExpression_ord,
Literal_ord, InfixExpression_ord, ParenthesizedExpression_ord,
NewExpression_ord, CallExpression_ord, MemberExpression_ord,
UnaryExpression_ord, PostfixExpression_ord, BooleanLiteral_ord,
ArrayComprehensionExpression_ord, ThisLiteral_ord,
StaticXmlRef_ord, XmlRef_ord);
putSimpleEntity(Function_ord, "Function", Function.class, true,
FunctionExpression_ord, FunctionDeclaration_ord)
.withFeature(JavaScriptFeatureDescriptorEnum.id,
Identifier_ord, true, false, false, false, false)
.withFeature(JavaScriptFeatureDescriptorEnum.params,
Expressions_ord, true, false, false, false, false)
.withFeature(JavaScriptFeatureDescriptorEnum.body,
FunctionBody_ord);
putSimpleEntity(DestructuringForm_ord, "DestructuringForm",
DestructuringForm.class, true, ArrayLiteral_ord,
ObjectLiteral_ord).withFeature(
JavaScriptFeatureDescriptorEnum.destructuring, BooleanData_ord);
putSimpleEntity(ObjectLiteral_ord, "ObjectLiteral",
ObjectLiteral.class, false).withFeature(
JavaScriptFeatureDescriptorEnum.destructuring, BooleanData_ord)
.withFeature(JavaScriptFeatureDescriptorEnum.properties,
ObjectProperties_ord);
putCompositeEntity(
ObjectProperties_ord, "ObjectProperties", ObjectProperties.class, false, ObjectProperty_ord, true, false);
putSimpleEntity(ObjectProperty_ord, "ObjectProperty",
ObjectProperty.class, false).withFeature(
JavaScriptFeatureDescriptorEnum.key, LiteralOrIdentifier_ord)
.withFeature(JavaScriptFeatureDescriptorEnum.value,
Expression_ord);
putSimpleEntity(LiteralOrIdentifier_ord, "LiteralOrIdentifier",
LiteralOrIdentifier.class, true, StringLiteral_ord,
NullLiteral_ord, Literal_ord, RegExpLiteral_ord,
XmlLiteral_ord, NumberLiteral_ord, Identifier_ord,
BooleanLiteral_ord, ThisLiteral_ord);
putSimpleEntity(ArrayLiteral_ord, "ArrayLiteral", ArrayLiteral.class,
false).withFeature(
JavaScriptFeatureDescriptorEnum.destructuring, BooleanData_ord)
.withFeature(JavaScriptFeatureDescriptorEnum.elements,
Expressions_ord);
putSimpleEntity(Statement_ord, "Statement", Statement.class, true,
ExpressionStatement_ord, WhileStatement_ord, ForEachIn_ord,
Targeting_ord, Statements_ord, VariableDeclaration_ord,
DoWhileStatement_ord, LabeledStatement_ord,
SwitchStatement_ord, ComprehensionBlock_ord, ForStatement_ord,
ForEachStatement_ord, ThrowStatement_ord,
ContinueStatement_ord, FunctionDeclaration_ord,
BreakStatement_ord, LetStatement_ord, Comment_ord,
ReturnStatement_ord, ForEachComprehensionBlock_ord,
IfStatement_ord, ForInComprehensionBlock_ord,
WithStatement_ord, TryStatement_ord, ForInStatement_ord);
putSimpleEntity(Expression_ord, "Expression", Expression.class, true,
ComputedMemberExpression_ord, AssignmentExpression_ord,
NullLiteral_ord, Expressions_ord, XmlLiteral_ord,
ComputedXmlRef_ord, ComprehensionExpression_ord,
NumberLiteral_ord, ConditionalExpression_ord,
PrefixExpression_ord, StaticMemberExpression_ord,
RegExpLiteral_ord, XmlDefaultNamespace_ord, XmlMemberGet_ord,
Identifier_ord, XmlDotQuery_ord, YieldExpression_ord,
StringLiteral_ord, FunctionExpression_ord,
BinaryExpression_ord, LetExpression_ord, XmlAny_ord,
ArrayLiteral_ord, ObjectLiteral_ord, EmptyExpression_ord,
Literal_ord, InfixExpression_ord, ParenthesizedExpression_ord,
NewExpression_ord, CallExpression_ord, MemberExpression_ord,
UnaryExpression_ord, PostfixExpression_ord, BooleanLiteral_ord,
ArrayComprehensionExpression_ord, ThisLiteral_ord,
StaticXmlRef_ord, XmlRef_ord);
putSimpleEntity(EmptyExpression_ord, "EmptyExpression",
EmptyExpression.class, false);
putSimpleEntity(ExpressionStatement_ord, "ExpressionStatement",
ExpressionStatement.class, false).withFeature(
JavaScriptFeatureDescriptorEnum.expression, Expression_ord);
putSimpleEntity(IfStatement_ord, "IfStatement", IfStatement.class,
false)
.withFeature(JavaScriptFeatureDescriptorEnum.test,
Expression_ord)
.withFeature(JavaScriptFeatureDescriptorEnum.consequent,
Statement_ord)
.withFeature(JavaScriptFeatureDescriptorEnum.alternate,
Statement_ord, true, false, false, false, false);
putSimpleEntity(LabeledStatement_ord, "LabeledStatement",
LabeledStatement.class, false).withFeature(
JavaScriptFeatureDescriptorEnum.labels, Labels_ord)
.withFeature(JavaScriptFeatureDescriptorEnum.body,
Statement_ord);
putCompositeEntity(
Labels_ord, "Labels", Labels.class, false, Label_ord, true, false);
putSimpleEntity(Label_ord, "Label", Label.class, false).withFeature(
JavaScriptFeatureDescriptorEnum.name, Identifier_ord);
putSimpleEntity(Targeting_ord, "Targeting", Targeting.class, true,
ContinueStatement_ord, BreakStatement_ord).withFeature(
JavaScriptFeatureDescriptorEnum.target, Identifier_ord, true,
false, false, false, false);
putSimpleEntity(BreakStatement_ord, "BreakStatement",
BreakStatement.class, false).withFeature(
JavaScriptFeatureDescriptorEnum.target, Identifier_ord, true,
false, false, false, false);
putSimpleEntity(ContinueStatement_ord, "ContinueStatement",
ContinueStatement.class, false).withFeature(
JavaScriptFeatureDescriptorEnum.target, Identifier_ord, true,
false, false, false, false);
putSimpleEntity(WithStatement_ord, "WithStatement",
WithStatement.class, false).withFeature(
JavaScriptFeatureDescriptorEnum.object, Expression_ord)
.withFeature(JavaScriptFeatureDescriptorEnum.body,
Statement_ord);
putSimpleEntity(SwitchStatement_ord, "SwitchStatement",
SwitchStatement.class, false).withFeature(
JavaScriptFeatureDescriptorEnum.expression, Expression_ord)
.withFeature(JavaScriptFeatureDescriptorEnum.cases,
SwitchCases_ord);
putCompositeEntity(
SwitchCases_ord, "SwitchCases", SwitchCases.class, false, SwitchCase_ord, true, false);
putSimpleEntity(SwitchCase_ord, "SwitchCase", SwitchCase.class, false)
.withFeature(JavaScriptFeatureDescriptorEnum.test,
Expression_ord, true, false, false, false, false)
.withFeature(JavaScriptFeatureDescriptorEnum.statements,
Statements_ord);
putSimpleEntity(ReturnStatement_ord, "ReturnStatement",
ReturnStatement.class, false).withFeature(
JavaScriptFeatureDescriptorEnum.argument, Expression_ord, true,
false, false, false, false);
putSimpleEntity(ThrowStatement_ord, "ThrowStatement",
ThrowStatement.class, false).withFeature(
JavaScriptFeatureDescriptorEnum.argument, Expression_ord);
putSimpleEntity(TryStatement_ord, "TryStatement", TryStatement.class,
false)
.withFeature(JavaScriptFeatureDescriptorEnum._try,
Statements_ord)
.withFeature(JavaScriptFeatureDescriptorEnum.handlers,
CatchClauses_ord, true, false, false, false, false)
.withFeature(JavaScriptFeatureDescriptorEnum._finally,
Statements_ord, true, false, false, false, false);
putCompositeEntity(
CatchClauses_ord, "CatchClauses", CatchClauses.class, false, CatchClause_ord, true, false);
putSimpleEntity(CatchClause_ord, "CatchClause", CatchClause.class,
false)
.withFeature(JavaScriptFeatureDescriptorEnum.param,
Expression_ord)
.withFeature(JavaScriptFeatureDescriptorEnum.guard,
Expression_ord, true, false, false, false, false)
.withFeature(JavaScriptFeatureDescriptorEnum.body,
Statements_ord);
putSimpleEntity(WhileStatement_ord, "WhileStatement",
WhileStatement.class, false).withFeature(
JavaScriptFeatureDescriptorEnum.test, Expression_ord)
.withFeature(JavaScriptFeatureDescriptorEnum.body,
Statement_ord);
putSimpleEntity(DoWhileStatement_ord, "DoWhileStatement",
DoWhileStatement.class, false).withFeature(
JavaScriptFeatureDescriptorEnum.body, Statement_ord)
.withFeature(JavaScriptFeatureDescriptorEnum.test,
Expression_ord);
putSimpleEntity(VariableDeclarationOrExpression_ord,
"VariableDeclarationOrExpression",
VariableDeclarationOrExpression.class, true,
ComputedMemberExpression_ord, AssignmentExpression_ord,
NullLiteral_ord, Expressions_ord, XmlLiteral_ord,
ComputedXmlRef_ord, ComprehensionExpression_ord,
NumberLiteral_ord, ConditionalExpression_ord,
PrefixExpression_ord, VariableDeclaration_ord,
StaticMemberExpression_ord, RegExpLiteral_ord,
XmlDefaultNamespace_ord, Expression_ord, XmlMemberGet_ord,
Identifier_ord, XmlDotQuery_ord, YieldExpression_ord,
FunctionExpression_ord, StringLiteral_ord,
BinaryExpression_ord, LetExpression_ord, XmlAny_ord,
ArrayLiteral_ord, ObjectLiteral_ord, EmptyExpression_ord,
Literal_ord, InfixExpression_ord, ParenthesizedExpression_ord,
NewExpression_ord, CallExpression_ord, MemberExpression_ord,
UnaryExpression_ord, PostfixExpression_ord, BooleanLiteral_ord,
ArrayComprehensionExpression_ord, ThisLiteral_ord,
StaticXmlRef_ord, XmlRef_ord);
putSimpleEntity(ForStatement_ord, "ForStatement", ForStatement.class,
false)
.withFeature(JavaScriptFeatureDescriptorEnum.init,
VariableDeclarationOrExpression_ord, true, false,
false, false, false)
.withFeature(JavaScriptFeatureDescriptorEnum.test,
Expression_ord, true, false, false, false, false)
.withFeature(JavaScriptFeatureDescriptorEnum.update,
Expression_ord, true, false, false, false, false)
.withFeature(JavaScriptFeatureDescriptorEnum.body,
Statement_ord);
putSimpleEntity(ForEachIn_ord, "ForEachIn", ForEachIn.class, true,
ForEachStatement_ord, ForInStatement_ord)
.withFeature(JavaScriptFeatureDescriptorEnum.iterator,
VariableDeclarationOrExpression_ord)
.withFeature(JavaScriptFeatureDescriptorEnum.iterated,
Expression_ord)
.withFeature(JavaScriptFeatureDescriptorEnum.body,
Statement_ord);
putSimpleEntity(ForInStatement_ord, "ForInStatement",
ForInStatement.class, false)
.withFeature(JavaScriptFeatureDescriptorEnum.iterator,
VariableDeclarationOrExpression_ord)
.withFeature(JavaScriptFeatureDescriptorEnum.iterated,
Expression_ord)
.withFeature(JavaScriptFeatureDescriptorEnum.body,
Statement_ord);
putSimpleEntity(ForEachStatement_ord, "ForEachStatement",
ForEachStatement.class, false)
.withFeature(JavaScriptFeatureDescriptorEnum.iterator,
VariableDeclarationOrExpression_ord)
.withFeature(JavaScriptFeatureDescriptorEnum.iterated,
Expression_ord)
.withFeature(JavaScriptFeatureDescriptorEnum.body,
Statement_ord);
putSimpleEntity(Let_ord, "Let", Let.class, true, LetStatement_ord,
LetExpression_ord).withFeature(
JavaScriptFeatureDescriptorEnum.variables,
VariableInitializers_ord);
putSimpleEntity(LetStatement_ord, "LetStatement", LetStatement.class,
false).withFeature(JavaScriptFeatureDescriptorEnum.variables,
VariableInitializers_ord).withFeature(
JavaScriptFeatureDescriptorEnum.body, Statement_ord);
putCompositeEntity(
VariableInitializers_ord, "VariableInitializers", VariableInitializers.class, false, VariableInitializer_ord, true, false);
putSimpleEntity(VariableInitializer_ord, "VariableInitializer",
VariableInitializer.class, false).withFeature(
JavaScriptFeatureDescriptorEnum.id, Expression_ord)
.withFeature(JavaScriptFeatureDescriptorEnum.init,
Expression_ord, true, false, false, false, false);
putSimpleEntity(FunctionDeclaration_ord, "FunctionDeclaration",
FunctionDeclaration.class, false)
.withFeature(JavaScriptFeatureDescriptorEnum.id, Identifier_ord)
.withFeature(JavaScriptFeatureDescriptorEnum.params,
Expressions_ord, true, false, false, false, false)
.withFeature(JavaScriptFeatureDescriptorEnum.body,
FunctionBody_ord);
putSimpleEntity(VariableDeclaration_ord, "VariableDeclaration",
VariableDeclaration.class, false).withFeature(
JavaScriptFeatureDescriptorEnum.kind,
VariableDeclarationKind_ord).withFeature(
JavaScriptFeatureDescriptorEnum.variables,
VariableInitializers_ord);
putDataEntity(VariableDeclarationKind_ord, "VariableDeclarationKind",
VariableDeclarationKind.class, false,
VariableDeclarationKindEnum.Value.class);
putSimpleEntity(IdentifierOrXmlAny_ord, "IdentifierOrXmlAny",
IdentifierOrXmlAny.class, true, Identifier_ord, XmlAny_ord);
putSimpleEntity(XmlAny_ord, "XmlAny", XmlAny.class, false);
putSimpleEntity(XmlRef_ord, "XmlRef", XmlRef.class, true,
StaticXmlRef_ord, ComputedXmlRef_ord).withFeature(
JavaScriptFeatureDescriptorEnum.attribute, BooleanData_ord)
.withFeature(JavaScriptFeatureDescriptorEnum.namespace,
IdentifierOrXmlAny_ord, true, false, false, false,
false);
putSimpleEntity(ComputedXmlRef_ord, "ComputedXmlRef",
ComputedXmlRef.class, false)
.withFeature(JavaScriptFeatureDescriptorEnum.attribute,
BooleanData_ord)
.withFeature(JavaScriptFeatureDescriptorEnum.namespace,
IdentifierOrXmlAny_ord, true, false, false, false,
false)
.withFeature(JavaScriptFeatureDescriptorEnum.expression,
Expression_ord);
putSimpleEntity(StaticXmlRef_ord, "StaticXmlRef", StaticXmlRef.class,
false)
.withFeature(JavaScriptFeatureDescriptorEnum.attribute,
BooleanData_ord)
.withFeature(JavaScriptFeatureDescriptorEnum.namespace,
IdentifierOrXmlAny_ord, true, false, false, false,
false)
.withFeature(JavaScriptFeatureDescriptorEnum.property,
IdentifierOrXmlAny_ord);
putSimpleEntity(XmlMemberGet_ord, "XmlMemberGet", XmlMemberGet.class,
false)
.withFeature(JavaScriptFeatureDescriptorEnum.left,
Expression_ord)
.withFeature(JavaScriptFeatureDescriptorEnum.operator,
XmlMemberOperator_ord)
.withFeature(JavaScriptFeatureDescriptorEnum.right,
Expression_ord);
putSimpleEntity(XmlDotQuery_ord, "XmlDotQuery", XmlDotQuery.class,
false).withFeature(JavaScriptFeatureDescriptorEnum.left,
Expression_ord).withFeature(
JavaScriptFeatureDescriptorEnum.right, Expression_ord);
putDataEntity(XmlMemberOperator_ord, "XmlMemberOperator",
XmlMemberOperator.class, false,
XmlMemberOperatorEnum.Value.class);
putSimpleEntity(XmlLiteral_ord, "XmlLiteral", XmlLiteral.class, false)
.withFeature(JavaScriptFeatureDescriptorEnum.fragments,
XmlFragments_ord);
putCompositeEntity(
XmlFragments_ord, "XmlFragments", XmlFragments.class, false, XmlFragment_ord, true, false);
putSimpleEntity(XmlFragment_ord, "XmlFragment", XmlFragment.class,
true, XmlExpression_ord, XmlString_ord);
putSimpleEntity(XmlString_ord, "XmlString", XmlString.class, false)
.withFeature(JavaScriptFeatureDescriptorEnum.xml,
StringData_ord);
putSimpleEntity(XmlExpression_ord, "XmlExpression",
XmlExpression.class, false).withFeature(
JavaScriptFeatureDescriptorEnum.expression, Expression_ord);
putSimpleEntity(XmlDefaultNamespace_ord, "XmlDefaultNamespace",
XmlDefaultNamespace.class, false).withFeature(
JavaScriptFeatureDescriptorEnum.operand, Expression_ord);
putSimpleEntity(FunctionExpression_ord, "FunctionExpression",
FunctionExpression.class, false)
.withFeature(JavaScriptFeatureDescriptorEnum.id,
Identifier_ord, true, false, false, false, false)
.withFeature(JavaScriptFeatureDescriptorEnum.params,
Expressions_ord, true, false, false, false, false)
.withFeature(JavaScriptFeatureDescriptorEnum.body,
FunctionBody_ord);
putCompositeEntity(
Expressions_ord, "Expressions", Expressions.class, false, Expression_ord, true, false);
putSimpleEntity(ParenthesizedExpression_ord, "ParenthesizedExpression",
ParenthesizedExpression.class, false).withFeature(
JavaScriptFeatureDescriptorEnum.expression, Expression_ord);
putSimpleEntity(UnaryExpression_ord, "UnaryExpression",
UnaryExpression.class, true, PostfixExpression_ord,
PrefixExpression_ord, XmlDefaultNamespace_ord).withFeature(
JavaScriptFeatureDescriptorEnum.operand, Expression_ord);
putSimpleEntity(PrefixExpression_ord, "PrefixExpression",
PrefixExpression.class, false).withFeature(
JavaScriptFeatureDescriptorEnum.operator, PrefixOperator_ord)
.withFeature(JavaScriptFeatureDescriptorEnum.operand,
Expression_ord);
putSimpleEntity(PostfixExpression_ord, "PostfixExpression",
PostfixExpression.class, false).withFeature(
JavaScriptFeatureDescriptorEnum.operand, Expression_ord)
.withFeature(JavaScriptFeatureDescriptorEnum.operator,
PostfixOperator_ord);
putDataEntity(PrefixOperator_ord, "PrefixOperator",
PrefixOperator.class, false, PrefixOperatorEnum.Value.class);
putDataEntity(PostfixOperator_ord, "PostfixOperator",
PostfixOperator.class, false, PostfixOperatorEnum.Value.class);
putSimpleEntity(BinaryExpression_ord, "BinaryExpression",
BinaryExpression.class, true, AssignmentExpression_ord,
XmlMemberGet_ord, InfixExpression_ord, XmlDotQuery_ord)
.withFeature(JavaScriptFeatureDescriptorEnum.left,
Expression_ord).withFeature(
JavaScriptFeatureDescriptorEnum.right, Expression_ord);
putSimpleEntity(InfixExpression_ord, "InfixExpression",
InfixExpression.class, false)
.withFeature(JavaScriptFeatureDescriptorEnum.left,
Expression_ord)
.withFeature(JavaScriptFeatureDescriptorEnum.operator,
InfixOperator_ord)
.withFeature(JavaScriptFeatureDescriptorEnum.right,
Expression_ord);
putDataEntity(InfixOperator_ord, "InfixOperator", InfixOperator.class,
false, InfixOperatorEnum.Value.class);
putSimpleEntity(AssignmentExpression_ord, "AssignmentExpression",
AssignmentExpression.class, false)
.withFeature(JavaScriptFeatureDescriptorEnum.left,
Expression_ord)
.withFeature(JavaScriptFeatureDescriptorEnum.operator,
AssignmentOperator_ord)
.withFeature(JavaScriptFeatureDescriptorEnum.right,
Expression_ord);
putDataEntity(AssignmentOperator_ord, "AssignmentOperator",
AssignmentOperator.class, false,
AssignmentOperatorEnum.Value.class);
putSimpleEntity(ConditionalExpression_ord, "ConditionalExpression",
ConditionalExpression.class, false)
.withFeature(JavaScriptFeatureDescriptorEnum.test,
Expression_ord)
.withFeature(JavaScriptFeatureDescriptorEnum.consequent,
Expression_ord)
.withFeature(JavaScriptFeatureDescriptorEnum.alternate,
Expression_ord);
putSimpleEntity(NewExpression_ord, "NewExpression",
NewExpression.class, false).withFeature(
JavaScriptFeatureDescriptorEnum.constructor, Expression_ord)
.withFeature(JavaScriptFeatureDescriptorEnum.arguments,
Expressions_ord, true, false, false, false, false);
putSimpleEntity(CallExpression_ord, "CallExpression",
CallExpression.class, false).withFeature(
JavaScriptFeatureDescriptorEnum.callee, Expression_ord)
.withFeature(JavaScriptFeatureDescriptorEnum.arguments,
Expressions_ord, true, false, false, false, false);
putSimpleEntity(MemberExpression_ord, "MemberExpression",
MemberExpression.class, true, StaticMemberExpression_ord,
ComputedMemberExpression_ord).withFeature(
JavaScriptFeatureDescriptorEnum.object, Expression_ord);
putSimpleEntity(ComputedMemberExpression_ord,
"ComputedMemberExpression", ComputedMemberExpression.class,
false).withFeature(JavaScriptFeatureDescriptorEnum.object,
Expression_ord).withFeature(
JavaScriptFeatureDescriptorEnum.expression, Expression_ord);
putSimpleEntity(StaticMemberExpression_ord, "StaticMemberExpression",
StaticMemberExpression.class, false).withFeature(
JavaScriptFeatureDescriptorEnum.object, Expression_ord)
.withFeature(JavaScriptFeatureDescriptorEnum.property,
IdentifierOrXmlAny_ord);
putSimpleEntity(YieldExpression_ord, "YieldExpression",
YieldExpression.class, false).withFeature(
JavaScriptFeatureDescriptorEnum.argument, Expression_ord);
putSimpleEntity(ComprehensionExpression_ord, "ComprehensionExpression",
ComprehensionExpression.class, true,
ArrayComprehensionExpression_ord)
.withFeature(JavaScriptFeatureDescriptorEnum.expression,
Expression_ord)
.withFeature(JavaScriptFeatureDescriptorEnum.blocks,
ComprehensionBlocks_ord)
.withFeature(JavaScriptFeatureDescriptorEnum.filter,
Expression_ord, true, false, false, false, false);
putSimpleEntity(ArrayComprehensionExpression_ord,
"ArrayComprehensionExpression",
ArrayComprehensionExpression.class, false)
.withFeature(JavaScriptFeatureDescriptorEnum.expression,
Expression_ord)
.withFeature(JavaScriptFeatureDescriptorEnum.blocks,
ComprehensionBlocks_ord)
.withFeature(JavaScriptFeatureDescriptorEnum.filter,
Expression_ord, true, false, false, false, false);
putCompositeEntity(
ComprehensionBlocks_ord, "ComprehensionBlocks", ComprehensionBlocks.class, false, ComprehensionBlock_ord, true, false);
putSimpleEntity(ComprehensionBlock_ord, "ComprehensionBlock",
ComprehensionBlock.class, true, ForEachComprehensionBlock_ord,
ForInComprehensionBlock_ord).withFeature(
JavaScriptFeatureDescriptorEnum.iterator, Expression_ord)
.withFeature(JavaScriptFeatureDescriptorEnum.iterated,
Expression_ord);
putSimpleEntity(ForInComprehensionBlock_ord, "ForInComprehensionBlock",
ForInComprehensionBlock.class, false).withFeature(
JavaScriptFeatureDescriptorEnum.iterator, Expression_ord)
.withFeature(JavaScriptFeatureDescriptorEnum.iterated,
Expression_ord);
putSimpleEntity(ForEachComprehensionBlock_ord,
"ForEachComprehensionBlock", ForEachComprehensionBlock.class,
false).withFeature(JavaScriptFeatureDescriptorEnum.iterator,
Expression_ord).withFeature(
JavaScriptFeatureDescriptorEnum.iterated, Expression_ord);
putSimpleEntity(LetExpression_ord, "LetExpression",
LetExpression.class, false).withFeature(
JavaScriptFeatureDescriptorEnum.variables,
VariableInitializers_ord).withFeature(
JavaScriptFeatureDescriptorEnum.expression, Expression_ord);
putDataEntity(Identifier_ord, "Identifier", Identifier.class, false,
String.class);
putSimpleEntity(Literal_ord, "Literal", Literal.class, true,
StringLiteral_ord, NullLiteral_ord, RegExpLiteral_ord,
XmlLiteral_ord, NumberLiteral_ord, BooleanLiteral_ord,
ThisLiteral_ord);
putSimpleEntity(NullLiteral_ord, "NullLiteral", NullLiteral.class,
false);
putSimpleEntity(ThisLiteral_ord, "ThisLiteral", ThisLiteral.class,
false);
putSimpleEntity(StringLiteral_ord, "StringLiteral",
StringLiteral.class, false).withFeature(
JavaScriptFeatureDescriptorEnum.value, StringData_ord)
.withFeature(JavaScriptFeatureDescriptorEnum.quote,
StringData_ord);
putDataEntity(BooleanLiteral_ord, "BooleanLiteral",
BooleanLiteral.class, false, boolean.class);
putDataEntity(NumberLiteral_ord, "NumberLiteral", NumberLiteral.class,
false, double.class);
putSimpleEntity(RegExpLiteral_ord, "RegExpLiteral",
RegExpLiteral.class, false).withFeature(
JavaScriptFeatureDescriptorEnum.value, StringData_ord)
.withFeature(JavaScriptFeatureDescriptorEnum.flags,
StringData_ord, true, false, false, false, false);
putDataEntity(BooleanData_ord, "BooleanData", BooleanData.class, false,
boolean.class);
putDataEntity(StringData_ord, "StringData", StringData.class, false,
String.class);
}
protected void initForeignTypeRelations() {
setAssignableFromForeignType(true,
"http://lang.whole.org/Text#Document", XmlLiteral_ord);
setAssignableFromForeignType(true,
"http://lang.whole.org/Xml#Document", XmlLiteral_ord);
setAssignableToForeignType(true,
"http://lang.whole.org/Text#IText", XmlExpression_ord);
}
}