package org.whole.examples.lang.imp.reflect;
import org.whole.lang.reflect.EntityDescriptorEnum;
import org.whole.lang.reflect.EntityDescriptor;
import org.whole.examples.lang.imp.model.*;
/**
* @generator Whole
*/
@SuppressWarnings("unchecked")
public class ImpEntityDescriptorEnum extends EntityDescriptorEnum {
public static final int FunctionDeclaration_ord = 0;
public static final int Parameters_ord = 1;
public static final int Parameter_ord = 2;
public static final int VariableDeclaration_ord = 3;
public static final int Declaration_ord = 4;
public static final int EmptyStatement_ord = 5;
public static final int ReturnStatement_ord = 6;
public static final int IfStatement_ord = 7;
public static final int IfElseStatement_ord = 8;
public static final int WhileStatement_ord = 9;
public static final int DoWhileStatement_ord = 10;
public static final int ForStatement_ord = 11;
public static final int ForeachStatement_ord = 12;
public static final int BlockStatement_ord = 13;
public static final int PrintStatement_ord = 14;
public static final int PrintlnStatement_ord = 15;
public static final int SaveStatement_ord = 16;
public static final int ExpressionStatement_ord = 17;
public static final int LoadExpression_ord = 18;
public static final int FunctionInvocationExpression_ord = 19;
public static final int Arguments_ord = 20;
public static final int AssignmentExpression_ord = 21;
public static final int RunExpression_ord = 22;
public static final int SizeExpression_ord = 23;
public static final int Literal_ord = 24;
public static final int BooleanLiteral_ord = 25;
public static final int IntLiteral_ord = 26;
public static final int StringLiteral_ord = 27;
public static final int RangeLiteral_ord = 28;
public static final int ArrayLiteral_ord = 29;
public static final int Name_ord = 30;
public static final int NameExpression_ord = 31;
public static final int PrimitiveType_ord = 32;
public static final int ArrayType_ord = 33;
public static final int ArrayAccess_ord = 34;
public static final int Addition_ord = 35;
public static final int Subtraction_ord = 36;
public static final int Multiplication_ord = 37;
public static final int Division_ord = 38;
public static final int Remainder_ord = 39;
public static final int And_ord = 40;
public static final int Or_ord = 41;
public static final int Not_ord = 42;
public static final int Equals_ord = 43;
public static final int NotEquals_ord = 44;
public static final int LessThan_ord = 45;
public static final int LessOrEquals_ord = 46;
public static final int GreaterThan_ord = 47;
public static final int GreaterOrEquals_ord = 48;
public static final int Type_ord = 49;
public static final int Statement_ord = 50;
public static final int Expression_ord = 51;
public static final ImpEntityDescriptorEnum instance = new ImpEntityDescriptorEnum();
public static final EntityDescriptor<FunctionDeclaration> FunctionDeclaration = (EntityDescriptor<FunctionDeclaration>) instance
.valueOf(FunctionDeclaration_ord);
public static final EntityDescriptor<Parameters> Parameters = (EntityDescriptor<Parameters>) instance
.valueOf(Parameters_ord);
public static final EntityDescriptor<Parameter> Parameter = (EntityDescriptor<Parameter>) instance
.valueOf(Parameter_ord);
public static final EntityDescriptor<VariableDeclaration> VariableDeclaration = (EntityDescriptor<VariableDeclaration>) instance
.valueOf(VariableDeclaration_ord);
public static final EntityDescriptor<Declaration> Declaration = (EntityDescriptor<Declaration>) instance
.valueOf(Declaration_ord);
public static final EntityDescriptor<EmptyStatement> EmptyStatement = (EntityDescriptor<EmptyStatement>) instance
.valueOf(EmptyStatement_ord);
public static final EntityDescriptor<ReturnStatement> ReturnStatement = (EntityDescriptor<ReturnStatement>) instance
.valueOf(ReturnStatement_ord);
public static final EntityDescriptor<IfStatement> IfStatement = (EntityDescriptor<IfStatement>) instance
.valueOf(IfStatement_ord);
public static final EntityDescriptor<IfElseStatement> IfElseStatement = (EntityDescriptor<IfElseStatement>) instance
.valueOf(IfElseStatement_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<ForStatement> ForStatement = (EntityDescriptor<ForStatement>) instance
.valueOf(ForStatement_ord);
public static final EntityDescriptor<ForeachStatement> ForeachStatement = (EntityDescriptor<ForeachStatement>) instance
.valueOf(ForeachStatement_ord);
public static final EntityDescriptor<BlockStatement> BlockStatement = (EntityDescriptor<BlockStatement>) instance
.valueOf(BlockStatement_ord);
public static final EntityDescriptor<PrintStatement> PrintStatement = (EntityDescriptor<PrintStatement>) instance
.valueOf(PrintStatement_ord);
public static final EntityDescriptor<PrintlnStatement> PrintlnStatement = (EntityDescriptor<PrintlnStatement>) instance
.valueOf(PrintlnStatement_ord);
public static final EntityDescriptor<SaveStatement> SaveStatement = (EntityDescriptor<SaveStatement>) instance
.valueOf(SaveStatement_ord);
public static final EntityDescriptor<ExpressionStatement> ExpressionStatement = (EntityDescriptor<ExpressionStatement>) instance
.valueOf(ExpressionStatement_ord);
public static final EntityDescriptor<LoadExpression> LoadExpression = (EntityDescriptor<LoadExpression>) instance
.valueOf(LoadExpression_ord);
public static final EntityDescriptor<FunctionInvocationExpression> FunctionInvocationExpression = (EntityDescriptor<FunctionInvocationExpression>) instance
.valueOf(FunctionInvocationExpression_ord);
public static final EntityDescriptor<Arguments> Arguments = (EntityDescriptor<Arguments>) instance
.valueOf(Arguments_ord);
public static final EntityDescriptor<AssignmentExpression> AssignmentExpression = (EntityDescriptor<AssignmentExpression>) instance
.valueOf(AssignmentExpression_ord);
public static final EntityDescriptor<RunExpression> RunExpression = (EntityDescriptor<RunExpression>) instance
.valueOf(RunExpression_ord);
public static final EntityDescriptor<SizeExpression> SizeExpression = (EntityDescriptor<SizeExpression>) instance
.valueOf(SizeExpression_ord);
public static final EntityDescriptor<Literal> Literal = (EntityDescriptor<Literal>) instance
.valueOf(Literal_ord);
public static final EntityDescriptor<BooleanLiteral> BooleanLiteral = (EntityDescriptor<BooleanLiteral>) instance
.valueOf(BooleanLiteral_ord);
public static final EntityDescriptor<IntLiteral> IntLiteral = (EntityDescriptor<IntLiteral>) instance
.valueOf(IntLiteral_ord);
public static final EntityDescriptor<StringLiteral> StringLiteral = (EntityDescriptor<StringLiteral>) instance
.valueOf(StringLiteral_ord);
public static final EntityDescriptor<RangeLiteral> RangeLiteral = (EntityDescriptor<RangeLiteral>) instance
.valueOf(RangeLiteral_ord);
public static final EntityDescriptor<ArrayLiteral> ArrayLiteral = (EntityDescriptor<ArrayLiteral>) instance
.valueOf(ArrayLiteral_ord);
public static final EntityDescriptor<Name> Name = (EntityDescriptor<Name>) instance
.valueOf(Name_ord);
public static final EntityDescriptor<NameExpression> NameExpression = (EntityDescriptor<NameExpression>) instance
.valueOf(NameExpression_ord);
public static final EntityDescriptor<PrimitiveType> PrimitiveType = (EntityDescriptor<PrimitiveType>) instance
.valueOf(PrimitiveType_ord);
public static final EntityDescriptor<ArrayType> ArrayType = (EntityDescriptor<ArrayType>) instance
.valueOf(ArrayType_ord);
public static final EntityDescriptor<ArrayAccess> ArrayAccess = (EntityDescriptor<ArrayAccess>) instance
.valueOf(ArrayAccess_ord);
public static final EntityDescriptor<Addition> Addition = (EntityDescriptor<Addition>) instance
.valueOf(Addition_ord);
public static final EntityDescriptor<Subtraction> Subtraction = (EntityDescriptor<Subtraction>) instance
.valueOf(Subtraction_ord);
public static final EntityDescriptor<Multiplication> Multiplication = (EntityDescriptor<Multiplication>) instance
.valueOf(Multiplication_ord);
public static final EntityDescriptor<Division> Division = (EntityDescriptor<Division>) instance
.valueOf(Division_ord);
public static final EntityDescriptor<Remainder> Remainder = (EntityDescriptor<Remainder>) instance
.valueOf(Remainder_ord);
public static final EntityDescriptor<And> And = (EntityDescriptor<And>) instance
.valueOf(And_ord);
public static final EntityDescriptor<Or> Or = (EntityDescriptor<Or>) instance
.valueOf(Or_ord);
public static final EntityDescriptor<Not> Not = (EntityDescriptor<Not>) instance
.valueOf(Not_ord);
public static final EntityDescriptor<Equals> Equals = (EntityDescriptor<Equals>) instance
.valueOf(Equals_ord);
public static final EntityDescriptor<NotEquals> NotEquals = (EntityDescriptor<NotEquals>) instance
.valueOf(NotEquals_ord);
public static final EntityDescriptor<LessThan> LessThan = (EntityDescriptor<LessThan>) instance
.valueOf(LessThan_ord);
public static final EntityDescriptor<LessOrEquals> LessOrEquals = (EntityDescriptor<LessOrEquals>) instance
.valueOf(LessOrEquals_ord);
public static final EntityDescriptor<GreaterThan> GreaterThan = (EntityDescriptor<GreaterThan>) instance
.valueOf(GreaterThan_ord);
public static final EntityDescriptor<GreaterOrEquals> GreaterOrEquals = (EntityDescriptor<GreaterOrEquals>) instance
.valueOf(GreaterOrEquals_ord);
public static final EntityDescriptor<Type> Type = (EntityDescriptor<Type>) instance
.valueOf(Type_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);
private ImpEntityDescriptorEnum() {
}
private static final long serialVersionUID = 1;
protected void initEntityDescriptors() {
putSimpleEntity(FunctionDeclaration_ord, "FunctionDeclaration",
FunctionDeclaration.class, false)
.withFeature(ImpFeatureDescriptorEnum.type, Type_ord)
.withFeature(ImpFeatureDescriptorEnum.name, Name_ord)
.withFeature(ImpFeatureDescriptorEnum.parameters,
Parameters_ord, true, false, false, false, false)
.withFeature(ImpFeatureDescriptorEnum.body, Statement_ord);
putCompositeEntity(
Parameters_ord, "Parameters", Parameters.class, false, Parameter_ord, true, false);
putSimpleEntity(Parameter_ord, "Parameter", Parameter.class, false)
.withFeature(ImpFeatureDescriptorEnum.type, Type_ord)
.withFeature(ImpFeatureDescriptorEnum.name, Name_ord);
putSimpleEntity(VariableDeclaration_ord, "VariableDeclaration",
VariableDeclaration.class, false)
.withFeature(ImpFeatureDescriptorEnum.type, Type_ord)
.withFeature(ImpFeatureDescriptorEnum.name, Name_ord)
.withFeature(ImpFeatureDescriptorEnum.initializer,
Expression_ord, true, false, false, false, false);
putSimpleEntity(Declaration_ord, "Declaration", Declaration.class,
true, VariableDeclaration_ord, FunctionDeclaration_ord)
.withFeature(ImpFeatureDescriptorEnum.type, Type_ord)
.withFeature(ImpFeatureDescriptorEnum.name, Name_ord);
putSimpleEntity(EmptyStatement_ord, "EmptyStatement",
EmptyStatement.class, false);
putSimpleEntity(ReturnStatement_ord, "ReturnStatement",
ReturnStatement.class, false).withFeature(
ImpFeatureDescriptorEnum.exp, Expression_ord, true, false,
false, false, false);
putSimpleEntity(IfStatement_ord, "IfStatement", IfStatement.class,
false).withFeature(ImpFeatureDescriptorEnum.condition,
Expression_ord).withFeature(ImpFeatureDescriptorEnum.trueBody,
Statement_ord);
putSimpleEntity(IfElseStatement_ord, "IfElseStatement",
IfElseStatement.class, false)
.withFeature(ImpFeatureDescriptorEnum.condition, Expression_ord)
.withFeature(ImpFeatureDescriptorEnum.trueBody, Statement_ord)
.withFeature(ImpFeatureDescriptorEnum.falseBody, Statement_ord);
putSimpleEntity(WhileStatement_ord, "WhileStatement",
WhileStatement.class, false).withFeature(
ImpFeatureDescriptorEnum.condition, Expression_ord)
.withFeature(ImpFeatureDescriptorEnum.trueBody, Statement_ord);
putSimpleEntity(DoWhileStatement_ord, "DoWhileStatement",
DoWhileStatement.class, false).withFeature(
ImpFeatureDescriptorEnum.trueBody, Statement_ord).withFeature(
ImpFeatureDescriptorEnum.condition, Expression_ord);
putSimpleEntity(ForStatement_ord, "ForStatement", ForStatement.class,
false)
.withFeature(ImpFeatureDescriptorEnum.initializer,
VariableDeclaration_ord)
.withFeature(ImpFeatureDescriptorEnum.condition, Expression_ord)
.withFeature(ImpFeatureDescriptorEnum.updater, Expression_ord)
.withFeature(ImpFeatureDescriptorEnum.trueBody, Statement_ord);
putSimpleEntity(ForeachStatement_ord, "ForeachStatement",
ForeachStatement.class, false)
.withFeature(ImpFeatureDescriptorEnum.name, Name_ord)
.withFeature(ImpFeatureDescriptorEnum.arrayExp, Expression_ord)
.withFeature(ImpFeatureDescriptorEnum.trueBody, Statement_ord);
putCompositeEntity(
BlockStatement_ord, "BlockStatement", BlockStatement.class, false, Statement_ord, true, false);
putSimpleEntity(PrintStatement_ord, "PrintStatement",
PrintStatement.class, false).withFeature(
ImpFeatureDescriptorEnum.exp, Expression_ord);
putSimpleEntity(PrintlnStatement_ord, "PrintlnStatement",
PrintlnStatement.class, false).withFeature(
ImpFeatureDescriptorEnum.exp, Expression_ord, true, false,
false, false, false);
putSimpleEntity(SaveStatement_ord, "SaveStatement",
SaveStatement.class, false).withFeature(
ImpFeatureDescriptorEnum.exp, Expression_ord).withFeature(
ImpFeatureDescriptorEnum.fileName, Expression_ord, true, false,
false, false, false);
putSimpleEntity(ExpressionStatement_ord, "ExpressionStatement",
ExpressionStatement.class, false).withFeature(
ImpFeatureDescriptorEnum.exp, Expression_ord);
putSimpleEntity(LoadExpression_ord, "LoadExpression",
LoadExpression.class, false).withFeature(
ImpFeatureDescriptorEnum.fileName, Expression_ord).withFeature(
ImpFeatureDescriptorEnum.language, Expression_ord, true, false,
false, false, false);
putSimpleEntity(FunctionInvocationExpression_ord,
"FunctionInvocationExpression",
FunctionInvocationExpression.class, false).withFeature(
ImpFeatureDescriptorEnum.name, NameExpression_ord).withFeature(
ImpFeatureDescriptorEnum.arguments, Arguments_ord, true, false,
false, false, false);
putCompositeEntity(
Arguments_ord, "Arguments", Arguments.class, false, Expression_ord, true, false);
putSimpleEntity(AssignmentExpression_ord, "AssignmentExpression",
AssignmentExpression.class, false).withFeature(
ImpFeatureDescriptorEnum.name, Name_ord).withFeature(
ImpFeatureDescriptorEnum.exp, Expression_ord);
putSimpleEntity(RunExpression_ord, "RunExpression",
RunExpression.class, false).withFeature(
ImpFeatureDescriptorEnum.exp, Expression_ord);
putSimpleEntity(SizeExpression_ord, "SizeExpression",
SizeExpression.class, false).withFeature(
ImpFeatureDescriptorEnum.exp, Expression_ord);
putSimpleEntity(Literal_ord, "Literal", Literal.class, true,
StringLiteral_ord, RangeLiteral_ord, IntLiteral_ord,
ArrayLiteral_ord, BooleanLiteral_ord);
putDataEntity(BooleanLiteral_ord, "BooleanLiteral",
BooleanLiteral.class, false, boolean.class);
putDataEntity(IntLiteral_ord, "IntLiteral", IntLiteral.class, false,
int.class);
putDataEntity(StringLiteral_ord, "StringLiteral", StringLiteral.class,
false, String.class);
putSimpleEntity(RangeLiteral_ord, "RangeLiteral", RangeLiteral.class,
false).withFeature(ImpFeatureDescriptorEnum.lowerBound,
IntLiteral_ord).withFeature(
ImpFeatureDescriptorEnum.upperBound, IntLiteral_ord);
putCompositeEntity(
ArrayLiteral_ord, "ArrayLiteral", ArrayLiteral.class, false, Literal_ord, true, false);
putDataEntity(Name_ord, "Name", Name.class, false, String.class);
putDataEntity(NameExpression_ord, "NameExpression",
NameExpression.class, false, String.class);
putDataEntity(PrimitiveType_ord, "PrimitiveType", PrimitiveType.class,
false, PrimitiveTypeEnum.Value.class);
putSimpleEntity(ArrayType_ord, "ArrayType", ArrayType.class, false)
.withFeature(ImpFeatureDescriptorEnum.contentType, Type_ord)
.withFeature(ImpFeatureDescriptorEnum.indexType,
PrimitiveType_ord);
putSimpleEntity(ArrayAccess_ord, "ArrayAccess", ArrayAccess.class,
false).withFeature(ImpFeatureDescriptorEnum.array,
Expression_ord).withFeature(ImpFeatureDescriptorEnum.index,
Expression_ord);
putSimpleEntity(Addition_ord, "Addition", Addition.class, false)
.withFeature(ImpFeatureDescriptorEnum.exp1, Expression_ord)
.withFeature(ImpFeatureDescriptorEnum.exp2, Expression_ord);
putSimpleEntity(Subtraction_ord, "Subtraction", Subtraction.class,
false).withFeature(ImpFeatureDescriptorEnum.exp1,
Expression_ord).withFeature(ImpFeatureDescriptorEnum.exp2,
Expression_ord);
putSimpleEntity(Multiplication_ord, "Multiplication",
Multiplication.class, false).withFeature(
ImpFeatureDescriptorEnum.exp1, Expression_ord).withFeature(
ImpFeatureDescriptorEnum.exp2, Expression_ord);
putSimpleEntity(Division_ord, "Division", Division.class, false)
.withFeature(ImpFeatureDescriptorEnum.exp1, Expression_ord)
.withFeature(ImpFeatureDescriptorEnum.exp2, Expression_ord);
putSimpleEntity(Remainder_ord, "Remainder", Remainder.class, false)
.withFeature(ImpFeatureDescriptorEnum.exp1, Expression_ord)
.withFeature(ImpFeatureDescriptorEnum.exp2, Expression_ord);
putSimpleEntity(And_ord, "And", And.class, false).withFeature(
ImpFeatureDescriptorEnum.exp1, Expression_ord).withFeature(
ImpFeatureDescriptorEnum.exp2, Expression_ord);
putSimpleEntity(Or_ord, "Or", Or.class, false).withFeature(
ImpFeatureDescriptorEnum.exp1, Expression_ord).withFeature(
ImpFeatureDescriptorEnum.exp2, Expression_ord);
putSimpleEntity(Not_ord, "Not", Not.class, false).withFeature(
ImpFeatureDescriptorEnum.exp, Expression_ord);
putSimpleEntity(Equals_ord, "Equals", Equals.class, false).withFeature(
ImpFeatureDescriptorEnum.exp1, Expression_ord).withFeature(
ImpFeatureDescriptorEnum.exp2, Expression_ord);
putSimpleEntity(NotEquals_ord, "NotEquals", NotEquals.class, false)
.withFeature(ImpFeatureDescriptorEnum.exp1, Expression_ord)
.withFeature(ImpFeatureDescriptorEnum.exp2, Expression_ord);
putSimpleEntity(LessThan_ord, "LessThan", LessThan.class, false)
.withFeature(ImpFeatureDescriptorEnum.exp1, Expression_ord)
.withFeature(ImpFeatureDescriptorEnum.exp2, Expression_ord);
putSimpleEntity(LessOrEquals_ord, "LessOrEquals", LessOrEquals.class,
false).withFeature(ImpFeatureDescriptorEnum.exp1,
Expression_ord).withFeature(ImpFeatureDescriptorEnum.exp2,
Expression_ord);
putSimpleEntity(GreaterThan_ord, "GreaterThan", GreaterThan.class,
false).withFeature(ImpFeatureDescriptorEnum.exp1,
Expression_ord).withFeature(ImpFeatureDescriptorEnum.exp2,
Expression_ord);
putSimpleEntity(GreaterOrEquals_ord, "GreaterOrEquals",
GreaterOrEquals.class, false).withFeature(
ImpFeatureDescriptorEnum.exp1, Expression_ord).withFeature(
ImpFeatureDescriptorEnum.exp2, Expression_ord);
putSimpleEntity(Type_ord, "Type", Type.class, true, ArrayType_ord,
PrimitiveType_ord);
putSimpleEntity(Statement_ord, "Statement", Statement.class, true,
ExpressionStatement_ord, PrintlnStatement_ord,
IfElseStatement_ord, FunctionDeclaration_ord,
PrintStatement_ord, WhileStatement_ord, Declaration_ord,
EmptyStatement_ord, SaveStatement_ord, VariableDeclaration_ord,
DoWhileStatement_ord, ReturnStatement_ord, IfStatement_ord,
BlockStatement_ord, ForStatement_ord, ForeachStatement_ord);
putSimpleEntity(Expression_ord, "Expression", Expression.class, true,
AssignmentExpression_ord, NotEquals_ord, LessThan_ord,
IntLiteral_ord, GreaterOrEquals_ord, LessOrEquals_ord,
Remainder_ord, NameExpression_ord, RangeLiteral_ord,
ArrayAccess_ord, GreaterThan_ord, Addition_ord,
StringLiteral_ord, Multiplication_ord, ArrayLiteral_ord,
Literal_ord, RunExpression_ord, SizeExpression_ord, Not_ord,
Subtraction_ord, FunctionInvocationExpression_ord,
Division_ord, LoadExpression_ord, Or_ord, Equals_ord,
BooleanLiteral_ord, And_ord);
}
}