From e86108a7dd1227a2a63ce4c2bb609e7227afa66a Mon Sep 17 00:00:00 2001 From: jkohnlein Date: Thu, 6 Mar 2008 08:55:10 +0000 Subject: Initial checkin --- plugins/org.eclipse.xpand3.parser/.classpath | 10 + plugins/org.eclipse.xpand3.parser/.project | 28 + .../org.eclipse.xpand3.parser/META-INF/MANIFEST.MF | 20 + plugins/org.eclipse.xpand3.parser/build.properties | 15 + .../parser/xpand3node/AdditiveExpressionNode.java | 22 + .../parser/xpand3node/AndExpressionNode.java | 22 + .../internal/parser/xpand3node/AroundNode.java | 22 + .../parser/xpand3node/BooleanLiteralNode.java | 22 + .../internal/parser/xpand3node/CasePartNode.java | 22 + .../parser/xpand3node/CastedExpressionNode.java | 22 + .../parser/xpand3node/ChainExpressionNode.java | 22 + .../internal/parser/xpand3node/CheckNode.java | 22 + .../xpand3node/CollectionExpressionNode.java | 22 + .../parser/xpand3node/CollectionTypeNode.java | 22 + .../parser/xpand3node/ConstructorCallNode.java | 22 + .../xpand3node/DeclaredParameterListNode.java | 22 + .../parser/xpand3node/DeclaredParameterNode.java | 22 + .../parser/xpand3node/DefinitionAroundNode.java | 22 + .../internal/parser/xpand3node/DefinitionNode.java | 54 + .../parser/xpand3node/ElseIfStatementNode.java | 22 + .../parser/xpand3node/ElseStatementNode.java | 22 + .../parser/xpand3node/ErrorStatementNode.java | 22 + .../parser/xpand3node/ExpandStatementNode.java | 22 + .../internal/parser/xpand3node/ExpressionNode.java | 22 + .../parser/xpand3node/ExpressionStmtNode.java | 22 + .../internal/parser/xpand3node/ExtensionNode.java | 22 + .../parser/xpand3node/FeatureCallNode.java | 22 + .../internal/parser/xpand3node/FileNode.java | 63 + .../parser/xpand3node/FileStatementNode.java | 22 + .../parser/xpand3node/ForeachStatementNode.java | 22 + .../parser/xpand3node/GlobalVarExpressionNode.java | 22 + .../internal/parser/xpand3node/IdentifierNode.java | 22 + .../parser/xpand3node/IfExpressionNode.java | 22 + .../parser/xpand3node/IfStatementNode.java | 22 + .../parser/xpand3node/ImpliesExpressionNode.java | 22 + .../parser/xpand3node/InfixExpressionNode.java | 22 + .../internal/parser/xpand3node/JavaTypeNode.java | 22 + .../parser/xpand3node/LetExpressionNode.java | 22 + .../parser/xpand3node/LetStatementNode.java | 22 + .../parser/xpand3node/ListLiteralNode.java | 22 + .../xpand3node/MultiplicativeExpressionNode.java | 22 + .../internal/parser/xpand3node/NsImportNode.java | 54 + .../parser/xpand3node/NullLiteralNode.java | 22 + .../parser/xpand3node/NumberLiteralNode.java | 22 + .../parser/xpand3node/OrExpressionNode.java | 22 + .../parser/xpand3node/ParameterListNode.java | 22 + .../xpand3node/ParanthesizedExpressionNode.java | 22 + .../internal/parser/xpand3node/PointcutNode.java | 22 + .../parser/xpand3node/ProtectStatementNode.java | 22 + .../xpand3node/RelationalExpressionNode.java | 22 + .../internal/parser/xpand3node/SequenceNode.java | 22 + .../internal/parser/xpand3node/SimpleTypeNode.java | 22 + .../parser/xpand3node/StringLiteralNode.java | 22 + .../parser/xpand3node/SwitchExpressionNode.java | 22 + .../parser/xpand3node/Test_expressionNode.java | 22 + .../internal/parser/xpand3node/TextNode.java | 22 + .../parser/xpand3node/TextSequenceNode.java | 22 + .../parser/xpand3node/UnaryExpressionNode.java | 22 + .../parser/xpand3node/Xpand3nodeFactory.java | 523 ++ .../parser/xpand3node/Xpand3nodePackage.java | 4250 +++++++++ .../impl/AdditiveExpressionNodeImpl.java | 45 + .../xpand3node/impl/AndExpressionNodeImpl.java | 45 + .../parser/xpand3node/impl/AroundNodeImpl.java | 45 + .../xpand3node/impl/BooleanLiteralNodeImpl.java | 45 + .../parser/xpand3node/impl/CasePartNodeImpl.java | 45 + .../xpand3node/impl/CastedExpressionNodeImpl.java | 45 + .../xpand3node/impl/ChainExpressionNodeImpl.java | 45 + .../parser/xpand3node/impl/CheckNodeImpl.java | 45 + .../impl/CollectionExpressionNodeImpl.java | 45 + .../xpand3node/impl/CollectionTypeNodeImpl.java | 45 + .../xpand3node/impl/ConstructorCallNodeImpl.java | 45 + .../impl/DeclaredParameterListNodeImpl.java | 45 + .../xpand3node/impl/DeclaredParameterNodeImpl.java | 45 + .../xpand3node/impl/DefinitionAroundNodeImpl.java | 45 + .../parser/xpand3node/impl/DefinitionNodeImpl.java | 163 + .../xpand3node/impl/ElseIfStatementNodeImpl.java | 45 + .../xpand3node/impl/ElseStatementNodeImpl.java | 45 + .../xpand3node/impl/ErrorStatementNodeImpl.java | 45 + .../xpand3node/impl/ExpandStatementNodeImpl.java | 45 + .../parser/xpand3node/impl/ExpressionNodeImpl.java | 45 + .../xpand3node/impl/ExpressionStmtNodeImpl.java | 45 + .../parser/xpand3node/impl/ExtensionNodeImpl.java | 45 + .../xpand3node/impl/FeatureCallNodeImpl.java | 45 + .../parser/xpand3node/impl/FileNodeImpl.java | 173 + .../xpand3node/impl/FileStatementNodeImpl.java | 45 + .../xpand3node/impl/ForeachStatementNodeImpl.java | 45 + .../impl/GlobalVarExpressionNodeImpl.java | 45 + .../parser/xpand3node/impl/IdentifierNodeImpl.java | 45 + .../xpand3node/impl/IfExpressionNodeImpl.java | 45 + .../xpand3node/impl/IfStatementNodeImpl.java | 45 + .../xpand3node/impl/ImpliesExpressionNodeImpl.java | 45 + .../xpand3node/impl/InfixExpressionNodeImpl.java | 45 + .../parser/xpand3node/impl/JavaTypeNodeImpl.java | 45 + .../xpand3node/impl/LetExpressionNodeImpl.java | 45 + .../xpand3node/impl/LetStatementNodeImpl.java | 45 + .../xpand3node/impl/ListLiteralNodeImpl.java | 45 + .../impl/MultiplicativeExpressionNodeImpl.java | 45 + .../parser/xpand3node/impl/NsImportNodeImpl.java | 163 + .../xpand3node/impl/NullLiteralNodeImpl.java | 45 + .../xpand3node/impl/NumberLiteralNodeImpl.java | 45 + .../xpand3node/impl/OrExpressionNodeImpl.java | 45 + .../xpand3node/impl/ParameterListNodeImpl.java | 45 + .../impl/ParanthesizedExpressionNodeImpl.java | 45 + .../parser/xpand3node/impl/PointcutNodeImpl.java | 45 + .../xpand3node/impl/ProtectStatementNodeImpl.java | 45 + .../impl/RelationalExpressionNodeImpl.java | 45 + .../parser/xpand3node/impl/SequenceNodeImpl.java | 45 + .../parser/xpand3node/impl/SimpleTypeNodeImpl.java | 45 + .../xpand3node/impl/StringLiteralNodeImpl.java | 45 + .../xpand3node/impl/SwitchExpressionNodeImpl.java | 45 + .../xpand3node/impl/Test_expressionNodeImpl.java | 45 + .../parser/xpand3node/impl/TextNodeImpl.java | 45 + .../xpand3node/impl/TextSequenceNodeImpl.java | 45 + .../xpand3node/impl/UnaryExpressionNodeImpl.java | 45 + .../xpand3node/impl/Xpand3nodeFactoryImpl.java | 682 ++ .../xpand3node/impl/Xpand3nodePackageImpl.java | 1396 +++ .../xpand3node/util/Xpand3nodeAdapterFactory.java | 1117 +++ .../parser/xpand3node/util/Xpand3nodeSwitch.java | 1384 +++ .../AdditiveExpressionNodeValidator.java | 19 + .../validation/AndExpressionNodeValidator.java | 19 + .../xpand3node/validation/AroundNodeValidator.java | 19 + .../validation/BooleanLiteralNodeValidator.java | 19 + .../validation/CasePartNodeValidator.java | 19 + .../validation/CastedExpressionNodeValidator.java | 19 + .../validation/ChainExpressionNodeValidator.java | 19 + .../xpand3node/validation/CheckNodeValidator.java | 19 + .../CollectionExpressionNodeValidator.java | 19 + .../validation/CollectionTypeNodeValidator.java | 19 + .../validation/ConstructorCallNodeValidator.java | 19 + .../DeclaredParameterListNodeValidator.java | 19 + .../validation/DeclaredParameterNodeValidator.java | 19 + .../validation/DefinitionAroundNodeValidator.java | 19 + .../validation/DefinitionNodeValidator.java | 21 + .../validation/ElseIfStatementNodeValidator.java | 19 + .../validation/ElseStatementNodeValidator.java | 19 + .../validation/ErrorStatementNodeValidator.java | 19 + .../validation/ExpandStatementNodeValidator.java | 19 + .../validation/ExpressionNodeValidator.java | 19 + .../validation/ExpressionStmtNodeValidator.java | 19 + .../validation/ExtensionNodeValidator.java | 19 + .../validation/FeatureCallNodeValidator.java | 19 + .../xpand3node/validation/FileNodeValidator.java | 24 + .../validation/FileStatementNodeValidator.java | 19 + .../validation/ForeachStatementNodeValidator.java | 19 + .../GlobalVarExpressionNodeValidator.java | 19 + .../validation/IdentifierNodeValidator.java | 19 + .../validation/IfExpressionNodeValidator.java | 19 + .../validation/IfStatementNodeValidator.java | 19 + .../validation/ImpliesExpressionNodeValidator.java | 19 + .../validation/InfixExpressionNodeValidator.java | 19 + .../validation/JavaTypeNodeValidator.java | 19 + .../validation/LetExpressionNodeValidator.java | 19 + .../validation/LetStatementNodeValidator.java | 19 + .../validation/ListLiteralNodeValidator.java | 19 + .../MultiplicativeExpressionNodeValidator.java | 19 + .../validation/NsImportNodeValidator.java | 21 + .../validation/NullLiteralNodeValidator.java | 19 + .../validation/NumberLiteralNodeValidator.java | 19 + .../validation/OrExpressionNodeValidator.java | 19 + .../validation/ParameterListNodeValidator.java | 19 + .../ParanthesizedExpressionNodeValidator.java | 19 + .../validation/PointcutNodeValidator.java | 19 + .../validation/ProtectStatementNodeValidator.java | 19 + .../RelationalExpressionNodeValidator.java | 19 + .../validation/SequenceNodeValidator.java | 19 + .../validation/SimpleTypeNodeValidator.java | 19 + .../validation/StringLiteralNodeValidator.java | 19 + .../validation/SwitchExpressionNodeValidator.java | 19 + .../validation/Test_expressionNodeValidator.java | 19 + .../xpand3node/validation/TextNodeValidator.java | 19 + .../validation/TextSequenceNodeValidator.java | 19 + .../validation/UnaryExpressionNodeValidator.java | 19 + .../org.eclipse.xpand3.parser/model/Xpand3.ecore | 177 + .../model/Xpand3Node.ecore | 177 + .../model/Xpand3Node.genmodel | 72 + .../org.eclipse.xpand3.parser/model/Xpand3Node.tmf | 438 + .../org.eclipse.xpand3.parser/model/generator.oaw | 11 + .../model/generator.properties | 7 + .../org.eclipse.xpand3.parser/plugin.properties | 20 + plugins/org.eclipse.xpand3.parser/plugin.xml | 20 + .../src-gen/org/eclipse/xpand3/parser/Xpand3Node.g | 460 + .../org/eclipse/xpand3/parser/Xpand3Node.tokens | 108 + .../org/eclipse/xpand3/parser/Xpand3NodeLexer.java | 6039 +++++++++++++ .../eclipse/xpand3/parser/Xpand3NodeParser.java | 9159 ++++++++++++++++++++ .../org/eclipse/xpand3/parser/Xpand3Node__.g | 235 + .../org/eclipse/xpand3/parser/debugMeWithAntLR.g | 367 + .../parser/node2ast/Node2AstTransformer.java | 7 + .../org.eclipse.xpand3.parser/text/description.txt | 120 + tests/org.eclipse.xpand3.parser.tests/.classpath | 7 + tests/org.eclipse.xpand3.parser.tests/.project | 28 + .../.settings/org.eclipse.jdt.core.prefs | 7 + .../META-INF/MANIFEST.MF | 8 + .../build.properties | 4 + .../parser/AbstractXpand3NodeParserTest.java | 147 + .../src/org/eclipse/xpand3/parser/AllTests.java | 20 + .../eclipse/xpand3/parser/StatementParserTest.java | 247 + .../src/org/eclipse/xpand3/parser/SyntaxUtil.java | 6 + .../parser/Xpand3MigratedNodeParserTest.java | 199 + .../xpand3/parser/Xpand3NodeParserTest.java | 64 + .../eclipse/xpand3/parser/Xpand3ScannerTest.java | 59 + .../org/eclipse/xpand3/parser/XpandLexerTest.java | 31 + .../src/org/eclipse/xpand3/parser/test.txt | 2 + 202 files changed, 32793 insertions(+) create mode 100644 plugins/org.eclipse.xpand3.parser/.classpath create mode 100644 plugins/org.eclipse.xpand3.parser/.project create mode 100644 plugins/org.eclipse.xpand3.parser/META-INF/MANIFEST.MF create mode 100644 plugins/org.eclipse.xpand3.parser/build.properties create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/AdditiveExpressionNode.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/AndExpressionNode.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/AroundNode.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/BooleanLiteralNode.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/CasePartNode.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/CastedExpressionNode.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/ChainExpressionNode.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/CheckNode.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/CollectionExpressionNode.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/CollectionTypeNode.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/ConstructorCallNode.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/DeclaredParameterListNode.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/DeclaredParameterNode.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/DefinitionAroundNode.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/DefinitionNode.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/ElseIfStatementNode.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/ElseStatementNode.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/ErrorStatementNode.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/ExpandStatementNode.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/ExpressionNode.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/ExpressionStmtNode.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/ExtensionNode.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/FeatureCallNode.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/FileNode.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/FileStatementNode.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/ForeachStatementNode.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/GlobalVarExpressionNode.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/IdentifierNode.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/IfExpressionNode.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/IfStatementNode.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/ImpliesExpressionNode.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/InfixExpressionNode.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/JavaTypeNode.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/LetExpressionNode.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/LetStatementNode.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/ListLiteralNode.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/MultiplicativeExpressionNode.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/NsImportNode.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/NullLiteralNode.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/NumberLiteralNode.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/OrExpressionNode.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/ParameterListNode.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/ParanthesizedExpressionNode.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/PointcutNode.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/ProtectStatementNode.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/RelationalExpressionNode.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/SequenceNode.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/SimpleTypeNode.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/StringLiteralNode.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/SwitchExpressionNode.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/Test_expressionNode.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/TextNode.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/TextSequenceNode.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/UnaryExpressionNode.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/Xpand3nodeFactory.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/Xpand3nodePackage.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/AdditiveExpressionNodeImpl.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/AndExpressionNodeImpl.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/AroundNodeImpl.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/BooleanLiteralNodeImpl.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/CasePartNodeImpl.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/CastedExpressionNodeImpl.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/ChainExpressionNodeImpl.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/CheckNodeImpl.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/CollectionExpressionNodeImpl.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/CollectionTypeNodeImpl.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/ConstructorCallNodeImpl.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/DeclaredParameterListNodeImpl.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/DeclaredParameterNodeImpl.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/DefinitionAroundNodeImpl.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/DefinitionNodeImpl.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/ElseIfStatementNodeImpl.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/ElseStatementNodeImpl.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/ErrorStatementNodeImpl.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/ExpandStatementNodeImpl.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/ExpressionNodeImpl.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/ExpressionStmtNodeImpl.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/ExtensionNodeImpl.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/FeatureCallNodeImpl.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/FileNodeImpl.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/FileStatementNodeImpl.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/ForeachStatementNodeImpl.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/GlobalVarExpressionNodeImpl.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/IdentifierNodeImpl.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/IfExpressionNodeImpl.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/IfStatementNodeImpl.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/ImpliesExpressionNodeImpl.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/InfixExpressionNodeImpl.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/JavaTypeNodeImpl.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/LetExpressionNodeImpl.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/LetStatementNodeImpl.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/ListLiteralNodeImpl.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/MultiplicativeExpressionNodeImpl.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/NsImportNodeImpl.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/NullLiteralNodeImpl.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/NumberLiteralNodeImpl.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/OrExpressionNodeImpl.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/ParameterListNodeImpl.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/ParanthesizedExpressionNodeImpl.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/PointcutNodeImpl.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/ProtectStatementNodeImpl.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/RelationalExpressionNodeImpl.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/SequenceNodeImpl.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/SimpleTypeNodeImpl.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/StringLiteralNodeImpl.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/SwitchExpressionNodeImpl.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/Test_expressionNodeImpl.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/TextNodeImpl.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/TextSequenceNodeImpl.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/UnaryExpressionNodeImpl.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/Xpand3nodeFactoryImpl.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/Xpand3nodePackageImpl.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/util/Xpand3nodeAdapterFactory.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/util/Xpand3nodeSwitch.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/AdditiveExpressionNodeValidator.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/AndExpressionNodeValidator.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/AroundNodeValidator.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/BooleanLiteralNodeValidator.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/CasePartNodeValidator.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/CastedExpressionNodeValidator.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/ChainExpressionNodeValidator.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/CheckNodeValidator.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/CollectionExpressionNodeValidator.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/CollectionTypeNodeValidator.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/ConstructorCallNodeValidator.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/DeclaredParameterListNodeValidator.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/DeclaredParameterNodeValidator.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/DefinitionAroundNodeValidator.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/DefinitionNodeValidator.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/ElseIfStatementNodeValidator.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/ElseStatementNodeValidator.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/ErrorStatementNodeValidator.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/ExpandStatementNodeValidator.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/ExpressionNodeValidator.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/ExpressionStmtNodeValidator.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/ExtensionNodeValidator.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/FeatureCallNodeValidator.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/FileNodeValidator.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/FileStatementNodeValidator.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/ForeachStatementNodeValidator.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/GlobalVarExpressionNodeValidator.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/IdentifierNodeValidator.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/IfExpressionNodeValidator.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/IfStatementNodeValidator.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/ImpliesExpressionNodeValidator.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/InfixExpressionNodeValidator.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/JavaTypeNodeValidator.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/LetExpressionNodeValidator.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/LetStatementNodeValidator.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/ListLiteralNodeValidator.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/MultiplicativeExpressionNodeValidator.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/NsImportNodeValidator.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/NullLiteralNodeValidator.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/NumberLiteralNodeValidator.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/OrExpressionNodeValidator.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/ParameterListNodeValidator.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/ParanthesizedExpressionNodeValidator.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/PointcutNodeValidator.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/ProtectStatementNodeValidator.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/RelationalExpressionNodeValidator.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/SequenceNodeValidator.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/SimpleTypeNodeValidator.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/StringLiteralNodeValidator.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/SwitchExpressionNodeValidator.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/Test_expressionNodeValidator.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/TextNodeValidator.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/TextSequenceNodeValidator.java create mode 100644 plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/UnaryExpressionNodeValidator.java create mode 100644 plugins/org.eclipse.xpand3.parser/model/Xpand3.ecore create mode 100644 plugins/org.eclipse.xpand3.parser/model/Xpand3Node.ecore create mode 100644 plugins/org.eclipse.xpand3.parser/model/Xpand3Node.genmodel create mode 100644 plugins/org.eclipse.xpand3.parser/model/Xpand3Node.tmf create mode 100644 plugins/org.eclipse.xpand3.parser/model/generator.oaw create mode 100644 plugins/org.eclipse.xpand3.parser/model/generator.properties create mode 100644 plugins/org.eclipse.xpand3.parser/plugin.properties create mode 100644 plugins/org.eclipse.xpand3.parser/plugin.xml create mode 100644 plugins/org.eclipse.xpand3.parser/src-gen/org/eclipse/xpand3/parser/Xpand3Node.g create mode 100644 plugins/org.eclipse.xpand3.parser/src-gen/org/eclipse/xpand3/parser/Xpand3Node.tokens create mode 100644 plugins/org.eclipse.xpand3.parser/src-gen/org/eclipse/xpand3/parser/Xpand3NodeLexer.java create mode 100644 plugins/org.eclipse.xpand3.parser/src-gen/org/eclipse/xpand3/parser/Xpand3NodeParser.java create mode 100644 plugins/org.eclipse.xpand3.parser/src-gen/org/eclipse/xpand3/parser/Xpand3Node__.g create mode 100644 plugins/org.eclipse.xpand3.parser/src-gen/org/eclipse/xpand3/parser/debugMeWithAntLR.g create mode 100644 plugins/org.eclipse.xpand3.parser/src/org/eclipse/xpand3/parser/node2ast/Node2AstTransformer.java create mode 100644 plugins/org.eclipse.xpand3.parser/text/description.txt create mode 100644 tests/org.eclipse.xpand3.parser.tests/.classpath create mode 100644 tests/org.eclipse.xpand3.parser.tests/.project create mode 100644 tests/org.eclipse.xpand3.parser.tests/.settings/org.eclipse.jdt.core.prefs create mode 100644 tests/org.eclipse.xpand3.parser.tests/META-INF/MANIFEST.MF create mode 100644 tests/org.eclipse.xpand3.parser.tests/build.properties create mode 100644 tests/org.eclipse.xpand3.parser.tests/src/org/eclipse/xpand3/parser/AbstractXpand3NodeParserTest.java create mode 100644 tests/org.eclipse.xpand3.parser.tests/src/org/eclipse/xpand3/parser/AllTests.java create mode 100644 tests/org.eclipse.xpand3.parser.tests/src/org/eclipse/xpand3/parser/StatementParserTest.java create mode 100644 tests/org.eclipse.xpand3.parser.tests/src/org/eclipse/xpand3/parser/SyntaxUtil.java create mode 100644 tests/org.eclipse.xpand3.parser.tests/src/org/eclipse/xpand3/parser/Xpand3MigratedNodeParserTest.java create mode 100644 tests/org.eclipse.xpand3.parser.tests/src/org/eclipse/xpand3/parser/Xpand3NodeParserTest.java create mode 100644 tests/org.eclipse.xpand3.parser.tests/src/org/eclipse/xpand3/parser/Xpand3ScannerTest.java create mode 100644 tests/org.eclipse.xpand3.parser.tests/src/org/eclipse/xpand3/parser/XpandLexerTest.java create mode 100644 tests/org.eclipse.xpand3.parser.tests/src/org/eclipse/xpand3/parser/test.txt diff --git a/plugins/org.eclipse.xpand3.parser/.classpath b/plugins/org.eclipse.xpand3.parser/.classpath new file mode 100644 index 00000000..196c2824 --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/.classpath @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/plugins/org.eclipse.xpand3.parser/.project b/plugins/org.eclipse.xpand3.parser/.project new file mode 100644 index 00000000..b9f7c255 --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/.project @@ -0,0 +1,28 @@ + + + org.eclipse.xpand3.parser + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + + org.eclipse.pde.PluginNature + org.eclipse.jdt.core.javanature + + diff --git a/plugins/org.eclipse.xpand3.parser/META-INF/MANIFEST.MF b/plugins/org.eclipse.xpand3.parser/META-INF/MANIFEST.MF new file mode 100644 index 00000000..ea06b247 --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/META-INF/MANIFEST.MF @@ -0,0 +1,20 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: %pluginName +Bundle-SymbolicName: org.eclipse.xpand3.parser;singleton:=true +Bundle-Version: 1.0.0 +Bundle-ClassPath: . +Bundle-Vendor: %providerName +Bundle-Localization: plugin +Bundle-RequiredExecutionEnvironment: J2SE-1.5 +Require-Bundle: org.eclipse.core.runtime, + org.eclipse.emf.ecore;visibility:=reexport, + org.eclipse.tmf.common;resolution:=optional;visibility:=reexport, + org.eclipse.tmf.common.generator;bundle-version="1.0.0";resolution:=optional +Eclipse-LazyStart: true +Export-Package: org.eclipse.xpand3.internal.parser.xpand3node, + org.eclipse.xpand3.internal.parser.xpand3node.impl, + org.eclipse.xpand3.internal.parser.xpand3node.util, + org.eclipse.xpand3.internal.parser.xpand3node.validation, + org.eclipse.xpand3.parser, + org.eclipse.xpand3.parser.node2ast diff --git a/plugins/org.eclipse.xpand3.parser/build.properties b/plugins/org.eclipse.xpand3.parser/build.properties new file mode 100644 index 00000000..27b04cb4 --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/build.properties @@ -0,0 +1,15 @@ + +# +# +# +# $Id: build.properties,v 1.1 2008/03/06 08:55:17 jkohnlein Exp $ + +bin.includes = .,\ + model/,\ + META-INF/,\ + plugin.xml,\ + plugin.properties,\ + fragment.xml +jars.compile.order = . +source.. = src/ +output.. = bin/ diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/AdditiveExpressionNode.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/AdditiveExpressionNode.java new file mode 100644 index 00000000..9f431718 --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/AdditiveExpressionNode.java @@ -0,0 +1,22 @@ +/** + * + * + * + * $Id: AdditiveExpressionNode.java,v 1.1 2008/03/06 08:55:15 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node; + +import org.eclipse.tmf.common.node.CompositeNode; + +/** + * + * A representation of the model object 'Additive Expression Node'. + * + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage#getAdditiveExpressionNode() + * @model + * @generated + */ +public interface AdditiveExpressionNode extends CompositeNode { +} // AdditiveExpressionNode diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/AndExpressionNode.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/AndExpressionNode.java new file mode 100644 index 00000000..845972c1 --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/AndExpressionNode.java @@ -0,0 +1,22 @@ +/** + * + * + * + * $Id: AndExpressionNode.java,v 1.1 2008/03/06 08:55:15 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node; + +import org.eclipse.tmf.common.node.CompositeNode; + +/** + * + * A representation of the model object 'And Expression Node'. + * + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage#getAndExpressionNode() + * @model + * @generated + */ +public interface AndExpressionNode extends CompositeNode { +} // AndExpressionNode diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/AroundNode.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/AroundNode.java new file mode 100644 index 00000000..e352b720 --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/AroundNode.java @@ -0,0 +1,22 @@ +/** + * + * + * + * $Id: AroundNode.java,v 1.1 2008/03/06 08:55:15 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node; + +import org.eclipse.tmf.common.node.CompositeNode; + +/** + * + * A representation of the model object 'Around Node'. + * + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage#getAroundNode() + * @model + * @generated + */ +public interface AroundNode extends CompositeNode { +} // AroundNode diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/BooleanLiteralNode.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/BooleanLiteralNode.java new file mode 100644 index 00000000..5b24aa9b --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/BooleanLiteralNode.java @@ -0,0 +1,22 @@ +/** + * + * + * + * $Id: BooleanLiteralNode.java,v 1.1 2008/03/06 08:55:15 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node; + +import org.eclipse.tmf.common.node.CompositeNode; + +/** + * + * A representation of the model object 'Boolean Literal Node'. + * + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage#getBooleanLiteralNode() + * @model + * @generated + */ +public interface BooleanLiteralNode extends CompositeNode { +} // BooleanLiteralNode diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/CasePartNode.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/CasePartNode.java new file mode 100644 index 00000000..72726f5c --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/CasePartNode.java @@ -0,0 +1,22 @@ +/** + * + * + * + * $Id: CasePartNode.java,v 1.1 2008/03/06 08:55:14 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node; + +import org.eclipse.tmf.common.node.CompositeNode; + +/** + * + * A representation of the model object 'Case Part Node'. + * + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage#getCasePartNode() + * @model + * @generated + */ +public interface CasePartNode extends CompositeNode { +} // CasePartNode diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/CastedExpressionNode.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/CastedExpressionNode.java new file mode 100644 index 00000000..27ad23be --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/CastedExpressionNode.java @@ -0,0 +1,22 @@ +/** + * + * + * + * $Id: CastedExpressionNode.java,v 1.1 2008/03/06 08:55:15 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node; + +import org.eclipse.tmf.common.node.CompositeNode; + +/** + * + * A representation of the model object 'Casted Expression Node'. + * + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage#getCastedExpressionNode() + * @model + * @generated + */ +public interface CastedExpressionNode extends CompositeNode { +} // CastedExpressionNode diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/ChainExpressionNode.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/ChainExpressionNode.java new file mode 100644 index 00000000..342ee95f --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/ChainExpressionNode.java @@ -0,0 +1,22 @@ +/** + * + * + * + * $Id: ChainExpressionNode.java,v 1.1 2008/03/06 08:55:15 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node; + +import org.eclipse.tmf.common.node.CompositeNode; + +/** + * + * A representation of the model object 'Chain Expression Node'. + * + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage#getChainExpressionNode() + * @model + * @generated + */ +public interface ChainExpressionNode extends CompositeNode { +} // ChainExpressionNode diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/CheckNode.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/CheckNode.java new file mode 100644 index 00000000..31c17d19 --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/CheckNode.java @@ -0,0 +1,22 @@ +/** + * + * + * + * $Id: CheckNode.java,v 1.1 2008/03/06 08:55:15 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node; + +import org.eclipse.tmf.common.node.CompositeNode; + +/** + * + * A representation of the model object 'Check Node'. + * + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage#getCheckNode() + * @model + * @generated + */ +public interface CheckNode extends CompositeNode { +} // CheckNode diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/CollectionExpressionNode.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/CollectionExpressionNode.java new file mode 100644 index 00000000..80876f82 --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/CollectionExpressionNode.java @@ -0,0 +1,22 @@ +/** + * + * + * + * $Id: CollectionExpressionNode.java,v 1.1 2008/03/06 08:55:14 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node; + +import org.eclipse.tmf.common.node.CompositeNode; + +/** + * + * A representation of the model object 'Collection Expression Node'. + * + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage#getCollectionExpressionNode() + * @model + * @generated + */ +public interface CollectionExpressionNode extends CompositeNode { +} // CollectionExpressionNode diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/CollectionTypeNode.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/CollectionTypeNode.java new file mode 100644 index 00000000..59584e3a --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/CollectionTypeNode.java @@ -0,0 +1,22 @@ +/** + * + * + * + * $Id: CollectionTypeNode.java,v 1.1 2008/03/06 08:55:14 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node; + +import org.eclipse.tmf.common.node.CompositeNode; + +/** + * + * A representation of the model object 'Collection Type Node'. + * + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage#getCollectionTypeNode() + * @model + * @generated + */ +public interface CollectionTypeNode extends CompositeNode { +} // CollectionTypeNode diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/ConstructorCallNode.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/ConstructorCallNode.java new file mode 100644 index 00000000..ff487f61 --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/ConstructorCallNode.java @@ -0,0 +1,22 @@ +/** + * + * + * + * $Id: ConstructorCallNode.java,v 1.1 2008/03/06 08:55:15 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node; + +import org.eclipse.tmf.common.node.CompositeNode; + +/** + * + * A representation of the model object 'Constructor Call Node'. + * + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage#getConstructorCallNode() + * @model + * @generated + */ +public interface ConstructorCallNode extends CompositeNode { +} // ConstructorCallNode diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/DeclaredParameterListNode.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/DeclaredParameterListNode.java new file mode 100644 index 00000000..3411e1d3 --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/DeclaredParameterListNode.java @@ -0,0 +1,22 @@ +/** + * + * + * + * $Id: DeclaredParameterListNode.java,v 1.1 2008/03/06 08:55:15 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node; + +import org.eclipse.tmf.common.node.CompositeNode; + +/** + * + * A representation of the model object 'Declared Parameter List Node'. + * + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage#getDeclaredParameterListNode() + * @model + * @generated + */ +public interface DeclaredParameterListNode extends CompositeNode { +} // DeclaredParameterListNode diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/DeclaredParameterNode.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/DeclaredParameterNode.java new file mode 100644 index 00000000..45d61b65 --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/DeclaredParameterNode.java @@ -0,0 +1,22 @@ +/** + * + * + * + * $Id: DeclaredParameterNode.java,v 1.1 2008/03/06 08:55:15 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node; + +import org.eclipse.tmf.common.node.CompositeNode; + +/** + * + * A representation of the model object 'Declared Parameter Node'. + * + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage#getDeclaredParameterNode() + * @model + * @generated + */ +public interface DeclaredParameterNode extends CompositeNode { +} // DeclaredParameterNode diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/DefinitionAroundNode.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/DefinitionAroundNode.java new file mode 100644 index 00000000..cabd70ea --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/DefinitionAroundNode.java @@ -0,0 +1,22 @@ +/** + * + * + * + * $Id: DefinitionAroundNode.java,v 1.1 2008/03/06 08:55:15 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node; + +import org.eclipse.tmf.common.node.CompositeNode; + +/** + * + * A representation of the model object 'Definition Around Node'. + * + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage#getDefinitionAroundNode() + * @model + * @generated + */ +public interface DefinitionAroundNode extends CompositeNode { +} // DefinitionAroundNode diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/DefinitionNode.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/DefinitionNode.java new file mode 100644 index 00000000..0f03ea9f --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/DefinitionNode.java @@ -0,0 +1,54 @@ +/** + * + * + * + * $Id: DefinitionNode.java,v 1.1 2008/03/06 08:55:14 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node; + +import org.eclipse.tmf.common.node.CompositeNode; + +/** + * + * A representation of the model object 'Definition Node'. + * + * + *

+ * The following features are supported: + *

+ *

+ * + * @see org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage#getDefinitionNode() + * @model + * @generated + */ +public interface DefinitionNode extends CompositeNode { + /** + * Returns the value of the 'Name' reference. + * + *

+ * If the meaning of the 'Name' reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Name' reference. + * @see #setName(CompositeNode) + * @see org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage#getDefinitionNode_Name() + * @model + * @generated + */ + CompositeNode getName(); + + /** + * Sets the value of the '{@link org.eclipse.xpand3.internal.parser.xpand3node.DefinitionNode#getName Name}' reference. + * + * + * @param value the new value of the 'Name' reference. + * @see #getName() + * @generated + */ + void setName(CompositeNode value); + +} // DefinitionNode diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/ElseIfStatementNode.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/ElseIfStatementNode.java new file mode 100644 index 00000000..3a30c69c --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/ElseIfStatementNode.java @@ -0,0 +1,22 @@ +/** + * + * + * + * $Id: ElseIfStatementNode.java,v 1.1 2008/03/06 08:55:15 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node; + +import org.eclipse.tmf.common.node.CompositeNode; + +/** + * + * A representation of the model object 'Else If Statement Node'. + * + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage#getElseIfStatementNode() + * @model + * @generated + */ +public interface ElseIfStatementNode extends CompositeNode { +} // ElseIfStatementNode diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/ElseStatementNode.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/ElseStatementNode.java new file mode 100644 index 00000000..93664762 --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/ElseStatementNode.java @@ -0,0 +1,22 @@ +/** + * + * + * + * $Id: ElseStatementNode.java,v 1.1 2008/03/06 08:55:14 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node; + +import org.eclipse.tmf.common.node.CompositeNode; + +/** + * + * A representation of the model object 'Else Statement Node'. + * + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage#getElseStatementNode() + * @model + * @generated + */ +public interface ElseStatementNode extends CompositeNode { +} // ElseStatementNode diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/ErrorStatementNode.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/ErrorStatementNode.java new file mode 100644 index 00000000..be8d5dfa --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/ErrorStatementNode.java @@ -0,0 +1,22 @@ +/** + * + * + * + * $Id: ErrorStatementNode.java,v 1.1 2008/03/06 08:55:15 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node; + +import org.eclipse.tmf.common.node.CompositeNode; + +/** + * + * A representation of the model object 'Error Statement Node'. + * + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage#getErrorStatementNode() + * @model + * @generated + */ +public interface ErrorStatementNode extends CompositeNode { +} // ErrorStatementNode diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/ExpandStatementNode.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/ExpandStatementNode.java new file mode 100644 index 00000000..d30d370c --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/ExpandStatementNode.java @@ -0,0 +1,22 @@ +/** + * + * + * + * $Id: ExpandStatementNode.java,v 1.1 2008/03/06 08:55:15 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node; + +import org.eclipse.tmf.common.node.CompositeNode; + +/** + * + * A representation of the model object 'Expand Statement Node'. + * + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage#getExpandStatementNode() + * @model + * @generated + */ +public interface ExpandStatementNode extends CompositeNode { +} // ExpandStatementNode diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/ExpressionNode.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/ExpressionNode.java new file mode 100644 index 00000000..8531673c --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/ExpressionNode.java @@ -0,0 +1,22 @@ +/** + * + * + * + * $Id: ExpressionNode.java,v 1.1 2008/03/06 08:55:15 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node; + +import org.eclipse.tmf.common.node.CompositeNode; + +/** + * + * A representation of the model object 'Expression Node'. + * + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage#getExpressionNode() + * @model + * @generated + */ +public interface ExpressionNode extends CompositeNode { +} // ExpressionNode diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/ExpressionStmtNode.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/ExpressionStmtNode.java new file mode 100644 index 00000000..193c863a --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/ExpressionStmtNode.java @@ -0,0 +1,22 @@ +/** + * + * + * + * $Id: ExpressionStmtNode.java,v 1.1 2008/03/06 08:55:15 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node; + +import org.eclipse.tmf.common.node.CompositeNode; + +/** + * + * A representation of the model object 'Expression Stmt Node'. + * + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage#getExpressionStmtNode() + * @model + * @generated + */ +public interface ExpressionStmtNode extends CompositeNode { +} // ExpressionStmtNode diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/ExtensionNode.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/ExtensionNode.java new file mode 100644 index 00000000..09556d97 --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/ExtensionNode.java @@ -0,0 +1,22 @@ +/** + * + * + * + * $Id: ExtensionNode.java,v 1.1 2008/03/06 08:55:15 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node; + +import org.eclipse.tmf.common.node.CompositeNode; + +/** + * + * A representation of the model object 'Extension Node'. + * + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage#getExtensionNode() + * @model + * @generated + */ +public interface ExtensionNode extends CompositeNode { +} // ExtensionNode diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/FeatureCallNode.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/FeatureCallNode.java new file mode 100644 index 00000000..9cf568be --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/FeatureCallNode.java @@ -0,0 +1,22 @@ +/** + * + * + * + * $Id: FeatureCallNode.java,v 1.1 2008/03/06 08:55:15 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node; + +import org.eclipse.tmf.common.node.CompositeNode; + +/** + * + * A representation of the model object 'Feature Call Node'. + * + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage#getFeatureCallNode() + * @model + * @generated + */ +public interface FeatureCallNode extends CompositeNode { +} // FeatureCallNode diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/FileNode.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/FileNode.java new file mode 100644 index 00000000..f5cc1f9d --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/FileNode.java @@ -0,0 +1,63 @@ +/** + * + * + * + * $Id: FileNode.java,v 1.1 2008/03/06 08:55:15 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.tmf.common.node.CompositeNode; + +/** + * + * A representation of the model object 'File Node'. + * + * + *

+ * The following features are supported: + *

+ *

+ * + * @see org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage#getFileNode() + * @model + * @generated + */ +public interface FileNode extends CompositeNode { + /** + * Returns the value of the 'Decl' reference list. + * The list contents are of type {@link org.eclipse.tmf.common.node.CompositeNode}. + * + *

+ * If the meaning of the 'Decl' reference list isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Decl' reference list. + * @see org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage#getFileNode_Decl() + * @model + * @generated + */ + EList getDecl(); + + /** + * Returns the value of the 'Imp' reference list. + * The list contents are of type {@link org.eclipse.tmf.common.node.CompositeNode}. + * + *

+ * If the meaning of the 'Imp' reference list isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Imp' reference list. + * @see org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage#getFileNode_Imp() + * @model + * @generated + */ + EList getImp(); + +} // FileNode diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/FileStatementNode.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/FileStatementNode.java new file mode 100644 index 00000000..3f5a9c94 --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/FileStatementNode.java @@ -0,0 +1,22 @@ +/** + * + * + * + * $Id: FileStatementNode.java,v 1.1 2008/03/06 08:55:15 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node; + +import org.eclipse.tmf.common.node.CompositeNode; + +/** + * + * A representation of the model object 'File Statement Node'. + * + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage#getFileStatementNode() + * @model + * @generated + */ +public interface FileStatementNode extends CompositeNode { +} // FileStatementNode diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/ForeachStatementNode.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/ForeachStatementNode.java new file mode 100644 index 00000000..4c366e43 --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/ForeachStatementNode.java @@ -0,0 +1,22 @@ +/** + * + * + * + * $Id: ForeachStatementNode.java,v 1.1 2008/03/06 08:55:15 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node; + +import org.eclipse.tmf.common.node.CompositeNode; + +/** + * + * A representation of the model object 'Foreach Statement Node'. + * + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage#getForeachStatementNode() + * @model + * @generated + */ +public interface ForeachStatementNode extends CompositeNode { +} // ForeachStatementNode diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/GlobalVarExpressionNode.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/GlobalVarExpressionNode.java new file mode 100644 index 00000000..0d78315e --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/GlobalVarExpressionNode.java @@ -0,0 +1,22 @@ +/** + * + * + * + * $Id: GlobalVarExpressionNode.java,v 1.1 2008/03/06 08:55:15 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node; + +import org.eclipse.tmf.common.node.CompositeNode; + +/** + * + * A representation of the model object 'Global Var Expression Node'. + * + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage#getGlobalVarExpressionNode() + * @model + * @generated + */ +public interface GlobalVarExpressionNode extends CompositeNode { +} // GlobalVarExpressionNode diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/IdentifierNode.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/IdentifierNode.java new file mode 100644 index 00000000..8735d691 --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/IdentifierNode.java @@ -0,0 +1,22 @@ +/** + * + * + * + * $Id: IdentifierNode.java,v 1.1 2008/03/06 08:55:15 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node; + +import org.eclipse.tmf.common.node.CompositeNode; + +/** + * + * A representation of the model object 'Identifier Node'. + * + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage#getIdentifierNode() + * @model + * @generated + */ +public interface IdentifierNode extends CompositeNode { +} // IdentifierNode diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/IfExpressionNode.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/IfExpressionNode.java new file mode 100644 index 00000000..9b7fe1ee --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/IfExpressionNode.java @@ -0,0 +1,22 @@ +/** + * + * + * + * $Id: IfExpressionNode.java,v 1.1 2008/03/06 08:55:14 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node; + +import org.eclipse.tmf.common.node.CompositeNode; + +/** + * + * A representation of the model object 'If Expression Node'. + * + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage#getIfExpressionNode() + * @model + * @generated + */ +public interface IfExpressionNode extends CompositeNode { +} // IfExpressionNode diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/IfStatementNode.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/IfStatementNode.java new file mode 100644 index 00000000..2de4bd3a --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/IfStatementNode.java @@ -0,0 +1,22 @@ +/** + * + * + * + * $Id: IfStatementNode.java,v 1.1 2008/03/06 08:55:15 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node; + +import org.eclipse.tmf.common.node.CompositeNode; + +/** + * + * A representation of the model object 'If Statement Node'. + * + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage#getIfStatementNode() + * @model + * @generated + */ +public interface IfStatementNode extends CompositeNode { +} // IfStatementNode diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/ImpliesExpressionNode.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/ImpliesExpressionNode.java new file mode 100644 index 00000000..3219b3cb --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/ImpliesExpressionNode.java @@ -0,0 +1,22 @@ +/** + * + * + * + * $Id: ImpliesExpressionNode.java,v 1.1 2008/03/06 08:55:15 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node; + +import org.eclipse.tmf.common.node.CompositeNode; + +/** + * + * A representation of the model object 'Implies Expression Node'. + * + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage#getImpliesExpressionNode() + * @model + * @generated + */ +public interface ImpliesExpressionNode extends CompositeNode { +} // ImpliesExpressionNode diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/InfixExpressionNode.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/InfixExpressionNode.java new file mode 100644 index 00000000..912ba95e --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/InfixExpressionNode.java @@ -0,0 +1,22 @@ +/** + * + * + * + * $Id: InfixExpressionNode.java,v 1.1 2008/03/06 08:55:14 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node; + +import org.eclipse.tmf.common.node.CompositeNode; + +/** + * + * A representation of the model object 'Infix Expression Node'. + * + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage#getInfixExpressionNode() + * @model + * @generated + */ +public interface InfixExpressionNode extends CompositeNode { +} // InfixExpressionNode diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/JavaTypeNode.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/JavaTypeNode.java new file mode 100644 index 00000000..026b2071 --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/JavaTypeNode.java @@ -0,0 +1,22 @@ +/** + * + * + * + * $Id: JavaTypeNode.java,v 1.1 2008/03/06 08:55:15 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node; + +import org.eclipse.tmf.common.node.CompositeNode; + +/** + * + * A representation of the model object 'Java Type Node'. + * + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage#getJavaTypeNode() + * @model + * @generated + */ +public interface JavaTypeNode extends CompositeNode { +} // JavaTypeNode diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/LetExpressionNode.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/LetExpressionNode.java new file mode 100644 index 00000000..1a3d9dc6 --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/LetExpressionNode.java @@ -0,0 +1,22 @@ +/** + * + * + * + * $Id: LetExpressionNode.java,v 1.1 2008/03/06 08:55:15 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node; + +import org.eclipse.tmf.common.node.CompositeNode; + +/** + * + * A representation of the model object 'Let Expression Node'. + * + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage#getLetExpressionNode() + * @model + * @generated + */ +public interface LetExpressionNode extends CompositeNode { +} // LetExpressionNode diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/LetStatementNode.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/LetStatementNode.java new file mode 100644 index 00000000..6829029f --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/LetStatementNode.java @@ -0,0 +1,22 @@ +/** + * + * + * + * $Id: LetStatementNode.java,v 1.1 2008/03/06 08:55:15 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node; + +import org.eclipse.tmf.common.node.CompositeNode; + +/** + * + * A representation of the model object 'Let Statement Node'. + * + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage#getLetStatementNode() + * @model + * @generated + */ +public interface LetStatementNode extends CompositeNode { +} // LetStatementNode diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/ListLiteralNode.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/ListLiteralNode.java new file mode 100644 index 00000000..b160b2d9 --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/ListLiteralNode.java @@ -0,0 +1,22 @@ +/** + * + * + * + * $Id: ListLiteralNode.java,v 1.1 2008/03/06 08:55:15 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node; + +import org.eclipse.tmf.common.node.CompositeNode; + +/** + * + * A representation of the model object 'List Literal Node'. + * + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage#getListLiteralNode() + * @model + * @generated + */ +public interface ListLiteralNode extends CompositeNode { +} // ListLiteralNode diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/MultiplicativeExpressionNode.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/MultiplicativeExpressionNode.java new file mode 100644 index 00000000..77674e2d --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/MultiplicativeExpressionNode.java @@ -0,0 +1,22 @@ +/** + * + * + * + * $Id: MultiplicativeExpressionNode.java,v 1.1 2008/03/06 08:55:15 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node; + +import org.eclipse.tmf.common.node.CompositeNode; + +/** + * + * A representation of the model object 'Multiplicative Expression Node'. + * + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage#getMultiplicativeExpressionNode() + * @model + * @generated + */ +public interface MultiplicativeExpressionNode extends CompositeNode { +} // MultiplicativeExpressionNode diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/NsImportNode.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/NsImportNode.java new file mode 100644 index 00000000..3840a8cb --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/NsImportNode.java @@ -0,0 +1,54 @@ +/** + * + * + * + * $Id: NsImportNode.java,v 1.1 2008/03/06 08:55:14 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node; + +import org.eclipse.tmf.common.node.CompositeNode; + +/** + * + * A representation of the model object 'Ns Import Node'. + * + * + *

+ * The following features are supported: + *

+ *

+ * + * @see org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage#getNsImportNode() + * @model + * @generated + */ +public interface NsImportNode extends CompositeNode { + /** + * Returns the value of the 'Ns' reference. + * + *

+ * If the meaning of the 'Ns' reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Ns' reference. + * @see #setNs(CompositeNode) + * @see org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage#getNsImportNode_Ns() + * @model + * @generated + */ + CompositeNode getNs(); + + /** + * Sets the value of the '{@link org.eclipse.xpand3.internal.parser.xpand3node.NsImportNode#getNs Ns}' reference. + * + * + * @param value the new value of the 'Ns' reference. + * @see #getNs() + * @generated + */ + void setNs(CompositeNode value); + +} // NsImportNode diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/NullLiteralNode.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/NullLiteralNode.java new file mode 100644 index 00000000..a6d46dda --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/NullLiteralNode.java @@ -0,0 +1,22 @@ +/** + * + * + * + * $Id: NullLiteralNode.java,v 1.1 2008/03/06 08:55:15 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node; + +import org.eclipse.tmf.common.node.CompositeNode; + +/** + * + * A representation of the model object 'Null Literal Node'. + * + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage#getNullLiteralNode() + * @model + * @generated + */ +public interface NullLiteralNode extends CompositeNode { +} // NullLiteralNode diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/NumberLiteralNode.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/NumberLiteralNode.java new file mode 100644 index 00000000..63dfad71 --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/NumberLiteralNode.java @@ -0,0 +1,22 @@ +/** + * + * + * + * $Id: NumberLiteralNode.java,v 1.1 2008/03/06 08:55:14 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node; + +import org.eclipse.tmf.common.node.CompositeNode; + +/** + * + * A representation of the model object 'Number Literal Node'. + * + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage#getNumberLiteralNode() + * @model + * @generated + */ +public interface NumberLiteralNode extends CompositeNode { +} // NumberLiteralNode diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/OrExpressionNode.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/OrExpressionNode.java new file mode 100644 index 00000000..e8628219 --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/OrExpressionNode.java @@ -0,0 +1,22 @@ +/** + * + * + * + * $Id: OrExpressionNode.java,v 1.1 2008/03/06 08:55:14 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node; + +import org.eclipse.tmf.common.node.CompositeNode; + +/** + * + * A representation of the model object 'Or Expression Node'. + * + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage#getOrExpressionNode() + * @model + * @generated + */ +public interface OrExpressionNode extends CompositeNode { +} // OrExpressionNode diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/ParameterListNode.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/ParameterListNode.java new file mode 100644 index 00000000..b4816c91 --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/ParameterListNode.java @@ -0,0 +1,22 @@ +/** + * + * + * + * $Id: ParameterListNode.java,v 1.1 2008/03/06 08:55:14 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node; + +import org.eclipse.tmf.common.node.CompositeNode; + +/** + * + * A representation of the model object 'Parameter List Node'. + * + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage#getParameterListNode() + * @model + * @generated + */ +public interface ParameterListNode extends CompositeNode { +} // ParameterListNode diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/ParanthesizedExpressionNode.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/ParanthesizedExpressionNode.java new file mode 100644 index 00000000..169445da --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/ParanthesizedExpressionNode.java @@ -0,0 +1,22 @@ +/** + * + * + * + * $Id: ParanthesizedExpressionNode.java,v 1.1 2008/03/06 08:55:15 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node; + +import org.eclipse.tmf.common.node.CompositeNode; + +/** + * + * A representation of the model object 'Paranthesized Expression Node'. + * + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage#getParanthesizedExpressionNode() + * @model + * @generated + */ +public interface ParanthesizedExpressionNode extends CompositeNode { +} // ParanthesizedExpressionNode diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/PointcutNode.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/PointcutNode.java new file mode 100644 index 00000000..170bd337 --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/PointcutNode.java @@ -0,0 +1,22 @@ +/** + * + * + * + * $Id: PointcutNode.java,v 1.1 2008/03/06 08:55:14 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node; + +import org.eclipse.tmf.common.node.CompositeNode; + +/** + * + * A representation of the model object 'Pointcut Node'. + * + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage#getPointcutNode() + * @model + * @generated + */ +public interface PointcutNode extends CompositeNode { +} // PointcutNode diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/ProtectStatementNode.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/ProtectStatementNode.java new file mode 100644 index 00000000..e3f23f49 --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/ProtectStatementNode.java @@ -0,0 +1,22 @@ +/** + * + * + * + * $Id: ProtectStatementNode.java,v 1.1 2008/03/06 08:55:15 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node; + +import org.eclipse.tmf.common.node.CompositeNode; + +/** + * + * A representation of the model object 'Protect Statement Node'. + * + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage#getProtectStatementNode() + * @model + * @generated + */ +public interface ProtectStatementNode extends CompositeNode { +} // ProtectStatementNode diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/RelationalExpressionNode.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/RelationalExpressionNode.java new file mode 100644 index 00000000..20692b35 --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/RelationalExpressionNode.java @@ -0,0 +1,22 @@ +/** + * + * + * + * $Id: RelationalExpressionNode.java,v 1.1 2008/03/06 08:55:15 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node; + +import org.eclipse.tmf.common.node.CompositeNode; + +/** + * + * A representation of the model object 'Relational Expression Node'. + * + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage#getRelationalExpressionNode() + * @model + * @generated + */ +public interface RelationalExpressionNode extends CompositeNode { +} // RelationalExpressionNode diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/SequenceNode.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/SequenceNode.java new file mode 100644 index 00000000..bd55f946 --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/SequenceNode.java @@ -0,0 +1,22 @@ +/** + * + * + * + * $Id: SequenceNode.java,v 1.1 2008/03/06 08:55:15 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node; + +import org.eclipse.tmf.common.node.CompositeNode; + +/** + * + * A representation of the model object 'Sequence Node'. + * + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage#getSequenceNode() + * @model + * @generated + */ +public interface SequenceNode extends CompositeNode { +} // SequenceNode diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/SimpleTypeNode.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/SimpleTypeNode.java new file mode 100644 index 00000000..8bb005d7 --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/SimpleTypeNode.java @@ -0,0 +1,22 @@ +/** + * + * + * + * $Id: SimpleTypeNode.java,v 1.1 2008/03/06 08:55:15 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node; + +import org.eclipse.tmf.common.node.CompositeNode; + +/** + * + * A representation of the model object 'Simple Type Node'. + * + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage#getSimpleTypeNode() + * @model + * @generated + */ +public interface SimpleTypeNode extends CompositeNode { +} // SimpleTypeNode diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/StringLiteralNode.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/StringLiteralNode.java new file mode 100644 index 00000000..ca0608b1 --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/StringLiteralNode.java @@ -0,0 +1,22 @@ +/** + * + * + * + * $Id: StringLiteralNode.java,v 1.1 2008/03/06 08:55:15 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node; + +import org.eclipse.tmf.common.node.CompositeNode; + +/** + * + * A representation of the model object 'String Literal Node'. + * + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage#getStringLiteralNode() + * @model + * @generated + */ +public interface StringLiteralNode extends CompositeNode { +} // StringLiteralNode diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/SwitchExpressionNode.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/SwitchExpressionNode.java new file mode 100644 index 00000000..176d8c74 --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/SwitchExpressionNode.java @@ -0,0 +1,22 @@ +/** + * + * + * + * $Id: SwitchExpressionNode.java,v 1.1 2008/03/06 08:55:14 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node; + +import org.eclipse.tmf.common.node.CompositeNode; + +/** + * + * A representation of the model object 'Switch Expression Node'. + * + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage#getSwitchExpressionNode() + * @model + * @generated + */ +public interface SwitchExpressionNode extends CompositeNode { +} // SwitchExpressionNode diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/Test_expressionNode.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/Test_expressionNode.java new file mode 100644 index 00000000..20220d7d --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/Test_expressionNode.java @@ -0,0 +1,22 @@ +/** + * + * + * + * $Id: Test_expressionNode.java,v 1.1 2008/03/06 08:55:15 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node; + +import org.eclipse.tmf.common.node.CompositeNode; + +/** + * + * A representation of the model object 'Test expression Node'. + * + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage#getTest_expressionNode() + * @model + * @generated + */ +public interface Test_expressionNode extends CompositeNode { +} // Test_expressionNode diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/TextNode.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/TextNode.java new file mode 100644 index 00000000..ae9b1590 --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/TextNode.java @@ -0,0 +1,22 @@ +/** + * + * + * + * $Id: TextNode.java,v 1.1 2008/03/06 08:55:14 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node; + +import org.eclipse.tmf.common.node.CompositeNode; + +/** + * + * A representation of the model object 'Text Node'. + * + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage#getTextNode() + * @model + * @generated + */ +public interface TextNode extends CompositeNode { +} // TextNode diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/TextSequenceNode.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/TextSequenceNode.java new file mode 100644 index 00000000..328f022e --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/TextSequenceNode.java @@ -0,0 +1,22 @@ +/** + * + * + * + * $Id: TextSequenceNode.java,v 1.1 2008/03/06 08:55:15 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node; + +import org.eclipse.tmf.common.node.CompositeNode; + +/** + * + * A representation of the model object 'Text Sequence Node'. + * + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage#getTextSequenceNode() + * @model + * @generated + */ +public interface TextSequenceNode extends CompositeNode { +} // TextSequenceNode diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/UnaryExpressionNode.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/UnaryExpressionNode.java new file mode 100644 index 00000000..9c7a254a --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/UnaryExpressionNode.java @@ -0,0 +1,22 @@ +/** + * + * + * + * $Id: UnaryExpressionNode.java,v 1.1 2008/03/06 08:55:15 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node; + +import org.eclipse.tmf.common.node.CompositeNode; + +/** + * + * A representation of the model object 'Unary Expression Node'. + * + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage#getUnaryExpressionNode() + * @model + * @generated + */ +public interface UnaryExpressionNode extends CompositeNode { +} // UnaryExpressionNode diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/Xpand3nodeFactory.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/Xpand3nodeFactory.java new file mode 100644 index 00000000..f5682e10 --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/Xpand3nodeFactory.java @@ -0,0 +1,523 @@ +/** + * + * + * + * $Id: Xpand3nodeFactory.java,v 1.1 2008/03/06 08:55:15 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node; + +import org.eclipse.emf.ecore.EFactory; + +/** + * + * The Factory for the model. + * It provides a create method for each non-abstract class of the model. + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage + * @generated + */ +public interface Xpand3nodeFactory extends EFactory { + /** + * The singleton instance of the factory. + * + * + * @generated + */ + Xpand3nodeFactory eINSTANCE = org.eclipse.xpand3.internal.parser.xpand3node.impl.Xpand3nodeFactoryImpl.init(); + + /** + * Returns a new object of class 'File Node'. + * + * + * @return a new object of class 'File Node'. + * @generated + */ + FileNode createFileNode(); + + /** + * Returns a new object of class 'Ns Import Node'. + * + * + * @return a new object of class 'Ns Import Node'. + * @generated + */ + NsImportNode createNsImportNode(); + + /** + * Returns a new object of class 'Definition Node'. + * + * + * @return a new object of class 'Definition Node'. + * @generated + */ + DefinitionNode createDefinitionNode(); + + /** + * Returns a new object of class 'Definition Around Node'. + * + * + * @return a new object of class 'Definition Around Node'. + * @generated + */ + DefinitionAroundNode createDefinitionAroundNode(); + + /** + * Returns a new object of class 'Sequence Node'. + * + * + * @return a new object of class 'Sequence Node'. + * @generated + */ + SequenceNode createSequenceNode(); + + /** + * Returns a new object of class 'Text Sequence Node'. + * + * + * @return a new object of class 'Text Sequence Node'. + * @generated + */ + TextSequenceNode createTextSequenceNode(); + + /** + * Returns a new object of class 'Text Node'. + * + * + * @return a new object of class 'Text Node'. + * @generated + */ + TextNode createTextNode(); + + /** + * Returns a new object of class 'Error Statement Node'. + * + * + * @return a new object of class 'Error Statement Node'. + * @generated + */ + ErrorStatementNode createErrorStatementNode(); + + /** + * Returns a new object of class 'Expand Statement Node'. + * + * + * @return a new object of class 'Expand Statement Node'. + * @generated + */ + ExpandStatementNode createExpandStatementNode(); + + /** + * Returns a new object of class 'Expression Stmt Node'. + * + * + * @return a new object of class 'Expression Stmt Node'. + * @generated + */ + ExpressionStmtNode createExpressionStmtNode(); + + /** + * Returns a new object of class 'File Statement Node'. + * + * + * @return a new object of class 'File Statement Node'. + * @generated + */ + FileStatementNode createFileStatementNode(); + + /** + * Returns a new object of class 'Foreach Statement Node'. + * + * + * @return a new object of class 'Foreach Statement Node'. + * @generated + */ + ForeachStatementNode createForeachStatementNode(); + + /** + * Returns a new object of class 'If Statement Node'. + * + * + * @return a new object of class 'If Statement Node'. + * @generated + */ + IfStatementNode createIfStatementNode(); + + /** + * Returns a new object of class 'Else If Statement Node'. + * + * + * @return a new object of class 'Else If Statement Node'. + * @generated + */ + ElseIfStatementNode createElseIfStatementNode(); + + /** + * Returns a new object of class 'Else Statement Node'. + * + * + * @return a new object of class 'Else Statement Node'. + * @generated + */ + ElseStatementNode createElseStatementNode(); + + /** + * Returns a new object of class 'Let Statement Node'. + * + * + * @return a new object of class 'Let Statement Node'. + * @generated + */ + LetStatementNode createLetStatementNode(); + + /** + * Returns a new object of class 'Protect Statement Node'. + * + * + * @return a new object of class 'Protect Statement Node'. + * @generated + */ + ProtectStatementNode createProtectStatementNode(); + + /** + * Returns a new object of class 'Check Node'. + * + * + * @return a new object of class 'Check Node'. + * @generated + */ + CheckNode createCheckNode(); + + /** + * Returns a new object of class 'Around Node'. + * + * + * @return a new object of class 'Around Node'. + * @generated + */ + AroundNode createAroundNode(); + + /** + * Returns a new object of class 'Pointcut Node'. + * + * + * @return a new object of class 'Pointcut Node'. + * @generated + */ + PointcutNode createPointcutNode(); + + /** + * Returns a new object of class 'Extension Node'. + * + * + * @return a new object of class 'Extension Node'. + * @generated + */ + ExtensionNode createExtensionNode(); + + /** + * Returns a new object of class 'Java Type Node'. + * + * + * @return a new object of class 'Java Type Node'. + * @generated + */ + JavaTypeNode createJavaTypeNode(); + + /** + * Returns a new object of class 'Test expression Node'. + * + * + * @return a new object of class 'Test expression Node'. + * @generated + */ + Test_expressionNode createTest_expressionNode(); + + /** + * Returns a new object of class 'Expression Node'. + * + * + * @return a new object of class 'Expression Node'. + * @generated + */ + ExpressionNode createExpressionNode(); + + /** + * Returns a new object of class 'Let Expression Node'. + * + * + * @return a new object of class 'Let Expression Node'. + * @generated + */ + LetExpressionNode createLetExpressionNode(); + + /** + * Returns a new object of class 'Casted Expression Node'. + * + * + * @return a new object of class 'Casted Expression Node'. + * @generated + */ + CastedExpressionNode createCastedExpressionNode(); + + /** + * Returns a new object of class 'Chain Expression Node'. + * + * + * @return a new object of class 'Chain Expression Node'. + * @generated + */ + ChainExpressionNode createChainExpressionNode(); + + /** + * Returns a new object of class 'If Expression Node'. + * + * + * @return a new object of class 'If Expression Node'. + * @generated + */ + IfExpressionNode createIfExpressionNode(); + + /** + * Returns a new object of class 'Switch Expression Node'. + * + * + * @return a new object of class 'Switch Expression Node'. + * @generated + */ + SwitchExpressionNode createSwitchExpressionNode(); + + /** + * Returns a new object of class 'Case Part Node'. + * + * + * @return a new object of class 'Case Part Node'. + * @generated + */ + CasePartNode createCasePartNode(); + + /** + * Returns a new object of class 'Or Expression Node'. + * + * + * @return a new object of class 'Or Expression Node'. + * @generated + */ + OrExpressionNode createOrExpressionNode(); + + /** + * Returns a new object of class 'And Expression Node'. + * + * + * @return a new object of class 'And Expression Node'. + * @generated + */ + AndExpressionNode createAndExpressionNode(); + + /** + * Returns a new object of class 'Implies Expression Node'. + * + * + * @return a new object of class 'Implies Expression Node'. + * @generated + */ + ImpliesExpressionNode createImpliesExpressionNode(); + + /** + * Returns a new object of class 'Relational Expression Node'. + * + * + * @return a new object of class 'Relational Expression Node'. + * @generated + */ + RelationalExpressionNode createRelationalExpressionNode(); + + /** + * Returns a new object of class 'Additive Expression Node'. + * + * + * @return a new object of class 'Additive Expression Node'. + * @generated + */ + AdditiveExpressionNode createAdditiveExpressionNode(); + + /** + * Returns a new object of class 'Multiplicative Expression Node'. + * + * + * @return a new object of class 'Multiplicative Expression Node'. + * @generated + */ + MultiplicativeExpressionNode createMultiplicativeExpressionNode(); + + /** + * Returns a new object of class 'Unary Expression Node'. + * + * + * @return a new object of class 'Unary Expression Node'. + * @generated + */ + UnaryExpressionNode createUnaryExpressionNode(); + + /** + * Returns a new object of class 'Infix Expression Node'. + * + * + * @return a new object of class 'Infix Expression Node'. + * @generated + */ + InfixExpressionNode createInfixExpressionNode(); + + /** + * Returns a new object of class 'String Literal Node'. + * + * + * @return a new object of class 'String Literal Node'. + * @generated + */ + StringLiteralNode createStringLiteralNode(); + + /** + * Returns a new object of class 'Paranthesized Expression Node'. + * + * + * @return a new object of class 'Paranthesized Expression Node'. + * @generated + */ + ParanthesizedExpressionNode createParanthesizedExpressionNode(); + + /** + * Returns a new object of class 'Global Var Expression Node'. + * + * + * @return a new object of class 'Global Var Expression Node'. + * @generated + */ + GlobalVarExpressionNode createGlobalVarExpressionNode(); + + /** + * Returns a new object of class 'Feature Call Node'. + * + * + * @return a new object of class 'Feature Call Node'. + * @generated + */ + FeatureCallNode createFeatureCallNode(); + + /** + * Returns a new object of class 'List Literal Node'. + * + * + * @return a new object of class 'List Literal Node'. + * @generated + */ + ListLiteralNode createListLiteralNode(); + + /** + * Returns a new object of class 'Constructor Call Node'. + * + * + * @return a new object of class 'Constructor Call Node'. + * @generated + */ + ConstructorCallNode createConstructorCallNode(); + + /** + * Returns a new object of class 'Boolean Literal Node'. + * + * + * @return a new object of class 'Boolean Literal Node'. + * @generated + */ + BooleanLiteralNode createBooleanLiteralNode(); + + /** + * Returns a new object of class 'Null Literal Node'. + * + * + * @return a new object of class 'Null Literal Node'. + * @generated + */ + NullLiteralNode createNullLiteralNode(); + + /** + * Returns a new object of class 'Number Literal Node'. + * + * + * @return a new object of class 'Number Literal Node'. + * @generated + */ + NumberLiteralNode createNumberLiteralNode(); + + /** + * Returns a new object of class 'Collection Expression Node'. + * + * + * @return a new object of class 'Collection Expression Node'. + * @generated + */ + CollectionExpressionNode createCollectionExpressionNode(); + + /** + * Returns a new object of class 'Declared Parameter List Node'. + * + * + * @return a new object of class 'Declared Parameter List Node'. + * @generated + */ + DeclaredParameterListNode createDeclaredParameterListNode(); + + /** + * Returns a new object of class 'Declared Parameter Node'. + * + * + * @return a new object of class 'Declared Parameter Node'. + * @generated + */ + DeclaredParameterNode createDeclaredParameterNode(); + + /** + * Returns a new object of class 'Parameter List Node'. + * + * + * @return a new object of class 'Parameter List Node'. + * @generated + */ + ParameterListNode createParameterListNode(); + + /** + * Returns a new object of class 'Collection Type Node'. + * + * + * @return a new object of class 'Collection Type Node'. + * @generated + */ + CollectionTypeNode createCollectionTypeNode(); + + /** + * Returns a new object of class 'Simple Type Node'. + * + * + * @return a new object of class 'Simple Type Node'. + * @generated + */ + SimpleTypeNode createSimpleTypeNode(); + + /** + * Returns a new object of class 'Identifier Node'. + * + * + * @return a new object of class 'Identifier Node'. + * @generated + */ + IdentifierNode createIdentifierNode(); + + /** + * Returns the package supported by this factory. + * + * + * @return the package supported by this factory. + * @generated + */ + Xpand3nodePackage getXpand3nodePackage(); + +} //Xpand3nodeFactory diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/Xpand3nodePackage.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/Xpand3nodePackage.java new file mode 100644 index 00000000..a93b5dc9 --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/Xpand3nodePackage.java @@ -0,0 +1,4250 @@ +/** + * + * + * + * $Id: Xpand3nodePackage.java,v 1.1 2008/03/06 08:55:15 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EPackage; +import org.eclipse.emf.ecore.EReference; + +import org.eclipse.tmf.common.node.NodePackage; + +/** + * + * The Package for the model. + * It contains accessors for the meta objects to represent + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodeFactory + * @model kind="package" + * @generated + */ +public interface Xpand3nodePackage extends EPackage { + /** + * The package name. + * + * + * @generated + */ + String eNAME = "xpand3node"; + + /** + * The package namespace URI. + * + * + * @generated + */ + String eNS_URI = "http://www.eclipse.org/tmf/common/Xpand3Node"; + + /** + * The package namespace name. + * + * + * @generated + */ + String eNS_PREFIX = "xpand3node"; + + /** + * The singleton instance of the package. + * + * + * @generated + */ + Xpand3nodePackage eINSTANCE = org.eclipse.xpand3.internal.parser.xpand3node.impl.Xpand3nodePackageImpl.init(); + + /** + * The meta object id for the '{@link org.eclipse.xpand3.internal.parser.xpand3node.impl.FileNodeImpl File Node}' class. + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.FileNodeImpl + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.Xpand3nodePackageImpl#getFileNode() + * @generated + */ + int FILE_NODE = 0; + + /** + * The feature id for the 'Alias' attribute. + * + * + * @generated + * @ordered + */ + int FILE_NODE__ALIAS = NodePackage.COMPOSITE_NODE__ALIAS; + + /** + * The feature id for the 'Children' containment reference list. + * + * + * @generated + * @ordered + */ + int FILE_NODE__CHILDREN = NodePackage.COMPOSITE_NODE__CHILDREN; + + /** + * The feature id for the 'Rule' attribute. + * + * + * @generated + * @ordered + */ + int FILE_NODE__RULE = NodePackage.COMPOSITE_NODE__RULE; + + /** + * The feature id for the 'Rule ID' attribute. + * + * + * @generated + * @ordered + */ + int FILE_NODE__RULE_ID = NodePackage.COMPOSITE_NODE__RULE_ID; + + /** + * The feature id for the 'Decl' reference list. + * + * + * @generated + * @ordered + */ + int FILE_NODE__DECL = NodePackage.COMPOSITE_NODE_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Imp' reference list. + * + * + * @generated + * @ordered + */ + int FILE_NODE__IMP = NodePackage.COMPOSITE_NODE_FEATURE_COUNT + 1; + + /** + * The number of structural features of the 'File Node' class. + * + * + * @generated + * @ordered + */ + int FILE_NODE_FEATURE_COUNT = NodePackage.COMPOSITE_NODE_FEATURE_COUNT + 2; + + /** + * The meta object id for the '{@link org.eclipse.xpand3.internal.parser.xpand3node.impl.NsImportNodeImpl Ns Import Node}' class. + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.NsImportNodeImpl + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.Xpand3nodePackageImpl#getNsImportNode() + * @generated + */ + int NS_IMPORT_NODE = 1; + + /** + * The feature id for the 'Alias' attribute. + * + * + * @generated + * @ordered + */ + int NS_IMPORT_NODE__ALIAS = NodePackage.COMPOSITE_NODE__ALIAS; + + /** + * The feature id for the 'Children' containment reference list. + * + * + * @generated + * @ordered + */ + int NS_IMPORT_NODE__CHILDREN = NodePackage.COMPOSITE_NODE__CHILDREN; + + /** + * The feature id for the 'Rule' attribute. + * + * + * @generated + * @ordered + */ + int NS_IMPORT_NODE__RULE = NodePackage.COMPOSITE_NODE__RULE; + + /** + * The feature id for the 'Rule ID' attribute. + * + * + * @generated + * @ordered + */ + int NS_IMPORT_NODE__RULE_ID = NodePackage.COMPOSITE_NODE__RULE_ID; + + /** + * The feature id for the 'Ns' reference. + * + * + * @generated + * @ordered + */ + int NS_IMPORT_NODE__NS = NodePackage.COMPOSITE_NODE_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Ns Import Node' class. + * + * + * @generated + * @ordered + */ + int NS_IMPORT_NODE_FEATURE_COUNT = NodePackage.COMPOSITE_NODE_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link org.eclipse.xpand3.internal.parser.xpand3node.impl.DefinitionNodeImpl Definition Node}' class. + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.DefinitionNodeImpl + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.Xpand3nodePackageImpl#getDefinitionNode() + * @generated + */ + int DEFINITION_NODE = 2; + + /** + * The feature id for the 'Alias' attribute. + * + * + * @generated + * @ordered + */ + int DEFINITION_NODE__ALIAS = NodePackage.COMPOSITE_NODE__ALIAS; + + /** + * The feature id for the 'Children' containment reference list. + * + * + * @generated + * @ordered + */ + int DEFINITION_NODE__CHILDREN = NodePackage.COMPOSITE_NODE__CHILDREN; + + /** + * The feature id for the 'Rule' attribute. + * + * + * @generated + * @ordered + */ + int DEFINITION_NODE__RULE = NodePackage.COMPOSITE_NODE__RULE; + + /** + * The feature id for the 'Rule ID' attribute. + * + * + * @generated + * @ordered + */ + int DEFINITION_NODE__RULE_ID = NodePackage.COMPOSITE_NODE__RULE_ID; + + /** + * The feature id for the 'Name' reference. + * + * + * @generated + * @ordered + */ + int DEFINITION_NODE__NAME = NodePackage.COMPOSITE_NODE_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Definition Node' class. + * + * + * @generated + * @ordered + */ + int DEFINITION_NODE_FEATURE_COUNT = NodePackage.COMPOSITE_NODE_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link org.eclipse.xpand3.internal.parser.xpand3node.impl.DefinitionAroundNodeImpl Definition Around Node}' class. + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.DefinitionAroundNodeImpl + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.Xpand3nodePackageImpl#getDefinitionAroundNode() + * @generated + */ + int DEFINITION_AROUND_NODE = 3; + + /** + * The feature id for the 'Alias' attribute. + * + * + * @generated + * @ordered + */ + int DEFINITION_AROUND_NODE__ALIAS = NodePackage.COMPOSITE_NODE__ALIAS; + + /** + * The feature id for the 'Children' containment reference list. + * + * + * @generated + * @ordered + */ + int DEFINITION_AROUND_NODE__CHILDREN = NodePackage.COMPOSITE_NODE__CHILDREN; + + /** + * The feature id for the 'Rule' attribute. + * + * + * @generated + * @ordered + */ + int DEFINITION_AROUND_NODE__RULE = NodePackage.COMPOSITE_NODE__RULE; + + /** + * The feature id for the 'Rule ID' attribute. + * + * + * @generated + * @ordered + */ + int DEFINITION_AROUND_NODE__RULE_ID = NodePackage.COMPOSITE_NODE__RULE_ID; + + /** + * The number of structural features of the 'Definition Around Node' class. + * + * + * @generated + * @ordered + */ + int DEFINITION_AROUND_NODE_FEATURE_COUNT = NodePackage.COMPOSITE_NODE_FEATURE_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.xpand3.internal.parser.xpand3node.impl.SequenceNodeImpl Sequence Node}' class. + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.SequenceNodeImpl + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.Xpand3nodePackageImpl#getSequenceNode() + * @generated + */ + int SEQUENCE_NODE = 4; + + /** + * The feature id for the 'Alias' attribute. + * + * + * @generated + * @ordered + */ + int SEQUENCE_NODE__ALIAS = NodePackage.COMPOSITE_NODE__ALIAS; + + /** + * The feature id for the 'Children' containment reference list. + * + * + * @generated + * @ordered + */ + int SEQUENCE_NODE__CHILDREN = NodePackage.COMPOSITE_NODE__CHILDREN; + + /** + * The feature id for the 'Rule' attribute. + * + * + * @generated + * @ordered + */ + int SEQUENCE_NODE__RULE = NodePackage.COMPOSITE_NODE__RULE; + + /** + * The feature id for the 'Rule ID' attribute. + * + * + * @generated + * @ordered + */ + int SEQUENCE_NODE__RULE_ID = NodePackage.COMPOSITE_NODE__RULE_ID; + + /** + * The number of structural features of the 'Sequence Node' class. + * + * + * @generated + * @ordered + */ + int SEQUENCE_NODE_FEATURE_COUNT = NodePackage.COMPOSITE_NODE_FEATURE_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.xpand3.internal.parser.xpand3node.impl.TextSequenceNodeImpl Text Sequence Node}' class. + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.TextSequenceNodeImpl + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.Xpand3nodePackageImpl#getTextSequenceNode() + * @generated + */ + int TEXT_SEQUENCE_NODE = 5; + + /** + * The feature id for the 'Alias' attribute. + * + * + * @generated + * @ordered + */ + int TEXT_SEQUENCE_NODE__ALIAS = NodePackage.COMPOSITE_NODE__ALIAS; + + /** + * The feature id for the 'Children' containment reference list. + * + * + * @generated + * @ordered + */ + int TEXT_SEQUENCE_NODE__CHILDREN = NodePackage.COMPOSITE_NODE__CHILDREN; + + /** + * The feature id for the 'Rule' attribute. + * + * + * @generated + * @ordered + */ + int TEXT_SEQUENCE_NODE__RULE = NodePackage.COMPOSITE_NODE__RULE; + + /** + * The feature id for the 'Rule ID' attribute. + * + * + * @generated + * @ordered + */ + int TEXT_SEQUENCE_NODE__RULE_ID = NodePackage.COMPOSITE_NODE__RULE_ID; + + /** + * The number of structural features of the 'Text Sequence Node' class. + * + * + * @generated + * @ordered + */ + int TEXT_SEQUENCE_NODE_FEATURE_COUNT = NodePackage.COMPOSITE_NODE_FEATURE_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.xpand3.internal.parser.xpand3node.impl.TextNodeImpl Text Node}' class. + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.TextNodeImpl + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.Xpand3nodePackageImpl#getTextNode() + * @generated + */ + int TEXT_NODE = 6; + + /** + * The feature id for the 'Alias' attribute. + * + * + * @generated + * @ordered + */ + int TEXT_NODE__ALIAS = NodePackage.COMPOSITE_NODE__ALIAS; + + /** + * The feature id for the 'Children' containment reference list. + * + * + * @generated + * @ordered + */ + int TEXT_NODE__CHILDREN = NodePackage.COMPOSITE_NODE__CHILDREN; + + /** + * The feature id for the 'Rule' attribute. + * + * + * @generated + * @ordered + */ + int TEXT_NODE__RULE = NodePackage.COMPOSITE_NODE__RULE; + + /** + * The feature id for the 'Rule ID' attribute. + * + * + * @generated + * @ordered + */ + int TEXT_NODE__RULE_ID = NodePackage.COMPOSITE_NODE__RULE_ID; + + /** + * The number of structural features of the 'Text Node' class. + * + * + * @generated + * @ordered + */ + int TEXT_NODE_FEATURE_COUNT = NodePackage.COMPOSITE_NODE_FEATURE_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.xpand3.internal.parser.xpand3node.impl.ErrorStatementNodeImpl Error Statement Node}' class. + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.ErrorStatementNodeImpl + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.Xpand3nodePackageImpl#getErrorStatementNode() + * @generated + */ + int ERROR_STATEMENT_NODE = 7; + + /** + * The feature id for the 'Alias' attribute. + * + * + * @generated + * @ordered + */ + int ERROR_STATEMENT_NODE__ALIAS = NodePackage.COMPOSITE_NODE__ALIAS; + + /** + * The feature id for the 'Children' containment reference list. + * + * + * @generated + * @ordered + */ + int ERROR_STATEMENT_NODE__CHILDREN = NodePackage.COMPOSITE_NODE__CHILDREN; + + /** + * The feature id for the 'Rule' attribute. + * + * + * @generated + * @ordered + */ + int ERROR_STATEMENT_NODE__RULE = NodePackage.COMPOSITE_NODE__RULE; + + /** + * The feature id for the 'Rule ID' attribute. + * + * + * @generated + * @ordered + */ + int ERROR_STATEMENT_NODE__RULE_ID = NodePackage.COMPOSITE_NODE__RULE_ID; + + /** + * The number of structural features of the 'Error Statement Node' class. + * + * + * @generated + * @ordered + */ + int ERROR_STATEMENT_NODE_FEATURE_COUNT = NodePackage.COMPOSITE_NODE_FEATURE_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.xpand3.internal.parser.xpand3node.impl.ExpandStatementNodeImpl Expand Statement Node}' class. + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.ExpandStatementNodeImpl + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.Xpand3nodePackageImpl#getExpandStatementNode() + * @generated + */ + int EXPAND_STATEMENT_NODE = 8; + + /** + * The feature id for the 'Alias' attribute. + * + * + * @generated + * @ordered + */ + int EXPAND_STATEMENT_NODE__ALIAS = NodePackage.COMPOSITE_NODE__ALIAS; + + /** + * The feature id for the 'Children' containment reference list. + * + * + * @generated + * @ordered + */ + int EXPAND_STATEMENT_NODE__CHILDREN = NodePackage.COMPOSITE_NODE__CHILDREN; + + /** + * The feature id for the 'Rule' attribute. + * + * + * @generated + * @ordered + */ + int EXPAND_STATEMENT_NODE__RULE = NodePackage.COMPOSITE_NODE__RULE; + + /** + * The feature id for the 'Rule ID' attribute. + * + * + * @generated + * @ordered + */ + int EXPAND_STATEMENT_NODE__RULE_ID = NodePackage.COMPOSITE_NODE__RULE_ID; + + /** + * The number of structural features of the 'Expand Statement Node' class. + * + * + * @generated + * @ordered + */ + int EXPAND_STATEMENT_NODE_FEATURE_COUNT = NodePackage.COMPOSITE_NODE_FEATURE_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.xpand3.internal.parser.xpand3node.impl.ExpressionStmtNodeImpl Expression Stmt Node}' class. + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.ExpressionStmtNodeImpl + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.Xpand3nodePackageImpl#getExpressionStmtNode() + * @generated + */ + int EXPRESSION_STMT_NODE = 9; + + /** + * The feature id for the 'Alias' attribute. + * + * + * @generated + * @ordered + */ + int EXPRESSION_STMT_NODE__ALIAS = NodePackage.COMPOSITE_NODE__ALIAS; + + /** + * The feature id for the 'Children' containment reference list. + * + * + * @generated + * @ordered + */ + int EXPRESSION_STMT_NODE__CHILDREN = NodePackage.COMPOSITE_NODE__CHILDREN; + + /** + * The feature id for the 'Rule' attribute. + * + * + * @generated + * @ordered + */ + int EXPRESSION_STMT_NODE__RULE = NodePackage.COMPOSITE_NODE__RULE; + + /** + * The feature id for the 'Rule ID' attribute. + * + * + * @generated + * @ordered + */ + int EXPRESSION_STMT_NODE__RULE_ID = NodePackage.COMPOSITE_NODE__RULE_ID; + + /** + * The number of structural features of the 'Expression Stmt Node' class. + * + * + * @generated + * @ordered + */ + int EXPRESSION_STMT_NODE_FEATURE_COUNT = NodePackage.COMPOSITE_NODE_FEATURE_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.xpand3.internal.parser.xpand3node.impl.FileStatementNodeImpl File Statement Node}' class. + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.FileStatementNodeImpl + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.Xpand3nodePackageImpl#getFileStatementNode() + * @generated + */ + int FILE_STATEMENT_NODE = 10; + + /** + * The feature id for the 'Alias' attribute. + * + * + * @generated + * @ordered + */ + int FILE_STATEMENT_NODE__ALIAS = NodePackage.COMPOSITE_NODE__ALIAS; + + /** + * The feature id for the 'Children' containment reference list. + * + * + * @generated + * @ordered + */ + int FILE_STATEMENT_NODE__CHILDREN = NodePackage.COMPOSITE_NODE__CHILDREN; + + /** + * The feature id for the 'Rule' attribute. + * + * + * @generated + * @ordered + */ + int FILE_STATEMENT_NODE__RULE = NodePackage.COMPOSITE_NODE__RULE; + + /** + * The feature id for the 'Rule ID' attribute. + * + * + * @generated + * @ordered + */ + int FILE_STATEMENT_NODE__RULE_ID = NodePackage.COMPOSITE_NODE__RULE_ID; + + /** + * The number of structural features of the 'File Statement Node' class. + * + * + * @generated + * @ordered + */ + int FILE_STATEMENT_NODE_FEATURE_COUNT = NodePackage.COMPOSITE_NODE_FEATURE_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.xpand3.internal.parser.xpand3node.impl.ForeachStatementNodeImpl Foreach Statement Node}' class. + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.ForeachStatementNodeImpl + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.Xpand3nodePackageImpl#getForeachStatementNode() + * @generated + */ + int FOREACH_STATEMENT_NODE = 11; + + /** + * The feature id for the 'Alias' attribute. + * + * + * @generated + * @ordered + */ + int FOREACH_STATEMENT_NODE__ALIAS = NodePackage.COMPOSITE_NODE__ALIAS; + + /** + * The feature id for the 'Children' containment reference list. + * + * + * @generated + * @ordered + */ + int FOREACH_STATEMENT_NODE__CHILDREN = NodePackage.COMPOSITE_NODE__CHILDREN; + + /** + * The feature id for the 'Rule' attribute. + * + * + * @generated + * @ordered + */ + int FOREACH_STATEMENT_NODE__RULE = NodePackage.COMPOSITE_NODE__RULE; + + /** + * The feature id for the 'Rule ID' attribute. + * + * + * @generated + * @ordered + */ + int FOREACH_STATEMENT_NODE__RULE_ID = NodePackage.COMPOSITE_NODE__RULE_ID; + + /** + * The number of structural features of the 'Foreach Statement Node' class. + * + * + * @generated + * @ordered + */ + int FOREACH_STATEMENT_NODE_FEATURE_COUNT = NodePackage.COMPOSITE_NODE_FEATURE_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.xpand3.internal.parser.xpand3node.impl.IfStatementNodeImpl If Statement Node}' class. + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.IfStatementNodeImpl + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.Xpand3nodePackageImpl#getIfStatementNode() + * @generated + */ + int IF_STATEMENT_NODE = 12; + + /** + * The feature id for the 'Alias' attribute. + * + * + * @generated + * @ordered + */ + int IF_STATEMENT_NODE__ALIAS = NodePackage.COMPOSITE_NODE__ALIAS; + + /** + * The feature id for the 'Children' containment reference list. + * + * + * @generated + * @ordered + */ + int IF_STATEMENT_NODE__CHILDREN = NodePackage.COMPOSITE_NODE__CHILDREN; + + /** + * The feature id for the 'Rule' attribute. + * + * + * @generated + * @ordered + */ + int IF_STATEMENT_NODE__RULE = NodePackage.COMPOSITE_NODE__RULE; + + /** + * The feature id for the 'Rule ID' attribute. + * + * + * @generated + * @ordered + */ + int IF_STATEMENT_NODE__RULE_ID = NodePackage.COMPOSITE_NODE__RULE_ID; + + /** + * The number of structural features of the 'If Statement Node' class. + * + * + * @generated + * @ordered + */ + int IF_STATEMENT_NODE_FEATURE_COUNT = NodePackage.COMPOSITE_NODE_FEATURE_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.xpand3.internal.parser.xpand3node.impl.ElseIfStatementNodeImpl Else If Statement Node}' class. + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.ElseIfStatementNodeImpl + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.Xpand3nodePackageImpl#getElseIfStatementNode() + * @generated + */ + int ELSE_IF_STATEMENT_NODE = 13; + + /** + * The feature id for the 'Alias' attribute. + * + * + * @generated + * @ordered + */ + int ELSE_IF_STATEMENT_NODE__ALIAS = NodePackage.COMPOSITE_NODE__ALIAS; + + /** + * The feature id for the 'Children' containment reference list. + * + * + * @generated + * @ordered + */ + int ELSE_IF_STATEMENT_NODE__CHILDREN = NodePackage.COMPOSITE_NODE__CHILDREN; + + /** + * The feature id for the 'Rule' attribute. + * + * + * @generated + * @ordered + */ + int ELSE_IF_STATEMENT_NODE__RULE = NodePackage.COMPOSITE_NODE__RULE; + + /** + * The feature id for the 'Rule ID' attribute. + * + * + * @generated + * @ordered + */ + int ELSE_IF_STATEMENT_NODE__RULE_ID = NodePackage.COMPOSITE_NODE__RULE_ID; + + /** + * The number of structural features of the 'Else If Statement Node' class. + * + * + * @generated + * @ordered + */ + int ELSE_IF_STATEMENT_NODE_FEATURE_COUNT = NodePackage.COMPOSITE_NODE_FEATURE_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.xpand3.internal.parser.xpand3node.impl.ElseStatementNodeImpl Else Statement Node}' class. + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.ElseStatementNodeImpl + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.Xpand3nodePackageImpl#getElseStatementNode() + * @generated + */ + int ELSE_STATEMENT_NODE = 14; + + /** + * The feature id for the 'Alias' attribute. + * + * + * @generated + * @ordered + */ + int ELSE_STATEMENT_NODE__ALIAS = NodePackage.COMPOSITE_NODE__ALIAS; + + /** + * The feature id for the 'Children' containment reference list. + * + * + * @generated + * @ordered + */ + int ELSE_STATEMENT_NODE__CHILDREN = NodePackage.COMPOSITE_NODE__CHILDREN; + + /** + * The feature id for the 'Rule' attribute. + * + * + * @generated + * @ordered + */ + int ELSE_STATEMENT_NODE__RULE = NodePackage.COMPOSITE_NODE__RULE; + + /** + * The feature id for the 'Rule ID' attribute. + * + * + * @generated + * @ordered + */ + int ELSE_STATEMENT_NODE__RULE_ID = NodePackage.COMPOSITE_NODE__RULE_ID; + + /** + * The number of structural features of the 'Else Statement Node' class. + * + * + * @generated + * @ordered + */ + int ELSE_STATEMENT_NODE_FEATURE_COUNT = NodePackage.COMPOSITE_NODE_FEATURE_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.xpand3.internal.parser.xpand3node.impl.LetStatementNodeImpl Let Statement Node}' class. + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.LetStatementNodeImpl + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.Xpand3nodePackageImpl#getLetStatementNode() + * @generated + */ + int LET_STATEMENT_NODE = 15; + + /** + * The feature id for the 'Alias' attribute. + * + * + * @generated + * @ordered + */ + int LET_STATEMENT_NODE__ALIAS = NodePackage.COMPOSITE_NODE__ALIAS; + + /** + * The feature id for the 'Children' containment reference list. + * + * + * @generated + * @ordered + */ + int LET_STATEMENT_NODE__CHILDREN = NodePackage.COMPOSITE_NODE__CHILDREN; + + /** + * The feature id for the 'Rule' attribute. + * + * + * @generated + * @ordered + */ + int LET_STATEMENT_NODE__RULE = NodePackage.COMPOSITE_NODE__RULE; + + /** + * The feature id for the 'Rule ID' attribute. + * + * + * @generated + * @ordered + */ + int LET_STATEMENT_NODE__RULE_ID = NodePackage.COMPOSITE_NODE__RULE_ID; + + /** + * The number of structural features of the 'Let Statement Node' class. + * + * + * @generated + * @ordered + */ + int LET_STATEMENT_NODE_FEATURE_COUNT = NodePackage.COMPOSITE_NODE_FEATURE_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.xpand3.internal.parser.xpand3node.impl.ProtectStatementNodeImpl Protect Statement Node}' class. + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.ProtectStatementNodeImpl + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.Xpand3nodePackageImpl#getProtectStatementNode() + * @generated + */ + int PROTECT_STATEMENT_NODE = 16; + + /** + * The feature id for the 'Alias' attribute. + * + * + * @generated + * @ordered + */ + int PROTECT_STATEMENT_NODE__ALIAS = NodePackage.COMPOSITE_NODE__ALIAS; + + /** + * The feature id for the 'Children' containment reference list. + * + * + * @generated + * @ordered + */ + int PROTECT_STATEMENT_NODE__CHILDREN = NodePackage.COMPOSITE_NODE__CHILDREN; + + /** + * The feature id for the 'Rule' attribute. + * + * + * @generated + * @ordered + */ + int PROTECT_STATEMENT_NODE__RULE = NodePackage.COMPOSITE_NODE__RULE; + + /** + * The feature id for the 'Rule ID' attribute. + * + * + * @generated + * @ordered + */ + int PROTECT_STATEMENT_NODE__RULE_ID = NodePackage.COMPOSITE_NODE__RULE_ID; + + /** + * The number of structural features of the 'Protect Statement Node' class. + * + * + * @generated + * @ordered + */ + int PROTECT_STATEMENT_NODE_FEATURE_COUNT = NodePackage.COMPOSITE_NODE_FEATURE_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.xpand3.internal.parser.xpand3node.impl.CheckNodeImpl Check Node}' class. + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.CheckNodeImpl + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.Xpand3nodePackageImpl#getCheckNode() + * @generated + */ + int CHECK_NODE = 17; + + /** + * The feature id for the 'Alias' attribute. + * + * + * @generated + * @ordered + */ + int CHECK_NODE__ALIAS = NodePackage.COMPOSITE_NODE__ALIAS; + + /** + * The feature id for the 'Children' containment reference list. + * + * + * @generated + * @ordered + */ + int CHECK_NODE__CHILDREN = NodePackage.COMPOSITE_NODE__CHILDREN; + + /** + * The feature id for the 'Rule' attribute. + * + * + * @generated + * @ordered + */ + int CHECK_NODE__RULE = NodePackage.COMPOSITE_NODE__RULE; + + /** + * The feature id for the 'Rule ID' attribute. + * + * + * @generated + * @ordered + */ + int CHECK_NODE__RULE_ID = NodePackage.COMPOSITE_NODE__RULE_ID; + + /** + * The number of structural features of the 'Check Node' class. + * + * + * @generated + * @ordered + */ + int CHECK_NODE_FEATURE_COUNT = NodePackage.COMPOSITE_NODE_FEATURE_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.xpand3.internal.parser.xpand3node.impl.AroundNodeImpl Around Node}' class. + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.AroundNodeImpl + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.Xpand3nodePackageImpl#getAroundNode() + * @generated + */ + int AROUND_NODE = 18; + + /** + * The feature id for the 'Alias' attribute. + * + * + * @generated + * @ordered + */ + int AROUND_NODE__ALIAS = NodePackage.COMPOSITE_NODE__ALIAS; + + /** + * The feature id for the 'Children' containment reference list. + * + * + * @generated + * @ordered + */ + int AROUND_NODE__CHILDREN = NodePackage.COMPOSITE_NODE__CHILDREN; + + /** + * The feature id for the 'Rule' attribute. + * + * + * @generated + * @ordered + */ + int AROUND_NODE__RULE = NodePackage.COMPOSITE_NODE__RULE; + + /** + * The feature id for the 'Rule ID' attribute. + * + * + * @generated + * @ordered + */ + int AROUND_NODE__RULE_ID = NodePackage.COMPOSITE_NODE__RULE_ID; + + /** + * The number of structural features of the 'Around Node' class. + * + * + * @generated + * @ordered + */ + int AROUND_NODE_FEATURE_COUNT = NodePackage.COMPOSITE_NODE_FEATURE_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.xpand3.internal.parser.xpand3node.impl.PointcutNodeImpl Pointcut Node}' class. + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.PointcutNodeImpl + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.Xpand3nodePackageImpl#getPointcutNode() + * @generated + */ + int POINTCUT_NODE = 19; + + /** + * The feature id for the 'Alias' attribute. + * + * + * @generated + * @ordered + */ + int POINTCUT_NODE__ALIAS = NodePackage.COMPOSITE_NODE__ALIAS; + + /** + * The feature id for the 'Children' containment reference list. + * + * + * @generated + * @ordered + */ + int POINTCUT_NODE__CHILDREN = NodePackage.COMPOSITE_NODE__CHILDREN; + + /** + * The feature id for the 'Rule' attribute. + * + * + * @generated + * @ordered + */ + int POINTCUT_NODE__RULE = NodePackage.COMPOSITE_NODE__RULE; + + /** + * The feature id for the 'Rule ID' attribute. + * + * + * @generated + * @ordered + */ + int POINTCUT_NODE__RULE_ID = NodePackage.COMPOSITE_NODE__RULE_ID; + + /** + * The number of structural features of the 'Pointcut Node' class. + * + * + * @generated + * @ordered + */ + int POINTCUT_NODE_FEATURE_COUNT = NodePackage.COMPOSITE_NODE_FEATURE_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.xpand3.internal.parser.xpand3node.impl.ExtensionNodeImpl Extension Node}' class. + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.ExtensionNodeImpl + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.Xpand3nodePackageImpl#getExtensionNode() + * @generated + */ + int EXTENSION_NODE = 20; + + /** + * The feature id for the 'Alias' attribute. + * + * + * @generated + * @ordered + */ + int EXTENSION_NODE__ALIAS = NodePackage.COMPOSITE_NODE__ALIAS; + + /** + * The feature id for the 'Children' containment reference list. + * + * + * @generated + * @ordered + */ + int EXTENSION_NODE__CHILDREN = NodePackage.COMPOSITE_NODE__CHILDREN; + + /** + * The feature id for the 'Rule' attribute. + * + * + * @generated + * @ordered + */ + int EXTENSION_NODE__RULE = NodePackage.COMPOSITE_NODE__RULE; + + /** + * The feature id for the 'Rule ID' attribute. + * + * + * @generated + * @ordered + */ + int EXTENSION_NODE__RULE_ID = NodePackage.COMPOSITE_NODE__RULE_ID; + + /** + * The number of structural features of the 'Extension Node' class. + * + * + * @generated + * @ordered + */ + int EXTENSION_NODE_FEATURE_COUNT = NodePackage.COMPOSITE_NODE_FEATURE_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.xpand3.internal.parser.xpand3node.impl.JavaTypeNodeImpl Java Type Node}' class. + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.JavaTypeNodeImpl + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.Xpand3nodePackageImpl#getJavaTypeNode() + * @generated + */ + int JAVA_TYPE_NODE = 21; + + /** + * The feature id for the 'Alias' attribute. + * + * + * @generated + * @ordered + */ + int JAVA_TYPE_NODE__ALIAS = NodePackage.COMPOSITE_NODE__ALIAS; + + /** + * The feature id for the 'Children' containment reference list. + * + * + * @generated + * @ordered + */ + int JAVA_TYPE_NODE__CHILDREN = NodePackage.COMPOSITE_NODE__CHILDREN; + + /** + * The feature id for the 'Rule' attribute. + * + * + * @generated + * @ordered + */ + int JAVA_TYPE_NODE__RULE = NodePackage.COMPOSITE_NODE__RULE; + + /** + * The feature id for the 'Rule ID' attribute. + * + * + * @generated + * @ordered + */ + int JAVA_TYPE_NODE__RULE_ID = NodePackage.COMPOSITE_NODE__RULE_ID; + + /** + * The number of structural features of the 'Java Type Node' class. + * + * + * @generated + * @ordered + */ + int JAVA_TYPE_NODE_FEATURE_COUNT = NodePackage.COMPOSITE_NODE_FEATURE_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.xpand3.internal.parser.xpand3node.impl.Test_expressionNodeImpl Test expression Node}' class. + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.Test_expressionNodeImpl + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.Xpand3nodePackageImpl#getTest_expressionNode() + * @generated + */ + int TEST_EXPRESSION_NODE = 22; + + /** + * The feature id for the 'Alias' attribute. + * + * + * @generated + * @ordered + */ + int TEST_EXPRESSION_NODE__ALIAS = NodePackage.COMPOSITE_NODE__ALIAS; + + /** + * The feature id for the 'Children' containment reference list. + * + * + * @generated + * @ordered + */ + int TEST_EXPRESSION_NODE__CHILDREN = NodePackage.COMPOSITE_NODE__CHILDREN; + + /** + * The feature id for the 'Rule' attribute. + * + * + * @generated + * @ordered + */ + int TEST_EXPRESSION_NODE__RULE = NodePackage.COMPOSITE_NODE__RULE; + + /** + * The feature id for the 'Rule ID' attribute. + * + * + * @generated + * @ordered + */ + int TEST_EXPRESSION_NODE__RULE_ID = NodePackage.COMPOSITE_NODE__RULE_ID; + + /** + * The number of structural features of the 'Test expression Node' class. + * + * + * @generated + * @ordered + */ + int TEST_EXPRESSION_NODE_FEATURE_COUNT = NodePackage.COMPOSITE_NODE_FEATURE_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.xpand3.internal.parser.xpand3node.impl.ExpressionNodeImpl Expression Node}' class. + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.ExpressionNodeImpl + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.Xpand3nodePackageImpl#getExpressionNode() + * @generated + */ + int EXPRESSION_NODE = 23; + + /** + * The feature id for the 'Alias' attribute. + * + * + * @generated + * @ordered + */ + int EXPRESSION_NODE__ALIAS = NodePackage.COMPOSITE_NODE__ALIAS; + + /** + * The feature id for the 'Children' containment reference list. + * + * + * @generated + * @ordered + */ + int EXPRESSION_NODE__CHILDREN = NodePackage.COMPOSITE_NODE__CHILDREN; + + /** + * The feature id for the 'Rule' attribute. + * + * + * @generated + * @ordered + */ + int EXPRESSION_NODE__RULE = NodePackage.COMPOSITE_NODE__RULE; + + /** + * The feature id for the 'Rule ID' attribute. + * + * + * @generated + * @ordered + */ + int EXPRESSION_NODE__RULE_ID = NodePackage.COMPOSITE_NODE__RULE_ID; + + /** + * The number of structural features of the 'Expression Node' class. + * + * + * @generated + * @ordered + */ + int EXPRESSION_NODE_FEATURE_COUNT = NodePackage.COMPOSITE_NODE_FEATURE_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.xpand3.internal.parser.xpand3node.impl.LetExpressionNodeImpl Let Expression Node}' class. + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.LetExpressionNodeImpl + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.Xpand3nodePackageImpl#getLetExpressionNode() + * @generated + */ + int LET_EXPRESSION_NODE = 24; + + /** + * The feature id for the 'Alias' attribute. + * + * + * @generated + * @ordered + */ + int LET_EXPRESSION_NODE__ALIAS = NodePackage.COMPOSITE_NODE__ALIAS; + + /** + * The feature id for the 'Children' containment reference list. + * + * + * @generated + * @ordered + */ + int LET_EXPRESSION_NODE__CHILDREN = NodePackage.COMPOSITE_NODE__CHILDREN; + + /** + * The feature id for the 'Rule' attribute. + * + * + * @generated + * @ordered + */ + int LET_EXPRESSION_NODE__RULE = NodePackage.COMPOSITE_NODE__RULE; + + /** + * The feature id for the 'Rule ID' attribute. + * + * + * @generated + * @ordered + */ + int LET_EXPRESSION_NODE__RULE_ID = NodePackage.COMPOSITE_NODE__RULE_ID; + + /** + * The number of structural features of the 'Let Expression Node' class. + * + * + * @generated + * @ordered + */ + int LET_EXPRESSION_NODE_FEATURE_COUNT = NodePackage.COMPOSITE_NODE_FEATURE_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.xpand3.internal.parser.xpand3node.impl.CastedExpressionNodeImpl Casted Expression Node}' class. + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.CastedExpressionNodeImpl + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.Xpand3nodePackageImpl#getCastedExpressionNode() + * @generated + */ + int CASTED_EXPRESSION_NODE = 25; + + /** + * The feature id for the 'Alias' attribute. + * + * + * @generated + * @ordered + */ + int CASTED_EXPRESSION_NODE__ALIAS = NodePackage.COMPOSITE_NODE__ALIAS; + + /** + * The feature id for the 'Children' containment reference list. + * + * + * @generated + * @ordered + */ + int CASTED_EXPRESSION_NODE__CHILDREN = NodePackage.COMPOSITE_NODE__CHILDREN; + + /** + * The feature id for the 'Rule' attribute. + * + * + * @generated + * @ordered + */ + int CASTED_EXPRESSION_NODE__RULE = NodePackage.COMPOSITE_NODE__RULE; + + /** + * The feature id for the 'Rule ID' attribute. + * + * + * @generated + * @ordered + */ + int CASTED_EXPRESSION_NODE__RULE_ID = NodePackage.COMPOSITE_NODE__RULE_ID; + + /** + * The number of structural features of the 'Casted Expression Node' class. + * + * + * @generated + * @ordered + */ + int CASTED_EXPRESSION_NODE_FEATURE_COUNT = NodePackage.COMPOSITE_NODE_FEATURE_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.xpand3.internal.parser.xpand3node.impl.ChainExpressionNodeImpl Chain Expression Node}' class. + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.ChainExpressionNodeImpl + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.Xpand3nodePackageImpl#getChainExpressionNode() + * @generated + */ + int CHAIN_EXPRESSION_NODE = 26; + + /** + * The feature id for the 'Alias' attribute. + * + * + * @generated + * @ordered + */ + int CHAIN_EXPRESSION_NODE__ALIAS = NodePackage.COMPOSITE_NODE__ALIAS; + + /** + * The feature id for the 'Children' containment reference list. + * + * + * @generated + * @ordered + */ + int CHAIN_EXPRESSION_NODE__CHILDREN = NodePackage.COMPOSITE_NODE__CHILDREN; + + /** + * The feature id for the 'Rule' attribute. + * + * + * @generated + * @ordered + */ + int CHAIN_EXPRESSION_NODE__RULE = NodePackage.COMPOSITE_NODE__RULE; + + /** + * The feature id for the 'Rule ID' attribute. + * + * + * @generated + * @ordered + */ + int CHAIN_EXPRESSION_NODE__RULE_ID = NodePackage.COMPOSITE_NODE__RULE_ID; + + /** + * The number of structural features of the 'Chain Expression Node' class. + * + * + * @generated + * @ordered + */ + int CHAIN_EXPRESSION_NODE_FEATURE_COUNT = NodePackage.COMPOSITE_NODE_FEATURE_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.xpand3.internal.parser.xpand3node.impl.IfExpressionNodeImpl If Expression Node}' class. + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.IfExpressionNodeImpl + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.Xpand3nodePackageImpl#getIfExpressionNode() + * @generated + */ + int IF_EXPRESSION_NODE = 27; + + /** + * The feature id for the 'Alias' attribute. + * + * + * @generated + * @ordered + */ + int IF_EXPRESSION_NODE__ALIAS = NodePackage.COMPOSITE_NODE__ALIAS; + + /** + * The feature id for the 'Children' containment reference list. + * + * + * @generated + * @ordered + */ + int IF_EXPRESSION_NODE__CHILDREN = NodePackage.COMPOSITE_NODE__CHILDREN; + + /** + * The feature id for the 'Rule' attribute. + * + * + * @generated + * @ordered + */ + int IF_EXPRESSION_NODE__RULE = NodePackage.COMPOSITE_NODE__RULE; + + /** + * The feature id for the 'Rule ID' attribute. + * + * + * @generated + * @ordered + */ + int IF_EXPRESSION_NODE__RULE_ID = NodePackage.COMPOSITE_NODE__RULE_ID; + + /** + * The number of structural features of the 'If Expression Node' class. + * + * + * @generated + * @ordered + */ + int IF_EXPRESSION_NODE_FEATURE_COUNT = NodePackage.COMPOSITE_NODE_FEATURE_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.xpand3.internal.parser.xpand3node.impl.SwitchExpressionNodeImpl Switch Expression Node}' class. + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.SwitchExpressionNodeImpl + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.Xpand3nodePackageImpl#getSwitchExpressionNode() + * @generated + */ + int SWITCH_EXPRESSION_NODE = 28; + + /** + * The feature id for the 'Alias' attribute. + * + * + * @generated + * @ordered + */ + int SWITCH_EXPRESSION_NODE__ALIAS = NodePackage.COMPOSITE_NODE__ALIAS; + + /** + * The feature id for the 'Children' containment reference list. + * + * + * @generated + * @ordered + */ + int SWITCH_EXPRESSION_NODE__CHILDREN = NodePackage.COMPOSITE_NODE__CHILDREN; + + /** + * The feature id for the 'Rule' attribute. + * + * + * @generated + * @ordered + */ + int SWITCH_EXPRESSION_NODE__RULE = NodePackage.COMPOSITE_NODE__RULE; + + /** + * The feature id for the 'Rule ID' attribute. + * + * + * @generated + * @ordered + */ + int SWITCH_EXPRESSION_NODE__RULE_ID = NodePackage.COMPOSITE_NODE__RULE_ID; + + /** + * The number of structural features of the 'Switch Expression Node' class. + * + * + * @generated + * @ordered + */ + int SWITCH_EXPRESSION_NODE_FEATURE_COUNT = NodePackage.COMPOSITE_NODE_FEATURE_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.xpand3.internal.parser.xpand3node.impl.CasePartNodeImpl Case Part Node}' class. + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.CasePartNodeImpl + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.Xpand3nodePackageImpl#getCasePartNode() + * @generated + */ + int CASE_PART_NODE = 29; + + /** + * The feature id for the 'Alias' attribute. + * + * + * @generated + * @ordered + */ + int CASE_PART_NODE__ALIAS = NodePackage.COMPOSITE_NODE__ALIAS; + + /** + * The feature id for the 'Children' containment reference list. + * + * + * @generated + * @ordered + */ + int CASE_PART_NODE__CHILDREN = NodePackage.COMPOSITE_NODE__CHILDREN; + + /** + * The feature id for the 'Rule' attribute. + * + * + * @generated + * @ordered + */ + int CASE_PART_NODE__RULE = NodePackage.COMPOSITE_NODE__RULE; + + /** + * The feature id for the 'Rule ID' attribute. + * + * + * @generated + * @ordered + */ + int CASE_PART_NODE__RULE_ID = NodePackage.COMPOSITE_NODE__RULE_ID; + + /** + * The number of structural features of the 'Case Part Node' class. + * + * + * @generated + * @ordered + */ + int CASE_PART_NODE_FEATURE_COUNT = NodePackage.COMPOSITE_NODE_FEATURE_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.xpand3.internal.parser.xpand3node.impl.OrExpressionNodeImpl Or Expression Node}' class. + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.OrExpressionNodeImpl + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.Xpand3nodePackageImpl#getOrExpressionNode() + * @generated + */ + int OR_EXPRESSION_NODE = 30; + + /** + * The feature id for the 'Alias' attribute. + * + * + * @generated + * @ordered + */ + int OR_EXPRESSION_NODE__ALIAS = NodePackage.COMPOSITE_NODE__ALIAS; + + /** + * The feature id for the 'Children' containment reference list. + * + * + * @generated + * @ordered + */ + int OR_EXPRESSION_NODE__CHILDREN = NodePackage.COMPOSITE_NODE__CHILDREN; + + /** + * The feature id for the 'Rule' attribute. + * + * + * @generated + * @ordered + */ + int OR_EXPRESSION_NODE__RULE = NodePackage.COMPOSITE_NODE__RULE; + + /** + * The feature id for the 'Rule ID' attribute. + * + * + * @generated + * @ordered + */ + int OR_EXPRESSION_NODE__RULE_ID = NodePackage.COMPOSITE_NODE__RULE_ID; + + /** + * The number of structural features of the 'Or Expression Node' class. + * + * + * @generated + * @ordered + */ + int OR_EXPRESSION_NODE_FEATURE_COUNT = NodePackage.COMPOSITE_NODE_FEATURE_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.xpand3.internal.parser.xpand3node.impl.AndExpressionNodeImpl And Expression Node}' class. + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.AndExpressionNodeImpl + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.Xpand3nodePackageImpl#getAndExpressionNode() + * @generated + */ + int AND_EXPRESSION_NODE = 31; + + /** + * The feature id for the 'Alias' attribute. + * + * + * @generated + * @ordered + */ + int AND_EXPRESSION_NODE__ALIAS = NodePackage.COMPOSITE_NODE__ALIAS; + + /** + * The feature id for the 'Children' containment reference list. + * + * + * @generated + * @ordered + */ + int AND_EXPRESSION_NODE__CHILDREN = NodePackage.COMPOSITE_NODE__CHILDREN; + + /** + * The feature id for the 'Rule' attribute. + * + * + * @generated + * @ordered + */ + int AND_EXPRESSION_NODE__RULE = NodePackage.COMPOSITE_NODE__RULE; + + /** + * The feature id for the 'Rule ID' attribute. + * + * + * @generated + * @ordered + */ + int AND_EXPRESSION_NODE__RULE_ID = NodePackage.COMPOSITE_NODE__RULE_ID; + + /** + * The number of structural features of the 'And Expression Node' class. + * + * + * @generated + * @ordered + */ + int AND_EXPRESSION_NODE_FEATURE_COUNT = NodePackage.COMPOSITE_NODE_FEATURE_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.xpand3.internal.parser.xpand3node.impl.ImpliesExpressionNodeImpl Implies Expression Node}' class. + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.ImpliesExpressionNodeImpl + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.Xpand3nodePackageImpl#getImpliesExpressionNode() + * @generated + */ + int IMPLIES_EXPRESSION_NODE = 32; + + /** + * The feature id for the 'Alias' attribute. + * + * + * @generated + * @ordered + */ + int IMPLIES_EXPRESSION_NODE__ALIAS = NodePackage.COMPOSITE_NODE__ALIAS; + + /** + * The feature id for the 'Children' containment reference list. + * + * + * @generated + * @ordered + */ + int IMPLIES_EXPRESSION_NODE__CHILDREN = NodePackage.COMPOSITE_NODE__CHILDREN; + + /** + * The feature id for the 'Rule' attribute. + * + * + * @generated + * @ordered + */ + int IMPLIES_EXPRESSION_NODE__RULE = NodePackage.COMPOSITE_NODE__RULE; + + /** + * The feature id for the 'Rule ID' attribute. + * + * + * @generated + * @ordered + */ + int IMPLIES_EXPRESSION_NODE__RULE_ID = NodePackage.COMPOSITE_NODE__RULE_ID; + + /** + * The number of structural features of the 'Implies Expression Node' class. + * + * + * @generated + * @ordered + */ + int IMPLIES_EXPRESSION_NODE_FEATURE_COUNT = NodePackage.COMPOSITE_NODE_FEATURE_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.xpand3.internal.parser.xpand3node.impl.RelationalExpressionNodeImpl Relational Expression Node}' class. + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.RelationalExpressionNodeImpl + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.Xpand3nodePackageImpl#getRelationalExpressionNode() + * @generated + */ + int RELATIONAL_EXPRESSION_NODE = 33; + + /** + * The feature id for the 'Alias' attribute. + * + * + * @generated + * @ordered + */ + int RELATIONAL_EXPRESSION_NODE__ALIAS = NodePackage.COMPOSITE_NODE__ALIAS; + + /** + * The feature id for the 'Children' containment reference list. + * + * + * @generated + * @ordered + */ + int RELATIONAL_EXPRESSION_NODE__CHILDREN = NodePackage.COMPOSITE_NODE__CHILDREN; + + /** + * The feature id for the 'Rule' attribute. + * + * + * @generated + * @ordered + */ + int RELATIONAL_EXPRESSION_NODE__RULE = NodePackage.COMPOSITE_NODE__RULE; + + /** + * The feature id for the 'Rule ID' attribute. + * + * + * @generated + * @ordered + */ + int RELATIONAL_EXPRESSION_NODE__RULE_ID = NodePackage.COMPOSITE_NODE__RULE_ID; + + /** + * The number of structural features of the 'Relational Expression Node' class. + * + * + * @generated + * @ordered + */ + int RELATIONAL_EXPRESSION_NODE_FEATURE_COUNT = NodePackage.COMPOSITE_NODE_FEATURE_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.xpand3.internal.parser.xpand3node.impl.AdditiveExpressionNodeImpl Additive Expression Node}' class. + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.AdditiveExpressionNodeImpl + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.Xpand3nodePackageImpl#getAdditiveExpressionNode() + * @generated + */ + int ADDITIVE_EXPRESSION_NODE = 34; + + /** + * The feature id for the 'Alias' attribute. + * + * + * @generated + * @ordered + */ + int ADDITIVE_EXPRESSION_NODE__ALIAS = NodePackage.COMPOSITE_NODE__ALIAS; + + /** + * The feature id for the 'Children' containment reference list. + * + * + * @generated + * @ordered + */ + int ADDITIVE_EXPRESSION_NODE__CHILDREN = NodePackage.COMPOSITE_NODE__CHILDREN; + + /** + * The feature id for the 'Rule' attribute. + * + * + * @generated + * @ordered + */ + int ADDITIVE_EXPRESSION_NODE__RULE = NodePackage.COMPOSITE_NODE__RULE; + + /** + * The feature id for the 'Rule ID' attribute. + * + * + * @generated + * @ordered + */ + int ADDITIVE_EXPRESSION_NODE__RULE_ID = NodePackage.COMPOSITE_NODE__RULE_ID; + + /** + * The number of structural features of the 'Additive Expression Node' class. + * + * + * @generated + * @ordered + */ + int ADDITIVE_EXPRESSION_NODE_FEATURE_COUNT = NodePackage.COMPOSITE_NODE_FEATURE_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.xpand3.internal.parser.xpand3node.impl.MultiplicativeExpressionNodeImpl Multiplicative Expression Node}' class. + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.MultiplicativeExpressionNodeImpl + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.Xpand3nodePackageImpl#getMultiplicativeExpressionNode() + * @generated + */ + int MULTIPLICATIVE_EXPRESSION_NODE = 35; + + /** + * The feature id for the 'Alias' attribute. + * + * + * @generated + * @ordered + */ + int MULTIPLICATIVE_EXPRESSION_NODE__ALIAS = NodePackage.COMPOSITE_NODE__ALIAS; + + /** + * The feature id for the 'Children' containment reference list. + * + * + * @generated + * @ordered + */ + int MULTIPLICATIVE_EXPRESSION_NODE__CHILDREN = NodePackage.COMPOSITE_NODE__CHILDREN; + + /** + * The feature id for the 'Rule' attribute. + * + * + * @generated + * @ordered + */ + int MULTIPLICATIVE_EXPRESSION_NODE__RULE = NodePackage.COMPOSITE_NODE__RULE; + + /** + * The feature id for the 'Rule ID' attribute. + * + * + * @generated + * @ordered + */ + int MULTIPLICATIVE_EXPRESSION_NODE__RULE_ID = NodePackage.COMPOSITE_NODE__RULE_ID; + + /** + * The number of structural features of the 'Multiplicative Expression Node' class. + * + * + * @generated + * @ordered + */ + int MULTIPLICATIVE_EXPRESSION_NODE_FEATURE_COUNT = NodePackage.COMPOSITE_NODE_FEATURE_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.xpand3.internal.parser.xpand3node.impl.UnaryExpressionNodeImpl Unary Expression Node}' class. + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.UnaryExpressionNodeImpl + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.Xpand3nodePackageImpl#getUnaryExpressionNode() + * @generated + */ + int UNARY_EXPRESSION_NODE = 36; + + /** + * The feature id for the 'Alias' attribute. + * + * + * @generated + * @ordered + */ + int UNARY_EXPRESSION_NODE__ALIAS = NodePackage.COMPOSITE_NODE__ALIAS; + + /** + * The feature id for the 'Children' containment reference list. + * + * + * @generated + * @ordered + */ + int UNARY_EXPRESSION_NODE__CHILDREN = NodePackage.COMPOSITE_NODE__CHILDREN; + + /** + * The feature id for the 'Rule' attribute. + * + * + * @generated + * @ordered + */ + int UNARY_EXPRESSION_NODE__RULE = NodePackage.COMPOSITE_NODE__RULE; + + /** + * The feature id for the 'Rule ID' attribute. + * + * + * @generated + * @ordered + */ + int UNARY_EXPRESSION_NODE__RULE_ID = NodePackage.COMPOSITE_NODE__RULE_ID; + + /** + * The number of structural features of the 'Unary Expression Node' class. + * + * + * @generated + * @ordered + */ + int UNARY_EXPRESSION_NODE_FEATURE_COUNT = NodePackage.COMPOSITE_NODE_FEATURE_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.xpand3.internal.parser.xpand3node.impl.InfixExpressionNodeImpl Infix Expression Node}' class. + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.InfixExpressionNodeImpl + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.Xpand3nodePackageImpl#getInfixExpressionNode() + * @generated + */ + int INFIX_EXPRESSION_NODE = 37; + + /** + * The feature id for the 'Alias' attribute. + * + * + * @generated + * @ordered + */ + int INFIX_EXPRESSION_NODE__ALIAS = NodePackage.COMPOSITE_NODE__ALIAS; + + /** + * The feature id for the 'Children' containment reference list. + * + * + * @generated + * @ordered + */ + int INFIX_EXPRESSION_NODE__CHILDREN = NodePackage.COMPOSITE_NODE__CHILDREN; + + /** + * The feature id for the 'Rule' attribute. + * + * + * @generated + * @ordered + */ + int INFIX_EXPRESSION_NODE__RULE = NodePackage.COMPOSITE_NODE__RULE; + + /** + * The feature id for the 'Rule ID' attribute. + * + * + * @generated + * @ordered + */ + int INFIX_EXPRESSION_NODE__RULE_ID = NodePackage.COMPOSITE_NODE__RULE_ID; + + /** + * The number of structural features of the 'Infix Expression Node' class. + * + * + * @generated + * @ordered + */ + int INFIX_EXPRESSION_NODE_FEATURE_COUNT = NodePackage.COMPOSITE_NODE_FEATURE_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.xpand3.internal.parser.xpand3node.impl.StringLiteralNodeImpl String Literal Node}' class. + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.StringLiteralNodeImpl + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.Xpand3nodePackageImpl#getStringLiteralNode() + * @generated + */ + int STRING_LITERAL_NODE = 38; + + /** + * The feature id for the 'Alias' attribute. + * + * + * @generated + * @ordered + */ + int STRING_LITERAL_NODE__ALIAS = NodePackage.COMPOSITE_NODE__ALIAS; + + /** + * The feature id for the 'Children' containment reference list. + * + * + * @generated + * @ordered + */ + int STRING_LITERAL_NODE__CHILDREN = NodePackage.COMPOSITE_NODE__CHILDREN; + + /** + * The feature id for the 'Rule' attribute. + * + * + * @generated + * @ordered + */ + int STRING_LITERAL_NODE__RULE = NodePackage.COMPOSITE_NODE__RULE; + + /** + * The feature id for the 'Rule ID' attribute. + * + * + * @generated + * @ordered + */ + int STRING_LITERAL_NODE__RULE_ID = NodePackage.COMPOSITE_NODE__RULE_ID; + + /** + * The number of structural features of the 'String Literal Node' class. + * + * + * @generated + * @ordered + */ + int STRING_LITERAL_NODE_FEATURE_COUNT = NodePackage.COMPOSITE_NODE_FEATURE_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.xpand3.internal.parser.xpand3node.impl.ParanthesizedExpressionNodeImpl Paranthesized Expression Node}' class. + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.ParanthesizedExpressionNodeImpl + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.Xpand3nodePackageImpl#getParanthesizedExpressionNode() + * @generated + */ + int PARANTHESIZED_EXPRESSION_NODE = 39; + + /** + * The feature id for the 'Alias' attribute. + * + * + * @generated + * @ordered + */ + int PARANTHESIZED_EXPRESSION_NODE__ALIAS = NodePackage.COMPOSITE_NODE__ALIAS; + + /** + * The feature id for the 'Children' containment reference list. + * + * + * @generated + * @ordered + */ + int PARANTHESIZED_EXPRESSION_NODE__CHILDREN = NodePackage.COMPOSITE_NODE__CHILDREN; + + /** + * The feature id for the 'Rule' attribute. + * + * + * @generated + * @ordered + */ + int PARANTHESIZED_EXPRESSION_NODE__RULE = NodePackage.COMPOSITE_NODE__RULE; + + /** + * The feature id for the 'Rule ID' attribute. + * + * + * @generated + * @ordered + */ + int PARANTHESIZED_EXPRESSION_NODE__RULE_ID = NodePackage.COMPOSITE_NODE__RULE_ID; + + /** + * The number of structural features of the 'Paranthesized Expression Node' class. + * + * + * @generated + * @ordered + */ + int PARANTHESIZED_EXPRESSION_NODE_FEATURE_COUNT = NodePackage.COMPOSITE_NODE_FEATURE_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.xpand3.internal.parser.xpand3node.impl.GlobalVarExpressionNodeImpl Global Var Expression Node}' class. + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.GlobalVarExpressionNodeImpl + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.Xpand3nodePackageImpl#getGlobalVarExpressionNode() + * @generated + */ + int GLOBAL_VAR_EXPRESSION_NODE = 40; + + /** + * The feature id for the 'Alias' attribute. + * + * + * @generated + * @ordered + */ + int GLOBAL_VAR_EXPRESSION_NODE__ALIAS = NodePackage.COMPOSITE_NODE__ALIAS; + + /** + * The feature id for the 'Children' containment reference list. + * + * + * @generated + * @ordered + */ + int GLOBAL_VAR_EXPRESSION_NODE__CHILDREN = NodePackage.COMPOSITE_NODE__CHILDREN; + + /** + * The feature id for the 'Rule' attribute. + * + * + * @generated + * @ordered + */ + int GLOBAL_VAR_EXPRESSION_NODE__RULE = NodePackage.COMPOSITE_NODE__RULE; + + /** + * The feature id for the 'Rule ID' attribute. + * + * + * @generated + * @ordered + */ + int GLOBAL_VAR_EXPRESSION_NODE__RULE_ID = NodePackage.COMPOSITE_NODE__RULE_ID; + + /** + * The number of structural features of the 'Global Var Expression Node' class. + * + * + * @generated + * @ordered + */ + int GLOBAL_VAR_EXPRESSION_NODE_FEATURE_COUNT = NodePackage.COMPOSITE_NODE_FEATURE_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.xpand3.internal.parser.xpand3node.impl.FeatureCallNodeImpl Feature Call Node}' class. + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.FeatureCallNodeImpl + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.Xpand3nodePackageImpl#getFeatureCallNode() + * @generated + */ + int FEATURE_CALL_NODE = 41; + + /** + * The feature id for the 'Alias' attribute. + * + * + * @generated + * @ordered + */ + int FEATURE_CALL_NODE__ALIAS = NodePackage.COMPOSITE_NODE__ALIAS; + + /** + * The feature id for the 'Children' containment reference list. + * + * + * @generated + * @ordered + */ + int FEATURE_CALL_NODE__CHILDREN = NodePackage.COMPOSITE_NODE__CHILDREN; + + /** + * The feature id for the 'Rule' attribute. + * + * + * @generated + * @ordered + */ + int FEATURE_CALL_NODE__RULE = NodePackage.COMPOSITE_NODE__RULE; + + /** + * The feature id for the 'Rule ID' attribute. + * + * + * @generated + * @ordered + */ + int FEATURE_CALL_NODE__RULE_ID = NodePackage.COMPOSITE_NODE__RULE_ID; + + /** + * The number of structural features of the 'Feature Call Node' class. + * + * + * @generated + * @ordered + */ + int FEATURE_CALL_NODE_FEATURE_COUNT = NodePackage.COMPOSITE_NODE_FEATURE_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.xpand3.internal.parser.xpand3node.impl.ListLiteralNodeImpl List Literal Node}' class. + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.ListLiteralNodeImpl + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.Xpand3nodePackageImpl#getListLiteralNode() + * @generated + */ + int LIST_LITERAL_NODE = 42; + + /** + * The feature id for the 'Alias' attribute. + * + * + * @generated + * @ordered + */ + int LIST_LITERAL_NODE__ALIAS = NodePackage.COMPOSITE_NODE__ALIAS; + + /** + * The feature id for the 'Children' containment reference list. + * + * + * @generated + * @ordered + */ + int LIST_LITERAL_NODE__CHILDREN = NodePackage.COMPOSITE_NODE__CHILDREN; + + /** + * The feature id for the 'Rule' attribute. + * + * + * @generated + * @ordered + */ + int LIST_LITERAL_NODE__RULE = NodePackage.COMPOSITE_NODE__RULE; + + /** + * The feature id for the 'Rule ID' attribute. + * + * + * @generated + * @ordered + */ + int LIST_LITERAL_NODE__RULE_ID = NodePackage.COMPOSITE_NODE__RULE_ID; + + /** + * The number of structural features of the 'List Literal Node' class. + * + * + * @generated + * @ordered + */ + int LIST_LITERAL_NODE_FEATURE_COUNT = NodePackage.COMPOSITE_NODE_FEATURE_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.xpand3.internal.parser.xpand3node.impl.ConstructorCallNodeImpl Constructor Call Node}' class. + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.ConstructorCallNodeImpl + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.Xpand3nodePackageImpl#getConstructorCallNode() + * @generated + */ + int CONSTRUCTOR_CALL_NODE = 43; + + /** + * The feature id for the 'Alias' attribute. + * + * + * @generated + * @ordered + */ + int CONSTRUCTOR_CALL_NODE__ALIAS = NodePackage.COMPOSITE_NODE__ALIAS; + + /** + * The feature id for the 'Children' containment reference list. + * + * + * @generated + * @ordered + */ + int CONSTRUCTOR_CALL_NODE__CHILDREN = NodePackage.COMPOSITE_NODE__CHILDREN; + + /** + * The feature id for the 'Rule' attribute. + * + * + * @generated + * @ordered + */ + int CONSTRUCTOR_CALL_NODE__RULE = NodePackage.COMPOSITE_NODE__RULE; + + /** + * The feature id for the 'Rule ID' attribute. + * + * + * @generated + * @ordered + */ + int CONSTRUCTOR_CALL_NODE__RULE_ID = NodePackage.COMPOSITE_NODE__RULE_ID; + + /** + * The number of structural features of the 'Constructor Call Node' class. + * + * + * @generated + * @ordered + */ + int CONSTRUCTOR_CALL_NODE_FEATURE_COUNT = NodePackage.COMPOSITE_NODE_FEATURE_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.xpand3.internal.parser.xpand3node.impl.BooleanLiteralNodeImpl Boolean Literal Node}' class. + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.BooleanLiteralNodeImpl + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.Xpand3nodePackageImpl#getBooleanLiteralNode() + * @generated + */ + int BOOLEAN_LITERAL_NODE = 44; + + /** + * The feature id for the 'Alias' attribute. + * + * + * @generated + * @ordered + */ + int BOOLEAN_LITERAL_NODE__ALIAS = NodePackage.COMPOSITE_NODE__ALIAS; + + /** + * The feature id for the 'Children' containment reference list. + * + * + * @generated + * @ordered + */ + int BOOLEAN_LITERAL_NODE__CHILDREN = NodePackage.COMPOSITE_NODE__CHILDREN; + + /** + * The feature id for the 'Rule' attribute. + * + * + * @generated + * @ordered + */ + int BOOLEAN_LITERAL_NODE__RULE = NodePackage.COMPOSITE_NODE__RULE; + + /** + * The feature id for the 'Rule ID' attribute. + * + * + * @generated + * @ordered + */ + int BOOLEAN_LITERAL_NODE__RULE_ID = NodePackage.COMPOSITE_NODE__RULE_ID; + + /** + * The number of structural features of the 'Boolean Literal Node' class. + * + * + * @generated + * @ordered + */ + int BOOLEAN_LITERAL_NODE_FEATURE_COUNT = NodePackage.COMPOSITE_NODE_FEATURE_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.xpand3.internal.parser.xpand3node.impl.NullLiteralNodeImpl Null Literal Node}' class. + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.NullLiteralNodeImpl + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.Xpand3nodePackageImpl#getNullLiteralNode() + * @generated + */ + int NULL_LITERAL_NODE = 45; + + /** + * The feature id for the 'Alias' attribute. + * + * + * @generated + * @ordered + */ + int NULL_LITERAL_NODE__ALIAS = NodePackage.COMPOSITE_NODE__ALIAS; + + /** + * The feature id for the 'Children' containment reference list. + * + * + * @generated + * @ordered + */ + int NULL_LITERAL_NODE__CHILDREN = NodePackage.COMPOSITE_NODE__CHILDREN; + + /** + * The feature id for the 'Rule' attribute. + * + * + * @generated + * @ordered + */ + int NULL_LITERAL_NODE__RULE = NodePackage.COMPOSITE_NODE__RULE; + + /** + * The feature id for the 'Rule ID' attribute. + * + * + * @generated + * @ordered + */ + int NULL_LITERAL_NODE__RULE_ID = NodePackage.COMPOSITE_NODE__RULE_ID; + + /** + * The number of structural features of the 'Null Literal Node' class. + * + * + * @generated + * @ordered + */ + int NULL_LITERAL_NODE_FEATURE_COUNT = NodePackage.COMPOSITE_NODE_FEATURE_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.xpand3.internal.parser.xpand3node.impl.NumberLiteralNodeImpl Number Literal Node}' class. + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.NumberLiteralNodeImpl + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.Xpand3nodePackageImpl#getNumberLiteralNode() + * @generated + */ + int NUMBER_LITERAL_NODE = 46; + + /** + * The feature id for the 'Alias' attribute. + * + * + * @generated + * @ordered + */ + int NUMBER_LITERAL_NODE__ALIAS = NodePackage.COMPOSITE_NODE__ALIAS; + + /** + * The feature id for the 'Children' containment reference list. + * + * + * @generated + * @ordered + */ + int NUMBER_LITERAL_NODE__CHILDREN = NodePackage.COMPOSITE_NODE__CHILDREN; + + /** + * The feature id for the 'Rule' attribute. + * + * + * @generated + * @ordered + */ + int NUMBER_LITERAL_NODE__RULE = NodePackage.COMPOSITE_NODE__RULE; + + /** + * The feature id for the 'Rule ID' attribute. + * + * + * @generated + * @ordered + */ + int NUMBER_LITERAL_NODE__RULE_ID = NodePackage.COMPOSITE_NODE__RULE_ID; + + /** + * The number of structural features of the 'Number Literal Node' class. + * + * + * @generated + * @ordered + */ + int NUMBER_LITERAL_NODE_FEATURE_COUNT = NodePackage.COMPOSITE_NODE_FEATURE_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.xpand3.internal.parser.xpand3node.impl.CollectionExpressionNodeImpl Collection Expression Node}' class. + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.CollectionExpressionNodeImpl + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.Xpand3nodePackageImpl#getCollectionExpressionNode() + * @generated + */ + int COLLECTION_EXPRESSION_NODE = 47; + + /** + * The feature id for the 'Alias' attribute. + * + * + * @generated + * @ordered + */ + int COLLECTION_EXPRESSION_NODE__ALIAS = NodePackage.COMPOSITE_NODE__ALIAS; + + /** + * The feature id for the 'Children' containment reference list. + * + * + * @generated + * @ordered + */ + int COLLECTION_EXPRESSION_NODE__CHILDREN = NodePackage.COMPOSITE_NODE__CHILDREN; + + /** + * The feature id for the 'Rule' attribute. + * + * + * @generated + * @ordered + */ + int COLLECTION_EXPRESSION_NODE__RULE = NodePackage.COMPOSITE_NODE__RULE; + + /** + * The feature id for the 'Rule ID' attribute. + * + * + * @generated + * @ordered + */ + int COLLECTION_EXPRESSION_NODE__RULE_ID = NodePackage.COMPOSITE_NODE__RULE_ID; + + /** + * The number of structural features of the 'Collection Expression Node' class. + * + * + * @generated + * @ordered + */ + int COLLECTION_EXPRESSION_NODE_FEATURE_COUNT = NodePackage.COMPOSITE_NODE_FEATURE_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.xpand3.internal.parser.xpand3node.impl.DeclaredParameterListNodeImpl Declared Parameter List Node}' class. + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.DeclaredParameterListNodeImpl + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.Xpand3nodePackageImpl#getDeclaredParameterListNode() + * @generated + */ + int DECLARED_PARAMETER_LIST_NODE = 48; + + /** + * The feature id for the 'Alias' attribute. + * + * + * @generated + * @ordered + */ + int DECLARED_PARAMETER_LIST_NODE__ALIAS = NodePackage.COMPOSITE_NODE__ALIAS; + + /** + * The feature id for the 'Children' containment reference list. + * + * + * @generated + * @ordered + */ + int DECLARED_PARAMETER_LIST_NODE__CHILDREN = NodePackage.COMPOSITE_NODE__CHILDREN; + + /** + * The feature id for the 'Rule' attribute. + * + * + * @generated + * @ordered + */ + int DECLARED_PARAMETER_LIST_NODE__RULE = NodePackage.COMPOSITE_NODE__RULE; + + /** + * The feature id for the 'Rule ID' attribute. + * + * + * @generated + * @ordered + */ + int DECLARED_PARAMETER_LIST_NODE__RULE_ID = NodePackage.COMPOSITE_NODE__RULE_ID; + + /** + * The number of structural features of the 'Declared Parameter List Node' class. + * + * + * @generated + * @ordered + */ + int DECLARED_PARAMETER_LIST_NODE_FEATURE_COUNT = NodePackage.COMPOSITE_NODE_FEATURE_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.xpand3.internal.parser.xpand3node.impl.DeclaredParameterNodeImpl Declared Parameter Node}' class. + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.DeclaredParameterNodeImpl + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.Xpand3nodePackageImpl#getDeclaredParameterNode() + * @generated + */ + int DECLARED_PARAMETER_NODE = 49; + + /** + * The feature id for the 'Alias' attribute. + * + * + * @generated + * @ordered + */ + int DECLARED_PARAMETER_NODE__ALIAS = NodePackage.COMPOSITE_NODE__ALIAS; + + /** + * The feature id for the 'Children' containment reference list. + * + * + * @generated + * @ordered + */ + int DECLARED_PARAMETER_NODE__CHILDREN = NodePackage.COMPOSITE_NODE__CHILDREN; + + /** + * The feature id for the 'Rule' attribute. + * + * + * @generated + * @ordered + */ + int DECLARED_PARAMETER_NODE__RULE = NodePackage.COMPOSITE_NODE__RULE; + + /** + * The feature id for the 'Rule ID' attribute. + * + * + * @generated + * @ordered + */ + int DECLARED_PARAMETER_NODE__RULE_ID = NodePackage.COMPOSITE_NODE__RULE_ID; + + /** + * The number of structural features of the 'Declared Parameter Node' class. + * + * + * @generated + * @ordered + */ + int DECLARED_PARAMETER_NODE_FEATURE_COUNT = NodePackage.COMPOSITE_NODE_FEATURE_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.xpand3.internal.parser.xpand3node.impl.ParameterListNodeImpl Parameter List Node}' class. + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.ParameterListNodeImpl + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.Xpand3nodePackageImpl#getParameterListNode() + * @generated + */ + int PARAMETER_LIST_NODE = 50; + + /** + * The feature id for the 'Alias' attribute. + * + * + * @generated + * @ordered + */ + int PARAMETER_LIST_NODE__ALIAS = NodePackage.COMPOSITE_NODE__ALIAS; + + /** + * The feature id for the 'Children' containment reference list. + * + * + * @generated + * @ordered + */ + int PARAMETER_LIST_NODE__CHILDREN = NodePackage.COMPOSITE_NODE__CHILDREN; + + /** + * The feature id for the 'Rule' attribute. + * + * + * @generated + * @ordered + */ + int PARAMETER_LIST_NODE__RULE = NodePackage.COMPOSITE_NODE__RULE; + + /** + * The feature id for the 'Rule ID' attribute. + * + * + * @generated + * @ordered + */ + int PARAMETER_LIST_NODE__RULE_ID = NodePackage.COMPOSITE_NODE__RULE_ID; + + /** + * The number of structural features of the 'Parameter List Node' class. + * + * + * @generated + * @ordered + */ + int PARAMETER_LIST_NODE_FEATURE_COUNT = NodePackage.COMPOSITE_NODE_FEATURE_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.xpand3.internal.parser.xpand3node.impl.CollectionTypeNodeImpl Collection Type Node}' class. + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.CollectionTypeNodeImpl + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.Xpand3nodePackageImpl#getCollectionTypeNode() + * @generated + */ + int COLLECTION_TYPE_NODE = 51; + + /** + * The feature id for the 'Alias' attribute. + * + * + * @generated + * @ordered + */ + int COLLECTION_TYPE_NODE__ALIAS = NodePackage.COMPOSITE_NODE__ALIAS; + + /** + * The feature id for the 'Children' containment reference list. + * + * + * @generated + * @ordered + */ + int COLLECTION_TYPE_NODE__CHILDREN = NodePackage.COMPOSITE_NODE__CHILDREN; + + /** + * The feature id for the 'Rule' attribute. + * + * + * @generated + * @ordered + */ + int COLLECTION_TYPE_NODE__RULE = NodePackage.COMPOSITE_NODE__RULE; + + /** + * The feature id for the 'Rule ID' attribute. + * + * + * @generated + * @ordered + */ + int COLLECTION_TYPE_NODE__RULE_ID = NodePackage.COMPOSITE_NODE__RULE_ID; + + /** + * The number of structural features of the 'Collection Type Node' class. + * + * + * @generated + * @ordered + */ + int COLLECTION_TYPE_NODE_FEATURE_COUNT = NodePackage.COMPOSITE_NODE_FEATURE_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.xpand3.internal.parser.xpand3node.impl.SimpleTypeNodeImpl Simple Type Node}' class. + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.SimpleTypeNodeImpl + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.Xpand3nodePackageImpl#getSimpleTypeNode() + * @generated + */ + int SIMPLE_TYPE_NODE = 52; + + /** + * The feature id for the 'Alias' attribute. + * + * + * @generated + * @ordered + */ + int SIMPLE_TYPE_NODE__ALIAS = NodePackage.COMPOSITE_NODE__ALIAS; + + /** + * The feature id for the 'Children' containment reference list. + * + * + * @generated + * @ordered + */ + int SIMPLE_TYPE_NODE__CHILDREN = NodePackage.COMPOSITE_NODE__CHILDREN; + + /** + * The feature id for the 'Rule' attribute. + * + * + * @generated + * @ordered + */ + int SIMPLE_TYPE_NODE__RULE = NodePackage.COMPOSITE_NODE__RULE; + + /** + * The feature id for the 'Rule ID' attribute. + * + * + * @generated + * @ordered + */ + int SIMPLE_TYPE_NODE__RULE_ID = NodePackage.COMPOSITE_NODE__RULE_ID; + + /** + * The number of structural features of the 'Simple Type Node' class. + * + * + * @generated + * @ordered + */ + int SIMPLE_TYPE_NODE_FEATURE_COUNT = NodePackage.COMPOSITE_NODE_FEATURE_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.xpand3.internal.parser.xpand3node.impl.IdentifierNodeImpl Identifier Node}' class. + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.IdentifierNodeImpl + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.Xpand3nodePackageImpl#getIdentifierNode() + * @generated + */ + int IDENTIFIER_NODE = 53; + + /** + * The feature id for the 'Alias' attribute. + * + * + * @generated + * @ordered + */ + int IDENTIFIER_NODE__ALIAS = NodePackage.COMPOSITE_NODE__ALIAS; + + /** + * The feature id for the 'Children' containment reference list. + * + * + * @generated + * @ordered + */ + int IDENTIFIER_NODE__CHILDREN = NodePackage.COMPOSITE_NODE__CHILDREN; + + /** + * The feature id for the 'Rule' attribute. + * + * + * @generated + * @ordered + */ + int IDENTIFIER_NODE__RULE = NodePackage.COMPOSITE_NODE__RULE; + + /** + * The feature id for the 'Rule ID' attribute. + * + * + * @generated + * @ordered + */ + int IDENTIFIER_NODE__RULE_ID = NodePackage.COMPOSITE_NODE__RULE_ID; + + /** + * The number of structural features of the 'Identifier Node' class. + * + * + * @generated + * @ordered + */ + int IDENTIFIER_NODE_FEATURE_COUNT = NodePackage.COMPOSITE_NODE_FEATURE_COUNT + 0; + + + /** + * Returns the meta object for class '{@link org.eclipse.xpand3.internal.parser.xpand3node.FileNode File Node}'. + * + * + * @return the meta object for class 'File Node'. + * @see org.eclipse.xpand3.internal.parser.xpand3node.FileNode + * @generated + */ + EClass getFileNode(); + + /** + * Returns the meta object for the reference list '{@link org.eclipse.xpand3.internal.parser.xpand3node.FileNode#getDecl Decl}'. + * + * + * @return the meta object for the reference list 'Decl'. + * @see org.eclipse.xpand3.internal.parser.xpand3node.FileNode#getDecl() + * @see #getFileNode() + * @generated + */ + EReference getFileNode_Decl(); + + /** + * Returns the meta object for the reference list '{@link org.eclipse.xpand3.internal.parser.xpand3node.FileNode#getImp Imp}'. + * + * + * @return the meta object for the reference list 'Imp'. + * @see org.eclipse.xpand3.internal.parser.xpand3node.FileNode#getImp() + * @see #getFileNode() + * @generated + */ + EReference getFileNode_Imp(); + + /** + * Returns the meta object for class '{@link org.eclipse.xpand3.internal.parser.xpand3node.NsImportNode Ns Import Node}'. + * + * + * @return the meta object for class 'Ns Import Node'. + * @see org.eclipse.xpand3.internal.parser.xpand3node.NsImportNode + * @generated + */ + EClass getNsImportNode(); + + /** + * Returns the meta object for the reference '{@link org.eclipse.xpand3.internal.parser.xpand3node.NsImportNode#getNs Ns}'. + * + * + * @return the meta object for the reference 'Ns'. + * @see org.eclipse.xpand3.internal.parser.xpand3node.NsImportNode#getNs() + * @see #getNsImportNode() + * @generated + */ + EReference getNsImportNode_Ns(); + + /** + * Returns the meta object for class '{@link org.eclipse.xpand3.internal.parser.xpand3node.DefinitionNode Definition Node}'. + * + * + * @return the meta object for class 'Definition Node'. + * @see org.eclipse.xpand3.internal.parser.xpand3node.DefinitionNode + * @generated + */ + EClass getDefinitionNode(); + + /** + * Returns the meta object for the reference '{@link org.eclipse.xpand3.internal.parser.xpand3node.DefinitionNode#getName Name}'. + * + * + * @return the meta object for the reference 'Name'. + * @see org.eclipse.xpand3.internal.parser.xpand3node.DefinitionNode#getName() + * @see #getDefinitionNode() + * @generated + */ + EReference getDefinitionNode_Name(); + + /** + * Returns the meta object for class '{@link org.eclipse.xpand3.internal.parser.xpand3node.DefinitionAroundNode Definition Around Node}'. + * + * + * @return the meta object for class 'Definition Around Node'. + * @see org.eclipse.xpand3.internal.parser.xpand3node.DefinitionAroundNode + * @generated + */ + EClass getDefinitionAroundNode(); + + /** + * Returns the meta object for class '{@link org.eclipse.xpand3.internal.parser.xpand3node.SequenceNode Sequence Node}'. + * + * + * @return the meta object for class 'Sequence Node'. + * @see org.eclipse.xpand3.internal.parser.xpand3node.SequenceNode + * @generated + */ + EClass getSequenceNode(); + + /** + * Returns the meta object for class '{@link org.eclipse.xpand3.internal.parser.xpand3node.TextSequenceNode Text Sequence Node}'. + * + * + * @return the meta object for class 'Text Sequence Node'. + * @see org.eclipse.xpand3.internal.parser.xpand3node.TextSequenceNode + * @generated + */ + EClass getTextSequenceNode(); + + /** + * Returns the meta object for class '{@link org.eclipse.xpand3.internal.parser.xpand3node.TextNode Text Node}'. + * + * + * @return the meta object for class 'Text Node'. + * @see org.eclipse.xpand3.internal.parser.xpand3node.TextNode + * @generated + */ + EClass getTextNode(); + + /** + * Returns the meta object for class '{@link org.eclipse.xpand3.internal.parser.xpand3node.ErrorStatementNode Error Statement Node}'. + * + * + * @return the meta object for class 'Error Statement Node'. + * @see org.eclipse.xpand3.internal.parser.xpand3node.ErrorStatementNode + * @generated + */ + EClass getErrorStatementNode(); + + /** + * Returns the meta object for class '{@link org.eclipse.xpand3.internal.parser.xpand3node.ExpandStatementNode Expand Statement Node}'. + * + * + * @return the meta object for class 'Expand Statement Node'. + * @see org.eclipse.xpand3.internal.parser.xpand3node.ExpandStatementNode + * @generated + */ + EClass getExpandStatementNode(); + + /** + * Returns the meta object for class '{@link org.eclipse.xpand3.internal.parser.xpand3node.ExpressionStmtNode Expression Stmt Node}'. + * + * + * @return the meta object for class 'Expression Stmt Node'. + * @see org.eclipse.xpand3.internal.parser.xpand3node.ExpressionStmtNode + * @generated + */ + EClass getExpressionStmtNode(); + + /** + * Returns the meta object for class '{@link org.eclipse.xpand3.internal.parser.xpand3node.FileStatementNode File Statement Node}'. + * + * + * @return the meta object for class 'File Statement Node'. + * @see org.eclipse.xpand3.internal.parser.xpand3node.FileStatementNode + * @generated + */ + EClass getFileStatementNode(); + + /** + * Returns the meta object for class '{@link org.eclipse.xpand3.internal.parser.xpand3node.ForeachStatementNode Foreach Statement Node}'. + * + * + * @return the meta object for class 'Foreach Statement Node'. + * @see org.eclipse.xpand3.internal.parser.xpand3node.ForeachStatementNode + * @generated + */ + EClass getForeachStatementNode(); + + /** + * Returns the meta object for class '{@link org.eclipse.xpand3.internal.parser.xpand3node.IfStatementNode If Statement Node}'. + * + * + * @return the meta object for class 'If Statement Node'. + * @see org.eclipse.xpand3.internal.parser.xpand3node.IfStatementNode + * @generated + */ + EClass getIfStatementNode(); + + /** + * Returns the meta object for class '{@link org.eclipse.xpand3.internal.parser.xpand3node.ElseIfStatementNode Else If Statement Node}'. + * + * + * @return the meta object for class 'Else If Statement Node'. + * @see org.eclipse.xpand3.internal.parser.xpand3node.ElseIfStatementNode + * @generated + */ + EClass getElseIfStatementNode(); + + /** + * Returns the meta object for class '{@link org.eclipse.xpand3.internal.parser.xpand3node.ElseStatementNode Else Statement Node}'. + * + * + * @return the meta object for class 'Else Statement Node'. + * @see org.eclipse.xpand3.internal.parser.xpand3node.ElseStatementNode + * @generated + */ + EClass getElseStatementNode(); + + /** + * Returns the meta object for class '{@link org.eclipse.xpand3.internal.parser.xpand3node.LetStatementNode Let Statement Node}'. + * + * + * @return the meta object for class 'Let Statement Node'. + * @see org.eclipse.xpand3.internal.parser.xpand3node.LetStatementNode + * @generated + */ + EClass getLetStatementNode(); + + /** + * Returns the meta object for class '{@link org.eclipse.xpand3.internal.parser.xpand3node.ProtectStatementNode Protect Statement Node}'. + * + * + * @return the meta object for class 'Protect Statement Node'. + * @see org.eclipse.xpand3.internal.parser.xpand3node.ProtectStatementNode + * @generated + */ + EClass getProtectStatementNode(); + + /** + * Returns the meta object for class '{@link org.eclipse.xpand3.internal.parser.xpand3node.CheckNode Check Node}'. + * + * + * @return the meta object for class 'Check Node'. + * @see org.eclipse.xpand3.internal.parser.xpand3node.CheckNode + * @generated + */ + EClass getCheckNode(); + + /** + * Returns the meta object for class '{@link org.eclipse.xpand3.internal.parser.xpand3node.AroundNode Around Node}'. + * + * + * @return the meta object for class 'Around Node'. + * @see org.eclipse.xpand3.internal.parser.xpand3node.AroundNode + * @generated + */ + EClass getAroundNode(); + + /** + * Returns the meta object for class '{@link org.eclipse.xpand3.internal.parser.xpand3node.PointcutNode Pointcut Node}'. + * + * + * @return the meta object for class 'Pointcut Node'. + * @see org.eclipse.xpand3.internal.parser.xpand3node.PointcutNode + * @generated + */ + EClass getPointcutNode(); + + /** + * Returns the meta object for class '{@link org.eclipse.xpand3.internal.parser.xpand3node.ExtensionNode Extension Node}'. + * + * + * @return the meta object for class 'Extension Node'. + * @see org.eclipse.xpand3.internal.parser.xpand3node.ExtensionNode + * @generated + */ + EClass getExtensionNode(); + + /** + * Returns the meta object for class '{@link org.eclipse.xpand3.internal.parser.xpand3node.JavaTypeNode Java Type Node}'. + * + * + * @return the meta object for class 'Java Type Node'. + * @see org.eclipse.xpand3.internal.parser.xpand3node.JavaTypeNode + * @generated + */ + EClass getJavaTypeNode(); + + /** + * Returns the meta object for class '{@link org.eclipse.xpand3.internal.parser.xpand3node.Test_expressionNode Test expression Node}'. + * + * + * @return the meta object for class 'Test expression Node'. + * @see org.eclipse.xpand3.internal.parser.xpand3node.Test_expressionNode + * @generated + */ + EClass getTest_expressionNode(); + + /** + * Returns the meta object for class '{@link org.eclipse.xpand3.internal.parser.xpand3node.ExpressionNode Expression Node}'. + * + * + * @return the meta object for class 'Expression Node'. + * @see org.eclipse.xpand3.internal.parser.xpand3node.ExpressionNode + * @generated + */ + EClass getExpressionNode(); + + /** + * Returns the meta object for class '{@link org.eclipse.xpand3.internal.parser.xpand3node.LetExpressionNode Let Expression Node}'. + * + * + * @return the meta object for class 'Let Expression Node'. + * @see org.eclipse.xpand3.internal.parser.xpand3node.LetExpressionNode + * @generated + */ + EClass getLetExpressionNode(); + + /** + * Returns the meta object for class '{@link org.eclipse.xpand3.internal.parser.xpand3node.CastedExpressionNode Casted Expression Node}'. + * + * + * @return the meta object for class 'Casted Expression Node'. + * @see org.eclipse.xpand3.internal.parser.xpand3node.CastedExpressionNode + * @generated + */ + EClass getCastedExpressionNode(); + + /** + * Returns the meta object for class '{@link org.eclipse.xpand3.internal.parser.xpand3node.ChainExpressionNode Chain Expression Node}'. + * + * + * @return the meta object for class 'Chain Expression Node'. + * @see org.eclipse.xpand3.internal.parser.xpand3node.ChainExpressionNode + * @generated + */ + EClass getChainExpressionNode(); + + /** + * Returns the meta object for class '{@link org.eclipse.xpand3.internal.parser.xpand3node.IfExpressionNode If Expression Node}'. + * + * + * @return the meta object for class 'If Expression Node'. + * @see org.eclipse.xpand3.internal.parser.xpand3node.IfExpressionNode + * @generated + */ + EClass getIfExpressionNode(); + + /** + * Returns the meta object for class '{@link org.eclipse.xpand3.internal.parser.xpand3node.SwitchExpressionNode Switch Expression Node}'. + * + * + * @return the meta object for class 'Switch Expression Node'. + * @see org.eclipse.xpand3.internal.parser.xpand3node.SwitchExpressionNode + * @generated + */ + EClass getSwitchExpressionNode(); + + /** + * Returns the meta object for class '{@link org.eclipse.xpand3.internal.parser.xpand3node.CasePartNode Case Part Node}'. + * + * + * @return the meta object for class 'Case Part Node'. + * @see org.eclipse.xpand3.internal.parser.xpand3node.CasePartNode + * @generated + */ + EClass getCasePartNode(); + + /** + * Returns the meta object for class '{@link org.eclipse.xpand3.internal.parser.xpand3node.OrExpressionNode Or Expression Node}'. + * + * + * @return the meta object for class 'Or Expression Node'. + * @see org.eclipse.xpand3.internal.parser.xpand3node.OrExpressionNode + * @generated + */ + EClass getOrExpressionNode(); + + /** + * Returns the meta object for class '{@link org.eclipse.xpand3.internal.parser.xpand3node.AndExpressionNode And Expression Node}'. + * + * + * @return the meta object for class 'And Expression Node'. + * @see org.eclipse.xpand3.internal.parser.xpand3node.AndExpressionNode + * @generated + */ + EClass getAndExpressionNode(); + + /** + * Returns the meta object for class '{@link org.eclipse.xpand3.internal.parser.xpand3node.ImpliesExpressionNode Implies Expression Node}'. + * + * + * @return the meta object for class 'Implies Expression Node'. + * @see org.eclipse.xpand3.internal.parser.xpand3node.ImpliesExpressionNode + * @generated + */ + EClass getImpliesExpressionNode(); + + /** + * Returns the meta object for class '{@link org.eclipse.xpand3.internal.parser.xpand3node.RelationalExpressionNode Relational Expression Node}'. + * + * + * @return the meta object for class 'Relational Expression Node'. + * @see org.eclipse.xpand3.internal.parser.xpand3node.RelationalExpressionNode + * @generated + */ + EClass getRelationalExpressionNode(); + + /** + * Returns the meta object for class '{@link org.eclipse.xpand3.internal.parser.xpand3node.AdditiveExpressionNode Additive Expression Node}'. + * + * + * @return the meta object for class 'Additive Expression Node'. + * @see org.eclipse.xpand3.internal.parser.xpand3node.AdditiveExpressionNode + * @generated + */ + EClass getAdditiveExpressionNode(); + + /** + * Returns the meta object for class '{@link org.eclipse.xpand3.internal.parser.xpand3node.MultiplicativeExpressionNode Multiplicative Expression Node}'. + * + * + * @return the meta object for class 'Multiplicative Expression Node'. + * @see org.eclipse.xpand3.internal.parser.xpand3node.MultiplicativeExpressionNode + * @generated + */ + EClass getMultiplicativeExpressionNode(); + + /** + * Returns the meta object for class '{@link org.eclipse.xpand3.internal.parser.xpand3node.UnaryExpressionNode Unary Expression Node}'. + * + * + * @return the meta object for class 'Unary Expression Node'. + * @see org.eclipse.xpand3.internal.parser.xpand3node.UnaryExpressionNode + * @generated + */ + EClass getUnaryExpressionNode(); + + /** + * Returns the meta object for class '{@link org.eclipse.xpand3.internal.parser.xpand3node.InfixExpressionNode Infix Expression Node}'. + * + * + * @return the meta object for class 'Infix Expression Node'. + * @see org.eclipse.xpand3.internal.parser.xpand3node.InfixExpressionNode + * @generated + */ + EClass getInfixExpressionNode(); + + /** + * Returns the meta object for class '{@link org.eclipse.xpand3.internal.parser.xpand3node.StringLiteralNode String Literal Node}'. + * + * + * @return the meta object for class 'String Literal Node'. + * @see org.eclipse.xpand3.internal.parser.xpand3node.StringLiteralNode + * @generated + */ + EClass getStringLiteralNode(); + + /** + * Returns the meta object for class '{@link org.eclipse.xpand3.internal.parser.xpand3node.ParanthesizedExpressionNode Paranthesized Expression Node}'. + * + * + * @return the meta object for class 'Paranthesized Expression Node'. + * @see org.eclipse.xpand3.internal.parser.xpand3node.ParanthesizedExpressionNode + * @generated + */ + EClass getParanthesizedExpressionNode(); + + /** + * Returns the meta object for class '{@link org.eclipse.xpand3.internal.parser.xpand3node.GlobalVarExpressionNode Global Var Expression Node}'. + * + * + * @return the meta object for class 'Global Var Expression Node'. + * @see org.eclipse.xpand3.internal.parser.xpand3node.GlobalVarExpressionNode + * @generated + */ + EClass getGlobalVarExpressionNode(); + + /** + * Returns the meta object for class '{@link org.eclipse.xpand3.internal.parser.xpand3node.FeatureCallNode Feature Call Node}'. + * + * + * @return the meta object for class 'Feature Call Node'. + * @see org.eclipse.xpand3.internal.parser.xpand3node.FeatureCallNode + * @generated + */ + EClass getFeatureCallNode(); + + /** + * Returns the meta object for class '{@link org.eclipse.xpand3.internal.parser.xpand3node.ListLiteralNode List Literal Node}'. + * + * + * @return the meta object for class 'List Literal Node'. + * @see org.eclipse.xpand3.internal.parser.xpand3node.ListLiteralNode + * @generated + */ + EClass getListLiteralNode(); + + /** + * Returns the meta object for class '{@link org.eclipse.xpand3.internal.parser.xpand3node.ConstructorCallNode Constructor Call Node}'. + * + * + * @return the meta object for class 'Constructor Call Node'. + * @see org.eclipse.xpand3.internal.parser.xpand3node.ConstructorCallNode + * @generated + */ + EClass getConstructorCallNode(); + + /** + * Returns the meta object for class '{@link org.eclipse.xpand3.internal.parser.xpand3node.BooleanLiteralNode Boolean Literal Node}'. + * + * + * @return the meta object for class 'Boolean Literal Node'. + * @see org.eclipse.xpand3.internal.parser.xpand3node.BooleanLiteralNode + * @generated + */ + EClass getBooleanLiteralNode(); + + /** + * Returns the meta object for class '{@link org.eclipse.xpand3.internal.parser.xpand3node.NullLiteralNode Null Literal Node}'. + * + * + * @return the meta object for class 'Null Literal Node'. + * @see org.eclipse.xpand3.internal.parser.xpand3node.NullLiteralNode + * @generated + */ + EClass getNullLiteralNode(); + + /** + * Returns the meta object for class '{@link org.eclipse.xpand3.internal.parser.xpand3node.NumberLiteralNode Number Literal Node}'. + * + * + * @return the meta object for class 'Number Literal Node'. + * @see org.eclipse.xpand3.internal.parser.xpand3node.NumberLiteralNode + * @generated + */ + EClass getNumberLiteralNode(); + + /** + * Returns the meta object for class '{@link org.eclipse.xpand3.internal.parser.xpand3node.CollectionExpressionNode Collection Expression Node}'. + * + * + * @return the meta object for class 'Collection Expression Node'. + * @see org.eclipse.xpand3.internal.parser.xpand3node.CollectionExpressionNode + * @generated + */ + EClass getCollectionExpressionNode(); + + /** + * Returns the meta object for class '{@link org.eclipse.xpand3.internal.parser.xpand3node.DeclaredParameterListNode Declared Parameter List Node}'. + * + * + * @return the meta object for class 'Declared Parameter List Node'. + * @see org.eclipse.xpand3.internal.parser.xpand3node.DeclaredParameterListNode + * @generated + */ + EClass getDeclaredParameterListNode(); + + /** + * Returns the meta object for class '{@link org.eclipse.xpand3.internal.parser.xpand3node.DeclaredParameterNode Declared Parameter Node}'. + * + * + * @return the meta object for class 'Declared Parameter Node'. + * @see org.eclipse.xpand3.internal.parser.xpand3node.DeclaredParameterNode + * @generated + */ + EClass getDeclaredParameterNode(); + + /** + * Returns the meta object for class '{@link org.eclipse.xpand3.internal.parser.xpand3node.ParameterListNode Parameter List Node}'. + * + * + * @return the meta object for class 'Parameter List Node'. + * @see org.eclipse.xpand3.internal.parser.xpand3node.ParameterListNode + * @generated + */ + EClass getParameterListNode(); + + /** + * Returns the meta object for class '{@link org.eclipse.xpand3.internal.parser.xpand3node.CollectionTypeNode Collection Type Node}'. + * + * + * @return the meta object for class 'Collection Type Node'. + * @see org.eclipse.xpand3.internal.parser.xpand3node.CollectionTypeNode + * @generated + */ + EClass getCollectionTypeNode(); + + /** + * Returns the meta object for class '{@link org.eclipse.xpand3.internal.parser.xpand3node.SimpleTypeNode Simple Type Node}'. + * + * + * @return the meta object for class 'Simple Type Node'. + * @see org.eclipse.xpand3.internal.parser.xpand3node.SimpleTypeNode + * @generated + */ + EClass getSimpleTypeNode(); + + /** + * Returns the meta object for class '{@link org.eclipse.xpand3.internal.parser.xpand3node.IdentifierNode Identifier Node}'. + * + * + * @return the meta object for class 'Identifier Node'. + * @see org.eclipse.xpand3.internal.parser.xpand3node.IdentifierNode + * @generated + */ + EClass getIdentifierNode(); + + /** + * Returns the factory that creates the instances of the model. + * + * + * @return the factory that creates the instances of the model. + * @generated + */ + Xpand3nodeFactory getXpand3nodeFactory(); + + /** + * + * Defines literals for the meta objects that represent + * + * + * @generated + */ + interface Literals { + /** + * The meta object literal for the '{@link org.eclipse.xpand3.internal.parser.xpand3node.impl.FileNodeImpl File Node}' class. + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.FileNodeImpl + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.Xpand3nodePackageImpl#getFileNode() + * @generated + */ + EClass FILE_NODE = eINSTANCE.getFileNode(); + + /** + * The meta object literal for the 'Decl' reference list feature. + * + * + * @generated + */ + EReference FILE_NODE__DECL = eINSTANCE.getFileNode_Decl(); + + /** + * The meta object literal for the 'Imp' reference list feature. + * + * + * @generated + */ + EReference FILE_NODE__IMP = eINSTANCE.getFileNode_Imp(); + + /** + * The meta object literal for the '{@link org.eclipse.xpand3.internal.parser.xpand3node.impl.NsImportNodeImpl Ns Import Node}' class. + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.NsImportNodeImpl + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.Xpand3nodePackageImpl#getNsImportNode() + * @generated + */ + EClass NS_IMPORT_NODE = eINSTANCE.getNsImportNode(); + + /** + * The meta object literal for the 'Ns' reference feature. + * + * + * @generated + */ + EReference NS_IMPORT_NODE__NS = eINSTANCE.getNsImportNode_Ns(); + + /** + * The meta object literal for the '{@link org.eclipse.xpand3.internal.parser.xpand3node.impl.DefinitionNodeImpl Definition Node}' class. + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.DefinitionNodeImpl + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.Xpand3nodePackageImpl#getDefinitionNode() + * @generated + */ + EClass DEFINITION_NODE = eINSTANCE.getDefinitionNode(); + + /** + * The meta object literal for the 'Name' reference feature. + * + * + * @generated + */ + EReference DEFINITION_NODE__NAME = eINSTANCE.getDefinitionNode_Name(); + + /** + * The meta object literal for the '{@link org.eclipse.xpand3.internal.parser.xpand3node.impl.DefinitionAroundNodeImpl Definition Around Node}' class. + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.DefinitionAroundNodeImpl + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.Xpand3nodePackageImpl#getDefinitionAroundNode() + * @generated + */ + EClass DEFINITION_AROUND_NODE = eINSTANCE.getDefinitionAroundNode(); + + /** + * The meta object literal for the '{@link org.eclipse.xpand3.internal.parser.xpand3node.impl.SequenceNodeImpl Sequence Node}' class. + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.SequenceNodeImpl + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.Xpand3nodePackageImpl#getSequenceNode() + * @generated + */ + EClass SEQUENCE_NODE = eINSTANCE.getSequenceNode(); + + /** + * The meta object literal for the '{@link org.eclipse.xpand3.internal.parser.xpand3node.impl.TextSequenceNodeImpl Text Sequence Node}' class. + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.TextSequenceNodeImpl + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.Xpand3nodePackageImpl#getTextSequenceNode() + * @generated + */ + EClass TEXT_SEQUENCE_NODE = eINSTANCE.getTextSequenceNode(); + + /** + * The meta object literal for the '{@link org.eclipse.xpand3.internal.parser.xpand3node.impl.TextNodeImpl Text Node}' class. + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.TextNodeImpl + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.Xpand3nodePackageImpl#getTextNode() + * @generated + */ + EClass TEXT_NODE = eINSTANCE.getTextNode(); + + /** + * The meta object literal for the '{@link org.eclipse.xpand3.internal.parser.xpand3node.impl.ErrorStatementNodeImpl Error Statement Node}' class. + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.ErrorStatementNodeImpl + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.Xpand3nodePackageImpl#getErrorStatementNode() + * @generated + */ + EClass ERROR_STATEMENT_NODE = eINSTANCE.getErrorStatementNode(); + + /** + * The meta object literal for the '{@link org.eclipse.xpand3.internal.parser.xpand3node.impl.ExpandStatementNodeImpl Expand Statement Node}' class. + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.ExpandStatementNodeImpl + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.Xpand3nodePackageImpl#getExpandStatementNode() + * @generated + */ + EClass EXPAND_STATEMENT_NODE = eINSTANCE.getExpandStatementNode(); + + /** + * The meta object literal for the '{@link org.eclipse.xpand3.internal.parser.xpand3node.impl.ExpressionStmtNodeImpl Expression Stmt Node}' class. + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.ExpressionStmtNodeImpl + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.Xpand3nodePackageImpl#getExpressionStmtNode() + * @generated + */ + EClass EXPRESSION_STMT_NODE = eINSTANCE.getExpressionStmtNode(); + + /** + * The meta object literal for the '{@link org.eclipse.xpand3.internal.parser.xpand3node.impl.FileStatementNodeImpl File Statement Node}' class. + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.FileStatementNodeImpl + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.Xpand3nodePackageImpl#getFileStatementNode() + * @generated + */ + EClass FILE_STATEMENT_NODE = eINSTANCE.getFileStatementNode(); + + /** + * The meta object literal for the '{@link org.eclipse.xpand3.internal.parser.xpand3node.impl.ForeachStatementNodeImpl Foreach Statement Node}' class. + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.ForeachStatementNodeImpl + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.Xpand3nodePackageImpl#getForeachStatementNode() + * @generated + */ + EClass FOREACH_STATEMENT_NODE = eINSTANCE.getForeachStatementNode(); + + /** + * The meta object literal for the '{@link org.eclipse.xpand3.internal.parser.xpand3node.impl.IfStatementNodeImpl If Statement Node}' class. + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.IfStatementNodeImpl + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.Xpand3nodePackageImpl#getIfStatementNode() + * @generated + */ + EClass IF_STATEMENT_NODE = eINSTANCE.getIfStatementNode(); + + /** + * The meta object literal for the '{@link org.eclipse.xpand3.internal.parser.xpand3node.impl.ElseIfStatementNodeImpl Else If Statement Node}' class. + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.ElseIfStatementNodeImpl + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.Xpand3nodePackageImpl#getElseIfStatementNode() + * @generated + */ + EClass ELSE_IF_STATEMENT_NODE = eINSTANCE.getElseIfStatementNode(); + + /** + * The meta object literal for the '{@link org.eclipse.xpand3.internal.parser.xpand3node.impl.ElseStatementNodeImpl Else Statement Node}' class. + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.ElseStatementNodeImpl + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.Xpand3nodePackageImpl#getElseStatementNode() + * @generated + */ + EClass ELSE_STATEMENT_NODE = eINSTANCE.getElseStatementNode(); + + /** + * The meta object literal for the '{@link org.eclipse.xpand3.internal.parser.xpand3node.impl.LetStatementNodeImpl Let Statement Node}' class. + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.LetStatementNodeImpl + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.Xpand3nodePackageImpl#getLetStatementNode() + * @generated + */ + EClass LET_STATEMENT_NODE = eINSTANCE.getLetStatementNode(); + + /** + * The meta object literal for the '{@link org.eclipse.xpand3.internal.parser.xpand3node.impl.ProtectStatementNodeImpl Protect Statement Node}' class. + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.ProtectStatementNodeImpl + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.Xpand3nodePackageImpl#getProtectStatementNode() + * @generated + */ + EClass PROTECT_STATEMENT_NODE = eINSTANCE.getProtectStatementNode(); + + /** + * The meta object literal for the '{@link org.eclipse.xpand3.internal.parser.xpand3node.impl.CheckNodeImpl Check Node}' class. + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.CheckNodeImpl + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.Xpand3nodePackageImpl#getCheckNode() + * @generated + */ + EClass CHECK_NODE = eINSTANCE.getCheckNode(); + + /** + * The meta object literal for the '{@link org.eclipse.xpand3.internal.parser.xpand3node.impl.AroundNodeImpl Around Node}' class. + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.AroundNodeImpl + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.Xpand3nodePackageImpl#getAroundNode() + * @generated + */ + EClass AROUND_NODE = eINSTANCE.getAroundNode(); + + /** + * The meta object literal for the '{@link org.eclipse.xpand3.internal.parser.xpand3node.impl.PointcutNodeImpl Pointcut Node}' class. + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.PointcutNodeImpl + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.Xpand3nodePackageImpl#getPointcutNode() + * @generated + */ + EClass POINTCUT_NODE = eINSTANCE.getPointcutNode(); + + /** + * The meta object literal for the '{@link org.eclipse.xpand3.internal.parser.xpand3node.impl.ExtensionNodeImpl Extension Node}' class. + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.ExtensionNodeImpl + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.Xpand3nodePackageImpl#getExtensionNode() + * @generated + */ + EClass EXTENSION_NODE = eINSTANCE.getExtensionNode(); + + /** + * The meta object literal for the '{@link org.eclipse.xpand3.internal.parser.xpand3node.impl.JavaTypeNodeImpl Java Type Node}' class. + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.JavaTypeNodeImpl + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.Xpand3nodePackageImpl#getJavaTypeNode() + * @generated + */ + EClass JAVA_TYPE_NODE = eINSTANCE.getJavaTypeNode(); + + /** + * The meta object literal for the '{@link org.eclipse.xpand3.internal.parser.xpand3node.impl.Test_expressionNodeImpl Test expression Node}' class. + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.Test_expressionNodeImpl + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.Xpand3nodePackageImpl#getTest_expressionNode() + * @generated + */ + EClass TEST_EXPRESSION_NODE = eINSTANCE.getTest_expressionNode(); + + /** + * The meta object literal for the '{@link org.eclipse.xpand3.internal.parser.xpand3node.impl.ExpressionNodeImpl Expression Node}' class. + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.ExpressionNodeImpl + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.Xpand3nodePackageImpl#getExpressionNode() + * @generated + */ + EClass EXPRESSION_NODE = eINSTANCE.getExpressionNode(); + + /** + * The meta object literal for the '{@link org.eclipse.xpand3.internal.parser.xpand3node.impl.LetExpressionNodeImpl Let Expression Node}' class. + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.LetExpressionNodeImpl + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.Xpand3nodePackageImpl#getLetExpressionNode() + * @generated + */ + EClass LET_EXPRESSION_NODE = eINSTANCE.getLetExpressionNode(); + + /** + * The meta object literal for the '{@link org.eclipse.xpand3.internal.parser.xpand3node.impl.CastedExpressionNodeImpl Casted Expression Node}' class. + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.CastedExpressionNodeImpl + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.Xpand3nodePackageImpl#getCastedExpressionNode() + * @generated + */ + EClass CASTED_EXPRESSION_NODE = eINSTANCE.getCastedExpressionNode(); + + /** + * The meta object literal for the '{@link org.eclipse.xpand3.internal.parser.xpand3node.impl.ChainExpressionNodeImpl Chain Expression Node}' class. + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.ChainExpressionNodeImpl + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.Xpand3nodePackageImpl#getChainExpressionNode() + * @generated + */ + EClass CHAIN_EXPRESSION_NODE = eINSTANCE.getChainExpressionNode(); + + /** + * The meta object literal for the '{@link org.eclipse.xpand3.internal.parser.xpand3node.impl.IfExpressionNodeImpl If Expression Node}' class. + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.IfExpressionNodeImpl + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.Xpand3nodePackageImpl#getIfExpressionNode() + * @generated + */ + EClass IF_EXPRESSION_NODE = eINSTANCE.getIfExpressionNode(); + + /** + * The meta object literal for the '{@link org.eclipse.xpand3.internal.parser.xpand3node.impl.SwitchExpressionNodeImpl Switch Expression Node}' class. + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.SwitchExpressionNodeImpl + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.Xpand3nodePackageImpl#getSwitchExpressionNode() + * @generated + */ + EClass SWITCH_EXPRESSION_NODE = eINSTANCE.getSwitchExpressionNode(); + + /** + * The meta object literal for the '{@link org.eclipse.xpand3.internal.parser.xpand3node.impl.CasePartNodeImpl Case Part Node}' class. + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.CasePartNodeImpl + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.Xpand3nodePackageImpl#getCasePartNode() + * @generated + */ + EClass CASE_PART_NODE = eINSTANCE.getCasePartNode(); + + /** + * The meta object literal for the '{@link org.eclipse.xpand3.internal.parser.xpand3node.impl.OrExpressionNodeImpl Or Expression Node}' class. + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.OrExpressionNodeImpl + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.Xpand3nodePackageImpl#getOrExpressionNode() + * @generated + */ + EClass OR_EXPRESSION_NODE = eINSTANCE.getOrExpressionNode(); + + /** + * The meta object literal for the '{@link org.eclipse.xpand3.internal.parser.xpand3node.impl.AndExpressionNodeImpl And Expression Node}' class. + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.AndExpressionNodeImpl + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.Xpand3nodePackageImpl#getAndExpressionNode() + * @generated + */ + EClass AND_EXPRESSION_NODE = eINSTANCE.getAndExpressionNode(); + + /** + * The meta object literal for the '{@link org.eclipse.xpand3.internal.parser.xpand3node.impl.ImpliesExpressionNodeImpl Implies Expression Node}' class. + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.ImpliesExpressionNodeImpl + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.Xpand3nodePackageImpl#getImpliesExpressionNode() + * @generated + */ + EClass IMPLIES_EXPRESSION_NODE = eINSTANCE.getImpliesExpressionNode(); + + /** + * The meta object literal for the '{@link org.eclipse.xpand3.internal.parser.xpand3node.impl.RelationalExpressionNodeImpl Relational Expression Node}' class. + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.RelationalExpressionNodeImpl + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.Xpand3nodePackageImpl#getRelationalExpressionNode() + * @generated + */ + EClass RELATIONAL_EXPRESSION_NODE = eINSTANCE.getRelationalExpressionNode(); + + /** + * The meta object literal for the '{@link org.eclipse.xpand3.internal.parser.xpand3node.impl.AdditiveExpressionNodeImpl Additive Expression Node}' class. + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.AdditiveExpressionNodeImpl + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.Xpand3nodePackageImpl#getAdditiveExpressionNode() + * @generated + */ + EClass ADDITIVE_EXPRESSION_NODE = eINSTANCE.getAdditiveExpressionNode(); + + /** + * The meta object literal for the '{@link org.eclipse.xpand3.internal.parser.xpand3node.impl.MultiplicativeExpressionNodeImpl Multiplicative Expression Node}' class. + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.MultiplicativeExpressionNodeImpl + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.Xpand3nodePackageImpl#getMultiplicativeExpressionNode() + * @generated + */ + EClass MULTIPLICATIVE_EXPRESSION_NODE = eINSTANCE.getMultiplicativeExpressionNode(); + + /** + * The meta object literal for the '{@link org.eclipse.xpand3.internal.parser.xpand3node.impl.UnaryExpressionNodeImpl Unary Expression Node}' class. + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.UnaryExpressionNodeImpl + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.Xpand3nodePackageImpl#getUnaryExpressionNode() + * @generated + */ + EClass UNARY_EXPRESSION_NODE = eINSTANCE.getUnaryExpressionNode(); + + /** + * The meta object literal for the '{@link org.eclipse.xpand3.internal.parser.xpand3node.impl.InfixExpressionNodeImpl Infix Expression Node}' class. + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.InfixExpressionNodeImpl + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.Xpand3nodePackageImpl#getInfixExpressionNode() + * @generated + */ + EClass INFIX_EXPRESSION_NODE = eINSTANCE.getInfixExpressionNode(); + + /** + * The meta object literal for the '{@link org.eclipse.xpand3.internal.parser.xpand3node.impl.StringLiteralNodeImpl String Literal Node}' class. + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.StringLiteralNodeImpl + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.Xpand3nodePackageImpl#getStringLiteralNode() + * @generated + */ + EClass STRING_LITERAL_NODE = eINSTANCE.getStringLiteralNode(); + + /** + * The meta object literal for the '{@link org.eclipse.xpand3.internal.parser.xpand3node.impl.ParanthesizedExpressionNodeImpl Paranthesized Expression Node}' class. + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.ParanthesizedExpressionNodeImpl + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.Xpand3nodePackageImpl#getParanthesizedExpressionNode() + * @generated + */ + EClass PARANTHESIZED_EXPRESSION_NODE = eINSTANCE.getParanthesizedExpressionNode(); + + /** + * The meta object literal for the '{@link org.eclipse.xpand3.internal.parser.xpand3node.impl.GlobalVarExpressionNodeImpl Global Var Expression Node}' class. + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.GlobalVarExpressionNodeImpl + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.Xpand3nodePackageImpl#getGlobalVarExpressionNode() + * @generated + */ + EClass GLOBAL_VAR_EXPRESSION_NODE = eINSTANCE.getGlobalVarExpressionNode(); + + /** + * The meta object literal for the '{@link org.eclipse.xpand3.internal.parser.xpand3node.impl.FeatureCallNodeImpl Feature Call Node}' class. + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.FeatureCallNodeImpl + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.Xpand3nodePackageImpl#getFeatureCallNode() + * @generated + */ + EClass FEATURE_CALL_NODE = eINSTANCE.getFeatureCallNode(); + + /** + * The meta object literal for the '{@link org.eclipse.xpand3.internal.parser.xpand3node.impl.ListLiteralNodeImpl List Literal Node}' class. + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.ListLiteralNodeImpl + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.Xpand3nodePackageImpl#getListLiteralNode() + * @generated + */ + EClass LIST_LITERAL_NODE = eINSTANCE.getListLiteralNode(); + + /** + * The meta object literal for the '{@link org.eclipse.xpand3.internal.parser.xpand3node.impl.ConstructorCallNodeImpl Constructor Call Node}' class. + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.ConstructorCallNodeImpl + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.Xpand3nodePackageImpl#getConstructorCallNode() + * @generated + */ + EClass CONSTRUCTOR_CALL_NODE = eINSTANCE.getConstructorCallNode(); + + /** + * The meta object literal for the '{@link org.eclipse.xpand3.internal.parser.xpand3node.impl.BooleanLiteralNodeImpl Boolean Literal Node}' class. + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.BooleanLiteralNodeImpl + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.Xpand3nodePackageImpl#getBooleanLiteralNode() + * @generated + */ + EClass BOOLEAN_LITERAL_NODE = eINSTANCE.getBooleanLiteralNode(); + + /** + * The meta object literal for the '{@link org.eclipse.xpand3.internal.parser.xpand3node.impl.NullLiteralNodeImpl Null Literal Node}' class. + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.NullLiteralNodeImpl + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.Xpand3nodePackageImpl#getNullLiteralNode() + * @generated + */ + EClass NULL_LITERAL_NODE = eINSTANCE.getNullLiteralNode(); + + /** + * The meta object literal for the '{@link org.eclipse.xpand3.internal.parser.xpand3node.impl.NumberLiteralNodeImpl Number Literal Node}' class. + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.NumberLiteralNodeImpl + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.Xpand3nodePackageImpl#getNumberLiteralNode() + * @generated + */ + EClass NUMBER_LITERAL_NODE = eINSTANCE.getNumberLiteralNode(); + + /** + * The meta object literal for the '{@link org.eclipse.xpand3.internal.parser.xpand3node.impl.CollectionExpressionNodeImpl Collection Expression Node}' class. + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.CollectionExpressionNodeImpl + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.Xpand3nodePackageImpl#getCollectionExpressionNode() + * @generated + */ + EClass COLLECTION_EXPRESSION_NODE = eINSTANCE.getCollectionExpressionNode(); + + /** + * The meta object literal for the '{@link org.eclipse.xpand3.internal.parser.xpand3node.impl.DeclaredParameterListNodeImpl Declared Parameter List Node}' class. + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.DeclaredParameterListNodeImpl + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.Xpand3nodePackageImpl#getDeclaredParameterListNode() + * @generated + */ + EClass DECLARED_PARAMETER_LIST_NODE = eINSTANCE.getDeclaredParameterListNode(); + + /** + * The meta object literal for the '{@link org.eclipse.xpand3.internal.parser.xpand3node.impl.DeclaredParameterNodeImpl Declared Parameter Node}' class. + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.DeclaredParameterNodeImpl + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.Xpand3nodePackageImpl#getDeclaredParameterNode() + * @generated + */ + EClass DECLARED_PARAMETER_NODE = eINSTANCE.getDeclaredParameterNode(); + + /** + * The meta object literal for the '{@link org.eclipse.xpand3.internal.parser.xpand3node.impl.ParameterListNodeImpl Parameter List Node}' class. + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.ParameterListNodeImpl + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.Xpand3nodePackageImpl#getParameterListNode() + * @generated + */ + EClass PARAMETER_LIST_NODE = eINSTANCE.getParameterListNode(); + + /** + * The meta object literal for the '{@link org.eclipse.xpand3.internal.parser.xpand3node.impl.CollectionTypeNodeImpl Collection Type Node}' class. + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.CollectionTypeNodeImpl + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.Xpand3nodePackageImpl#getCollectionTypeNode() + * @generated + */ + EClass COLLECTION_TYPE_NODE = eINSTANCE.getCollectionTypeNode(); + + /** + * The meta object literal for the '{@link org.eclipse.xpand3.internal.parser.xpand3node.impl.SimpleTypeNodeImpl Simple Type Node}' class. + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.SimpleTypeNodeImpl + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.Xpand3nodePackageImpl#getSimpleTypeNode() + * @generated + */ + EClass SIMPLE_TYPE_NODE = eINSTANCE.getSimpleTypeNode(); + + /** + * The meta object literal for the '{@link org.eclipse.xpand3.internal.parser.xpand3node.impl.IdentifierNodeImpl Identifier Node}' class. + * + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.IdentifierNodeImpl + * @see org.eclipse.xpand3.internal.parser.xpand3node.impl.Xpand3nodePackageImpl#getIdentifierNode() + * @generated + */ + EClass IDENTIFIER_NODE = eINSTANCE.getIdentifierNode(); + + } + +} //Xpand3nodePackage diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/AdditiveExpressionNodeImpl.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/AdditiveExpressionNodeImpl.java new file mode 100644 index 00000000..94c5e49e --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/AdditiveExpressionNodeImpl.java @@ -0,0 +1,45 @@ +/** + * + * + * + * $Id: AdditiveExpressionNodeImpl.java,v 1.1 2008/03/06 08:55:16 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node.impl; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.tmf.common.node.impl.CompositeNodeImpl; + +import org.eclipse.xpand3.internal.parser.xpand3node.AdditiveExpressionNode; +import org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage; + +/** + * + * An implementation of the model object 'Additive Expression Node'. + * + *

+ *

+ * + * @generated + */ +public class AdditiveExpressionNodeImpl extends CompositeNodeImpl implements AdditiveExpressionNode { + /** + * + * + * @generated + */ + protected AdditiveExpressionNodeImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return Xpand3nodePackage.Literals.ADDITIVE_EXPRESSION_NODE; + } + +} //AdditiveExpressionNodeImpl diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/AndExpressionNodeImpl.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/AndExpressionNodeImpl.java new file mode 100644 index 00000000..78af3fdc --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/AndExpressionNodeImpl.java @@ -0,0 +1,45 @@ +/** + * + * + * + * $Id: AndExpressionNodeImpl.java,v 1.1 2008/03/06 08:55:15 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node.impl; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.tmf.common.node.impl.CompositeNodeImpl; + +import org.eclipse.xpand3.internal.parser.xpand3node.AndExpressionNode; +import org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage; + +/** + * + * An implementation of the model object 'And Expression Node'. + * + *

+ *

+ * + * @generated + */ +public class AndExpressionNodeImpl extends CompositeNodeImpl implements AndExpressionNode { + /** + * + * + * @generated + */ + protected AndExpressionNodeImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return Xpand3nodePackage.Literals.AND_EXPRESSION_NODE; + } + +} //AndExpressionNodeImpl diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/AroundNodeImpl.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/AroundNodeImpl.java new file mode 100644 index 00000000..2552aebd --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/AroundNodeImpl.java @@ -0,0 +1,45 @@ +/** + * + * + * + * $Id: AroundNodeImpl.java,v 1.1 2008/03/06 08:55:16 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node.impl; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.tmf.common.node.impl.CompositeNodeImpl; + +import org.eclipse.xpand3.internal.parser.xpand3node.AroundNode; +import org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage; + +/** + * + * An implementation of the model object 'Around Node'. + * + *

+ *

+ * + * @generated + */ +public class AroundNodeImpl extends CompositeNodeImpl implements AroundNode { + /** + * + * + * @generated + */ + protected AroundNodeImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return Xpand3nodePackage.Literals.AROUND_NODE; + } + +} //AroundNodeImpl diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/BooleanLiteralNodeImpl.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/BooleanLiteralNodeImpl.java new file mode 100644 index 00000000..3574bf28 --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/BooleanLiteralNodeImpl.java @@ -0,0 +1,45 @@ +/** + * + * + * + * $Id: BooleanLiteralNodeImpl.java,v 1.1 2008/03/06 08:55:16 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node.impl; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.tmf.common.node.impl.CompositeNodeImpl; + +import org.eclipse.xpand3.internal.parser.xpand3node.BooleanLiteralNode; +import org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage; + +/** + * + * An implementation of the model object 'Boolean Literal Node'. + * + *

+ *

+ * + * @generated + */ +public class BooleanLiteralNodeImpl extends CompositeNodeImpl implements BooleanLiteralNode { + /** + * + * + * @generated + */ + protected BooleanLiteralNodeImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return Xpand3nodePackage.Literals.BOOLEAN_LITERAL_NODE; + } + +} //BooleanLiteralNodeImpl diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/CasePartNodeImpl.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/CasePartNodeImpl.java new file mode 100644 index 00000000..1f0f0dee --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/CasePartNodeImpl.java @@ -0,0 +1,45 @@ +/** + * + * + * + * $Id: CasePartNodeImpl.java,v 1.1 2008/03/06 08:55:16 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node.impl; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.tmf.common.node.impl.CompositeNodeImpl; + +import org.eclipse.xpand3.internal.parser.xpand3node.CasePartNode; +import org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage; + +/** + * + * An implementation of the model object 'Case Part Node'. + * + *

+ *

+ * + * @generated + */ +public class CasePartNodeImpl extends CompositeNodeImpl implements CasePartNode { + /** + * + * + * @generated + */ + protected CasePartNodeImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return Xpand3nodePackage.Literals.CASE_PART_NODE; + } + +} //CasePartNodeImpl diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/CastedExpressionNodeImpl.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/CastedExpressionNodeImpl.java new file mode 100644 index 00000000..15624860 --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/CastedExpressionNodeImpl.java @@ -0,0 +1,45 @@ +/** + * + * + * + * $Id: CastedExpressionNodeImpl.java,v 1.1 2008/03/06 08:55:16 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node.impl; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.tmf.common.node.impl.CompositeNodeImpl; + +import org.eclipse.xpand3.internal.parser.xpand3node.CastedExpressionNode; +import org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage; + +/** + * + * An implementation of the model object 'Casted Expression Node'. + * + *

+ *

+ * + * @generated + */ +public class CastedExpressionNodeImpl extends CompositeNodeImpl implements CastedExpressionNode { + /** + * + * + * @generated + */ + protected CastedExpressionNodeImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return Xpand3nodePackage.Literals.CASTED_EXPRESSION_NODE; + } + +} //CastedExpressionNodeImpl diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/ChainExpressionNodeImpl.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/ChainExpressionNodeImpl.java new file mode 100644 index 00000000..c851cb9f --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/ChainExpressionNodeImpl.java @@ -0,0 +1,45 @@ +/** + * + * + * + * $Id: ChainExpressionNodeImpl.java,v 1.1 2008/03/06 08:55:16 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node.impl; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.tmf.common.node.impl.CompositeNodeImpl; + +import org.eclipse.xpand3.internal.parser.xpand3node.ChainExpressionNode; +import org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage; + +/** + * + * An implementation of the model object 'Chain Expression Node'. + * + *

+ *

+ * + * @generated + */ +public class ChainExpressionNodeImpl extends CompositeNodeImpl implements ChainExpressionNode { + /** + * + * + * @generated + */ + protected ChainExpressionNodeImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return Xpand3nodePackage.Literals.CHAIN_EXPRESSION_NODE; + } + +} //ChainExpressionNodeImpl diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/CheckNodeImpl.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/CheckNodeImpl.java new file mode 100644 index 00000000..a1c4a5d9 --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/CheckNodeImpl.java @@ -0,0 +1,45 @@ +/** + * + * + * + * $Id: CheckNodeImpl.java,v 1.1 2008/03/06 08:55:16 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node.impl; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.tmf.common.node.impl.CompositeNodeImpl; + +import org.eclipse.xpand3.internal.parser.xpand3node.CheckNode; +import org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage; + +/** + * + * An implementation of the model object 'Check Node'. + * + *

+ *

+ * + * @generated + */ +public class CheckNodeImpl extends CompositeNodeImpl implements CheckNode { + /** + * + * + * @generated + */ + protected CheckNodeImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return Xpand3nodePackage.Literals.CHECK_NODE; + } + +} //CheckNodeImpl diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/CollectionExpressionNodeImpl.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/CollectionExpressionNodeImpl.java new file mode 100644 index 00000000..d6141f48 --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/CollectionExpressionNodeImpl.java @@ -0,0 +1,45 @@ +/** + * + * + * + * $Id: CollectionExpressionNodeImpl.java,v 1.1 2008/03/06 08:55:16 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node.impl; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.tmf.common.node.impl.CompositeNodeImpl; + +import org.eclipse.xpand3.internal.parser.xpand3node.CollectionExpressionNode; +import org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage; + +/** + * + * An implementation of the model object 'Collection Expression Node'. + * + *

+ *

+ * + * @generated + */ +public class CollectionExpressionNodeImpl extends CompositeNodeImpl implements CollectionExpressionNode { + /** + * + * + * @generated + */ + protected CollectionExpressionNodeImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return Xpand3nodePackage.Literals.COLLECTION_EXPRESSION_NODE; + } + +} //CollectionExpressionNodeImpl diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/CollectionTypeNodeImpl.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/CollectionTypeNodeImpl.java new file mode 100644 index 00000000..faed79c5 --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/CollectionTypeNodeImpl.java @@ -0,0 +1,45 @@ +/** + * + * + * + * $Id: CollectionTypeNodeImpl.java,v 1.1 2008/03/06 08:55:16 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node.impl; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.tmf.common.node.impl.CompositeNodeImpl; + +import org.eclipse.xpand3.internal.parser.xpand3node.CollectionTypeNode; +import org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage; + +/** + * + * An implementation of the model object 'Collection Type Node'. + * + *

+ *

+ * + * @generated + */ +public class CollectionTypeNodeImpl extends CompositeNodeImpl implements CollectionTypeNode { + /** + * + * + * @generated + */ + protected CollectionTypeNodeImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return Xpand3nodePackage.Literals.COLLECTION_TYPE_NODE; + } + +} //CollectionTypeNodeImpl diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/ConstructorCallNodeImpl.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/ConstructorCallNodeImpl.java new file mode 100644 index 00000000..22252452 --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/ConstructorCallNodeImpl.java @@ -0,0 +1,45 @@ +/** + * + * + * + * $Id: ConstructorCallNodeImpl.java,v 1.1 2008/03/06 08:55:16 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node.impl; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.tmf.common.node.impl.CompositeNodeImpl; + +import org.eclipse.xpand3.internal.parser.xpand3node.ConstructorCallNode; +import org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage; + +/** + * + * An implementation of the model object 'Constructor Call Node'. + * + *

+ *

+ * + * @generated + */ +public class ConstructorCallNodeImpl extends CompositeNodeImpl implements ConstructorCallNode { + /** + * + * + * @generated + */ + protected ConstructorCallNodeImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return Xpand3nodePackage.Literals.CONSTRUCTOR_CALL_NODE; + } + +} //ConstructorCallNodeImpl diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/DeclaredParameterListNodeImpl.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/DeclaredParameterListNodeImpl.java new file mode 100644 index 00000000..eea3112e --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/DeclaredParameterListNodeImpl.java @@ -0,0 +1,45 @@ +/** + * + * + * + * $Id: DeclaredParameterListNodeImpl.java,v 1.1 2008/03/06 08:55:16 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node.impl; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.tmf.common.node.impl.CompositeNodeImpl; + +import org.eclipse.xpand3.internal.parser.xpand3node.DeclaredParameterListNode; +import org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage; + +/** + * + * An implementation of the model object 'Declared Parameter List Node'. + * + *

+ *

+ * + * @generated + */ +public class DeclaredParameterListNodeImpl extends CompositeNodeImpl implements DeclaredParameterListNode { + /** + * + * + * @generated + */ + protected DeclaredParameterListNodeImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return Xpand3nodePackage.Literals.DECLARED_PARAMETER_LIST_NODE; + } + +} //DeclaredParameterListNodeImpl diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/DeclaredParameterNodeImpl.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/DeclaredParameterNodeImpl.java new file mode 100644 index 00000000..9a7886e9 --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/DeclaredParameterNodeImpl.java @@ -0,0 +1,45 @@ +/** + * + * + * + * $Id: DeclaredParameterNodeImpl.java,v 1.1 2008/03/06 08:55:16 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node.impl; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.tmf.common.node.impl.CompositeNodeImpl; + +import org.eclipse.xpand3.internal.parser.xpand3node.DeclaredParameterNode; +import org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage; + +/** + * + * An implementation of the model object 'Declared Parameter Node'. + * + *

+ *

+ * + * @generated + */ +public class DeclaredParameterNodeImpl extends CompositeNodeImpl implements DeclaredParameterNode { + /** + * + * + * @generated + */ + protected DeclaredParameterNodeImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return Xpand3nodePackage.Literals.DECLARED_PARAMETER_NODE; + } + +} //DeclaredParameterNodeImpl diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/DefinitionAroundNodeImpl.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/DefinitionAroundNodeImpl.java new file mode 100644 index 00000000..f9d05efc --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/DefinitionAroundNodeImpl.java @@ -0,0 +1,45 @@ +/** + * + * + * + * $Id: DefinitionAroundNodeImpl.java,v 1.1 2008/03/06 08:55:15 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node.impl; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.tmf.common.node.impl.CompositeNodeImpl; + +import org.eclipse.xpand3.internal.parser.xpand3node.DefinitionAroundNode; +import org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage; + +/** + * + * An implementation of the model object 'Definition Around Node'. + * + *

+ *

+ * + * @generated + */ +public class DefinitionAroundNodeImpl extends CompositeNodeImpl implements DefinitionAroundNode { + /** + * + * + * @generated + */ + protected DefinitionAroundNodeImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return Xpand3nodePackage.Literals.DEFINITION_AROUND_NODE; + } + +} //DefinitionAroundNodeImpl diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/DefinitionNodeImpl.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/DefinitionNodeImpl.java new file mode 100644 index 00000000..e3beb3e5 --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/DefinitionNodeImpl.java @@ -0,0 +1,163 @@ +/** + * + * + * + * $Id: DefinitionNodeImpl.java,v 1.1 2008/03/06 08:55:16 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node.impl; + +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +import org.eclipse.tmf.common.node.CompositeNode; + +import org.eclipse.tmf.common.node.impl.CompositeNodeImpl; + +import org.eclipse.xpand3.internal.parser.xpand3node.DefinitionNode; +import org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage; + +/** + * + * An implementation of the model object 'Definition Node'. + * + *

+ * The following features are implemented: + *

+ *

+ * + * @generated + */ +public class DefinitionNodeImpl extends CompositeNodeImpl implements DefinitionNode { + /** + * The cached value of the '{@link #getName() Name}' reference. + * + * + * @see #getName() + * @generated + * @ordered + */ + protected CompositeNode name; + + /** + * + * + * @generated + */ + protected DefinitionNodeImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return Xpand3nodePackage.Literals.DEFINITION_NODE; + } + + /** + * + * + * @generated + */ + public CompositeNode getName() { + if (name != null && name.eIsProxy()) { + InternalEObject oldName = (InternalEObject)name; + name = (CompositeNode)eResolveProxy(oldName); + if (name != oldName) { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, Xpand3nodePackage.DEFINITION_NODE__NAME, oldName, name)); + } + } + return name; + } + + /** + * + * + * @generated + */ + public CompositeNode basicGetName() { + return name; + } + + /** + * + * + * @generated + */ + public void setName(CompositeNode newName) { + CompositeNode oldName = name; + name = newName; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, Xpand3nodePackage.DEFINITION_NODE__NAME, oldName, name)); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case Xpand3nodePackage.DEFINITION_NODE__NAME: + if (resolve) return getName(); + return basicGetName(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case Xpand3nodePackage.DEFINITION_NODE__NAME: + setName((CompositeNode)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case Xpand3nodePackage.DEFINITION_NODE__NAME: + setName((CompositeNode)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case Xpand3nodePackage.DEFINITION_NODE__NAME: + return name != null; + } + return super.eIsSet(featureID); + } + +} //DefinitionNodeImpl diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/ElseIfStatementNodeImpl.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/ElseIfStatementNodeImpl.java new file mode 100644 index 00000000..81a3a2d9 --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/ElseIfStatementNodeImpl.java @@ -0,0 +1,45 @@ +/** + * + * + * + * $Id: ElseIfStatementNodeImpl.java,v 1.1 2008/03/06 08:55:16 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node.impl; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.tmf.common.node.impl.CompositeNodeImpl; + +import org.eclipse.xpand3.internal.parser.xpand3node.ElseIfStatementNode; +import org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage; + +/** + * + * An implementation of the model object 'Else If Statement Node'. + * + *

+ *

+ * + * @generated + */ +public class ElseIfStatementNodeImpl extends CompositeNodeImpl implements ElseIfStatementNode { + /** + * + * + * @generated + */ + protected ElseIfStatementNodeImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return Xpand3nodePackage.Literals.ELSE_IF_STATEMENT_NODE; + } + +} //ElseIfStatementNodeImpl diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/ElseStatementNodeImpl.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/ElseStatementNodeImpl.java new file mode 100644 index 00000000..71627f4c --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/ElseStatementNodeImpl.java @@ -0,0 +1,45 @@ +/** + * + * + * + * $Id: ElseStatementNodeImpl.java,v 1.1 2008/03/06 08:55:16 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node.impl; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.tmf.common.node.impl.CompositeNodeImpl; + +import org.eclipse.xpand3.internal.parser.xpand3node.ElseStatementNode; +import org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage; + +/** + * + * An implementation of the model object 'Else Statement Node'. + * + *

+ *

+ * + * @generated + */ +public class ElseStatementNodeImpl extends CompositeNodeImpl implements ElseStatementNode { + /** + * + * + * @generated + */ + protected ElseStatementNodeImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return Xpand3nodePackage.Literals.ELSE_STATEMENT_NODE; + } + +} //ElseStatementNodeImpl diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/ErrorStatementNodeImpl.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/ErrorStatementNodeImpl.java new file mode 100644 index 00000000..0594aa10 --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/ErrorStatementNodeImpl.java @@ -0,0 +1,45 @@ +/** + * + * + * + * $Id: ErrorStatementNodeImpl.java,v 1.1 2008/03/06 08:55:16 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node.impl; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.tmf.common.node.impl.CompositeNodeImpl; + +import org.eclipse.xpand3.internal.parser.xpand3node.ErrorStatementNode; +import org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage; + +/** + * + * An implementation of the model object 'Error Statement Node'. + * + *

+ *

+ * + * @generated + */ +public class ErrorStatementNodeImpl extends CompositeNodeImpl implements ErrorStatementNode { + /** + * + * + * @generated + */ + protected ErrorStatementNodeImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return Xpand3nodePackage.Literals.ERROR_STATEMENT_NODE; + } + +} //ErrorStatementNodeImpl diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/ExpandStatementNodeImpl.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/ExpandStatementNodeImpl.java new file mode 100644 index 00000000..0caeb9b2 --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/ExpandStatementNodeImpl.java @@ -0,0 +1,45 @@ +/** + * + * + * + * $Id: ExpandStatementNodeImpl.java,v 1.1 2008/03/06 08:55:16 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node.impl; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.tmf.common.node.impl.CompositeNodeImpl; + +import org.eclipse.xpand3.internal.parser.xpand3node.ExpandStatementNode; +import org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage; + +/** + * + * An implementation of the model object 'Expand Statement Node'. + * + *

+ *

+ * + * @generated + */ +public class ExpandStatementNodeImpl extends CompositeNodeImpl implements ExpandStatementNode { + /** + * + * + * @generated + */ + protected ExpandStatementNodeImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return Xpand3nodePackage.Literals.EXPAND_STATEMENT_NODE; + } + +} //ExpandStatementNodeImpl diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/ExpressionNodeImpl.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/ExpressionNodeImpl.java new file mode 100644 index 00000000..e97f07e9 --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/ExpressionNodeImpl.java @@ -0,0 +1,45 @@ +/** + * + * + * + * $Id: ExpressionNodeImpl.java,v 1.1 2008/03/06 08:55:16 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node.impl; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.tmf.common.node.impl.CompositeNodeImpl; + +import org.eclipse.xpand3.internal.parser.xpand3node.ExpressionNode; +import org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage; + +/** + * + * An implementation of the model object 'Expression Node'. + * + *

+ *

+ * + * @generated + */ +public class ExpressionNodeImpl extends CompositeNodeImpl implements ExpressionNode { + /** + * + * + * @generated + */ + protected ExpressionNodeImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return Xpand3nodePackage.Literals.EXPRESSION_NODE; + } + +} //ExpressionNodeImpl diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/ExpressionStmtNodeImpl.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/ExpressionStmtNodeImpl.java new file mode 100644 index 00000000..6f205e7f --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/ExpressionStmtNodeImpl.java @@ -0,0 +1,45 @@ +/** + * + * + * + * $Id: ExpressionStmtNodeImpl.java,v 1.1 2008/03/06 08:55:16 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node.impl; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.tmf.common.node.impl.CompositeNodeImpl; + +import org.eclipse.xpand3.internal.parser.xpand3node.ExpressionStmtNode; +import org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage; + +/** + * + * An implementation of the model object 'Expression Stmt Node'. + * + *

+ *

+ * + * @generated + */ +public class ExpressionStmtNodeImpl extends CompositeNodeImpl implements ExpressionStmtNode { + /** + * + * + * @generated + */ + protected ExpressionStmtNodeImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return Xpand3nodePackage.Literals.EXPRESSION_STMT_NODE; + } + +} //ExpressionStmtNodeImpl diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/ExtensionNodeImpl.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/ExtensionNodeImpl.java new file mode 100644 index 00000000..560a405f --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/ExtensionNodeImpl.java @@ -0,0 +1,45 @@ +/** + * + * + * + * $Id: ExtensionNodeImpl.java,v 1.1 2008/03/06 08:55:16 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node.impl; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.tmf.common.node.impl.CompositeNodeImpl; + +import org.eclipse.xpand3.internal.parser.xpand3node.ExtensionNode; +import org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage; + +/** + * + * An implementation of the model object 'Extension Node'. + * + *

+ *

+ * + * @generated + */ +public class ExtensionNodeImpl extends CompositeNodeImpl implements ExtensionNode { + /** + * + * + * @generated + */ + protected ExtensionNodeImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return Xpand3nodePackage.Literals.EXTENSION_NODE; + } + +} //ExtensionNodeImpl diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/FeatureCallNodeImpl.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/FeatureCallNodeImpl.java new file mode 100644 index 00000000..3d769ae1 --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/FeatureCallNodeImpl.java @@ -0,0 +1,45 @@ +/** + * + * + * + * $Id: FeatureCallNodeImpl.java,v 1.1 2008/03/06 08:55:16 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node.impl; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.tmf.common.node.impl.CompositeNodeImpl; + +import org.eclipse.xpand3.internal.parser.xpand3node.FeatureCallNode; +import org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage; + +/** + * + * An implementation of the model object 'Feature Call Node'. + * + *

+ *

+ * + * @generated + */ +public class FeatureCallNodeImpl extends CompositeNodeImpl implements FeatureCallNode { + /** + * + * + * @generated + */ + protected FeatureCallNodeImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return Xpand3nodePackage.Literals.FEATURE_CALL_NODE; + } + +} //FeatureCallNodeImpl diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/FileNodeImpl.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/FileNodeImpl.java new file mode 100644 index 00000000..8e7d046b --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/FileNodeImpl.java @@ -0,0 +1,173 @@ +/** + * + * + * + * $Id: FileNodeImpl.java,v 1.1 2008/03/06 08:55:16 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node.impl; + +import java.util.Collection; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.emf.ecore.util.EObjectResolvingEList; + +import org.eclipse.tmf.common.node.CompositeNode; + +import org.eclipse.tmf.common.node.impl.CompositeNodeImpl; + +import org.eclipse.xpand3.internal.parser.xpand3node.FileNode; +import org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage; + +/** + * + * An implementation of the model object 'File Node'. + * + *

+ * The following features are implemented: + *

+ *

+ * + * @generated + */ +public class FileNodeImpl extends CompositeNodeImpl implements FileNode { + /** + * The cached value of the '{@link #getDecl() Decl}' reference list. + * + * + * @see #getDecl() + * @generated + * @ordered + */ + protected EList decl; + + /** + * The cached value of the '{@link #getImp() Imp}' reference list. + * + * + * @see #getImp() + * @generated + * @ordered + */ + protected EList imp; + + /** + * + * + * @generated + */ + protected FileNodeImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return Xpand3nodePackage.Literals.FILE_NODE; + } + + /** + * + * + * @generated + */ + public EList getDecl() { + if (decl == null) { + decl = new EObjectResolvingEList(CompositeNode.class, this, Xpand3nodePackage.FILE_NODE__DECL); + } + return decl; + } + + /** + * + * + * @generated + */ + public EList getImp() { + if (imp == null) { + imp = new EObjectResolvingEList(CompositeNode.class, this, Xpand3nodePackage.FILE_NODE__IMP); + } + return imp; + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case Xpand3nodePackage.FILE_NODE__DECL: + return getDecl(); + case Xpand3nodePackage.FILE_NODE__IMP: + return getImp(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case Xpand3nodePackage.FILE_NODE__DECL: + getDecl().clear(); + getDecl().addAll((Collection)newValue); + return; + case Xpand3nodePackage.FILE_NODE__IMP: + getImp().clear(); + getImp().addAll((Collection)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case Xpand3nodePackage.FILE_NODE__DECL: + getDecl().clear(); + return; + case Xpand3nodePackage.FILE_NODE__IMP: + getImp().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case Xpand3nodePackage.FILE_NODE__DECL: + return decl != null && !decl.isEmpty(); + case Xpand3nodePackage.FILE_NODE__IMP: + return imp != null && !imp.isEmpty(); + } + return super.eIsSet(featureID); + } + +} //FileNodeImpl diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/FileStatementNodeImpl.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/FileStatementNodeImpl.java new file mode 100644 index 00000000..d97975e6 --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/FileStatementNodeImpl.java @@ -0,0 +1,45 @@ +/** + * + * + * + * $Id: FileStatementNodeImpl.java,v 1.1 2008/03/06 08:55:16 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node.impl; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.tmf.common.node.impl.CompositeNodeImpl; + +import org.eclipse.xpand3.internal.parser.xpand3node.FileStatementNode; +import org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage; + +/** + * + * An implementation of the model object 'File Statement Node'. + * + *

+ *

+ * + * @generated + */ +public class FileStatementNodeImpl extends CompositeNodeImpl implements FileStatementNode { + /** + * + * + * @generated + */ + protected FileStatementNodeImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return Xpand3nodePackage.Literals.FILE_STATEMENT_NODE; + } + +} //FileStatementNodeImpl diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/ForeachStatementNodeImpl.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/ForeachStatementNodeImpl.java new file mode 100644 index 00000000..b0d2d40d --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/ForeachStatementNodeImpl.java @@ -0,0 +1,45 @@ +/** + * + * + * + * $Id: ForeachStatementNodeImpl.java,v 1.1 2008/03/06 08:55:16 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node.impl; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.tmf.common.node.impl.CompositeNodeImpl; + +import org.eclipse.xpand3.internal.parser.xpand3node.ForeachStatementNode; +import org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage; + +/** + * + * An implementation of the model object 'Foreach Statement Node'. + * + *

+ *

+ * + * @generated + */ +public class ForeachStatementNodeImpl extends CompositeNodeImpl implements ForeachStatementNode { + /** + * + * + * @generated + */ + protected ForeachStatementNodeImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return Xpand3nodePackage.Literals.FOREACH_STATEMENT_NODE; + } + +} //ForeachStatementNodeImpl diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/GlobalVarExpressionNodeImpl.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/GlobalVarExpressionNodeImpl.java new file mode 100644 index 00000000..5097c0f7 --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/GlobalVarExpressionNodeImpl.java @@ -0,0 +1,45 @@ +/** + * + * + * + * $Id: GlobalVarExpressionNodeImpl.java,v 1.1 2008/03/06 08:55:16 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node.impl; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.tmf.common.node.impl.CompositeNodeImpl; + +import org.eclipse.xpand3.internal.parser.xpand3node.GlobalVarExpressionNode; +import org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage; + +/** + * + * An implementation of the model object 'Global Var Expression Node'. + * + *

+ *

+ * + * @generated + */ +public class GlobalVarExpressionNodeImpl extends CompositeNodeImpl implements GlobalVarExpressionNode { + /** + * + * + * @generated + */ + protected GlobalVarExpressionNodeImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return Xpand3nodePackage.Literals.GLOBAL_VAR_EXPRESSION_NODE; + } + +} //GlobalVarExpressionNodeImpl diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/IdentifierNodeImpl.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/IdentifierNodeImpl.java new file mode 100644 index 00000000..baaf6a99 --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/IdentifierNodeImpl.java @@ -0,0 +1,45 @@ +/** + * + * + * + * $Id: IdentifierNodeImpl.java,v 1.1 2008/03/06 08:55:15 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node.impl; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.tmf.common.node.impl.CompositeNodeImpl; + +import org.eclipse.xpand3.internal.parser.xpand3node.IdentifierNode; +import org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage; + +/** + * + * An implementation of the model object 'Identifier Node'. + * + *

+ *

+ * + * @generated + */ +public class IdentifierNodeImpl extends CompositeNodeImpl implements IdentifierNode { + /** + * + * + * @generated + */ + protected IdentifierNodeImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return Xpand3nodePackage.Literals.IDENTIFIER_NODE; + } + +} //IdentifierNodeImpl diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/IfExpressionNodeImpl.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/IfExpressionNodeImpl.java new file mode 100644 index 00000000..98d20c75 --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/IfExpressionNodeImpl.java @@ -0,0 +1,45 @@ +/** + * + * + * + * $Id: IfExpressionNodeImpl.java,v 1.1 2008/03/06 08:55:16 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node.impl; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.tmf.common.node.impl.CompositeNodeImpl; + +import org.eclipse.xpand3.internal.parser.xpand3node.IfExpressionNode; +import org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage; + +/** + * + * An implementation of the model object 'If Expression Node'. + * + *

+ *

+ * + * @generated + */ +public class IfExpressionNodeImpl extends CompositeNodeImpl implements IfExpressionNode { + /** + * + * + * @generated + */ + protected IfExpressionNodeImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return Xpand3nodePackage.Literals.IF_EXPRESSION_NODE; + } + +} //IfExpressionNodeImpl diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/IfStatementNodeImpl.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/IfStatementNodeImpl.java new file mode 100644 index 00000000..a4cccc68 --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/IfStatementNodeImpl.java @@ -0,0 +1,45 @@ +/** + * + * + * + * $Id: IfStatementNodeImpl.java,v 1.1 2008/03/06 08:55:16 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node.impl; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.tmf.common.node.impl.CompositeNodeImpl; + +import org.eclipse.xpand3.internal.parser.xpand3node.IfStatementNode; +import org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage; + +/** + * + * An implementation of the model object 'If Statement Node'. + * + *

+ *

+ * + * @generated + */ +public class IfStatementNodeImpl extends CompositeNodeImpl implements IfStatementNode { + /** + * + * + * @generated + */ + protected IfStatementNodeImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return Xpand3nodePackage.Literals.IF_STATEMENT_NODE; + } + +} //IfStatementNodeImpl diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/ImpliesExpressionNodeImpl.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/ImpliesExpressionNodeImpl.java new file mode 100644 index 00000000..7e904f7f --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/ImpliesExpressionNodeImpl.java @@ -0,0 +1,45 @@ +/** + * + * + * + * $Id: ImpliesExpressionNodeImpl.java,v 1.1 2008/03/06 08:55:16 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node.impl; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.tmf.common.node.impl.CompositeNodeImpl; + +import org.eclipse.xpand3.internal.parser.xpand3node.ImpliesExpressionNode; +import org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage; + +/** + * + * An implementation of the model object 'Implies Expression Node'. + * + *

+ *

+ * + * @generated + */ +public class ImpliesExpressionNodeImpl extends CompositeNodeImpl implements ImpliesExpressionNode { + /** + * + * + * @generated + */ + protected ImpliesExpressionNodeImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return Xpand3nodePackage.Literals.IMPLIES_EXPRESSION_NODE; + } + +} //ImpliesExpressionNodeImpl diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/InfixExpressionNodeImpl.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/InfixExpressionNodeImpl.java new file mode 100644 index 00000000..aa9c1fb7 --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/InfixExpressionNodeImpl.java @@ -0,0 +1,45 @@ +/** + * + * + * + * $Id: InfixExpressionNodeImpl.java,v 1.1 2008/03/06 08:55:16 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node.impl; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.tmf.common.node.impl.CompositeNodeImpl; + +import org.eclipse.xpand3.internal.parser.xpand3node.InfixExpressionNode; +import org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage; + +/** + * + * An implementation of the model object 'Infix Expression Node'. + * + *

+ *

+ * + * @generated + */ +public class InfixExpressionNodeImpl extends CompositeNodeImpl implements InfixExpressionNode { + /** + * + * + * @generated + */ + protected InfixExpressionNodeImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return Xpand3nodePackage.Literals.INFIX_EXPRESSION_NODE; + } + +} //InfixExpressionNodeImpl diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/JavaTypeNodeImpl.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/JavaTypeNodeImpl.java new file mode 100644 index 00000000..3c1a6ae6 --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/JavaTypeNodeImpl.java @@ -0,0 +1,45 @@ +/** + * + * + * + * $Id: JavaTypeNodeImpl.java,v 1.1 2008/03/06 08:55:16 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node.impl; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.tmf.common.node.impl.CompositeNodeImpl; + +import org.eclipse.xpand3.internal.parser.xpand3node.JavaTypeNode; +import org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage; + +/** + * + * An implementation of the model object 'Java Type Node'. + * + *

+ *

+ * + * @generated + */ +public class JavaTypeNodeImpl extends CompositeNodeImpl implements JavaTypeNode { + /** + * + * + * @generated + */ + protected JavaTypeNodeImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return Xpand3nodePackage.Literals.JAVA_TYPE_NODE; + } + +} //JavaTypeNodeImpl diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/LetExpressionNodeImpl.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/LetExpressionNodeImpl.java new file mode 100644 index 00000000..0f4e0678 --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/LetExpressionNodeImpl.java @@ -0,0 +1,45 @@ +/** + * + * + * + * $Id: LetExpressionNodeImpl.java,v 1.1 2008/03/06 08:55:16 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node.impl; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.tmf.common.node.impl.CompositeNodeImpl; + +import org.eclipse.xpand3.internal.parser.xpand3node.LetExpressionNode; +import org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage; + +/** + * + * An implementation of the model object 'Let Expression Node'. + * + *

+ *

+ * + * @generated + */ +public class LetExpressionNodeImpl extends CompositeNodeImpl implements LetExpressionNode { + /** + * + * + * @generated + */ + protected LetExpressionNodeImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return Xpand3nodePackage.Literals.LET_EXPRESSION_NODE; + } + +} //LetExpressionNodeImpl diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/LetStatementNodeImpl.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/LetStatementNodeImpl.java new file mode 100644 index 00000000..d6f406a9 --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/LetStatementNodeImpl.java @@ -0,0 +1,45 @@ +/** + * + * + * + * $Id: LetStatementNodeImpl.java,v 1.1 2008/03/06 08:55:16 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node.impl; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.tmf.common.node.impl.CompositeNodeImpl; + +import org.eclipse.xpand3.internal.parser.xpand3node.LetStatementNode; +import org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage; + +/** + * + * An implementation of the model object 'Let Statement Node'. + * + *

+ *

+ * + * @generated + */ +public class LetStatementNodeImpl extends CompositeNodeImpl implements LetStatementNode { + /** + * + * + * @generated + */ + protected LetStatementNodeImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return Xpand3nodePackage.Literals.LET_STATEMENT_NODE; + } + +} //LetStatementNodeImpl diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/ListLiteralNodeImpl.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/ListLiteralNodeImpl.java new file mode 100644 index 00000000..dc5ec13d --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/ListLiteralNodeImpl.java @@ -0,0 +1,45 @@ +/** + * + * + * + * $Id: ListLiteralNodeImpl.java,v 1.1 2008/03/06 08:55:16 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node.impl; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.tmf.common.node.impl.CompositeNodeImpl; + +import org.eclipse.xpand3.internal.parser.xpand3node.ListLiteralNode; +import org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage; + +/** + * + * An implementation of the model object 'List Literal Node'. + * + *

+ *

+ * + * @generated + */ +public class ListLiteralNodeImpl extends CompositeNodeImpl implements ListLiteralNode { + /** + * + * + * @generated + */ + protected ListLiteralNodeImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return Xpand3nodePackage.Literals.LIST_LITERAL_NODE; + } + +} //ListLiteralNodeImpl diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/MultiplicativeExpressionNodeImpl.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/MultiplicativeExpressionNodeImpl.java new file mode 100644 index 00000000..25c32830 --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/MultiplicativeExpressionNodeImpl.java @@ -0,0 +1,45 @@ +/** + * + * + * + * $Id: MultiplicativeExpressionNodeImpl.java,v 1.1 2008/03/06 08:55:16 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node.impl; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.tmf.common.node.impl.CompositeNodeImpl; + +import org.eclipse.xpand3.internal.parser.xpand3node.MultiplicativeExpressionNode; +import org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage; + +/** + * + * An implementation of the model object 'Multiplicative Expression Node'. + * + *

+ *

+ * + * @generated + */ +public class MultiplicativeExpressionNodeImpl extends CompositeNodeImpl implements MultiplicativeExpressionNode { + /** + * + * + * @generated + */ + protected MultiplicativeExpressionNodeImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return Xpand3nodePackage.Literals.MULTIPLICATIVE_EXPRESSION_NODE; + } + +} //MultiplicativeExpressionNodeImpl diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/NsImportNodeImpl.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/NsImportNodeImpl.java new file mode 100644 index 00000000..936c6125 --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/NsImportNodeImpl.java @@ -0,0 +1,163 @@ +/** + * + * + * + * $Id: NsImportNodeImpl.java,v 1.1 2008/03/06 08:55:16 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node.impl; + +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +import org.eclipse.tmf.common.node.CompositeNode; + +import org.eclipse.tmf.common.node.impl.CompositeNodeImpl; + +import org.eclipse.xpand3.internal.parser.xpand3node.NsImportNode; +import org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage; + +/** + * + * An implementation of the model object 'Ns Import Node'. + * + *

+ * The following features are implemented: + *

    + *
  • {@link org.eclipse.xpand3.internal.parser.xpand3node.impl.NsImportNodeImpl#getNs Ns}
  • + *
+ *

+ * + * @generated + */ +public class NsImportNodeImpl extends CompositeNodeImpl implements NsImportNode { + /** + * The cached value of the '{@link #getNs() Ns}' reference. + * + * + * @see #getNs() + * @generated + * @ordered + */ + protected CompositeNode ns; + + /** + * + * + * @generated + */ + protected NsImportNodeImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return Xpand3nodePackage.Literals.NS_IMPORT_NODE; + } + + /** + * + * + * @generated + */ + public CompositeNode getNs() { + if (ns != null && ns.eIsProxy()) { + InternalEObject oldNs = (InternalEObject)ns; + ns = (CompositeNode)eResolveProxy(oldNs); + if (ns != oldNs) { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, Xpand3nodePackage.NS_IMPORT_NODE__NS, oldNs, ns)); + } + } + return ns; + } + + /** + * + * + * @generated + */ + public CompositeNode basicGetNs() { + return ns; + } + + /** + * + * + * @generated + */ + public void setNs(CompositeNode newNs) { + CompositeNode oldNs = ns; + ns = newNs; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, Xpand3nodePackage.NS_IMPORT_NODE__NS, oldNs, ns)); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case Xpand3nodePackage.NS_IMPORT_NODE__NS: + if (resolve) return getNs(); + return basicGetNs(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case Xpand3nodePackage.NS_IMPORT_NODE__NS: + setNs((CompositeNode)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case Xpand3nodePackage.NS_IMPORT_NODE__NS: + setNs((CompositeNode)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case Xpand3nodePackage.NS_IMPORT_NODE__NS: + return ns != null; + } + return super.eIsSet(featureID); + } + +} //NsImportNodeImpl diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/NullLiteralNodeImpl.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/NullLiteralNodeImpl.java new file mode 100644 index 00000000..f0b0db07 --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/NullLiteralNodeImpl.java @@ -0,0 +1,45 @@ +/** + * + * + * + * $Id: NullLiteralNodeImpl.java,v 1.1 2008/03/06 08:55:16 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node.impl; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.tmf.common.node.impl.CompositeNodeImpl; + +import org.eclipse.xpand3.internal.parser.xpand3node.NullLiteralNode; +import org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage; + +/** + * + * An implementation of the model object 'Null Literal Node'. + * + *

+ *

+ * + * @generated + */ +public class NullLiteralNodeImpl extends CompositeNodeImpl implements NullLiteralNode { + /** + * + * + * @generated + */ + protected NullLiteralNodeImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return Xpand3nodePackage.Literals.NULL_LITERAL_NODE; + } + +} //NullLiteralNodeImpl diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/NumberLiteralNodeImpl.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/NumberLiteralNodeImpl.java new file mode 100644 index 00000000..1f84508f --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/NumberLiteralNodeImpl.java @@ -0,0 +1,45 @@ +/** + * + * + * + * $Id: NumberLiteralNodeImpl.java,v 1.1 2008/03/06 08:55:15 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node.impl; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.tmf.common.node.impl.CompositeNodeImpl; + +import org.eclipse.xpand3.internal.parser.xpand3node.NumberLiteralNode; +import org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage; + +/** + * + * An implementation of the model object 'Number Literal Node'. + * + *

+ *

+ * + * @generated + */ +public class NumberLiteralNodeImpl extends CompositeNodeImpl implements NumberLiteralNode { + /** + * + * + * @generated + */ + protected NumberLiteralNodeImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return Xpand3nodePackage.Literals.NUMBER_LITERAL_NODE; + } + +} //NumberLiteralNodeImpl diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/OrExpressionNodeImpl.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/OrExpressionNodeImpl.java new file mode 100644 index 00000000..127399ce --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/OrExpressionNodeImpl.java @@ -0,0 +1,45 @@ +/** + * + * + * + * $Id: OrExpressionNodeImpl.java,v 1.1 2008/03/06 08:55:16 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node.impl; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.tmf.common.node.impl.CompositeNodeImpl; + +import org.eclipse.xpand3.internal.parser.xpand3node.OrExpressionNode; +import org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage; + +/** + * + * An implementation of the model object 'Or Expression Node'. + * + *

+ *

+ * + * @generated + */ +public class OrExpressionNodeImpl extends CompositeNodeImpl implements OrExpressionNode { + /** + * + * + * @generated + */ + protected OrExpressionNodeImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return Xpand3nodePackage.Literals.OR_EXPRESSION_NODE; + } + +} //OrExpressionNodeImpl diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/ParameterListNodeImpl.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/ParameterListNodeImpl.java new file mode 100644 index 00000000..ed67b482 --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/ParameterListNodeImpl.java @@ -0,0 +1,45 @@ +/** + * + * + * + * $Id: ParameterListNodeImpl.java,v 1.1 2008/03/06 08:55:16 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node.impl; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.tmf.common.node.impl.CompositeNodeImpl; + +import org.eclipse.xpand3.internal.parser.xpand3node.ParameterListNode; +import org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage; + +/** + * + * An implementation of the model object 'Parameter List Node'. + * + *

+ *

+ * + * @generated + */ +public class ParameterListNodeImpl extends CompositeNodeImpl implements ParameterListNode { + /** + * + * + * @generated + */ + protected ParameterListNodeImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return Xpand3nodePackage.Literals.PARAMETER_LIST_NODE; + } + +} //ParameterListNodeImpl diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/ParanthesizedExpressionNodeImpl.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/ParanthesizedExpressionNodeImpl.java new file mode 100644 index 00000000..2863e27b --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/ParanthesizedExpressionNodeImpl.java @@ -0,0 +1,45 @@ +/** + * + * + * + * $Id: ParanthesizedExpressionNodeImpl.java,v 1.1 2008/03/06 08:55:16 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node.impl; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.tmf.common.node.impl.CompositeNodeImpl; + +import org.eclipse.xpand3.internal.parser.xpand3node.ParanthesizedExpressionNode; +import org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage; + +/** + * + * An implementation of the model object 'Paranthesized Expression Node'. + * + *

+ *

+ * + * @generated + */ +public class ParanthesizedExpressionNodeImpl extends CompositeNodeImpl implements ParanthesizedExpressionNode { + /** + * + * + * @generated + */ + protected ParanthesizedExpressionNodeImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return Xpand3nodePackage.Literals.PARANTHESIZED_EXPRESSION_NODE; + } + +} //ParanthesizedExpressionNodeImpl diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/PointcutNodeImpl.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/PointcutNodeImpl.java new file mode 100644 index 00000000..cf4218f7 --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/PointcutNodeImpl.java @@ -0,0 +1,45 @@ +/** + * + * + * + * $Id: PointcutNodeImpl.java,v 1.1 2008/03/06 08:55:16 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node.impl; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.tmf.common.node.impl.CompositeNodeImpl; + +import org.eclipse.xpand3.internal.parser.xpand3node.PointcutNode; +import org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage; + +/** + * + * An implementation of the model object 'Pointcut Node'. + * + *

+ *

+ * + * @generated + */ +public class PointcutNodeImpl extends CompositeNodeImpl implements PointcutNode { + /** + * + * + * @generated + */ + protected PointcutNodeImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return Xpand3nodePackage.Literals.POINTCUT_NODE; + } + +} //PointcutNodeImpl diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/ProtectStatementNodeImpl.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/ProtectStatementNodeImpl.java new file mode 100644 index 00000000..c75c4794 --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/ProtectStatementNodeImpl.java @@ -0,0 +1,45 @@ +/** + * + * + * + * $Id: ProtectStatementNodeImpl.java,v 1.1 2008/03/06 08:55:16 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node.impl; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.tmf.common.node.impl.CompositeNodeImpl; + +import org.eclipse.xpand3.internal.parser.xpand3node.ProtectStatementNode; +import org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage; + +/** + * + * An implementation of the model object 'Protect Statement Node'. + * + *

+ *

+ * + * @generated + */ +public class ProtectStatementNodeImpl extends CompositeNodeImpl implements ProtectStatementNode { + /** + * + * + * @generated + */ + protected ProtectStatementNodeImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return Xpand3nodePackage.Literals.PROTECT_STATEMENT_NODE; + } + +} //ProtectStatementNodeImpl diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/RelationalExpressionNodeImpl.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/RelationalExpressionNodeImpl.java new file mode 100644 index 00000000..434382e8 --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/RelationalExpressionNodeImpl.java @@ -0,0 +1,45 @@ +/** + * + * + * + * $Id: RelationalExpressionNodeImpl.java,v 1.1 2008/03/06 08:55:16 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node.impl; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.tmf.common.node.impl.CompositeNodeImpl; + +import org.eclipse.xpand3.internal.parser.xpand3node.RelationalExpressionNode; +import org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage; + +/** + * + * An implementation of the model object 'Relational Expression Node'. + * + *

+ *

+ * + * @generated + */ +public class RelationalExpressionNodeImpl extends CompositeNodeImpl implements RelationalExpressionNode { + /** + * + * + * @generated + */ + protected RelationalExpressionNodeImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return Xpand3nodePackage.Literals.RELATIONAL_EXPRESSION_NODE; + } + +} //RelationalExpressionNodeImpl diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/SequenceNodeImpl.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/SequenceNodeImpl.java new file mode 100644 index 00000000..5a9bca70 --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/SequenceNodeImpl.java @@ -0,0 +1,45 @@ +/** + * + * + * + * $Id: SequenceNodeImpl.java,v 1.1 2008/03/06 08:55:16 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node.impl; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.tmf.common.node.impl.CompositeNodeImpl; + +import org.eclipse.xpand3.internal.parser.xpand3node.SequenceNode; +import org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage; + +/** + * + * An implementation of the model object 'Sequence Node'. + * + *

+ *

+ * + * @generated + */ +public class SequenceNodeImpl extends CompositeNodeImpl implements SequenceNode { + /** + * + * + * @generated + */ + protected SequenceNodeImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return Xpand3nodePackage.Literals.SEQUENCE_NODE; + } + +} //SequenceNodeImpl diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/SimpleTypeNodeImpl.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/SimpleTypeNodeImpl.java new file mode 100644 index 00000000..3a47f6e8 --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/SimpleTypeNodeImpl.java @@ -0,0 +1,45 @@ +/** + * + * + * + * $Id: SimpleTypeNodeImpl.java,v 1.1 2008/03/06 08:55:16 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node.impl; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.tmf.common.node.impl.CompositeNodeImpl; + +import org.eclipse.xpand3.internal.parser.xpand3node.SimpleTypeNode; +import org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage; + +/** + * + * An implementation of the model object 'Simple Type Node'. + * + *

+ *

+ * + * @generated + */ +public class SimpleTypeNodeImpl extends CompositeNodeImpl implements SimpleTypeNode { + /** + * + * + * @generated + */ + protected SimpleTypeNodeImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return Xpand3nodePackage.Literals.SIMPLE_TYPE_NODE; + } + +} //SimpleTypeNodeImpl diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/StringLiteralNodeImpl.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/StringLiteralNodeImpl.java new file mode 100644 index 00000000..51d29bfd --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/StringLiteralNodeImpl.java @@ -0,0 +1,45 @@ +/** + * + * + * + * $Id: StringLiteralNodeImpl.java,v 1.1 2008/03/06 08:55:16 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node.impl; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.tmf.common.node.impl.CompositeNodeImpl; + +import org.eclipse.xpand3.internal.parser.xpand3node.StringLiteralNode; +import org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage; + +/** + * + * An implementation of the model object 'String Literal Node'. + * + *

+ *

+ * + * @generated + */ +public class StringLiteralNodeImpl extends CompositeNodeImpl implements StringLiteralNode { + /** + * + * + * @generated + */ + protected StringLiteralNodeImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return Xpand3nodePackage.Literals.STRING_LITERAL_NODE; + } + +} //StringLiteralNodeImpl diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/SwitchExpressionNodeImpl.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/SwitchExpressionNodeImpl.java new file mode 100644 index 00000000..18f85db9 --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/SwitchExpressionNodeImpl.java @@ -0,0 +1,45 @@ +/** + * + * + * + * $Id: SwitchExpressionNodeImpl.java,v 1.1 2008/03/06 08:55:16 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node.impl; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.tmf.common.node.impl.CompositeNodeImpl; + +import org.eclipse.xpand3.internal.parser.xpand3node.SwitchExpressionNode; +import org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage; + +/** + * + * An implementation of the model object 'Switch Expression Node'. + * + *

+ *

+ * + * @generated + */ +public class SwitchExpressionNodeImpl extends CompositeNodeImpl implements SwitchExpressionNode { + /** + * + * + * @generated + */ + protected SwitchExpressionNodeImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return Xpand3nodePackage.Literals.SWITCH_EXPRESSION_NODE; + } + +} //SwitchExpressionNodeImpl diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/Test_expressionNodeImpl.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/Test_expressionNodeImpl.java new file mode 100644 index 00000000..cec4ff64 --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/Test_expressionNodeImpl.java @@ -0,0 +1,45 @@ +/** + * + * + * + * $Id: Test_expressionNodeImpl.java,v 1.1 2008/03/06 08:55:15 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node.impl; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.tmf.common.node.impl.CompositeNodeImpl; + +import org.eclipse.xpand3.internal.parser.xpand3node.Test_expressionNode; +import org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage; + +/** + * + * An implementation of the model object 'Test expression Node'. + * + *

+ *

+ * + * @generated + */ +public class Test_expressionNodeImpl extends CompositeNodeImpl implements Test_expressionNode { + /** + * + * + * @generated + */ + protected Test_expressionNodeImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return Xpand3nodePackage.Literals.TEST_EXPRESSION_NODE; + } + +} //Test_expressionNodeImpl diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/TextNodeImpl.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/TextNodeImpl.java new file mode 100644 index 00000000..8afd20c7 --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/TextNodeImpl.java @@ -0,0 +1,45 @@ +/** + * + * + * + * $Id: TextNodeImpl.java,v 1.1 2008/03/06 08:55:16 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node.impl; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.tmf.common.node.impl.CompositeNodeImpl; + +import org.eclipse.xpand3.internal.parser.xpand3node.TextNode; +import org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage; + +/** + * + * An implementation of the model object 'Text Node'. + * + *

+ *

+ * + * @generated + */ +public class TextNodeImpl extends CompositeNodeImpl implements TextNode { + /** + * + * + * @generated + */ + protected TextNodeImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return Xpand3nodePackage.Literals.TEXT_NODE; + } + +} //TextNodeImpl diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/TextSequenceNodeImpl.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/TextSequenceNodeImpl.java new file mode 100644 index 00000000..e641ecc7 --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/TextSequenceNodeImpl.java @@ -0,0 +1,45 @@ +/** + * + * + * + * $Id: TextSequenceNodeImpl.java,v 1.1 2008/03/06 08:55:16 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node.impl; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.tmf.common.node.impl.CompositeNodeImpl; + +import org.eclipse.xpand3.internal.parser.xpand3node.TextSequenceNode; +import org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage; + +/** + * + * An implementation of the model object 'Text Sequence Node'. + * + *

+ *

+ * + * @generated + */ +public class TextSequenceNodeImpl extends CompositeNodeImpl implements TextSequenceNode { + /** + * + * + * @generated + */ + protected TextSequenceNodeImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return Xpand3nodePackage.Literals.TEXT_SEQUENCE_NODE; + } + +} //TextSequenceNodeImpl diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/UnaryExpressionNodeImpl.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/UnaryExpressionNodeImpl.java new file mode 100644 index 00000000..52505a03 --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/UnaryExpressionNodeImpl.java @@ -0,0 +1,45 @@ +/** + * + * + * + * $Id: UnaryExpressionNodeImpl.java,v 1.1 2008/03/06 08:55:16 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node.impl; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.tmf.common.node.impl.CompositeNodeImpl; + +import org.eclipse.xpand3.internal.parser.xpand3node.UnaryExpressionNode; +import org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage; + +/** + * + * An implementation of the model object 'Unary Expression Node'. + * + *

+ *

+ * + * @generated + */ +public class UnaryExpressionNodeImpl extends CompositeNodeImpl implements UnaryExpressionNode { + /** + * + * + * @generated + */ + protected UnaryExpressionNodeImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return Xpand3nodePackage.Literals.UNARY_EXPRESSION_NODE; + } + +} //UnaryExpressionNodeImpl diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/Xpand3nodeFactoryImpl.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/Xpand3nodeFactoryImpl.java new file mode 100644 index 00000000..4cbebe17 --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/Xpand3nodeFactoryImpl.java @@ -0,0 +1,682 @@ +/** + * + * + * + * $Id: Xpand3nodeFactoryImpl.java,v 1.1 2008/03/06 08:55:16 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node.impl; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.EPackage; + +import org.eclipse.emf.ecore.impl.EFactoryImpl; + +import org.eclipse.emf.ecore.plugin.EcorePlugin; + +import org.eclipse.xpand3.internal.parser.xpand3node.*; + +/** + * + * An implementation of the model Factory. + * + * @generated + */ +public class Xpand3nodeFactoryImpl extends EFactoryImpl implements Xpand3nodeFactory { + /** + * Creates the default factory implementation. + * + * + * @generated + */ + public static Xpand3nodeFactory init() { + try { + Xpand3nodeFactory theXpand3nodeFactory = (Xpand3nodeFactory)EPackage.Registry.INSTANCE.getEFactory("http://www.eclipse.org/tmf/common/Xpand3Node"); + if (theXpand3nodeFactory != null) { + return theXpand3nodeFactory; + } + } + catch (Exception exception) { + EcorePlugin.INSTANCE.log(exception); + } + return new Xpand3nodeFactoryImpl(); + } + + /** + * Creates an instance of the factory. + * + * + * @generated + */ + public Xpand3nodeFactoryImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + public EObject create(EClass eClass) { + switch (eClass.getClassifierID()) { + case Xpand3nodePackage.FILE_NODE: return createFileNode(); + case Xpand3nodePackage.NS_IMPORT_NODE: return createNsImportNode(); + case Xpand3nodePackage.DEFINITION_NODE: return createDefinitionNode(); + case Xpand3nodePackage.DEFINITION_AROUND_NODE: return createDefinitionAroundNode(); + case Xpand3nodePackage.SEQUENCE_NODE: return createSequenceNode(); + case Xpand3nodePackage.TEXT_SEQUENCE_NODE: return createTextSequenceNode(); + case Xpand3nodePackage.TEXT_NODE: return createTextNode(); + case Xpand3nodePackage.ERROR_STATEMENT_NODE: return createErrorStatementNode(); + case Xpand3nodePackage.EXPAND_STATEMENT_NODE: return createExpandStatementNode(); + case Xpand3nodePackage.EXPRESSION_STMT_NODE: return createExpressionStmtNode(); + case Xpand3nodePackage.FILE_STATEMENT_NODE: return createFileStatementNode(); + case Xpand3nodePackage.FOREACH_STATEMENT_NODE: return createForeachStatementNode(); + case Xpand3nodePackage.IF_STATEMENT_NODE: return createIfStatementNode(); + case Xpand3nodePackage.ELSE_IF_STATEMENT_NODE: return createElseIfStatementNode(); + case Xpand3nodePackage.ELSE_STATEMENT_NODE: return createElseStatementNode(); + case Xpand3nodePackage.LET_STATEMENT_NODE: return createLetStatementNode(); + case Xpand3nodePackage.PROTECT_STATEMENT_NODE: return createProtectStatementNode(); + case Xpand3nodePackage.CHECK_NODE: return createCheckNode(); + case Xpand3nodePackage.AROUND_NODE: return createAroundNode(); + case Xpand3nodePackage.POINTCUT_NODE: return createPointcutNode(); + case Xpand3nodePackage.EXTENSION_NODE: return createExtensionNode(); + case Xpand3nodePackage.JAVA_TYPE_NODE: return createJavaTypeNode(); + case Xpand3nodePackage.TEST_EXPRESSION_NODE: return createTest_expressionNode(); + case Xpand3nodePackage.EXPRESSION_NODE: return createExpressionNode(); + case Xpand3nodePackage.LET_EXPRESSION_NODE: return createLetExpressionNode(); + case Xpand3nodePackage.CASTED_EXPRESSION_NODE: return createCastedExpressionNode(); + case Xpand3nodePackage.CHAIN_EXPRESSION_NODE: return createChainExpressionNode(); + case Xpand3nodePackage.IF_EXPRESSION_NODE: return createIfExpressionNode(); + case Xpand3nodePackage.SWITCH_EXPRESSION_NODE: return createSwitchExpressionNode(); + case Xpand3nodePackage.CASE_PART_NODE: return createCasePartNode(); + case Xpand3nodePackage.OR_EXPRESSION_NODE: return createOrExpressionNode(); + case Xpand3nodePackage.AND_EXPRESSION_NODE: return createAndExpressionNode(); + case Xpand3nodePackage.IMPLIES_EXPRESSION_NODE: return createImpliesExpressionNode(); + case Xpand3nodePackage.RELATIONAL_EXPRESSION_NODE: return createRelationalExpressionNode(); + case Xpand3nodePackage.ADDITIVE_EXPRESSION_NODE: return createAdditiveExpressionNode(); + case Xpand3nodePackage.MULTIPLICATIVE_EXPRESSION_NODE: return createMultiplicativeExpressionNode(); + case Xpand3nodePackage.UNARY_EXPRESSION_NODE: return createUnaryExpressionNode(); + case Xpand3nodePackage.INFIX_EXPRESSION_NODE: return createInfixExpressionNode(); + case Xpand3nodePackage.STRING_LITERAL_NODE: return createStringLiteralNode(); + case Xpand3nodePackage.PARANTHESIZED_EXPRESSION_NODE: return createParanthesizedExpressionNode(); + case Xpand3nodePackage.GLOBAL_VAR_EXPRESSION_NODE: return createGlobalVarExpressionNode(); + case Xpand3nodePackage.FEATURE_CALL_NODE: return createFeatureCallNode(); + case Xpand3nodePackage.LIST_LITERAL_NODE: return createListLiteralNode(); + case Xpand3nodePackage.CONSTRUCTOR_CALL_NODE: return createConstructorCallNode(); + case Xpand3nodePackage.BOOLEAN_LITERAL_NODE: return createBooleanLiteralNode(); + case Xpand3nodePackage.NULL_LITERAL_NODE: return createNullLiteralNode(); + case Xpand3nodePackage.NUMBER_LITERAL_NODE: return createNumberLiteralNode(); + case Xpand3nodePackage.COLLECTION_EXPRESSION_NODE: return createCollectionExpressionNode(); + case Xpand3nodePackage.DECLARED_PARAMETER_LIST_NODE: return createDeclaredParameterListNode(); + case Xpand3nodePackage.DECLARED_PARAMETER_NODE: return createDeclaredParameterNode(); + case Xpand3nodePackage.PARAMETER_LIST_NODE: return createParameterListNode(); + case Xpand3nodePackage.COLLECTION_TYPE_NODE: return createCollectionTypeNode(); + case Xpand3nodePackage.SIMPLE_TYPE_NODE: return createSimpleTypeNode(); + case Xpand3nodePackage.IDENTIFIER_NODE: return createIdentifierNode(); + default: + throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); + } + } + + /** + * + * + * @generated + */ + public FileNode createFileNode() { + FileNodeImpl fileNode = new FileNodeImpl(); + return fileNode; + } + + /** + * + * + * @generated + */ + public NsImportNode createNsImportNode() { + NsImportNodeImpl nsImportNode = new NsImportNodeImpl(); + return nsImportNode; + } + + /** + * + * + * @generated + */ + public DefinitionNode createDefinitionNode() { + DefinitionNodeImpl definitionNode = new DefinitionNodeImpl(); + return definitionNode; + } + + /** + * + * + * @generated + */ + public DefinitionAroundNode createDefinitionAroundNode() { + DefinitionAroundNodeImpl definitionAroundNode = new DefinitionAroundNodeImpl(); + return definitionAroundNode; + } + + /** + * + * + * @generated + */ + public SequenceNode createSequenceNode() { + SequenceNodeImpl sequenceNode = new SequenceNodeImpl(); + return sequenceNode; + } + + /** + * + * + * @generated + */ + public TextSequenceNode createTextSequenceNode() { + TextSequenceNodeImpl textSequenceNode = new TextSequenceNodeImpl(); + return textSequenceNode; + } + + /** + * + * + * @generated + */ + public TextNode createTextNode() { + TextNodeImpl textNode = new TextNodeImpl(); + return textNode; + } + + /** + * + * + * @generated + */ + public ErrorStatementNode createErrorStatementNode() { + ErrorStatementNodeImpl errorStatementNode = new ErrorStatementNodeImpl(); + return errorStatementNode; + } + + /** + * + * + * @generated + */ + public ExpandStatementNode createExpandStatementNode() { + ExpandStatementNodeImpl expandStatementNode = new ExpandStatementNodeImpl(); + return expandStatementNode; + } + + /** + * + * + * @generated + */ + public ExpressionStmtNode createExpressionStmtNode() { + ExpressionStmtNodeImpl expressionStmtNode = new ExpressionStmtNodeImpl(); + return expressionStmtNode; + } + + /** + * + * + * @generated + */ + public FileStatementNode createFileStatementNode() { + FileStatementNodeImpl fileStatementNode = new FileStatementNodeImpl(); + return fileStatementNode; + } + + /** + * + * + * @generated + */ + public ForeachStatementNode createForeachStatementNode() { + ForeachStatementNodeImpl foreachStatementNode = new ForeachStatementNodeImpl(); + return foreachStatementNode; + } + + /** + * + * + * @generated + */ + public IfStatementNode createIfStatementNode() { + IfStatementNodeImpl ifStatementNode = new IfStatementNodeImpl(); + return ifStatementNode; + } + + /** + * + * + * @generated + */ + public ElseIfStatementNode createElseIfStatementNode() { + ElseIfStatementNodeImpl elseIfStatementNode = new ElseIfStatementNodeImpl(); + return elseIfStatementNode; + } + + /** + * + * + * @generated + */ + public ElseStatementNode createElseStatementNode() { + ElseStatementNodeImpl elseStatementNode = new ElseStatementNodeImpl(); + return elseStatementNode; + } + + /** + * + * + * @generated + */ + public LetStatementNode createLetStatementNode() { + LetStatementNodeImpl letStatementNode = new LetStatementNodeImpl(); + return letStatementNode; + } + + /** + * + * + * @generated + */ + public ProtectStatementNode createProtectStatementNode() { + ProtectStatementNodeImpl protectStatementNode = new ProtectStatementNodeImpl(); + return protectStatementNode; + } + + /** + * + * + * @generated + */ + public CheckNode createCheckNode() { + CheckNodeImpl checkNode = new CheckNodeImpl(); + return checkNode; + } + + /** + * + * + * @generated + */ + public AroundNode createAroundNode() { + AroundNodeImpl aroundNode = new AroundNodeImpl(); + return aroundNode; + } + + /** + * + * + * @generated + */ + public PointcutNode createPointcutNode() { + PointcutNodeImpl pointcutNode = new PointcutNodeImpl(); + return pointcutNode; + } + + /** + * + * + * @generated + */ + public ExtensionNode createExtensionNode() { + ExtensionNodeImpl extensionNode = new ExtensionNodeImpl(); + return extensionNode; + } + + /** + * + * + * @generated + */ + public JavaTypeNode createJavaTypeNode() { + JavaTypeNodeImpl javaTypeNode = new JavaTypeNodeImpl(); + return javaTypeNode; + } + + /** + * + * + * @generated + */ + public Test_expressionNode createTest_expressionNode() { + Test_expressionNodeImpl test_expressionNode = new Test_expressionNodeImpl(); + return test_expressionNode; + } + + /** + * + * + * @generated + */ + public ExpressionNode createExpressionNode() { + ExpressionNodeImpl expressionNode = new ExpressionNodeImpl(); + return expressionNode; + } + + /** + * + * + * @generated + */ + public LetExpressionNode createLetExpressionNode() { + LetExpressionNodeImpl letExpressionNode = new LetExpressionNodeImpl(); + return letExpressionNode; + } + + /** + * + * + * @generated + */ + public CastedExpressionNode createCastedExpressionNode() { + CastedExpressionNodeImpl castedExpressionNode = new CastedExpressionNodeImpl(); + return castedExpressionNode; + } + + /** + * + * + * @generated + */ + public ChainExpressionNode createChainExpressionNode() { + ChainExpressionNodeImpl chainExpressionNode = new ChainExpressionNodeImpl(); + return chainExpressionNode; + } + + /** + * + * + * @generated + */ + public IfExpressionNode createIfExpressionNode() { + IfExpressionNodeImpl ifExpressionNode = new IfExpressionNodeImpl(); + return ifExpressionNode; + } + + /** + * + * + * @generated + */ + public SwitchExpressionNode createSwitchExpressionNode() { + SwitchExpressionNodeImpl switchExpressionNode = new SwitchExpressionNodeImpl(); + return switchExpressionNode; + } + + /** + * + * + * @generated + */ + public CasePartNode createCasePartNode() { + CasePartNodeImpl casePartNode = new CasePartNodeImpl(); + return casePartNode; + } + + /** + * + * + * @generated + */ + public OrExpressionNode createOrExpressionNode() { + OrExpressionNodeImpl orExpressionNode = new OrExpressionNodeImpl(); + return orExpressionNode; + } + + /** + * + * + * @generated + */ + public AndExpressionNode createAndExpressionNode() { + AndExpressionNodeImpl andExpressionNode = new AndExpressionNodeImpl(); + return andExpressionNode; + } + + /** + * + * + * @generated + */ + public ImpliesExpressionNode createImpliesExpressionNode() { + ImpliesExpressionNodeImpl impliesExpressionNode = new ImpliesExpressionNodeImpl(); + return impliesExpressionNode; + } + + /** + * + * + * @generated + */ + public RelationalExpressionNode createRelationalExpressionNode() { + RelationalExpressionNodeImpl relationalExpressionNode = new RelationalExpressionNodeImpl(); + return relationalExpressionNode; + } + + /** + * + * + * @generated + */ + public AdditiveExpressionNode createAdditiveExpressionNode() { + AdditiveExpressionNodeImpl additiveExpressionNode = new AdditiveExpressionNodeImpl(); + return additiveExpressionNode; + } + + /** + * + * + * @generated + */ + public MultiplicativeExpressionNode createMultiplicativeExpressionNode() { + MultiplicativeExpressionNodeImpl multiplicativeExpressionNode = new MultiplicativeExpressionNodeImpl(); + return multiplicativeExpressionNode; + } + + /** + * + * + * @generated + */ + public UnaryExpressionNode createUnaryExpressionNode() { + UnaryExpressionNodeImpl unaryExpressionNode = new UnaryExpressionNodeImpl(); + return unaryExpressionNode; + } + + /** + * + * + * @generated + */ + public InfixExpressionNode createInfixExpressionNode() { + InfixExpressionNodeImpl infixExpressionNode = new InfixExpressionNodeImpl(); + return infixExpressionNode; + } + + /** + * + * + * @generated + */ + public StringLiteralNode createStringLiteralNode() { + StringLiteralNodeImpl stringLiteralNode = new StringLiteralNodeImpl(); + return stringLiteralNode; + } + + /** + * + * + * @generated + */ + public ParanthesizedExpressionNode createParanthesizedExpressionNode() { + ParanthesizedExpressionNodeImpl paranthesizedExpressionNode = new ParanthesizedExpressionNodeImpl(); + return paranthesizedExpressionNode; + } + + /** + * + * + * @generated + */ + public GlobalVarExpressionNode createGlobalVarExpressionNode() { + GlobalVarExpressionNodeImpl globalVarExpressionNode = new GlobalVarExpressionNodeImpl(); + return globalVarExpressionNode; + } + + /** + * + * + * @generated + */ + public FeatureCallNode createFeatureCallNode() { + FeatureCallNodeImpl featureCallNode = new FeatureCallNodeImpl(); + return featureCallNode; + } + + /** + * + * + * @generated + */ + public ListLiteralNode createListLiteralNode() { + ListLiteralNodeImpl listLiteralNode = new ListLiteralNodeImpl(); + return listLiteralNode; + } + + /** + * + * + * @generated + */ + public ConstructorCallNode createConstructorCallNode() { + ConstructorCallNodeImpl constructorCallNode = new ConstructorCallNodeImpl(); + return constructorCallNode; + } + + /** + * + * + * @generated + */ + public BooleanLiteralNode createBooleanLiteralNode() { + BooleanLiteralNodeImpl booleanLiteralNode = new BooleanLiteralNodeImpl(); + return booleanLiteralNode; + } + + /** + * + * + * @generated + */ + public NullLiteralNode createNullLiteralNode() { + NullLiteralNodeImpl nullLiteralNode = new NullLiteralNodeImpl(); + return nullLiteralNode; + } + + /** + * + * + * @generated + */ + public NumberLiteralNode createNumberLiteralNode() { + NumberLiteralNodeImpl numberLiteralNode = new NumberLiteralNodeImpl(); + return numberLiteralNode; + } + + /** + * + * + * @generated + */ + public CollectionExpressionNode createCollectionExpressionNode() { + CollectionExpressionNodeImpl collectionExpressionNode = new CollectionExpressionNodeImpl(); + return collectionExpressionNode; + } + + /** + * + * + * @generated + */ + public DeclaredParameterListNode createDeclaredParameterListNode() { + DeclaredParameterListNodeImpl declaredParameterListNode = new DeclaredParameterListNodeImpl(); + return declaredParameterListNode; + } + + /** + * + * + * @generated + */ + public DeclaredParameterNode createDeclaredParameterNode() { + DeclaredParameterNodeImpl declaredParameterNode = new DeclaredParameterNodeImpl(); + return declaredParameterNode; + } + + /** + * + * + * @generated + */ + public ParameterListNode createParameterListNode() { + ParameterListNodeImpl parameterListNode = new ParameterListNodeImpl(); + return parameterListNode; + } + + /** + * + * + * @generated + */ + public CollectionTypeNode createCollectionTypeNode() { + CollectionTypeNodeImpl collectionTypeNode = new CollectionTypeNodeImpl(); + return collectionTypeNode; + } + + /** + * + * + * @generated + */ + public SimpleTypeNode createSimpleTypeNode() { + SimpleTypeNodeImpl simpleTypeNode = new SimpleTypeNodeImpl(); + return simpleTypeNode; + } + + /** + * + * + * @generated + */ + public IdentifierNode createIdentifierNode() { + IdentifierNodeImpl identifierNode = new IdentifierNodeImpl(); + return identifierNode; + } + + /** + * + * + * @generated + */ + public Xpand3nodePackage getXpand3nodePackage() { + return (Xpand3nodePackage)getEPackage(); + } + + /** + * + * + * @deprecated + * @generated + */ + @Deprecated + public static Xpand3nodePackage getPackage() { + return Xpand3nodePackage.eINSTANCE; + } + +} //Xpand3nodeFactoryImpl diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/Xpand3nodePackageImpl.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/Xpand3nodePackageImpl.java new file mode 100644 index 00000000..5ea85b34 --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/impl/Xpand3nodePackageImpl.java @@ -0,0 +1,1396 @@ +/** + * + * + * + * $Id: Xpand3nodePackageImpl.java,v 1.1 2008/03/06 08:55:15 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node.impl; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EPackage; +import org.eclipse.emf.ecore.EReference; + +import org.eclipse.emf.ecore.impl.EPackageImpl; + +import org.eclipse.tmf.common.node.NodePackage; + +import org.eclipse.xpand3.internal.parser.xpand3node.AdditiveExpressionNode; +import org.eclipse.xpand3.internal.parser.xpand3node.AndExpressionNode; +import org.eclipse.xpand3.internal.parser.xpand3node.AroundNode; +import org.eclipse.xpand3.internal.parser.xpand3node.BooleanLiteralNode; +import org.eclipse.xpand3.internal.parser.xpand3node.CasePartNode; +import org.eclipse.xpand3.internal.parser.xpand3node.CastedExpressionNode; +import org.eclipse.xpand3.internal.parser.xpand3node.ChainExpressionNode; +import org.eclipse.xpand3.internal.parser.xpand3node.CheckNode; +import org.eclipse.xpand3.internal.parser.xpand3node.CollectionExpressionNode; +import org.eclipse.xpand3.internal.parser.xpand3node.CollectionTypeNode; +import org.eclipse.xpand3.internal.parser.xpand3node.ConstructorCallNode; +import org.eclipse.xpand3.internal.parser.xpand3node.DeclaredParameterListNode; +import org.eclipse.xpand3.internal.parser.xpand3node.DeclaredParameterNode; +import org.eclipse.xpand3.internal.parser.xpand3node.DefinitionAroundNode; +import org.eclipse.xpand3.internal.parser.xpand3node.DefinitionNode; +import org.eclipse.xpand3.internal.parser.xpand3node.ElseIfStatementNode; +import org.eclipse.xpand3.internal.parser.xpand3node.ElseStatementNode; +import org.eclipse.xpand3.internal.parser.xpand3node.ErrorStatementNode; +import org.eclipse.xpand3.internal.parser.xpand3node.ExpandStatementNode; +import org.eclipse.xpand3.internal.parser.xpand3node.ExpressionNode; +import org.eclipse.xpand3.internal.parser.xpand3node.ExpressionStmtNode; +import org.eclipse.xpand3.internal.parser.xpand3node.ExtensionNode; +import org.eclipse.xpand3.internal.parser.xpand3node.FeatureCallNode; +import org.eclipse.xpand3.internal.parser.xpand3node.FileNode; +import org.eclipse.xpand3.internal.parser.xpand3node.FileStatementNode; +import org.eclipse.xpand3.internal.parser.xpand3node.ForeachStatementNode; +import org.eclipse.xpand3.internal.parser.xpand3node.GlobalVarExpressionNode; +import org.eclipse.xpand3.internal.parser.xpand3node.IdentifierNode; +import org.eclipse.xpand3.internal.parser.xpand3node.IfExpressionNode; +import org.eclipse.xpand3.internal.parser.xpand3node.IfStatementNode; +import org.eclipse.xpand3.internal.parser.xpand3node.ImpliesExpressionNode; +import org.eclipse.xpand3.internal.parser.xpand3node.InfixExpressionNode; +import org.eclipse.xpand3.internal.parser.xpand3node.JavaTypeNode; +import org.eclipse.xpand3.internal.parser.xpand3node.LetExpressionNode; +import org.eclipse.xpand3.internal.parser.xpand3node.LetStatementNode; +import org.eclipse.xpand3.internal.parser.xpand3node.ListLiteralNode; +import org.eclipse.xpand3.internal.parser.xpand3node.MultiplicativeExpressionNode; +import org.eclipse.xpand3.internal.parser.xpand3node.NsImportNode; +import org.eclipse.xpand3.internal.parser.xpand3node.NullLiteralNode; +import org.eclipse.xpand3.internal.parser.xpand3node.NumberLiteralNode; +import org.eclipse.xpand3.internal.parser.xpand3node.OrExpressionNode; +import org.eclipse.xpand3.internal.parser.xpand3node.ParameterListNode; +import org.eclipse.xpand3.internal.parser.xpand3node.ParanthesizedExpressionNode; +import org.eclipse.xpand3.internal.parser.xpand3node.PointcutNode; +import org.eclipse.xpand3.internal.parser.xpand3node.ProtectStatementNode; +import org.eclipse.xpand3.internal.parser.xpand3node.RelationalExpressionNode; +import org.eclipse.xpand3.internal.parser.xpand3node.SequenceNode; +import org.eclipse.xpand3.internal.parser.xpand3node.SimpleTypeNode; +import org.eclipse.xpand3.internal.parser.xpand3node.StringLiteralNode; +import org.eclipse.xpand3.internal.parser.xpand3node.SwitchExpressionNode; +import org.eclipse.xpand3.internal.parser.xpand3node.Test_expressionNode; +import org.eclipse.xpand3.internal.parser.xpand3node.TextNode; +import org.eclipse.xpand3.internal.parser.xpand3node.TextSequenceNode; +import org.eclipse.xpand3.internal.parser.xpand3node.UnaryExpressionNode; +import org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodeFactory; +import org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage; + +/** + * + * An implementation of the model Package. + * + * @generated + */ +public class Xpand3nodePackageImpl extends EPackageImpl implements Xpand3nodePackage { + /** + * + * + * @generated + */ + private EClass fileNodeEClass = null; + + /** + * + * + * @generated + */ + private EClass nsImportNodeEClass = null; + + /** + * + * + * @generated + */ + private EClass definitionNodeEClass = null; + + /** + * + * + * @generated + */ + private EClass definitionAroundNodeEClass = null; + + /** + * + * + * @generated + */ + private EClass sequenceNodeEClass = null; + + /** + * + * + * @generated + */ + private EClass textSequenceNodeEClass = null; + + /** + * + * + * @generated + */ + private EClass textNodeEClass = null; + + /** + * + * + * @generated + */ + private EClass errorStatementNodeEClass = null; + + /** + * + * + * @generated + */ + private EClass expandStatementNodeEClass = null; + + /** + * + * + * @generated + */ + private EClass expressionStmtNodeEClass = null; + + /** + * + * + * @generated + */ + private EClass fileStatementNodeEClass = null; + + /** + * + * + * @generated + */ + private EClass foreachStatementNodeEClass = null; + + /** + * + * + * @generated + */ + private EClass ifStatementNodeEClass = null; + + /** + * + * + * @generated + */ + private EClass elseIfStatementNodeEClass = null; + + /** + * + * + * @generated + */ + private EClass elseStatementNodeEClass = null; + + /** + * + * + * @generated + */ + private EClass letStatementNodeEClass = null; + + /** + * + * + * @generated + */ + private EClass protectStatementNodeEClass = null; + + /** + * + * + * @generated + */ + private EClass checkNodeEClass = null; + + /** + * + * + * @generated + */ + private EClass aroundNodeEClass = null; + + /** + * + * + * @generated + */ + private EClass pointcutNodeEClass = null; + + /** + * + * + * @generated + */ + private EClass extensionNodeEClass = null; + + /** + * + * + * @generated + */ + private EClass javaTypeNodeEClass = null; + + /** + * + * + * @generated + */ + private EClass test_expressionNodeEClass = null; + + /** + * + * + * @generated + */ + private EClass expressionNodeEClass = null; + + /** + * + * + * @generated + */ + private EClass letExpressionNodeEClass = null; + + /** + * + * + * @generated + */ + private EClass castedExpressionNodeEClass = null; + + /** + * + * + * @generated + */ + private EClass chainExpressionNodeEClass = null; + + /** + * + * + * @generated + */ + private EClass ifExpressionNodeEClass = null; + + /** + * + * + * @generated + */ + private EClass switchExpressionNodeEClass = null; + + /** + * + * + * @generated + */ + private EClass casePartNodeEClass = null; + + /** + * + * + * @generated + */ + private EClass orExpressionNodeEClass = null; + + /** + * + * + * @generated + */ + private EClass andExpressionNodeEClass = null; + + /** + * + * + * @generated + */ + private EClass impliesExpressionNodeEClass = null; + + /** + * + * + * @generated + */ + private EClass relationalExpressionNodeEClass = null; + + /** + * + * + * @generated + */ + private EClass additiveExpressionNodeEClass = null; + + /** + * + * + * @generated + */ + private EClass multiplicativeExpressionNodeEClass = null; + + /** + * + * + * @generated + */ + private EClass unaryExpressionNodeEClass = null; + + /** + * + * + * @generated + */ + private EClass infixExpressionNodeEClass = null; + + /** + * + * + * @generated + */ + private EClass stringLiteralNodeEClass = null; + + /** + * + * + * @generated + */ + private EClass paranthesizedExpressionNodeEClass = null; + + /** + * + * + * @generated + */ + private EClass globalVarExpressionNodeEClass = null; + + /** + * + * + * @generated + */ + private EClass featureCallNodeEClass = null; + + /** + * + * + * @generated + */ + private EClass listLiteralNodeEClass = null; + + /** + * + * + * @generated + */ + private EClass constructorCallNodeEClass = null; + + /** + * + * + * @generated + */ + private EClass booleanLiteralNodeEClass = null; + + /** + * + * + * @generated + */ + private EClass nullLiteralNodeEClass = null; + + /** + * + * + * @generated + */ + private EClass numberLiteralNodeEClass = null; + + /** + * + * + * @generated + */ + private EClass collectionExpressionNodeEClass = null; + + /** + * + * + * @generated + */ + private EClass declaredParameterListNodeEClass = null; + + /** + * + * + * @generated + */ + private EClass declaredParameterNodeEClass = null; + + /** + * + * + * @generated + */ + private EClass parameterListNodeEClass = null; + + /** + * + * + * @generated + */ + private EClass collectionTypeNodeEClass = null; + + /** + * + * + * @generated + */ + private EClass simpleTypeNodeEClass = null; + + /** + * + * + * @generated + */ + private EClass identifierNodeEClass = null; + + /** + * Creates an instance of the model Package, registered with + * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package + * package URI value. + *

Note: the correct way to create the package is via the static + * factory method {@link #init init()}, which also performs + * initialization of the package, or returns the registered package, + * if one already exists. + * + * + * @see org.eclipse.emf.ecore.EPackage.Registry + * @see org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage#eNS_URI + * @see #init() + * @generated + */ + private Xpand3nodePackageImpl() { + super(eNS_URI, Xpand3nodeFactory.eINSTANCE); + } + + /** + * + * + * @generated + */ + private static boolean isInited = false; + + /** + * Creates, registers, and initializes the Package for this + * model, and for any others upon which it depends. Simple + * dependencies are satisfied by calling this method on all + * dependent packages before doing anything else. This method drives + * initialization for interdependent packages directly, in parallel + * with this package, itself. + *

Of this package and its interdependencies, all packages which + * have not yet been registered by their URI values are first created + * and registered. The packages are then initialized in two steps: + * meta-model objects for all of the packages are created before any + * are initialized, since one package's meta-model objects may refer to + * those of another. + *

Invocation of this method will not affect any packages that have + * already been initialized. + * + * + * @see #eNS_URI + * @see #createPackageContents() + * @see #initializePackageContents() + * @generated + */ + public static Xpand3nodePackage init() { + if (isInited) return (Xpand3nodePackage)EPackage.Registry.INSTANCE.getEPackage(Xpand3nodePackage.eNS_URI); + + // Obtain or create and register package + Xpand3nodePackageImpl theXpand3nodePackage = (Xpand3nodePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(eNS_URI) instanceof Xpand3nodePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(eNS_URI) : new Xpand3nodePackageImpl()); + + isInited = true; + + // Initialize simple dependencies + NodePackage.eINSTANCE.eClass(); + + // Create package meta-data objects + theXpand3nodePackage.createPackageContents(); + + // Initialize created meta-data + theXpand3nodePackage.initializePackageContents(); + + // Mark meta-data to indicate it can't be changed + theXpand3nodePackage.freeze(); + + return theXpand3nodePackage; + } + + /** + * + * + * @generated + */ + public EClass getFileNode() { + return fileNodeEClass; + } + + /** + * + * + * @generated + */ + public EReference getFileNode_Decl() { + return (EReference)fileNodeEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EReference getFileNode_Imp() { + return (EReference)fileNodeEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EClass getNsImportNode() { + return nsImportNodeEClass; + } + + /** + * + * + * @generated + */ + public EReference getNsImportNode_Ns() { + return (EReference)nsImportNodeEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EClass getDefinitionNode() { + return definitionNodeEClass; + } + + /** + * + * + * @generated + */ + public EReference getDefinitionNode_Name() { + return (EReference)definitionNodeEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EClass getDefinitionAroundNode() { + return definitionAroundNodeEClass; + } + + /** + * + * + * @generated + */ + public EClass getSequenceNode() { + return sequenceNodeEClass; + } + + /** + * + * + * @generated + */ + public EClass getTextSequenceNode() { + return textSequenceNodeEClass; + } + + /** + * + * + * @generated + */ + public EClass getTextNode() { + return textNodeEClass; + } + + /** + * + * + * @generated + */ + public EClass getErrorStatementNode() { + return errorStatementNodeEClass; + } + + /** + * + * + * @generated + */ + public EClass getExpandStatementNode() { + return expandStatementNodeEClass; + } + + /** + * + * + * @generated + */ + public EClass getExpressionStmtNode() { + return expressionStmtNodeEClass; + } + + /** + * + * + * @generated + */ + public EClass getFileStatementNode() { + return fileStatementNodeEClass; + } + + /** + * + * + * @generated + */ + public EClass getForeachStatementNode() { + return foreachStatementNodeEClass; + } + + /** + * + * + * @generated + */ + public EClass getIfStatementNode() { + return ifStatementNodeEClass; + } + + /** + * + * + * @generated + */ + public EClass getElseIfStatementNode() { + return elseIfStatementNodeEClass; + } + + /** + * + * + * @generated + */ + public EClass getElseStatementNode() { + return elseStatementNodeEClass; + } + + /** + * + * + * @generated + */ + public EClass getLetStatementNode() { + return letStatementNodeEClass; + } + + /** + * + * + * @generated + */ + public EClass getProtectStatementNode() { + return protectStatementNodeEClass; + } + + /** + * + * + * @generated + */ + public EClass getCheckNode() { + return checkNodeEClass; + } + + /** + * + * + * @generated + */ + public EClass getAroundNode() { + return aroundNodeEClass; + } + + /** + * + * + * @generated + */ + public EClass getPointcutNode() { + return pointcutNodeEClass; + } + + /** + * + * + * @generated + */ + public EClass getExtensionNode() { + return extensionNodeEClass; + } + + /** + * + * + * @generated + */ + public EClass getJavaTypeNode() { + return javaTypeNodeEClass; + } + + /** + * + * + * @generated + */ + public EClass getTest_expressionNode() { + return test_expressionNodeEClass; + } + + /** + * + * + * @generated + */ + public EClass getExpressionNode() { + return expressionNodeEClass; + } + + /** + * + * + * @generated + */ + public EClass getLetExpressionNode() { + return letExpressionNodeEClass; + } + + /** + * + * + * @generated + */ + public EClass getCastedExpressionNode() { + return castedExpressionNodeEClass; + } + + /** + * + * + * @generated + */ + public EClass getChainExpressionNode() { + return chainExpressionNodeEClass; + } + + /** + * + * + * @generated + */ + public EClass getIfExpressionNode() { + return ifExpressionNodeEClass; + } + + /** + * + * + * @generated + */ + public EClass getSwitchExpressionNode() { + return switchExpressionNodeEClass; + } + + /** + * + * + * @generated + */ + public EClass getCasePartNode() { + return casePartNodeEClass; + } + + /** + * + * + * @generated + */ + public EClass getOrExpressionNode() { + return orExpressionNodeEClass; + } + + /** + * + * + * @generated + */ + public EClass getAndExpressionNode() { + return andExpressionNodeEClass; + } + + /** + * + * + * @generated + */ + public EClass getImpliesExpressionNode() { + return impliesExpressionNodeEClass; + } + + /** + * + * + * @generated + */ + public EClass getRelationalExpressionNode() { + return relationalExpressionNodeEClass; + } + + /** + * + * + * @generated + */ + public EClass getAdditiveExpressionNode() { + return additiveExpressionNodeEClass; + } + + /** + * + * + * @generated + */ + public EClass getMultiplicativeExpressionNode() { + return multiplicativeExpressionNodeEClass; + } + + /** + * + * + * @generated + */ + public EClass getUnaryExpressionNode() { + return unaryExpressionNodeEClass; + } + + /** + * + * + * @generated + */ + public EClass getInfixExpressionNode() { + return infixExpressionNodeEClass; + } + + /** + * + * + * @generated + */ + public EClass getStringLiteralNode() { + return stringLiteralNodeEClass; + } + + /** + * + * + * @generated + */ + public EClass getParanthesizedExpressionNode() { + return paranthesizedExpressionNodeEClass; + } + + /** + * + * + * @generated + */ + public EClass getGlobalVarExpressionNode() { + return globalVarExpressionNodeEClass; + } + + /** + * + * + * @generated + */ + public EClass getFeatureCallNode() { + return featureCallNodeEClass; + } + + /** + * + * + * @generated + */ + public EClass getListLiteralNode() { + return listLiteralNodeEClass; + } + + /** + * + * + * @generated + */ + public EClass getConstructorCallNode() { + return constructorCallNodeEClass; + } + + /** + * + * + * @generated + */ + public EClass getBooleanLiteralNode() { + return booleanLiteralNodeEClass; + } + + /** + * + * + * @generated + */ + public EClass getNullLiteralNode() { + return nullLiteralNodeEClass; + } + + /** + * + * + * @generated + */ + public EClass getNumberLiteralNode() { + return numberLiteralNodeEClass; + } + + /** + * + * + * @generated + */ + public EClass getCollectionExpressionNode() { + return collectionExpressionNodeEClass; + } + + /** + * + * + * @generated + */ + public EClass getDeclaredParameterListNode() { + return declaredParameterListNodeEClass; + } + + /** + * + * + * @generated + */ + public EClass getDeclaredParameterNode() { + return declaredParameterNodeEClass; + } + + /** + * + * + * @generated + */ + public EClass getParameterListNode() { + return parameterListNodeEClass; + } + + /** + * + * + * @generated + */ + public EClass getCollectionTypeNode() { + return collectionTypeNodeEClass; + } + + /** + * + * + * @generated + */ + public EClass getSimpleTypeNode() { + return simpleTypeNodeEClass; + } + + /** + * + * + * @generated + */ + public EClass getIdentifierNode() { + return identifierNodeEClass; + } + + /** + * + * + * @generated + */ + public Xpand3nodeFactory getXpand3nodeFactory() { + return (Xpand3nodeFactory)getEFactoryInstance(); + } + + /** + * + * + * @generated + */ + private boolean isCreated = false; + + /** + * Creates the meta-model objects for the package. This method is + * guarded to have no affect on any invocation but its first. + * + * + * @generated + */ + public void createPackageContents() { + if (isCreated) return; + isCreated = true; + + // Create classes and their features + fileNodeEClass = createEClass(FILE_NODE); + createEReference(fileNodeEClass, FILE_NODE__DECL); + createEReference(fileNodeEClass, FILE_NODE__IMP); + + nsImportNodeEClass = createEClass(NS_IMPORT_NODE); + createEReference(nsImportNodeEClass, NS_IMPORT_NODE__NS); + + definitionNodeEClass = createEClass(DEFINITION_NODE); + createEReference(definitionNodeEClass, DEFINITION_NODE__NAME); + + definitionAroundNodeEClass = createEClass(DEFINITION_AROUND_NODE); + + sequenceNodeEClass = createEClass(SEQUENCE_NODE); + + textSequenceNodeEClass = createEClass(TEXT_SEQUENCE_NODE); + + textNodeEClass = createEClass(TEXT_NODE); + + errorStatementNodeEClass = createEClass(ERROR_STATEMENT_NODE); + + expandStatementNodeEClass = createEClass(EXPAND_STATEMENT_NODE); + + expressionStmtNodeEClass = createEClass(EXPRESSION_STMT_NODE); + + fileStatementNodeEClass = createEClass(FILE_STATEMENT_NODE); + + foreachStatementNodeEClass = createEClass(FOREACH_STATEMENT_NODE); + + ifStatementNodeEClass = createEClass(IF_STATEMENT_NODE); + + elseIfStatementNodeEClass = createEClass(ELSE_IF_STATEMENT_NODE); + + elseStatementNodeEClass = createEClass(ELSE_STATEMENT_NODE); + + letStatementNodeEClass = createEClass(LET_STATEMENT_NODE); + + protectStatementNodeEClass = createEClass(PROTECT_STATEMENT_NODE); + + checkNodeEClass = createEClass(CHECK_NODE); + + aroundNodeEClass = createEClass(AROUND_NODE); + + pointcutNodeEClass = createEClass(POINTCUT_NODE); + + extensionNodeEClass = createEClass(EXTENSION_NODE); + + javaTypeNodeEClass = createEClass(JAVA_TYPE_NODE); + + test_expressionNodeEClass = createEClass(TEST_EXPRESSION_NODE); + + expressionNodeEClass = createEClass(EXPRESSION_NODE); + + letExpressionNodeEClass = createEClass(LET_EXPRESSION_NODE); + + castedExpressionNodeEClass = createEClass(CASTED_EXPRESSION_NODE); + + chainExpressionNodeEClass = createEClass(CHAIN_EXPRESSION_NODE); + + ifExpressionNodeEClass = createEClass(IF_EXPRESSION_NODE); + + switchExpressionNodeEClass = createEClass(SWITCH_EXPRESSION_NODE); + + casePartNodeEClass = createEClass(CASE_PART_NODE); + + orExpressionNodeEClass = createEClass(OR_EXPRESSION_NODE); + + andExpressionNodeEClass = createEClass(AND_EXPRESSION_NODE); + + impliesExpressionNodeEClass = createEClass(IMPLIES_EXPRESSION_NODE); + + relationalExpressionNodeEClass = createEClass(RELATIONAL_EXPRESSION_NODE); + + additiveExpressionNodeEClass = createEClass(ADDITIVE_EXPRESSION_NODE); + + multiplicativeExpressionNodeEClass = createEClass(MULTIPLICATIVE_EXPRESSION_NODE); + + unaryExpressionNodeEClass = createEClass(UNARY_EXPRESSION_NODE); + + infixExpressionNodeEClass = createEClass(INFIX_EXPRESSION_NODE); + + stringLiteralNodeEClass = createEClass(STRING_LITERAL_NODE); + + paranthesizedExpressionNodeEClass = createEClass(PARANTHESIZED_EXPRESSION_NODE); + + globalVarExpressionNodeEClass = createEClass(GLOBAL_VAR_EXPRESSION_NODE); + + featureCallNodeEClass = createEClass(FEATURE_CALL_NODE); + + listLiteralNodeEClass = createEClass(LIST_LITERAL_NODE); + + constructorCallNodeEClass = createEClass(CONSTRUCTOR_CALL_NODE); + + booleanLiteralNodeEClass = createEClass(BOOLEAN_LITERAL_NODE); + + nullLiteralNodeEClass = createEClass(NULL_LITERAL_NODE); + + numberLiteralNodeEClass = createEClass(NUMBER_LITERAL_NODE); + + collectionExpressionNodeEClass = createEClass(COLLECTION_EXPRESSION_NODE); + + declaredParameterListNodeEClass = createEClass(DECLARED_PARAMETER_LIST_NODE); + + declaredParameterNodeEClass = createEClass(DECLARED_PARAMETER_NODE); + + parameterListNodeEClass = createEClass(PARAMETER_LIST_NODE); + + collectionTypeNodeEClass = createEClass(COLLECTION_TYPE_NODE); + + simpleTypeNodeEClass = createEClass(SIMPLE_TYPE_NODE); + + identifierNodeEClass = createEClass(IDENTIFIER_NODE); + } + + /** + * + * + * @generated + */ + private boolean isInitialized = false; + + /** + * Complete the initialization of the package and its meta-model. This + * method is guarded to have no affect on any invocation but its first. + * + * + * @generated + */ + public void initializePackageContents() { + if (isInitialized) return; + isInitialized = true; + + // Initialize package + setName(eNAME); + setNsPrefix(eNS_PREFIX); + setNsURI(eNS_URI); + + // Obtain other dependent packages + NodePackage theNodePackage = (NodePackage)EPackage.Registry.INSTANCE.getEPackage(NodePackage.eNS_URI); + + // Create type parameters + + // Set bounds for type parameters + + // Add supertypes to classes + fileNodeEClass.getESuperTypes().add(theNodePackage.getCompositeNode()); + nsImportNodeEClass.getESuperTypes().add(theNodePackage.getCompositeNode()); + definitionNodeEClass.getESuperTypes().add(theNodePackage.getCompositeNode()); + definitionAroundNodeEClass.getESuperTypes().add(theNodePackage.getCompositeNode()); + sequenceNodeEClass.getESuperTypes().add(theNodePackage.getCompositeNode()); + textSequenceNodeEClass.getESuperTypes().add(theNodePackage.getCompositeNode()); + textNodeEClass.getESuperTypes().add(theNodePackage.getCompositeNode()); + errorStatementNodeEClass.getESuperTypes().add(theNodePackage.getCompositeNode()); + expandStatementNodeEClass.getESuperTypes().add(theNodePackage.getCompositeNode()); + expressionStmtNodeEClass.getESuperTypes().add(theNodePackage.getCompositeNode()); + fileStatementNodeEClass.getESuperTypes().add(theNodePackage.getCompositeNode()); + foreachStatementNodeEClass.getESuperTypes().add(theNodePackage.getCompositeNode()); + ifStatementNodeEClass.getESuperTypes().add(theNodePackage.getCompositeNode()); + elseIfStatementNodeEClass.getESuperTypes().add(theNodePackage.getCompositeNode()); + elseStatementNodeEClass.getESuperTypes().add(theNodePackage.getCompositeNode()); + letStatementNodeEClass.getESuperTypes().add(theNodePackage.getCompositeNode()); + protectStatementNodeEClass.getESuperTypes().add(theNodePackage.getCompositeNode()); + checkNodeEClass.getESuperTypes().add(theNodePackage.getCompositeNode()); + aroundNodeEClass.getESuperTypes().add(theNodePackage.getCompositeNode()); + pointcutNodeEClass.getESuperTypes().add(theNodePackage.getCompositeNode()); + extensionNodeEClass.getESuperTypes().add(theNodePackage.getCompositeNode()); + javaTypeNodeEClass.getESuperTypes().add(theNodePackage.getCompositeNode()); + test_expressionNodeEClass.getESuperTypes().add(theNodePackage.getCompositeNode()); + expressionNodeEClass.getESuperTypes().add(theNodePackage.getCompositeNode()); + letExpressionNodeEClass.getESuperTypes().add(theNodePackage.getCompositeNode()); + castedExpressionNodeEClass.getESuperTypes().add(theNodePackage.getCompositeNode()); + chainExpressionNodeEClass.getESuperTypes().add(theNodePackage.getCompositeNode()); + ifExpressionNodeEClass.getESuperTypes().add(theNodePackage.getCompositeNode()); + switchExpressionNodeEClass.getESuperTypes().add(theNodePackage.getCompositeNode()); + casePartNodeEClass.getESuperTypes().add(theNodePackage.getCompositeNode()); + orExpressionNodeEClass.getESuperTypes().add(theNodePackage.getCompositeNode()); + andExpressionNodeEClass.getESuperTypes().add(theNodePackage.getCompositeNode()); + impliesExpressionNodeEClass.getESuperTypes().add(theNodePackage.getCompositeNode()); + relationalExpressionNodeEClass.getESuperTypes().add(theNodePackage.getCompositeNode()); + additiveExpressionNodeEClass.getESuperTypes().add(theNodePackage.getCompositeNode()); + multiplicativeExpressionNodeEClass.getESuperTypes().add(theNodePackage.getCompositeNode()); + unaryExpressionNodeEClass.getESuperTypes().add(theNodePackage.getCompositeNode()); + infixExpressionNodeEClass.getESuperTypes().add(theNodePackage.getCompositeNode()); + stringLiteralNodeEClass.getESuperTypes().add(theNodePackage.getCompositeNode()); + paranthesizedExpressionNodeEClass.getESuperTypes().add(theNodePackage.getCompositeNode()); + globalVarExpressionNodeEClass.getESuperTypes().add(theNodePackage.getCompositeNode()); + featureCallNodeEClass.getESuperTypes().add(theNodePackage.getCompositeNode()); + listLiteralNodeEClass.getESuperTypes().add(theNodePackage.getCompositeNode()); + constructorCallNodeEClass.getESuperTypes().add(theNodePackage.getCompositeNode()); + booleanLiteralNodeEClass.getESuperTypes().add(theNodePackage.getCompositeNode()); + nullLiteralNodeEClass.getESuperTypes().add(theNodePackage.getCompositeNode()); + numberLiteralNodeEClass.getESuperTypes().add(theNodePackage.getCompositeNode()); + collectionExpressionNodeEClass.getESuperTypes().add(theNodePackage.getCompositeNode()); + declaredParameterListNodeEClass.getESuperTypes().add(theNodePackage.getCompositeNode()); + declaredParameterNodeEClass.getESuperTypes().add(theNodePackage.getCompositeNode()); + parameterListNodeEClass.getESuperTypes().add(theNodePackage.getCompositeNode()); + collectionTypeNodeEClass.getESuperTypes().add(theNodePackage.getCompositeNode()); + simpleTypeNodeEClass.getESuperTypes().add(theNodePackage.getCompositeNode()); + identifierNodeEClass.getESuperTypes().add(theNodePackage.getCompositeNode()); + + // Initialize classes and features; add operations and parameters + initEClass(fileNodeEClass, FileNode.class, "FileNode", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getFileNode_Decl(), theNodePackage.getCompositeNode(), null, "decl", null, 0, -1, FileNode.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getFileNode_Imp(), theNodePackage.getCompositeNode(), null, "imp", null, 0, -1, FileNode.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(nsImportNodeEClass, NsImportNode.class, "NsImportNode", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getNsImportNode_Ns(), theNodePackage.getCompositeNode(), null, "ns", null, 0, 1, NsImportNode.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(definitionNodeEClass, DefinitionNode.class, "DefinitionNode", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getDefinitionNode_Name(), theNodePackage.getCompositeNode(), null, "name", null, 0, 1, DefinitionNode.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(definitionAroundNodeEClass, DefinitionAroundNode.class, "DefinitionAroundNode", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(sequenceNodeEClass, SequenceNode.class, "SequenceNode", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(textSequenceNodeEClass, TextSequenceNode.class, "TextSequenceNode", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(textNodeEClass, TextNode.class, "TextNode", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(errorStatementNodeEClass, ErrorStatementNode.class, "ErrorStatementNode", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(expandStatementNodeEClass, ExpandStatementNode.class, "ExpandStatementNode", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(expressionStmtNodeEClass, ExpressionStmtNode.class, "ExpressionStmtNode", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(fileStatementNodeEClass, FileStatementNode.class, "FileStatementNode", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(foreachStatementNodeEClass, ForeachStatementNode.class, "ForeachStatementNode", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(ifStatementNodeEClass, IfStatementNode.class, "IfStatementNode", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(elseIfStatementNodeEClass, ElseIfStatementNode.class, "ElseIfStatementNode", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(elseStatementNodeEClass, ElseStatementNode.class, "ElseStatementNode", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(letStatementNodeEClass, LetStatementNode.class, "LetStatementNode", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(protectStatementNodeEClass, ProtectStatementNode.class, "ProtectStatementNode", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(checkNodeEClass, CheckNode.class, "CheckNode", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(aroundNodeEClass, AroundNode.class, "AroundNode", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(pointcutNodeEClass, PointcutNode.class, "PointcutNode", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(extensionNodeEClass, ExtensionNode.class, "ExtensionNode", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(javaTypeNodeEClass, JavaTypeNode.class, "JavaTypeNode", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(test_expressionNodeEClass, Test_expressionNode.class, "Test_expressionNode", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(expressionNodeEClass, ExpressionNode.class, "ExpressionNode", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(letExpressionNodeEClass, LetExpressionNode.class, "LetExpressionNode", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(castedExpressionNodeEClass, CastedExpressionNode.class, "CastedExpressionNode", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(chainExpressionNodeEClass, ChainExpressionNode.class, "ChainExpressionNode", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(ifExpressionNodeEClass, IfExpressionNode.class, "IfExpressionNode", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(switchExpressionNodeEClass, SwitchExpressionNode.class, "SwitchExpressionNode", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(casePartNodeEClass, CasePartNode.class, "CasePartNode", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(orExpressionNodeEClass, OrExpressionNode.class, "OrExpressionNode", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(andExpressionNodeEClass, AndExpressionNode.class, "AndExpressionNode", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(impliesExpressionNodeEClass, ImpliesExpressionNode.class, "ImpliesExpressionNode", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(relationalExpressionNodeEClass, RelationalExpressionNode.class, "RelationalExpressionNode", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(additiveExpressionNodeEClass, AdditiveExpressionNode.class, "AdditiveExpressionNode", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(multiplicativeExpressionNodeEClass, MultiplicativeExpressionNode.class, "MultiplicativeExpressionNode", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(unaryExpressionNodeEClass, UnaryExpressionNode.class, "UnaryExpressionNode", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(infixExpressionNodeEClass, InfixExpressionNode.class, "InfixExpressionNode", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(stringLiteralNodeEClass, StringLiteralNode.class, "StringLiteralNode", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(paranthesizedExpressionNodeEClass, ParanthesizedExpressionNode.class, "ParanthesizedExpressionNode", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(globalVarExpressionNodeEClass, GlobalVarExpressionNode.class, "GlobalVarExpressionNode", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(featureCallNodeEClass, FeatureCallNode.class, "FeatureCallNode", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(listLiteralNodeEClass, ListLiteralNode.class, "ListLiteralNode", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(constructorCallNodeEClass, ConstructorCallNode.class, "ConstructorCallNode", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(booleanLiteralNodeEClass, BooleanLiteralNode.class, "BooleanLiteralNode", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(nullLiteralNodeEClass, NullLiteralNode.class, "NullLiteralNode", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(numberLiteralNodeEClass, NumberLiteralNode.class, "NumberLiteralNode", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(collectionExpressionNodeEClass, CollectionExpressionNode.class, "CollectionExpressionNode", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(declaredParameterListNodeEClass, DeclaredParameterListNode.class, "DeclaredParameterListNode", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(declaredParameterNodeEClass, DeclaredParameterNode.class, "DeclaredParameterNode", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(parameterListNodeEClass, ParameterListNode.class, "ParameterListNode", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(collectionTypeNodeEClass, CollectionTypeNode.class, "CollectionTypeNode", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(simpleTypeNodeEClass, SimpleTypeNode.class, "SimpleTypeNode", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(identifierNodeEClass, IdentifierNode.class, "IdentifierNode", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + // Create resource + createResource(eNS_URI); + } + +} //Xpand3nodePackageImpl diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/util/Xpand3nodeAdapterFactory.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/util/Xpand3nodeAdapterFactory.java new file mode 100644 index 00000000..867fe5b8 --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/util/Xpand3nodeAdapterFactory.java @@ -0,0 +1,1117 @@ +/** + * + * + * + * $Id: Xpand3nodeAdapterFactory.java,v 1.1 2008/03/06 08:55:16 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node.util; + +import org.eclipse.emf.common.notify.Adapter; +import org.eclipse.emf.common.notify.Notifier; + +import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl; + +import org.eclipse.emf.ecore.EObject; + +import org.eclipse.tmf.common.node.CompositeNode; +import org.eclipse.tmf.common.node.Node; + +import org.eclipse.xpand3.internal.parser.xpand3node.*; + +/** + * + * The Adapter Factory for the model. + * It provides an adapter createXXX method for each class of the model. + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage + * @generated + */ +public class Xpand3nodeAdapterFactory extends AdapterFactoryImpl { + /** + * The cached model package. + * + * + * @generated + */ + protected static Xpand3nodePackage modelPackage; + + /** + * Creates an instance of the adapter factory. + * + * + * @generated + */ + public Xpand3nodeAdapterFactory() { + if (modelPackage == null) { + modelPackage = Xpand3nodePackage.eINSTANCE; + } + } + + /** + * Returns whether this factory is applicable for the type of the object. + * + * This implementation returns true if the object is either the model's package or is an instance object of the model. + * + * @return whether this factory is applicable for the type of the object. + * @generated + */ + @Override + public boolean isFactoryForType(Object object) { + if (object == modelPackage) { + return true; + } + if (object instanceof EObject) { + return ((EObject)object).eClass().getEPackage() == modelPackage; + } + return false; + } + + /** + * The switch the delegates to the createXXX methods. + * + * + * @generated + */ + protected Xpand3nodeSwitch modelSwitch = + new Xpand3nodeSwitch() { + @Override + public Adapter caseFileNode(FileNode object) { + return createFileNodeAdapter(); + } + @Override + public Adapter caseNsImportNode(NsImportNode object) { + return createNsImportNodeAdapter(); + } + @Override + public Adapter caseDefinitionNode(DefinitionNode object) { + return createDefinitionNodeAdapter(); + } + @Override + public Adapter caseDefinitionAroundNode(DefinitionAroundNode object) { + return createDefinitionAroundNodeAdapter(); + } + @Override + public Adapter caseSequenceNode(SequenceNode object) { + return createSequenceNodeAdapter(); + } + @Override + public Adapter caseTextSequenceNode(TextSequenceNode object) { + return createTextSequenceNodeAdapter(); + } + @Override + public Adapter caseTextNode(TextNode object) { + return createTextNodeAdapter(); + } + @Override + public Adapter caseErrorStatementNode(ErrorStatementNode object) { + return createErrorStatementNodeAdapter(); + } + @Override + public Adapter caseExpandStatementNode(ExpandStatementNode object) { + return createExpandStatementNodeAdapter(); + } + @Override + public Adapter caseExpressionStmtNode(ExpressionStmtNode object) { + return createExpressionStmtNodeAdapter(); + } + @Override + public Adapter caseFileStatementNode(FileStatementNode object) { + return createFileStatementNodeAdapter(); + } + @Override + public Adapter caseForeachStatementNode(ForeachStatementNode object) { + return createForeachStatementNodeAdapter(); + } + @Override + public Adapter caseIfStatementNode(IfStatementNode object) { + return createIfStatementNodeAdapter(); + } + @Override + public Adapter caseElseIfStatementNode(ElseIfStatementNode object) { + return createElseIfStatementNodeAdapter(); + } + @Override + public Adapter caseElseStatementNode(ElseStatementNode object) { + return createElseStatementNodeAdapter(); + } + @Override + public Adapter caseLetStatementNode(LetStatementNode object) { + return createLetStatementNodeAdapter(); + } + @Override + public Adapter caseProtectStatementNode(ProtectStatementNode object) { + return createProtectStatementNodeAdapter(); + } + @Override + public Adapter caseCheckNode(CheckNode object) { + return createCheckNodeAdapter(); + } + @Override + public Adapter caseAroundNode(AroundNode object) { + return createAroundNodeAdapter(); + } + @Override + public Adapter casePointcutNode(PointcutNode object) { + return createPointcutNodeAdapter(); + } + @Override + public Adapter caseExtensionNode(ExtensionNode object) { + return createExtensionNodeAdapter(); + } + @Override + public Adapter caseJavaTypeNode(JavaTypeNode object) { + return createJavaTypeNodeAdapter(); + } + @Override + public Adapter caseTest_expressionNode(Test_expressionNode object) { + return createTest_expressionNodeAdapter(); + } + @Override + public Adapter caseExpressionNode(ExpressionNode object) { + return createExpressionNodeAdapter(); + } + @Override + public Adapter caseLetExpressionNode(LetExpressionNode object) { + return createLetExpressionNodeAdapter(); + } + @Override + public Adapter caseCastedExpressionNode(CastedExpressionNode object) { + return createCastedExpressionNodeAdapter(); + } + @Override + public Adapter caseChainExpressionNode(ChainExpressionNode object) { + return createChainExpressionNodeAdapter(); + } + @Override + public Adapter caseIfExpressionNode(IfExpressionNode object) { + return createIfExpressionNodeAdapter(); + } + @Override + public Adapter caseSwitchExpressionNode(SwitchExpressionNode object) { + return createSwitchExpressionNodeAdapter(); + } + @Override + public Adapter caseCasePartNode(CasePartNode object) { + return createCasePartNodeAdapter(); + } + @Override + public Adapter caseOrExpressionNode(OrExpressionNode object) { + return createOrExpressionNodeAdapter(); + } + @Override + public Adapter caseAndExpressionNode(AndExpressionNode object) { + return createAndExpressionNodeAdapter(); + } + @Override + public Adapter caseImpliesExpressionNode(ImpliesExpressionNode object) { + return createImpliesExpressionNodeAdapter(); + } + @Override + public Adapter caseRelationalExpressionNode(RelationalExpressionNode object) { + return createRelationalExpressionNodeAdapter(); + } + @Override + public Adapter caseAdditiveExpressionNode(AdditiveExpressionNode object) { + return createAdditiveExpressionNodeAdapter(); + } + @Override + public Adapter caseMultiplicativeExpressionNode(MultiplicativeExpressionNode object) { + return createMultiplicativeExpressionNodeAdapter(); + } + @Override + public Adapter caseUnaryExpressionNode(UnaryExpressionNode object) { + return createUnaryExpressionNodeAdapter(); + } + @Override + public Adapter caseInfixExpressionNode(InfixExpressionNode object) { + return createInfixExpressionNodeAdapter(); + } + @Override + public Adapter caseStringLiteralNode(StringLiteralNode object) { + return createStringLiteralNodeAdapter(); + } + @Override + public Adapter caseParanthesizedExpressionNode(ParanthesizedExpressionNode object) { + return createParanthesizedExpressionNodeAdapter(); + } + @Override + public Adapter caseGlobalVarExpressionNode(GlobalVarExpressionNode object) { + return createGlobalVarExpressionNodeAdapter(); + } + @Override + public Adapter caseFeatureCallNode(FeatureCallNode object) { + return createFeatureCallNodeAdapter(); + } + @Override + public Adapter caseListLiteralNode(ListLiteralNode object) { + return createListLiteralNodeAdapter(); + } + @Override + public Adapter caseConstructorCallNode(ConstructorCallNode object) { + return createConstructorCallNodeAdapter(); + } + @Override + public Adapter caseBooleanLiteralNode(BooleanLiteralNode object) { + return createBooleanLiteralNodeAdapter(); + } + @Override + public Adapter caseNullLiteralNode(NullLiteralNode object) { + return createNullLiteralNodeAdapter(); + } + @Override + public Adapter caseNumberLiteralNode(NumberLiteralNode object) { + return createNumberLiteralNodeAdapter(); + } + @Override + public Adapter caseCollectionExpressionNode(CollectionExpressionNode object) { + return createCollectionExpressionNodeAdapter(); + } + @Override + public Adapter caseDeclaredParameterListNode(DeclaredParameterListNode object) { + return createDeclaredParameterListNodeAdapter(); + } + @Override + public Adapter caseDeclaredParameterNode(DeclaredParameterNode object) { + return createDeclaredParameterNodeAdapter(); + } + @Override + public Adapter caseParameterListNode(ParameterListNode object) { + return createParameterListNodeAdapter(); + } + @Override + public Adapter caseCollectionTypeNode(CollectionTypeNode object) { + return createCollectionTypeNodeAdapter(); + } + @Override + public Adapter caseSimpleTypeNode(SimpleTypeNode object) { + return createSimpleTypeNodeAdapter(); + } + @Override + public Adapter caseIdentifierNode(IdentifierNode object) { + return createIdentifierNodeAdapter(); + } + @Override + public Adapter caseNode(Node object) { + return createNodeAdapter(); + } + @Override + public Adapter caseCompositeNode(CompositeNode object) { + return createCompositeNodeAdapter(); + } + @Override + public Adapter defaultCase(EObject object) { + return createEObjectAdapter(); + } + }; + + /** + * Creates an adapter for the target. + * + * + * @param target the object to adapt. + * @return the adapter for the target. + * @generated + */ + @Override + public Adapter createAdapter(Notifier target) { + return modelSwitch.doSwitch((EObject)target); + } + + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.xpand3.internal.parser.xpand3node.FileNode File Node}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.xpand3.internal.parser.xpand3node.FileNode + * @generated + */ + public Adapter createFileNodeAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.xpand3.internal.parser.xpand3node.NsImportNode Ns Import Node}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.xpand3.internal.parser.xpand3node.NsImportNode + * @generated + */ + public Adapter createNsImportNodeAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.xpand3.internal.parser.xpand3node.DefinitionNode Definition Node}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.xpand3.internal.parser.xpand3node.DefinitionNode + * @generated + */ + public Adapter createDefinitionNodeAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.xpand3.internal.parser.xpand3node.DefinitionAroundNode Definition Around Node}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.xpand3.internal.parser.xpand3node.DefinitionAroundNode + * @generated + */ + public Adapter createDefinitionAroundNodeAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.xpand3.internal.parser.xpand3node.SequenceNode Sequence Node}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.xpand3.internal.parser.xpand3node.SequenceNode + * @generated + */ + public Adapter createSequenceNodeAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.xpand3.internal.parser.xpand3node.TextSequenceNode Text Sequence Node}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.xpand3.internal.parser.xpand3node.TextSequenceNode + * @generated + */ + public Adapter createTextSequenceNodeAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.xpand3.internal.parser.xpand3node.TextNode Text Node}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.xpand3.internal.parser.xpand3node.TextNode + * @generated + */ + public Adapter createTextNodeAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.xpand3.internal.parser.xpand3node.ErrorStatementNode Error Statement Node}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.xpand3.internal.parser.xpand3node.ErrorStatementNode + * @generated + */ + public Adapter createErrorStatementNodeAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.xpand3.internal.parser.xpand3node.ExpandStatementNode Expand Statement Node}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.xpand3.internal.parser.xpand3node.ExpandStatementNode + * @generated + */ + public Adapter createExpandStatementNodeAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.xpand3.internal.parser.xpand3node.ExpressionStmtNode Expression Stmt Node}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.xpand3.internal.parser.xpand3node.ExpressionStmtNode + * @generated + */ + public Adapter createExpressionStmtNodeAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.xpand3.internal.parser.xpand3node.FileStatementNode File Statement Node}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.xpand3.internal.parser.xpand3node.FileStatementNode + * @generated + */ + public Adapter createFileStatementNodeAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.xpand3.internal.parser.xpand3node.ForeachStatementNode Foreach Statement Node}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.xpand3.internal.parser.xpand3node.ForeachStatementNode + * @generated + */ + public Adapter createForeachStatementNodeAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.xpand3.internal.parser.xpand3node.IfStatementNode If Statement Node}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.xpand3.internal.parser.xpand3node.IfStatementNode + * @generated + */ + public Adapter createIfStatementNodeAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.xpand3.internal.parser.xpand3node.ElseIfStatementNode Else If Statement Node}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.xpand3.internal.parser.xpand3node.ElseIfStatementNode + * @generated + */ + public Adapter createElseIfStatementNodeAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.xpand3.internal.parser.xpand3node.ElseStatementNode Else Statement Node}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.xpand3.internal.parser.xpand3node.ElseStatementNode + * @generated + */ + public Adapter createElseStatementNodeAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.xpand3.internal.parser.xpand3node.LetStatementNode Let Statement Node}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.xpand3.internal.parser.xpand3node.LetStatementNode + * @generated + */ + public Adapter createLetStatementNodeAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.xpand3.internal.parser.xpand3node.ProtectStatementNode Protect Statement Node}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.xpand3.internal.parser.xpand3node.ProtectStatementNode + * @generated + */ + public Adapter createProtectStatementNodeAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.xpand3.internal.parser.xpand3node.CheckNode Check Node}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.xpand3.internal.parser.xpand3node.CheckNode + * @generated + */ + public Adapter createCheckNodeAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.xpand3.internal.parser.xpand3node.AroundNode Around Node}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.xpand3.internal.parser.xpand3node.AroundNode + * @generated + */ + public Adapter createAroundNodeAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.xpand3.internal.parser.xpand3node.PointcutNode Pointcut Node}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.xpand3.internal.parser.xpand3node.PointcutNode + * @generated + */ + public Adapter createPointcutNodeAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.xpand3.internal.parser.xpand3node.ExtensionNode Extension Node}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.xpand3.internal.parser.xpand3node.ExtensionNode + * @generated + */ + public Adapter createExtensionNodeAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.xpand3.internal.parser.xpand3node.JavaTypeNode Java Type Node}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.xpand3.internal.parser.xpand3node.JavaTypeNode + * @generated + */ + public Adapter createJavaTypeNodeAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.xpand3.internal.parser.xpand3node.Test_expressionNode Test expression Node}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.xpand3.internal.parser.xpand3node.Test_expressionNode + * @generated + */ + public Adapter createTest_expressionNodeAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.xpand3.internal.parser.xpand3node.ExpressionNode Expression Node}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.xpand3.internal.parser.xpand3node.ExpressionNode + * @generated + */ + public Adapter createExpressionNodeAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.xpand3.internal.parser.xpand3node.LetExpressionNode Let Expression Node}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.xpand3.internal.parser.xpand3node.LetExpressionNode + * @generated + */ + public Adapter createLetExpressionNodeAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.xpand3.internal.parser.xpand3node.CastedExpressionNode Casted Expression Node}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.xpand3.internal.parser.xpand3node.CastedExpressionNode + * @generated + */ + public Adapter createCastedExpressionNodeAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.xpand3.internal.parser.xpand3node.ChainExpressionNode Chain Expression Node}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.xpand3.internal.parser.xpand3node.ChainExpressionNode + * @generated + */ + public Adapter createChainExpressionNodeAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.xpand3.internal.parser.xpand3node.IfExpressionNode If Expression Node}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.xpand3.internal.parser.xpand3node.IfExpressionNode + * @generated + */ + public Adapter createIfExpressionNodeAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.xpand3.internal.parser.xpand3node.SwitchExpressionNode Switch Expression Node}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.xpand3.internal.parser.xpand3node.SwitchExpressionNode + * @generated + */ + public Adapter createSwitchExpressionNodeAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.xpand3.internal.parser.xpand3node.CasePartNode Case Part Node}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.xpand3.internal.parser.xpand3node.CasePartNode + * @generated + */ + public Adapter createCasePartNodeAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.xpand3.internal.parser.xpand3node.OrExpressionNode Or Expression Node}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.xpand3.internal.parser.xpand3node.OrExpressionNode + * @generated + */ + public Adapter createOrExpressionNodeAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.xpand3.internal.parser.xpand3node.AndExpressionNode And Expression Node}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.xpand3.internal.parser.xpand3node.AndExpressionNode + * @generated + */ + public Adapter createAndExpressionNodeAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.xpand3.internal.parser.xpand3node.ImpliesExpressionNode Implies Expression Node}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.xpand3.internal.parser.xpand3node.ImpliesExpressionNode + * @generated + */ + public Adapter createImpliesExpressionNodeAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.xpand3.internal.parser.xpand3node.RelationalExpressionNode Relational Expression Node}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.xpand3.internal.parser.xpand3node.RelationalExpressionNode + * @generated + */ + public Adapter createRelationalExpressionNodeAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.xpand3.internal.parser.xpand3node.AdditiveExpressionNode Additive Expression Node}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.xpand3.internal.parser.xpand3node.AdditiveExpressionNode + * @generated + */ + public Adapter createAdditiveExpressionNodeAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.xpand3.internal.parser.xpand3node.MultiplicativeExpressionNode Multiplicative Expression Node}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.xpand3.internal.parser.xpand3node.MultiplicativeExpressionNode + * @generated + */ + public Adapter createMultiplicativeExpressionNodeAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.xpand3.internal.parser.xpand3node.UnaryExpressionNode Unary Expression Node}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.xpand3.internal.parser.xpand3node.UnaryExpressionNode + * @generated + */ + public Adapter createUnaryExpressionNodeAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.xpand3.internal.parser.xpand3node.InfixExpressionNode Infix Expression Node}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.xpand3.internal.parser.xpand3node.InfixExpressionNode + * @generated + */ + public Adapter createInfixExpressionNodeAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.xpand3.internal.parser.xpand3node.StringLiteralNode String Literal Node}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.xpand3.internal.parser.xpand3node.StringLiteralNode + * @generated + */ + public Adapter createStringLiteralNodeAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.xpand3.internal.parser.xpand3node.ParanthesizedExpressionNode Paranthesized Expression Node}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.xpand3.internal.parser.xpand3node.ParanthesizedExpressionNode + * @generated + */ + public Adapter createParanthesizedExpressionNodeAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.xpand3.internal.parser.xpand3node.GlobalVarExpressionNode Global Var Expression Node}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.xpand3.internal.parser.xpand3node.GlobalVarExpressionNode + * @generated + */ + public Adapter createGlobalVarExpressionNodeAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.xpand3.internal.parser.xpand3node.FeatureCallNode Feature Call Node}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.xpand3.internal.parser.xpand3node.FeatureCallNode + * @generated + */ + public Adapter createFeatureCallNodeAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.xpand3.internal.parser.xpand3node.ListLiteralNode List Literal Node}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.xpand3.internal.parser.xpand3node.ListLiteralNode + * @generated + */ + public Adapter createListLiteralNodeAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.xpand3.internal.parser.xpand3node.ConstructorCallNode Constructor Call Node}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.xpand3.internal.parser.xpand3node.ConstructorCallNode + * @generated + */ + public Adapter createConstructorCallNodeAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.xpand3.internal.parser.xpand3node.BooleanLiteralNode Boolean Literal Node}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.xpand3.internal.parser.xpand3node.BooleanLiteralNode + * @generated + */ + public Adapter createBooleanLiteralNodeAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.xpand3.internal.parser.xpand3node.NullLiteralNode Null Literal Node}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.xpand3.internal.parser.xpand3node.NullLiteralNode + * @generated + */ + public Adapter createNullLiteralNodeAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.xpand3.internal.parser.xpand3node.NumberLiteralNode Number Literal Node}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.xpand3.internal.parser.xpand3node.NumberLiteralNode + * @generated + */ + public Adapter createNumberLiteralNodeAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.xpand3.internal.parser.xpand3node.CollectionExpressionNode Collection Expression Node}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.xpand3.internal.parser.xpand3node.CollectionExpressionNode + * @generated + */ + public Adapter createCollectionExpressionNodeAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.xpand3.internal.parser.xpand3node.DeclaredParameterListNode Declared Parameter List Node}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.xpand3.internal.parser.xpand3node.DeclaredParameterListNode + * @generated + */ + public Adapter createDeclaredParameterListNodeAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.xpand3.internal.parser.xpand3node.DeclaredParameterNode Declared Parameter Node}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.xpand3.internal.parser.xpand3node.DeclaredParameterNode + * @generated + */ + public Adapter createDeclaredParameterNodeAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.xpand3.internal.parser.xpand3node.ParameterListNode Parameter List Node}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.xpand3.internal.parser.xpand3node.ParameterListNode + * @generated + */ + public Adapter createParameterListNodeAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.xpand3.internal.parser.xpand3node.CollectionTypeNode Collection Type Node}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.xpand3.internal.parser.xpand3node.CollectionTypeNode + * @generated + */ + public Adapter createCollectionTypeNodeAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.xpand3.internal.parser.xpand3node.SimpleTypeNode Simple Type Node}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.xpand3.internal.parser.xpand3node.SimpleTypeNode + * @generated + */ + public Adapter createSimpleTypeNodeAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.xpand3.internal.parser.xpand3node.IdentifierNode Identifier Node}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.xpand3.internal.parser.xpand3node.IdentifierNode + * @generated + */ + public Adapter createIdentifierNodeAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.tmf.common.node.Node Node}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.tmf.common.node.Node + * @generated + */ + public Adapter createNodeAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.tmf.common.node.CompositeNode Composite Node}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.tmf.common.node.CompositeNode + * @generated + */ + public Adapter createCompositeNodeAdapter() { + return null; + } + + /** + * Creates a new adapter for the default case. + * + * This default implementation returns null. + * + * @return the new adapter. + * @generated + */ + public Adapter createEObjectAdapter() { + return null; + } + +} //Xpand3nodeAdapterFactory diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/util/Xpand3nodeSwitch.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/util/Xpand3nodeSwitch.java new file mode 100644 index 00000000..582dc55c --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/util/Xpand3nodeSwitch.java @@ -0,0 +1,1384 @@ +/** + * + * + * + * $Id: Xpand3nodeSwitch.java,v 1.1 2008/03/06 08:55:16 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node.util; + +import java.util.List; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EObject; + +import org.eclipse.tmf.common.node.CompositeNode; +import org.eclipse.tmf.common.node.Node; + +import org.eclipse.xpand3.internal.parser.xpand3node.*; + +/** + * + * The Switch for the model's inheritance hierarchy. + * It supports the call {@link #doSwitch(EObject) doSwitch(object)} + * to invoke the caseXXX method for each class of the model, + * starting with the actual class of the object + * and proceeding up the inheritance hierarchy + * until a non-null result is returned, + * which is the result of the switch. + * + * @see org.eclipse.xpand3.internal.parser.xpand3node.Xpand3nodePackage + * @generated + */ +public class Xpand3nodeSwitch { + /** + * The cached model package + * + * + * @generated + */ + protected static Xpand3nodePackage modelPackage; + + /** + * Creates an instance of the switch. + * + * + * @generated + */ + public Xpand3nodeSwitch() { + if (modelPackage == null) { + modelPackage = Xpand3nodePackage.eINSTANCE; + } + } + + /** + * Calls caseXXX for each class of the model until one returns a non null result; it yields that result. + * + * + * @return the first non-null result returned by a caseXXX call. + * @generated + */ + public T doSwitch(EObject theEObject) { + return doSwitch(theEObject.eClass(), theEObject); + } + + /** + * Calls caseXXX for each class of the model until one returns a non null result; it yields that result. + * + * + * @return the first non-null result returned by a caseXXX call. + * @generated + */ + protected T doSwitch(EClass theEClass, EObject theEObject) { + if (theEClass.eContainer() == modelPackage) { + return doSwitch(theEClass.getClassifierID(), theEObject); + } + else { + List eSuperTypes = theEClass.getESuperTypes(); + return + eSuperTypes.isEmpty() ? + defaultCase(theEObject) : + doSwitch(eSuperTypes.get(0), theEObject); + } + } + + /** + * Calls caseXXX for each class of the model until one returns a non null result; it yields that result. + * + * + * @return the first non-null result returned by a caseXXX call. + * @generated + */ + protected T doSwitch(int classifierID, EObject theEObject) { + switch (classifierID) { + case Xpand3nodePackage.FILE_NODE: { + FileNode fileNode = (FileNode)theEObject; + T result = caseFileNode(fileNode); + if (result == null) result = caseCompositeNode(fileNode); + if (result == null) result = caseNode(fileNode); + if (result == null) result = defaultCase(theEObject); + return result; + } + case Xpand3nodePackage.NS_IMPORT_NODE: { + NsImportNode nsImportNode = (NsImportNode)theEObject; + T result = caseNsImportNode(nsImportNode); + if (result == null) result = caseCompositeNode(nsImportNode); + if (result == null) result = caseNode(nsImportNode); + if (result == null) result = defaultCase(theEObject); + return result; + } + case Xpand3nodePackage.DEFINITION_NODE: { + DefinitionNode definitionNode = (DefinitionNode)theEObject; + T result = caseDefinitionNode(definitionNode); + if (result == null) result = caseCompositeNode(definitionNode); + if (result == null) result = caseNode(definitionNode); + if (result == null) result = defaultCase(theEObject); + return result; + } + case Xpand3nodePackage.DEFINITION_AROUND_NODE: { + DefinitionAroundNode definitionAroundNode = (DefinitionAroundNode)theEObject; + T result = caseDefinitionAroundNode(definitionAroundNode); + if (result == null) result = caseCompositeNode(definitionAroundNode); + if (result == null) result = caseNode(definitionAroundNode); + if (result == null) result = defaultCase(theEObject); + return result; + } + case Xpand3nodePackage.SEQUENCE_NODE: { + SequenceNode sequenceNode = (SequenceNode)theEObject; + T result = caseSequenceNode(sequenceNode); + if (result == null) result = caseCompositeNode(sequenceNode); + if (result == null) result = caseNode(sequenceNode); + if (result == null) result = defaultCase(theEObject); + return result; + } + case Xpand3nodePackage.TEXT_SEQUENCE_NODE: { + TextSequenceNode textSequenceNode = (TextSequenceNode)theEObject; + T result = caseTextSequenceNode(textSequenceNode); + if (result == null) result = caseCompositeNode(textSequenceNode); + if (result == null) result = caseNode(textSequenceNode); + if (result == null) result = defaultCase(theEObject); + return result; + } + case Xpand3nodePackage.TEXT_NODE: { + TextNode textNode = (TextNode)theEObject; + T result = caseTextNode(textNode); + if (result == null) result = caseCompositeNode(textNode); + if (result == null) result = caseNode(textNode); + if (result == null) result = defaultCase(theEObject); + return result; + } + case Xpand3nodePackage.ERROR_STATEMENT_NODE: { + ErrorStatementNode errorStatementNode = (ErrorStatementNode)theEObject; + T result = caseErrorStatementNode(errorStatementNode); + if (result == null) result = caseCompositeNode(errorStatementNode); + if (result == null) result = caseNode(errorStatementNode); + if (result == null) result = defaultCase(theEObject); + return result; + } + case Xpand3nodePackage.EXPAND_STATEMENT_NODE: { + ExpandStatementNode expandStatementNode = (ExpandStatementNode)theEObject; + T result = caseExpandStatementNode(expandStatementNode); + if (result == null) result = caseCompositeNode(expandStatementNode); + if (result == null) result = caseNode(expandStatementNode); + if (result == null) result = defaultCase(theEObject); + return result; + } + case Xpand3nodePackage.EXPRESSION_STMT_NODE: { + ExpressionStmtNode expressionStmtNode = (ExpressionStmtNode)theEObject; + T result = caseExpressionStmtNode(expressionStmtNode); + if (result == null) result = caseCompositeNode(expressionStmtNode); + if (result == null) result = caseNode(expressionStmtNode); + if (result == null) result = defaultCase(theEObject); + return result; + } + case Xpand3nodePackage.FILE_STATEMENT_NODE: { + FileStatementNode fileStatementNode = (FileStatementNode)theEObject; + T result = caseFileStatementNode(fileStatementNode); + if (result == null) result = caseCompositeNode(fileStatementNode); + if (result == null) result = caseNode(fileStatementNode); + if (result == null) result = defaultCase(theEObject); + return result; + } + case Xpand3nodePackage.FOREACH_STATEMENT_NODE: { + ForeachStatementNode foreachStatementNode = (ForeachStatementNode)theEObject; + T result = caseForeachStatementNode(foreachStatementNode); + if (result == null) result = caseCompositeNode(foreachStatementNode); + if (result == null) result = caseNode(foreachStatementNode); + if (result == null) result = defaultCase(theEObject); + return result; + } + case Xpand3nodePackage.IF_STATEMENT_NODE: { + IfStatementNode ifStatementNode = (IfStatementNode)theEObject; + T result = caseIfStatementNode(ifStatementNode); + if (result == null) result = caseCompositeNode(ifStatementNode); + if (result == null) result = caseNode(ifStatementNode); + if (result == null) result = defaultCase(theEObject); + return result; + } + case Xpand3nodePackage.ELSE_IF_STATEMENT_NODE: { + ElseIfStatementNode elseIfStatementNode = (ElseIfStatementNode)theEObject; + T result = caseElseIfStatementNode(elseIfStatementNode); + if (result == null) result = caseCompositeNode(elseIfStatementNode); + if (result == null) result = caseNode(elseIfStatementNode); + if (result == null) result = defaultCase(theEObject); + return result; + } + case Xpand3nodePackage.ELSE_STATEMENT_NODE: { + ElseStatementNode elseStatementNode = (ElseStatementNode)theEObject; + T result = caseElseStatementNode(elseStatementNode); + if (result == null) result = caseCompositeNode(elseStatementNode); + if (result == null) result = caseNode(elseStatementNode); + if (result == null) result = defaultCase(theEObject); + return result; + } + case Xpand3nodePackage.LET_STATEMENT_NODE: { + LetStatementNode letStatementNode = (LetStatementNode)theEObject; + T result = caseLetStatementNode(letStatementNode); + if (result == null) result = caseCompositeNode(letStatementNode); + if (result == null) result = caseNode(letStatementNode); + if (result == null) result = defaultCase(theEObject); + return result; + } + case Xpand3nodePackage.PROTECT_STATEMENT_NODE: { + ProtectStatementNode protectStatementNode = (ProtectStatementNode)theEObject; + T result = caseProtectStatementNode(protectStatementNode); + if (result == null) result = caseCompositeNode(protectStatementNode); + if (result == null) result = caseNode(protectStatementNode); + if (result == null) result = defaultCase(theEObject); + return result; + } + case Xpand3nodePackage.CHECK_NODE: { + CheckNode checkNode = (CheckNode)theEObject; + T result = caseCheckNode(checkNode); + if (result == null) result = caseCompositeNode(checkNode); + if (result == null) result = caseNode(checkNode); + if (result == null) result = defaultCase(theEObject); + return result; + } + case Xpand3nodePackage.AROUND_NODE: { + AroundNode aroundNode = (AroundNode)theEObject; + T result = caseAroundNode(aroundNode); + if (result == null) result = caseCompositeNode(aroundNode); + if (result == null) result = caseNode(aroundNode); + if (result == null) result = defaultCase(theEObject); + return result; + } + case Xpand3nodePackage.POINTCUT_NODE: { + PointcutNode pointcutNode = (PointcutNode)theEObject; + T result = casePointcutNode(pointcutNode); + if (result == null) result = caseCompositeNode(pointcutNode); + if (result == null) result = caseNode(pointcutNode); + if (result == null) result = defaultCase(theEObject); + return result; + } + case Xpand3nodePackage.EXTENSION_NODE: { + ExtensionNode extensionNode = (ExtensionNode)theEObject; + T result = caseExtensionNode(extensionNode); + if (result == null) result = caseCompositeNode(extensionNode); + if (result == null) result = caseNode(extensionNode); + if (result == null) result = defaultCase(theEObject); + return result; + } + case Xpand3nodePackage.JAVA_TYPE_NODE: { + JavaTypeNode javaTypeNode = (JavaTypeNode)theEObject; + T result = caseJavaTypeNode(javaTypeNode); + if (result == null) result = caseCompositeNode(javaTypeNode); + if (result == null) result = caseNode(javaTypeNode); + if (result == null) result = defaultCase(theEObject); + return result; + } + case Xpand3nodePackage.TEST_EXPRESSION_NODE: { + Test_expressionNode test_expressionNode = (Test_expressionNode)theEObject; + T result = caseTest_expressionNode(test_expressionNode); + if (result == null) result = caseCompositeNode(test_expressionNode); + if (result == null) result = caseNode(test_expressionNode); + if (result == null) result = defaultCase(theEObject); + return result; + } + case Xpand3nodePackage.EXPRESSION_NODE: { + ExpressionNode expressionNode = (ExpressionNode)theEObject; + T result = caseExpressionNode(expressionNode); + if (result == null) result = caseCompositeNode(expressionNode); + if (result == null) result = caseNode(expressionNode); + if (result == null) result = defaultCase(theEObject); + return result; + } + case Xpand3nodePackage.LET_EXPRESSION_NODE: { + LetExpressionNode letExpressionNode = (LetExpressionNode)theEObject; + T result = caseLetExpressionNode(letExpressionNode); + if (result == null) result = caseCompositeNode(letExpressionNode); + if (result == null) result = caseNode(letExpressionNode); + if (result == null) result = defaultCase(theEObject); + return result; + } + case Xpand3nodePackage.CASTED_EXPRESSION_NODE: { + CastedExpressionNode castedExpressionNode = (CastedExpressionNode)theEObject; + T result = caseCastedExpressionNode(castedExpressionNode); + if (result == null) result = caseCompositeNode(castedExpressionNode); + if (result == null) result = caseNode(castedExpressionNode); + if (result == null) result = defaultCase(theEObject); + return result; + } + case Xpand3nodePackage.CHAIN_EXPRESSION_NODE: { + ChainExpressionNode chainExpressionNode = (ChainExpressionNode)theEObject; + T result = caseChainExpressionNode(chainExpressionNode); + if (result == null) result = caseCompositeNode(chainExpressionNode); + if (result == null) result = caseNode(chainExpressionNode); + if (result == null) result = defaultCase(theEObject); + return result; + } + case Xpand3nodePackage.IF_EXPRESSION_NODE: { + IfExpressionNode ifExpressionNode = (IfExpressionNode)theEObject; + T result = caseIfExpressionNode(ifExpressionNode); + if (result == null) result = caseCompositeNode(ifExpressionNode); + if (result == null) result = caseNode(ifExpressionNode); + if (result == null) result = defaultCase(theEObject); + return result; + } + case Xpand3nodePackage.SWITCH_EXPRESSION_NODE: { + SwitchExpressionNode switchExpressionNode = (SwitchExpressionNode)theEObject; + T result = caseSwitchExpressionNode(switchExpressionNode); + if (result == null) result = caseCompositeNode(switchExpressionNode); + if (result == null) result = caseNode(switchExpressionNode); + if (result == null) result = defaultCase(theEObject); + return result; + } + case Xpand3nodePackage.CASE_PART_NODE: { + CasePartNode casePartNode = (CasePartNode)theEObject; + T result = caseCasePartNode(casePartNode); + if (result == null) result = caseCompositeNode(casePartNode); + if (result == null) result = caseNode(casePartNode); + if (result == null) result = defaultCase(theEObject); + return result; + } + case Xpand3nodePackage.OR_EXPRESSION_NODE: { + OrExpressionNode orExpressionNode = (OrExpressionNode)theEObject; + T result = caseOrExpressionNode(orExpressionNode); + if (result == null) result = caseCompositeNode(orExpressionNode); + if (result == null) result = caseNode(orExpressionNode); + if (result == null) result = defaultCase(theEObject); + return result; + } + case Xpand3nodePackage.AND_EXPRESSION_NODE: { + AndExpressionNode andExpressionNode = (AndExpressionNode)theEObject; + T result = caseAndExpressionNode(andExpressionNode); + if (result == null) result = caseCompositeNode(andExpressionNode); + if (result == null) result = caseNode(andExpressionNode); + if (result == null) result = defaultCase(theEObject); + return result; + } + case Xpand3nodePackage.IMPLIES_EXPRESSION_NODE: { + ImpliesExpressionNode impliesExpressionNode = (ImpliesExpressionNode)theEObject; + T result = caseImpliesExpressionNode(impliesExpressionNode); + if (result == null) result = caseCompositeNode(impliesExpressionNode); + if (result == null) result = caseNode(impliesExpressionNode); + if (result == null) result = defaultCase(theEObject); + return result; + } + case Xpand3nodePackage.RELATIONAL_EXPRESSION_NODE: { + RelationalExpressionNode relationalExpressionNode = (RelationalExpressionNode)theEObject; + T result = caseRelationalExpressionNode(relationalExpressionNode); + if (result == null) result = caseCompositeNode(relationalExpressionNode); + if (result == null) result = caseNode(relationalExpressionNode); + if (result == null) result = defaultCase(theEObject); + return result; + } + case Xpand3nodePackage.ADDITIVE_EXPRESSION_NODE: { + AdditiveExpressionNode additiveExpressionNode = (AdditiveExpressionNode)theEObject; + T result = caseAdditiveExpressionNode(additiveExpressionNode); + if (result == null) result = caseCompositeNode(additiveExpressionNode); + if (result == null) result = caseNode(additiveExpressionNode); + if (result == null) result = defaultCase(theEObject); + return result; + } + case Xpand3nodePackage.MULTIPLICATIVE_EXPRESSION_NODE: { + MultiplicativeExpressionNode multiplicativeExpressionNode = (MultiplicativeExpressionNode)theEObject; + T result = caseMultiplicativeExpressionNode(multiplicativeExpressionNode); + if (result == null) result = caseCompositeNode(multiplicativeExpressionNode); + if (result == null) result = caseNode(multiplicativeExpressionNode); + if (result == null) result = defaultCase(theEObject); + return result; + } + case Xpand3nodePackage.UNARY_EXPRESSION_NODE: { + UnaryExpressionNode unaryExpressionNode = (UnaryExpressionNode)theEObject; + T result = caseUnaryExpressionNode(unaryExpressionNode); + if (result == null) result = caseCompositeNode(unaryExpressionNode); + if (result == null) result = caseNode(unaryExpressionNode); + if (result == null) result = defaultCase(theEObject); + return result; + } + case Xpand3nodePackage.INFIX_EXPRESSION_NODE: { + InfixExpressionNode infixExpressionNode = (InfixExpressionNode)theEObject; + T result = caseInfixExpressionNode(infixExpressionNode); + if (result == null) result = caseCompositeNode(infixExpressionNode); + if (result == null) result = caseNode(infixExpressionNode); + if (result == null) result = defaultCase(theEObject); + return result; + } + case Xpand3nodePackage.STRING_LITERAL_NODE: { + StringLiteralNode stringLiteralNode = (StringLiteralNode)theEObject; + T result = caseStringLiteralNode(stringLiteralNode); + if (result == null) result = caseCompositeNode(stringLiteralNode); + if (result == null) result = caseNode(stringLiteralNode); + if (result == null) result = defaultCase(theEObject); + return result; + } + case Xpand3nodePackage.PARANTHESIZED_EXPRESSION_NODE: { + ParanthesizedExpressionNode paranthesizedExpressionNode = (ParanthesizedExpressionNode)theEObject; + T result = caseParanthesizedExpressionNode(paranthesizedExpressionNode); + if (result == null) result = caseCompositeNode(paranthesizedExpressionNode); + if (result == null) result = caseNode(paranthesizedExpressionNode); + if (result == null) result = defaultCase(theEObject); + return result; + } + case Xpand3nodePackage.GLOBAL_VAR_EXPRESSION_NODE: { + GlobalVarExpressionNode globalVarExpressionNode = (GlobalVarExpressionNode)theEObject; + T result = caseGlobalVarExpressionNode(globalVarExpressionNode); + if (result == null) result = caseCompositeNode(globalVarExpressionNode); + if (result == null) result = caseNode(globalVarExpressionNode); + if (result == null) result = defaultCase(theEObject); + return result; + } + case Xpand3nodePackage.FEATURE_CALL_NODE: { + FeatureCallNode featureCallNode = (FeatureCallNode)theEObject; + T result = caseFeatureCallNode(featureCallNode); + if (result == null) result = caseCompositeNode(featureCallNode); + if (result == null) result = caseNode(featureCallNode); + if (result == null) result = defaultCase(theEObject); + return result; + } + case Xpand3nodePackage.LIST_LITERAL_NODE: { + ListLiteralNode listLiteralNode = (ListLiteralNode)theEObject; + T result = caseListLiteralNode(listLiteralNode); + if (result == null) result = caseCompositeNode(listLiteralNode); + if (result == null) result = caseNode(listLiteralNode); + if (result == null) result = defaultCase(theEObject); + return result; + } + case Xpand3nodePackage.CONSTRUCTOR_CALL_NODE: { + ConstructorCallNode constructorCallNode = (ConstructorCallNode)theEObject; + T result = caseConstructorCallNode(constructorCallNode); + if (result == null) result = caseCompositeNode(constructorCallNode); + if (result == null) result = caseNode(constructorCallNode); + if (result == null) result = defaultCase(theEObject); + return result; + } + case Xpand3nodePackage.BOOLEAN_LITERAL_NODE: { + BooleanLiteralNode booleanLiteralNode = (BooleanLiteralNode)theEObject; + T result = caseBooleanLiteralNode(booleanLiteralNode); + if (result == null) result = caseCompositeNode(booleanLiteralNode); + if (result == null) result = caseNode(booleanLiteralNode); + if (result == null) result = defaultCase(theEObject); + return result; + } + case Xpand3nodePackage.NULL_LITERAL_NODE: { + NullLiteralNode nullLiteralNode = (NullLiteralNode)theEObject; + T result = caseNullLiteralNode(nullLiteralNode); + if (result == null) result = caseCompositeNode(nullLiteralNode); + if (result == null) result = caseNode(nullLiteralNode); + if (result == null) result = defaultCase(theEObject); + return result; + } + case Xpand3nodePackage.NUMBER_LITERAL_NODE: { + NumberLiteralNode numberLiteralNode = (NumberLiteralNode)theEObject; + T result = caseNumberLiteralNode(numberLiteralNode); + if (result == null) result = caseCompositeNode(numberLiteralNode); + if (result == null) result = caseNode(numberLiteralNode); + if (result == null) result = defaultCase(theEObject); + return result; + } + case Xpand3nodePackage.COLLECTION_EXPRESSION_NODE: { + CollectionExpressionNode collectionExpressionNode = (CollectionExpressionNode)theEObject; + T result = caseCollectionExpressionNode(collectionExpressionNode); + if (result == null) result = caseCompositeNode(collectionExpressionNode); + if (result == null) result = caseNode(collectionExpressionNode); + if (result == null) result = defaultCase(theEObject); + return result; + } + case Xpand3nodePackage.DECLARED_PARAMETER_LIST_NODE: { + DeclaredParameterListNode declaredParameterListNode = (DeclaredParameterListNode)theEObject; + T result = caseDeclaredParameterListNode(declaredParameterListNode); + if (result == null) result = caseCompositeNode(declaredParameterListNode); + if (result == null) result = caseNode(declaredParameterListNode); + if (result == null) result = defaultCase(theEObject); + return result; + } + case Xpand3nodePackage.DECLARED_PARAMETER_NODE: { + DeclaredParameterNode declaredParameterNode = (DeclaredParameterNode)theEObject; + T result = caseDeclaredParameterNode(declaredParameterNode); + if (result == null) result = caseCompositeNode(declaredParameterNode); + if (result == null) result = caseNode(declaredParameterNode); + if (result == null) result = defaultCase(theEObject); + return result; + } + case Xpand3nodePackage.PARAMETER_LIST_NODE: { + ParameterListNode parameterListNode = (ParameterListNode)theEObject; + T result = caseParameterListNode(parameterListNode); + if (result == null) result = caseCompositeNode(parameterListNode); + if (result == null) result = caseNode(parameterListNode); + if (result == null) result = defaultCase(theEObject); + return result; + } + case Xpand3nodePackage.COLLECTION_TYPE_NODE: { + CollectionTypeNode collectionTypeNode = (CollectionTypeNode)theEObject; + T result = caseCollectionTypeNode(collectionTypeNode); + if (result == null) result = caseCompositeNode(collectionTypeNode); + if (result == null) result = caseNode(collectionTypeNode); + if (result == null) result = defaultCase(theEObject); + return result; + } + case Xpand3nodePackage.SIMPLE_TYPE_NODE: { + SimpleTypeNode simpleTypeNode = (SimpleTypeNode)theEObject; + T result = caseSimpleTypeNode(simpleTypeNode); + if (result == null) result = caseCompositeNode(simpleTypeNode); + if (result == null) result = caseNode(simpleTypeNode); + if (result == null) result = defaultCase(theEObject); + return result; + } + case Xpand3nodePackage.IDENTIFIER_NODE: { + IdentifierNode identifierNode = (IdentifierNode)theEObject; + T result = caseIdentifierNode(identifierNode); + if (result == null) result = caseCompositeNode(identifierNode); + if (result == null) result = caseNode(identifierNode); + if (result == null) result = defaultCase(theEObject); + return result; + } + default: return defaultCase(theEObject); + } + } + + /** + * Returns the result of interpreting the object as an instance of 'File Node'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'File Node'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseFileNode(FileNode object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Ns Import Node'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Ns Import Node'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseNsImportNode(NsImportNode object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Definition Node'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Definition Node'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseDefinitionNode(DefinitionNode object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Definition Around Node'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Definition Around Node'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseDefinitionAroundNode(DefinitionAroundNode object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Sequence Node'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Sequence Node'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseSequenceNode(SequenceNode object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Text Sequence Node'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Text Sequence Node'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseTextSequenceNode(TextSequenceNode object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Text Node'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Text Node'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseTextNode(TextNode object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Error Statement Node'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Error Statement Node'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseErrorStatementNode(ErrorStatementNode object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Expand Statement Node'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Expand Statement Node'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseExpandStatementNode(ExpandStatementNode object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Expression Stmt Node'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Expression Stmt Node'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseExpressionStmtNode(ExpressionStmtNode object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'File Statement Node'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'File Statement Node'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseFileStatementNode(FileStatementNode object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Foreach Statement Node'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Foreach Statement Node'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseForeachStatementNode(ForeachStatementNode object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'If Statement Node'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'If Statement Node'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseIfStatementNode(IfStatementNode object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Else If Statement Node'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Else If Statement Node'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseElseIfStatementNode(ElseIfStatementNode object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Else Statement Node'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Else Statement Node'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseElseStatementNode(ElseStatementNode object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Let Statement Node'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Let Statement Node'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseLetStatementNode(LetStatementNode object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Protect Statement Node'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Protect Statement Node'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseProtectStatementNode(ProtectStatementNode object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Check Node'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Check Node'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseCheckNode(CheckNode object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Around Node'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Around Node'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseAroundNode(AroundNode object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Pointcut Node'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Pointcut Node'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T casePointcutNode(PointcutNode object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Extension Node'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Extension Node'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseExtensionNode(ExtensionNode object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Java Type Node'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Java Type Node'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseJavaTypeNode(JavaTypeNode object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Test expression Node'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Test expression Node'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseTest_expressionNode(Test_expressionNode object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Expression Node'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Expression Node'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseExpressionNode(ExpressionNode object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Let Expression Node'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Let Expression Node'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseLetExpressionNode(LetExpressionNode object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Casted Expression Node'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Casted Expression Node'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseCastedExpressionNode(CastedExpressionNode object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Chain Expression Node'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Chain Expression Node'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseChainExpressionNode(ChainExpressionNode object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'If Expression Node'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'If Expression Node'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseIfExpressionNode(IfExpressionNode object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Switch Expression Node'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Switch Expression Node'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseSwitchExpressionNode(SwitchExpressionNode object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Case Part Node'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Case Part Node'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseCasePartNode(CasePartNode object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Or Expression Node'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Or Expression Node'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseOrExpressionNode(OrExpressionNode object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'And Expression Node'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'And Expression Node'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseAndExpressionNode(AndExpressionNode object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Implies Expression Node'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Implies Expression Node'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseImpliesExpressionNode(ImpliesExpressionNode object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Relational Expression Node'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Relational Expression Node'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseRelationalExpressionNode(RelationalExpressionNode object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Additive Expression Node'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Additive Expression Node'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseAdditiveExpressionNode(AdditiveExpressionNode object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Multiplicative Expression Node'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Multiplicative Expression Node'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseMultiplicativeExpressionNode(MultiplicativeExpressionNode object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Unary Expression Node'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Unary Expression Node'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseUnaryExpressionNode(UnaryExpressionNode object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Infix Expression Node'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Infix Expression Node'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseInfixExpressionNode(InfixExpressionNode object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'String Literal Node'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'String Literal Node'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseStringLiteralNode(StringLiteralNode object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Paranthesized Expression Node'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Paranthesized Expression Node'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseParanthesizedExpressionNode(ParanthesizedExpressionNode object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Global Var Expression Node'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Global Var Expression Node'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseGlobalVarExpressionNode(GlobalVarExpressionNode object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Feature Call Node'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Feature Call Node'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseFeatureCallNode(FeatureCallNode object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'List Literal Node'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'List Literal Node'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseListLiteralNode(ListLiteralNode object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Constructor Call Node'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Constructor Call Node'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseConstructorCallNode(ConstructorCallNode object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Boolean Literal Node'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Boolean Literal Node'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseBooleanLiteralNode(BooleanLiteralNode object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Null Literal Node'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Null Literal Node'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseNullLiteralNode(NullLiteralNode object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Number Literal Node'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Number Literal Node'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseNumberLiteralNode(NumberLiteralNode object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Collection Expression Node'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Collection Expression Node'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseCollectionExpressionNode(CollectionExpressionNode object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Declared Parameter List Node'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Declared Parameter List Node'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseDeclaredParameterListNode(DeclaredParameterListNode object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Declared Parameter Node'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Declared Parameter Node'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseDeclaredParameterNode(DeclaredParameterNode object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Parameter List Node'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Parameter List Node'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseParameterListNode(ParameterListNode object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Collection Type Node'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Collection Type Node'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseCollectionTypeNode(CollectionTypeNode object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Simple Type Node'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Simple Type Node'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseSimpleTypeNode(SimpleTypeNode object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Identifier Node'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Identifier Node'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseIdentifierNode(IdentifierNode object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Node'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Node'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseNode(Node object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Composite Node'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Composite Node'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseCompositeNode(CompositeNode object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'EObject'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch, but this is the last case anyway. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'EObject'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) + * @generated + */ + public T defaultCase(EObject object) { + return null; + } + +} //Xpand3nodeSwitch diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/AdditiveExpressionNodeValidator.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/AdditiveExpressionNodeValidator.java new file mode 100644 index 00000000..e7de1de1 --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/AdditiveExpressionNodeValidator.java @@ -0,0 +1,19 @@ +/** + * + * + * + * $Id: AdditiveExpressionNodeValidator.java,v 1.1 2008/03/06 08:55:12 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node.validation; + + +/** + * A sample validator interface for {@link org.eclipse.xpand3.internal.parser.xpand3node.AdditiveExpressionNode}. + * This doesn't really do anything, and it's not a real EMF artifact. + * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended. + * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false. + */ +public interface AdditiveExpressionNodeValidator { + boolean validate(); + +} diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/AndExpressionNodeValidator.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/AndExpressionNodeValidator.java new file mode 100644 index 00000000..63946ea9 --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/AndExpressionNodeValidator.java @@ -0,0 +1,19 @@ +/** + * + * + * + * $Id: AndExpressionNodeValidator.java,v 1.1 2008/03/06 08:55:11 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node.validation; + + +/** + * A sample validator interface for {@link org.eclipse.xpand3.internal.parser.xpand3node.AndExpressionNode}. + * This doesn't really do anything, and it's not a real EMF artifact. + * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended. + * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false. + */ +public interface AndExpressionNodeValidator { + boolean validate(); + +} diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/AroundNodeValidator.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/AroundNodeValidator.java new file mode 100644 index 00000000..f61a3103 --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/AroundNodeValidator.java @@ -0,0 +1,19 @@ +/** + * + * + * + * $Id: AroundNodeValidator.java,v 1.1 2008/03/06 08:55:11 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node.validation; + + +/** + * A sample validator interface for {@link org.eclipse.xpand3.internal.parser.xpand3node.AroundNode}. + * This doesn't really do anything, and it's not a real EMF artifact. + * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended. + * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false. + */ +public interface AroundNodeValidator { + boolean validate(); + +} diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/BooleanLiteralNodeValidator.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/BooleanLiteralNodeValidator.java new file mode 100644 index 00000000..48599f75 --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/BooleanLiteralNodeValidator.java @@ -0,0 +1,19 @@ +/** + * + * + * + * $Id: BooleanLiteralNodeValidator.java,v 1.1 2008/03/06 08:55:12 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node.validation; + + +/** + * A sample validator interface for {@link org.eclipse.xpand3.internal.parser.xpand3node.BooleanLiteralNode}. + * This doesn't really do anything, and it's not a real EMF artifact. + * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended. + * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false. + */ +public interface BooleanLiteralNodeValidator { + boolean validate(); + +} diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/CasePartNodeValidator.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/CasePartNodeValidator.java new file mode 100644 index 00000000..2555f3d9 --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/CasePartNodeValidator.java @@ -0,0 +1,19 @@ +/** + * + * + * + * $Id: CasePartNodeValidator.java,v 1.1 2008/03/06 08:55:12 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node.validation; + + +/** + * A sample validator interface for {@link org.eclipse.xpand3.internal.parser.xpand3node.CasePartNode}. + * This doesn't really do anything, and it's not a real EMF artifact. + * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended. + * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false. + */ +public interface CasePartNodeValidator { + boolean validate(); + +} diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/CastedExpressionNodeValidator.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/CastedExpressionNodeValidator.java new file mode 100644 index 00000000..0d2a08a8 --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/CastedExpressionNodeValidator.java @@ -0,0 +1,19 @@ +/** + * + * + * + * $Id: CastedExpressionNodeValidator.java,v 1.1 2008/03/06 08:55:13 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node.validation; + + +/** + * A sample validator interface for {@link org.eclipse.xpand3.internal.parser.xpand3node.CastedExpressionNode}. + * This doesn't really do anything, and it's not a real EMF artifact. + * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended. + * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false. + */ +public interface CastedExpressionNodeValidator { + boolean validate(); + +} diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/ChainExpressionNodeValidator.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/ChainExpressionNodeValidator.java new file mode 100644 index 00000000..b54904eb --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/ChainExpressionNodeValidator.java @@ -0,0 +1,19 @@ +/** + * + * + * + * $Id: ChainExpressionNodeValidator.java,v 1.1 2008/03/06 08:55:12 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node.validation; + + +/** + * A sample validator interface for {@link org.eclipse.xpand3.internal.parser.xpand3node.ChainExpressionNode}. + * This doesn't really do anything, and it's not a real EMF artifact. + * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended. + * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false. + */ +public interface ChainExpressionNodeValidator { + boolean validate(); + +} diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/CheckNodeValidator.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/CheckNodeValidator.java new file mode 100644 index 00000000..861c8aee --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/CheckNodeValidator.java @@ -0,0 +1,19 @@ +/** + * + * + * + * $Id: CheckNodeValidator.java,v 1.1 2008/03/06 08:55:11 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node.validation; + + +/** + * A sample validator interface for {@link org.eclipse.xpand3.internal.parser.xpand3node.CheckNode}. + * This doesn't really do anything, and it's not a real EMF artifact. + * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended. + * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false. + */ +public interface CheckNodeValidator { + boolean validate(); + +} diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/CollectionExpressionNodeValidator.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/CollectionExpressionNodeValidator.java new file mode 100644 index 00000000..1582b75b --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/CollectionExpressionNodeValidator.java @@ -0,0 +1,19 @@ +/** + * + * + * + * $Id: CollectionExpressionNodeValidator.java,v 1.1 2008/03/06 08:55:12 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node.validation; + + +/** + * A sample validator interface for {@link org.eclipse.xpand3.internal.parser.xpand3node.CollectionExpressionNode}. + * This doesn't really do anything, and it's not a real EMF artifact. + * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended. + * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false. + */ +public interface CollectionExpressionNodeValidator { + boolean validate(); + +} diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/CollectionTypeNodeValidator.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/CollectionTypeNodeValidator.java new file mode 100644 index 00000000..e2f2f528 --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/CollectionTypeNodeValidator.java @@ -0,0 +1,19 @@ +/** + * + * + * + * $Id: CollectionTypeNodeValidator.java,v 1.1 2008/03/06 08:55:13 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node.validation; + + +/** + * A sample validator interface for {@link org.eclipse.xpand3.internal.parser.xpand3node.CollectionTypeNode}. + * This doesn't really do anything, and it's not a real EMF artifact. + * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended. + * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false. + */ +public interface CollectionTypeNodeValidator { + boolean validate(); + +} diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/ConstructorCallNodeValidator.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/ConstructorCallNodeValidator.java new file mode 100644 index 00000000..50134324 --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/ConstructorCallNodeValidator.java @@ -0,0 +1,19 @@ +/** + * + * + * + * $Id: ConstructorCallNodeValidator.java,v 1.1 2008/03/06 08:55:12 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node.validation; + + +/** + * A sample validator interface for {@link org.eclipse.xpand3.internal.parser.xpand3node.ConstructorCallNode}. + * This doesn't really do anything, and it's not a real EMF artifact. + * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended. + * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false. + */ +public interface ConstructorCallNodeValidator { + boolean validate(); + +} diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/DeclaredParameterListNodeValidator.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/DeclaredParameterListNodeValidator.java new file mode 100644 index 00000000..f1100c7d --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/DeclaredParameterListNodeValidator.java @@ -0,0 +1,19 @@ +/** + * + * + * + * $Id: DeclaredParameterListNodeValidator.java,v 1.1 2008/03/06 08:55:12 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node.validation; + + +/** + * A sample validator interface for {@link org.eclipse.xpand3.internal.parser.xpand3node.DeclaredParameterListNode}. + * This doesn't really do anything, and it's not a real EMF artifact. + * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended. + * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false. + */ +public interface DeclaredParameterListNodeValidator { + boolean validate(); + +} diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/DeclaredParameterNodeValidator.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/DeclaredParameterNodeValidator.java new file mode 100644 index 00000000..f2f2a83a --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/DeclaredParameterNodeValidator.java @@ -0,0 +1,19 @@ +/** + * + * + * + * $Id: DeclaredParameterNodeValidator.java,v 1.1 2008/03/06 08:55:11 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node.validation; + + +/** + * A sample validator interface for {@link org.eclipse.xpand3.internal.parser.xpand3node.DeclaredParameterNode}. + * This doesn't really do anything, and it's not a real EMF artifact. + * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended. + * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false. + */ +public interface DeclaredParameterNodeValidator { + boolean validate(); + +} diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/DefinitionAroundNodeValidator.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/DefinitionAroundNodeValidator.java new file mode 100644 index 00000000..291ecf0d --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/DefinitionAroundNodeValidator.java @@ -0,0 +1,19 @@ +/** + * + * + * + * $Id: DefinitionAroundNodeValidator.java,v 1.1 2008/03/06 08:55:11 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node.validation; + + +/** + * A sample validator interface for {@link org.eclipse.xpand3.internal.parser.xpand3node.DefinitionAroundNode}. + * This doesn't really do anything, and it's not a real EMF artifact. + * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended. + * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false. + */ +public interface DefinitionAroundNodeValidator { + boolean validate(); + +} diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/DefinitionNodeValidator.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/DefinitionNodeValidator.java new file mode 100644 index 00000000..1bd9a09b --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/DefinitionNodeValidator.java @@ -0,0 +1,21 @@ +/** + * + * + * + * $Id: DefinitionNodeValidator.java,v 1.1 2008/03/06 08:55:12 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node.validation; + +import org.eclipse.tmf.common.node.CompositeNode; + +/** + * A sample validator interface for {@link org.eclipse.xpand3.internal.parser.xpand3node.DefinitionNode}. + * This doesn't really do anything, and it's not a real EMF artifact. + * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended. + * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false. + */ +public interface DefinitionNodeValidator { + boolean validate(); + + boolean validateName(CompositeNode value); +} diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/ElseIfStatementNodeValidator.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/ElseIfStatementNodeValidator.java new file mode 100644 index 00000000..e4db74b3 --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/ElseIfStatementNodeValidator.java @@ -0,0 +1,19 @@ +/** + * + * + * + * $Id: ElseIfStatementNodeValidator.java,v 1.1 2008/03/06 08:55:12 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node.validation; + + +/** + * A sample validator interface for {@link org.eclipse.xpand3.internal.parser.xpand3node.ElseIfStatementNode}. + * This doesn't really do anything, and it's not a real EMF artifact. + * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended. + * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false. + */ +public interface ElseIfStatementNodeValidator { + boolean validate(); + +} diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/ElseStatementNodeValidator.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/ElseStatementNodeValidator.java new file mode 100644 index 00000000..4081d10c --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/ElseStatementNodeValidator.java @@ -0,0 +1,19 @@ +/** + * + * + * + * $Id: ElseStatementNodeValidator.java,v 1.1 2008/03/06 08:55:11 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node.validation; + + +/** + * A sample validator interface for {@link org.eclipse.xpand3.internal.parser.xpand3node.ElseStatementNode}. + * This doesn't really do anything, and it's not a real EMF artifact. + * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended. + * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false. + */ +public interface ElseStatementNodeValidator { + boolean validate(); + +} diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/ErrorStatementNodeValidator.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/ErrorStatementNodeValidator.java new file mode 100644 index 00000000..51e8bba4 --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/ErrorStatementNodeValidator.java @@ -0,0 +1,19 @@ +/** + * + * + * + * $Id: ErrorStatementNodeValidator.java,v 1.1 2008/03/06 08:55:11 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node.validation; + + +/** + * A sample validator interface for {@link org.eclipse.xpand3.internal.parser.xpand3node.ErrorStatementNode}. + * This doesn't really do anything, and it's not a real EMF artifact. + * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended. + * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false. + */ +public interface ErrorStatementNodeValidator { + boolean validate(); + +} diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/ExpandStatementNodeValidator.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/ExpandStatementNodeValidator.java new file mode 100644 index 00000000..a2cf2b3f --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/ExpandStatementNodeValidator.java @@ -0,0 +1,19 @@ +/** + * + * + * + * $Id: ExpandStatementNodeValidator.java,v 1.1 2008/03/06 08:55:12 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node.validation; + + +/** + * A sample validator interface for {@link org.eclipse.xpand3.internal.parser.xpand3node.ExpandStatementNode}. + * This doesn't really do anything, and it's not a real EMF artifact. + * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended. + * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false. + */ +public interface ExpandStatementNodeValidator { + boolean validate(); + +} diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/ExpressionNodeValidator.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/ExpressionNodeValidator.java new file mode 100644 index 00000000..10f195a4 --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/ExpressionNodeValidator.java @@ -0,0 +1,19 @@ +/** + * + * + * + * $Id: ExpressionNodeValidator.java,v 1.1 2008/03/06 08:55:12 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node.validation; + + +/** + * A sample validator interface for {@link org.eclipse.xpand3.internal.parser.xpand3node.ExpressionNode}. + * This doesn't really do anything, and it's not a real EMF artifact. + * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended. + * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false. + */ +public interface ExpressionNodeValidator { + boolean validate(); + +} diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/ExpressionStmtNodeValidator.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/ExpressionStmtNodeValidator.java new file mode 100644 index 00000000..38c32a4a --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/ExpressionStmtNodeValidator.java @@ -0,0 +1,19 @@ +/** + * + * + * + * $Id: ExpressionStmtNodeValidator.java,v 1.1 2008/03/06 08:55:14 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node.validation; + + +/** + * A sample validator interface for {@link org.eclipse.xpand3.internal.parser.xpand3node.ExpressionStmtNode}. + * This doesn't really do anything, and it's not a real EMF artifact. + * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended. + * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false. + */ +public interface ExpressionStmtNodeValidator { + boolean validate(); + +} diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/ExtensionNodeValidator.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/ExtensionNodeValidator.java new file mode 100644 index 00000000..68215545 --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/ExtensionNodeValidator.java @@ -0,0 +1,19 @@ +/** + * + * + * + * $Id: ExtensionNodeValidator.java,v 1.1 2008/03/06 08:55:12 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node.validation; + + +/** + * A sample validator interface for {@link org.eclipse.xpand3.internal.parser.xpand3node.ExtensionNode}. + * This doesn't really do anything, and it's not a real EMF artifact. + * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended. + * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false. + */ +public interface ExtensionNodeValidator { + boolean validate(); + +} diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/FeatureCallNodeValidator.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/FeatureCallNodeValidator.java new file mode 100644 index 00000000..e828a348 --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/FeatureCallNodeValidator.java @@ -0,0 +1,19 @@ +/** + * + * + * + * $Id: FeatureCallNodeValidator.java,v 1.1 2008/03/06 08:55:12 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node.validation; + + +/** + * A sample validator interface for {@link org.eclipse.xpand3.internal.parser.xpand3node.FeatureCallNode}. + * This doesn't really do anything, and it's not a real EMF artifact. + * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended. + * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false. + */ +public interface FeatureCallNodeValidator { + boolean validate(); + +} diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/FileNodeValidator.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/FileNodeValidator.java new file mode 100644 index 00000000..ff8451fd --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/FileNodeValidator.java @@ -0,0 +1,24 @@ +/** + * + * + * + * $Id: FileNodeValidator.java,v 1.1 2008/03/06 08:55:12 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node.validation; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.tmf.common.node.CompositeNode; + +/** + * A sample validator interface for {@link org.eclipse.xpand3.internal.parser.xpand3node.FileNode}. + * This doesn't really do anything, and it's not a real EMF artifact. + * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended. + * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false. + */ +public interface FileNodeValidator { + boolean validate(); + + boolean validateDecl(EList value); + boolean validateImp(EList value); +} diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/FileStatementNodeValidator.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/FileStatementNodeValidator.java new file mode 100644 index 00000000..05a4d2e7 --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/FileStatementNodeValidator.java @@ -0,0 +1,19 @@ +/** + * + * + * + * $Id: FileStatementNodeValidator.java,v 1.1 2008/03/06 08:55:12 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node.validation; + + +/** + * A sample validator interface for {@link org.eclipse.xpand3.internal.parser.xpand3node.FileStatementNode}. + * This doesn't really do anything, and it's not a real EMF artifact. + * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended. + * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false. + */ +public interface FileStatementNodeValidator { + boolean validate(); + +} diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/ForeachStatementNodeValidator.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/ForeachStatementNodeValidator.java new file mode 100644 index 00000000..1ac1b596 --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/ForeachStatementNodeValidator.java @@ -0,0 +1,19 @@ +/** + * + * + * + * $Id: ForeachStatementNodeValidator.java,v 1.1 2008/03/06 08:55:12 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node.validation; + + +/** + * A sample validator interface for {@link org.eclipse.xpand3.internal.parser.xpand3node.ForeachStatementNode}. + * This doesn't really do anything, and it's not a real EMF artifact. + * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended. + * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false. + */ +public interface ForeachStatementNodeValidator { + boolean validate(); + +} diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/GlobalVarExpressionNodeValidator.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/GlobalVarExpressionNodeValidator.java new file mode 100644 index 00000000..41d540c8 --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/GlobalVarExpressionNodeValidator.java @@ -0,0 +1,19 @@ +/** + * + * + * + * $Id: GlobalVarExpressionNodeValidator.java,v 1.1 2008/03/06 08:55:14 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node.validation; + + +/** + * A sample validator interface for {@link org.eclipse.xpand3.internal.parser.xpand3node.GlobalVarExpressionNode}. + * This doesn't really do anything, and it's not a real EMF artifact. + * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended. + * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false. + */ +public interface GlobalVarExpressionNodeValidator { + boolean validate(); + +} diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/IdentifierNodeValidator.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/IdentifierNodeValidator.java new file mode 100644 index 00000000..044c5383 --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/IdentifierNodeValidator.java @@ -0,0 +1,19 @@ +/** + * + * + * + * $Id: IdentifierNodeValidator.java,v 1.1 2008/03/06 08:55:13 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node.validation; + + +/** + * A sample validator interface for {@link org.eclipse.xpand3.internal.parser.xpand3node.IdentifierNode}. + * This doesn't really do anything, and it's not a real EMF artifact. + * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended. + * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false. + */ +public interface IdentifierNodeValidator { + boolean validate(); + +} diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/IfExpressionNodeValidator.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/IfExpressionNodeValidator.java new file mode 100644 index 00000000..f580ca7e --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/IfExpressionNodeValidator.java @@ -0,0 +1,19 @@ +/** + * + * + * + * $Id: IfExpressionNodeValidator.java,v 1.1 2008/03/06 08:55:11 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node.validation; + + +/** + * A sample validator interface for {@link org.eclipse.xpand3.internal.parser.xpand3node.IfExpressionNode}. + * This doesn't really do anything, and it's not a real EMF artifact. + * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended. + * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false. + */ +public interface IfExpressionNodeValidator { + boolean validate(); + +} diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/IfStatementNodeValidator.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/IfStatementNodeValidator.java new file mode 100644 index 00000000..4dd8fd5d --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/IfStatementNodeValidator.java @@ -0,0 +1,19 @@ +/** + * + * + * + * $Id: IfStatementNodeValidator.java,v 1.1 2008/03/06 08:55:11 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node.validation; + + +/** + * A sample validator interface for {@link org.eclipse.xpand3.internal.parser.xpand3node.IfStatementNode}. + * This doesn't really do anything, and it's not a real EMF artifact. + * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended. + * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false. + */ +public interface IfStatementNodeValidator { + boolean validate(); + +} diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/ImpliesExpressionNodeValidator.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/ImpliesExpressionNodeValidator.java new file mode 100644 index 00000000..8715378b --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/ImpliesExpressionNodeValidator.java @@ -0,0 +1,19 @@ +/** + * + * + * + * $Id: ImpliesExpressionNodeValidator.java,v 1.1 2008/03/06 08:55:12 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node.validation; + + +/** + * A sample validator interface for {@link org.eclipse.xpand3.internal.parser.xpand3node.ImpliesExpressionNode}. + * This doesn't really do anything, and it's not a real EMF artifact. + * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended. + * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false. + */ +public interface ImpliesExpressionNodeValidator { + boolean validate(); + +} diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/InfixExpressionNodeValidator.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/InfixExpressionNodeValidator.java new file mode 100644 index 00000000..21f1bfc0 --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/InfixExpressionNodeValidator.java @@ -0,0 +1,19 @@ +/** + * + * + * + * $Id: InfixExpressionNodeValidator.java,v 1.1 2008/03/06 08:55:13 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node.validation; + + +/** + * A sample validator interface for {@link org.eclipse.xpand3.internal.parser.xpand3node.InfixExpressionNode}. + * This doesn't really do anything, and it's not a real EMF artifact. + * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended. + * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false. + */ +public interface InfixExpressionNodeValidator { + boolean validate(); + +} diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/JavaTypeNodeValidator.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/JavaTypeNodeValidator.java new file mode 100644 index 00000000..1ca2aad6 --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/JavaTypeNodeValidator.java @@ -0,0 +1,19 @@ +/** + * + * + * + * $Id: JavaTypeNodeValidator.java,v 1.1 2008/03/06 08:55:11 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node.validation; + + +/** + * A sample validator interface for {@link org.eclipse.xpand3.internal.parser.xpand3node.JavaTypeNode}. + * This doesn't really do anything, and it's not a real EMF artifact. + * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended. + * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false. + */ +public interface JavaTypeNodeValidator { + boolean validate(); + +} diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/LetExpressionNodeValidator.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/LetExpressionNodeValidator.java new file mode 100644 index 00000000..cac50010 --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/LetExpressionNodeValidator.java @@ -0,0 +1,19 @@ +/** + * + * + * + * $Id: LetExpressionNodeValidator.java,v 1.1 2008/03/06 08:55:14 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node.validation; + + +/** + * A sample validator interface for {@link org.eclipse.xpand3.internal.parser.xpand3node.LetExpressionNode}. + * This doesn't really do anything, and it's not a real EMF artifact. + * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended. + * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false. + */ +public interface LetExpressionNodeValidator { + boolean validate(); + +} diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/LetStatementNodeValidator.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/LetStatementNodeValidator.java new file mode 100644 index 00000000..016bd029 --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/LetStatementNodeValidator.java @@ -0,0 +1,19 @@ +/** + * + * + * + * $Id: LetStatementNodeValidator.java,v 1.1 2008/03/06 08:55:11 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node.validation; + + +/** + * A sample validator interface for {@link org.eclipse.xpand3.internal.parser.xpand3node.LetStatementNode}. + * This doesn't really do anything, and it's not a real EMF artifact. + * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended. + * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false. + */ +public interface LetStatementNodeValidator { + boolean validate(); + +} diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/ListLiteralNodeValidator.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/ListLiteralNodeValidator.java new file mode 100644 index 00000000..0fc1ad2e --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/ListLiteralNodeValidator.java @@ -0,0 +1,19 @@ +/** + * + * + * + * $Id: ListLiteralNodeValidator.java,v 1.1 2008/03/06 08:55:13 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node.validation; + + +/** + * A sample validator interface for {@link org.eclipse.xpand3.internal.parser.xpand3node.ListLiteralNode}. + * This doesn't really do anything, and it's not a real EMF artifact. + * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended. + * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false. + */ +public interface ListLiteralNodeValidator { + boolean validate(); + +} diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/MultiplicativeExpressionNodeValidator.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/MultiplicativeExpressionNodeValidator.java new file mode 100644 index 00000000..015fe81f --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/MultiplicativeExpressionNodeValidator.java @@ -0,0 +1,19 @@ +/** + * + * + * + * $Id: MultiplicativeExpressionNodeValidator.java,v 1.1 2008/03/06 08:55:13 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node.validation; + + +/** + * A sample validator interface for {@link org.eclipse.xpand3.internal.parser.xpand3node.MultiplicativeExpressionNode}. + * This doesn't really do anything, and it's not a real EMF artifact. + * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended. + * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false. + */ +public interface MultiplicativeExpressionNodeValidator { + boolean validate(); + +} diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/NsImportNodeValidator.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/NsImportNodeValidator.java new file mode 100644 index 00000000..a79fd7d2 --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/NsImportNodeValidator.java @@ -0,0 +1,21 @@ +/** + * + * + * + * $Id: NsImportNodeValidator.java,v 1.1 2008/03/06 08:55:14 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node.validation; + +import org.eclipse.tmf.common.node.CompositeNode; + +/** + * A sample validator interface for {@link org.eclipse.xpand3.internal.parser.xpand3node.NsImportNode}. + * This doesn't really do anything, and it's not a real EMF artifact. + * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended. + * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false. + */ +public interface NsImportNodeValidator { + boolean validate(); + + boolean validateNs(CompositeNode value); +} diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/NullLiteralNodeValidator.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/NullLiteralNodeValidator.java new file mode 100644 index 00000000..f499f50b --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/NullLiteralNodeValidator.java @@ -0,0 +1,19 @@ +/** + * + * + * + * $Id: NullLiteralNodeValidator.java,v 1.1 2008/03/06 08:55:13 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node.validation; + + +/** + * A sample validator interface for {@link org.eclipse.xpand3.internal.parser.xpand3node.NullLiteralNode}. + * This doesn't really do anything, and it's not a real EMF artifact. + * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended. + * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false. + */ +public interface NullLiteralNodeValidator { + boolean validate(); + +} diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/NumberLiteralNodeValidator.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/NumberLiteralNodeValidator.java new file mode 100644 index 00000000..b9cba2dc --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/NumberLiteralNodeValidator.java @@ -0,0 +1,19 @@ +/** + * + * + * + * $Id: NumberLiteralNodeValidator.java,v 1.1 2008/03/06 08:55:11 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node.validation; + + +/** + * A sample validator interface for {@link org.eclipse.xpand3.internal.parser.xpand3node.NumberLiteralNode}. + * This doesn't really do anything, and it's not a real EMF artifact. + * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended. + * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false. + */ +public interface NumberLiteralNodeValidator { + boolean validate(); + +} diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/OrExpressionNodeValidator.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/OrExpressionNodeValidator.java new file mode 100644 index 00000000..63e1d014 --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/OrExpressionNodeValidator.java @@ -0,0 +1,19 @@ +/** + * + * + * + * $Id: OrExpressionNodeValidator.java,v 1.1 2008/03/06 08:55:11 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node.validation; + + +/** + * A sample validator interface for {@link org.eclipse.xpand3.internal.parser.xpand3node.OrExpressionNode}. + * This doesn't really do anything, and it's not a real EMF artifact. + * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended. + * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false. + */ +public interface OrExpressionNodeValidator { + boolean validate(); + +} diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/ParameterListNodeValidator.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/ParameterListNodeValidator.java new file mode 100644 index 00000000..eea85788 --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/ParameterListNodeValidator.java @@ -0,0 +1,19 @@ +/** + * + * + * + * $Id: ParameterListNodeValidator.java,v 1.1 2008/03/06 08:55:14 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node.validation; + + +/** + * A sample validator interface for {@link org.eclipse.xpand3.internal.parser.xpand3node.ParameterListNode}. + * This doesn't really do anything, and it's not a real EMF artifact. + * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended. + * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false. + */ +public interface ParameterListNodeValidator { + boolean validate(); + +} diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/ParanthesizedExpressionNodeValidator.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/ParanthesizedExpressionNodeValidator.java new file mode 100644 index 00000000..1e5fc93c --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/ParanthesizedExpressionNodeValidator.java @@ -0,0 +1,19 @@ +/** + * + * + * + * $Id: ParanthesizedExpressionNodeValidator.java,v 1.1 2008/03/06 08:55:13 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node.validation; + + +/** + * A sample validator interface for {@link org.eclipse.xpand3.internal.parser.xpand3node.ParanthesizedExpressionNode}. + * This doesn't really do anything, and it's not a real EMF artifact. + * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended. + * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false. + */ +public interface ParanthesizedExpressionNodeValidator { + boolean validate(); + +} diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/PointcutNodeValidator.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/PointcutNodeValidator.java new file mode 100644 index 00000000..16feaa39 --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/PointcutNodeValidator.java @@ -0,0 +1,19 @@ +/** + * + * + * + * $Id: PointcutNodeValidator.java,v 1.1 2008/03/06 08:55:11 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node.validation; + + +/** + * A sample validator interface for {@link org.eclipse.xpand3.internal.parser.xpand3node.PointcutNode}. + * This doesn't really do anything, and it's not a real EMF artifact. + * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended. + * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false. + */ +public interface PointcutNodeValidator { + boolean validate(); + +} diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/ProtectStatementNodeValidator.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/ProtectStatementNodeValidator.java new file mode 100644 index 00000000..d0b3d767 --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/ProtectStatementNodeValidator.java @@ -0,0 +1,19 @@ +/** + * + * + * + * $Id: ProtectStatementNodeValidator.java,v 1.1 2008/03/06 08:55:14 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node.validation; + + +/** + * A sample validator interface for {@link org.eclipse.xpand3.internal.parser.xpand3node.ProtectStatementNode}. + * This doesn't really do anything, and it's not a real EMF artifact. + * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended. + * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false. + */ +public interface ProtectStatementNodeValidator { + boolean validate(); + +} diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/RelationalExpressionNodeValidator.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/RelationalExpressionNodeValidator.java new file mode 100644 index 00000000..7541fbb2 --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/RelationalExpressionNodeValidator.java @@ -0,0 +1,19 @@ +/** + * + * + * + * $Id: RelationalExpressionNodeValidator.java,v 1.1 2008/03/06 08:55:11 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node.validation; + + +/** + * A sample validator interface for {@link org.eclipse.xpand3.internal.parser.xpand3node.RelationalExpressionNode}. + * This doesn't really do anything, and it's not a real EMF artifact. + * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended. + * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false. + */ +public interface RelationalExpressionNodeValidator { + boolean validate(); + +} diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/SequenceNodeValidator.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/SequenceNodeValidator.java new file mode 100644 index 00000000..c830f8fc --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/SequenceNodeValidator.java @@ -0,0 +1,19 @@ +/** + * + * + * + * $Id: SequenceNodeValidator.java,v 1.1 2008/03/06 08:55:14 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node.validation; + + +/** + * A sample validator interface for {@link org.eclipse.xpand3.internal.parser.xpand3node.SequenceNode}. + * This doesn't really do anything, and it's not a real EMF artifact. + * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended. + * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false. + */ +public interface SequenceNodeValidator { + boolean validate(); + +} diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/SimpleTypeNodeValidator.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/SimpleTypeNodeValidator.java new file mode 100644 index 00000000..c58ac02a --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/SimpleTypeNodeValidator.java @@ -0,0 +1,19 @@ +/** + * + * + * + * $Id: SimpleTypeNodeValidator.java,v 1.1 2008/03/06 08:55:13 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node.validation; + + +/** + * A sample validator interface for {@link org.eclipse.xpand3.internal.parser.xpand3node.SimpleTypeNode}. + * This doesn't really do anything, and it's not a real EMF artifact. + * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended. + * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false. + */ +public interface SimpleTypeNodeValidator { + boolean validate(); + +} diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/StringLiteralNodeValidator.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/StringLiteralNodeValidator.java new file mode 100644 index 00000000..98d55100 --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/StringLiteralNodeValidator.java @@ -0,0 +1,19 @@ +/** + * + * + * + * $Id: StringLiteralNodeValidator.java,v 1.1 2008/03/06 08:55:11 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node.validation; + + +/** + * A sample validator interface for {@link org.eclipse.xpand3.internal.parser.xpand3node.StringLiteralNode}. + * This doesn't really do anything, and it's not a real EMF artifact. + * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended. + * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false. + */ +public interface StringLiteralNodeValidator { + boolean validate(); + +} diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/SwitchExpressionNodeValidator.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/SwitchExpressionNodeValidator.java new file mode 100644 index 00000000..6f480103 --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/SwitchExpressionNodeValidator.java @@ -0,0 +1,19 @@ +/** + * + * + * + * $Id: SwitchExpressionNodeValidator.java,v 1.1 2008/03/06 08:55:12 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node.validation; + + +/** + * A sample validator interface for {@link org.eclipse.xpand3.internal.parser.xpand3node.SwitchExpressionNode}. + * This doesn't really do anything, and it's not a real EMF artifact. + * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended. + * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false. + */ +public interface SwitchExpressionNodeValidator { + boolean validate(); + +} diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/Test_expressionNodeValidator.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/Test_expressionNodeValidator.java new file mode 100644 index 00000000..574ea320 --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/Test_expressionNodeValidator.java @@ -0,0 +1,19 @@ +/** + * + * + * + * $Id: Test_expressionNodeValidator.java,v 1.1 2008/03/06 08:55:13 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node.validation; + + +/** + * A sample validator interface for {@link org.eclipse.xpand3.internal.parser.xpand3node.Test_expressionNode}. + * This doesn't really do anything, and it's not a real EMF artifact. + * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended. + * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false. + */ +public interface Test_expressionNodeValidator { + boolean validate(); + +} diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/TextNodeValidator.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/TextNodeValidator.java new file mode 100644 index 00000000..a155043e --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/TextNodeValidator.java @@ -0,0 +1,19 @@ +/** + * + * + * + * $Id: TextNodeValidator.java,v 1.1 2008/03/06 08:55:13 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node.validation; + + +/** + * A sample validator interface for {@link org.eclipse.xpand3.internal.parser.xpand3node.TextNode}. + * This doesn't really do anything, and it's not a real EMF artifact. + * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended. + * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false. + */ +public interface TextNodeValidator { + boolean validate(); + +} diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/TextSequenceNodeValidator.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/TextSequenceNodeValidator.java new file mode 100644 index 00000000..e68d1acb --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/TextSequenceNodeValidator.java @@ -0,0 +1,19 @@ +/** + * + * + * + * $Id: TextSequenceNodeValidator.java,v 1.1 2008/03/06 08:55:13 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node.validation; + + +/** + * A sample validator interface for {@link org.eclipse.xpand3.internal.parser.xpand3node.TextSequenceNode}. + * This doesn't really do anything, and it's not a real EMF artifact. + * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended. + * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false. + */ +public interface TextSequenceNodeValidator { + boolean validate(); + +} diff --git a/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/UnaryExpressionNodeValidator.java b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/UnaryExpressionNodeValidator.java new file mode 100644 index 00000000..7586bff0 --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/emf-gen/org/eclipse/xpand3/internal/parser/xpand3node/validation/UnaryExpressionNodeValidator.java @@ -0,0 +1,19 @@ +/** + * + * + * + * $Id: UnaryExpressionNodeValidator.java,v 1.1 2008/03/06 08:55:12 jkohnlein Exp $ + */ +package org.eclipse.xpand3.internal.parser.xpand3node.validation; + + +/** + * A sample validator interface for {@link org.eclipse.xpand3.internal.parser.xpand3node.UnaryExpressionNode}. + * This doesn't really do anything, and it's not a real EMF artifact. + * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended. + * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false. + */ +public interface UnaryExpressionNodeValidator { + boolean validate(); + +} diff --git a/plugins/org.eclipse.xpand3.parser/model/Xpand3.ecore b/plugins/org.eclipse.xpand3.parser/model/Xpand3.ecore new file mode 100644 index 00000000..390ecd68 --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/model/Xpand3.ecore @@ -0,0 +1,177 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/plugins/org.eclipse.xpand3.parser/model/Xpand3Node.ecore b/plugins/org.eclipse.xpand3.parser/model/Xpand3Node.ecore new file mode 100644 index 00000000..48d83d34 --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/model/Xpand3Node.ecore @@ -0,0 +1,177 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/plugins/org.eclipse.xpand3.parser/model/Xpand3Node.genmodel b/plugins/org.eclipse.xpand3.parser/model/Xpand3Node.genmodel new file mode 100644 index 00000000..885ff990 --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/model/Xpand3Node.genmodel @@ -0,0 +1,72 @@ + + + Xpand3Node.ecore + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/plugins/org.eclipse.xpand3.parser/model/Xpand3Node.tmf b/plugins/org.eclipse.xpand3.parser/model/Xpand3Node.tmf new file mode 100644 index 00000000..e898c9fb --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/model/Xpand3Node.tmf @@ -0,0 +1,438 @@ +grammar Xpand3Node; + +normalizable file : + (imp+=nsImport)* + (decl+=abstractDeclaration )* + EOF +; + +nsImport: + LG 'IMPORT' ns=simpleType RG | + LG 'EXTENSION' ns=simpleType RG | + 'import' type ';' | + 'extension' type ('reexport')? ';' +; + +abstract normalizable abstractDeclaration : + check | + around | + extension | + definition | + definitionAround +; + +// XPAND start + +definition : + LG DEFINE name=identifier ('(' (declaredParameterList (','? '*')? | '*')? ')')? 'FOR' type + sequence + ENDDEFINE RG +; + +definitionAround : + LG AROUND pointcut ('(' (declaredParameterList (','? '*')? | '*')? ')')? 'FOR' type + sequence + ENDAROUND RG +; + +sequence : + textSequence + (statement + textSequence)* +; + +abstract normalizable statement : + simpleStatement +| fileStatement +| foreachStatement +| ifStatement +| letStatement +| protectStatement +; + +normalizable textSequence : + text (text)* +; + +text : + '-'? TEXT +; + +abstract normalizable simpleStatement : + errorStatement +| expandStatement +| expressionStmt +; + +errorStatement : + 'ERROR' expression +; + +expandStatement : + 'EXPAND' simpleType ('(' parameterList ')')? (('FOR' expression) + | ('FOREACH'expression ('SEPARATOR' expression)?))? +; + +expressionStmt : + expression +; + +fileStatement : + 'FILE' expression (identifier)? + sequence + 'ENDFILE' +; + +foreachStatement : + 'FOREACH' expression 'AS' identifier ('ITERATOR' identifier)? ('SEPARATOR' expression)? + sequence + 'ENDFOREACH' +; + +ifStatement : + 'IF' expression + sequence + elseIfStatement* + elseStatement? + 'ENDIF' +; + +elseIfStatement : + 'ELSEIF' expression + sequence +; + +elseStatement : + 'ELSE' + sequence +; + +letStatement : + 'LET' expression 'AS' identifier + sequence + 'ENDLET' +; + +protectStatement : + 'PROTECT' + 'CSTART' expression + 'CEND' expression + 'ID' expression 'DISABLE'? + sequence + 'ENDPROTECT' +; + +// Xtend start + +check : + 'context' type ('if' expression)? ('ERROR'|'WARNING') expression ':' + expression ';' +; + +around : + 'around' pointcut '(' (declaredParameterList (','? '*')? | '*')? ')' ':' + expression ';' +; + +pointcut : + ( '*' + |identifier) + ( '*' + |identifier + |'::' )* +; + +extension : + ('private'|'cached'|'create')* type? identifier identifier? '(' declaredParameterList? ')' ':' + ('JAVA' javaType '.' identifier '('(javaType (',' javaType )*)? ')'| + expression )';' +; + +javaType : + identifier + ('.' (identifier |'Collection' | + 'List' |'Set'))* +; + +// +// Expressions +// + +normalizable test_expression: + expression EOF +; + +normalizable expression : + letExpression +; + +normalizable letExpression : + 'let' identifier '=' castedExpression ':' expression +| castedExpression +; + +normalizable castedExpression : + =>('(' type ')' chainExpression) + '(' type ')' chainExpression + | chainExpression +; + +normalizable chainExpression : + ifExpression ( '->' ifExpression )* +; + +normalizable ifExpression : + switchExpression ('?' expression ':' switchExpression )? +| 'if' expression 'then' switchExpression ('else' switchExpression)? +; + +normalizable switchExpression : + 'switch' ('(' orExpression ')')? '{' + casePart* + 'default' ':' orExpression + '}' +| orExpression +; + +casePart : + 'case' expression ':' expression; + +normalizable orExpression : + andExpression ('||' andExpression )* +; + +normalizable andExpression : + impliesExpression ('&&' impliesExpression )* +; + +normalizable impliesExpression : + relationalExpression ('implies' relationalExpression )* +; + +normalizable relationalExpression : + additiveExpression + (('==' | '!=' | '>=' | '<=' | '>' | '<') additiveExpression )* +; + +normalizable additiveExpression : + multiplicativeExpression + (('+'| '-') multiplicativeExpression )* +; + +normalizable multiplicativeExpression : + unaryExpression + (('*' | '/') unaryExpression )* +; + + +normalizable unaryExpression : + infixExpression +| '!' infixExpression +| '-' infixExpression +; + +normalizable infixExpression : + primaryExpression ( '.' featureCall )* +; + +abstract normalizable primaryExpression : + stringLiteral +| featureCall +| booleanLiteral +| numberLiteral +| nullLiteral +| listLiteral +| constructorCall +| globalVarExpression +| paranthesizedExpression +; + +stringLiteral : + StringLiteral +; + +paranthesizedExpression : + '(' expression ')' +; + +globalVarExpression : + 'GLOBALVAR' identifier ; + +normalizable featureCall : + identifier '(' (parameterList)? ')' +| type +| collectionExpression +; + +listLiteral : + '{'(expression (',' expression)*)?'}' +; + +constructorCall : + 'new' simpleType + +; + +booleanLiteral : + 'false'|'true' +; + +nullLiteral : + 'null' +; + +numberLiteral : + IntLiteral +| IntLiteral '.' IntLiteral +; + +collectionExpression : + 'typeSelect' + '(' type ')' + + |('collect' + | 'select' + | 'selectFirst' + | 'reject' + | 'exists' + | 'notExists' + | 'sortBy' + | 'forAll') '(' (identifier '|')? expression ')' + +; + +// helper + +declaredParameterList : + declaredParameter (',' declaredParameter )* +; + +declaredParameter : + type identifier +; + +parameterList : + expression (',' expression )* +; + +// type + +abstract normalizable type : + collectionType | + simpleType +; + +collectionType : + ( 'Collection' | 'List' | 'Set' ) + ('[' simpleType ']' )? +; + +simpleType : + identifier + ('::' identifier )* +; + +identifier : + Identifier +; + + +///////////////////////////////////////// +// LEXER +//////////////////////////////////////// + +lexer IntLiteral : + <# ('0' | '1'..'9' '0'..'9'*) #> + +lexer StringLiteral : + <# '\"' ( EscapeSequence | ~('\\'|'\"') )* '\"' + | '\'' ( EscapeSequence | ~('\''|'\\') )* '\'' #> + +lexer fragment EscapeSequence : + <# '\\' ('b'|'t'|'n'|'f'|'r'|'\"'|'\''|'\\') + | UnicodeEscape + | OctalEscape #> + +lexer fragment OctalEscape : + <# '\\' ('0'..'3') ('0'..'7') ('0'..'7') + | '\\' ('0'..'7') ('0'..'7') + | '\\' ('0'..'7') #> + +lexer fragment UnicodeEscape : + <# '\\' 'u' HexDigit HexDigit HexDigit HexDigit #> + +lexer fragment HexDigit : + <# ('0'..'9'|'a'..'f'|'A'..'F') #> + +lexer DEFINE : + <# {xpandMode=true;} 'DEFINE' #> + +lexer ENDDEFINE : + <# 'ENDDEFINE' {xpandMode=false;} #> + +lexer AROUND : + <# {xpandMode=true;}'AROUND' #> + +lexer ENDAROUND : <# 'ENDAROUND'{xpandMode=false;} #> + +lexer Identifier : + <# ('^')? Letter (Letter|JavaIDDigit)* #> + +lexer fragment Letter : + <# '\u0024' | + '\u0041'..'\u005a' | + '\u005f' | + '\u0061'..'\u007a' | + '\u00c0'..'\u00d6' | + '\u00d8'..'\u00f6' | + '\u00f8'..'\u00ff' | + '\u0100'..'\u1fff' | + '\u3040'..'\u318f' | + '\u3300'..'\u337f' | + '\u3400'..'\u3d2d' | + '\u4e00'..'\u9fff' | + '\uf900'..'\ufaff' #> + +lexer fragment JavaIDDigit : + <# + '\u0030'..'\u0039' | + '\u0660'..'\u0669' | + '\u06f0'..'\u06f9' | + '\u0966'..'\u096f' | + '\u09e6'..'\u09ef' | + '\u0a66'..'\u0a6f' | + '\u0ae6'..'\u0aef' | + '\u0b66'..'\u0b6f' | + '\u0be7'..'\u0bef' | + '\u0c66'..'\u0c6f' | + '\u0ce6'..'\u0cef' | + '\u0d66'..'\u0d6f' | + '\u0e50'..'\u0e59' | + '\u0ed0'..'\u0ed9' | + '\u1040'..'\u1049' + #> + +lexer WS : + <# (' '|'\r'|'\t'|'\u000C'|'\n') {$channel=HIDDEN;} #> + +lexer COMMENT : + <# '/*' ( options {greedy=false;} : . )* '*/' {$channel=HIDDEN;} #> + +lexer LINE_COMMENT : + <# '//' ~('\n'|'\r')* ('\r'? '\n'|EOF) {$channel=HIDDEN;} #> + + +lexer REM_COMMENT_OUT : + <# {!xpandMode}?=> LG 'REM' RG ( options {greedy=false;} : . )* '\u00ABENDREM' RG {$channel=HIDDEN;} #> + +lexer REM_COMMENT : + <# {xpandMode}?=> 'REM' RG ( options {greedy=false;} : . )* '\u00ABENDREM' {$channel=HIDDEN;} #> + +lexer TEXT : + <# {xpandMode}?=> RG ~(LG)* (LG)? #> + +lexer LG : + <# '\u00AB' #> + +lexer RG : + <# '\u00BB' #> diff --git a/plugins/org.eclipse.xpand3.parser/model/generator.oaw b/plugins/org.eclipse.xpand3.parser/model/generator.oaw new file mode 100644 index 00000000..74d60382 --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/model/generator.oaw @@ -0,0 +1,11 @@ + + + + + + + + + + \ No newline at end of file diff --git a/plugins/org.eclipse.xpand3.parser/model/generator.properties b/plugins/org.eclipse.xpand3.parser/model/generator.properties new file mode 100644 index 00000000..e33ee405 --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/model/generator.properties @@ -0,0 +1,7 @@ +modelName=Xpand3Node +modelFile=model/${modelName}.tmf +targetRoot=. +javaTargetDir=${targetRoot}/src-gen/org/eclipse/xpand3/parser +modelTargetDir=${targetRoot}/model +targetPackage=org.eclipse.xpand3.parser +nodeTargetPackage=org.eclipse.xpand3.internal.parser.xpand3node diff --git a/plugins/org.eclipse.xpand3.parser/plugin.properties b/plugins/org.eclipse.xpand3.parser/plugin.properties new file mode 100644 index 00000000..26839d6f --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/plugin.properties @@ -0,0 +1,20 @@ + +# +# +# +# $Id: plugin.properties,v 1.1 2008/03/06 08:55:17 jkohnlein Exp $ + +# ==================================================================== +# To code developer: +# Do NOT change the properties between this line and the +# "%%% END OF TRANSLATED PROPERTIES %%%" line. +# Make a new property name, append to the end of the file and change +# the code to use the new property. +# ==================================================================== + +# ==================================================================== +# %%% END OF TRANSLATED PROPERTIES %%% +# ==================================================================== + +pluginName = Xpand3 Model +providerName = www.example.org diff --git a/plugins/org.eclipse.xpand3.parser/plugin.xml b/plugins/org.eclipse.xpand3.parser/plugin.xml new file mode 100644 index 00000000..f95b615c --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/plugin.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + diff --git a/plugins/org.eclipse.xpand3.parser/src-gen/org/eclipse/xpand3/parser/Xpand3Node.g b/plugins/org.eclipse.xpand3.parser/src-gen/org/eclipse/xpand3/parser/Xpand3Node.g new file mode 100644 index 00000000..6f6d6d21 --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/src-gen/org/eclipse/xpand3/parser/Xpand3Node.g @@ -0,0 +1,460 @@ +grammar Xpand3Node; + + +options { + superClass=AbstractNodeParser; +} + +@parser::header { +package org.eclipse.xpand3.parser; + +import org.eclipse.tmf.common.node.*; +import org.eclipse.xpand3.internal.parser.xpand3node.*; + +} + +@parser::members { + protected Xpand3nodeFactory factory = Xpand3nodeFactory.eINSTANCE; +} + +@lexer::header { +package org.eclipse.xpand3.parser; +} + + +@lexer::members { + private boolean xpandMode = false; +} + +file returns [CompositeNode cn] + @init{ cn = factory.createFileNode(); cn.setRule("file"); } + @after{ cn = normalize(cn); } : + (((imp=nsImport { addToChildren(cn, imp); ((FileNode) cn).getImp().add(imp); })))* (((decl=abstractDeclaration { addToChildren(cn, decl); ((FileNode) cn).getDecl().add(decl); })))* (EOF) +; +nsImport returns [CompositeNode cn] + @init{ cn = factory.createNsImportNode(); cn.setRule("nsImport"); } : + (LG { addLeafNodeForToken($cn, null); }) ('IMPORT' { addLeafNodeForToken($cn, null); }) (ns=simpleType { addToChildren(cn, ns); ((NsImportNode) cn).setNs(ns); }) (RG { addLeafNodeForToken($cn, null); }) + | (LG { addLeafNodeForToken($cn, null); }) ('EXTENSION' { addLeafNodeForToken($cn, null); }) (ns=simpleType { addToChildren(cn, ns); ((NsImportNode) cn).setNs(ns); }) (RG { addLeafNodeForToken($cn, null); }) + | ('import' { addLeafNodeForToken($cn, null); }) (unnamed0=type { addToChildren(cn, unnamed0); }) (';' { addLeafNodeForToken($cn, null); }) + | ('extension' { addLeafNodeForToken($cn, null); }) (unnamed1=type { addToChildren(cn, unnamed1); }) ((('reexport' { addLeafNodeForToken($cn, null); })))? (';' { addLeafNodeForToken($cn, null); }) +; +abstractDeclaration returns [CompositeNode cn] : + (check { $cn = $check.cn; }) + | (around { $cn = $around.cn; }) + | (extension { $cn = $extension.cn; }) + | (definition { $cn = $definition.cn; }) + | (definitionAround { $cn = $definitionAround.cn; }) +; +definition returns [CompositeNode cn] + @init{ cn = factory.createDefinitionNode(); cn.setRule("definition"); } : + (LG { addLeafNodeForToken($cn, null); }) (DEFINE { addLeafNodeForToken($cn, null); }) (name=identifier { addToChildren(cn, name); ((DefinitionNode) cn).setName(name); }) ((('(' { addLeafNodeForToken($cn, null); }) (((unnamed2=declaredParameterList { addToChildren(cn, unnamed2); }) (((',' { addLeafNodeForToken($cn, null); })? ('*' { addLeafNodeForToken($cn, null); })))? + | ('*' { addLeafNodeForToken($cn, null); })))? (')' { addLeafNodeForToken($cn, null); })))? ('FOR' { addLeafNodeForToken($cn, null); }) (unnamed3=type { addToChildren(cn, unnamed3); }) (unnamed4=sequence { addToChildren(cn, unnamed4); }) (ENDDEFINE { addLeafNodeForToken($cn, null); }) (RG { addLeafNodeForToken($cn, null); }) +; +definitionAround returns [CompositeNode cn] + @init{ cn = factory.createDefinitionAroundNode(); cn.setRule("definitionAround"); } : + (LG { addLeafNodeForToken($cn, null); }) (AROUND { addLeafNodeForToken($cn, null); }) (unnamed5=pointcut { addToChildren(cn, unnamed5); }) ((('(' { addLeafNodeForToken($cn, null); }) (((unnamed6=declaredParameterList { addToChildren(cn, unnamed6); }) (((',' { addLeafNodeForToken($cn, null); })? ('*' { addLeafNodeForToken($cn, null); })))? + | ('*' { addLeafNodeForToken($cn, null); })))? (')' { addLeafNodeForToken($cn, null); })))? ('FOR' { addLeafNodeForToken($cn, null); }) (unnamed7=type { addToChildren(cn, unnamed7); }) (unnamed8=sequence { addToChildren(cn, unnamed8); }) (ENDAROUND { addLeafNodeForToken($cn, null); }) (RG { addLeafNodeForToken($cn, null); }) +; +sequence returns [CompositeNode cn] + @init{ cn = factory.createSequenceNode(); cn.setRule("sequence"); } : + (unnamed9=textSequence { addToChildren(cn, unnamed9); }) (((unnamed10=statement { addToChildren(cn, unnamed10); }) (unnamed11=textSequence { addToChildren(cn, unnamed11); })))* +; +statement returns [CompositeNode cn] : + (simpleStatement { $cn = $simpleStatement.cn; }) + | (fileStatement { $cn = $fileStatement.cn; }) + | (foreachStatement { $cn = $foreachStatement.cn; }) + | (ifStatement { $cn = $ifStatement.cn; }) + | (letStatement { $cn = $letStatement.cn; }) + | (protectStatement { $cn = $protectStatement.cn; }) +; +textSequence returns [CompositeNode cn] + @init{ cn = factory.createTextSequenceNode(); cn.setRule("textSequence"); } + @after{ cn = normalize(cn); } : + (unnamed12=text { addToChildren(cn, unnamed12); }) (((unnamed13=text { addToChildren(cn, unnamed13); })))* +; +text returns [CompositeNode cn] + @init{ cn = factory.createTextNode(); cn.setRule("text"); } : + ('-' { addLeafNodeForToken($cn, null); })? (TEXT { addLeafNodeForToken($cn, null); }) +; +simpleStatement returns [CompositeNode cn] : + (errorStatement { $cn = $errorStatement.cn; }) + | (expandStatement { $cn = $expandStatement.cn; }) + | (expressionStmt { $cn = $expressionStmt.cn; }) +; +errorStatement returns [CompositeNode cn] + @init{ cn = factory.createErrorStatementNode(); cn.setRule("errorStatement"); } : + ('ERROR' { addLeafNodeForToken($cn, null); }) (unnamed14=expression { addToChildren(cn, unnamed14); }) +; +expandStatement returns [CompositeNode cn] + @init{ cn = factory.createExpandStatementNode(); cn.setRule("expandStatement"); } : + ('EXPAND' { addLeafNodeForToken($cn, null); }) (unnamed15=simpleType { addToChildren(cn, unnamed15); }) ((('(' { addLeafNodeForToken($cn, null); }) (unnamed16=parameterList { addToChildren(cn, unnamed16); }) (')' { addLeafNodeForToken($cn, null); })))? ((((('FOR' { addLeafNodeForToken($cn, null); }) (unnamed17=expression { addToChildren(cn, unnamed17); }))) + | ((('FOREACH' { addLeafNodeForToken($cn, null); }) (unnamed18=expression { addToChildren(cn, unnamed18); }) ((('SEPARATOR' { addLeafNodeForToken($cn, null); }) (unnamed19=expression { addToChildren(cn, unnamed19); })))?))))? +; +expressionStmt returns [CompositeNode cn] + @init{ cn = factory.createExpressionStmtNode(); cn.setRule("expressionStmt"); } : + (unnamed20=expression { addToChildren(cn, unnamed20); }) +; +fileStatement returns [CompositeNode cn] + @init{ cn = factory.createFileStatementNode(); cn.setRule("fileStatement"); } : + ('FILE' { addLeafNodeForToken($cn, null); }) (unnamed21=expression { addToChildren(cn, unnamed21); }) (((unnamed22=identifier { addToChildren(cn, unnamed22); })))? (unnamed23=sequence { addToChildren(cn, unnamed23); }) ('ENDFILE' { addLeafNodeForToken($cn, null); }) +; +foreachStatement returns [CompositeNode cn] + @init{ cn = factory.createForeachStatementNode(); cn.setRule("foreachStatement"); } : + ('FOREACH' { addLeafNodeForToken($cn, null); }) (unnamed24=expression { addToChildren(cn, unnamed24); }) ('AS' { addLeafNodeForToken($cn, null); }) (unnamed25=identifier { addToChildren(cn, unnamed25); }) ((('ITERATOR' { addLeafNodeForToken($cn, null); }) (unnamed26=identifier { addToChildren(cn, unnamed26); })))? ((('SEPARATOR' { addLeafNodeForToken($cn, null); }) (unnamed27=expression { addToChildren(cn, unnamed27); })))? (unnamed28=sequence { addToChildren(cn, unnamed28); }) ('ENDFOREACH' { addLeafNodeForToken($cn, null); }) +; +ifStatement returns [CompositeNode cn] + @init{ cn = factory.createIfStatementNode(); cn.setRule("ifStatement"); } : + ('IF' { addLeafNodeForToken($cn, null); }) (unnamed29=expression { addToChildren(cn, unnamed29); }) (unnamed30=sequence { addToChildren(cn, unnamed30); }) (unnamed31=elseIfStatement { addToChildren(cn, unnamed31); })* (unnamed32=elseStatement { addToChildren(cn, unnamed32); })? ('ENDIF' { addLeafNodeForToken($cn, null); }) +; +elseIfStatement returns [CompositeNode cn] + @init{ cn = factory.createElseIfStatementNode(); cn.setRule("elseIfStatement"); } : + ('ELSEIF' { addLeafNodeForToken($cn, null); }) (unnamed33=expression { addToChildren(cn, unnamed33); }) (unnamed34=sequence { addToChildren(cn, unnamed34); }) +; +elseStatement returns [CompositeNode cn] + @init{ cn = factory.createElseStatementNode(); cn.setRule("elseStatement"); } : + ('ELSE' { addLeafNodeForToken($cn, null); }) (unnamed35=sequence { addToChildren(cn, unnamed35); }) +; +letStatement returns [CompositeNode cn] + @init{ cn = factory.createLetStatementNode(); cn.setRule("letStatement"); } : + ('LET' { addLeafNodeForToken($cn, null); }) (unnamed36=expression { addToChildren(cn, unnamed36); }) ('AS' { addLeafNodeForToken($cn, null); }) (unnamed37=identifier { addToChildren(cn, unnamed37); }) (unnamed38=sequence { addToChildren(cn, unnamed38); }) ('ENDLET' { addLeafNodeForToken($cn, null); }) +; +protectStatement returns [CompositeNode cn] + @init{ cn = factory.createProtectStatementNode(); cn.setRule("protectStatement"); } : + ('PROTECT' { addLeafNodeForToken($cn, null); }) ('CSTART' { addLeafNodeForToken($cn, null); }) (unnamed39=expression { addToChildren(cn, unnamed39); }) ('CEND' { addLeafNodeForToken($cn, null); }) (unnamed40=expression { addToChildren(cn, unnamed40); }) ('ID' { addLeafNodeForToken($cn, null); }) (unnamed41=expression { addToChildren(cn, unnamed41); }) ('DISABLE' { addLeafNodeForToken($cn, null); })? (unnamed42=sequence { addToChildren(cn, unnamed42); }) ('ENDPROTECT' { addLeafNodeForToken($cn, null); }) +; +check returns [CompositeNode cn] + @init{ cn = factory.createCheckNode(); cn.setRule("check"); } : + ('context' { addLeafNodeForToken($cn, null); }) (unnamed43=type { addToChildren(cn, unnamed43); }) ((('if' { addLeafNodeForToken($cn, null); }) (unnamed44=expression { addToChildren(cn, unnamed44); })))? ((('ERROR' { addLeafNodeForToken($cn, null); }) + | ('WARNING' { addLeafNodeForToken($cn, null); }))) (unnamed45=expression { addToChildren(cn, unnamed45); }) (':' { addLeafNodeForToken($cn, null); }) (unnamed46=expression { addToChildren(cn, unnamed46); }) (';' { addLeafNodeForToken($cn, null); }) +; +around returns [CompositeNode cn] + @init{ cn = factory.createAroundNode(); cn.setRule("around"); } : + ('around' { addLeafNodeForToken($cn, null); }) (unnamed47=pointcut { addToChildren(cn, unnamed47); }) ('(' { addLeafNodeForToken($cn, null); }) (((unnamed48=declaredParameterList { addToChildren(cn, unnamed48); }) (((',' { addLeafNodeForToken($cn, null); })? ('*' { addLeafNodeForToken($cn, null); })))? + | ('*' { addLeafNodeForToken($cn, null); })))? (')' { addLeafNodeForToken($cn, null); }) (':' { addLeafNodeForToken($cn, null); }) (unnamed49=expression { addToChildren(cn, unnamed49); }) (';' { addLeafNodeForToken($cn, null); }) +; +pointcut returns [CompositeNode cn] + @init{ cn = factory.createPointcutNode(); cn.setRule("pointcut"); } : + ((('*' { addLeafNodeForToken($cn, null); }) + | (unnamed50=identifier { addToChildren(cn, unnamed50); }))) ((('*' { addLeafNodeForToken($cn, null); }) + | (unnamed51=identifier { addToChildren(cn, unnamed51); }) + | ('::' { addLeafNodeForToken($cn, null); })))* +; +extension returns [CompositeNode cn] + @init{ cn = factory.createExtensionNode(); cn.setRule("extension"); } : + ((('private' { addLeafNodeForToken($cn, null); }) + | ('cached' { addLeafNodeForToken($cn, null); }) + | ('create' { addLeafNodeForToken($cn, null); })))* (unnamed52=type { addToChildren(cn, unnamed52); })? (unnamed53=identifier { addToChildren(cn, unnamed53); }) (unnamed54=identifier { addToChildren(cn, unnamed54); })? ('(' { addLeafNodeForToken($cn, null); }) (unnamed55=declaredParameterList { addToChildren(cn, unnamed55); })? (')' { addLeafNodeForToken($cn, null); }) (':' { addLeafNodeForToken($cn, null); }) ((('JAVA' { addLeafNodeForToken($cn, null); }) (unnamed56=javaType { addToChildren(cn, unnamed56); }) ('.' { addLeafNodeForToken($cn, null); }) (unnamed57=identifier { addToChildren(cn, unnamed57); }) ('(' { addLeafNodeForToken($cn, null); }) (((unnamed58=javaType { addToChildren(cn, unnamed58); }) (((',' { addLeafNodeForToken($cn, null); }) (unnamed59=javaType { addToChildren(cn, unnamed59); })))*))? (')' { addLeafNodeForToken($cn, null); }) + | (unnamed60=expression { addToChildren(cn, unnamed60); }))) (';' { addLeafNodeForToken($cn, null); }) +; +javaType returns [CompositeNode cn] + @init{ cn = factory.createJavaTypeNode(); cn.setRule("javaType"); } : + (unnamed61=identifier { addToChildren(cn, unnamed61); }) ((('.' { addLeafNodeForToken($cn, null); }) (((unnamed62=identifier { addToChildren(cn, unnamed62); }) + | ('Collection' { addLeafNodeForToken($cn, null); }) + | ('List' { addLeafNodeForToken($cn, null); }) + | ('Set' { addLeafNodeForToken($cn, null); })))))* +; +test_expression returns [CompositeNode cn] + @init{ cn = factory.createTest_expressionNode(); cn.setRule("test_expression"); } + @after{ cn = normalize(cn); } : + (unnamed63=expression { addToChildren(cn, unnamed63); }) (EOF) +; +expression returns [CompositeNode cn] + @init{ cn = factory.createExpressionNode(); cn.setRule("expression"); } + @after{ cn = normalize(cn); } : + (unnamed64=letExpression { addToChildren(cn, unnamed64); }) +; +letExpression returns [CompositeNode cn] + @init{ cn = factory.createLetExpressionNode(); cn.setRule("letExpression"); } + @after{ cn = normalize(cn); } : + ('let' { addLeafNodeForToken($cn, null); }) (unnamed65=identifier { addToChildren(cn, unnamed65); }) ('=' { addLeafNodeForToken($cn, null); }) (unnamed66=castedExpression { addToChildren(cn, unnamed66); }) (':' { addLeafNodeForToken($cn, null); }) (unnamed67=expression { addToChildren(cn, unnamed67); }) + | (unnamed68=castedExpression { addToChildren(cn, unnamed68); }) +; +castedExpression returns [CompositeNode cn] + @init{ cn = factory.createCastedExpressionNode(); cn.setRule("castedExpression"); } + @after{ cn = normalize(cn); } : + ('(' type ')' chainExpression)=>(('(' { addLeafNodeForToken($cn, null); }) (unnamed69=type { addToChildren(cn, unnamed69); }) (')' { addLeafNodeForToken($cn, null); }) (unnamed70=chainExpression { addToChildren(cn, unnamed70); })) + | (unnamed71=chainExpression { addToChildren(cn, unnamed71); }) +; +chainExpression returns [CompositeNode cn] + @init{ cn = factory.createChainExpressionNode(); cn.setRule("chainExpression"); } + @after{ cn = normalize(cn); } : + (unnamed72=ifExpression { addToChildren(cn, unnamed72); }) ((('->' { addLeafNodeForToken($cn, null); }) (unnamed73=ifExpression { addToChildren(cn, unnamed73); })))* +; +ifExpression returns [CompositeNode cn] + @init{ cn = factory.createIfExpressionNode(); cn.setRule("ifExpression"); } + @after{ cn = normalize(cn); } : + (unnamed74=switchExpression { addToChildren(cn, unnamed74); }) ((('?' { addLeafNodeForToken($cn, null); }) (unnamed75=expression { addToChildren(cn, unnamed75); }) (':' { addLeafNodeForToken($cn, null); }) (unnamed76=switchExpression { addToChildren(cn, unnamed76); })))? + | ('if' { addLeafNodeForToken($cn, null); }) (unnamed77=expression { addToChildren(cn, unnamed77); }) ('then' { addLeafNodeForToken($cn, null); }) (unnamed78=switchExpression { addToChildren(cn, unnamed78); }) ((('else' { addLeafNodeForToken($cn, null); }) (unnamed79=switchExpression { addToChildren(cn, unnamed79); })))? +; +switchExpression returns [CompositeNode cn] + @init{ cn = factory.createSwitchExpressionNode(); cn.setRule("switchExpression"); } + @after{ cn = normalize(cn); } : + ('switch' { addLeafNodeForToken($cn, null); }) ((('(' { addLeafNodeForToken($cn, null); }) (unnamed80=orExpression { addToChildren(cn, unnamed80); }) (')' { addLeafNodeForToken($cn, null); })))? ('{' { addLeafNodeForToken($cn, null); }) (unnamed81=casePart { addToChildren(cn, unnamed81); })* ('default' { addLeafNodeForToken($cn, null); }) (':' { addLeafNodeForToken($cn, null); }) (unnamed82=orExpression { addToChildren(cn, unnamed82); }) ('}' { addLeafNodeForToken($cn, null); }) + | (unnamed83=orExpression { addToChildren(cn, unnamed83); }) +; +casePart returns [CompositeNode cn] + @init{ cn = factory.createCasePartNode(); cn.setRule("casePart"); } : + ('case' { addLeafNodeForToken($cn, null); }) (unnamed84=expression { addToChildren(cn, unnamed84); }) (':' { addLeafNodeForToken($cn, null); }) (unnamed85=expression { addToChildren(cn, unnamed85); }) +; +orExpression returns [CompositeNode cn] + @init{ cn = factory.createOrExpressionNode(); cn.setRule("orExpression"); } + @after{ cn = normalize(cn); } : + (unnamed86=andExpression { addToChildren(cn, unnamed86); }) ((('||' { addLeafNodeForToken($cn, null); }) (unnamed87=andExpression { addToChildren(cn, unnamed87); })))* +; +andExpression returns [CompositeNode cn] + @init{ cn = factory.createAndExpressionNode(); cn.setRule("andExpression"); } + @after{ cn = normalize(cn); } : + (unnamed88=impliesExpression { addToChildren(cn, unnamed88); }) ((('&&' { addLeafNodeForToken($cn, null); }) (unnamed89=impliesExpression { addToChildren(cn, unnamed89); })))* +; +impliesExpression returns [CompositeNode cn] + @init{ cn = factory.createImpliesExpressionNode(); cn.setRule("impliesExpression"); } + @after{ cn = normalize(cn); } : + (unnamed90=relationalExpression { addToChildren(cn, unnamed90); }) ((('implies' { addLeafNodeForToken($cn, null); }) (unnamed91=relationalExpression { addToChildren(cn, unnamed91); })))* +; +relationalExpression returns [CompositeNode cn] + @init{ cn = factory.createRelationalExpressionNode(); cn.setRule("relationalExpression"); } + @after{ cn = normalize(cn); } : + (unnamed92=additiveExpression { addToChildren(cn, unnamed92); }) ((((('==' { addLeafNodeForToken($cn, null); }) + | ('!=' { addLeafNodeForToken($cn, null); }) + | ('>=' { addLeafNodeForToken($cn, null); }) + | ('<=' { addLeafNodeForToken($cn, null); }) + | ('>' { addLeafNodeForToken($cn, null); }) + | ('<' { addLeafNodeForToken($cn, null); }))) (unnamed93=additiveExpression { addToChildren(cn, unnamed93); })))* +; +additiveExpression returns [CompositeNode cn] + @init{ cn = factory.createAdditiveExpressionNode(); cn.setRule("additiveExpression"); } + @after{ cn = normalize(cn); } : + (unnamed94=multiplicativeExpression { addToChildren(cn, unnamed94); }) ((((('+' { addLeafNodeForToken($cn, null); }) + | ('-' { addLeafNodeForToken($cn, null); }))) (unnamed95=multiplicativeExpression { addToChildren(cn, unnamed95); })))* +; +multiplicativeExpression returns [CompositeNode cn] + @init{ cn = factory.createMultiplicativeExpressionNode(); cn.setRule("multiplicativeExpression"); } + @after{ cn = normalize(cn); } : + (unnamed96=unaryExpression { addToChildren(cn, unnamed96); }) ((((('*' { addLeafNodeForToken($cn, null); }) + | ('/' { addLeafNodeForToken($cn, null); }))) (unnamed97=unaryExpression { addToChildren(cn, unnamed97); })))* +; +unaryExpression returns [CompositeNode cn] + @init{ cn = factory.createUnaryExpressionNode(); cn.setRule("unaryExpression"); } + @after{ cn = normalize(cn); } : + (unnamed98=infixExpression { addToChildren(cn, unnamed98); }) + | ('!' { addLeafNodeForToken($cn, null); }) (unnamed99=infixExpression { addToChildren(cn, unnamed99); }) + | ('-' { addLeafNodeForToken($cn, null); }) (unnamed100=infixExpression { addToChildren(cn, unnamed100); }) +; +infixExpression returns [CompositeNode cn] + @init{ cn = factory.createInfixExpressionNode(); cn.setRule("infixExpression"); } + @after{ cn = normalize(cn); } : + (unnamed101=primaryExpression { addToChildren(cn, unnamed101); }) ((('.' { addLeafNodeForToken($cn, null); }) (unnamed102=featureCall { addToChildren(cn, unnamed102); })))* +; +primaryExpression returns [CompositeNode cn] : + (stringLiteral { $cn = $stringLiteral.cn; }) + | (featureCall { $cn = $featureCall.cn; }) + | (booleanLiteral { $cn = $booleanLiteral.cn; }) + | (numberLiteral { $cn = $numberLiteral.cn; }) + | (nullLiteral { $cn = $nullLiteral.cn; }) + | (listLiteral { $cn = $listLiteral.cn; }) + | (constructorCall { $cn = $constructorCall.cn; }) + | (globalVarExpression { $cn = $globalVarExpression.cn; }) + | (paranthesizedExpression { $cn = $paranthesizedExpression.cn; }) +; +stringLiteral returns [CompositeNode cn] + @init{ cn = factory.createStringLiteralNode(); cn.setRule("stringLiteral"); } : + (StringLiteral { addLeafNodeForToken($cn, null); }) +; +paranthesizedExpression returns [CompositeNode cn] + @init{ cn = factory.createParanthesizedExpressionNode(); cn.setRule("paranthesizedExpression"); } : + ('(' { addLeafNodeForToken($cn, null); }) (unnamed103=expression { addToChildren(cn, unnamed103); }) (')' { addLeafNodeForToken($cn, null); }) +; +globalVarExpression returns [CompositeNode cn] + @init{ cn = factory.createGlobalVarExpressionNode(); cn.setRule("globalVarExpression"); } : + ('GLOBALVAR' { addLeafNodeForToken($cn, null); }) (unnamed104=identifier { addToChildren(cn, unnamed104); }) +; +featureCall returns [CompositeNode cn] + @init{ cn = factory.createFeatureCallNode(); cn.setRule("featureCall"); } + @after{ cn = normalize(cn); } : + (unnamed105=identifier { addToChildren(cn, unnamed105); }) ('(' { addLeafNodeForToken($cn, null); }) (((unnamed106=parameterList { addToChildren(cn, unnamed106); })))? (')' { addLeafNodeForToken($cn, null); }) + | (unnamed107=type { addToChildren(cn, unnamed107); }) + | (unnamed108=collectionExpression { addToChildren(cn, unnamed108); }) +; +listLiteral returns [CompositeNode cn] + @init{ cn = factory.createListLiteralNode(); cn.setRule("listLiteral"); } : + ('{' { addLeafNodeForToken($cn, null); }) (((unnamed109=expression { addToChildren(cn, unnamed109); }) (((',' { addLeafNodeForToken($cn, null); }) (unnamed110=expression { addToChildren(cn, unnamed110); })))*))? ('}' { addLeafNodeForToken($cn, null); }) +; +constructorCall returns [CompositeNode cn] + @init{ cn = factory.createConstructorCallNode(); cn.setRule("constructorCall"); } : + ('new' { addLeafNodeForToken($cn, null); }) (unnamed111=simpleType { addToChildren(cn, unnamed111); }) +; +booleanLiteral returns [CompositeNode cn] + @init{ cn = factory.createBooleanLiteralNode(); cn.setRule("booleanLiteral"); } : + ('false' { addLeafNodeForToken($cn, null); }) + | ('true' { addLeafNodeForToken($cn, null); }) +; +nullLiteral returns [CompositeNode cn] + @init{ cn = factory.createNullLiteralNode(); cn.setRule("nullLiteral"); } : + ('null' { addLeafNodeForToken($cn, null); }) +; +numberLiteral returns [CompositeNode cn] + @init{ cn = factory.createNumberLiteralNode(); cn.setRule("numberLiteral"); } : + (IntLiteral { addLeafNodeForToken($cn, null); }) + | (IntLiteral { addLeafNodeForToken($cn, null); }) ('.' { addLeafNodeForToken($cn, null); }) (IntLiteral { addLeafNodeForToken($cn, null); }) +; +collectionExpression returns [CompositeNode cn] + @init{ cn = factory.createCollectionExpressionNode(); cn.setRule("collectionExpression"); } : + ('typeSelect' { addLeafNodeForToken($cn, null); }) ('(' { addLeafNodeForToken($cn, null); }) (unnamed112=type { addToChildren(cn, unnamed112); }) (')' { addLeafNodeForToken($cn, null); }) + | ((('collect' { addLeafNodeForToken($cn, null); }) + | ('select' { addLeafNodeForToken($cn, null); }) + | ('selectFirst' { addLeafNodeForToken($cn, null); }) + | ('reject' { addLeafNodeForToken($cn, null); }) + | ('exists' { addLeafNodeForToken($cn, null); }) + | ('notExists' { addLeafNodeForToken($cn, null); }) + | ('sortBy' { addLeafNodeForToken($cn, null); }) + | ('forAll' { addLeafNodeForToken($cn, null); }))) ('(' { addLeafNodeForToken($cn, null); }) (((unnamed113=identifier { addToChildren(cn, unnamed113); }) ('|' { addLeafNodeForToken($cn, null); })))? (unnamed114=expression { addToChildren(cn, unnamed114); }) (')' { addLeafNodeForToken($cn, null); }) +; +declaredParameterList returns [CompositeNode cn] + @init{ cn = factory.createDeclaredParameterListNode(); cn.setRule("declaredParameterList"); } : + (unnamed115=declaredParameter { addToChildren(cn, unnamed115); }) (((',' { addLeafNodeForToken($cn, null); }) (unnamed116=declaredParameter { addToChildren(cn, unnamed116); })))* +; +declaredParameter returns [CompositeNode cn] + @init{ cn = factory.createDeclaredParameterNode(); cn.setRule("declaredParameter"); } : + (unnamed117=type { addToChildren(cn, unnamed117); }) (unnamed118=identifier { addToChildren(cn, unnamed118); }) +; +parameterList returns [CompositeNode cn] + @init{ cn = factory.createParameterListNode(); cn.setRule("parameterList"); } : + (unnamed119=expression { addToChildren(cn, unnamed119); }) (((',' { addLeafNodeForToken($cn, null); }) (unnamed120=expression { addToChildren(cn, unnamed120); })))* +; +type returns [CompositeNode cn] : + (collectionType { $cn = $collectionType.cn; }) + | (simpleType { $cn = $simpleType.cn; }) +; +collectionType returns [CompositeNode cn] + @init{ cn = factory.createCollectionTypeNode(); cn.setRule("collectionType"); } : + ((('Collection' { addLeafNodeForToken($cn, null); }) + | ('List' { addLeafNodeForToken($cn, null); }) + | ('Set' { addLeafNodeForToken($cn, null); }))) ((('[' { addLeafNodeForToken($cn, null); }) (unnamed121=simpleType { addToChildren(cn, unnamed121); }) (']' { addLeafNodeForToken($cn, null); })))? +; +simpleType returns [CompositeNode cn] + @init{ cn = factory.createSimpleTypeNode(); cn.setRule("simpleType"); } : + (unnamed122=identifier { addToChildren(cn, unnamed122); }) ((('::' { addLeafNodeForToken($cn, null); }) (unnamed123=identifier { addToChildren(cn, unnamed123); })))* +; +identifier returns [CompositeNode cn] + @init{ cn = factory.createIdentifierNode(); cn.setRule("identifier"); } : + (Identifier { addLeafNodeForToken($cn, null); }) +; + +IntLiteral : + ('0' | '1'..'9' '0'..'9'*) +; + +StringLiteral : + '\"' ( EscapeSequence | ~('\\'|'\"') )* '\"' + | '\'' ( EscapeSequence | ~('\''|'\\') )* '\'' +; + +fragment EscapeSequence : + '\\' ('b'|'t'|'n'|'f'|'r'|'\"'|'\''|'\\') + | UnicodeEscape + | OctalEscape +; + +fragment OctalEscape : + '\\' ('0'..'3') ('0'..'7') ('0'..'7') + | '\\' ('0'..'7') ('0'..'7') + | '\\' ('0'..'7') +; + +fragment UnicodeEscape : + '\\' 'u' HexDigit HexDigit HexDigit HexDigit +; + +fragment HexDigit : + ('0'..'9'|'a'..'f'|'A'..'F') +; + +DEFINE : + {xpandMode=true;} 'DEFINE' +; + +ENDDEFINE : + 'ENDDEFINE' {xpandMode=false;} +; + +AROUND : + {xpandMode=true;}'AROUND' +; + +ENDAROUND : + 'ENDAROUND'{xpandMode=false;} +; + +Identifier : + ('^')? Letter (Letter|JavaIDDigit)* +; + +fragment Letter : + '\u0024' | + '\u0041'..'\u005a' | + '\u005f' | + '\u0061'..'\u007a' | + '\u00c0'..'\u00d6' | + '\u00d8'..'\u00f6' | + '\u00f8'..'\u00ff' | + '\u0100'..'\u1fff' | + '\u3040'..'\u318f' | + '\u3300'..'\u337f' | + '\u3400'..'\u3d2d' | + '\u4e00'..'\u9fff' | + '\uf900'..'\ufaff' +; + +fragment JavaIDDigit : + + '\u0030'..'\u0039' | + '\u0660'..'\u0669' | + '\u06f0'..'\u06f9' | + '\u0966'..'\u096f' | + '\u09e6'..'\u09ef' | + '\u0a66'..'\u0a6f' | + '\u0ae6'..'\u0aef' | + '\u0b66'..'\u0b6f' | + '\u0be7'..'\u0bef' | + '\u0c66'..'\u0c6f' | + '\u0ce6'..'\u0cef' | + '\u0d66'..'\u0d6f' | + '\u0e50'..'\u0e59' | + '\u0ed0'..'\u0ed9' | + '\u1040'..'\u1049' + +; + +WS : + (' '|'\r'|'\t'|'\u000C'|'\n') {$channel=HIDDEN;} +; + +COMMENT : + '/*' ( options {greedy=false;} : . )* '*/' {$channel=HIDDEN;} +; + +LINE_COMMENT : + '//' ~('\n'|'\r')* ('\r'? '\n'|EOF) {$channel=HIDDEN;} +; + +REM_COMMENT_OUT : + {!xpandMode}?=> LG 'REM' RG ( options {greedy=false;} : . )* '\u00ABENDREM' RG {$channel=HIDDEN;} +; + +REM_COMMENT : + {xpandMode}?=> 'REM' RG ( options {greedy=false;} : . )* '\u00ABENDREM' {$channel=HIDDEN;} +; + +TEXT : + {xpandMode}?=> RG ~(LG)* (LG)? +; + +LG : + '\u00AB' +; + +RG : + '\u00BB' +; + + \ No newline at end of file diff --git a/plugins/org.eclipse.xpand3.parser/src-gen/org/eclipse/xpand3/parser/Xpand3Node.tokens b/plugins/org.eclipse.xpand3.parser/src-gen/org/eclipse/xpand3/parser/Xpand3Node.tokens new file mode 100644 index 00000000..f6ef9e5f --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/src-gen/org/eclipse/xpand3/parser/Xpand3Node.tokens @@ -0,0 +1,108 @@ +IntLiteral=12 +Identifier=13 +HexDigit=17 +WS=20 +ENDDEFINE=7 +REM_COMMENT=24 +RG=5 +COMMENT=21 +StringLiteral=11 +LINE_COMMENT=22 +JavaIDDigit=19 +Letter=18 +DEFINE=6 +UnicodeEscape=15 +EscapeSequence=14 +TEXT=10 +ENDAROUND=9 +OctalEscape=16 +REM_COMMENT_OUT=23 +AROUND=8 +LG=4 +'<'=91 +'exists'=105 +'>'=90 +'case'=82 +'context'=58 +'FOREACH'=39 +'let'=72 +'else'=77 +'selectFirst'=103 +'ENDFILE'=42 +'-'=36 +'reexport'=30 +'?'=75 +'!='=87 +'List'=70 +'>='=88 +'GLOBALVAR'=95 +'ELSEIF'=48 +'<='=89 +'||'=83 +'ID'=55 +'typeSelect'=100 +'JAVA'=67 +'='=73 +'forAll'=108 +'ERROR'=37 +'collect'=101 +'::'=63 +'ENDIF'=47 +'ENDFOREACH'=45 +'ENDLET'=51 +'around'=62 +'{'=79 +'then'=76 +'SEPARATOR'=40 +'AS'=43 +'new'=96 +':'=61 +'.'=68 +'*'=33 +'sortBy'=107 +'ITERATOR'=44 +'Set'=71 +'notExists'=106 +'}'=81 +'->'=74 +'create'=66 +'PROTECT'=52 +'extension'=29 +'FOR'=35 +'CEND'=54 +';'=28 +']'=111 +'true'=98 +'default'=80 +'false'=97 +','=32 +'&&'=84 +'LET'=50 +'['=110 +'/'=93 +'implies'=85 +'ELSE'=49 +'IMPORT'=25 +'Collection'=69 +'reject'=104 +'private'=64 +'|'=109 +'EXTENSION'=26 +'EXPAND'=38 +')'=34 +'FILE'=41 +'=='=86 +'ENDPROTECT'=57 +'IF'=46 +'import'=27 +'!'=94 +'CSTART'=53 +'if'=59 +'DISABLE'=56 +'switch'=78 +'('=31 +'select'=102 +'cached'=65 +'null'=99 +'+'=92 +'WARNING'=60 diff --git a/plugins/org.eclipse.xpand3.parser/src-gen/org/eclipse/xpand3/parser/Xpand3NodeLexer.java b/plugins/org.eclipse.xpand3.parser/src-gen/org/eclipse/xpand3/parser/Xpand3NodeLexer.java new file mode 100644 index 00000000..8a32c8c2 --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/src-gen/org/eclipse/xpand3/parser/Xpand3NodeLexer.java @@ -0,0 +1,6039 @@ +// $ANTLR 3.0 ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g 2008-03-06 09:17:21 + +package org.eclipse.xpand3.parser; + + +import org.antlr.runtime.*; +import java.util.Stack; +import java.util.List; +import java.util.ArrayList; + +public class Xpand3NodeLexer extends Lexer { + public static final int T29=29; + public static final int HexDigit=17; + public static final int T70=70; + public static final int T74=74; + public static final int REM_COMMENT=24; + public static final int T85=85; + public static final int T102=102; + public static final int Letter=18; + public static final int T103=103; + public static final int T32=32; + public static final int T81=81; + public static final int T41=41; + public static final int LG=4; + public static final int T62=62; + public static final int T109=109; + public static final int T68=68; + public static final int T73=73; + public static final int T84=84; + public static final int T33=33; + public static final int Identifier=13; + public static final int T78=78; + public static final int WS=20; + public static final int T42=42; + public static final int RG=5; + public static final int T96=96; + public static final int T71=71; + public static final int LINE_COMMENT=22; + public static final int T72=72; + public static final int T94=94; + public static final int T76=76; + public static final int UnicodeEscape=15; + public static final int T75=75; + public static final int T89=89; + public static final int T67=67; + public static final int TEXT=10; + public static final int ENDAROUND=9; + public static final int T31=31; + public static final int T60=60; + public static final int T82=82; + public static final int T100=100; + public static final int T49=49; + public static final int T30=30; + public static final int T79=79; + public static final int IntLiteral=12; + public static final int T36=36; + public static final int T58=58; + public static final int T93=93; + public static final int T35=35; + public static final int T107=107; + public static final int T83=83; + public static final int T61=61; + public static final int T45=45; + public static final int T34=34; + public static final int T101=101; + public static final int T64=64; + public static final int T25=25; + public static final int T91=91; + public static final int T105=105; + public static final int T37=37; + public static final int T86=86; + public static final int EscapeSequence=14; + public static final int T26=26; + public static final int T51=51; + public static final int T111=111; + public static final int T46=46; + public static final int T77=77; + public static final int T38=38; + public static final int T106=106; + public static final int T69=69; + public static final int T39=39; + public static final int T44=44; + public static final int T55=55; + public static final int T95=95; + public static final int T50=50; + public static final int T110=110; + public static final int T108=108; + public static final int T92=92; + public static final int T43=43; + public static final int ENDDEFINE=7; + public static final int T28=28; + public static final int T40=40; + public static final int T66=66; + public static final int COMMENT=21; + public static final int T88=88; + public static final int StringLiteral=11; + public static final int T63=63; + public static final int T57=57; + public static final int T65=65; + public static final int T98=98; + public static final int T56=56; + public static final int T87=87; + public static final int T80=80; + public static final int JavaIDDigit=19; + public static final int DEFINE=6; + public static final int T59=59; + public static final int T97=97; + public static final int T48=48; + public static final int T54=54; + public static final int EOF=-1; + public static final int T104=104; + public static final int T47=47; + public static final int Tokens=112; + public static final int T53=53; + public static final int OctalEscape=16; + public static final int T99=99; + public static final int T27=27; + public static final int REM_COMMENT_OUT=23; + public static final int T52=52; + public static final int T90=90; + public static final int AROUND=8; + + private boolean xpandMode = false; + + public Xpand3NodeLexer() {;} + public Xpand3NodeLexer(CharStream input) { + super(input); + } + public String getGrammarFileName() { return "./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g"; } + + // $ANTLR start T25 + public void mT25() throws RecognitionException { + try { + int _type = T25; + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:9:7: ( 'IMPORT' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:9:7: 'IMPORT' + { + match("IMPORT"); + + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T25 + + // $ANTLR start T26 + public void mT26() throws RecognitionException { + try { + int _type = T26; + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:10:7: ( 'EXTENSION' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:10:7: 'EXTENSION' + { + match("EXTENSION"); + + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T26 + + // $ANTLR start T27 + public void mT27() throws RecognitionException { + try { + int _type = T27; + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:11:7: ( 'import' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:11:7: 'import' + { + match("import"); + + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T27 + + // $ANTLR start T28 + public void mT28() throws RecognitionException { + try { + int _type = T28; + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:12:7: ( ';' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:12:7: ';' + { + match(';'); + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T28 + + // $ANTLR start T29 + public void mT29() throws RecognitionException { + try { + int _type = T29; + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:13:7: ( 'extension' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:13:7: 'extension' + { + match("extension"); + + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T29 + + // $ANTLR start T30 + public void mT30() throws RecognitionException { + try { + int _type = T30; + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:14:7: ( 'reexport' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:14:7: 'reexport' + { + match("reexport"); + + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T30 + + // $ANTLR start T31 + public void mT31() throws RecognitionException { + try { + int _type = T31; + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:15:7: ( '(' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:15:7: '(' + { + match('('); + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T31 + + // $ANTLR start T32 + public void mT32() throws RecognitionException { + try { + int _type = T32; + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:16:7: ( ',' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:16:7: ',' + { + match(','); + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T32 + + // $ANTLR start T33 + public void mT33() throws RecognitionException { + try { + int _type = T33; + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:17:7: ( '*' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:17:7: '*' + { + match('*'); + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T33 + + // $ANTLR start T34 + public void mT34() throws RecognitionException { + try { + int _type = T34; + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:18:7: ( ')' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:18:7: ')' + { + match(')'); + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T34 + + // $ANTLR start T35 + public void mT35() throws RecognitionException { + try { + int _type = T35; + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:19:7: ( 'FOR' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:19:7: 'FOR' + { + match("FOR"); + + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T35 + + // $ANTLR start T36 + public void mT36() throws RecognitionException { + try { + int _type = T36; + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:20:7: ( '-' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:20:7: '-' + { + match('-'); + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T36 + + // $ANTLR start T37 + public void mT37() throws RecognitionException { + try { + int _type = T37; + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:21:7: ( 'ERROR' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:21:7: 'ERROR' + { + match("ERROR"); + + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T37 + + // $ANTLR start T38 + public void mT38() throws RecognitionException { + try { + int _type = T38; + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:22:7: ( 'EXPAND' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:22:7: 'EXPAND' + { + match("EXPAND"); + + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T38 + + // $ANTLR start T39 + public void mT39() throws RecognitionException { + try { + int _type = T39; + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:23:7: ( 'FOREACH' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:23:7: 'FOREACH' + { + match("FOREACH"); + + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T39 + + // $ANTLR start T40 + public void mT40() throws RecognitionException { + try { + int _type = T40; + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:24:7: ( 'SEPARATOR' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:24:7: 'SEPARATOR' + { + match("SEPARATOR"); + + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T40 + + // $ANTLR start T41 + public void mT41() throws RecognitionException { + try { + int _type = T41; + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:25:7: ( 'FILE' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:25:7: 'FILE' + { + match("FILE"); + + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T41 + + // $ANTLR start T42 + public void mT42() throws RecognitionException { + try { + int _type = T42; + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:26:7: ( 'ENDFILE' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:26:7: 'ENDFILE' + { + match("ENDFILE"); + + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T42 + + // $ANTLR start T43 + public void mT43() throws RecognitionException { + try { + int _type = T43; + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:27:7: ( 'AS' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:27:7: 'AS' + { + match("AS"); + + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T43 + + // $ANTLR start T44 + public void mT44() throws RecognitionException { + try { + int _type = T44; + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:28:7: ( 'ITERATOR' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:28:7: 'ITERATOR' + { + match("ITERATOR"); + + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T44 + + // $ANTLR start T45 + public void mT45() throws RecognitionException { + try { + int _type = T45; + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:29:7: ( 'ENDFOREACH' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:29:7: 'ENDFOREACH' + { + match("ENDFOREACH"); + + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T45 + + // $ANTLR start T46 + public void mT46() throws RecognitionException { + try { + int _type = T46; + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:30:7: ( 'IF' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:30:7: 'IF' + { + match("IF"); + + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T46 + + // $ANTLR start T47 + public void mT47() throws RecognitionException { + try { + int _type = T47; + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:31:7: ( 'ENDIF' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:31:7: 'ENDIF' + { + match("ENDIF"); + + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T47 + + // $ANTLR start T48 + public void mT48() throws RecognitionException { + try { + int _type = T48; + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:32:7: ( 'ELSEIF' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:32:7: 'ELSEIF' + { + match("ELSEIF"); + + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T48 + + // $ANTLR start T49 + public void mT49() throws RecognitionException { + try { + int _type = T49; + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:33:7: ( 'ELSE' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:33:7: 'ELSE' + { + match("ELSE"); + + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T49 + + // $ANTLR start T50 + public void mT50() throws RecognitionException { + try { + int _type = T50; + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:34:7: ( 'LET' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:34:7: 'LET' + { + match("LET"); + + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T50 + + // $ANTLR start T51 + public void mT51() throws RecognitionException { + try { + int _type = T51; + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:35:7: ( 'ENDLET' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:35:7: 'ENDLET' + { + match("ENDLET"); + + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T51 + + // $ANTLR start T52 + public void mT52() throws RecognitionException { + try { + int _type = T52; + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:36:7: ( 'PROTECT' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:36:7: 'PROTECT' + { + match("PROTECT"); + + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T52 + + // $ANTLR start T53 + public void mT53() throws RecognitionException { + try { + int _type = T53; + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:37:7: ( 'CSTART' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:37:7: 'CSTART' + { + match("CSTART"); + + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T53 + + // $ANTLR start T54 + public void mT54() throws RecognitionException { + try { + int _type = T54; + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:38:7: ( 'CEND' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:38:7: 'CEND' + { + match("CEND"); + + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T54 + + // $ANTLR start T55 + public void mT55() throws RecognitionException { + try { + int _type = T55; + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:39:7: ( 'ID' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:39:7: 'ID' + { + match("ID"); + + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T55 + + // $ANTLR start T56 + public void mT56() throws RecognitionException { + try { + int _type = T56; + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:40:7: ( 'DISABLE' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:40:7: 'DISABLE' + { + match("DISABLE"); + + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T56 + + // $ANTLR start T57 + public void mT57() throws RecognitionException { + try { + int _type = T57; + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:41:7: ( 'ENDPROTECT' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:41:7: 'ENDPROTECT' + { + match("ENDPROTECT"); + + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T57 + + // $ANTLR start T58 + public void mT58() throws RecognitionException { + try { + int _type = T58; + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:42:7: ( 'context' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:42:7: 'context' + { + match("context"); + + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T58 + + // $ANTLR start T59 + public void mT59() throws RecognitionException { + try { + int _type = T59; + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:43:7: ( 'if' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:43:7: 'if' + { + match("if"); + + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T59 + + // $ANTLR start T60 + public void mT60() throws RecognitionException { + try { + int _type = T60; + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:44:7: ( 'WARNING' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:44:7: 'WARNING' + { + match("WARNING"); + + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T60 + + // $ANTLR start T61 + public void mT61() throws RecognitionException { + try { + int _type = T61; + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:45:7: ( ':' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:45:7: ':' + { + match(':'); + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T61 + + // $ANTLR start T62 + public void mT62() throws RecognitionException { + try { + int _type = T62; + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:46:7: ( 'around' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:46:7: 'around' + { + match("around"); + + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T62 + + // $ANTLR start T63 + public void mT63() throws RecognitionException { + try { + int _type = T63; + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:47:7: ( '::' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:47:7: '::' + { + match("::"); + + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T63 + + // $ANTLR start T64 + public void mT64() throws RecognitionException { + try { + int _type = T64; + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:48:7: ( 'private' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:48:7: 'private' + { + match("private"); + + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T64 + + // $ANTLR start T65 + public void mT65() throws RecognitionException { + try { + int _type = T65; + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:49:7: ( 'cached' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:49:7: 'cached' + { + match("cached"); + + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T65 + + // $ANTLR start T66 + public void mT66() throws RecognitionException { + try { + int _type = T66; + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:50:7: ( 'create' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:50:7: 'create' + { + match("create"); + + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T66 + + // $ANTLR start T67 + public void mT67() throws RecognitionException { + try { + int _type = T67; + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:51:7: ( 'JAVA' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:51:7: 'JAVA' + { + match("JAVA"); + + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T67 + + // $ANTLR start T68 + public void mT68() throws RecognitionException { + try { + int _type = T68; + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:52:7: ( '.' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:52:7: '.' + { + match('.'); + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T68 + + // $ANTLR start T69 + public void mT69() throws RecognitionException { + try { + int _type = T69; + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:53:7: ( 'Collection' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:53:7: 'Collection' + { + match("Collection"); + + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T69 + + // $ANTLR start T70 + public void mT70() throws RecognitionException { + try { + int _type = T70; + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:54:7: ( 'List' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:54:7: 'List' + { + match("List"); + + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T70 + + // $ANTLR start T71 + public void mT71() throws RecognitionException { + try { + int _type = T71; + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:55:7: ( 'Set' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:55:7: 'Set' + { + match("Set"); + + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T71 + + // $ANTLR start T72 + public void mT72() throws RecognitionException { + try { + int _type = T72; + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:56:7: ( 'let' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:56:7: 'let' + { + match("let"); + + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T72 + + // $ANTLR start T73 + public void mT73() throws RecognitionException { + try { + int _type = T73; + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:57:7: ( '=' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:57:7: '=' + { + match('='); + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T73 + + // $ANTLR start T74 + public void mT74() throws RecognitionException { + try { + int _type = T74; + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:58:7: ( '->' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:58:7: '->' + { + match("->"); + + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T74 + + // $ANTLR start T75 + public void mT75() throws RecognitionException { + try { + int _type = T75; + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:59:7: ( '?' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:59:7: '?' + { + match('?'); + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T75 + + // $ANTLR start T76 + public void mT76() throws RecognitionException { + try { + int _type = T76; + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:60:7: ( 'then' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:60:7: 'then' + { + match("then"); + + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T76 + + // $ANTLR start T77 + public void mT77() throws RecognitionException { + try { + int _type = T77; + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:61:7: ( 'else' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:61:7: 'else' + { + match("else"); + + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T77 + + // $ANTLR start T78 + public void mT78() throws RecognitionException { + try { + int _type = T78; + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:62:7: ( 'switch' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:62:7: 'switch' + { + match("switch"); + + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T78 + + // $ANTLR start T79 + public void mT79() throws RecognitionException { + try { + int _type = T79; + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:63:7: ( '{' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:63:7: '{' + { + match('{'); + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T79 + + // $ANTLR start T80 + public void mT80() throws RecognitionException { + try { + int _type = T80; + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:64:7: ( 'default' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:64:7: 'default' + { + match("default"); + + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T80 + + // $ANTLR start T81 + public void mT81() throws RecognitionException { + try { + int _type = T81; + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:65:7: ( '}' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:65:7: '}' + { + match('}'); + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T81 + + // $ANTLR start T82 + public void mT82() throws RecognitionException { + try { + int _type = T82; + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:66:7: ( 'case' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:66:7: 'case' + { + match("case"); + + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T82 + + // $ANTLR start T83 + public void mT83() throws RecognitionException { + try { + int _type = T83; + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:67:7: ( '||' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:67:7: '||' + { + match("||"); + + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T83 + + // $ANTLR start T84 + public void mT84() throws RecognitionException { + try { + int _type = T84; + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:68:7: ( '&&' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:68:7: '&&' + { + match("&&"); + + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T84 + + // $ANTLR start T85 + public void mT85() throws RecognitionException { + try { + int _type = T85; + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:69:7: ( 'implies' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:69:7: 'implies' + { + match("implies"); + + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T85 + + // $ANTLR start T86 + public void mT86() throws RecognitionException { + try { + int _type = T86; + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:70:7: ( '==' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:70:7: '==' + { + match("=="); + + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T86 + + // $ANTLR start T87 + public void mT87() throws RecognitionException { + try { + int _type = T87; + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:71:7: ( '!=' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:71:7: '!=' + { + match("!="); + + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T87 + + // $ANTLR start T88 + public void mT88() throws RecognitionException { + try { + int _type = T88; + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:72:7: ( '>=' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:72:7: '>=' + { + match(">="); + + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T88 + + // $ANTLR start T89 + public void mT89() throws RecognitionException { + try { + int _type = T89; + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:73:7: ( '<=' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:73:7: '<=' + { + match("<="); + + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T89 + + // $ANTLR start T90 + public void mT90() throws RecognitionException { + try { + int _type = T90; + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:74:7: ( '>' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:74:7: '>' + { + match('>'); + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T90 + + // $ANTLR start T91 + public void mT91() throws RecognitionException { + try { + int _type = T91; + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:75:7: ( '<' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:75:7: '<' + { + match('<'); + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T91 + + // $ANTLR start T92 + public void mT92() throws RecognitionException { + try { + int _type = T92; + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:76:7: ( '+' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:76:7: '+' + { + match('+'); + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T92 + + // $ANTLR start T93 + public void mT93() throws RecognitionException { + try { + int _type = T93; + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:77:7: ( '/' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:77:7: '/' + { + match('/'); + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T93 + + // $ANTLR start T94 + public void mT94() throws RecognitionException { + try { + int _type = T94; + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:78:7: ( '!' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:78:7: '!' + { + match('!'); + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T94 + + // $ANTLR start T95 + public void mT95() throws RecognitionException { + try { + int _type = T95; + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:79:7: ( 'GLOBALVAR' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:79:7: 'GLOBALVAR' + { + match("GLOBALVAR"); + + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T95 + + // $ANTLR start T96 + public void mT96() throws RecognitionException { + try { + int _type = T96; + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:80:7: ( 'new' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:80:7: 'new' + { + match("new"); + + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T96 + + // $ANTLR start T97 + public void mT97() throws RecognitionException { + try { + int _type = T97; + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:81:7: ( 'false' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:81:7: 'false' + { + match("false"); + + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T97 + + // $ANTLR start T98 + public void mT98() throws RecognitionException { + try { + int _type = T98; + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:82:7: ( 'true' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:82:7: 'true' + { + match("true"); + + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T98 + + // $ANTLR start T99 + public void mT99() throws RecognitionException { + try { + int _type = T99; + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:83:7: ( 'null' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:83:7: 'null' + { + match("null"); + + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T99 + + // $ANTLR start T100 + public void mT100() throws RecognitionException { + try { + int _type = T100; + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:84:8: ( 'typeSelect' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:84:8: 'typeSelect' + { + match("typeSelect"); + + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T100 + + // $ANTLR start T101 + public void mT101() throws RecognitionException { + try { + int _type = T101; + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:85:8: ( 'collect' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:85:8: 'collect' + { + match("collect"); + + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T101 + + // $ANTLR start T102 + public void mT102() throws RecognitionException { + try { + int _type = T102; + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:86:8: ( 'select' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:86:8: 'select' + { + match("select"); + + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T102 + + // $ANTLR start T103 + public void mT103() throws RecognitionException { + try { + int _type = T103; + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:87:8: ( 'selectFirst' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:87:8: 'selectFirst' + { + match("selectFirst"); + + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T103 + + // $ANTLR start T104 + public void mT104() throws RecognitionException { + try { + int _type = T104; + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:88:8: ( 'reject' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:88:8: 'reject' + { + match("reject"); + + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T104 + + // $ANTLR start T105 + public void mT105() throws RecognitionException { + try { + int _type = T105; + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:89:8: ( 'exists' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:89:8: 'exists' + { + match("exists"); + + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T105 + + // $ANTLR start T106 + public void mT106() throws RecognitionException { + try { + int _type = T106; + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:90:8: ( 'notExists' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:90:8: 'notExists' + { + match("notExists"); + + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T106 + + // $ANTLR start T107 + public void mT107() throws RecognitionException { + try { + int _type = T107; + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:91:8: ( 'sortBy' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:91:8: 'sortBy' + { + match("sortBy"); + + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T107 + + // $ANTLR start T108 + public void mT108() throws RecognitionException { + try { + int _type = T108; + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:92:8: ( 'forAll' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:92:8: 'forAll' + { + match("forAll"); + + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T108 + + // $ANTLR start T109 + public void mT109() throws RecognitionException { + try { + int _type = T109; + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:93:8: ( '|' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:93:8: '|' + { + match('|'); + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T109 + + // $ANTLR start T110 + public void mT110() throws RecognitionException { + try { + int _type = T110; + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:94:8: ( '[' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:94:8: '[' + { + match('['); + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T110 + + // $ANTLR start T111 + public void mT111() throws RecognitionException { + try { + int _type = T111; + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:95:8: ( ']' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:95:8: ']' + { + match(']'); + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T111 + + // $ANTLR start IntLiteral + public void mIntLiteral() throws RecognitionException { + try { + int _type = IntLiteral; + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:344:3: ( ( '0' | '1' .. '9' ( '0' .. '9' )* ) ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:344:3: ( '0' | '1' .. '9' ( '0' .. '9' )* ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:344:3: ( '0' | '1' .. '9' ( '0' .. '9' )* ) + int alt2=2; + int LA2_0 = input.LA(1); + + if ( (LA2_0=='0') ) { + alt2=1; + } + else if ( ((LA2_0>='1' && LA2_0<='9')) ) { + alt2=2; + } + else { + NoViableAltException nvae = + new NoViableAltException("344:3: ( '0' | '1' .. '9' ( '0' .. '9' )* )", 2, 0, input); + + throw nvae; + } + switch (alt2) { + case 1 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:344:4: '0' + { + match('0'); + + } + break; + case 2 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:344:10: '1' .. '9' ( '0' .. '9' )* + { + matchRange('1','9'); + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:344:19: ( '0' .. '9' )* + loop1: + do { + int alt1=2; + int LA1_0 = input.LA(1); + + if ( ((LA1_0>='0' && LA1_0<='9')) ) { + alt1=1; + } + + + switch (alt1) { + case 1 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:344:19: '0' .. '9' + { + matchRange('0','9'); + + } + break; + + default : + break loop1; + } + } while (true); + + + } + break; + + } + + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end IntLiteral + + // $ANTLR start StringLiteral + public void mStringLiteral() throws RecognitionException { + try { + int _type = StringLiteral; + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:348:3: ( '\\\"' ( EscapeSequence | ~ ( '\\\\' | '\\\"' ) )* '\\\"' | '\\'' ( EscapeSequence | ~ ( '\\'' | '\\\\' ) )* '\\'' ) + int alt5=2; + int LA5_0 = input.LA(1); + + if ( (LA5_0=='\"') ) { + alt5=1; + } + else if ( (LA5_0=='\'') ) { + alt5=2; + } + else { + NoViableAltException nvae = + new NoViableAltException("347:1: StringLiteral : ( '\\\"' ( EscapeSequence | ~ ( '\\\\' | '\\\"' ) )* '\\\"' | '\\'' ( EscapeSequence | ~ ( '\\'' | '\\\\' ) )* '\\'' );", 5, 0, input); + + throw nvae; + } + switch (alt5) { + case 1 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:348:3: '\\\"' ( EscapeSequence | ~ ( '\\\\' | '\\\"' ) )* '\\\"' + { + match('\"'); + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:348:8: ( EscapeSequence | ~ ( '\\\\' | '\\\"' ) )* + loop3: + do { + int alt3=3; + int LA3_0 = input.LA(1); + + if ( (LA3_0=='\\') ) { + alt3=1; + } + else if ( ((LA3_0>='\u0000' && LA3_0<='!')||(LA3_0>='#' && LA3_0<='[')||(LA3_0>=']' && LA3_0<='\uFFFE')) ) { + alt3=2; + } + + + switch (alt3) { + case 1 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:348:10: EscapeSequence + { + mEscapeSequence(); + + } + break; + case 2 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:348:27: ~ ( '\\\\' | '\\\"' ) + { + if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFE') ) { + input.consume(); + + } + else { + MismatchedSetException mse = + new MismatchedSetException(null,input); + recover(mse); throw mse; + } + + + } + break; + + default : + break loop3; + } + } while (true); + + match('\"'); + + } + break; + case 2 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:349:8: '\\'' ( EscapeSequence | ~ ( '\\'' | '\\\\' ) )* '\\'' + { + match('\''); + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:349:13: ( EscapeSequence | ~ ( '\\'' | '\\\\' ) )* + loop4: + do { + int alt4=3; + int LA4_0 = input.LA(1); + + if ( (LA4_0=='\\') ) { + alt4=1; + } + else if ( ((LA4_0>='\u0000' && LA4_0<='&')||(LA4_0>='(' && LA4_0<='[')||(LA4_0>=']' && LA4_0<='\uFFFE')) ) { + alt4=2; + } + + + switch (alt4) { + case 1 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:349:15: EscapeSequence + { + mEscapeSequence(); + + } + break; + case 2 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:349:32: ~ ( '\\'' | '\\\\' ) + { + if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFE') ) { + input.consume(); + + } + else { + MismatchedSetException mse = + new MismatchedSetException(null,input); + recover(mse); throw mse; + } + + + } + break; + + default : + break loop4; + } + } while (true); + + match('\''); + + } + break; + + } + this.type = _type; + } + finally { + } + } + // $ANTLR end StringLiteral + + // $ANTLR start EscapeSequence + public void mEscapeSequence() throws RecognitionException { + try { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:353:3: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | UnicodeEscape | OctalEscape ) + int alt6=3; + int LA6_0 = input.LA(1); + + if ( (LA6_0=='\\') ) { + switch ( input.LA(2) ) { + case '\"': + case '\'': + case '\\': + case 'b': + case 'f': + case 'n': + case 'r': + case 't': + { + alt6=1; + } + break; + case 'u': + { + alt6=2; + } + break; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + { + alt6=3; + } + break; + default: + NoViableAltException nvae = + new NoViableAltException("352:10: fragment EscapeSequence : ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | UnicodeEscape | OctalEscape );", 6, 1, input); + + throw nvae; + } + + } + else { + NoViableAltException nvae = + new NoViableAltException("352:10: fragment EscapeSequence : ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | UnicodeEscape | OctalEscape );", 6, 0, input); + + throw nvae; + } + switch (alt6) { + case 1 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:353:3: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) + { + match('\\'); + if ( input.LA(1)=='\"'||input.LA(1)=='\''||input.LA(1)=='\\'||input.LA(1)=='b'||input.LA(1)=='f'||input.LA(1)=='n'||input.LA(1)=='r'||input.LA(1)=='t' ) { + input.consume(); + + } + else { + MismatchedSetException mse = + new MismatchedSetException(null,input); + recover(mse); throw mse; + } + + + } + break; + case 2 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:354:9: UnicodeEscape + { + mUnicodeEscape(); + + } + break; + case 3 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:355:9: OctalEscape + { + mOctalEscape(); + + } + break; + + } + } + finally { + } + } + // $ANTLR end EscapeSequence + + // $ANTLR start OctalEscape + public void mOctalEscape() throws RecognitionException { + try { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:359:3: ( '\\\\' ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) ) + int alt7=3; + int LA7_0 = input.LA(1); + + if ( (LA7_0=='\\') ) { + int LA7_1 = input.LA(2); + + if ( ((LA7_1>='0' && LA7_1<='3')) ) { + int LA7_2 = input.LA(3); + + if ( ((LA7_2>='0' && LA7_2<='7')) ) { + int LA7_5 = input.LA(4); + + if ( ((LA7_5>='0' && LA7_5<='7')) ) { + alt7=1; + } + else { + alt7=2;} + } + else { + alt7=3;} + } + else if ( ((LA7_1>='4' && LA7_1<='7')) ) { + int LA7_3 = input.LA(3); + + if ( ((LA7_3>='0' && LA7_3<='7')) ) { + alt7=2; + } + else { + alt7=3;} + } + else { + NoViableAltException nvae = + new NoViableAltException("358:10: fragment OctalEscape : ( '\\\\' ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) );", 7, 1, input); + + throw nvae; + } + } + else { + NoViableAltException nvae = + new NoViableAltException("358:10: fragment OctalEscape : ( '\\\\' ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) );", 7, 0, input); + + throw nvae; + } + switch (alt7) { + case 1 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:359:3: '\\\\' ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' ) + { + match('\\'); + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:359:8: ( '0' .. '3' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:359:9: '0' .. '3' + { + matchRange('0','3'); + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:359:19: ( '0' .. '7' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:359:20: '0' .. '7' + { + matchRange('0','7'); + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:359:30: ( '0' .. '7' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:359:31: '0' .. '7' + { + matchRange('0','7'); + + } + + + } + break; + case 2 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:360:9: '\\\\' ( '0' .. '7' ) ( '0' .. '7' ) + { + match('\\'); + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:360:14: ( '0' .. '7' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:360:15: '0' .. '7' + { + matchRange('0','7'); + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:360:25: ( '0' .. '7' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:360:26: '0' .. '7' + { + matchRange('0','7'); + + } + + + } + break; + case 3 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:361:9: '\\\\' ( '0' .. '7' ) + { + match('\\'); + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:361:14: ( '0' .. '7' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:361:15: '0' .. '7' + { + matchRange('0','7'); + + } + + + } + break; + + } + } + finally { + } + } + // $ANTLR end OctalEscape + + // $ANTLR start UnicodeEscape + public void mUnicodeEscape() throws RecognitionException { + try { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:365:3: ( '\\\\' 'u' HexDigit HexDigit HexDigit HexDigit ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:365:3: '\\\\' 'u' HexDigit HexDigit HexDigit HexDigit + { + match('\\'); + match('u'); + mHexDigit(); + mHexDigit(); + mHexDigit(); + mHexDigit(); + + } + + } + finally { + } + } + // $ANTLR end UnicodeEscape + + // $ANTLR start HexDigit + public void mHexDigit() throws RecognitionException { + try { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:369:3: ( ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' ) ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:369:3: ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' ) + { + if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='F')||(input.LA(1)>='a' && input.LA(1)<='f') ) { + input.consume(); + + } + else { + MismatchedSetException mse = + new MismatchedSetException(null,input); + recover(mse); throw mse; + } + + + } + + } + finally { + } + } + // $ANTLR end HexDigit + + // $ANTLR start DEFINE + public void mDEFINE() throws RecognitionException { + try { + int _type = DEFINE; + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:373:3: ( 'DEFINE' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:373:3: 'DEFINE' + { + xpandMode=true; + match("DEFINE"); + + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end DEFINE + + // $ANTLR start ENDDEFINE + public void mENDDEFINE() throws RecognitionException { + try { + int _type = ENDDEFINE; + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:377:3: ( 'ENDDEFINE' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:377:3: 'ENDDEFINE' + { + match("ENDDEFINE"); + + xpandMode=false; + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end ENDDEFINE + + // $ANTLR start AROUND + public void mAROUND() throws RecognitionException { + try { + int _type = AROUND; + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:381:3: ( 'AROUND' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:381:3: 'AROUND' + { + xpandMode=true; + match("AROUND"); + + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end AROUND + + // $ANTLR start ENDAROUND + public void mENDAROUND() throws RecognitionException { + try { + int _type = ENDAROUND; + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:385:3: ( 'ENDAROUND' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:385:3: 'ENDAROUND' + { + match("ENDAROUND"); + + xpandMode=false; + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end ENDAROUND + + // $ANTLR start Identifier + public void mIdentifier() throws RecognitionException { + try { + int _type = Identifier; + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:389:3: ( ( '^' )? Letter ( Letter | JavaIDDigit )* ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:389:3: ( '^' )? Letter ( Letter | JavaIDDigit )* + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:389:3: ( '^' )? + int alt8=2; + int LA8_0 = input.LA(1); + + if ( (LA8_0=='^') ) { + alt8=1; + } + switch (alt8) { + case 1 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:389:4: '^' + { + match('^'); + + } + break; + + } + + mLetter(); + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:389:17: ( Letter | JavaIDDigit )* + loop9: + do { + int alt9=2; + int LA9_0 = input.LA(1); + + if ( (LA9_0=='$'||(LA9_0>='0' && LA9_0<='9')||(LA9_0>='A' && LA9_0<='Z')||LA9_0=='_'||(LA9_0>='a' && LA9_0<='z')||(LA9_0>='\u00C0' && LA9_0<='\u00D6')||(LA9_0>='\u00D8' && LA9_0<='\u00F6')||(LA9_0>='\u00F8' && LA9_0<='\u1FFF')||(LA9_0>='\u3040' && LA9_0<='\u318F')||(LA9_0>='\u3300' && LA9_0<='\u337F')||(LA9_0>='\u3400' && LA9_0<='\u3D2D')||(LA9_0>='\u4E00' && LA9_0<='\u9FFF')||(LA9_0>='\uF900' && LA9_0<='\uFAFF')) ) { + alt9=1; + } + + + switch (alt9) { + case 1 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g: + { + if ( input.LA(1)=='$'||(input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z')||(input.LA(1)>='\u00C0' && input.LA(1)<='\u00D6')||(input.LA(1)>='\u00D8' && input.LA(1)<='\u00F6')||(input.LA(1)>='\u00F8' && input.LA(1)<='\u1FFF')||(input.LA(1)>='\u3040' && input.LA(1)<='\u318F')||(input.LA(1)>='\u3300' && input.LA(1)<='\u337F')||(input.LA(1)>='\u3400' && input.LA(1)<='\u3D2D')||(input.LA(1)>='\u4E00' && input.LA(1)<='\u9FFF')||(input.LA(1)>='\uF900' && input.LA(1)<='\uFAFF') ) { + input.consume(); + + } + else { + MismatchedSetException mse = + new MismatchedSetException(null,input); + recover(mse); throw mse; + } + + + } + break; + + default : + break loop9; + } + } while (true); + + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end Identifier + + // $ANTLR start Letter + public void mLetter() throws RecognitionException { + try { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:393:3: ( '\\u0024' | '\\u0041' .. '\\u005a' | '\\u005f' | '\\u0061' .. '\\u007a' | '\\u00c0' .. '\\u00d6' | '\\u00d8' .. '\\u00f6' | '\\u00f8' .. '\\u00ff' | '\\u0100' .. '\\u1fff' | '\\u3040' .. '\\u318f' | '\\u3300' .. '\\u337f' | '\\u3400' .. '\\u3d2d' | '\\u4e00' .. '\\u9fff' | '\\uf900' .. '\\ufaff' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g: + { + if ( input.LA(1)=='$'||(input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z')||(input.LA(1)>='\u00C0' && input.LA(1)<='\u00D6')||(input.LA(1)>='\u00D8' && input.LA(1)<='\u00F6')||(input.LA(1)>='\u00F8' && input.LA(1)<='\u1FFF')||(input.LA(1)>='\u3040' && input.LA(1)<='\u318F')||(input.LA(1)>='\u3300' && input.LA(1)<='\u337F')||(input.LA(1)>='\u3400' && input.LA(1)<='\u3D2D')||(input.LA(1)>='\u4E00' && input.LA(1)<='\u9FFF')||(input.LA(1)>='\uF900' && input.LA(1)<='\uFAFF') ) { + input.consume(); + + } + else { + MismatchedSetException mse = + new MismatchedSetException(null,input); + recover(mse); throw mse; + } + + + } + + } + finally { + } + } + // $ANTLR end Letter + + // $ANTLR start JavaIDDigit + public void mJavaIDDigit() throws RecognitionException { + try { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:410:8: ( '\\u0030' .. '\\u0039' | '\\u0660' .. '\\u0669' | '\\u06f0' .. '\\u06f9' | '\\u0966' .. '\\u096f' | '\\u09e6' .. '\\u09ef' | '\\u0a66' .. '\\u0a6f' | '\\u0ae6' .. '\\u0aef' | '\\u0b66' .. '\\u0b6f' | '\\u0be7' .. '\\u0bef' | '\\u0c66' .. '\\u0c6f' | '\\u0ce6' .. '\\u0cef' | '\\u0d66' .. '\\u0d6f' | '\\u0e50' .. '\\u0e59' | '\\u0ed0' .. '\\u0ed9' | '\\u1040' .. '\\u1049' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g: + { + if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='\u0660' && input.LA(1)<='\u0669')||(input.LA(1)>='\u06F0' && input.LA(1)<='\u06F9')||(input.LA(1)>='\u0966' && input.LA(1)<='\u096F')||(input.LA(1)>='\u09E6' && input.LA(1)<='\u09EF')||(input.LA(1)>='\u0A66' && input.LA(1)<='\u0A6F')||(input.LA(1)>='\u0AE6' && input.LA(1)<='\u0AEF')||(input.LA(1)>='\u0B66' && input.LA(1)<='\u0B6F')||(input.LA(1)>='\u0BE7' && input.LA(1)<='\u0BEF')||(input.LA(1)>='\u0C66' && input.LA(1)<='\u0C6F')||(input.LA(1)>='\u0CE6' && input.LA(1)<='\u0CEF')||(input.LA(1)>='\u0D66' && input.LA(1)<='\u0D6F')||(input.LA(1)>='\u0E50' && input.LA(1)<='\u0E59')||(input.LA(1)>='\u0ED0' && input.LA(1)<='\u0ED9')||(input.LA(1)>='\u1040' && input.LA(1)<='\u1049') ) { + input.consume(); + + } + else { + MismatchedSetException mse = + new MismatchedSetException(null,input); + recover(mse); throw mse; + } + + + } + + } + finally { + } + } + // $ANTLR end JavaIDDigit + + // $ANTLR start WS + public void mWS() throws RecognitionException { + try { + int _type = WS; + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:429:3: ( ( ' ' | '\\r' | '\\t' | '\\u000C' | '\\n' ) ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:429:3: ( ' ' | '\\r' | '\\t' | '\\u000C' | '\\n' ) + { + if ( (input.LA(1)>='\t' && input.LA(1)<='\n')||(input.LA(1)>='\f' && input.LA(1)<='\r')||input.LA(1)==' ' ) { + input.consume(); + + } + else { + MismatchedSetException mse = + new MismatchedSetException(null,input); + recover(mse); throw mse; + } + + channel=HIDDEN; + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end WS + + // $ANTLR start COMMENT + public void mCOMMENT() throws RecognitionException { + try { + int _type = COMMENT; + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:433:3: ( '/*' ( options {greedy=false; } : . )* '*/' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:433:3: '/*' ( options {greedy=false; } : . )* '*/' + { + match("/*"); + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:433:8: ( options {greedy=false; } : . )* + loop10: + do { + int alt10=2; + int LA10_0 = input.LA(1); + + if ( (LA10_0=='*') ) { + int LA10_1 = input.LA(2); + + if ( (LA10_1=='/') ) { + alt10=2; + } + else if ( ((LA10_1>='\u0000' && LA10_1<='.')||(LA10_1>='0' && LA10_1<='\uFFFE')) ) { + alt10=1; + } + + + } + else if ( ((LA10_0>='\u0000' && LA10_0<=')')||(LA10_0>='+' && LA10_0<='\uFFFE')) ) { + alt10=1; + } + + + switch (alt10) { + case 1 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:433:36: . + { + matchAny(); + + } + break; + + default : + break loop10; + } + } while (true); + + match("*/"); + + channel=HIDDEN; + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end COMMENT + + // $ANTLR start LINE_COMMENT + public void mLINE_COMMENT() throws RecognitionException { + try { + int _type = LINE_COMMENT; + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:437:3: ( '//' (~ ( '\\n' | '\\r' ) )* ( ( '\\r' )? '\\n' | EOF ) ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:437:3: '//' (~ ( '\\n' | '\\r' ) )* ( ( '\\r' )? '\\n' | EOF ) + { + match("//"); + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:437:8: (~ ( '\\n' | '\\r' ) )* + loop11: + do { + int alt11=2; + int LA11_0 = input.LA(1); + + if ( ((LA11_0>='\u0000' && LA11_0<='\t')||(LA11_0>='\u000B' && LA11_0<='\f')||(LA11_0>='\u000E' && LA11_0<='\uFFFE')) ) { + alt11=1; + } + + + switch (alt11) { + case 1 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:437:8: ~ ( '\\n' | '\\r' ) + { + if ( (input.LA(1)>='\u0000' && input.LA(1)<='\t')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='\uFFFE') ) { + input.consume(); + + } + else { + MismatchedSetException mse = + new MismatchedSetException(null,input); + recover(mse); throw mse; + } + + + } + break; + + default : + break loop11; + } + } while (true); + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:437:22: ( ( '\\r' )? '\\n' | EOF ) + int alt13=2; + int LA13_0 = input.LA(1); + + if ( (LA13_0=='\n'||LA13_0=='\r') ) { + alt13=1; + } + else { + alt13=2;} + switch (alt13) { + case 1 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:437:23: ( '\\r' )? '\\n' + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:437:23: ( '\\r' )? + int alt12=2; + int LA12_0 = input.LA(1); + + if ( (LA12_0=='\r') ) { + alt12=1; + } + switch (alt12) { + case 1 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:437:23: '\\r' + { + match('\r'); + + } + break; + + } + + match('\n'); + + } + break; + case 2 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:437:34: EOF + { + match(EOF); + + } + break; + + } + + channel=HIDDEN; + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end LINE_COMMENT + + // $ANTLR start REM_COMMENT_OUT + public void mREM_COMMENT_OUT() throws RecognitionException { + try { + int _type = REM_COMMENT_OUT; + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:441:3: ({...}? => LG 'REM' RG ( options {greedy=false; } : . )* '\\u00ABENDREM' RG ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:441:3: {...}? => LG 'REM' RG ( options {greedy=false; } : . )* '\\u00ABENDREM' RG + { + if ( !(!xpandMode) ) { + throw new FailedPredicateException(input, "REM_COMMENT_OUT", "!xpandMode"); + } + mLG(); + match("REM"); + + mRG(); + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:441:31: ( options {greedy=false; } : . )* + loop14: + do { + int alt14=2; + int LA14_0 = input.LA(1); + + if ( (LA14_0=='\u00AB') ) { + int LA14_1 = input.LA(2); + + if ( (LA14_1=='E') ) { + int LA14_3 = input.LA(3); + + if ( (LA14_3=='N') ) { + int LA14_4 = input.LA(4); + + if ( (LA14_4=='D') ) { + int LA14_5 = input.LA(5); + + if ( (LA14_5=='R') ) { + int LA14_6 = input.LA(6); + + if ( (LA14_6=='E') ) { + int LA14_7 = input.LA(7); + + if ( (LA14_7=='M') ) { + int LA14_8 = input.LA(8); + + if ( (LA14_8=='\u00BB') ) { + alt14=2; + } + else if ( ((LA14_8>='\u0000' && LA14_8<='\u00BA')||(LA14_8>='\u00BC' && LA14_8<='\uFFFE')) ) { + alt14=1; + } + + + } + else if ( ((LA14_7>='\u0000' && LA14_7<='L')||(LA14_7>='N' && LA14_7<='\uFFFE')) ) { + alt14=1; + } + + + } + else if ( ((LA14_6>='\u0000' && LA14_6<='D')||(LA14_6>='F' && LA14_6<='\uFFFE')) ) { + alt14=1; + } + + + } + else if ( ((LA14_5>='\u0000' && LA14_5<='Q')||(LA14_5>='S' && LA14_5<='\uFFFE')) ) { + alt14=1; + } + + + } + else if ( ((LA14_4>='\u0000' && LA14_4<='C')||(LA14_4>='E' && LA14_4<='\uFFFE')) ) { + alt14=1; + } + + + } + else if ( ((LA14_3>='\u0000' && LA14_3<='M')||(LA14_3>='O' && LA14_3<='\uFFFE')) ) { + alt14=1; + } + + + } + else if ( ((LA14_1>='\u0000' && LA14_1<='D')||(LA14_1>='F' && LA14_1<='\uFFFE')) ) { + alt14=1; + } + + + } + else if ( ((LA14_0>='\u0000' && LA14_0<='\u00AA')||(LA14_0>='\u00AC' && LA14_0<='\uFFFE')) ) { + alt14=1; + } + + + switch (alt14) { + case 1 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:441:59: . + { + matchAny(); + + } + break; + + default : + break loop14; + } + } while (true); + + match("\u00ABENDREM"); + + mRG(); + channel=HIDDEN; + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end REM_COMMENT_OUT + + // $ANTLR start REM_COMMENT + public void mREM_COMMENT() throws RecognitionException { + try { + int _type = REM_COMMENT; + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:445:3: ({...}? => 'REM' RG ( options {greedy=false; } : . )* '\\u00ABENDREM' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:445:3: {...}? => 'REM' RG ( options {greedy=false; } : . )* '\\u00ABENDREM' + { + if ( !(xpandMode) ) { + throw new FailedPredicateException(input, "REM_COMMENT", "xpandMode"); + } + match("REM"); + + mRG(); + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:445:27: ( options {greedy=false; } : . )* + loop15: + do { + int alt15=2; + int LA15_0 = input.LA(1); + + if ( (LA15_0=='\u00AB') ) { + int LA15_1 = input.LA(2); + + if ( (LA15_1=='E') ) { + int LA15_3 = input.LA(3); + + if ( (LA15_3=='N') ) { + int LA15_4 = input.LA(4); + + if ( (LA15_4=='D') ) { + int LA15_5 = input.LA(5); + + if ( (LA15_5=='R') ) { + int LA15_6 = input.LA(6); + + if ( (LA15_6=='E') ) { + int LA15_7 = input.LA(7); + + if ( (LA15_7=='M') ) { + alt15=2; + } + else if ( ((LA15_7>='\u0000' && LA15_7<='L')||(LA15_7>='N' && LA15_7<='\uFFFE')) ) { + alt15=1; + } + + + } + else if ( ((LA15_6>='\u0000' && LA15_6<='D')||(LA15_6>='F' && LA15_6<='\uFFFE')) ) { + alt15=1; + } + + + } + else if ( ((LA15_5>='\u0000' && LA15_5<='Q')||(LA15_5>='S' && LA15_5<='\uFFFE')) ) { + alt15=1; + } + + + } + else if ( ((LA15_4>='\u0000' && LA15_4<='C')||(LA15_4>='E' && LA15_4<='\uFFFE')) ) { + alt15=1; + } + + + } + else if ( ((LA15_3>='\u0000' && LA15_3<='M')||(LA15_3>='O' && LA15_3<='\uFFFE')) ) { + alt15=1; + } + + + } + else if ( ((LA15_1>='\u0000' && LA15_1<='D')||(LA15_1>='F' && LA15_1<='\uFFFE')) ) { + alt15=1; + } + + + } + else if ( ((LA15_0>='\u0000' && LA15_0<='\u00AA')||(LA15_0>='\u00AC' && LA15_0<='\uFFFE')) ) { + alt15=1; + } + + + switch (alt15) { + case 1 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:445:55: . + { + matchAny(); + + } + break; + + default : + break loop15; + } + } while (true); + + match("\u00ABENDREM"); + + channel=HIDDEN; + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end REM_COMMENT + + // $ANTLR start TEXT + public void mTEXT() throws RecognitionException { + try { + int _type = TEXT; + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:449:3: ({...}? => RG (~ ( LG ) )* ( LG )? ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:449:3: {...}? => RG (~ ( LG ) )* ( LG )? + { + if ( !(xpandMode) ) { + throw new FailedPredicateException(input, "TEXT", "xpandMode"); + } + mRG(); + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:449:21: (~ ( LG ) )* + loop16: + do { + int alt16=2; + int LA16_0 = input.LA(1); + + if ( ((LA16_0>='\u0000' && LA16_0<='\u00AA')||(LA16_0>='\u00AC' && LA16_0<='\uFFFE')) ) { + alt16=1; + } + + + switch (alt16) { + case 1 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:449:21: ~ ( LG ) + { + if ( (input.LA(1)>='\u0000' && input.LA(1)<='\u00AA')||(input.LA(1)>='\u00AC' && input.LA(1)<='\uFFFE') ) { + input.consume(); + + } + else { + MismatchedSetException mse = + new MismatchedSetException(null,input); + recover(mse); throw mse; + } + + + } + break; + + default : + break loop16; + } + } while (true); + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:449:28: ( LG )? + int alt17=2; + int LA17_0 = input.LA(1); + + if ( (LA17_0=='\u00AB') ) { + alt17=1; + } + switch (alt17) { + case 1 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:449:29: LG + { + mLG(); + + } + break; + + } + + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end TEXT + + // $ANTLR start LG + public void mLG() throws RecognitionException { + try { + int _type = LG; + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:453:3: ( '\\u00AB' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:453:3: '\\u00AB' + { + match('\u00AB'); + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end LG + + // $ANTLR start RG + public void mRG() throws RecognitionException { + try { + int _type = RG; + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:457:3: ( '\\u00BB' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:457:3: '\\u00BB' + { + match('\u00BB'); + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end RG + + public void mTokens() throws RecognitionException { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:1:10: ( T25 | T26 | T27 | T28 | T29 | T30 | T31 | T32 | T33 | T34 | T35 | T36 | T37 | T38 | T39 | T40 | T41 | T42 | T43 | T44 | T45 | T46 | T47 | T48 | T49 | T50 | T51 | T52 | T53 | T54 | T55 | T56 | T57 | T58 | T59 | T60 | T61 | T62 | T63 | T64 | T65 | T66 | T67 | T68 | T69 | T70 | T71 | T72 | T73 | T74 | T75 | T76 | T77 | T78 | T79 | T80 | T81 | T82 | T83 | T84 | T85 | T86 | T87 | T88 | T89 | T90 | T91 | T92 | T93 | T94 | T95 | T96 | T97 | T98 | T99 | T100 | T101 | T102 | T103 | T104 | T105 | T106 | T107 | T108 | T109 | T110 | T111 | IntLiteral | StringLiteral | DEFINE | ENDDEFINE | AROUND | ENDAROUND | Identifier | WS | COMMENT | LINE_COMMENT | REM_COMMENT_OUT | REM_COMMENT | TEXT | LG | RG ) + int alt18=102; + int LA18_0 = input.LA(1); + + if ( (LA18_0=='I') ) { + switch ( input.LA(2) ) { + case 'F': + { + int LA18_53 = input.LA(3); + + if ( (LA18_53=='$'||(LA18_53>='0' && LA18_53<='9')||(LA18_53>='A' && LA18_53<='Z')||LA18_53=='_'||(LA18_53>='a' && LA18_53<='z')||(LA18_53>='\u00C0' && LA18_53<='\u00D6')||(LA18_53>='\u00D8' && LA18_53<='\u00F6')||(LA18_53>='\u00F8' && LA18_53<='\u1FFF')||(LA18_53>='\u3040' && LA18_53<='\u318F')||(LA18_53>='\u3300' && LA18_53<='\u337F')||(LA18_53>='\u3400' && LA18_53<='\u3D2D')||(LA18_53>='\u4E00' && LA18_53<='\u9FFF')||(LA18_53>='\uF900' && LA18_53<='\uFAFF')) ) { + alt18=94; + } + else { + alt18=22;} + } + break; + case 'D': + { + int LA18_54 = input.LA(3); + + if ( (LA18_54=='$'||(LA18_54>='0' && LA18_54<='9')||(LA18_54>='A' && LA18_54<='Z')||LA18_54=='_'||(LA18_54>='a' && LA18_54<='z')||(LA18_54>='\u00C0' && LA18_54<='\u00D6')||(LA18_54>='\u00D8' && LA18_54<='\u00F6')||(LA18_54>='\u00F8' && LA18_54<='\u1FFF')||(LA18_54>='\u3040' && LA18_54<='\u318F')||(LA18_54>='\u3300' && LA18_54<='\u337F')||(LA18_54>='\u3400' && LA18_54<='\u3D2D')||(LA18_54>='\u4E00' && LA18_54<='\u9FFF')||(LA18_54>='\uF900' && LA18_54<='\uFAFF')) ) { + alt18=94; + } + else { + alt18=31;} + } + break; + case 'T': + { + int LA18_55 = input.LA(3); + + if ( (LA18_55=='E') ) { + int LA18_125 = input.LA(4); + + if ( (LA18_125=='R') ) { + int LA18_178 = input.LA(5); + + if ( (LA18_178=='A') ) { + int LA18_235 = input.LA(6); + + if ( (LA18_235=='T') ) { + int LA18_288 = input.LA(7); + + if ( (LA18_288=='O') ) { + int LA18_331 = input.LA(8); + + if ( (LA18_331=='R') ) { + int LA18_372 = input.LA(9); + + if ( (LA18_372=='$'||(LA18_372>='0' && LA18_372<='9')||(LA18_372>='A' && LA18_372<='Z')||LA18_372=='_'||(LA18_372>='a' && LA18_372<='z')||(LA18_372>='\u00C0' && LA18_372<='\u00D6')||(LA18_372>='\u00D8' && LA18_372<='\u00F6')||(LA18_372>='\u00F8' && LA18_372<='\u1FFF')||(LA18_372>='\u3040' && LA18_372<='\u318F')||(LA18_372>='\u3300' && LA18_372<='\u337F')||(LA18_372>='\u3400' && LA18_372<='\u3D2D')||(LA18_372>='\u4E00' && LA18_372<='\u9FFF')||(LA18_372>='\uF900' && LA18_372<='\uFAFF')) ) { + alt18=94; + } + else { + alt18=20;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + break; + case 'M': + { + int LA18_56 = input.LA(3); + + if ( (LA18_56=='P') ) { + int LA18_126 = input.LA(4); + + if ( (LA18_126=='O') ) { + int LA18_179 = input.LA(5); + + if ( (LA18_179=='R') ) { + int LA18_236 = input.LA(6); + + if ( (LA18_236=='T') ) { + int LA18_289 = input.LA(7); + + if ( (LA18_289=='$'||(LA18_289>='0' && LA18_289<='9')||(LA18_289>='A' && LA18_289<='Z')||LA18_289=='_'||(LA18_289>='a' && LA18_289<='z')||(LA18_289>='\u00C0' && LA18_289<='\u00D6')||(LA18_289>='\u00D8' && LA18_289<='\u00F6')||(LA18_289>='\u00F8' && LA18_289<='\u1FFF')||(LA18_289>='\u3040' && LA18_289<='\u318F')||(LA18_289>='\u3300' && LA18_289<='\u337F')||(LA18_289>='\u3400' && LA18_289<='\u3D2D')||(LA18_289>='\u4E00' && LA18_289<='\u9FFF')||(LA18_289>='\uF900' && LA18_289<='\uFAFF')) ) { + alt18=94; + } + else { + alt18=1;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + break; + default: + alt18=94;} + + } + else if ( (LA18_0=='E') ) { + switch ( input.LA(2) ) { + case 'N': + { + int LA18_57 = input.LA(3); + + if ( (LA18_57=='D') ) { + switch ( input.LA(4) ) { + case 'P': + { + int LA18_180 = input.LA(5); + + if ( (LA18_180=='R') ) { + int LA18_237 = input.LA(6); + + if ( (LA18_237=='O') ) { + int LA18_290 = input.LA(7); + + if ( (LA18_290=='T') ) { + int LA18_333 = input.LA(8); + + if ( (LA18_333=='E') ) { + int LA18_373 = input.LA(9); + + if ( (LA18_373=='C') ) { + int LA18_397 = input.LA(10); + + if ( (LA18_397=='T') ) { + int LA18_410 = input.LA(11); + + if ( (LA18_410=='$'||(LA18_410>='0' && LA18_410<='9')||(LA18_410>='A' && LA18_410<='Z')||LA18_410=='_'||(LA18_410>='a' && LA18_410<='z')||(LA18_410>='\u00C0' && LA18_410<='\u00D6')||(LA18_410>='\u00D8' && LA18_410<='\u00F6')||(LA18_410>='\u00F8' && LA18_410<='\u1FFF')||(LA18_410>='\u3040' && LA18_410<='\u318F')||(LA18_410>='\u3300' && LA18_410<='\u337F')||(LA18_410>='\u3400' && LA18_410<='\u3D2D')||(LA18_410>='\u4E00' && LA18_410<='\u9FFF')||(LA18_410>='\uF900' && LA18_410<='\uFAFF')) ) { + alt18=94; + } + else { + alt18=33;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + break; + case 'D': + { + int LA18_181 = input.LA(5); + + if ( (LA18_181=='E') ) { + int LA18_238 = input.LA(6); + + if ( (LA18_238=='F') ) { + int LA18_291 = input.LA(7); + + if ( (LA18_291=='I') ) { + int LA18_334 = input.LA(8); + + if ( (LA18_334=='N') ) { + int LA18_374 = input.LA(9); + + if ( (LA18_374=='E') ) { + int LA18_398 = input.LA(10); + + if ( (LA18_398=='$'||(LA18_398>='0' && LA18_398<='9')||(LA18_398>='A' && LA18_398<='Z')||LA18_398=='_'||(LA18_398>='a' && LA18_398<='z')||(LA18_398>='\u00C0' && LA18_398<='\u00D6')||(LA18_398>='\u00D8' && LA18_398<='\u00F6')||(LA18_398>='\u00F8' && LA18_398<='\u1FFF')||(LA18_398>='\u3040' && LA18_398<='\u318F')||(LA18_398>='\u3300' && LA18_398<='\u337F')||(LA18_398>='\u3400' && LA18_398<='\u3D2D')||(LA18_398>='\u4E00' && LA18_398<='\u9FFF')||(LA18_398>='\uF900' && LA18_398<='\uFAFF')) ) { + alt18=94; + } + else { + alt18=91;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + break; + case 'L': + { + int LA18_182 = input.LA(5); + + if ( (LA18_182=='E') ) { + int LA18_239 = input.LA(6); + + if ( (LA18_239=='T') ) { + int LA18_292 = input.LA(7); + + if ( (LA18_292=='$'||(LA18_292>='0' && LA18_292<='9')||(LA18_292>='A' && LA18_292<='Z')||LA18_292=='_'||(LA18_292>='a' && LA18_292<='z')||(LA18_292>='\u00C0' && LA18_292<='\u00D6')||(LA18_292>='\u00D8' && LA18_292<='\u00F6')||(LA18_292>='\u00F8' && LA18_292<='\u1FFF')||(LA18_292>='\u3040' && LA18_292<='\u318F')||(LA18_292>='\u3300' && LA18_292<='\u337F')||(LA18_292>='\u3400' && LA18_292<='\u3D2D')||(LA18_292>='\u4E00' && LA18_292<='\u9FFF')||(LA18_292>='\uF900' && LA18_292<='\uFAFF')) ) { + alt18=94; + } + else { + alt18=27;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + break; + case 'A': + { + int LA18_183 = input.LA(5); + + if ( (LA18_183=='R') ) { + int LA18_240 = input.LA(6); + + if ( (LA18_240=='O') ) { + int LA18_293 = input.LA(7); + + if ( (LA18_293=='U') ) { + int LA18_336 = input.LA(8); + + if ( (LA18_336=='N') ) { + int LA18_375 = input.LA(9); + + if ( (LA18_375=='D') ) { + int LA18_399 = input.LA(10); + + if ( (LA18_399=='$'||(LA18_399>='0' && LA18_399<='9')||(LA18_399>='A' && LA18_399<='Z')||LA18_399=='_'||(LA18_399>='a' && LA18_399<='z')||(LA18_399>='\u00C0' && LA18_399<='\u00D6')||(LA18_399>='\u00D8' && LA18_399<='\u00F6')||(LA18_399>='\u00F8' && LA18_399<='\u1FFF')||(LA18_399>='\u3040' && LA18_399<='\u318F')||(LA18_399>='\u3300' && LA18_399<='\u337F')||(LA18_399>='\u3400' && LA18_399<='\u3D2D')||(LA18_399>='\u4E00' && LA18_399<='\u9FFF')||(LA18_399>='\uF900' && LA18_399<='\uFAFF')) ) { + alt18=94; + } + else { + alt18=93;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + break; + case 'F': + { + switch ( input.LA(5) ) { + case 'I': + { + int LA18_241 = input.LA(6); + + if ( (LA18_241=='L') ) { + int LA18_294 = input.LA(7); + + if ( (LA18_294=='E') ) { + int LA18_337 = input.LA(8); + + if ( (LA18_337=='$'||(LA18_337>='0' && LA18_337<='9')||(LA18_337>='A' && LA18_337<='Z')||LA18_337=='_'||(LA18_337>='a' && LA18_337<='z')||(LA18_337>='\u00C0' && LA18_337<='\u00D6')||(LA18_337>='\u00D8' && LA18_337<='\u00F6')||(LA18_337>='\u00F8' && LA18_337<='\u1FFF')||(LA18_337>='\u3040' && LA18_337<='\u318F')||(LA18_337>='\u3300' && LA18_337<='\u337F')||(LA18_337>='\u3400' && LA18_337<='\u3D2D')||(LA18_337>='\u4E00' && LA18_337<='\u9FFF')||(LA18_337>='\uF900' && LA18_337<='\uFAFF')) ) { + alt18=94; + } + else { + alt18=18;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + break; + case 'O': + { + int LA18_242 = input.LA(6); + + if ( (LA18_242=='R') ) { + int LA18_295 = input.LA(7); + + if ( (LA18_295=='E') ) { + int LA18_338 = input.LA(8); + + if ( (LA18_338=='A') ) { + int LA18_377 = input.LA(9); + + if ( (LA18_377=='C') ) { + int LA18_400 = input.LA(10); + + if ( (LA18_400=='H') ) { + int LA18_413 = input.LA(11); + + if ( (LA18_413=='$'||(LA18_413>='0' && LA18_413<='9')||(LA18_413>='A' && LA18_413<='Z')||LA18_413=='_'||(LA18_413>='a' && LA18_413<='z')||(LA18_413>='\u00C0' && LA18_413<='\u00D6')||(LA18_413>='\u00D8' && LA18_413<='\u00F6')||(LA18_413>='\u00F8' && LA18_413<='\u1FFF')||(LA18_413>='\u3040' && LA18_413<='\u318F')||(LA18_413>='\u3300' && LA18_413<='\u337F')||(LA18_413>='\u3400' && LA18_413<='\u3D2D')||(LA18_413>='\u4E00' && LA18_413<='\u9FFF')||(LA18_413>='\uF900' && LA18_413<='\uFAFF')) ) { + alt18=94; + } + else { + alt18=21;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + break; + default: + alt18=94;} + + } + break; + case 'I': + { + int LA18_185 = input.LA(5); + + if ( (LA18_185=='F') ) { + int LA18_243 = input.LA(6); + + if ( (LA18_243=='$'||(LA18_243>='0' && LA18_243<='9')||(LA18_243>='A' && LA18_243<='Z')||LA18_243=='_'||(LA18_243>='a' && LA18_243<='z')||(LA18_243>='\u00C0' && LA18_243<='\u00D6')||(LA18_243>='\u00D8' && LA18_243<='\u00F6')||(LA18_243>='\u00F8' && LA18_243<='\u1FFF')||(LA18_243>='\u3040' && LA18_243<='\u318F')||(LA18_243>='\u3300' && LA18_243<='\u337F')||(LA18_243>='\u3400' && LA18_243<='\u3D2D')||(LA18_243>='\u4E00' && LA18_243<='\u9FFF')||(LA18_243>='\uF900' && LA18_243<='\uFAFF')) ) { + alt18=94; + } + else { + alt18=23;} + } + else { + alt18=94;} + } + break; + default: + alt18=94;} + + } + else { + alt18=94;} + } + break; + case 'X': + { + switch ( input.LA(3) ) { + case 'T': + { + int LA18_128 = input.LA(4); + + if ( (LA18_128=='E') ) { + int LA18_186 = input.LA(5); + + if ( (LA18_186=='N') ) { + int LA18_244 = input.LA(6); + + if ( (LA18_244=='S') ) { + int LA18_297 = input.LA(7); + + if ( (LA18_297=='I') ) { + int LA18_339 = input.LA(8); + + if ( (LA18_339=='O') ) { + int LA18_378 = input.LA(9); + + if ( (LA18_378=='N') ) { + int LA18_401 = input.LA(10); + + if ( (LA18_401=='$'||(LA18_401>='0' && LA18_401<='9')||(LA18_401>='A' && LA18_401<='Z')||LA18_401=='_'||(LA18_401>='a' && LA18_401<='z')||(LA18_401>='\u00C0' && LA18_401<='\u00D6')||(LA18_401>='\u00D8' && LA18_401<='\u00F6')||(LA18_401>='\u00F8' && LA18_401<='\u1FFF')||(LA18_401>='\u3040' && LA18_401<='\u318F')||(LA18_401>='\u3300' && LA18_401<='\u337F')||(LA18_401>='\u3400' && LA18_401<='\u3D2D')||(LA18_401>='\u4E00' && LA18_401<='\u9FFF')||(LA18_401>='\uF900' && LA18_401<='\uFAFF')) ) { + alt18=94; + } + else { + alt18=2;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + break; + case 'P': + { + int LA18_129 = input.LA(4); + + if ( (LA18_129=='A') ) { + int LA18_187 = input.LA(5); + + if ( (LA18_187=='N') ) { + int LA18_245 = input.LA(6); + + if ( (LA18_245=='D') ) { + int LA18_298 = input.LA(7); + + if ( (LA18_298=='$'||(LA18_298>='0' && LA18_298<='9')||(LA18_298>='A' && LA18_298<='Z')||LA18_298=='_'||(LA18_298>='a' && LA18_298<='z')||(LA18_298>='\u00C0' && LA18_298<='\u00D6')||(LA18_298>='\u00D8' && LA18_298<='\u00F6')||(LA18_298>='\u00F8' && LA18_298<='\u1FFF')||(LA18_298>='\u3040' && LA18_298<='\u318F')||(LA18_298>='\u3300' && LA18_298<='\u337F')||(LA18_298>='\u3400' && LA18_298<='\u3D2D')||(LA18_298>='\u4E00' && LA18_298<='\u9FFF')||(LA18_298>='\uF900' && LA18_298<='\uFAFF')) ) { + alt18=94; + } + else { + alt18=14;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + break; + default: + alt18=94;} + + } + break; + case 'R': + { + int LA18_59 = input.LA(3); + + if ( (LA18_59=='R') ) { + int LA18_130 = input.LA(4); + + if ( (LA18_130=='O') ) { + int LA18_188 = input.LA(5); + + if ( (LA18_188=='R') ) { + int LA18_246 = input.LA(6); + + if ( (LA18_246=='$'||(LA18_246>='0' && LA18_246<='9')||(LA18_246>='A' && LA18_246<='Z')||LA18_246=='_'||(LA18_246>='a' && LA18_246<='z')||(LA18_246>='\u00C0' && LA18_246<='\u00D6')||(LA18_246>='\u00D8' && LA18_246<='\u00F6')||(LA18_246>='\u00F8' && LA18_246<='\u1FFF')||(LA18_246>='\u3040' && LA18_246<='\u318F')||(LA18_246>='\u3300' && LA18_246<='\u337F')||(LA18_246>='\u3400' && LA18_246<='\u3D2D')||(LA18_246>='\u4E00' && LA18_246<='\u9FFF')||(LA18_246>='\uF900' && LA18_246<='\uFAFF')) ) { + alt18=94; + } + else { + alt18=13;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + break; + case 'L': + { + int LA18_60 = input.LA(3); + + if ( (LA18_60=='S') ) { + int LA18_131 = input.LA(4); + + if ( (LA18_131=='E') ) { + int LA18_189 = input.LA(5); + + if ( (LA18_189=='I') ) { + int LA18_247 = input.LA(6); + + if ( (LA18_247=='F') ) { + int LA18_300 = input.LA(7); + + if ( (LA18_300=='$'||(LA18_300>='0' && LA18_300<='9')||(LA18_300>='A' && LA18_300<='Z')||LA18_300=='_'||(LA18_300>='a' && LA18_300<='z')||(LA18_300>='\u00C0' && LA18_300<='\u00D6')||(LA18_300>='\u00D8' && LA18_300<='\u00F6')||(LA18_300>='\u00F8' && LA18_300<='\u1FFF')||(LA18_300>='\u3040' && LA18_300<='\u318F')||(LA18_300>='\u3300' && LA18_300<='\u337F')||(LA18_300>='\u3400' && LA18_300<='\u3D2D')||(LA18_300>='\u4E00' && LA18_300<='\u9FFF')||(LA18_300>='\uF900' && LA18_300<='\uFAFF')) ) { + alt18=94; + } + else { + alt18=24;} + } + else { + alt18=94;} + } + else if ( (LA18_189=='$'||(LA18_189>='0' && LA18_189<='9')||(LA18_189>='A' && LA18_189<='H')||(LA18_189>='J' && LA18_189<='Z')||LA18_189=='_'||(LA18_189>='a' && LA18_189<='z')||(LA18_189>='\u00C0' && LA18_189<='\u00D6')||(LA18_189>='\u00D8' && LA18_189<='\u00F6')||(LA18_189>='\u00F8' && LA18_189<='\u1FFF')||(LA18_189>='\u3040' && LA18_189<='\u318F')||(LA18_189>='\u3300' && LA18_189<='\u337F')||(LA18_189>='\u3400' && LA18_189<='\u3D2D')||(LA18_189>='\u4E00' && LA18_189<='\u9FFF')||(LA18_189>='\uF900' && LA18_189<='\uFAFF')) ) { + alt18=94; + } + else { + alt18=25;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + break; + default: + alt18=94;} + + } + else if ( (LA18_0=='i') ) { + switch ( input.LA(2) ) { + case 'm': + { + int LA18_61 = input.LA(3); + + if ( (LA18_61=='p') ) { + switch ( input.LA(4) ) { + case 'o': + { + int LA18_190 = input.LA(5); + + if ( (LA18_190=='r') ) { + int LA18_249 = input.LA(6); + + if ( (LA18_249=='t') ) { + int LA18_301 = input.LA(7); + + if ( (LA18_301=='$'||(LA18_301>='0' && LA18_301<='9')||(LA18_301>='A' && LA18_301<='Z')||LA18_301=='_'||(LA18_301>='a' && LA18_301<='z')||(LA18_301>='\u00C0' && LA18_301<='\u00D6')||(LA18_301>='\u00D8' && LA18_301<='\u00F6')||(LA18_301>='\u00F8' && LA18_301<='\u1FFF')||(LA18_301>='\u3040' && LA18_301<='\u318F')||(LA18_301>='\u3300' && LA18_301<='\u337F')||(LA18_301>='\u3400' && LA18_301<='\u3D2D')||(LA18_301>='\u4E00' && LA18_301<='\u9FFF')||(LA18_301>='\uF900' && LA18_301<='\uFAFF')) ) { + alt18=94; + } + else { + alt18=3;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + break; + case 'l': + { + int LA18_191 = input.LA(5); + + if ( (LA18_191=='i') ) { + int LA18_250 = input.LA(6); + + if ( (LA18_250=='e') ) { + int LA18_302 = input.LA(7); + + if ( (LA18_302=='s') ) { + int LA18_343 = input.LA(8); + + if ( (LA18_343=='$'||(LA18_343>='0' && LA18_343<='9')||(LA18_343>='A' && LA18_343<='Z')||LA18_343=='_'||(LA18_343>='a' && LA18_343<='z')||(LA18_343>='\u00C0' && LA18_343<='\u00D6')||(LA18_343>='\u00D8' && LA18_343<='\u00F6')||(LA18_343>='\u00F8' && LA18_343<='\u1FFF')||(LA18_343>='\u3040' && LA18_343<='\u318F')||(LA18_343>='\u3300' && LA18_343<='\u337F')||(LA18_343>='\u3400' && LA18_343<='\u3D2D')||(LA18_343>='\u4E00' && LA18_343<='\u9FFF')||(LA18_343>='\uF900' && LA18_343<='\uFAFF')) ) { + alt18=94; + } + else { + alt18=61;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + break; + default: + alt18=94;} + + } + else { + alt18=94;} + } + break; + case 'f': + { + int LA18_62 = input.LA(3); + + if ( (LA18_62=='$'||(LA18_62>='0' && LA18_62<='9')||(LA18_62>='A' && LA18_62<='Z')||LA18_62=='_'||(LA18_62>='a' && LA18_62<='z')||(LA18_62>='\u00C0' && LA18_62<='\u00D6')||(LA18_62>='\u00D8' && LA18_62<='\u00F6')||(LA18_62>='\u00F8' && LA18_62<='\u1FFF')||(LA18_62>='\u3040' && LA18_62<='\u318F')||(LA18_62>='\u3300' && LA18_62<='\u337F')||(LA18_62>='\u3400' && LA18_62<='\u3D2D')||(LA18_62>='\u4E00' && LA18_62<='\u9FFF')||(LA18_62>='\uF900' && LA18_62<='\uFAFF')) ) { + alt18=94; + } + else { + alt18=35;} + } + break; + default: + alt18=94;} + + } + else if ( (LA18_0==';') ) { + alt18=4; + } + else if ( (LA18_0=='e') ) { + switch ( input.LA(2) ) { + case 'l': + { + int LA18_63 = input.LA(3); + + if ( (LA18_63=='s') ) { + int LA18_134 = input.LA(4); + + if ( (LA18_134=='e') ) { + int LA18_192 = input.LA(5); + + if ( (LA18_192=='$'||(LA18_192>='0' && LA18_192<='9')||(LA18_192>='A' && LA18_192<='Z')||LA18_192=='_'||(LA18_192>='a' && LA18_192<='z')||(LA18_192>='\u00C0' && LA18_192<='\u00D6')||(LA18_192>='\u00D8' && LA18_192<='\u00F6')||(LA18_192>='\u00F8' && LA18_192<='\u1FFF')||(LA18_192>='\u3040' && LA18_192<='\u318F')||(LA18_192>='\u3300' && LA18_192<='\u337F')||(LA18_192>='\u3400' && LA18_192<='\u3D2D')||(LA18_192>='\u4E00' && LA18_192<='\u9FFF')||(LA18_192>='\uF900' && LA18_192<='\uFAFF')) ) { + alt18=94; + } + else { + alt18=53;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + break; + case 'x': + { + switch ( input.LA(3) ) { + case 't': + { + int LA18_135 = input.LA(4); + + if ( (LA18_135=='e') ) { + int LA18_193 = input.LA(5); + + if ( (LA18_193=='n') ) { + int LA18_252 = input.LA(6); + + if ( (LA18_252=='s') ) { + int LA18_303 = input.LA(7); + + if ( (LA18_303=='i') ) { + int LA18_344 = input.LA(8); + + if ( (LA18_344=='o') ) { + int LA18_380 = input.LA(9); + + if ( (LA18_380=='n') ) { + int LA18_402 = input.LA(10); + + if ( (LA18_402=='$'||(LA18_402>='0' && LA18_402<='9')||(LA18_402>='A' && LA18_402<='Z')||LA18_402=='_'||(LA18_402>='a' && LA18_402<='z')||(LA18_402>='\u00C0' && LA18_402<='\u00D6')||(LA18_402>='\u00D8' && LA18_402<='\u00F6')||(LA18_402>='\u00F8' && LA18_402<='\u1FFF')||(LA18_402>='\u3040' && LA18_402<='\u318F')||(LA18_402>='\u3300' && LA18_402<='\u337F')||(LA18_402>='\u3400' && LA18_402<='\u3D2D')||(LA18_402>='\u4E00' && LA18_402<='\u9FFF')||(LA18_402>='\uF900' && LA18_402<='\uFAFF')) ) { + alt18=94; + } + else { + alt18=5;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + break; + case 'i': + { + int LA18_136 = input.LA(4); + + if ( (LA18_136=='s') ) { + int LA18_194 = input.LA(5); + + if ( (LA18_194=='t') ) { + int LA18_253 = input.LA(6); + + if ( (LA18_253=='s') ) { + int LA18_304 = input.LA(7); + + if ( (LA18_304=='$'||(LA18_304>='0' && LA18_304<='9')||(LA18_304>='A' && LA18_304<='Z')||LA18_304=='_'||(LA18_304>='a' && LA18_304<='z')||(LA18_304>='\u00C0' && LA18_304<='\u00D6')||(LA18_304>='\u00D8' && LA18_304<='\u00F6')||(LA18_304>='\u00F8' && LA18_304<='\u1FFF')||(LA18_304>='\u3040' && LA18_304<='\u318F')||(LA18_304>='\u3300' && LA18_304<='\u337F')||(LA18_304>='\u3400' && LA18_304<='\u3D2D')||(LA18_304>='\u4E00' && LA18_304<='\u9FFF')||(LA18_304>='\uF900' && LA18_304<='\uFAFF')) ) { + alt18=94; + } + else { + alt18=81;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + break; + default: + alt18=94;} + + } + break; + default: + alt18=94;} + + } + else if ( (LA18_0=='r') ) { + int LA18_6 = input.LA(2); + + if ( (LA18_6=='e') ) { + switch ( input.LA(3) ) { + case 'e': + { + int LA18_137 = input.LA(4); + + if ( (LA18_137=='x') ) { + int LA18_195 = input.LA(5); + + if ( (LA18_195=='p') ) { + int LA18_254 = input.LA(6); + + if ( (LA18_254=='o') ) { + int LA18_305 = input.LA(7); + + if ( (LA18_305=='r') ) { + int LA18_346 = input.LA(8); + + if ( (LA18_346=='t') ) { + int LA18_381 = input.LA(9); + + if ( (LA18_381=='$'||(LA18_381>='0' && LA18_381<='9')||(LA18_381>='A' && LA18_381<='Z')||LA18_381=='_'||(LA18_381>='a' && LA18_381<='z')||(LA18_381>='\u00C0' && LA18_381<='\u00D6')||(LA18_381>='\u00D8' && LA18_381<='\u00F6')||(LA18_381>='\u00F8' && LA18_381<='\u1FFF')||(LA18_381>='\u3040' && LA18_381<='\u318F')||(LA18_381>='\u3300' && LA18_381<='\u337F')||(LA18_381>='\u3400' && LA18_381<='\u3D2D')||(LA18_381>='\u4E00' && LA18_381<='\u9FFF')||(LA18_381>='\uF900' && LA18_381<='\uFAFF')) ) { + alt18=94; + } + else { + alt18=6;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + break; + case 'j': + { + int LA18_138 = input.LA(4); + + if ( (LA18_138=='e') ) { + int LA18_196 = input.LA(5); + + if ( (LA18_196=='c') ) { + int LA18_255 = input.LA(6); + + if ( (LA18_255=='t') ) { + int LA18_306 = input.LA(7); + + if ( (LA18_306=='$'||(LA18_306>='0' && LA18_306<='9')||(LA18_306>='A' && LA18_306<='Z')||LA18_306=='_'||(LA18_306>='a' && LA18_306<='z')||(LA18_306>='\u00C0' && LA18_306<='\u00D6')||(LA18_306>='\u00D8' && LA18_306<='\u00F6')||(LA18_306>='\u00F8' && LA18_306<='\u1FFF')||(LA18_306>='\u3040' && LA18_306<='\u318F')||(LA18_306>='\u3300' && LA18_306<='\u337F')||(LA18_306>='\u3400' && LA18_306<='\u3D2D')||(LA18_306>='\u4E00' && LA18_306<='\u9FFF')||(LA18_306>='\uF900' && LA18_306<='\uFAFF')) ) { + alt18=94; + } + else { + alt18=80;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + break; + default: + alt18=94;} + + } + else { + alt18=94;} + } + else if ( (LA18_0=='(') ) { + alt18=7; + } + else if ( (LA18_0==',') ) { + alt18=8; + } + else if ( (LA18_0=='*') ) { + alt18=9; + } + else if ( (LA18_0==')') ) { + alt18=10; + } + else if ( (LA18_0=='F') ) { + switch ( input.LA(2) ) { + case 'O': + { + int LA18_66 = input.LA(3); + + if ( (LA18_66=='R') ) { + int LA18_139 = input.LA(4); + + if ( (LA18_139=='E') ) { + int LA18_197 = input.LA(5); + + if ( (LA18_197=='A') ) { + int LA18_256 = input.LA(6); + + if ( (LA18_256=='C') ) { + int LA18_307 = input.LA(7); + + if ( (LA18_307=='H') ) { + int LA18_348 = input.LA(8); + + if ( (LA18_348=='$'||(LA18_348>='0' && LA18_348<='9')||(LA18_348>='A' && LA18_348<='Z')||LA18_348=='_'||(LA18_348>='a' && LA18_348<='z')||(LA18_348>='\u00C0' && LA18_348<='\u00D6')||(LA18_348>='\u00D8' && LA18_348<='\u00F6')||(LA18_348>='\u00F8' && LA18_348<='\u1FFF')||(LA18_348>='\u3040' && LA18_348<='\u318F')||(LA18_348>='\u3300' && LA18_348<='\u337F')||(LA18_348>='\u3400' && LA18_348<='\u3D2D')||(LA18_348>='\u4E00' && LA18_348<='\u9FFF')||(LA18_348>='\uF900' && LA18_348<='\uFAFF')) ) { + alt18=94; + } + else { + alt18=15;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else if ( (LA18_139=='$'||(LA18_139>='0' && LA18_139<='9')||(LA18_139>='A' && LA18_139<='D')||(LA18_139>='F' && LA18_139<='Z')||LA18_139=='_'||(LA18_139>='a' && LA18_139<='z')||(LA18_139>='\u00C0' && LA18_139<='\u00D6')||(LA18_139>='\u00D8' && LA18_139<='\u00F6')||(LA18_139>='\u00F8' && LA18_139<='\u1FFF')||(LA18_139>='\u3040' && LA18_139<='\u318F')||(LA18_139>='\u3300' && LA18_139<='\u337F')||(LA18_139>='\u3400' && LA18_139<='\u3D2D')||(LA18_139>='\u4E00' && LA18_139<='\u9FFF')||(LA18_139>='\uF900' && LA18_139<='\uFAFF')) ) { + alt18=94; + } + else { + alt18=11;} + } + else { + alt18=94;} + } + break; + case 'I': + { + int LA18_67 = input.LA(3); + + if ( (LA18_67=='L') ) { + int LA18_140 = input.LA(4); + + if ( (LA18_140=='E') ) { + int LA18_199 = input.LA(5); + + if ( (LA18_199=='$'||(LA18_199>='0' && LA18_199<='9')||(LA18_199>='A' && LA18_199<='Z')||LA18_199=='_'||(LA18_199>='a' && LA18_199<='z')||(LA18_199>='\u00C0' && LA18_199<='\u00D6')||(LA18_199>='\u00D8' && LA18_199<='\u00F6')||(LA18_199>='\u00F8' && LA18_199<='\u1FFF')||(LA18_199>='\u3040' && LA18_199<='\u318F')||(LA18_199>='\u3300' && LA18_199<='\u337F')||(LA18_199>='\u3400' && LA18_199<='\u3D2D')||(LA18_199>='\u4E00' && LA18_199<='\u9FFF')||(LA18_199>='\uF900' && LA18_199<='\uFAFF')) ) { + alt18=94; + } + else { + alt18=17;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + break; + default: + alt18=94;} + + } + else if ( (LA18_0=='-') ) { + int LA18_12 = input.LA(2); + + if ( (LA18_12=='>') ) { + alt18=50; + } + else { + alt18=12;} + } + else if ( (LA18_0=='S') ) { + switch ( input.LA(2) ) { + case 'e': + { + int LA18_70 = input.LA(3); + + if ( (LA18_70=='t') ) { + int LA18_141 = input.LA(4); + + if ( (LA18_141=='$'||(LA18_141>='0' && LA18_141<='9')||(LA18_141>='A' && LA18_141<='Z')||LA18_141=='_'||(LA18_141>='a' && LA18_141<='z')||(LA18_141>='\u00C0' && LA18_141<='\u00D6')||(LA18_141>='\u00D8' && LA18_141<='\u00F6')||(LA18_141>='\u00F8' && LA18_141<='\u1FFF')||(LA18_141>='\u3040' && LA18_141<='\u318F')||(LA18_141>='\u3300' && LA18_141<='\u337F')||(LA18_141>='\u3400' && LA18_141<='\u3D2D')||(LA18_141>='\u4E00' && LA18_141<='\u9FFF')||(LA18_141>='\uF900' && LA18_141<='\uFAFF')) ) { + alt18=94; + } + else { + alt18=47;} + } + else { + alt18=94;} + } + break; + case 'E': + { + int LA18_71 = input.LA(3); + + if ( (LA18_71=='P') ) { + int LA18_142 = input.LA(4); + + if ( (LA18_142=='A') ) { + int LA18_201 = input.LA(5); + + if ( (LA18_201=='R') ) { + int LA18_258 = input.LA(6); + + if ( (LA18_258=='A') ) { + int LA18_308 = input.LA(7); + + if ( (LA18_308=='T') ) { + int LA18_349 = input.LA(8); + + if ( (LA18_349=='O') ) { + int LA18_383 = input.LA(9); + + if ( (LA18_383=='R') ) { + int LA18_404 = input.LA(10); + + if ( (LA18_404=='$'||(LA18_404>='0' && LA18_404<='9')||(LA18_404>='A' && LA18_404<='Z')||LA18_404=='_'||(LA18_404>='a' && LA18_404<='z')||(LA18_404>='\u00C0' && LA18_404<='\u00D6')||(LA18_404>='\u00D8' && LA18_404<='\u00F6')||(LA18_404>='\u00F8' && LA18_404<='\u1FFF')||(LA18_404>='\u3040' && LA18_404<='\u318F')||(LA18_404>='\u3300' && LA18_404<='\u337F')||(LA18_404>='\u3400' && LA18_404<='\u3D2D')||(LA18_404>='\u4E00' && LA18_404<='\u9FFF')||(LA18_404>='\uF900' && LA18_404<='\uFAFF')) ) { + alt18=94; + } + else { + alt18=16;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + break; + default: + alt18=94;} + + } + else if ( (LA18_0=='A') ) { + switch ( input.LA(2) ) { + case 'S': + { + int LA18_72 = input.LA(3); + + if ( (LA18_72=='$'||(LA18_72>='0' && LA18_72<='9')||(LA18_72>='A' && LA18_72<='Z')||LA18_72=='_'||(LA18_72>='a' && LA18_72<='z')||(LA18_72>='\u00C0' && LA18_72<='\u00D6')||(LA18_72>='\u00D8' && LA18_72<='\u00F6')||(LA18_72>='\u00F8' && LA18_72<='\u1FFF')||(LA18_72>='\u3040' && LA18_72<='\u318F')||(LA18_72>='\u3300' && LA18_72<='\u337F')||(LA18_72>='\u3400' && LA18_72<='\u3D2D')||(LA18_72>='\u4E00' && LA18_72<='\u9FFF')||(LA18_72>='\uF900' && LA18_72<='\uFAFF')) ) { + alt18=94; + } + else { + alt18=19;} + } + break; + case 'R': + { + int LA18_73 = input.LA(3); + + if ( (LA18_73=='O') ) { + int LA18_144 = input.LA(4); + + if ( (LA18_144=='U') ) { + int LA18_202 = input.LA(5); + + if ( (LA18_202=='N') ) { + int LA18_259 = input.LA(6); + + if ( (LA18_259=='D') ) { + int LA18_309 = input.LA(7); + + if ( (LA18_309=='$'||(LA18_309>='0' && LA18_309<='9')||(LA18_309>='A' && LA18_309<='Z')||LA18_309=='_'||(LA18_309>='a' && LA18_309<='z')||(LA18_309>='\u00C0' && LA18_309<='\u00D6')||(LA18_309>='\u00D8' && LA18_309<='\u00F6')||(LA18_309>='\u00F8' && LA18_309<='\u1FFF')||(LA18_309>='\u3040' && LA18_309<='\u318F')||(LA18_309>='\u3300' && LA18_309<='\u337F')||(LA18_309>='\u3400' && LA18_309<='\u3D2D')||(LA18_309>='\u4E00' && LA18_309<='\u9FFF')||(LA18_309>='\uF900' && LA18_309<='\uFAFF')) ) { + alt18=94; + } + else { + alt18=92;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + break; + default: + alt18=94;} + + } + else if ( (LA18_0=='L') ) { + switch ( input.LA(2) ) { + case 'E': + { + int LA18_74 = input.LA(3); + + if ( (LA18_74=='T') ) { + int LA18_145 = input.LA(4); + + if ( (LA18_145=='$'||(LA18_145>='0' && LA18_145<='9')||(LA18_145>='A' && LA18_145<='Z')||LA18_145=='_'||(LA18_145>='a' && LA18_145<='z')||(LA18_145>='\u00C0' && LA18_145<='\u00D6')||(LA18_145>='\u00D8' && LA18_145<='\u00F6')||(LA18_145>='\u00F8' && LA18_145<='\u1FFF')||(LA18_145>='\u3040' && LA18_145<='\u318F')||(LA18_145>='\u3300' && LA18_145<='\u337F')||(LA18_145>='\u3400' && LA18_145<='\u3D2D')||(LA18_145>='\u4E00' && LA18_145<='\u9FFF')||(LA18_145>='\uF900' && LA18_145<='\uFAFF')) ) { + alt18=94; + } + else { + alt18=26;} + } + else { + alt18=94;} + } + break; + case 'i': + { + int LA18_75 = input.LA(3); + + if ( (LA18_75=='s') ) { + int LA18_146 = input.LA(4); + + if ( (LA18_146=='t') ) { + int LA18_204 = input.LA(5); + + if ( (LA18_204=='$'||(LA18_204>='0' && LA18_204<='9')||(LA18_204>='A' && LA18_204<='Z')||LA18_204=='_'||(LA18_204>='a' && LA18_204<='z')||(LA18_204>='\u00C0' && LA18_204<='\u00D6')||(LA18_204>='\u00D8' && LA18_204<='\u00F6')||(LA18_204>='\u00F8' && LA18_204<='\u1FFF')||(LA18_204>='\u3040' && LA18_204<='\u318F')||(LA18_204>='\u3300' && LA18_204<='\u337F')||(LA18_204>='\u3400' && LA18_204<='\u3D2D')||(LA18_204>='\u4E00' && LA18_204<='\u9FFF')||(LA18_204>='\uF900' && LA18_204<='\uFAFF')) ) { + alt18=94; + } + else { + alt18=46;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + break; + default: + alt18=94;} + + } + else if ( (LA18_0=='P') ) { + int LA18_16 = input.LA(2); + + if ( (LA18_16=='R') ) { + int LA18_76 = input.LA(3); + + if ( (LA18_76=='O') ) { + int LA18_147 = input.LA(4); + + if ( (LA18_147=='T') ) { + int LA18_205 = input.LA(5); + + if ( (LA18_205=='E') ) { + int LA18_261 = input.LA(6); + + if ( (LA18_261=='C') ) { + int LA18_310 = input.LA(7); + + if ( (LA18_310=='T') ) { + int LA18_351 = input.LA(8); + + if ( (LA18_351=='$'||(LA18_351>='0' && LA18_351<='9')||(LA18_351>='A' && LA18_351<='Z')||LA18_351=='_'||(LA18_351>='a' && LA18_351<='z')||(LA18_351>='\u00C0' && LA18_351<='\u00D6')||(LA18_351>='\u00D8' && LA18_351<='\u00F6')||(LA18_351>='\u00F8' && LA18_351<='\u1FFF')||(LA18_351>='\u3040' && LA18_351<='\u318F')||(LA18_351>='\u3300' && LA18_351<='\u337F')||(LA18_351>='\u3400' && LA18_351<='\u3D2D')||(LA18_351>='\u4E00' && LA18_351<='\u9FFF')||(LA18_351>='\uF900' && LA18_351<='\uFAFF')) ) { + alt18=94; + } + else { + alt18=28;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else if ( (LA18_0=='C') ) { + switch ( input.LA(2) ) { + case 'o': + { + int LA18_77 = input.LA(3); + + if ( (LA18_77=='l') ) { + int LA18_148 = input.LA(4); + + if ( (LA18_148=='l') ) { + int LA18_206 = input.LA(5); + + if ( (LA18_206=='e') ) { + int LA18_262 = input.LA(6); + + if ( (LA18_262=='c') ) { + int LA18_311 = input.LA(7); + + if ( (LA18_311=='t') ) { + int LA18_352 = input.LA(8); + + if ( (LA18_352=='i') ) { + int LA18_385 = input.LA(9); + + if ( (LA18_385=='o') ) { + int LA18_405 = input.LA(10); + + if ( (LA18_405=='n') ) { + int LA18_417 = input.LA(11); + + if ( (LA18_417=='$'||(LA18_417>='0' && LA18_417<='9')||(LA18_417>='A' && LA18_417<='Z')||LA18_417=='_'||(LA18_417>='a' && LA18_417<='z')||(LA18_417>='\u00C0' && LA18_417<='\u00D6')||(LA18_417>='\u00D8' && LA18_417<='\u00F6')||(LA18_417>='\u00F8' && LA18_417<='\u1FFF')||(LA18_417>='\u3040' && LA18_417<='\u318F')||(LA18_417>='\u3300' && LA18_417<='\u337F')||(LA18_417>='\u3400' && LA18_417<='\u3D2D')||(LA18_417>='\u4E00' && LA18_417<='\u9FFF')||(LA18_417>='\uF900' && LA18_417<='\uFAFF')) ) { + alt18=94; + } + else { + alt18=45;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + break; + case 'E': + { + int LA18_78 = input.LA(3); + + if ( (LA18_78=='N') ) { + int LA18_149 = input.LA(4); + + if ( (LA18_149=='D') ) { + int LA18_207 = input.LA(5); + + if ( (LA18_207=='$'||(LA18_207>='0' && LA18_207<='9')||(LA18_207>='A' && LA18_207<='Z')||LA18_207=='_'||(LA18_207>='a' && LA18_207<='z')||(LA18_207>='\u00C0' && LA18_207<='\u00D6')||(LA18_207>='\u00D8' && LA18_207<='\u00F6')||(LA18_207>='\u00F8' && LA18_207<='\u1FFF')||(LA18_207>='\u3040' && LA18_207<='\u318F')||(LA18_207>='\u3300' && LA18_207<='\u337F')||(LA18_207>='\u3400' && LA18_207<='\u3D2D')||(LA18_207>='\u4E00' && LA18_207<='\u9FFF')||(LA18_207>='\uF900' && LA18_207<='\uFAFF')) ) { + alt18=94; + } + else { + alt18=30;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + break; + case 'S': + { + int LA18_79 = input.LA(3); + + if ( (LA18_79=='T') ) { + int LA18_150 = input.LA(4); + + if ( (LA18_150=='A') ) { + int LA18_208 = input.LA(5); + + if ( (LA18_208=='R') ) { + int LA18_264 = input.LA(6); + + if ( (LA18_264=='T') ) { + int LA18_312 = input.LA(7); + + if ( (LA18_312=='$'||(LA18_312>='0' && LA18_312<='9')||(LA18_312>='A' && LA18_312<='Z')||LA18_312=='_'||(LA18_312>='a' && LA18_312<='z')||(LA18_312>='\u00C0' && LA18_312<='\u00D6')||(LA18_312>='\u00D8' && LA18_312<='\u00F6')||(LA18_312>='\u00F8' && LA18_312<='\u1FFF')||(LA18_312>='\u3040' && LA18_312<='\u318F')||(LA18_312>='\u3300' && LA18_312<='\u337F')||(LA18_312>='\u3400' && LA18_312<='\u3D2D')||(LA18_312>='\u4E00' && LA18_312<='\u9FFF')||(LA18_312>='\uF900' && LA18_312<='\uFAFF')) ) { + alt18=94; + } + else { + alt18=29;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + break; + default: + alt18=94;} + + } + else if ( (LA18_0=='D') ) { + switch ( input.LA(2) ) { + case 'I': + { + int LA18_80 = input.LA(3); + + if ( (LA18_80=='S') ) { + int LA18_151 = input.LA(4); + + if ( (LA18_151=='A') ) { + int LA18_209 = input.LA(5); + + if ( (LA18_209=='B') ) { + int LA18_265 = input.LA(6); + + if ( (LA18_265=='L') ) { + int LA18_313 = input.LA(7); + + if ( (LA18_313=='E') ) { + int LA18_354 = input.LA(8); + + if ( (LA18_354=='$'||(LA18_354>='0' && LA18_354<='9')||(LA18_354>='A' && LA18_354<='Z')||LA18_354=='_'||(LA18_354>='a' && LA18_354<='z')||(LA18_354>='\u00C0' && LA18_354<='\u00D6')||(LA18_354>='\u00D8' && LA18_354<='\u00F6')||(LA18_354>='\u00F8' && LA18_354<='\u1FFF')||(LA18_354>='\u3040' && LA18_354<='\u318F')||(LA18_354>='\u3300' && LA18_354<='\u337F')||(LA18_354>='\u3400' && LA18_354<='\u3D2D')||(LA18_354>='\u4E00' && LA18_354<='\u9FFF')||(LA18_354>='\uF900' && LA18_354<='\uFAFF')) ) { + alt18=94; + } + else { + alt18=32;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + break; + case 'E': + { + int LA18_81 = input.LA(3); + + if ( (LA18_81=='F') ) { + int LA18_152 = input.LA(4); + + if ( (LA18_152=='I') ) { + int LA18_210 = input.LA(5); + + if ( (LA18_210=='N') ) { + int LA18_266 = input.LA(6); + + if ( (LA18_266=='E') ) { + int LA18_314 = input.LA(7); + + if ( (LA18_314=='$'||(LA18_314>='0' && LA18_314<='9')||(LA18_314>='A' && LA18_314<='Z')||LA18_314=='_'||(LA18_314>='a' && LA18_314<='z')||(LA18_314>='\u00C0' && LA18_314<='\u00D6')||(LA18_314>='\u00D8' && LA18_314<='\u00F6')||(LA18_314>='\u00F8' && LA18_314<='\u1FFF')||(LA18_314>='\u3040' && LA18_314<='\u318F')||(LA18_314>='\u3300' && LA18_314<='\u337F')||(LA18_314>='\u3400' && LA18_314<='\u3D2D')||(LA18_314>='\u4E00' && LA18_314<='\u9FFF')||(LA18_314>='\uF900' && LA18_314<='\uFAFF')) ) { + alt18=94; + } + else { + alt18=90;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + break; + default: + alt18=94;} + + } + else if ( (LA18_0=='c') ) { + switch ( input.LA(2) ) { + case 'a': + { + switch ( input.LA(3) ) { + case 'c': + { + int LA18_153 = input.LA(4); + + if ( (LA18_153=='h') ) { + int LA18_211 = input.LA(5); + + if ( (LA18_211=='e') ) { + int LA18_267 = input.LA(6); + + if ( (LA18_267=='d') ) { + int LA18_315 = input.LA(7); + + if ( (LA18_315=='$'||(LA18_315>='0' && LA18_315<='9')||(LA18_315>='A' && LA18_315<='Z')||LA18_315=='_'||(LA18_315>='a' && LA18_315<='z')||(LA18_315>='\u00C0' && LA18_315<='\u00D6')||(LA18_315>='\u00D8' && LA18_315<='\u00F6')||(LA18_315>='\u00F8' && LA18_315<='\u1FFF')||(LA18_315>='\u3040' && LA18_315<='\u318F')||(LA18_315>='\u3300' && LA18_315<='\u337F')||(LA18_315>='\u3400' && LA18_315<='\u3D2D')||(LA18_315>='\u4E00' && LA18_315<='\u9FFF')||(LA18_315>='\uF900' && LA18_315<='\uFAFF')) ) { + alt18=94; + } + else { + alt18=41;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + break; + case 's': + { + int LA18_154 = input.LA(4); + + if ( (LA18_154=='e') ) { + int LA18_212 = input.LA(5); + + if ( (LA18_212=='$'||(LA18_212>='0' && LA18_212<='9')||(LA18_212>='A' && LA18_212<='Z')||LA18_212=='_'||(LA18_212>='a' && LA18_212<='z')||(LA18_212>='\u00C0' && LA18_212<='\u00D6')||(LA18_212>='\u00D8' && LA18_212<='\u00F6')||(LA18_212>='\u00F8' && LA18_212<='\u1FFF')||(LA18_212>='\u3040' && LA18_212<='\u318F')||(LA18_212>='\u3300' && LA18_212<='\u337F')||(LA18_212>='\u3400' && LA18_212<='\u3D2D')||(LA18_212>='\u4E00' && LA18_212<='\u9FFF')||(LA18_212>='\uF900' && LA18_212<='\uFAFF')) ) { + alt18=94; + } + else { + alt18=58;} + } + else { + alt18=94;} + } + break; + default: + alt18=94;} + + } + break; + case 'o': + { + switch ( input.LA(3) ) { + case 'n': + { + int LA18_155 = input.LA(4); + + if ( (LA18_155=='t') ) { + int LA18_213 = input.LA(5); + + if ( (LA18_213=='e') ) { + int LA18_269 = input.LA(6); + + if ( (LA18_269=='x') ) { + int LA18_316 = input.LA(7); + + if ( (LA18_316=='t') ) { + int LA18_357 = input.LA(8); + + if ( (LA18_357=='$'||(LA18_357>='0' && LA18_357<='9')||(LA18_357>='A' && LA18_357<='Z')||LA18_357=='_'||(LA18_357>='a' && LA18_357<='z')||(LA18_357>='\u00C0' && LA18_357<='\u00D6')||(LA18_357>='\u00D8' && LA18_357<='\u00F6')||(LA18_357>='\u00F8' && LA18_357<='\u1FFF')||(LA18_357>='\u3040' && LA18_357<='\u318F')||(LA18_357>='\u3300' && LA18_357<='\u337F')||(LA18_357>='\u3400' && LA18_357<='\u3D2D')||(LA18_357>='\u4E00' && LA18_357<='\u9FFF')||(LA18_357>='\uF900' && LA18_357<='\uFAFF')) ) { + alt18=94; + } + else { + alt18=34;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + break; + case 'l': + { + int LA18_156 = input.LA(4); + + if ( (LA18_156=='l') ) { + int LA18_214 = input.LA(5); + + if ( (LA18_214=='e') ) { + int LA18_270 = input.LA(6); + + if ( (LA18_270=='c') ) { + int LA18_317 = input.LA(7); + + if ( (LA18_317=='t') ) { + int LA18_358 = input.LA(8); + + if ( (LA18_358=='$'||(LA18_358>='0' && LA18_358<='9')||(LA18_358>='A' && LA18_358<='Z')||LA18_358=='_'||(LA18_358>='a' && LA18_358<='z')||(LA18_358>='\u00C0' && LA18_358<='\u00D6')||(LA18_358>='\u00D8' && LA18_358<='\u00F6')||(LA18_358>='\u00F8' && LA18_358<='\u1FFF')||(LA18_358>='\u3040' && LA18_358<='\u318F')||(LA18_358>='\u3300' && LA18_358<='\u337F')||(LA18_358>='\u3400' && LA18_358<='\u3D2D')||(LA18_358>='\u4E00' && LA18_358<='\u9FFF')||(LA18_358>='\uF900' && LA18_358<='\uFAFF')) ) { + alt18=94; + } + else { + alt18=77;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + break; + default: + alt18=94;} + + } + break; + case 'r': + { + int LA18_84 = input.LA(3); + + if ( (LA18_84=='e') ) { + int LA18_157 = input.LA(4); + + if ( (LA18_157=='a') ) { + int LA18_215 = input.LA(5); + + if ( (LA18_215=='t') ) { + int LA18_271 = input.LA(6); + + if ( (LA18_271=='e') ) { + int LA18_318 = input.LA(7); + + if ( (LA18_318=='$'||(LA18_318>='0' && LA18_318<='9')||(LA18_318>='A' && LA18_318<='Z')||LA18_318=='_'||(LA18_318>='a' && LA18_318<='z')||(LA18_318>='\u00C0' && LA18_318<='\u00D6')||(LA18_318>='\u00D8' && LA18_318<='\u00F6')||(LA18_318>='\u00F8' && LA18_318<='\u1FFF')||(LA18_318>='\u3040' && LA18_318<='\u318F')||(LA18_318>='\u3300' && LA18_318<='\u337F')||(LA18_318>='\u3400' && LA18_318<='\u3D2D')||(LA18_318>='\u4E00' && LA18_318<='\u9FFF')||(LA18_318>='\uF900' && LA18_318<='\uFAFF')) ) { + alt18=94; + } + else { + alt18=42;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + break; + default: + alt18=94;} + + } + else if ( (LA18_0=='W') ) { + int LA18_20 = input.LA(2); + + if ( (LA18_20=='A') ) { + int LA18_85 = input.LA(3); + + if ( (LA18_85=='R') ) { + int LA18_158 = input.LA(4); + + if ( (LA18_158=='N') ) { + int LA18_216 = input.LA(5); + + if ( (LA18_216=='I') ) { + int LA18_272 = input.LA(6); + + if ( (LA18_272=='N') ) { + int LA18_319 = input.LA(7); + + if ( (LA18_319=='G') ) { + int LA18_360 = input.LA(8); + + if ( (LA18_360=='$'||(LA18_360>='0' && LA18_360<='9')||(LA18_360>='A' && LA18_360<='Z')||LA18_360=='_'||(LA18_360>='a' && LA18_360<='z')||(LA18_360>='\u00C0' && LA18_360<='\u00D6')||(LA18_360>='\u00D8' && LA18_360<='\u00F6')||(LA18_360>='\u00F8' && LA18_360<='\u1FFF')||(LA18_360>='\u3040' && LA18_360<='\u318F')||(LA18_360>='\u3300' && LA18_360<='\u337F')||(LA18_360>='\u3400' && LA18_360<='\u3D2D')||(LA18_360>='\u4E00' && LA18_360<='\u9FFF')||(LA18_360>='\uF900' && LA18_360<='\uFAFF')) ) { + alt18=94; + } + else { + alt18=36;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else if ( (LA18_0==':') ) { + int LA18_21 = input.LA(2); + + if ( (LA18_21==':') ) { + alt18=39; + } + else { + alt18=37;} + } + else if ( (LA18_0=='a') ) { + int LA18_22 = input.LA(2); + + if ( (LA18_22=='r') ) { + int LA18_88 = input.LA(3); + + if ( (LA18_88=='o') ) { + int LA18_159 = input.LA(4); + + if ( (LA18_159=='u') ) { + int LA18_217 = input.LA(5); + + if ( (LA18_217=='n') ) { + int LA18_273 = input.LA(6); + + if ( (LA18_273=='d') ) { + int LA18_320 = input.LA(7); + + if ( (LA18_320=='$'||(LA18_320>='0' && LA18_320<='9')||(LA18_320>='A' && LA18_320<='Z')||LA18_320=='_'||(LA18_320>='a' && LA18_320<='z')||(LA18_320>='\u00C0' && LA18_320<='\u00D6')||(LA18_320>='\u00D8' && LA18_320<='\u00F6')||(LA18_320>='\u00F8' && LA18_320<='\u1FFF')||(LA18_320>='\u3040' && LA18_320<='\u318F')||(LA18_320>='\u3300' && LA18_320<='\u337F')||(LA18_320>='\u3400' && LA18_320<='\u3D2D')||(LA18_320>='\u4E00' && LA18_320<='\u9FFF')||(LA18_320>='\uF900' && LA18_320<='\uFAFF')) ) { + alt18=94; + } + else { + alt18=38;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else if ( (LA18_0=='p') ) { + int LA18_23 = input.LA(2); + + if ( (LA18_23=='r') ) { + int LA18_89 = input.LA(3); + + if ( (LA18_89=='i') ) { + int LA18_160 = input.LA(4); + + if ( (LA18_160=='v') ) { + int LA18_218 = input.LA(5); + + if ( (LA18_218=='a') ) { + int LA18_274 = input.LA(6); + + if ( (LA18_274=='t') ) { + int LA18_321 = input.LA(7); + + if ( (LA18_321=='e') ) { + int LA18_362 = input.LA(8); + + if ( (LA18_362=='$'||(LA18_362>='0' && LA18_362<='9')||(LA18_362>='A' && LA18_362<='Z')||LA18_362=='_'||(LA18_362>='a' && LA18_362<='z')||(LA18_362>='\u00C0' && LA18_362<='\u00D6')||(LA18_362>='\u00D8' && LA18_362<='\u00F6')||(LA18_362>='\u00F8' && LA18_362<='\u1FFF')||(LA18_362>='\u3040' && LA18_362<='\u318F')||(LA18_362>='\u3300' && LA18_362<='\u337F')||(LA18_362>='\u3400' && LA18_362<='\u3D2D')||(LA18_362>='\u4E00' && LA18_362<='\u9FFF')||(LA18_362>='\uF900' && LA18_362<='\uFAFF')) ) { + alt18=94; + } + else { + alt18=40;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else if ( (LA18_0=='J') ) { + int LA18_24 = input.LA(2); + + if ( (LA18_24=='A') ) { + int LA18_90 = input.LA(3); + + if ( (LA18_90=='V') ) { + int LA18_161 = input.LA(4); + + if ( (LA18_161=='A') ) { + int LA18_219 = input.LA(5); + + if ( (LA18_219=='$'||(LA18_219>='0' && LA18_219<='9')||(LA18_219>='A' && LA18_219<='Z')||LA18_219=='_'||(LA18_219>='a' && LA18_219<='z')||(LA18_219>='\u00C0' && LA18_219<='\u00D6')||(LA18_219>='\u00D8' && LA18_219<='\u00F6')||(LA18_219>='\u00F8' && LA18_219<='\u1FFF')||(LA18_219>='\u3040' && LA18_219<='\u318F')||(LA18_219>='\u3300' && LA18_219<='\u337F')||(LA18_219>='\u3400' && LA18_219<='\u3D2D')||(LA18_219>='\u4E00' && LA18_219<='\u9FFF')||(LA18_219>='\uF900' && LA18_219<='\uFAFF')) ) { + alt18=94; + } + else { + alt18=43;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else if ( (LA18_0=='.') ) { + alt18=44; + } + else if ( (LA18_0=='l') ) { + int LA18_26 = input.LA(2); + + if ( (LA18_26=='e') ) { + int LA18_91 = input.LA(3); + + if ( (LA18_91=='t') ) { + int LA18_162 = input.LA(4); + + if ( (LA18_162=='$'||(LA18_162>='0' && LA18_162<='9')||(LA18_162>='A' && LA18_162<='Z')||LA18_162=='_'||(LA18_162>='a' && LA18_162<='z')||(LA18_162>='\u00C0' && LA18_162<='\u00D6')||(LA18_162>='\u00D8' && LA18_162<='\u00F6')||(LA18_162>='\u00F8' && LA18_162<='\u1FFF')||(LA18_162>='\u3040' && LA18_162<='\u318F')||(LA18_162>='\u3300' && LA18_162<='\u337F')||(LA18_162>='\u3400' && LA18_162<='\u3D2D')||(LA18_162>='\u4E00' && LA18_162<='\u9FFF')||(LA18_162>='\uF900' && LA18_162<='\uFAFF')) ) { + alt18=94; + } + else { + alt18=48;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else if ( (LA18_0=='=') ) { + int LA18_27 = input.LA(2); + + if ( (LA18_27=='=') ) { + alt18=62; + } + else { + alt18=49;} + } + else if ( (LA18_0=='?') ) { + alt18=51; + } + else if ( (LA18_0=='t') ) { + switch ( input.LA(2) ) { + case 'y': + { + int LA18_94 = input.LA(3); + + if ( (LA18_94=='p') ) { + int LA18_163 = input.LA(4); + + if ( (LA18_163=='e') ) { + int LA18_221 = input.LA(5); + + if ( (LA18_221=='S') ) { + int LA18_276 = input.LA(6); + + if ( (LA18_276=='e') ) { + int LA18_322 = input.LA(7); + + if ( (LA18_322=='l') ) { + int LA18_363 = input.LA(8); + + if ( (LA18_363=='e') ) { + int LA18_391 = input.LA(9); + + if ( (LA18_391=='c') ) { + int LA18_406 = input.LA(10); + + if ( (LA18_406=='t') ) { + int LA18_418 = input.LA(11); + + if ( (LA18_418=='$'||(LA18_418>='0' && LA18_418<='9')||(LA18_418>='A' && LA18_418<='Z')||LA18_418=='_'||(LA18_418>='a' && LA18_418<='z')||(LA18_418>='\u00C0' && LA18_418<='\u00D6')||(LA18_418>='\u00D8' && LA18_418<='\u00F6')||(LA18_418>='\u00F8' && LA18_418<='\u1FFF')||(LA18_418>='\u3040' && LA18_418<='\u318F')||(LA18_418>='\u3300' && LA18_418<='\u337F')||(LA18_418>='\u3400' && LA18_418<='\u3D2D')||(LA18_418>='\u4E00' && LA18_418<='\u9FFF')||(LA18_418>='\uF900' && LA18_418<='\uFAFF')) ) { + alt18=94; + } + else { + alt18=76;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + break; + case 'h': + { + int LA18_95 = input.LA(3); + + if ( (LA18_95=='e') ) { + int LA18_164 = input.LA(4); + + if ( (LA18_164=='n') ) { + int LA18_222 = input.LA(5); + + if ( (LA18_222=='$'||(LA18_222>='0' && LA18_222<='9')||(LA18_222>='A' && LA18_222<='Z')||LA18_222=='_'||(LA18_222>='a' && LA18_222<='z')||(LA18_222>='\u00C0' && LA18_222<='\u00D6')||(LA18_222>='\u00D8' && LA18_222<='\u00F6')||(LA18_222>='\u00F8' && LA18_222<='\u1FFF')||(LA18_222>='\u3040' && LA18_222<='\u318F')||(LA18_222>='\u3300' && LA18_222<='\u337F')||(LA18_222>='\u3400' && LA18_222<='\u3D2D')||(LA18_222>='\u4E00' && LA18_222<='\u9FFF')||(LA18_222>='\uF900' && LA18_222<='\uFAFF')) ) { + alt18=94; + } + else { + alt18=52;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + break; + case 'r': + { + int LA18_96 = input.LA(3); + + if ( (LA18_96=='u') ) { + int LA18_165 = input.LA(4); + + if ( (LA18_165=='e') ) { + int LA18_223 = input.LA(5); + + if ( (LA18_223=='$'||(LA18_223>='0' && LA18_223<='9')||(LA18_223>='A' && LA18_223<='Z')||LA18_223=='_'||(LA18_223>='a' && LA18_223<='z')||(LA18_223>='\u00C0' && LA18_223<='\u00D6')||(LA18_223>='\u00D8' && LA18_223<='\u00F6')||(LA18_223>='\u00F8' && LA18_223<='\u1FFF')||(LA18_223>='\u3040' && LA18_223<='\u318F')||(LA18_223>='\u3300' && LA18_223<='\u337F')||(LA18_223>='\u3400' && LA18_223<='\u3D2D')||(LA18_223>='\u4E00' && LA18_223<='\u9FFF')||(LA18_223>='\uF900' && LA18_223<='\uFAFF')) ) { + alt18=94; + } + else { + alt18=74;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + break; + default: + alt18=94;} + + } + else if ( (LA18_0=='s') ) { + switch ( input.LA(2) ) { + case 'e': + { + int LA18_97 = input.LA(3); + + if ( (LA18_97=='l') ) { + int LA18_166 = input.LA(4); + + if ( (LA18_166=='e') ) { + int LA18_224 = input.LA(5); + + if ( (LA18_224=='c') ) { + int LA18_279 = input.LA(6); + + if ( (LA18_279=='t') ) { + int LA18_323 = input.LA(7); + + if ( (LA18_323=='F') ) { + int LA18_364 = input.LA(8); + + if ( (LA18_364=='i') ) { + int LA18_392 = input.LA(9); + + if ( (LA18_392=='r') ) { + int LA18_407 = input.LA(10); + + if ( (LA18_407=='s') ) { + int LA18_419 = input.LA(11); + + if ( (LA18_419=='t') ) { + int LA18_426 = input.LA(12); + + if ( (LA18_426=='$'||(LA18_426>='0' && LA18_426<='9')||(LA18_426>='A' && LA18_426<='Z')||LA18_426=='_'||(LA18_426>='a' && LA18_426<='z')||(LA18_426>='\u00C0' && LA18_426<='\u00D6')||(LA18_426>='\u00D8' && LA18_426<='\u00F6')||(LA18_426>='\u00F8' && LA18_426<='\u1FFF')||(LA18_426>='\u3040' && LA18_426<='\u318F')||(LA18_426>='\u3300' && LA18_426<='\u337F')||(LA18_426>='\u3400' && LA18_426<='\u3D2D')||(LA18_426>='\u4E00' && LA18_426<='\u9FFF')||(LA18_426>='\uF900' && LA18_426<='\uFAFF')) ) { + alt18=94; + } + else { + alt18=79;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else if ( (LA18_323=='$'||(LA18_323>='0' && LA18_323<='9')||(LA18_323>='A' && LA18_323<='E')||(LA18_323>='G' && LA18_323<='Z')||LA18_323=='_'||(LA18_323>='a' && LA18_323<='z')||(LA18_323>='\u00C0' && LA18_323<='\u00D6')||(LA18_323>='\u00D8' && LA18_323<='\u00F6')||(LA18_323>='\u00F8' && LA18_323<='\u1FFF')||(LA18_323>='\u3040' && LA18_323<='\u318F')||(LA18_323>='\u3300' && LA18_323<='\u337F')||(LA18_323>='\u3400' && LA18_323<='\u3D2D')||(LA18_323>='\u4E00' && LA18_323<='\u9FFF')||(LA18_323>='\uF900' && LA18_323<='\uFAFF')) ) { + alt18=94; + } + else { + alt18=78;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + break; + case 'w': + { + int LA18_98 = input.LA(3); + + if ( (LA18_98=='i') ) { + int LA18_167 = input.LA(4); + + if ( (LA18_167=='t') ) { + int LA18_225 = input.LA(5); + + if ( (LA18_225=='c') ) { + int LA18_280 = input.LA(6); + + if ( (LA18_280=='h') ) { + int LA18_324 = input.LA(7); + + if ( (LA18_324=='$'||(LA18_324>='0' && LA18_324<='9')||(LA18_324>='A' && LA18_324<='Z')||LA18_324=='_'||(LA18_324>='a' && LA18_324<='z')||(LA18_324>='\u00C0' && LA18_324<='\u00D6')||(LA18_324>='\u00D8' && LA18_324<='\u00F6')||(LA18_324>='\u00F8' && LA18_324<='\u1FFF')||(LA18_324>='\u3040' && LA18_324<='\u318F')||(LA18_324>='\u3300' && LA18_324<='\u337F')||(LA18_324>='\u3400' && LA18_324<='\u3D2D')||(LA18_324>='\u4E00' && LA18_324<='\u9FFF')||(LA18_324>='\uF900' && LA18_324<='\uFAFF')) ) { + alt18=94; + } + else { + alt18=54;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + break; + case 'o': + { + int LA18_99 = input.LA(3); + + if ( (LA18_99=='r') ) { + int LA18_168 = input.LA(4); + + if ( (LA18_168=='t') ) { + int LA18_226 = input.LA(5); + + if ( (LA18_226=='B') ) { + int LA18_281 = input.LA(6); + + if ( (LA18_281=='y') ) { + int LA18_325 = input.LA(7); + + if ( (LA18_325=='$'||(LA18_325>='0' && LA18_325<='9')||(LA18_325>='A' && LA18_325<='Z')||LA18_325=='_'||(LA18_325>='a' && LA18_325<='z')||(LA18_325>='\u00C0' && LA18_325<='\u00D6')||(LA18_325>='\u00D8' && LA18_325<='\u00F6')||(LA18_325>='\u00F8' && LA18_325<='\u1FFF')||(LA18_325>='\u3040' && LA18_325<='\u318F')||(LA18_325>='\u3300' && LA18_325<='\u337F')||(LA18_325>='\u3400' && LA18_325<='\u3D2D')||(LA18_325>='\u4E00' && LA18_325<='\u9FFF')||(LA18_325>='\uF900' && LA18_325<='\uFAFF')) ) { + alt18=94; + } + else { + alt18=83;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + break; + default: + alt18=94;} + + } + else if ( (LA18_0=='{') ) { + alt18=55; + } + else if ( (LA18_0=='d') ) { + int LA18_32 = input.LA(2); + + if ( (LA18_32=='e') ) { + int LA18_100 = input.LA(3); + + if ( (LA18_100=='f') ) { + int LA18_169 = input.LA(4); + + if ( (LA18_169=='a') ) { + int LA18_227 = input.LA(5); + + if ( (LA18_227=='u') ) { + int LA18_282 = input.LA(6); + + if ( (LA18_282=='l') ) { + int LA18_326 = input.LA(7); + + if ( (LA18_326=='t') ) { + int LA18_368 = input.LA(8); + + if ( (LA18_368=='$'||(LA18_368>='0' && LA18_368<='9')||(LA18_368>='A' && LA18_368<='Z')||LA18_368=='_'||(LA18_368>='a' && LA18_368<='z')||(LA18_368>='\u00C0' && LA18_368<='\u00D6')||(LA18_368>='\u00D8' && LA18_368<='\u00F6')||(LA18_368>='\u00F8' && LA18_368<='\u1FFF')||(LA18_368>='\u3040' && LA18_368<='\u318F')||(LA18_368>='\u3300' && LA18_368<='\u337F')||(LA18_368>='\u3400' && LA18_368<='\u3D2D')||(LA18_368>='\u4E00' && LA18_368<='\u9FFF')||(LA18_368>='\uF900' && LA18_368<='\uFAFF')) ) { + alt18=94; + } + else { + alt18=56;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else if ( (LA18_0=='}') ) { + alt18=57; + } + else if ( (LA18_0=='|') ) { + int LA18_34 = input.LA(2); + + if ( (LA18_34=='|') ) { + alt18=59; + } + else { + alt18=85;} + } + else if ( (LA18_0=='&') ) { + alt18=60; + } + else if ( (LA18_0=='!') ) { + int LA18_36 = input.LA(2); + + if ( (LA18_36=='=') ) { + alt18=63; + } + else { + alt18=70;} + } + else if ( (LA18_0=='>') ) { + int LA18_37 = input.LA(2); + + if ( (LA18_37=='=') ) { + alt18=64; + } + else { + alt18=66;} + } + else if ( (LA18_0=='<') ) { + int LA18_38 = input.LA(2); + + if ( (LA18_38=='=') ) { + alt18=65; + } + else { + alt18=67;} + } + else if ( (LA18_0=='+') ) { + alt18=68; + } + else if ( (LA18_0=='/') ) { + switch ( input.LA(2) ) { + case '/': + { + alt18=97; + } + break; + case '*': + { + alt18=96; + } + break; + default: + alt18=69;} + + } + else if ( (LA18_0=='G') ) { + int LA18_41 = input.LA(2); + + if ( (LA18_41=='L') ) { + int LA18_112 = input.LA(3); + + if ( (LA18_112=='O') ) { + int LA18_170 = input.LA(4); + + if ( (LA18_170=='B') ) { + int LA18_228 = input.LA(5); + + if ( (LA18_228=='A') ) { + int LA18_283 = input.LA(6); + + if ( (LA18_283=='L') ) { + int LA18_327 = input.LA(7); + + if ( (LA18_327=='V') ) { + int LA18_369 = input.LA(8); + + if ( (LA18_369=='A') ) { + int LA18_394 = input.LA(9); + + if ( (LA18_394=='R') ) { + int LA18_408 = input.LA(10); + + if ( (LA18_408=='$'||(LA18_408>='0' && LA18_408<='9')||(LA18_408>='A' && LA18_408<='Z')||LA18_408=='_'||(LA18_408>='a' && LA18_408<='z')||(LA18_408>='\u00C0' && LA18_408<='\u00D6')||(LA18_408>='\u00D8' && LA18_408<='\u00F6')||(LA18_408>='\u00F8' && LA18_408<='\u1FFF')||(LA18_408>='\u3040' && LA18_408<='\u318F')||(LA18_408>='\u3300' && LA18_408<='\u337F')||(LA18_408>='\u3400' && LA18_408<='\u3D2D')||(LA18_408>='\u4E00' && LA18_408<='\u9FFF')||(LA18_408>='\uF900' && LA18_408<='\uFAFF')) ) { + alt18=94; + } + else { + alt18=71;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else if ( (LA18_0=='n') ) { + switch ( input.LA(2) ) { + case 'u': + { + int LA18_113 = input.LA(3); + + if ( (LA18_113=='l') ) { + int LA18_171 = input.LA(4); + + if ( (LA18_171=='l') ) { + int LA18_229 = input.LA(5); + + if ( (LA18_229=='$'||(LA18_229>='0' && LA18_229<='9')||(LA18_229>='A' && LA18_229<='Z')||LA18_229=='_'||(LA18_229>='a' && LA18_229<='z')||(LA18_229>='\u00C0' && LA18_229<='\u00D6')||(LA18_229>='\u00D8' && LA18_229<='\u00F6')||(LA18_229>='\u00F8' && LA18_229<='\u1FFF')||(LA18_229>='\u3040' && LA18_229<='\u318F')||(LA18_229>='\u3300' && LA18_229<='\u337F')||(LA18_229>='\u3400' && LA18_229<='\u3D2D')||(LA18_229>='\u4E00' && LA18_229<='\u9FFF')||(LA18_229>='\uF900' && LA18_229<='\uFAFF')) ) { + alt18=94; + } + else { + alt18=75;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + break; + case 'e': + { + int LA18_114 = input.LA(3); + + if ( (LA18_114=='w') ) { + int LA18_172 = input.LA(4); + + if ( (LA18_172=='$'||(LA18_172>='0' && LA18_172<='9')||(LA18_172>='A' && LA18_172<='Z')||LA18_172=='_'||(LA18_172>='a' && LA18_172<='z')||(LA18_172>='\u00C0' && LA18_172<='\u00D6')||(LA18_172>='\u00D8' && LA18_172<='\u00F6')||(LA18_172>='\u00F8' && LA18_172<='\u1FFF')||(LA18_172>='\u3040' && LA18_172<='\u318F')||(LA18_172>='\u3300' && LA18_172<='\u337F')||(LA18_172>='\u3400' && LA18_172<='\u3D2D')||(LA18_172>='\u4E00' && LA18_172<='\u9FFF')||(LA18_172>='\uF900' && LA18_172<='\uFAFF')) ) { + alt18=94; + } + else { + alt18=72;} + } + else { + alt18=94;} + } + break; + case 'o': + { + int LA18_115 = input.LA(3); + + if ( (LA18_115=='t') ) { + int LA18_173 = input.LA(4); + + if ( (LA18_173=='E') ) { + int LA18_231 = input.LA(5); + + if ( (LA18_231=='x') ) { + int LA18_285 = input.LA(6); + + if ( (LA18_285=='i') ) { + int LA18_328 = input.LA(7); + + if ( (LA18_328=='s') ) { + int LA18_370 = input.LA(8); + + if ( (LA18_370=='t') ) { + int LA18_395 = input.LA(9); + + if ( (LA18_395=='s') ) { + int LA18_409 = input.LA(10); + + if ( (LA18_409=='$'||(LA18_409>='0' && LA18_409<='9')||(LA18_409>='A' && LA18_409<='Z')||LA18_409=='_'||(LA18_409>='a' && LA18_409<='z')||(LA18_409>='\u00C0' && LA18_409<='\u00D6')||(LA18_409>='\u00D8' && LA18_409<='\u00F6')||(LA18_409>='\u00F8' && LA18_409<='\u1FFF')||(LA18_409>='\u3040' && LA18_409<='\u318F')||(LA18_409>='\u3300' && LA18_409<='\u337F')||(LA18_409>='\u3400' && LA18_409<='\u3D2D')||(LA18_409>='\u4E00' && LA18_409<='\u9FFF')||(LA18_409>='\uF900' && LA18_409<='\uFAFF')) ) { + alt18=94; + } + else { + alt18=82;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + break; + default: + alt18=94;} + + } + else if ( (LA18_0=='f') ) { + switch ( input.LA(2) ) { + case 'a': + { + int LA18_116 = input.LA(3); + + if ( (LA18_116=='l') ) { + int LA18_174 = input.LA(4); + + if ( (LA18_174=='s') ) { + int LA18_232 = input.LA(5); + + if ( (LA18_232=='e') ) { + int LA18_286 = input.LA(6); + + if ( (LA18_286=='$'||(LA18_286>='0' && LA18_286<='9')||(LA18_286>='A' && LA18_286<='Z')||LA18_286=='_'||(LA18_286>='a' && LA18_286<='z')||(LA18_286>='\u00C0' && LA18_286<='\u00D6')||(LA18_286>='\u00D8' && LA18_286<='\u00F6')||(LA18_286>='\u00F8' && LA18_286<='\u1FFF')||(LA18_286>='\u3040' && LA18_286<='\u318F')||(LA18_286>='\u3300' && LA18_286<='\u337F')||(LA18_286>='\u3400' && LA18_286<='\u3D2D')||(LA18_286>='\u4E00' && LA18_286<='\u9FFF')||(LA18_286>='\uF900' && LA18_286<='\uFAFF')) ) { + alt18=94; + } + else { + alt18=73;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + break; + case 'o': + { + int LA18_117 = input.LA(3); + + if ( (LA18_117=='r') ) { + int LA18_175 = input.LA(4); + + if ( (LA18_175=='A') ) { + int LA18_233 = input.LA(5); + + if ( (LA18_233=='l') ) { + int LA18_287 = input.LA(6); + + if ( (LA18_287=='l') ) { + int LA18_330 = input.LA(7); + + if ( (LA18_330=='$'||(LA18_330>='0' && LA18_330<='9')||(LA18_330>='A' && LA18_330<='Z')||LA18_330=='_'||(LA18_330>='a' && LA18_330<='z')||(LA18_330>='\u00C0' && LA18_330<='\u00D6')||(LA18_330>='\u00D8' && LA18_330<='\u00F6')||(LA18_330>='\u00F8' && LA18_330<='\u1FFF')||(LA18_330>='\u3040' && LA18_330<='\u318F')||(LA18_330>='\u3300' && LA18_330<='\u337F')||(LA18_330>='\u3400' && LA18_330<='\u3D2D')||(LA18_330>='\u4E00' && LA18_330<='\u9FFF')||(LA18_330>='\uF900' && LA18_330<='\uFAFF')) ) { + alt18=94; + } + else { + alt18=84;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + break; + default: + alt18=94;} + + } + else if ( (LA18_0=='[') ) { + alt18=86; + } + else if ( (LA18_0==']') ) { + alt18=87; + } + else if ( ((LA18_0>='0' && LA18_0<='9')) ) { + alt18=88; + } + else if ( (LA18_0=='\"'||LA18_0=='\'') ) { + alt18=89; + } + else if ( (LA18_0=='$'||LA18_0=='B'||LA18_0=='H'||LA18_0=='K'||(LA18_0>='M' && LA18_0<='O')||LA18_0=='Q'||(LA18_0>='T' && LA18_0<='V')||(LA18_0>='X' && LA18_0<='Z')||(LA18_0>='^' && LA18_0<='_')||LA18_0=='b'||(LA18_0>='g' && LA18_0<='h')||(LA18_0>='j' && LA18_0<='k')||LA18_0=='m'||LA18_0=='o'||LA18_0=='q'||(LA18_0>='u' && LA18_0<='z')||(LA18_0>='\u00C0' && LA18_0<='\u00D6')||(LA18_0>='\u00D8' && LA18_0<='\u00F6')||(LA18_0>='\u00F8' && LA18_0<='\u1FFF')||(LA18_0>='\u3040' && LA18_0<='\u318F')||(LA18_0>='\u3300' && LA18_0<='\u337F')||(LA18_0>='\u3400' && LA18_0<='\u3D2D')||(LA18_0>='\u4E00' && LA18_0<='\u9FFF')||(LA18_0>='\uF900' && LA18_0<='\uFAFF')) ) { + alt18=94; + } + else if ( (LA18_0=='R') ) { + int LA18_49 = input.LA(2); + + if ( (LA18_49=='E') ) { + int LA18_118 = input.LA(3); + + if ( (LA18_118=='M') ) { + int LA18_176 = input.LA(4); + + if ( (LA18_176=='\u00BB') && (xpandMode)) { + alt18=99; + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else { + alt18=94;} + } + else if ( ((LA18_0>='\t' && LA18_0<='\n')||(LA18_0>='\f' && LA18_0<='\r')||LA18_0==' ') ) { + alt18=95; + } + else if ( (LA18_0=='\u00AB') ) { + int LA18_51 = input.LA(2); + + if ( (LA18_51=='R') && (!xpandMode)) { + alt18=98; + } + else { + alt18=101;} + } + else if ( (LA18_0=='\u00BB') ) { + int LA18_52 = input.LA(2); + + if ( ((LA18_52>='\u0000' && LA18_52<='\uFFFE')) && (xpandMode)) { + alt18=100; + } + else if ( (xpandMode) ) { + alt18=100; + } + else if ( (true) ) { + alt18=102; + } + else { + NoViableAltException nvae = + new NoViableAltException("1:1: Tokens : ( T25 | T26 | T27 | T28 | T29 | T30 | T31 | T32 | T33 | T34 | T35 | T36 | T37 | T38 | T39 | T40 | T41 | T42 | T43 | T44 | T45 | T46 | T47 | T48 | T49 | T50 | T51 | T52 | T53 | T54 | T55 | T56 | T57 | T58 | T59 | T60 | T61 | T62 | T63 | T64 | T65 | T66 | T67 | T68 | T69 | T70 | T71 | T72 | T73 | T74 | T75 | T76 | T77 | T78 | T79 | T80 | T81 | T82 | T83 | T84 | T85 | T86 | T87 | T88 | T89 | T90 | T91 | T92 | T93 | T94 | T95 | T96 | T97 | T98 | T99 | T100 | T101 | T102 | T103 | T104 | T105 | T106 | T107 | T108 | T109 | T110 | T111 | IntLiteral | StringLiteral | DEFINE | ENDDEFINE | AROUND | ENDAROUND | Identifier | WS | COMMENT | LINE_COMMENT | REM_COMMENT_OUT | REM_COMMENT | TEXT | LG | RG );", 18, 52, input); + + throw nvae; + } + } + else { + NoViableAltException nvae = + new NoViableAltException("1:1: Tokens : ( T25 | T26 | T27 | T28 | T29 | T30 | T31 | T32 | T33 | T34 | T35 | T36 | T37 | T38 | T39 | T40 | T41 | T42 | T43 | T44 | T45 | T46 | T47 | T48 | T49 | T50 | T51 | T52 | T53 | T54 | T55 | T56 | T57 | T58 | T59 | T60 | T61 | T62 | T63 | T64 | T65 | T66 | T67 | T68 | T69 | T70 | T71 | T72 | T73 | T74 | T75 | T76 | T77 | T78 | T79 | T80 | T81 | T82 | T83 | T84 | T85 | T86 | T87 | T88 | T89 | T90 | T91 | T92 | T93 | T94 | T95 | T96 | T97 | T98 | T99 | T100 | T101 | T102 | T103 | T104 | T105 | T106 | T107 | T108 | T109 | T110 | T111 | IntLiteral | StringLiteral | DEFINE | ENDDEFINE | AROUND | ENDAROUND | Identifier | WS | COMMENT | LINE_COMMENT | REM_COMMENT_OUT | REM_COMMENT | TEXT | LG | RG );", 18, 0, input); + + throw nvae; + } + switch (alt18) { + case 1 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:1:10: T25 + { + mT25(); + + } + break; + case 2 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:1:14: T26 + { + mT26(); + + } + break; + case 3 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:1:18: T27 + { + mT27(); + + } + break; + case 4 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:1:22: T28 + { + mT28(); + + } + break; + case 5 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:1:26: T29 + { + mT29(); + + } + break; + case 6 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:1:30: T30 + { + mT30(); + + } + break; + case 7 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:1:34: T31 + { + mT31(); + + } + break; + case 8 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:1:38: T32 + { + mT32(); + + } + break; + case 9 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:1:42: T33 + { + mT33(); + + } + break; + case 10 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:1:46: T34 + { + mT34(); + + } + break; + case 11 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:1:50: T35 + { + mT35(); + + } + break; + case 12 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:1:54: T36 + { + mT36(); + + } + break; + case 13 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:1:58: T37 + { + mT37(); + + } + break; + case 14 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:1:62: T38 + { + mT38(); + + } + break; + case 15 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:1:66: T39 + { + mT39(); + + } + break; + case 16 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:1:70: T40 + { + mT40(); + + } + break; + case 17 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:1:74: T41 + { + mT41(); + + } + break; + case 18 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:1:78: T42 + { + mT42(); + + } + break; + case 19 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:1:82: T43 + { + mT43(); + + } + break; + case 20 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:1:86: T44 + { + mT44(); + + } + break; + case 21 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:1:90: T45 + { + mT45(); + + } + break; + case 22 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:1:94: T46 + { + mT46(); + + } + break; + case 23 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:1:98: T47 + { + mT47(); + + } + break; + case 24 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:1:102: T48 + { + mT48(); + + } + break; + case 25 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:1:106: T49 + { + mT49(); + + } + break; + case 26 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:1:110: T50 + { + mT50(); + + } + break; + case 27 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:1:114: T51 + { + mT51(); + + } + break; + case 28 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:1:118: T52 + { + mT52(); + + } + break; + case 29 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:1:122: T53 + { + mT53(); + + } + break; + case 30 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:1:126: T54 + { + mT54(); + + } + break; + case 31 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:1:130: T55 + { + mT55(); + + } + break; + case 32 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:1:134: T56 + { + mT56(); + + } + break; + case 33 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:1:138: T57 + { + mT57(); + + } + break; + case 34 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:1:142: T58 + { + mT58(); + + } + break; + case 35 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:1:146: T59 + { + mT59(); + + } + break; + case 36 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:1:150: T60 + { + mT60(); + + } + break; + case 37 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:1:154: T61 + { + mT61(); + + } + break; + case 38 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:1:158: T62 + { + mT62(); + + } + break; + case 39 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:1:162: T63 + { + mT63(); + + } + break; + case 40 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:1:166: T64 + { + mT64(); + + } + break; + case 41 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:1:170: T65 + { + mT65(); + + } + break; + case 42 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:1:174: T66 + { + mT66(); + + } + break; + case 43 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:1:178: T67 + { + mT67(); + + } + break; + case 44 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:1:182: T68 + { + mT68(); + + } + break; + case 45 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:1:186: T69 + { + mT69(); + + } + break; + case 46 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:1:190: T70 + { + mT70(); + + } + break; + case 47 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:1:194: T71 + { + mT71(); + + } + break; + case 48 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:1:198: T72 + { + mT72(); + + } + break; + case 49 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:1:202: T73 + { + mT73(); + + } + break; + case 50 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:1:206: T74 + { + mT74(); + + } + break; + case 51 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:1:210: T75 + { + mT75(); + + } + break; + case 52 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:1:214: T76 + { + mT76(); + + } + break; + case 53 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:1:218: T77 + { + mT77(); + + } + break; + case 54 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:1:222: T78 + { + mT78(); + + } + break; + case 55 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:1:226: T79 + { + mT79(); + + } + break; + case 56 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:1:230: T80 + { + mT80(); + + } + break; + case 57 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:1:234: T81 + { + mT81(); + + } + break; + case 58 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:1:238: T82 + { + mT82(); + + } + break; + case 59 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:1:242: T83 + { + mT83(); + + } + break; + case 60 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:1:246: T84 + { + mT84(); + + } + break; + case 61 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:1:250: T85 + { + mT85(); + + } + break; + case 62 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:1:254: T86 + { + mT86(); + + } + break; + case 63 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:1:258: T87 + { + mT87(); + + } + break; + case 64 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:1:262: T88 + { + mT88(); + + } + break; + case 65 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:1:266: T89 + { + mT89(); + + } + break; + case 66 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:1:270: T90 + { + mT90(); + + } + break; + case 67 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:1:274: T91 + { + mT91(); + + } + break; + case 68 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:1:278: T92 + { + mT92(); + + } + break; + case 69 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:1:282: T93 + { + mT93(); + + } + break; + case 70 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:1:286: T94 + { + mT94(); + + } + break; + case 71 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:1:290: T95 + { + mT95(); + + } + break; + case 72 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:1:294: T96 + { + mT96(); + + } + break; + case 73 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:1:298: T97 + { + mT97(); + + } + break; + case 74 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:1:302: T98 + { + mT98(); + + } + break; + case 75 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:1:306: T99 + { + mT99(); + + } + break; + case 76 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:1:310: T100 + { + mT100(); + + } + break; + case 77 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:1:315: T101 + { + mT101(); + + } + break; + case 78 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:1:320: T102 + { + mT102(); + + } + break; + case 79 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:1:325: T103 + { + mT103(); + + } + break; + case 80 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:1:330: T104 + { + mT104(); + + } + break; + case 81 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:1:335: T105 + { + mT105(); + + } + break; + case 82 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:1:340: T106 + { + mT106(); + + } + break; + case 83 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:1:345: T107 + { + mT107(); + + } + break; + case 84 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:1:350: T108 + { + mT108(); + + } + break; + case 85 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:1:355: T109 + { + mT109(); + + } + break; + case 86 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:1:360: T110 + { + mT110(); + + } + break; + case 87 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:1:365: T111 + { + mT111(); + + } + break; + case 88 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:1:370: IntLiteral + { + mIntLiteral(); + + } + break; + case 89 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:1:381: StringLiteral + { + mStringLiteral(); + + } + break; + case 90 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:1:395: DEFINE + { + mDEFINE(); + + } + break; + case 91 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:1:402: ENDDEFINE + { + mENDDEFINE(); + + } + break; + case 92 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:1:412: AROUND + { + mAROUND(); + + } + break; + case 93 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:1:419: ENDAROUND + { + mENDAROUND(); + + } + break; + case 94 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:1:429: Identifier + { + mIdentifier(); + + } + break; + case 95 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:1:440: WS + { + mWS(); + + } + break; + case 96 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:1:443: COMMENT + { + mCOMMENT(); + + } + break; + case 97 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:1:451: LINE_COMMENT + { + mLINE_COMMENT(); + + } + break; + case 98 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:1:464: REM_COMMENT_OUT + { + mREM_COMMENT_OUT(); + + } + break; + case 99 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:1:480: REM_COMMENT + { + mREM_COMMENT(); + + } + break; + case 100 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:1:492: TEXT + { + mTEXT(); + + } + break; + case 101 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:1:497: LG + { + mLG(); + + } + break; + case 102 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:1:500: RG + { + mRG(); + + } + break; + + } + + } + + + + +} \ No newline at end of file diff --git a/plugins/org.eclipse.xpand3.parser/src-gen/org/eclipse/xpand3/parser/Xpand3NodeParser.java b/plugins/org.eclipse.xpand3.parser/src-gen/org/eclipse/xpand3/parser/Xpand3NodeParser.java new file mode 100644 index 00000000..0e134231 --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/src-gen/org/eclipse/xpand3/parser/Xpand3NodeParser.java @@ -0,0 +1,9159 @@ +// $ANTLR 3.0 ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g 2008-03-06 09:17:20 + +package org.eclipse.xpand3.parser; + +import org.eclipse.tmf.common.node.*; +import org.eclipse.xpand3.internal.parser.xpand3node.*; + + + +import org.antlr.runtime.*; +import java.util.Stack; +import java.util.List; +import java.util.ArrayList; +import java.util.Map; +import java.util.HashMap; +public class Xpand3NodeParser extends AbstractNodeParser { + public static final String[] tokenNames = new String[] { + "", "", "", "", "LG", "RG", "DEFINE", "ENDDEFINE", "AROUND", "ENDAROUND", "TEXT", "StringLiteral", "IntLiteral", "Identifier", "EscapeSequence", "UnicodeEscape", "OctalEscape", "HexDigit", "Letter", "JavaIDDigit", "WS", "COMMENT", "LINE_COMMENT", "REM_COMMENT_OUT", "REM_COMMENT", "'IMPORT'", "'EXTENSION'", "'import'", "';'", "'extension'", "'reexport'", "'('", "','", "'*'", "')'", "'FOR'", "'-'", "'ERROR'", "'EXPAND'", "'FOREACH'", "'SEPARATOR'", "'FILE'", "'ENDFILE'", "'AS'", "'ITERATOR'", "'ENDFOREACH'", "'IF'", "'ENDIF'", "'ELSEIF'", "'ELSE'", "'LET'", "'ENDLET'", "'PROTECT'", "'CSTART'", "'CEND'", "'ID'", "'DISABLE'", "'ENDPROTECT'", "'context'", "'if'", "'WARNING'", "':'", "'around'", "'::'", "'private'", "'cached'", "'create'", "'JAVA'", "'.'", "'Collection'", "'List'", "'Set'", "'let'", "'='", "'->'", "'?'", "'then'", "'else'", "'switch'", "'{'", "'default'", "'}'", "'case'", "'||'", "'&&'", "'implies'", "'=='", "'!='", "'>='", "'<='", "'>'", "'<'", "'+'", "'/'", "'!'", "'GLOBALVAR'", "'new'", "'false'", "'true'", "'null'", "'typeSelect'", "'collect'", "'select'", "'selectFirst'", "'reject'", "'exists'", "'notExists'", "'sortBy'", "'forAll'", "'|'", "'['", "']'" + }; + public static final int IntLiteral=12; + public static final int Identifier=13; + public static final int HexDigit=17; + public static final int WS=20; + public static final int ENDDEFINE=7; + public static final int REM_COMMENT=24; + public static final int RG=5; + public static final int COMMENT=21; + public static final int StringLiteral=11; + public static final int LINE_COMMENT=22; + public static final int JavaIDDigit=19; + public static final int Letter=18; + public static final int DEFINE=6; + public static final int UnicodeEscape=15; + public static final int EscapeSequence=14; + public static final int EOF=-1; + public static final int TEXT=10; + public static final int ENDAROUND=9; + public static final int OctalEscape=16; + public static final int REM_COMMENT_OUT=23; + public static final int AROUND=8; + public static final int LG=4; + + public Xpand3NodeParser(TokenStream input) { + super(input); + ruleMemo = new HashMap[60+1]; + } + + + public String[] getTokenNames() { return tokenNames; } + public String getGrammarFileName() { return "./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g"; } + + + protected Xpand3nodeFactory factory = Xpand3nodeFactory.eINSTANCE; + + + + // $ANTLR start file + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:29:1: file returns [CompositeNode cn] : ( ( (imp= nsImport ) ) )* ( ( (decl= abstractDeclaration ) ) )* ( EOF ) ; + public CompositeNode file() throws RecognitionException { + CompositeNode cn = null; + + CompositeNode imp = null; + + CompositeNode decl = null; + + + cn = factory.createFileNode(); cn.setRule("file"); + try { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:32:2: ( ( ( (imp= nsImport ) ) )* ( ( (decl= abstractDeclaration ) ) )* ( EOF ) ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:32:2: ( ( (imp= nsImport ) ) )* ( ( (decl= abstractDeclaration ) ) )* ( EOF ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:32:2: ( ( (imp= nsImport ) ) )* + loop1: + do { + int alt1=2; + int LA1_0 = input.LA(1); + + if ( (LA1_0==LG) ) { + int LA1_2 = input.LA(2); + + if ( ((LA1_2>=25 && LA1_2<=26)) ) { + alt1=1; + } + + + } + else if ( (LA1_0==27||LA1_0==29) ) { + alt1=1; + } + + + switch (alt1) { + case 1 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:32:3: ( (imp= nsImport ) ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:32:3: ( (imp= nsImport ) ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:32:4: (imp= nsImport ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:32:4: (imp= nsImport ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:32:5: imp= nsImport + { + pushFollow(FOLLOW_nsImport_in_file80); + imp=nsImport(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, imp); ((FileNode) cn).getImp().add(imp); + } + + } + + + } + + + } + break; + + default : + break loop1; + } + } while (true); + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:32:85: ( ( (decl= abstractDeclaration ) ) )* + loop2: + do { + int alt2=2; + int LA2_0 = input.LA(1); + + if ( (LA2_0==LG||LA2_0==Identifier||LA2_0==58||LA2_0==62||(LA2_0>=64 && LA2_0<=66)||(LA2_0>=69 && LA2_0<=71)) ) { + alt2=1; + } + + + switch (alt2) { + case 1 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:32:86: ( (decl= abstractDeclaration ) ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:32:86: ( (decl= abstractDeclaration ) ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:32:87: (decl= abstractDeclaration ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:32:87: (decl= abstractDeclaration ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:32:88: decl= abstractDeclaration + { + pushFollow(FOLLOW_abstractDeclaration_in_file93); + decl=abstractDeclaration(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, decl); ((FileNode) cn).getDecl().add(decl); + } + + } + + + } + + + } + break; + + default : + break loop2; + } + } while (true); + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:32:183: ( EOF ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:32:184: EOF + { + match(input,EOF,FOLLOW_EOF_in_file102); if (failed) return cn; + + } + + + } + + if ( backtracking==0 ) { + cn = normalize(cn); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return cn; + } + // $ANTLR end file + + + // $ANTLR start nsImport + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:34:1: nsImport returns [CompositeNode cn] : ( ( LG ) ( 'IMPORT' ) (ns= simpleType ) ( RG ) | ( LG ) ( 'EXTENSION' ) (ns= simpleType ) ( RG ) | ( 'import' ) (unnamed0= type ) ( ';' ) | ( 'extension' ) (unnamed1= type ) ( ( ( 'reexport' ) ) )? ( ';' ) ); + public CompositeNode nsImport() throws RecognitionException { + CompositeNode cn = null; + + CompositeNode ns = null; + + CompositeNode unnamed0 = null; + + CompositeNode unnamed1 = null; + + + cn = factory.createNsImportNode(); cn.setRule("nsImport"); + try { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:36:2: ( ( LG ) ( 'IMPORT' ) (ns= simpleType ) ( RG ) | ( LG ) ( 'EXTENSION' ) (ns= simpleType ) ( RG ) | ( 'import' ) (unnamed0= type ) ( ';' ) | ( 'extension' ) (unnamed1= type ) ( ( ( 'reexport' ) ) )? ( ';' ) ) + int alt4=4; + switch ( input.LA(1) ) { + case LG: + { + int LA4_1 = input.LA(2); + + if ( (LA4_1==26) ) { + alt4=2; + } + else if ( (LA4_1==25) ) { + alt4=1; + } + else { + if (backtracking>0) {failed=true; return cn;} + NoViableAltException nvae = + new NoViableAltException("34:1: nsImport returns [CompositeNode cn] : ( ( LG ) ( 'IMPORT' ) (ns= simpleType ) ( RG ) | ( LG ) ( 'EXTENSION' ) (ns= simpleType ) ( RG ) | ( 'import' ) (unnamed0= type ) ( ';' ) | ( 'extension' ) (unnamed1= type ) ( ( ( 'reexport' ) ) )? ( ';' ) );", 4, 1, input); + + throw nvae; + } + } + break; + case 27: + { + alt4=3; + } + break; + case 29: + { + alt4=4; + } + break; + default: + if (backtracking>0) {failed=true; return cn;} + NoViableAltException nvae = + new NoViableAltException("34:1: nsImport returns [CompositeNode cn] : ( ( LG ) ( 'IMPORT' ) (ns= simpleType ) ( RG ) | ( LG ) ( 'EXTENSION' ) (ns= simpleType ) ( RG ) | ( 'import' ) (unnamed0= type ) ( ';' ) | ( 'extension' ) (unnamed1= type ) ( ( ( 'reexport' ) ) )? ( ';' ) );", 4, 0, input); + + throw nvae; + } + + switch (alt4) { + case 1 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:36:2: ( LG ) ( 'IMPORT' ) (ns= simpleType ) ( RG ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:36:2: ( LG ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:36:3: LG + { + match(input,LG,FOLLOW_LG_in_nsImport123); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:36:43: ( 'IMPORT' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:36:44: 'IMPORT' + { + match(input,25,FOLLOW_25_in_nsImport129); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:36:90: (ns= simpleType ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:36:91: ns= simpleType + { + pushFollow(FOLLOW_simpleType_in_nsImport137); + ns=simpleType(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, ns); ((NsImportNode) cn).setNs(ns); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:36:164: ( RG ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:36:165: RG + { + match(input,RG,FOLLOW_RG_in_nsImport143); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + + } + break; + case 2 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:37:4: ( LG ) ( 'EXTENSION' ) (ns= simpleType ) ( RG ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:37:4: ( LG ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:37:5: LG + { + match(input,LG,FOLLOW_LG_in_nsImport152); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:37:45: ( 'EXTENSION' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:37:46: 'EXTENSION' + { + match(input,26,FOLLOW_26_in_nsImport158); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:37:95: (ns= simpleType ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:37:96: ns= simpleType + { + pushFollow(FOLLOW_simpleType_in_nsImport166); + ns=simpleType(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, ns); ((NsImportNode) cn).setNs(ns); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:37:169: ( RG ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:37:170: RG + { + match(input,RG,FOLLOW_RG_in_nsImport172); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + + } + break; + case 3 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:38:4: ( 'import' ) (unnamed0= type ) ( ';' ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:38:4: ( 'import' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:38:5: 'import' + { + match(input,27,FOLLOW_27_in_nsImport181); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:38:51: (unnamed0= type ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:38:52: unnamed0= type + { + pushFollow(FOLLOW_type_in_nsImport189); + unnamed0=type(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed0); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:38:100: ( ';' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:38:101: ';' + { + match(input,28,FOLLOW_28_in_nsImport195); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + + } + break; + case 4 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:39:4: ( 'extension' ) (unnamed1= type ) ( ( ( 'reexport' ) ) )? ( ';' ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:39:4: ( 'extension' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:39:5: 'extension' + { + match(input,29,FOLLOW_29_in_nsImport204); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:39:54: (unnamed1= type ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:39:55: unnamed1= type + { + pushFollow(FOLLOW_type_in_nsImport212); + unnamed1=type(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed1); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:39:103: ( ( ( 'reexport' ) ) )? + int alt3=2; + int LA3_0 = input.LA(1); + + if ( (LA3_0==30) ) { + alt3=1; + } + switch (alt3) { + case 1 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:39:104: ( ( 'reexport' ) ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:39:104: ( ( 'reexport' ) ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:39:105: ( 'reexport' ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:39:105: ( 'reexport' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:39:106: 'reexport' + { + match(input,30,FOLLOW_30_in_nsImport220); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + + } + + + } + break; + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:39:157: ( ';' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:39:158: ';' + { + match(input,28,FOLLOW_28_in_nsImport229); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return cn; + } + // $ANTLR end nsImport + + + // $ANTLR start abstractDeclaration + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:41:1: abstractDeclaration returns [CompositeNode cn] : ( ( check ) | ( around ) | ( extension ) | ( definition ) | ( definitionAround ) ); + public CompositeNode abstractDeclaration() throws RecognitionException { + CompositeNode cn = null; + + CompositeNode check1 = null; + + CompositeNode around2 = null; + + CompositeNode extension3 = null; + + CompositeNode definition4 = null; + + CompositeNode definitionAround5 = null; + + + try { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:42:2: ( ( check ) | ( around ) | ( extension ) | ( definition ) | ( definitionAround ) ) + int alt5=5; + switch ( input.LA(1) ) { + case 58: + { + alt5=1; + } + break; + case 62: + { + alt5=2; + } + break; + case Identifier: + case 64: + case 65: + case 66: + case 69: + case 70: + case 71: + { + alt5=3; + } + break; + case LG: + { + int LA5_4 = input.LA(2); + + if ( (LA5_4==AROUND) ) { + alt5=5; + } + else if ( (LA5_4==DEFINE) ) { + alt5=4; + } + else { + if (backtracking>0) {failed=true; return cn;} + NoViableAltException nvae = + new NoViableAltException("41:1: abstractDeclaration returns [CompositeNode cn] : ( ( check ) | ( around ) | ( extension ) | ( definition ) | ( definitionAround ) );", 5, 4, input); + + throw nvae; + } + } + break; + default: + if (backtracking>0) {failed=true; return cn;} + NoViableAltException nvae = + new NoViableAltException("41:1: abstractDeclaration returns [CompositeNode cn] : ( ( check ) | ( around ) | ( extension ) | ( definition ) | ( definitionAround ) );", 5, 0, input); + + throw nvae; + } + + switch (alt5) { + case 1 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:42:2: ( check ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:42:2: ( check ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:42:3: check + { + pushFollow(FOLLOW_check_in_abstractDeclaration247); + check1=check(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + cn = check1; + } + + } + + + } + break; + case 2 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:43:4: ( around ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:43:4: ( around ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:43:5: around + { + pushFollow(FOLLOW_around_in_abstractDeclaration256); + around2=around(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + cn = around2; + } + + } + + + } + break; + case 3 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:44:4: ( extension ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:44:4: ( extension ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:44:5: extension + { + pushFollow(FOLLOW_extension_in_abstractDeclaration265); + extension3=extension(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + cn = extension3; + } + + } + + + } + break; + case 4 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:45:4: ( definition ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:45:4: ( definition ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:45:5: definition + { + pushFollow(FOLLOW_definition_in_abstractDeclaration274); + definition4=definition(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + cn = definition4; + } + + } + + + } + break; + case 5 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:46:4: ( definitionAround ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:46:4: ( definitionAround ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:46:5: definitionAround + { + pushFollow(FOLLOW_definitionAround_in_abstractDeclaration283); + definitionAround5=definitionAround(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + cn = definitionAround5; + } + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return cn; + } + // $ANTLR end abstractDeclaration + + + // $ANTLR start definition + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:48:1: definition returns [CompositeNode cn] : ( LG ) ( DEFINE ) (name= identifier ) ( ( ( '(' ) ( ( (unnamed2= declaredParameterList ) ( ( ( ',' )? ( '*' ) ) )? | ( '*' ) ) )? ( ')' ) ) )? ( 'FOR' ) (unnamed3= type ) (unnamed4= sequence ) ( ENDDEFINE ) ( RG ) ; + public CompositeNode definition() throws RecognitionException { + CompositeNode cn = null; + + CompositeNode name = null; + + CompositeNode unnamed2 = null; + + CompositeNode unnamed3 = null; + + CompositeNode unnamed4 = null; + + + cn = factory.createDefinitionNode(); cn.setRule("definition"); + try { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:50:2: ( ( LG ) ( DEFINE ) (name= identifier ) ( ( ( '(' ) ( ( (unnamed2= declaredParameterList ) ( ( ( ',' )? ( '*' ) ) )? | ( '*' ) ) )? ( ')' ) ) )? ( 'FOR' ) (unnamed3= type ) (unnamed4= sequence ) ( ENDDEFINE ) ( RG ) ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:50:2: ( LG ) ( DEFINE ) (name= identifier ) ( ( ( '(' ) ( ( (unnamed2= declaredParameterList ) ( ( ( ',' )? ( '*' ) ) )? | ( '*' ) ) )? ( ')' ) ) )? ( 'FOR' ) (unnamed3= type ) (unnamed4= sequence ) ( ENDDEFINE ) ( RG ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:50:2: ( LG ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:50:3: LG + { + match(input,LG,FOLLOW_LG_in_definition306); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:50:43: ( DEFINE ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:50:44: DEFINE + { + match(input,DEFINE,FOLLOW_DEFINE_in_definition312); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:50:88: (name= identifier ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:50:89: name= identifier + { + pushFollow(FOLLOW_identifier_in_definition320); + name=identifier(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, name); ((DefinitionNode) cn).setName(name); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:50:172: ( ( ( '(' ) ( ( (unnamed2= declaredParameterList ) ( ( ( ',' )? ( '*' ) ) )? | ( '*' ) ) )? ( ')' ) ) )? + int alt10=2; + int LA10_0 = input.LA(1); + + if ( (LA10_0==31) ) { + alt10=1; + } + switch (alt10) { + case 1 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:50:173: ( ( '(' ) ( ( (unnamed2= declaredParameterList ) ( ( ( ',' )? ( '*' ) ) )? | ( '*' ) ) )? ( ')' ) ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:50:173: ( ( '(' ) ( ( (unnamed2= declaredParameterList ) ( ( ( ',' )? ( '*' ) ) )? | ( '*' ) ) )? ( ')' ) ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:50:174: ( '(' ) ( ( (unnamed2= declaredParameterList ) ( ( ( ',' )? ( '*' ) ) )? | ( '*' ) ) )? ( ')' ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:50:174: ( '(' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:50:175: '(' + { + match(input,31,FOLLOW_31_in_definition328); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:50:216: ( ( (unnamed2= declaredParameterList ) ( ( ( ',' )? ( '*' ) ) )? | ( '*' ) ) )? + int alt9=2; + int LA9_0 = input.LA(1); + + if ( (LA9_0==Identifier||LA9_0==33||(LA9_0>=69 && LA9_0<=71)) ) { + alt9=1; + } + switch (alt9) { + case 1 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:50:217: ( (unnamed2= declaredParameterList ) ( ( ( ',' )? ( '*' ) ) )? | ( '*' ) ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:50:217: ( (unnamed2= declaredParameterList ) ( ( ( ',' )? ( '*' ) ) )? | ( '*' ) ) + int alt8=2; + int LA8_0 = input.LA(1); + + if ( (LA8_0==Identifier||(LA8_0>=69 && LA8_0<=71)) ) { + alt8=1; + } + else if ( (LA8_0==33) ) { + alt8=2; + } + else { + if (backtracking>0) {failed=true; return cn;} + NoViableAltException nvae = + new NoViableAltException("50:217: ( (unnamed2= declaredParameterList ) ( ( ( ',' )? ( '*' ) ) )? | ( '*' ) )", 8, 0, input); + + throw nvae; + } + switch (alt8) { + case 1 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:50:218: (unnamed2= declaredParameterList ) ( ( ( ',' )? ( '*' ) ) )? + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:50:218: (unnamed2= declaredParameterList ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:50:219: unnamed2= declaredParameterList + { + pushFollow(FOLLOW_declaredParameterList_in_definition338); + unnamed2=declaredParameterList(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed2); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:50:284: ( ( ( ',' )? ( '*' ) ) )? + int alt7=2; + int LA7_0 = input.LA(1); + + if ( ((LA7_0>=32 && LA7_0<=33)) ) { + alt7=1; + } + switch (alt7) { + case 1 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:50:285: ( ( ',' )? ( '*' ) ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:50:285: ( ( ',' )? ( '*' ) ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:50:286: ( ',' )? ( '*' ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:50:286: ( ',' )? + int alt6=2; + int LA6_0 = input.LA(1); + + if ( (LA6_0==32) ) { + alt6=1; + } + switch (alt6) { + case 1 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:50:287: ',' + { + match(input,32,FOLLOW_32_in_definition346); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + break; + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:50:329: ( '*' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:50:330: '*' + { + match(input,33,FOLLOW_33_in_definition353); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + + } + + + } + break; + + } + + + } + break; + case 2 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:51:4: ( '*' ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:51:4: ( '*' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:51:5: '*' + { + match(input,33,FOLLOW_33_in_definition365); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + + } + break; + + } + + + } + break; + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:51:49: ( ')' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:51:50: ')' + { + match(input,34,FOLLOW_34_in_definition374); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + + } + + + } + break; + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:51:94: ( 'FOR' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:51:95: 'FOR' + { + match(input,35,FOLLOW_35_in_definition383); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:51:138: (unnamed3= type ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:51:139: unnamed3= type + { + pushFollow(FOLLOW_type_in_definition391); + unnamed3=type(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed3); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:51:187: (unnamed4= sequence ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:51:188: unnamed4= sequence + { + pushFollow(FOLLOW_sequence_in_definition399); + unnamed4=sequence(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed4); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:51:240: ( ENDDEFINE ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:51:241: ENDDEFINE + { + match(input,ENDDEFINE,FOLLOW_ENDDEFINE_in_definition405); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:51:288: ( RG ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:51:289: RG + { + match(input,RG,FOLLOW_RG_in_definition411); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return cn; + } + // $ANTLR end definition + + + // $ANTLR start definitionAround + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:53:1: definitionAround returns [CompositeNode cn] : ( LG ) ( AROUND ) (unnamed5= pointcut ) ( ( ( '(' ) ( ( (unnamed6= declaredParameterList ) ( ( ( ',' )? ( '*' ) ) )? | ( '*' ) ) )? ( ')' ) ) )? ( 'FOR' ) (unnamed7= type ) (unnamed8= sequence ) ( ENDAROUND ) ( RG ) ; + public CompositeNode definitionAround() throws RecognitionException { + CompositeNode cn = null; + + CompositeNode unnamed5 = null; + + CompositeNode unnamed6 = null; + + CompositeNode unnamed7 = null; + + CompositeNode unnamed8 = null; + + + cn = factory.createDefinitionAroundNode(); cn.setRule("definitionAround"); + try { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:55:2: ( ( LG ) ( AROUND ) (unnamed5= pointcut ) ( ( ( '(' ) ( ( (unnamed6= declaredParameterList ) ( ( ( ',' )? ( '*' ) ) )? | ( '*' ) ) )? ( ')' ) ) )? ( 'FOR' ) (unnamed7= type ) (unnamed8= sequence ) ( ENDAROUND ) ( RG ) ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:55:2: ( LG ) ( AROUND ) (unnamed5= pointcut ) ( ( ( '(' ) ( ( (unnamed6= declaredParameterList ) ( ( ( ',' )? ( '*' ) ) )? | ( '*' ) ) )? ( ')' ) ) )? ( 'FOR' ) (unnamed7= type ) (unnamed8= sequence ) ( ENDAROUND ) ( RG ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:55:2: ( LG ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:55:3: LG + { + match(input,LG,FOLLOW_LG_in_definitionAround434); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:55:43: ( AROUND ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:55:44: AROUND + { + match(input,AROUND,FOLLOW_AROUND_in_definitionAround440); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:55:88: (unnamed5= pointcut ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:55:89: unnamed5= pointcut + { + pushFollow(FOLLOW_pointcut_in_definitionAround448); + unnamed5=pointcut(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed5); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:55:141: ( ( ( '(' ) ( ( (unnamed6= declaredParameterList ) ( ( ( ',' )? ( '*' ) ) )? | ( '*' ) ) )? ( ')' ) ) )? + int alt15=2; + int LA15_0 = input.LA(1); + + if ( (LA15_0==31) ) { + alt15=1; + } + switch (alt15) { + case 1 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:55:142: ( ( '(' ) ( ( (unnamed6= declaredParameterList ) ( ( ( ',' )? ( '*' ) ) )? | ( '*' ) ) )? ( ')' ) ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:55:142: ( ( '(' ) ( ( (unnamed6= declaredParameterList ) ( ( ( ',' )? ( '*' ) ) )? | ( '*' ) ) )? ( ')' ) ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:55:143: ( '(' ) ( ( (unnamed6= declaredParameterList ) ( ( ( ',' )? ( '*' ) ) )? | ( '*' ) ) )? ( ')' ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:55:143: ( '(' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:55:144: '(' + { + match(input,31,FOLLOW_31_in_definitionAround456); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:55:185: ( ( (unnamed6= declaredParameterList ) ( ( ( ',' )? ( '*' ) ) )? | ( '*' ) ) )? + int alt14=2; + int LA14_0 = input.LA(1); + + if ( (LA14_0==Identifier||LA14_0==33||(LA14_0>=69 && LA14_0<=71)) ) { + alt14=1; + } + switch (alt14) { + case 1 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:55:186: ( (unnamed6= declaredParameterList ) ( ( ( ',' )? ( '*' ) ) )? | ( '*' ) ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:55:186: ( (unnamed6= declaredParameterList ) ( ( ( ',' )? ( '*' ) ) )? | ( '*' ) ) + int alt13=2; + int LA13_0 = input.LA(1); + + if ( (LA13_0==Identifier||(LA13_0>=69 && LA13_0<=71)) ) { + alt13=1; + } + else if ( (LA13_0==33) ) { + alt13=2; + } + else { + if (backtracking>0) {failed=true; return cn;} + NoViableAltException nvae = + new NoViableAltException("55:186: ( (unnamed6= declaredParameterList ) ( ( ( ',' )? ( '*' ) ) )? | ( '*' ) )", 13, 0, input); + + throw nvae; + } + switch (alt13) { + case 1 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:55:187: (unnamed6= declaredParameterList ) ( ( ( ',' )? ( '*' ) ) )? + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:55:187: (unnamed6= declaredParameterList ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:55:188: unnamed6= declaredParameterList + { + pushFollow(FOLLOW_declaredParameterList_in_definitionAround466); + unnamed6=declaredParameterList(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed6); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:55:253: ( ( ( ',' )? ( '*' ) ) )? + int alt12=2; + int LA12_0 = input.LA(1); + + if ( ((LA12_0>=32 && LA12_0<=33)) ) { + alt12=1; + } + switch (alt12) { + case 1 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:55:254: ( ( ',' )? ( '*' ) ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:55:254: ( ( ',' )? ( '*' ) ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:55:255: ( ',' )? ( '*' ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:55:255: ( ',' )? + int alt11=2; + int LA11_0 = input.LA(1); + + if ( (LA11_0==32) ) { + alt11=1; + } + switch (alt11) { + case 1 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:55:256: ',' + { + match(input,32,FOLLOW_32_in_definitionAround474); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + break; + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:55:298: ( '*' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:55:299: '*' + { + match(input,33,FOLLOW_33_in_definitionAround481); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + + } + + + } + break; + + } + + + } + break; + case 2 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:56:4: ( '*' ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:56:4: ( '*' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:56:5: '*' + { + match(input,33,FOLLOW_33_in_definitionAround493); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + + } + break; + + } + + + } + break; + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:56:49: ( ')' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:56:50: ')' + { + match(input,34,FOLLOW_34_in_definitionAround502); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + + } + + + } + break; + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:56:94: ( 'FOR' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:56:95: 'FOR' + { + match(input,35,FOLLOW_35_in_definitionAround511); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:56:138: (unnamed7= type ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:56:139: unnamed7= type + { + pushFollow(FOLLOW_type_in_definitionAround519); + unnamed7=type(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed7); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:56:187: (unnamed8= sequence ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:56:188: unnamed8= sequence + { + pushFollow(FOLLOW_sequence_in_definitionAround527); + unnamed8=sequence(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed8); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:56:240: ( ENDAROUND ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:56:241: ENDAROUND + { + match(input,ENDAROUND,FOLLOW_ENDAROUND_in_definitionAround533); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:56:288: ( RG ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:56:289: RG + { + match(input,RG,FOLLOW_RG_in_definitionAround539); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return cn; + } + // $ANTLR end definitionAround + + + // $ANTLR start sequence + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:58:1: sequence returns [CompositeNode cn] : (unnamed9= textSequence ) ( ( (unnamed10= statement ) (unnamed11= textSequence ) ) )* ; + public CompositeNode sequence() throws RecognitionException { + CompositeNode cn = null; + + CompositeNode unnamed9 = null; + + CompositeNode unnamed10 = null; + + CompositeNode unnamed11 = null; + + + cn = factory.createSequenceNode(); cn.setRule("sequence"); + try { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:60:2: ( (unnamed9= textSequence ) ( ( (unnamed10= statement ) (unnamed11= textSequence ) ) )* ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:60:2: (unnamed9= textSequence ) ( ( (unnamed10= statement ) (unnamed11= textSequence ) ) )* + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:60:2: (unnamed9= textSequence ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:60:3: unnamed9= textSequence + { + pushFollow(FOLLOW_textSequence_in_sequence564); + unnamed9=textSequence(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed9); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:60:59: ( ( (unnamed10= statement ) (unnamed11= textSequence ) ) )* + loop16: + do { + int alt16=2; + int LA16_0 = input.LA(1); + + if ( ((LA16_0>=StringLiteral && LA16_0<=Identifier)||LA16_0==31||(LA16_0>=36 && LA16_0<=39)||LA16_0==41||LA16_0==46||LA16_0==50||LA16_0==52||LA16_0==59||(LA16_0>=69 && LA16_0<=72)||(LA16_0>=78 && LA16_0<=79)||(LA16_0>=94 && LA16_0<=108)) ) { + alt16=1; + } + + + switch (alt16) { + case 1 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:60:60: ( (unnamed10= statement ) (unnamed11= textSequence ) ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:60:60: ( (unnamed10= statement ) (unnamed11= textSequence ) ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:60:61: (unnamed10= statement ) (unnamed11= textSequence ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:60:61: (unnamed10= statement ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:60:62: unnamed10= statement + { + pushFollow(FOLLOW_statement_in_sequence574); + unnamed10=statement(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed10); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:60:117: (unnamed11= textSequence ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:60:118: unnamed11= textSequence + { + pushFollow(FOLLOW_textSequence_in_sequence582); + unnamed11=textSequence(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed11); + } + + } + + + } + + + } + break; + + default : + break loop16; + } + } while (true); + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return cn; + } + // $ANTLR end sequence + + + // $ANTLR start statement + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:62:1: statement returns [CompositeNode cn] : ( ( simpleStatement ) | ( fileStatement ) | ( foreachStatement ) | ( ifStatement ) | ( letStatement ) | ( protectStatement ) ); + public CompositeNode statement() throws RecognitionException { + CompositeNode cn = null; + + CompositeNode simpleStatement6 = null; + + CompositeNode fileStatement7 = null; + + CompositeNode foreachStatement8 = null; + + CompositeNode ifStatement9 = null; + + CompositeNode letStatement10 = null; + + CompositeNode protectStatement11 = null; + + + try { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:63:2: ( ( simpleStatement ) | ( fileStatement ) | ( foreachStatement ) | ( ifStatement ) | ( letStatement ) | ( protectStatement ) ) + int alt17=6; + switch ( input.LA(1) ) { + case StringLiteral: + case IntLiteral: + case Identifier: + case 31: + case 36: + case 37: + case 38: + case 59: + case 69: + case 70: + case 71: + case 72: + case 78: + case 79: + case 94: + case 95: + case 96: + case 97: + case 98: + case 99: + case 100: + case 101: + case 102: + case 103: + case 104: + case 105: + case 106: + case 107: + case 108: + { + alt17=1; + } + break; + case 41: + { + alt17=2; + } + break; + case 39: + { + alt17=3; + } + break; + case 46: + { + alt17=4; + } + break; + case 50: + { + alt17=5; + } + break; + case 52: + { + alt17=6; + } + break; + default: + if (backtracking>0) {failed=true; return cn;} + NoViableAltException nvae = + new NoViableAltException("62:1: statement returns [CompositeNode cn] : ( ( simpleStatement ) | ( fileStatement ) | ( foreachStatement ) | ( ifStatement ) | ( letStatement ) | ( protectStatement ) );", 17, 0, input); + + throw nvae; + } + + switch (alt17) { + case 1 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:63:2: ( simpleStatement ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:63:2: ( simpleStatement ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:63:3: simpleStatement + { + pushFollow(FOLLOW_simpleStatement_in_statement603); + simpleStatement6=simpleStatement(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + cn = simpleStatement6; + } + + } + + + } + break; + case 2 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:64:4: ( fileStatement ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:64:4: ( fileStatement ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:64:5: fileStatement + { + pushFollow(FOLLOW_fileStatement_in_statement612); + fileStatement7=fileStatement(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + cn = fileStatement7; + } + + } + + + } + break; + case 3 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:65:4: ( foreachStatement ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:65:4: ( foreachStatement ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:65:5: foreachStatement + { + pushFollow(FOLLOW_foreachStatement_in_statement621); + foreachStatement8=foreachStatement(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + cn = foreachStatement8; + } + + } + + + } + break; + case 4 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:66:4: ( ifStatement ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:66:4: ( ifStatement ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:66:5: ifStatement + { + pushFollow(FOLLOW_ifStatement_in_statement630); + ifStatement9=ifStatement(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + cn = ifStatement9; + } + + } + + + } + break; + case 5 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:67:4: ( letStatement ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:67:4: ( letStatement ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:67:5: letStatement + { + pushFollow(FOLLOW_letStatement_in_statement639); + letStatement10=letStatement(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + cn = letStatement10; + } + + } + + + } + break; + case 6 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:68:4: ( protectStatement ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:68:4: ( protectStatement ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:68:5: protectStatement + { + pushFollow(FOLLOW_protectStatement_in_statement648); + protectStatement11=protectStatement(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + cn = protectStatement11; + } + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return cn; + } + // $ANTLR end statement + + + // $ANTLR start textSequence + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:70:1: textSequence returns [CompositeNode cn] : (unnamed12= text ) ( ( (unnamed13= text ) ) )* ; + public CompositeNode textSequence() throws RecognitionException { + CompositeNode cn = null; + + CompositeNode unnamed12 = null; + + CompositeNode unnamed13 = null; + + + cn = factory.createTextSequenceNode(); cn.setRule("textSequence"); + try { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:73:2: ( (unnamed12= text ) ( ( (unnamed13= text ) ) )* ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:73:2: (unnamed12= text ) ( ( (unnamed13= text ) ) )* + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:73:2: (unnamed12= text ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:73:3: unnamed12= text + { + pushFollow(FOLLOW_text_in_textSequence678); + unnamed12=text(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed12); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:73:53: ( ( (unnamed13= text ) ) )* + loop18: + do { + int alt18=2; + int LA18_0 = input.LA(1); + + if ( (LA18_0==36) ) { + int LA18_2 = input.LA(2); + + if ( (LA18_2==TEXT) ) { + alt18=1; + } + + + } + else if ( (LA18_0==TEXT) ) { + alt18=1; + } + + + switch (alt18) { + case 1 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:73:54: ( (unnamed13= text ) ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:73:54: ( (unnamed13= text ) ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:73:55: (unnamed13= text ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:73:55: (unnamed13= text ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:73:56: unnamed13= text + { + pushFollow(FOLLOW_text_in_textSequence688); + unnamed13=text(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed13); + } + + } + + + } + + + } + break; + + default : + break loop18; + } + } while (true); + + + } + + if ( backtracking==0 ) { + cn = normalize(cn); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return cn; + } + // $ANTLR end textSequence + + + // $ANTLR start text + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:75:1: text returns [CompositeNode cn] : ( '-' )? ( TEXT ) ; + public CompositeNode text() throws RecognitionException { + CompositeNode cn = null; + + cn = factory.createTextNode(); cn.setRule("text"); + try { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:77:2: ( ( '-' )? ( TEXT ) ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:77:2: ( '-' )? ( TEXT ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:77:2: ( '-' )? + int alt19=2; + int LA19_0 = input.LA(1); + + if ( (LA19_0==36) ) { + alt19=1; + } + switch (alt19) { + case 1 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:77:3: '-' + { + match(input,36,FOLLOW_36_in_text714); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + break; + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:77:45: ( TEXT ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:77:46: TEXT + { + match(input,TEXT,FOLLOW_TEXT_in_text721); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return cn; + } + // $ANTLR end text + + + // $ANTLR start simpleStatement + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:79:1: simpleStatement returns [CompositeNode cn] : ( ( errorStatement ) | ( expandStatement ) | ( expressionStmt ) ); + public CompositeNode simpleStatement() throws RecognitionException { + CompositeNode cn = null; + + CompositeNode errorStatement12 = null; + + CompositeNode expandStatement13 = null; + + CompositeNode expressionStmt14 = null; + + + try { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:80:2: ( ( errorStatement ) | ( expandStatement ) | ( expressionStmt ) ) + int alt20=3; + switch ( input.LA(1) ) { + case 37: + { + alt20=1; + } + break; + case 38: + { + alt20=2; + } + break; + case StringLiteral: + case IntLiteral: + case Identifier: + case 31: + case 36: + case 59: + case 69: + case 70: + case 71: + case 72: + case 78: + case 79: + case 94: + case 95: + case 96: + case 97: + case 98: + case 99: + case 100: + case 101: + case 102: + case 103: + case 104: + case 105: + case 106: + case 107: + case 108: + { + alt20=3; + } + break; + default: + if (backtracking>0) {failed=true; return cn;} + NoViableAltException nvae = + new NoViableAltException("79:1: simpleStatement returns [CompositeNode cn] : ( ( errorStatement ) | ( expandStatement ) | ( expressionStmt ) );", 20, 0, input); + + throw nvae; + } + + switch (alt20) { + case 1 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:80:2: ( errorStatement ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:80:2: ( errorStatement ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:80:3: errorStatement + { + pushFollow(FOLLOW_errorStatement_in_simpleStatement739); + errorStatement12=errorStatement(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + cn = errorStatement12; + } + + } + + + } + break; + case 2 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:81:4: ( expandStatement ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:81:4: ( expandStatement ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:81:5: expandStatement + { + pushFollow(FOLLOW_expandStatement_in_simpleStatement748); + expandStatement13=expandStatement(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + cn = expandStatement13; + } + + } + + + } + break; + case 3 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:82:4: ( expressionStmt ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:82:4: ( expressionStmt ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:82:5: expressionStmt + { + pushFollow(FOLLOW_expressionStmt_in_simpleStatement757); + expressionStmt14=expressionStmt(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + cn = expressionStmt14; + } + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return cn; + } + // $ANTLR end simpleStatement + + + // $ANTLR start errorStatement + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:84:1: errorStatement returns [CompositeNode cn] : ( 'ERROR' ) (unnamed14= expression ) ; + public CompositeNode errorStatement() throws RecognitionException { + CompositeNode cn = null; + + CompositeNode unnamed14 = null; + + + cn = factory.createErrorStatementNode(); cn.setRule("errorStatement"); + try { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:86:2: ( ( 'ERROR' ) (unnamed14= expression ) ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:86:2: ( 'ERROR' ) (unnamed14= expression ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:86:2: ( 'ERROR' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:86:3: 'ERROR' + { + match(input,37,FOLLOW_37_in_errorStatement780); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:86:48: (unnamed14= expression ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:86:49: unnamed14= expression + { + pushFollow(FOLLOW_expression_in_errorStatement788); + unnamed14=expression(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed14); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return cn; + } + // $ANTLR end errorStatement + + + // $ANTLR start expandStatement + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:88:1: expandStatement returns [CompositeNode cn] : ( 'EXPAND' ) (unnamed15= simpleType ) ( ( ( '(' ) (unnamed16= parameterList ) ( ')' ) ) )? ( ( ( ( ( 'FOR' ) (unnamed17= expression ) ) ) | ( ( ( 'FOREACH' ) (unnamed18= expression ) ( ( ( 'SEPARATOR' ) (unnamed19= expression ) ) )? ) ) ) )? ; + public CompositeNode expandStatement() throws RecognitionException { + CompositeNode cn = null; + + CompositeNode unnamed15 = null; + + CompositeNode unnamed16 = null; + + CompositeNode unnamed17 = null; + + CompositeNode unnamed18 = null; + + CompositeNode unnamed19 = null; + + + cn = factory.createExpandStatementNode(); cn.setRule("expandStatement"); + try { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:90:2: ( ( 'EXPAND' ) (unnamed15= simpleType ) ( ( ( '(' ) (unnamed16= parameterList ) ( ')' ) ) )? ( ( ( ( ( 'FOR' ) (unnamed17= expression ) ) ) | ( ( ( 'FOREACH' ) (unnamed18= expression ) ( ( ( 'SEPARATOR' ) (unnamed19= expression ) ) )? ) ) ) )? ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:90:2: ( 'EXPAND' ) (unnamed15= simpleType ) ( ( ( '(' ) (unnamed16= parameterList ) ( ')' ) ) )? ( ( ( ( ( 'FOR' ) (unnamed17= expression ) ) ) | ( ( ( 'FOREACH' ) (unnamed18= expression ) ( ( ( 'SEPARATOR' ) (unnamed19= expression ) ) )? ) ) ) )? + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:90:2: ( 'EXPAND' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:90:3: 'EXPAND' + { + match(input,38,FOLLOW_38_in_expandStatement811); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:90:49: (unnamed15= simpleType ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:90:50: unnamed15= simpleType + { + pushFollow(FOLLOW_simpleType_in_expandStatement819); + unnamed15=simpleType(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed15); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:90:106: ( ( ( '(' ) (unnamed16= parameterList ) ( ')' ) ) )? + int alt21=2; + int LA21_0 = input.LA(1); + + if ( (LA21_0==31) ) { + alt21=1; + } + switch (alt21) { + case 1 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:90:107: ( ( '(' ) (unnamed16= parameterList ) ( ')' ) ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:90:107: ( ( '(' ) (unnamed16= parameterList ) ( ')' ) ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:90:108: ( '(' ) (unnamed16= parameterList ) ( ')' ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:90:108: ( '(' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:90:109: '(' + { + match(input,31,FOLLOW_31_in_expandStatement827); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:90:150: (unnamed16= parameterList ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:90:151: unnamed16= parameterList + { + pushFollow(FOLLOW_parameterList_in_expandStatement835); + unnamed16=parameterList(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed16); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:90:210: ( ')' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:90:211: ')' + { + match(input,34,FOLLOW_34_in_expandStatement841); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + + } + + + } + break; + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:90:255: ( ( ( ( ( 'FOR' ) (unnamed17= expression ) ) ) | ( ( ( 'FOREACH' ) (unnamed18= expression ) ( ( ( 'SEPARATOR' ) (unnamed19= expression ) ) )? ) ) ) )? + int alt24=2; + int LA24_0 = input.LA(1); + + if ( (LA24_0==35||LA24_0==39) ) { + alt24=1; + } + switch (alt24) { + case 1 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:90:256: ( ( ( ( 'FOR' ) (unnamed17= expression ) ) ) | ( ( ( 'FOREACH' ) (unnamed18= expression ) ( ( ( 'SEPARATOR' ) (unnamed19= expression ) ) )? ) ) ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:90:256: ( ( ( ( 'FOR' ) (unnamed17= expression ) ) ) | ( ( ( 'FOREACH' ) (unnamed18= expression ) ( ( ( 'SEPARATOR' ) (unnamed19= expression ) ) )? ) ) ) + int alt23=2; + int LA23_0 = input.LA(1); + + if ( (LA23_0==35) ) { + alt23=1; + } + else if ( (LA23_0==39) ) { + alt23=2; + } + else { + if (backtracking>0) {failed=true; return cn;} + NoViableAltException nvae = + new NoViableAltException("90:256: ( ( ( ( 'FOR' ) (unnamed17= expression ) ) ) | ( ( ( 'FOREACH' ) (unnamed18= expression ) ( ( ( 'SEPARATOR' ) (unnamed19= expression ) ) )? ) ) )", 23, 0, input); + + throw nvae; + } + switch (alt23) { + case 1 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:90:257: ( ( ( 'FOR' ) (unnamed17= expression ) ) ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:90:257: ( ( ( 'FOR' ) (unnamed17= expression ) ) ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:90:258: ( ( 'FOR' ) (unnamed17= expression ) ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:90:258: ( ( 'FOR' ) (unnamed17= expression ) ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:90:259: ( 'FOR' ) (unnamed17= expression ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:90:259: ( 'FOR' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:90:260: 'FOR' + { + match(input,35,FOLLOW_35_in_expandStatement854); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:90:303: (unnamed17= expression ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:90:304: unnamed17= expression + { + pushFollow(FOLLOW_expression_in_expandStatement862); + unnamed17=expression(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed17); + } + + } + + + } + + + } + + + } + break; + case 2 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:91:4: ( ( ( 'FOREACH' ) (unnamed18= expression ) ( ( ( 'SEPARATOR' ) (unnamed19= expression ) ) )? ) ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:91:4: ( ( ( 'FOREACH' ) (unnamed18= expression ) ( ( ( 'SEPARATOR' ) (unnamed19= expression ) ) )? ) ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:91:5: ( ( 'FOREACH' ) (unnamed18= expression ) ( ( ( 'SEPARATOR' ) (unnamed19= expression ) ) )? ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:91:5: ( ( 'FOREACH' ) (unnamed18= expression ) ( ( ( 'SEPARATOR' ) (unnamed19= expression ) ) )? ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:91:6: ( 'FOREACH' ) (unnamed18= expression ) ( ( ( 'SEPARATOR' ) (unnamed19= expression ) ) )? + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:91:6: ( 'FOREACH' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:91:7: 'FOREACH' + { + match(input,39,FOLLOW_39_in_expandStatement875); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:91:54: (unnamed18= expression ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:91:55: unnamed18= expression + { + pushFollow(FOLLOW_expression_in_expandStatement883); + unnamed18=expression(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed18); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:91:111: ( ( ( 'SEPARATOR' ) (unnamed19= expression ) ) )? + int alt22=2; + int LA22_0 = input.LA(1); + + if ( (LA22_0==40) ) { + alt22=1; + } + switch (alt22) { + case 1 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:91:112: ( ( 'SEPARATOR' ) (unnamed19= expression ) ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:91:112: ( ( 'SEPARATOR' ) (unnamed19= expression ) ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:91:113: ( 'SEPARATOR' ) (unnamed19= expression ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:91:113: ( 'SEPARATOR' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:91:114: 'SEPARATOR' + { + match(input,40,FOLLOW_40_in_expandStatement891); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:91:163: (unnamed19= expression ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:91:164: unnamed19= expression + { + pushFollow(FOLLOW_expression_in_expandStatement899); + unnamed19=expression(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed19); + } + + } + + + } + + + } + break; + + } + + + } + + + } + + + } + break; + + } + + + } + break; + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return cn; + } + // $ANTLR end expandStatement + + + // $ANTLR start expressionStmt + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:93:1: expressionStmt returns [CompositeNode cn] : (unnamed20= expression ) ; + public CompositeNode expressionStmt() throws RecognitionException { + CompositeNode cn = null; + + CompositeNode unnamed20 = null; + + + cn = factory.createExpressionStmtNode(); cn.setRule("expressionStmt"); + try { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:95:2: ( (unnamed20= expression ) ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:95:2: (unnamed20= expression ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:95:2: (unnamed20= expression ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:95:3: unnamed20= expression + { + pushFollow(FOLLOW_expression_in_expressionStmt932); + unnamed20=expression(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed20); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return cn; + } + // $ANTLR end expressionStmt + + + // $ANTLR start fileStatement + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:97:1: fileStatement returns [CompositeNode cn] : ( 'FILE' ) (unnamed21= expression ) ( ( (unnamed22= identifier ) ) )? (unnamed23= sequence ) ( 'ENDFILE' ) ; + public CompositeNode fileStatement() throws RecognitionException { + CompositeNode cn = null; + + CompositeNode unnamed21 = null; + + CompositeNode unnamed22 = null; + + CompositeNode unnamed23 = null; + + + cn = factory.createFileStatementNode(); cn.setRule("fileStatement"); + try { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:99:2: ( ( 'FILE' ) (unnamed21= expression ) ( ( (unnamed22= identifier ) ) )? (unnamed23= sequence ) ( 'ENDFILE' ) ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:99:2: ( 'FILE' ) (unnamed21= expression ) ( ( (unnamed22= identifier ) ) )? (unnamed23= sequence ) ( 'ENDFILE' ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:99:2: ( 'FILE' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:99:3: 'FILE' + { + match(input,41,FOLLOW_41_in_fileStatement955); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:99:47: (unnamed21= expression ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:99:48: unnamed21= expression + { + pushFollow(FOLLOW_expression_in_fileStatement963); + unnamed21=expression(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed21); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:99:104: ( ( (unnamed22= identifier ) ) )? + int alt25=2; + int LA25_0 = input.LA(1); + + if ( (LA25_0==Identifier) ) { + alt25=1; + } + switch (alt25) { + case 1 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:99:105: ( (unnamed22= identifier ) ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:99:105: ( (unnamed22= identifier ) ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:99:106: (unnamed22= identifier ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:99:106: (unnamed22= identifier ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:99:107: unnamed22= identifier + { + pushFollow(FOLLOW_identifier_in_fileStatement973); + unnamed22=identifier(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed22); + } + + } + + + } + + + } + break; + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:99:166: (unnamed23= sequence ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:99:167: unnamed23= sequence + { + pushFollow(FOLLOW_sequence_in_fileStatement984); + unnamed23=sequence(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed23); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:99:221: ( 'ENDFILE' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:99:222: 'ENDFILE' + { + match(input,42,FOLLOW_42_in_fileStatement990); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return cn; + } + // $ANTLR end fileStatement + + + // $ANTLR start foreachStatement + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:101:1: foreachStatement returns [CompositeNode cn] : ( 'FOREACH' ) (unnamed24= expression ) ( 'AS' ) (unnamed25= identifier ) ( ( ( 'ITERATOR' ) (unnamed26= identifier ) ) )? ( ( ( 'SEPARATOR' ) (unnamed27= expression ) ) )? (unnamed28= sequence ) ( 'ENDFOREACH' ) ; + public CompositeNode foreachStatement() throws RecognitionException { + CompositeNode cn = null; + + CompositeNode unnamed24 = null; + + CompositeNode unnamed25 = null; + + CompositeNode unnamed26 = null; + + CompositeNode unnamed27 = null; + + CompositeNode unnamed28 = null; + + + cn = factory.createForeachStatementNode(); cn.setRule("foreachStatement"); + try { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:103:2: ( ( 'FOREACH' ) (unnamed24= expression ) ( 'AS' ) (unnamed25= identifier ) ( ( ( 'ITERATOR' ) (unnamed26= identifier ) ) )? ( ( ( 'SEPARATOR' ) (unnamed27= expression ) ) )? (unnamed28= sequence ) ( 'ENDFOREACH' ) ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:103:2: ( 'FOREACH' ) (unnamed24= expression ) ( 'AS' ) (unnamed25= identifier ) ( ( ( 'ITERATOR' ) (unnamed26= identifier ) ) )? ( ( ( 'SEPARATOR' ) (unnamed27= expression ) ) )? (unnamed28= sequence ) ( 'ENDFOREACH' ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:103:2: ( 'FOREACH' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:103:3: 'FOREACH' + { + match(input,39,FOLLOW_39_in_foreachStatement1013); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:103:50: (unnamed24= expression ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:103:51: unnamed24= expression + { + pushFollow(FOLLOW_expression_in_foreachStatement1021); + unnamed24=expression(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed24); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:103:107: ( 'AS' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:103:108: 'AS' + { + match(input,43,FOLLOW_43_in_foreachStatement1027); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:103:150: (unnamed25= identifier ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:103:151: unnamed25= identifier + { + pushFollow(FOLLOW_identifier_in_foreachStatement1035); + unnamed25=identifier(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed25); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:103:207: ( ( ( 'ITERATOR' ) (unnamed26= identifier ) ) )? + int alt26=2; + int LA26_0 = input.LA(1); + + if ( (LA26_0==44) ) { + alt26=1; + } + switch (alt26) { + case 1 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:103:208: ( ( 'ITERATOR' ) (unnamed26= identifier ) ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:103:208: ( ( 'ITERATOR' ) (unnamed26= identifier ) ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:103:209: ( 'ITERATOR' ) (unnamed26= identifier ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:103:209: ( 'ITERATOR' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:103:210: 'ITERATOR' + { + match(input,44,FOLLOW_44_in_foreachStatement1043); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:103:258: (unnamed26= identifier ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:103:259: unnamed26= identifier + { + pushFollow(FOLLOW_identifier_in_foreachStatement1051); + unnamed26=identifier(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed26); + } + + } + + + } + + + } + break; + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:103:318: ( ( ( 'SEPARATOR' ) (unnamed27= expression ) ) )? + int alt27=2; + int LA27_0 = input.LA(1); + + if ( (LA27_0==40) ) { + alt27=1; + } + switch (alt27) { + case 1 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:103:319: ( ( 'SEPARATOR' ) (unnamed27= expression ) ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:103:319: ( ( 'SEPARATOR' ) (unnamed27= expression ) ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:103:320: ( 'SEPARATOR' ) (unnamed27= expression ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:103:320: ( 'SEPARATOR' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:103:321: 'SEPARATOR' + { + match(input,40,FOLLOW_40_in_foreachStatement1062); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:103:370: (unnamed27= expression ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:103:371: unnamed27= expression + { + pushFollow(FOLLOW_expression_in_foreachStatement1070); + unnamed27=expression(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed27); + } + + } + + + } + + + } + break; + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:103:430: (unnamed28= sequence ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:103:431: unnamed28= sequence + { + pushFollow(FOLLOW_sequence_in_foreachStatement1081); + unnamed28=sequence(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed28); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:103:485: ( 'ENDFOREACH' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:103:486: 'ENDFOREACH' + { + match(input,45,FOLLOW_45_in_foreachStatement1087); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return cn; + } + // $ANTLR end foreachStatement + + + // $ANTLR start ifStatement + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:105:1: ifStatement returns [CompositeNode cn] : ( 'IF' ) (unnamed29= expression ) (unnamed30= sequence ) (unnamed31= elseIfStatement )* (unnamed32= elseStatement )? ( 'ENDIF' ) ; + public CompositeNode ifStatement() throws RecognitionException { + CompositeNode cn = null; + + CompositeNode unnamed29 = null; + + CompositeNode unnamed30 = null; + + CompositeNode unnamed31 = null; + + CompositeNode unnamed32 = null; + + + cn = factory.createIfStatementNode(); cn.setRule("ifStatement"); + try { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:107:2: ( ( 'IF' ) (unnamed29= expression ) (unnamed30= sequence ) (unnamed31= elseIfStatement )* (unnamed32= elseStatement )? ( 'ENDIF' ) ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:107:2: ( 'IF' ) (unnamed29= expression ) (unnamed30= sequence ) (unnamed31= elseIfStatement )* (unnamed32= elseStatement )? ( 'ENDIF' ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:107:2: ( 'IF' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:107:3: 'IF' + { + match(input,46,FOLLOW_46_in_ifStatement1110); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:107:45: (unnamed29= expression ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:107:46: unnamed29= expression + { + pushFollow(FOLLOW_expression_in_ifStatement1118); + unnamed29=expression(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed29); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:107:102: (unnamed30= sequence ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:107:103: unnamed30= sequence + { + pushFollow(FOLLOW_sequence_in_ifStatement1126); + unnamed30=sequence(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed30); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:107:157: (unnamed31= elseIfStatement )* + loop28: + do { + int alt28=2; + int LA28_0 = input.LA(1); + + if ( (LA28_0==48) ) { + alt28=1; + } + + + switch (alt28) { + case 1 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:107:158: unnamed31= elseIfStatement + { + pushFollow(FOLLOW_elseIfStatement_in_ifStatement1134); + unnamed31=elseIfStatement(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed31); + } + + } + break; + + default : + break loop28; + } + } while (true); + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:107:220: (unnamed32= elseStatement )? + int alt29=2; + int LA29_0 = input.LA(1); + + if ( (LA29_0==49) ) { + alt29=1; + } + switch (alt29) { + case 1 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:107:221: unnamed32= elseStatement + { + pushFollow(FOLLOW_elseStatement_in_ifStatement1143); + unnamed32=elseStatement(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed32); + } + + } + break; + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:107:281: ( 'ENDIF' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:107:282: 'ENDIF' + { + match(input,47,FOLLOW_47_in_ifStatement1150); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return cn; + } + // $ANTLR end ifStatement + + + // $ANTLR start elseIfStatement + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:109:1: elseIfStatement returns [CompositeNode cn] : ( 'ELSEIF' ) (unnamed33= expression ) (unnamed34= sequence ) ; + public CompositeNode elseIfStatement() throws RecognitionException { + CompositeNode cn = null; + + CompositeNode unnamed33 = null; + + CompositeNode unnamed34 = null; + + + cn = factory.createElseIfStatementNode(); cn.setRule("elseIfStatement"); + try { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:111:2: ( ( 'ELSEIF' ) (unnamed33= expression ) (unnamed34= sequence ) ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:111:2: ( 'ELSEIF' ) (unnamed33= expression ) (unnamed34= sequence ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:111:2: ( 'ELSEIF' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:111:3: 'ELSEIF' + { + match(input,48,FOLLOW_48_in_elseIfStatement1173); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:111:49: (unnamed33= expression ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:111:50: unnamed33= expression + { + pushFollow(FOLLOW_expression_in_elseIfStatement1181); + unnamed33=expression(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed33); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:111:106: (unnamed34= sequence ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:111:107: unnamed34= sequence + { + pushFollow(FOLLOW_sequence_in_elseIfStatement1189); + unnamed34=sequence(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed34); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return cn; + } + // $ANTLR end elseIfStatement + + + // $ANTLR start elseStatement + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:113:1: elseStatement returns [CompositeNode cn] : ( 'ELSE' ) (unnamed35= sequence ) ; + public CompositeNode elseStatement() throws RecognitionException { + CompositeNode cn = null; + + CompositeNode unnamed35 = null; + + + cn = factory.createElseStatementNode(); cn.setRule("elseStatement"); + try { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:115:2: ( ( 'ELSE' ) (unnamed35= sequence ) ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:115:2: ( 'ELSE' ) (unnamed35= sequence ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:115:2: ( 'ELSE' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:115:3: 'ELSE' + { + match(input,49,FOLLOW_49_in_elseStatement1212); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:115:47: (unnamed35= sequence ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:115:48: unnamed35= sequence + { + pushFollow(FOLLOW_sequence_in_elseStatement1220); + unnamed35=sequence(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed35); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return cn; + } + // $ANTLR end elseStatement + + + // $ANTLR start letStatement + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:117:1: letStatement returns [CompositeNode cn] : ( 'LET' ) (unnamed36= expression ) ( 'AS' ) (unnamed37= identifier ) (unnamed38= sequence ) ( 'ENDLET' ) ; + public CompositeNode letStatement() throws RecognitionException { + CompositeNode cn = null; + + CompositeNode unnamed36 = null; + + CompositeNode unnamed37 = null; + + CompositeNode unnamed38 = null; + + + cn = factory.createLetStatementNode(); cn.setRule("letStatement"); + try { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:119:2: ( ( 'LET' ) (unnamed36= expression ) ( 'AS' ) (unnamed37= identifier ) (unnamed38= sequence ) ( 'ENDLET' ) ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:119:2: ( 'LET' ) (unnamed36= expression ) ( 'AS' ) (unnamed37= identifier ) (unnamed38= sequence ) ( 'ENDLET' ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:119:2: ( 'LET' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:119:3: 'LET' + { + match(input,50,FOLLOW_50_in_letStatement1243); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:119:46: (unnamed36= expression ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:119:47: unnamed36= expression + { + pushFollow(FOLLOW_expression_in_letStatement1251); + unnamed36=expression(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed36); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:119:103: ( 'AS' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:119:104: 'AS' + { + match(input,43,FOLLOW_43_in_letStatement1257); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:119:146: (unnamed37= identifier ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:119:147: unnamed37= identifier + { + pushFollow(FOLLOW_identifier_in_letStatement1265); + unnamed37=identifier(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed37); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:119:203: (unnamed38= sequence ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:119:204: unnamed38= sequence + { + pushFollow(FOLLOW_sequence_in_letStatement1273); + unnamed38=sequence(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed38); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:119:258: ( 'ENDLET' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:119:259: 'ENDLET' + { + match(input,51,FOLLOW_51_in_letStatement1279); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return cn; + } + // $ANTLR end letStatement + + + // $ANTLR start protectStatement + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:121:1: protectStatement returns [CompositeNode cn] : ( 'PROTECT' ) ( 'CSTART' ) (unnamed39= expression ) ( 'CEND' ) (unnamed40= expression ) ( 'ID' ) (unnamed41= expression ) ( 'DISABLE' )? (unnamed42= sequence ) ( 'ENDPROTECT' ) ; + public CompositeNode protectStatement() throws RecognitionException { + CompositeNode cn = null; + + CompositeNode unnamed39 = null; + + CompositeNode unnamed40 = null; + + CompositeNode unnamed41 = null; + + CompositeNode unnamed42 = null; + + + cn = factory.createProtectStatementNode(); cn.setRule("protectStatement"); + try { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:123:2: ( ( 'PROTECT' ) ( 'CSTART' ) (unnamed39= expression ) ( 'CEND' ) (unnamed40= expression ) ( 'ID' ) (unnamed41= expression ) ( 'DISABLE' )? (unnamed42= sequence ) ( 'ENDPROTECT' ) ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:123:2: ( 'PROTECT' ) ( 'CSTART' ) (unnamed39= expression ) ( 'CEND' ) (unnamed40= expression ) ( 'ID' ) (unnamed41= expression ) ( 'DISABLE' )? (unnamed42= sequence ) ( 'ENDPROTECT' ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:123:2: ( 'PROTECT' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:123:3: 'PROTECT' + { + match(input,52,FOLLOW_52_in_protectStatement1302); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:123:50: ( 'CSTART' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:123:51: 'CSTART' + { + match(input,53,FOLLOW_53_in_protectStatement1308); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:123:97: (unnamed39= expression ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:123:98: unnamed39= expression + { + pushFollow(FOLLOW_expression_in_protectStatement1316); + unnamed39=expression(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed39); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:123:154: ( 'CEND' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:123:155: 'CEND' + { + match(input,54,FOLLOW_54_in_protectStatement1322); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:123:199: (unnamed40= expression ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:123:200: unnamed40= expression + { + pushFollow(FOLLOW_expression_in_protectStatement1330); + unnamed40=expression(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed40); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:123:256: ( 'ID' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:123:257: 'ID' + { + match(input,55,FOLLOW_55_in_protectStatement1336); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:123:299: (unnamed41= expression ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:123:300: unnamed41= expression + { + pushFollow(FOLLOW_expression_in_protectStatement1344); + unnamed41=expression(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed41); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:123:356: ( 'DISABLE' )? + int alt30=2; + int LA30_0 = input.LA(1); + + if ( (LA30_0==56) ) { + alt30=1; + } + switch (alt30) { + case 1 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:123:357: 'DISABLE' + { + match(input,56,FOLLOW_56_in_protectStatement1350); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + break; + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:123:405: (unnamed42= sequence ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:123:406: unnamed42= sequence + { + pushFollow(FOLLOW_sequence_in_protectStatement1359); + unnamed42=sequence(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed42); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:123:460: ( 'ENDPROTECT' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:123:461: 'ENDPROTECT' + { + match(input,57,FOLLOW_57_in_protectStatement1365); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return cn; + } + // $ANTLR end protectStatement + + + // $ANTLR start check + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:125:1: check returns [CompositeNode cn] : ( 'context' ) (unnamed43= type ) ( ( ( 'if' ) (unnamed44= expression ) ) )? ( ( ( 'ERROR' ) | ( 'WARNING' ) ) ) (unnamed45= expression ) ( ':' ) (unnamed46= expression ) ( ';' ) ; + public CompositeNode check() throws RecognitionException { + CompositeNode cn = null; + + CompositeNode unnamed43 = null; + + CompositeNode unnamed44 = null; + + CompositeNode unnamed45 = null; + + CompositeNode unnamed46 = null; + + + cn = factory.createCheckNode(); cn.setRule("check"); + try { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:127:2: ( ( 'context' ) (unnamed43= type ) ( ( ( 'if' ) (unnamed44= expression ) ) )? ( ( ( 'ERROR' ) | ( 'WARNING' ) ) ) (unnamed45= expression ) ( ':' ) (unnamed46= expression ) ( ';' ) ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:127:2: ( 'context' ) (unnamed43= type ) ( ( ( 'if' ) (unnamed44= expression ) ) )? ( ( ( 'ERROR' ) | ( 'WARNING' ) ) ) (unnamed45= expression ) ( ':' ) (unnamed46= expression ) ( ';' ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:127:2: ( 'context' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:127:3: 'context' + { + match(input,58,FOLLOW_58_in_check1388); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:127:50: (unnamed43= type ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:127:51: unnamed43= type + { + pushFollow(FOLLOW_type_in_check1396); + unnamed43=type(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed43); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:127:101: ( ( ( 'if' ) (unnamed44= expression ) ) )? + int alt31=2; + int LA31_0 = input.LA(1); + + if ( (LA31_0==59) ) { + alt31=1; + } + switch (alt31) { + case 1 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:127:102: ( ( 'if' ) (unnamed44= expression ) ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:127:102: ( ( 'if' ) (unnamed44= expression ) ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:127:103: ( 'if' ) (unnamed44= expression ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:127:103: ( 'if' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:127:104: 'if' + { + match(input,59,FOLLOW_59_in_check1404); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:127:146: (unnamed44= expression ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:127:147: unnamed44= expression + { + pushFollow(FOLLOW_expression_in_check1412); + unnamed44=expression(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed44); + } + + } + + + } + + + } + break; + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:127:206: ( ( ( 'ERROR' ) | ( 'WARNING' ) ) ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:127:207: ( ( 'ERROR' ) | ( 'WARNING' ) ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:127:207: ( ( 'ERROR' ) | ( 'WARNING' ) ) + int alt32=2; + int LA32_0 = input.LA(1); + + if ( (LA32_0==37) ) { + alt32=1; + } + else if ( (LA32_0==60) ) { + alt32=2; + } + else { + if (backtracking>0) {failed=true; return cn;} + NoViableAltException nvae = + new NoViableAltException("127:207: ( ( 'ERROR' ) | ( 'WARNING' ) )", 32, 0, input); + + throw nvae; + } + switch (alt32) { + case 1 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:127:208: ( 'ERROR' ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:127:208: ( 'ERROR' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:127:209: 'ERROR' + { + match(input,37,FOLLOW_37_in_check1423); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + + } + break; + case 2 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:128:4: ( 'WARNING' ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:128:4: ( 'WARNING' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:128:5: 'WARNING' + { + match(input,60,FOLLOW_60_in_check1432); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + + } + break; + + } + + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:128:54: (unnamed45= expression ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:128:55: unnamed45= expression + { + pushFollow(FOLLOW_expression_in_check1442); + unnamed45=expression(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed45); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:128:111: ( ':' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:128:112: ':' + { + match(input,61,FOLLOW_61_in_check1448); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:128:153: (unnamed46= expression ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:128:154: unnamed46= expression + { + pushFollow(FOLLOW_expression_in_check1456); + unnamed46=expression(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed46); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:128:210: ( ';' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:128:211: ';' + { + match(input,28,FOLLOW_28_in_check1462); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return cn; + } + // $ANTLR end check + + + // $ANTLR start around + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:130:1: around returns [CompositeNode cn] : ( 'around' ) (unnamed47= pointcut ) ( '(' ) ( ( (unnamed48= declaredParameterList ) ( ( ( ',' )? ( '*' ) ) )? | ( '*' ) ) )? ( ')' ) ( ':' ) (unnamed49= expression ) ( ';' ) ; + public CompositeNode around() throws RecognitionException { + CompositeNode cn = null; + + CompositeNode unnamed47 = null; + + CompositeNode unnamed48 = null; + + CompositeNode unnamed49 = null; + + + cn = factory.createAroundNode(); cn.setRule("around"); + try { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:132:2: ( ( 'around' ) (unnamed47= pointcut ) ( '(' ) ( ( (unnamed48= declaredParameterList ) ( ( ( ',' )? ( '*' ) ) )? | ( '*' ) ) )? ( ')' ) ( ':' ) (unnamed49= expression ) ( ';' ) ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:132:2: ( 'around' ) (unnamed47= pointcut ) ( '(' ) ( ( (unnamed48= declaredParameterList ) ( ( ( ',' )? ( '*' ) ) )? | ( '*' ) ) )? ( ')' ) ( ':' ) (unnamed49= expression ) ( ';' ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:132:2: ( 'around' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:132:3: 'around' + { + match(input,62,FOLLOW_62_in_around1485); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:132:49: (unnamed47= pointcut ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:132:50: unnamed47= pointcut + { + pushFollow(FOLLOW_pointcut_in_around1493); + unnamed47=pointcut(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed47); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:132:104: ( '(' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:132:105: '(' + { + match(input,31,FOLLOW_31_in_around1499); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:132:146: ( ( (unnamed48= declaredParameterList ) ( ( ( ',' )? ( '*' ) ) )? | ( '*' ) ) )? + int alt36=2; + int LA36_0 = input.LA(1); + + if ( (LA36_0==Identifier||LA36_0==33||(LA36_0>=69 && LA36_0<=71)) ) { + alt36=1; + } + switch (alt36) { + case 1 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:132:147: ( (unnamed48= declaredParameterList ) ( ( ( ',' )? ( '*' ) ) )? | ( '*' ) ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:132:147: ( (unnamed48= declaredParameterList ) ( ( ( ',' )? ( '*' ) ) )? | ( '*' ) ) + int alt35=2; + int LA35_0 = input.LA(1); + + if ( (LA35_0==Identifier||(LA35_0>=69 && LA35_0<=71)) ) { + alt35=1; + } + else if ( (LA35_0==33) ) { + alt35=2; + } + else { + if (backtracking>0) {failed=true; return cn;} + NoViableAltException nvae = + new NoViableAltException("132:147: ( (unnamed48= declaredParameterList ) ( ( ( ',' )? ( '*' ) ) )? | ( '*' ) )", 35, 0, input); + + throw nvae; + } + switch (alt35) { + case 1 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:132:148: (unnamed48= declaredParameterList ) ( ( ( ',' )? ( '*' ) ) )? + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:132:148: (unnamed48= declaredParameterList ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:132:149: unnamed48= declaredParameterList + { + pushFollow(FOLLOW_declaredParameterList_in_around1509); + unnamed48=declaredParameterList(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed48); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:132:216: ( ( ( ',' )? ( '*' ) ) )? + int alt34=2; + int LA34_0 = input.LA(1); + + if ( ((LA34_0>=32 && LA34_0<=33)) ) { + alt34=1; + } + switch (alt34) { + case 1 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:132:217: ( ( ',' )? ( '*' ) ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:132:217: ( ( ',' )? ( '*' ) ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:132:218: ( ',' )? ( '*' ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:132:218: ( ',' )? + int alt33=2; + int LA33_0 = input.LA(1); + + if ( (LA33_0==32) ) { + alt33=1; + } + switch (alt33) { + case 1 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:132:219: ',' + { + match(input,32,FOLLOW_32_in_around1517); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + break; + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:132:261: ( '*' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:132:262: '*' + { + match(input,33,FOLLOW_33_in_around1524); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + + } + + + } + break; + + } + + + } + break; + case 2 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:133:4: ( '*' ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:133:4: ( '*' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:133:5: '*' + { + match(input,33,FOLLOW_33_in_around1536); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + + } + break; + + } + + + } + break; + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:133:49: ( ')' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:133:50: ')' + { + match(input,34,FOLLOW_34_in_around1545); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:133:91: ( ':' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:133:92: ':' + { + match(input,61,FOLLOW_61_in_around1551); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:133:133: (unnamed49= expression ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:133:134: unnamed49= expression + { + pushFollow(FOLLOW_expression_in_around1559); + unnamed49=expression(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed49); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:133:190: ( ';' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:133:191: ';' + { + match(input,28,FOLLOW_28_in_around1565); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return cn; + } + // $ANTLR end around + + + // $ANTLR start pointcut + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:135:1: pointcut returns [CompositeNode cn] : ( ( ( '*' ) | (unnamed50= identifier ) ) ) ( ( ( '*' ) | (unnamed51= identifier ) | ( '::' ) ) )* ; + public CompositeNode pointcut() throws RecognitionException { + CompositeNode cn = null; + + CompositeNode unnamed50 = null; + + CompositeNode unnamed51 = null; + + + cn = factory.createPointcutNode(); cn.setRule("pointcut"); + try { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:137:2: ( ( ( ( '*' ) | (unnamed50= identifier ) ) ) ( ( ( '*' ) | (unnamed51= identifier ) | ( '::' ) ) )* ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:137:2: ( ( ( '*' ) | (unnamed50= identifier ) ) ) ( ( ( '*' ) | (unnamed51= identifier ) | ( '::' ) ) )* + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:137:2: ( ( ( '*' ) | (unnamed50= identifier ) ) ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:137:3: ( ( '*' ) | (unnamed50= identifier ) ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:137:3: ( ( '*' ) | (unnamed50= identifier ) ) + int alt37=2; + int LA37_0 = input.LA(1); + + if ( (LA37_0==33) ) { + alt37=1; + } + else if ( (LA37_0==Identifier) ) { + alt37=2; + } + else { + if (backtracking>0) {failed=true; return cn;} + NoViableAltException nvae = + new NoViableAltException("137:3: ( ( '*' ) | (unnamed50= identifier ) )", 37, 0, input); + + throw nvae; + } + switch (alt37) { + case 1 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:137:4: ( '*' ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:137:4: ( '*' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:137:5: '*' + { + match(input,33,FOLLOW_33_in_pointcut1590); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + + } + break; + case 2 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:138:4: (unnamed50= identifier ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:138:4: (unnamed50= identifier ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:138:5: unnamed50= identifier + { + pushFollow(FOLLOW_identifier_in_pointcut1601); + unnamed50=identifier(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed50); + } + + } + + + } + break; + + } + + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:138:63: ( ( ( '*' ) | (unnamed51= identifier ) | ( '::' ) ) )* + loop39: + do { + int alt39=2; + int LA39_0 = input.LA(1); + + if ( (LA39_0==Identifier||LA39_0==33||LA39_0==63) ) { + alt39=1; + } + + + switch (alt39) { + case 1 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:138:64: ( ( '*' ) | (unnamed51= identifier ) | ( '::' ) ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:138:64: ( ( '*' ) | (unnamed51= identifier ) | ( '::' ) ) + int alt38=3; + switch ( input.LA(1) ) { + case 33: + { + alt38=1; + } + break; + case Identifier: + { + alt38=2; + } + break; + case 63: + { + alt38=3; + } + break; + default: + if (backtracking>0) {failed=true; return cn;} + NoViableAltException nvae = + new NoViableAltException("138:64: ( ( '*' ) | (unnamed51= identifier ) | ( '::' ) )", 38, 0, input); + + throw nvae; + } + + switch (alt38) { + case 1 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:138:65: ( '*' ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:138:65: ( '*' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:138:66: '*' + { + match(input,33,FOLLOW_33_in_pointcut1611); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + + } + break; + case 2 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:139:4: (unnamed51= identifier ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:139:4: (unnamed51= identifier ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:139:5: unnamed51= identifier + { + pushFollow(FOLLOW_identifier_in_pointcut1622); + unnamed51=identifier(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed51); + } + + } + + + } + break; + case 3 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:140:4: ( '::' ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:140:4: ( '::' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:140:5: '::' + { + match(input,63,FOLLOW_63_in_pointcut1631); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + + } + break; + + } + + + } + break; + + default : + break loop39; + } + } while (true); + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return cn; + } + // $ANTLR end pointcut + + + // $ANTLR start extension + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:142:1: extension returns [CompositeNode cn] : ( ( ( 'private' ) | ( 'cached' ) | ( 'create' ) ) )* (unnamed52= type )? (unnamed53= identifier ) (unnamed54= identifier )? ( '(' ) (unnamed55= declaredParameterList )? ( ')' ) ( ':' ) ( ( ( 'JAVA' ) (unnamed56= javaType ) ( '.' ) (unnamed57= identifier ) ( '(' ) ( ( (unnamed58= javaType ) ( ( ( ',' ) (unnamed59= javaType ) ) )* ) )? ( ')' ) | (unnamed60= expression ) ) ) ( ';' ) ; + public CompositeNode extension() throws RecognitionException { + CompositeNode cn = null; + + CompositeNode unnamed52 = null; + + CompositeNode unnamed53 = null; + + CompositeNode unnamed54 = null; + + CompositeNode unnamed55 = null; + + CompositeNode unnamed56 = null; + + CompositeNode unnamed57 = null; + + CompositeNode unnamed58 = null; + + CompositeNode unnamed59 = null; + + CompositeNode unnamed60 = null; + + + cn = factory.createExtensionNode(); cn.setRule("extension"); + try { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:144:2: ( ( ( ( 'private' ) | ( 'cached' ) | ( 'create' ) ) )* (unnamed52= type )? (unnamed53= identifier ) (unnamed54= identifier )? ( '(' ) (unnamed55= declaredParameterList )? ( ')' ) ( ':' ) ( ( ( 'JAVA' ) (unnamed56= javaType ) ( '.' ) (unnamed57= identifier ) ( '(' ) ( ( (unnamed58= javaType ) ( ( ( ',' ) (unnamed59= javaType ) ) )* ) )? ( ')' ) | (unnamed60= expression ) ) ) ( ';' ) ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:144:2: ( ( ( 'private' ) | ( 'cached' ) | ( 'create' ) ) )* (unnamed52= type )? (unnamed53= identifier ) (unnamed54= identifier )? ( '(' ) (unnamed55= declaredParameterList )? ( ')' ) ( ':' ) ( ( ( 'JAVA' ) (unnamed56= javaType ) ( '.' ) (unnamed57= identifier ) ( '(' ) ( ( (unnamed58= javaType ) ( ( ( ',' ) (unnamed59= javaType ) ) )* ) )? ( ')' ) | (unnamed60= expression ) ) ) ( ';' ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:144:2: ( ( ( 'private' ) | ( 'cached' ) | ( 'create' ) ) )* + loop41: + do { + int alt41=2; + int LA41_0 = input.LA(1); + + if ( ((LA41_0>=64 && LA41_0<=66)) ) { + alt41=1; + } + + + switch (alt41) { + case 1 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:144:3: ( ( 'private' ) | ( 'cached' ) | ( 'create' ) ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:144:3: ( ( 'private' ) | ( 'cached' ) | ( 'create' ) ) + int alt40=3; + switch ( input.LA(1) ) { + case 64: + { + alt40=1; + } + break; + case 65: + { + alt40=2; + } + break; + case 66: + { + alt40=3; + } + break; + default: + if (backtracking>0) {failed=true; return cn;} + NoViableAltException nvae = + new NoViableAltException("144:3: ( ( 'private' ) | ( 'cached' ) | ( 'create' ) )", 40, 0, input); + + throw nvae; + } + + switch (alt40) { + case 1 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:144:4: ( 'private' ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:144:4: ( 'private' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:144:5: 'private' + { + match(input,64,FOLLOW_64_in_extension1659); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + + } + break; + case 2 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:145:4: ( 'cached' ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:145:4: ( 'cached' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:145:5: 'cached' + { + match(input,65,FOLLOW_65_in_extension1668); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + + } + break; + case 3 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:146:4: ( 'create' ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:146:4: ( 'create' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:146:5: 'create' + { + match(input,66,FOLLOW_66_in_extension1677); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + + } + break; + + } + + + } + break; + + default : + break loop41; + } + } while (true); + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:146:54: (unnamed52= type )? + int alt42=2; + int LA42_0 = input.LA(1); + + if ( ((LA42_0>=69 && LA42_0<=71)) ) { + alt42=1; + } + else if ( (LA42_0==Identifier) ) { + int LA42_2 = input.LA(2); + + if ( (LA42_2==Identifier||LA42_2==63) ) { + alt42=1; + } + } + switch (alt42) { + case 1 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:146:55: unnamed52= type + { + pushFollow(FOLLOW_type_in_extension1688); + unnamed52=type(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed52); + } + + } + break; + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:146:106: (unnamed53= identifier ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:146:107: unnamed53= identifier + { + pushFollow(FOLLOW_identifier_in_extension1697); + unnamed53=identifier(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed53); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:146:163: (unnamed54= identifier )? + int alt43=2; + int LA43_0 = input.LA(1); + + if ( (LA43_0==Identifier) ) { + alt43=1; + } + switch (alt43) { + case 1 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:146:164: unnamed54= identifier + { + pushFollow(FOLLOW_identifier_in_extension1705); + unnamed54=identifier(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed54); + } + + } + break; + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:146:221: ( '(' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:146:222: '(' + { + match(input,31,FOLLOW_31_in_extension1712); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:146:263: (unnamed55= declaredParameterList )? + int alt44=2; + int LA44_0 = input.LA(1); + + if ( (LA44_0==Identifier||(LA44_0>=69 && LA44_0<=71)) ) { + alt44=1; + } + switch (alt44) { + case 1 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:146:264: unnamed55= declaredParameterList + { + pushFollow(FOLLOW_declaredParameterList_in_extension1720); + unnamed55=declaredParameterList(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed55); + } + + } + break; + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:146:332: ( ')' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:146:333: ')' + { + match(input,34,FOLLOW_34_in_extension1727); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:146:374: ( ':' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:146:375: ':' + { + match(input,61,FOLLOW_61_in_extension1733); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:146:416: ( ( ( 'JAVA' ) (unnamed56= javaType ) ( '.' ) (unnamed57= identifier ) ( '(' ) ( ( (unnamed58= javaType ) ( ( ( ',' ) (unnamed59= javaType ) ) )* ) )? ( ')' ) | (unnamed60= expression ) ) ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:146:417: ( ( 'JAVA' ) (unnamed56= javaType ) ( '.' ) (unnamed57= identifier ) ( '(' ) ( ( (unnamed58= javaType ) ( ( ( ',' ) (unnamed59= javaType ) ) )* ) )? ( ')' ) | (unnamed60= expression ) ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:146:417: ( ( 'JAVA' ) (unnamed56= javaType ) ( '.' ) (unnamed57= identifier ) ( '(' ) ( ( (unnamed58= javaType ) ( ( ( ',' ) (unnamed59= javaType ) ) )* ) )? ( ')' ) | (unnamed60= expression ) ) + int alt47=2; + int LA47_0 = input.LA(1); + + if ( (LA47_0==67) ) { + alt47=1; + } + else if ( ((LA47_0>=StringLiteral && LA47_0<=Identifier)||LA47_0==31||LA47_0==36||LA47_0==59||(LA47_0>=69 && LA47_0<=72)||(LA47_0>=78 && LA47_0<=79)||(LA47_0>=94 && LA47_0<=108)) ) { + alt47=2; + } + else { + if (backtracking>0) {failed=true; return cn;} + NoViableAltException nvae = + new NoViableAltException("146:417: ( ( 'JAVA' ) (unnamed56= javaType ) ( '.' ) (unnamed57= identifier ) ( '(' ) ( ( (unnamed58= javaType ) ( ( ( ',' ) (unnamed59= javaType ) ) )* ) )? ( ')' ) | (unnamed60= expression ) )", 47, 0, input); + + throw nvae; + } + switch (alt47) { + case 1 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:146:418: ( 'JAVA' ) (unnamed56= javaType ) ( '.' ) (unnamed57= identifier ) ( '(' ) ( ( (unnamed58= javaType ) ( ( ( ',' ) (unnamed59= javaType ) ) )* ) )? ( ')' ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:146:418: ( 'JAVA' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:146:419: 'JAVA' + { + match(input,67,FOLLOW_67_in_extension1741); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:146:463: (unnamed56= javaType ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:146:464: unnamed56= javaType + { + pushFollow(FOLLOW_javaType_in_extension1749); + unnamed56=javaType(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed56); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:146:518: ( '.' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:146:519: '.' + { + match(input,68,FOLLOW_68_in_extension1755); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:146:560: (unnamed57= identifier ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:146:561: unnamed57= identifier + { + pushFollow(FOLLOW_identifier_in_extension1763); + unnamed57=identifier(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed57); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:146:617: ( '(' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:146:618: '(' + { + match(input,31,FOLLOW_31_in_extension1769); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:146:659: ( ( (unnamed58= javaType ) ( ( ( ',' ) (unnamed59= javaType ) ) )* ) )? + int alt46=2; + int LA46_0 = input.LA(1); + + if ( (LA46_0==Identifier) ) { + alt46=1; + } + switch (alt46) { + case 1 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:146:660: ( (unnamed58= javaType ) ( ( ( ',' ) (unnamed59= javaType ) ) )* ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:146:660: ( (unnamed58= javaType ) ( ( ( ',' ) (unnamed59= javaType ) ) )* ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:146:661: (unnamed58= javaType ) ( ( ( ',' ) (unnamed59= javaType ) ) )* + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:146:661: (unnamed58= javaType ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:146:662: unnamed58= javaType + { + pushFollow(FOLLOW_javaType_in_extension1779); + unnamed58=javaType(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed58); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:146:716: ( ( ( ',' ) (unnamed59= javaType ) ) )* + loop45: + do { + int alt45=2; + int LA45_0 = input.LA(1); + + if ( (LA45_0==32) ) { + alt45=1; + } + + + switch (alt45) { + case 1 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:146:717: ( ( ',' ) (unnamed59= javaType ) ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:146:717: ( ( ',' ) (unnamed59= javaType ) ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:146:718: ( ',' ) (unnamed59= javaType ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:146:718: ( ',' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:146:719: ',' + { + match(input,32,FOLLOW_32_in_extension1787); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:146:760: (unnamed59= javaType ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:146:761: unnamed59= javaType + { + pushFollow(FOLLOW_javaType_in_extension1795); + unnamed59=javaType(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed59); + } + + } + + + } + + + } + break; + + default : + break loop45; + } + } while (true); + + + } + + + } + break; + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:146:821: ( ')' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:146:822: ')' + { + match(input,34,FOLLOW_34_in_extension1807); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + + } + break; + case 2 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:147:4: (unnamed60= expression ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:147:4: (unnamed60= expression ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:147:5: unnamed60= expression + { + pushFollow(FOLLOW_expression_in_extension1818); + unnamed60=expression(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed60); + } + + } + + + } + break; + + } + + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:147:63: ( ';' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:147:64: ';' + { + match(input,28,FOLLOW_28_in_extension1826); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return cn; + } + // $ANTLR end extension + + + // $ANTLR start javaType + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:149:1: javaType returns [CompositeNode cn] : (unnamed61= identifier ) ( ( ( '.' ) ( ( (unnamed62= identifier ) | ( 'Collection' ) | ( 'List' ) | ( 'Set' ) ) ) ) )* ; + public CompositeNode javaType() throws RecognitionException { + CompositeNode cn = null; + + CompositeNode unnamed61 = null; + + CompositeNode unnamed62 = null; + + + cn = factory.createJavaTypeNode(); cn.setRule("javaType"); + try { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:151:2: ( (unnamed61= identifier ) ( ( ( '.' ) ( ( (unnamed62= identifier ) | ( 'Collection' ) | ( 'List' ) | ( 'Set' ) ) ) ) )* ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:151:2: (unnamed61= identifier ) ( ( ( '.' ) ( ( (unnamed62= identifier ) | ( 'Collection' ) | ( 'List' ) | ( 'Set' ) ) ) ) )* + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:151:2: (unnamed61= identifier ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:151:3: unnamed61= identifier + { + pushFollow(FOLLOW_identifier_in_javaType1851); + unnamed61=identifier(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed61); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:151:59: ( ( ( '.' ) ( ( (unnamed62= identifier ) | ( 'Collection' ) | ( 'List' ) | ( 'Set' ) ) ) ) )* + loop49: + do { + int alt49=2; + int LA49_0 = input.LA(1); + + if ( (LA49_0==68) ) { + int LA49_1 = input.LA(2); + + if ( (LA49_1==Identifier) ) { + int LA49_3 = input.LA(3); + + if ( (LA49_3==32||LA49_3==34||LA49_3==68) ) { + alt49=1; + } + + + } + else if ( ((LA49_1>=69 && LA49_1<=71)) ) { + alt49=1; + } + + + } + + + switch (alt49) { + case 1 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:151:60: ( ( '.' ) ( ( (unnamed62= identifier ) | ( 'Collection' ) | ( 'List' ) | ( 'Set' ) ) ) ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:151:60: ( ( '.' ) ( ( (unnamed62= identifier ) | ( 'Collection' ) | ( 'List' ) | ( 'Set' ) ) ) ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:151:61: ( '.' ) ( ( (unnamed62= identifier ) | ( 'Collection' ) | ( 'List' ) | ( 'Set' ) ) ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:151:61: ( '.' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:151:62: '.' + { + match(input,68,FOLLOW_68_in_javaType1859); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:151:103: ( ( (unnamed62= identifier ) | ( 'Collection' ) | ( 'List' ) | ( 'Set' ) ) ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:151:104: ( (unnamed62= identifier ) | ( 'Collection' ) | ( 'List' ) | ( 'Set' ) ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:151:104: ( (unnamed62= identifier ) | ( 'Collection' ) | ( 'List' ) | ( 'Set' ) ) + int alt48=4; + switch ( input.LA(1) ) { + case Identifier: + { + alt48=1; + } + break; + case 69: + { + alt48=2; + } + break; + case 70: + { + alt48=3; + } + break; + case 71: + { + alt48=4; + } + break; + default: + if (backtracking>0) {failed=true; return cn;} + NoViableAltException nvae = + new NoViableAltException("151:104: ( (unnamed62= identifier ) | ( 'Collection' ) | ( 'List' ) | ( 'Set' ) )", 48, 0, input); + + throw nvae; + } + + switch (alt48) { + case 1 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:151:105: (unnamed62= identifier ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:151:105: (unnamed62= identifier ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:151:106: unnamed62= identifier + { + pushFollow(FOLLOW_identifier_in_javaType1869); + unnamed62=identifier(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed62); + } + + } + + + } + break; + case 2 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:152:4: ( 'Collection' ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:152:4: ( 'Collection' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:152:5: 'Collection' + { + match(input,69,FOLLOW_69_in_javaType1878); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + + } + break; + case 3 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:153:4: ( 'List' ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:153:4: ( 'List' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:153:5: 'List' + { + match(input,70,FOLLOW_70_in_javaType1887); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + + } + break; + case 4 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:154:4: ( 'Set' ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:154:4: ( 'Set' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:154:5: 'Set' + { + match(input,71,FOLLOW_71_in_javaType1896); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + + } + break; + + } + + + } + + + } + + + } + break; + + default : + break loop49; + } + } while (true); + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return cn; + } + // $ANTLR end javaType + + + // $ANTLR start test_expression + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:156:1: test_expression returns [CompositeNode cn] : (unnamed63= expression ) ( EOF ) ; + public CompositeNode test_expression() throws RecognitionException { + CompositeNode cn = null; + + CompositeNode unnamed63 = null; + + + cn = factory.createTest_expressionNode(); cn.setRule("test_expression"); + try { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:159:2: ( (unnamed63= expression ) ( EOF ) ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:159:2: (unnamed63= expression ) ( EOF ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:159:2: (unnamed63= expression ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:159:3: unnamed63= expression + { + pushFollow(FOLLOW_expression_in_test_expression1931); + unnamed63=expression(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed63); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:159:59: ( EOF ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:159:60: EOF + { + match(input,EOF,FOLLOW_EOF_in_test_expression1937); if (failed) return cn; + + } + + + } + + if ( backtracking==0 ) { + cn = normalize(cn); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return cn; + } + // $ANTLR end test_expression + + + // $ANTLR start expression + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:161:1: expression returns [CompositeNode cn] : (unnamed64= letExpression ) ; + public CompositeNode expression() throws RecognitionException { + CompositeNode cn = null; + + CompositeNode unnamed64 = null; + + + cn = factory.createExpressionNode(); cn.setRule("expression"); + try { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:164:2: ( (unnamed64= letExpression ) ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:164:2: (unnamed64= letExpression ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:164:2: (unnamed64= letExpression ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:164:3: unnamed64= letExpression + { + pushFollow(FOLLOW_letExpression_in_expression1965); + unnamed64=letExpression(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed64); + } + + } + + + } + + if ( backtracking==0 ) { + cn = normalize(cn); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return cn; + } + // $ANTLR end expression + + + // $ANTLR start letExpression + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:166:1: letExpression returns [CompositeNode cn] : ( ( 'let' ) (unnamed65= identifier ) ( '=' ) (unnamed66= castedExpression ) ( ':' ) (unnamed67= expression ) | (unnamed68= castedExpression ) ); + public CompositeNode letExpression() throws RecognitionException { + CompositeNode cn = null; + + CompositeNode unnamed65 = null; + + CompositeNode unnamed66 = null; + + CompositeNode unnamed67 = null; + + CompositeNode unnamed68 = null; + + + cn = factory.createLetExpressionNode(); cn.setRule("letExpression"); + try { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:169:2: ( ( 'let' ) (unnamed65= identifier ) ( '=' ) (unnamed66= castedExpression ) ( ':' ) (unnamed67= expression ) | (unnamed68= castedExpression ) ) + int alt50=2; + int LA50_0 = input.LA(1); + + if ( (LA50_0==72) ) { + alt50=1; + } + else if ( ((LA50_0>=StringLiteral && LA50_0<=Identifier)||LA50_0==31||LA50_0==36||LA50_0==59||(LA50_0>=69 && LA50_0<=71)||(LA50_0>=78 && LA50_0<=79)||(LA50_0>=94 && LA50_0<=108)) ) { + alt50=2; + } + else { + if (backtracking>0) {failed=true; return cn;} + NoViableAltException nvae = + new NoViableAltException("166:1: letExpression returns [CompositeNode cn] : ( ( 'let' ) (unnamed65= identifier ) ( '=' ) (unnamed66= castedExpression ) ( ':' ) (unnamed67= expression ) | (unnamed68= castedExpression ) );", 50, 0, input); + + throw nvae; + } + switch (alt50) { + case 1 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:169:2: ( 'let' ) (unnamed65= identifier ) ( '=' ) (unnamed66= castedExpression ) ( ':' ) (unnamed67= expression ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:169:2: ( 'let' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:169:3: 'let' + { + match(input,72,FOLLOW_72_in_letExpression1993); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:169:46: (unnamed65= identifier ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:169:47: unnamed65= identifier + { + pushFollow(FOLLOW_identifier_in_letExpression2001); + unnamed65=identifier(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed65); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:169:103: ( '=' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:169:104: '=' + { + match(input,73,FOLLOW_73_in_letExpression2007); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:169:145: (unnamed66= castedExpression ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:169:146: unnamed66= castedExpression + { + pushFollow(FOLLOW_castedExpression_in_letExpression2015); + unnamed66=castedExpression(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed66); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:169:208: ( ':' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:169:209: ':' + { + match(input,61,FOLLOW_61_in_letExpression2021); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:169:250: (unnamed67= expression ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:169:251: unnamed67= expression + { + pushFollow(FOLLOW_expression_in_letExpression2029); + unnamed67=expression(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed67); + } + + } + + + } + break; + case 2 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:170:4: (unnamed68= castedExpression ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:170:4: (unnamed68= castedExpression ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:170:5: unnamed68= castedExpression + { + pushFollow(FOLLOW_castedExpression_in_letExpression2040); + unnamed68=castedExpression(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed68); + } + + } + + + } + break; + + } + if ( backtracking==0 ) { + cn = normalize(cn); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return cn; + } + // $ANTLR end letExpression + + + // $ANTLR start castedExpression + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:172:1: castedExpression returns [CompositeNode cn] : ( ( '(' type ')' chainExpression )=> ( ( '(' ) (unnamed69= type ) ( ')' ) (unnamed70= chainExpression ) ) | (unnamed71= chainExpression ) ); + public CompositeNode castedExpression() throws RecognitionException { + CompositeNode cn = null; + + CompositeNode unnamed69 = null; + + CompositeNode unnamed70 = null; + + CompositeNode unnamed71 = null; + + + cn = factory.createCastedExpressionNode(); cn.setRule("castedExpression"); + try { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:175:2: ( ( '(' type ')' chainExpression )=> ( ( '(' ) (unnamed69= type ) ( ')' ) (unnamed70= chainExpression ) ) | (unnamed71= chainExpression ) ) + int alt51=2; + alt51 = dfa51.predict(input); + switch (alt51) { + case 1 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:175:2: ( '(' type ')' chainExpression )=> ( ( '(' ) (unnamed69= type ) ( ')' ) (unnamed70= chainExpression ) ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:175:34: ( ( '(' ) (unnamed69= type ) ( ')' ) (unnamed70= chainExpression ) ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:175:35: ( '(' ) (unnamed69= type ) ( ')' ) (unnamed70= chainExpression ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:175:35: ( '(' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:175:36: '(' + { + match(input,31,FOLLOW_31_in_castedExpression2079); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:175:77: (unnamed69= type ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:175:78: unnamed69= type + { + pushFollow(FOLLOW_type_in_castedExpression2087); + unnamed69=type(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed69); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:175:128: ( ')' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:175:129: ')' + { + match(input,34,FOLLOW_34_in_castedExpression2093); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:175:170: (unnamed70= chainExpression ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:175:171: unnamed70= chainExpression + { + pushFollow(FOLLOW_chainExpression_in_castedExpression2101); + unnamed70=chainExpression(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed70); + } + + } + + + } + + + } + break; + case 2 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:176:4: (unnamed71= chainExpression ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:176:4: (unnamed71= chainExpression ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:176:5: unnamed71= chainExpression + { + pushFollow(FOLLOW_chainExpression_in_castedExpression2113); + unnamed71=chainExpression(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed71); + } + + } + + + } + break; + + } + if ( backtracking==0 ) { + cn = normalize(cn); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return cn; + } + // $ANTLR end castedExpression + + + // $ANTLR start chainExpression + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:178:1: chainExpression returns [CompositeNode cn] : (unnamed72= ifExpression ) ( ( ( '->' ) (unnamed73= ifExpression ) ) )* ; + public CompositeNode chainExpression() throws RecognitionException { + CompositeNode cn = null; + + CompositeNode unnamed72 = null; + + CompositeNode unnamed73 = null; + + + cn = factory.createChainExpressionNode(); cn.setRule("chainExpression"); + try { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:181:2: ( (unnamed72= ifExpression ) ( ( ( '->' ) (unnamed73= ifExpression ) ) )* ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:181:2: (unnamed72= ifExpression ) ( ( ( '->' ) (unnamed73= ifExpression ) ) )* + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:181:2: (unnamed72= ifExpression ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:181:3: unnamed72= ifExpression + { + pushFollow(FOLLOW_ifExpression_in_chainExpression2143); + unnamed72=ifExpression(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed72); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:181:61: ( ( ( '->' ) (unnamed73= ifExpression ) ) )* + loop52: + do { + int alt52=2; + int LA52_0 = input.LA(1); + + if ( (LA52_0==74) ) { + alt52=1; + } + + + switch (alt52) { + case 1 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:181:62: ( ( '->' ) (unnamed73= ifExpression ) ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:181:62: ( ( '->' ) (unnamed73= ifExpression ) ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:181:63: ( '->' ) (unnamed73= ifExpression ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:181:63: ( '->' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:181:64: '->' + { + match(input,74,FOLLOW_74_in_chainExpression2151); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:181:106: (unnamed73= ifExpression ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:181:107: unnamed73= ifExpression + { + pushFollow(FOLLOW_ifExpression_in_chainExpression2159); + unnamed73=ifExpression(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed73); + } + + } + + + } + + + } + break; + + default : + break loop52; + } + } while (true); + + + } + + if ( backtracking==0 ) { + cn = normalize(cn); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return cn; + } + // $ANTLR end chainExpression + + + // $ANTLR start ifExpression + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:183:1: ifExpression returns [CompositeNode cn] : ( (unnamed74= switchExpression ) ( ( ( '?' ) (unnamed75= expression ) ( ':' ) (unnamed76= switchExpression ) ) )? | ( 'if' ) (unnamed77= expression ) ( 'then' ) (unnamed78= switchExpression ) ( ( ( 'else' ) (unnamed79= switchExpression ) ) )? ); + public CompositeNode ifExpression() throws RecognitionException { + CompositeNode cn = null; + + CompositeNode unnamed74 = null; + + CompositeNode unnamed75 = null; + + CompositeNode unnamed76 = null; + + CompositeNode unnamed77 = null; + + CompositeNode unnamed78 = null; + + CompositeNode unnamed79 = null; + + + cn = factory.createIfExpressionNode(); cn.setRule("ifExpression"); + try { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:186:2: ( (unnamed74= switchExpression ) ( ( ( '?' ) (unnamed75= expression ) ( ':' ) (unnamed76= switchExpression ) ) )? | ( 'if' ) (unnamed77= expression ) ( 'then' ) (unnamed78= switchExpression ) ( ( ( 'else' ) (unnamed79= switchExpression ) ) )? ) + int alt55=2; + int LA55_0 = input.LA(1); + + if ( ((LA55_0>=StringLiteral && LA55_0<=Identifier)||LA55_0==31||LA55_0==36||(LA55_0>=69 && LA55_0<=71)||(LA55_0>=78 && LA55_0<=79)||(LA55_0>=94 && LA55_0<=108)) ) { + alt55=1; + } + else if ( (LA55_0==59) ) { + alt55=2; + } + else { + if (backtracking>0) {failed=true; return cn;} + NoViableAltException nvae = + new NoViableAltException("183:1: ifExpression returns [CompositeNode cn] : ( (unnamed74= switchExpression ) ( ( ( '?' ) (unnamed75= expression ) ( ':' ) (unnamed76= switchExpression ) ) )? | ( 'if' ) (unnamed77= expression ) ( 'then' ) (unnamed78= switchExpression ) ( ( ( 'else' ) (unnamed79= switchExpression ) ) )? );", 55, 0, input); + + throw nvae; + } + switch (alt55) { + case 1 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:186:2: (unnamed74= switchExpression ) ( ( ( '?' ) (unnamed75= expression ) ( ':' ) (unnamed76= switchExpression ) ) )? + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:186:2: (unnamed74= switchExpression ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:186:3: unnamed74= switchExpression + { + pushFollow(FOLLOW_switchExpression_in_ifExpression2192); + unnamed74=switchExpression(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed74); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:186:65: ( ( ( '?' ) (unnamed75= expression ) ( ':' ) (unnamed76= switchExpression ) ) )? + int alt53=2; + int LA53_0 = input.LA(1); + + if ( (LA53_0==75) ) { + alt53=1; + } + switch (alt53) { + case 1 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:186:66: ( ( '?' ) (unnamed75= expression ) ( ':' ) (unnamed76= switchExpression ) ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:186:66: ( ( '?' ) (unnamed75= expression ) ( ':' ) (unnamed76= switchExpression ) ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:186:67: ( '?' ) (unnamed75= expression ) ( ':' ) (unnamed76= switchExpression ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:186:67: ( '?' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:186:68: '?' + { + match(input,75,FOLLOW_75_in_ifExpression2200); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:186:109: (unnamed75= expression ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:186:110: unnamed75= expression + { + pushFollow(FOLLOW_expression_in_ifExpression2208); + unnamed75=expression(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed75); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:186:166: ( ':' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:186:167: ':' + { + match(input,61,FOLLOW_61_in_ifExpression2214); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:186:208: (unnamed76= switchExpression ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:186:209: unnamed76= switchExpression + { + pushFollow(FOLLOW_switchExpression_in_ifExpression2222); + unnamed76=switchExpression(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed76); + } + + } + + + } + + + } + break; + + } + + + } + break; + case 2 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:187:4: ( 'if' ) (unnamed77= expression ) ( 'then' ) (unnamed78= switchExpression ) ( ( ( 'else' ) (unnamed79= switchExpression ) ) )? + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:187:4: ( 'if' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:187:5: 'if' + { + match(input,59,FOLLOW_59_in_ifExpression2234); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:187:47: (unnamed77= expression ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:187:48: unnamed77= expression + { + pushFollow(FOLLOW_expression_in_ifExpression2242); + unnamed77=expression(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed77); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:187:104: ( 'then' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:187:105: 'then' + { + match(input,76,FOLLOW_76_in_ifExpression2248); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:187:149: (unnamed78= switchExpression ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:187:150: unnamed78= switchExpression + { + pushFollow(FOLLOW_switchExpression_in_ifExpression2256); + unnamed78=switchExpression(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed78); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:187:212: ( ( ( 'else' ) (unnamed79= switchExpression ) ) )? + int alt54=2; + int LA54_0 = input.LA(1); + + if ( (LA54_0==77) ) { + alt54=1; + } + switch (alt54) { + case 1 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:187:213: ( ( 'else' ) (unnamed79= switchExpression ) ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:187:213: ( ( 'else' ) (unnamed79= switchExpression ) ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:187:214: ( 'else' ) (unnamed79= switchExpression ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:187:214: ( 'else' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:187:215: 'else' + { + match(input,77,FOLLOW_77_in_ifExpression2264); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:187:259: (unnamed79= switchExpression ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:187:260: unnamed79= switchExpression + { + pushFollow(FOLLOW_switchExpression_in_ifExpression2272); + unnamed79=switchExpression(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed79); + } + + } + + + } + + + } + break; + + } + + + } + break; + + } + if ( backtracking==0 ) { + cn = normalize(cn); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return cn; + } + // $ANTLR end ifExpression + + + // $ANTLR start switchExpression + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:189:1: switchExpression returns [CompositeNode cn] : ( ( 'switch' ) ( ( ( '(' ) (unnamed80= orExpression ) ( ')' ) ) )? ( '{' ) (unnamed81= casePart )* ( 'default' ) ( ':' ) (unnamed82= orExpression ) ( '}' ) | (unnamed83= orExpression ) ); + public CompositeNode switchExpression() throws RecognitionException { + CompositeNode cn = null; + + CompositeNode unnamed80 = null; + + CompositeNode unnamed81 = null; + + CompositeNode unnamed82 = null; + + CompositeNode unnamed83 = null; + + + cn = factory.createSwitchExpressionNode(); cn.setRule("switchExpression"); + try { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:192:2: ( ( 'switch' ) ( ( ( '(' ) (unnamed80= orExpression ) ( ')' ) ) )? ( '{' ) (unnamed81= casePart )* ( 'default' ) ( ':' ) (unnamed82= orExpression ) ( '}' ) | (unnamed83= orExpression ) ) + int alt58=2; + int LA58_0 = input.LA(1); + + if ( (LA58_0==78) ) { + alt58=1; + } + else if ( ((LA58_0>=StringLiteral && LA58_0<=Identifier)||LA58_0==31||LA58_0==36||(LA58_0>=69 && LA58_0<=71)||LA58_0==79||(LA58_0>=94 && LA58_0<=108)) ) { + alt58=2; + } + else { + if (backtracking>0) {failed=true; return cn;} + NoViableAltException nvae = + new NoViableAltException("189:1: switchExpression returns [CompositeNode cn] : ( ( 'switch' ) ( ( ( '(' ) (unnamed80= orExpression ) ( ')' ) ) )? ( '{' ) (unnamed81= casePart )* ( 'default' ) ( ':' ) (unnamed82= orExpression ) ( '}' ) | (unnamed83= orExpression ) );", 58, 0, input); + + throw nvae; + } + switch (alt58) { + case 1 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:192:2: ( 'switch' ) ( ( ( '(' ) (unnamed80= orExpression ) ( ')' ) ) )? ( '{' ) (unnamed81= casePart )* ( 'default' ) ( ':' ) (unnamed82= orExpression ) ( '}' ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:192:2: ( 'switch' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:192:3: 'switch' + { + match(input,78,FOLLOW_78_in_switchExpression2303); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:192:49: ( ( ( '(' ) (unnamed80= orExpression ) ( ')' ) ) )? + int alt56=2; + int LA56_0 = input.LA(1); + + if ( (LA56_0==31) ) { + alt56=1; + } + switch (alt56) { + case 1 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:192:50: ( ( '(' ) (unnamed80= orExpression ) ( ')' ) ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:192:50: ( ( '(' ) (unnamed80= orExpression ) ( ')' ) ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:192:51: ( '(' ) (unnamed80= orExpression ) ( ')' ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:192:51: ( '(' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:192:52: '(' + { + match(input,31,FOLLOW_31_in_switchExpression2311); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:192:93: (unnamed80= orExpression ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:192:94: unnamed80= orExpression + { + pushFollow(FOLLOW_orExpression_in_switchExpression2319); + unnamed80=orExpression(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed80); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:192:152: ( ')' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:192:153: ')' + { + match(input,34,FOLLOW_34_in_switchExpression2325); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + + } + + + } + break; + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:192:197: ( '{' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:192:198: '{' + { + match(input,79,FOLLOW_79_in_switchExpression2334); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:192:239: (unnamed81= casePart )* + loop57: + do { + int alt57=2; + int LA57_0 = input.LA(1); + + if ( (LA57_0==82) ) { + alt57=1; + } + + + switch (alt57) { + case 1 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:192:240: unnamed81= casePart + { + pushFollow(FOLLOW_casePart_in_switchExpression2342); + unnamed81=casePart(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed81); + } + + } + break; + + default : + break loop57; + } + } while (true); + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:192:295: ( 'default' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:192:296: 'default' + { + match(input,80,FOLLOW_80_in_switchExpression2349); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:192:343: ( ':' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:192:344: ':' + { + match(input,61,FOLLOW_61_in_switchExpression2355); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:192:385: (unnamed82= orExpression ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:192:386: unnamed82= orExpression + { + pushFollow(FOLLOW_orExpression_in_switchExpression2363); + unnamed82=orExpression(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed82); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:192:444: ( '}' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:192:445: '}' + { + match(input,81,FOLLOW_81_in_switchExpression2369); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + + } + break; + case 2 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:193:4: (unnamed83= orExpression ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:193:4: (unnamed83= orExpression ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:193:5: unnamed83= orExpression + { + pushFollow(FOLLOW_orExpression_in_switchExpression2380); + unnamed83=orExpression(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed83); + } + + } + + + } + break; + + } + if ( backtracking==0 ) { + cn = normalize(cn); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return cn; + } + // $ANTLR end switchExpression + + + // $ANTLR start casePart + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:195:1: casePart returns [CompositeNode cn] : ( 'case' ) (unnamed84= expression ) ( ':' ) (unnamed85= expression ) ; + public CompositeNode casePart() throws RecognitionException { + CompositeNode cn = null; + + CompositeNode unnamed84 = null; + + CompositeNode unnamed85 = null; + + + cn = factory.createCasePartNode(); cn.setRule("casePart"); + try { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:197:2: ( ( 'case' ) (unnamed84= expression ) ( ':' ) (unnamed85= expression ) ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:197:2: ( 'case' ) (unnamed84= expression ) ( ':' ) (unnamed85= expression ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:197:2: ( 'case' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:197:3: 'case' + { + match(input,82,FOLLOW_82_in_casePart2403); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:197:47: (unnamed84= expression ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:197:48: unnamed84= expression + { + pushFollow(FOLLOW_expression_in_casePart2411); + unnamed84=expression(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed84); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:197:104: ( ':' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:197:105: ':' + { + match(input,61,FOLLOW_61_in_casePart2417); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:197:146: (unnamed85= expression ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:197:147: unnamed85= expression + { + pushFollow(FOLLOW_expression_in_casePart2425); + unnamed85=expression(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed85); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return cn; + } + // $ANTLR end casePart + + + // $ANTLR start orExpression + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:199:1: orExpression returns [CompositeNode cn] : (unnamed86= andExpression ) ( ( ( '||' ) (unnamed87= andExpression ) ) )* ; + public CompositeNode orExpression() throws RecognitionException { + CompositeNode cn = null; + + CompositeNode unnamed86 = null; + + CompositeNode unnamed87 = null; + + + cn = factory.createOrExpressionNode(); cn.setRule("orExpression"); + try { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:202:2: ( (unnamed86= andExpression ) ( ( ( '||' ) (unnamed87= andExpression ) ) )* ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:202:2: (unnamed86= andExpression ) ( ( ( '||' ) (unnamed87= andExpression ) ) )* + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:202:2: (unnamed86= andExpression ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:202:3: unnamed86= andExpression + { + pushFollow(FOLLOW_andExpression_in_orExpression2455); + unnamed86=andExpression(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed86); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:202:62: ( ( ( '||' ) (unnamed87= andExpression ) ) )* + loop59: + do { + int alt59=2; + int LA59_0 = input.LA(1); + + if ( (LA59_0==83) ) { + alt59=1; + } + + + switch (alt59) { + case 1 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:202:63: ( ( '||' ) (unnamed87= andExpression ) ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:202:63: ( ( '||' ) (unnamed87= andExpression ) ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:202:64: ( '||' ) (unnamed87= andExpression ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:202:64: ( '||' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:202:65: '||' + { + match(input,83,FOLLOW_83_in_orExpression2463); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:202:107: (unnamed87= andExpression ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:202:108: unnamed87= andExpression + { + pushFollow(FOLLOW_andExpression_in_orExpression2471); + unnamed87=andExpression(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed87); + } + + } + + + } + + + } + break; + + default : + break loop59; + } + } while (true); + + + } + + if ( backtracking==0 ) { + cn = normalize(cn); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return cn; + } + // $ANTLR end orExpression + + + // $ANTLR start andExpression + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:204:1: andExpression returns [CompositeNode cn] : (unnamed88= impliesExpression ) ( ( ( '&&' ) (unnamed89= impliesExpression ) ) )* ; + public CompositeNode andExpression() throws RecognitionException { + CompositeNode cn = null; + + CompositeNode unnamed88 = null; + + CompositeNode unnamed89 = null; + + + cn = factory.createAndExpressionNode(); cn.setRule("andExpression"); + try { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:207:2: ( (unnamed88= impliesExpression ) ( ( ( '&&' ) (unnamed89= impliesExpression ) ) )* ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:207:2: (unnamed88= impliesExpression ) ( ( ( '&&' ) (unnamed89= impliesExpression ) ) )* + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:207:2: (unnamed88= impliesExpression ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:207:3: unnamed88= impliesExpression + { + pushFollow(FOLLOW_impliesExpression_in_andExpression2504); + unnamed88=impliesExpression(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed88); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:207:66: ( ( ( '&&' ) (unnamed89= impliesExpression ) ) )* + loop60: + do { + int alt60=2; + int LA60_0 = input.LA(1); + + if ( (LA60_0==84) ) { + alt60=1; + } + + + switch (alt60) { + case 1 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:207:67: ( ( '&&' ) (unnamed89= impliesExpression ) ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:207:67: ( ( '&&' ) (unnamed89= impliesExpression ) ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:207:68: ( '&&' ) (unnamed89= impliesExpression ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:207:68: ( '&&' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:207:69: '&&' + { + match(input,84,FOLLOW_84_in_andExpression2512); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:207:111: (unnamed89= impliesExpression ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:207:112: unnamed89= impliesExpression + { + pushFollow(FOLLOW_impliesExpression_in_andExpression2520); + unnamed89=impliesExpression(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed89); + } + + } + + + } + + + } + break; + + default : + break loop60; + } + } while (true); + + + } + + if ( backtracking==0 ) { + cn = normalize(cn); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return cn; + } + // $ANTLR end andExpression + + + // $ANTLR start impliesExpression + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:209:1: impliesExpression returns [CompositeNode cn] : (unnamed90= relationalExpression ) ( ( ( 'implies' ) (unnamed91= relationalExpression ) ) )* ; + public CompositeNode impliesExpression() throws RecognitionException { + CompositeNode cn = null; + + CompositeNode unnamed90 = null; + + CompositeNode unnamed91 = null; + + + cn = factory.createImpliesExpressionNode(); cn.setRule("impliesExpression"); + try { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:212:2: ( (unnamed90= relationalExpression ) ( ( ( 'implies' ) (unnamed91= relationalExpression ) ) )* ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:212:2: (unnamed90= relationalExpression ) ( ( ( 'implies' ) (unnamed91= relationalExpression ) ) )* + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:212:2: (unnamed90= relationalExpression ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:212:3: unnamed90= relationalExpression + { + pushFollow(FOLLOW_relationalExpression_in_impliesExpression2553); + unnamed90=relationalExpression(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed90); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:212:69: ( ( ( 'implies' ) (unnamed91= relationalExpression ) ) )* + loop61: + do { + int alt61=2; + int LA61_0 = input.LA(1); + + if ( (LA61_0==85) ) { + alt61=1; + } + + + switch (alt61) { + case 1 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:212:70: ( ( 'implies' ) (unnamed91= relationalExpression ) ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:212:70: ( ( 'implies' ) (unnamed91= relationalExpression ) ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:212:71: ( 'implies' ) (unnamed91= relationalExpression ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:212:71: ( 'implies' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:212:72: 'implies' + { + match(input,85,FOLLOW_85_in_impliesExpression2561); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:212:119: (unnamed91= relationalExpression ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:212:120: unnamed91= relationalExpression + { + pushFollow(FOLLOW_relationalExpression_in_impliesExpression2569); + unnamed91=relationalExpression(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed91); + } + + } + + + } + + + } + break; + + default : + break loop61; + } + } while (true); + + + } + + if ( backtracking==0 ) { + cn = normalize(cn); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return cn; + } + // $ANTLR end impliesExpression + + + // $ANTLR start relationalExpression + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:214:1: relationalExpression returns [CompositeNode cn] : (unnamed92= additiveExpression ) ( ( ( ( ( '==' ) | ( '!=' ) | ( '>=' ) | ( '<=' ) | ( '>' ) | ( '<' ) ) ) (unnamed93= additiveExpression ) ) )* ; + public CompositeNode relationalExpression() throws RecognitionException { + CompositeNode cn = null; + + CompositeNode unnamed92 = null; + + CompositeNode unnamed93 = null; + + + cn = factory.createRelationalExpressionNode(); cn.setRule("relationalExpression"); + try { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:217:2: ( (unnamed92= additiveExpression ) ( ( ( ( ( '==' ) | ( '!=' ) | ( '>=' ) | ( '<=' ) | ( '>' ) | ( '<' ) ) ) (unnamed93= additiveExpression ) ) )* ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:217:2: (unnamed92= additiveExpression ) ( ( ( ( ( '==' ) | ( '!=' ) | ( '>=' ) | ( '<=' ) | ( '>' ) | ( '<' ) ) ) (unnamed93= additiveExpression ) ) )* + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:217:2: (unnamed92= additiveExpression ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:217:3: unnamed92= additiveExpression + { + pushFollow(FOLLOW_additiveExpression_in_relationalExpression2602); + unnamed92=additiveExpression(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed92); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:217:67: ( ( ( ( ( '==' ) | ( '!=' ) | ( '>=' ) | ( '<=' ) | ( '>' ) | ( '<' ) ) ) (unnamed93= additiveExpression ) ) )* + loop63: + do { + int alt63=2; + int LA63_0 = input.LA(1); + + if ( ((LA63_0>=86 && LA63_0<=91)) ) { + alt63=1; + } + + + switch (alt63) { + case 1 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:217:68: ( ( ( ( '==' ) | ( '!=' ) | ( '>=' ) | ( '<=' ) | ( '>' ) | ( '<' ) ) ) (unnamed93= additiveExpression ) ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:217:68: ( ( ( ( '==' ) | ( '!=' ) | ( '>=' ) | ( '<=' ) | ( '>' ) | ( '<' ) ) ) (unnamed93= additiveExpression ) ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:217:69: ( ( ( '==' ) | ( '!=' ) | ( '>=' ) | ( '<=' ) | ( '>' ) | ( '<' ) ) ) (unnamed93= additiveExpression ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:217:69: ( ( ( '==' ) | ( '!=' ) | ( '>=' ) | ( '<=' ) | ( '>' ) | ( '<' ) ) ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:217:70: ( ( '==' ) | ( '!=' ) | ( '>=' ) | ( '<=' ) | ( '>' ) | ( '<' ) ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:217:70: ( ( '==' ) | ( '!=' ) | ( '>=' ) | ( '<=' ) | ( '>' ) | ( '<' ) ) + int alt62=6; + switch ( input.LA(1) ) { + case 86: + { + alt62=1; + } + break; + case 87: + { + alt62=2; + } + break; + case 88: + { + alt62=3; + } + break; + case 89: + { + alt62=4; + } + break; + case 90: + { + alt62=5; + } + break; + case 91: + { + alt62=6; + } + break; + default: + if (backtracking>0) {failed=true; return cn;} + NoViableAltException nvae = + new NoViableAltException("217:70: ( ( '==' ) | ( '!=' ) | ( '>=' ) | ( '<=' ) | ( '>' ) | ( '<' ) )", 62, 0, input); + + throw nvae; + } + + switch (alt62) { + case 1 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:217:71: ( '==' ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:217:71: ( '==' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:217:72: '==' + { + match(input,86,FOLLOW_86_in_relationalExpression2612); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + + } + break; + case 2 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:218:4: ( '!=' ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:218:4: ( '!=' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:218:5: '!=' + { + match(input,87,FOLLOW_87_in_relationalExpression2621); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + + } + break; + case 3 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:219:4: ( '>=' ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:219:4: ( '>=' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:219:5: '>=' + { + match(input,88,FOLLOW_88_in_relationalExpression2630); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + + } + break; + case 4 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:220:4: ( '<=' ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:220:4: ( '<=' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:220:5: '<=' + { + match(input,89,FOLLOW_89_in_relationalExpression2639); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + + } + break; + case 5 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:221:4: ( '>' ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:221:4: ( '>' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:221:5: '>' + { + match(input,90,FOLLOW_90_in_relationalExpression2648); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + + } + break; + case 6 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:222:4: ( '<' ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:222:4: ( '<' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:222:5: '<' + { + match(input,91,FOLLOW_91_in_relationalExpression2657); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + + } + break; + + } + + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:222:48: (unnamed93= additiveExpression ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:222:49: unnamed93= additiveExpression + { + pushFollow(FOLLOW_additiveExpression_in_relationalExpression2667); + unnamed93=additiveExpression(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed93); + } + + } + + + } + + + } + break; + + default : + break loop63; + } + } while (true); + + + } + + if ( backtracking==0 ) { + cn = normalize(cn); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return cn; + } + // $ANTLR end relationalExpression + + + // $ANTLR start additiveExpression + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:224:1: additiveExpression returns [CompositeNode cn] : (unnamed94= multiplicativeExpression ) ( ( ( ( ( '+' ) | ( '-' ) ) ) (unnamed95= multiplicativeExpression ) ) )* ; + public CompositeNode additiveExpression() throws RecognitionException { + CompositeNode cn = null; + + CompositeNode unnamed94 = null; + + CompositeNode unnamed95 = null; + + + cn = factory.createAdditiveExpressionNode(); cn.setRule("additiveExpression"); + try { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:227:2: ( (unnamed94= multiplicativeExpression ) ( ( ( ( ( '+' ) | ( '-' ) ) ) (unnamed95= multiplicativeExpression ) ) )* ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:227:2: (unnamed94= multiplicativeExpression ) ( ( ( ( ( '+' ) | ( '-' ) ) ) (unnamed95= multiplicativeExpression ) ) )* + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:227:2: (unnamed94= multiplicativeExpression ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:227:3: unnamed94= multiplicativeExpression + { + pushFollow(FOLLOW_multiplicativeExpression_in_additiveExpression2700); + unnamed94=multiplicativeExpression(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed94); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:227:73: ( ( ( ( ( '+' ) | ( '-' ) ) ) (unnamed95= multiplicativeExpression ) ) )* + loop65: + do { + int alt65=2; + int LA65_0 = input.LA(1); + + if ( (LA65_0==36) ) { + int LA65_2 = input.LA(2); + + if ( ((LA65_2>=StringLiteral && LA65_2<=Identifier)||LA65_2==31||LA65_2==36||(LA65_2>=69 && LA65_2<=71)||LA65_2==79||(LA65_2>=94 && LA65_2<=108)) ) { + alt65=1; + } + + + } + else if ( (LA65_0==92) ) { + alt65=1; + } + + + switch (alt65) { + case 1 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:227:74: ( ( ( ( '+' ) | ( '-' ) ) ) (unnamed95= multiplicativeExpression ) ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:227:74: ( ( ( ( '+' ) | ( '-' ) ) ) (unnamed95= multiplicativeExpression ) ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:227:75: ( ( ( '+' ) | ( '-' ) ) ) (unnamed95= multiplicativeExpression ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:227:75: ( ( ( '+' ) | ( '-' ) ) ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:227:76: ( ( '+' ) | ( '-' ) ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:227:76: ( ( '+' ) | ( '-' ) ) + int alt64=2; + int LA64_0 = input.LA(1); + + if ( (LA64_0==92) ) { + alt64=1; + } + else if ( (LA64_0==36) ) { + alt64=2; + } + else { + if (backtracking>0) {failed=true; return cn;} + NoViableAltException nvae = + new NoViableAltException("227:76: ( ( '+' ) | ( '-' ) )", 64, 0, input); + + throw nvae; + } + switch (alt64) { + case 1 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:227:77: ( '+' ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:227:77: ( '+' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:227:78: '+' + { + match(input,92,FOLLOW_92_in_additiveExpression2710); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + + } + break; + case 2 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:228:4: ( '-' ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:228:4: ( '-' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:228:5: '-' + { + match(input,36,FOLLOW_36_in_additiveExpression2719); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + + } + break; + + } + + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:228:48: (unnamed95= multiplicativeExpression ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:228:49: unnamed95= multiplicativeExpression + { + pushFollow(FOLLOW_multiplicativeExpression_in_additiveExpression2729); + unnamed95=multiplicativeExpression(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed95); + } + + } + + + } + + + } + break; + + default : + break loop65; + } + } while (true); + + + } + + if ( backtracking==0 ) { + cn = normalize(cn); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return cn; + } + // $ANTLR end additiveExpression + + + // $ANTLR start multiplicativeExpression + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:230:1: multiplicativeExpression returns [CompositeNode cn] : (unnamed96= unaryExpression ) ( ( ( ( ( '*' ) | ( '/' ) ) ) (unnamed97= unaryExpression ) ) )* ; + public CompositeNode multiplicativeExpression() throws RecognitionException { + CompositeNode cn = null; + + CompositeNode unnamed96 = null; + + CompositeNode unnamed97 = null; + + + cn = factory.createMultiplicativeExpressionNode(); cn.setRule("multiplicativeExpression"); + try { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:233:2: ( (unnamed96= unaryExpression ) ( ( ( ( ( '*' ) | ( '/' ) ) ) (unnamed97= unaryExpression ) ) )* ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:233:2: (unnamed96= unaryExpression ) ( ( ( ( ( '*' ) | ( '/' ) ) ) (unnamed97= unaryExpression ) ) )* + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:233:2: (unnamed96= unaryExpression ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:233:3: unnamed96= unaryExpression + { + pushFollow(FOLLOW_unaryExpression_in_multiplicativeExpression2762); + unnamed96=unaryExpression(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed96); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:233:64: ( ( ( ( ( '*' ) | ( '/' ) ) ) (unnamed97= unaryExpression ) ) )* + loop67: + do { + int alt67=2; + int LA67_0 = input.LA(1); + + if ( (LA67_0==33||LA67_0==93) ) { + alt67=1; + } + + + switch (alt67) { + case 1 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:233:65: ( ( ( ( '*' ) | ( '/' ) ) ) (unnamed97= unaryExpression ) ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:233:65: ( ( ( ( '*' ) | ( '/' ) ) ) (unnamed97= unaryExpression ) ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:233:66: ( ( ( '*' ) | ( '/' ) ) ) (unnamed97= unaryExpression ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:233:66: ( ( ( '*' ) | ( '/' ) ) ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:233:67: ( ( '*' ) | ( '/' ) ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:233:67: ( ( '*' ) | ( '/' ) ) + int alt66=2; + int LA66_0 = input.LA(1); + + if ( (LA66_0==33) ) { + alt66=1; + } + else if ( (LA66_0==93) ) { + alt66=2; + } + else { + if (backtracking>0) {failed=true; return cn;} + NoViableAltException nvae = + new NoViableAltException("233:67: ( ( '*' ) | ( '/' ) )", 66, 0, input); + + throw nvae; + } + switch (alt66) { + case 1 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:233:68: ( '*' ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:233:68: ( '*' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:233:69: '*' + { + match(input,33,FOLLOW_33_in_multiplicativeExpression2772); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + + } + break; + case 2 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:234:4: ( '/' ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:234:4: ( '/' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:234:5: '/' + { + match(input,93,FOLLOW_93_in_multiplicativeExpression2781); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + + } + break; + + } + + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:234:48: (unnamed97= unaryExpression ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:234:49: unnamed97= unaryExpression + { + pushFollow(FOLLOW_unaryExpression_in_multiplicativeExpression2791); + unnamed97=unaryExpression(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed97); + } + + } + + + } + + + } + break; + + default : + break loop67; + } + } while (true); + + + } + + if ( backtracking==0 ) { + cn = normalize(cn); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return cn; + } + // $ANTLR end multiplicativeExpression + + + // $ANTLR start unaryExpression + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:236:1: unaryExpression returns [CompositeNode cn] : ( (unnamed98= infixExpression ) | ( '!' ) (unnamed99= infixExpression ) | ( '-' ) (unnamed100= infixExpression ) ); + public CompositeNode unaryExpression() throws RecognitionException { + CompositeNode cn = null; + + CompositeNode unnamed98 = null; + + CompositeNode unnamed99 = null; + + CompositeNode unnamed100 = null; + + + cn = factory.createUnaryExpressionNode(); cn.setRule("unaryExpression"); + try { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:239:2: ( (unnamed98= infixExpression ) | ( '!' ) (unnamed99= infixExpression ) | ( '-' ) (unnamed100= infixExpression ) ) + int alt68=3; + switch ( input.LA(1) ) { + case StringLiteral: + case IntLiteral: + case Identifier: + case 31: + case 69: + case 70: + case 71: + case 79: + case 95: + case 96: + case 97: + case 98: + case 99: + case 100: + case 101: + case 102: + case 103: + case 104: + case 105: + case 106: + case 107: + case 108: + { + alt68=1; + } + break; + case 94: + { + alt68=2; + } + break; + case 36: + { + alt68=3; + } + break; + default: + if (backtracking>0) {failed=true; return cn;} + NoViableAltException nvae = + new NoViableAltException("236:1: unaryExpression returns [CompositeNode cn] : ( (unnamed98= infixExpression ) | ( '!' ) (unnamed99= infixExpression ) | ( '-' ) (unnamed100= infixExpression ) );", 68, 0, input); + + throw nvae; + } + + switch (alt68) { + case 1 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:239:2: (unnamed98= infixExpression ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:239:2: (unnamed98= infixExpression ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:239:3: unnamed98= infixExpression + { + pushFollow(FOLLOW_infixExpression_in_unaryExpression2824); + unnamed98=infixExpression(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed98); + } + + } + + + } + break; + case 2 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:240:4: ( '!' ) (unnamed99= infixExpression ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:240:4: ( '!' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:240:5: '!' + { + match(input,94,FOLLOW_94_in_unaryExpression2833); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:240:46: (unnamed99= infixExpression ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:240:47: unnamed99= infixExpression + { + pushFollow(FOLLOW_infixExpression_in_unaryExpression2841); + unnamed99=infixExpression(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed99); + } + + } + + + } + break; + case 3 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:241:4: ( '-' ) (unnamed100= infixExpression ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:241:4: ( '-' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:241:5: '-' + { + match(input,36,FOLLOW_36_in_unaryExpression2850); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:241:46: (unnamed100= infixExpression ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:241:47: unnamed100= infixExpression + { + pushFollow(FOLLOW_infixExpression_in_unaryExpression2858); + unnamed100=infixExpression(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed100); + } + + } + + + } + break; + + } + if ( backtracking==0 ) { + cn = normalize(cn); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return cn; + } + // $ANTLR end unaryExpression + + + // $ANTLR start infixExpression + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:243:1: infixExpression returns [CompositeNode cn] : (unnamed101= primaryExpression ) ( ( ( '.' ) (unnamed102= featureCall ) ) )* ; + public CompositeNode infixExpression() throws RecognitionException { + CompositeNode cn = null; + + CompositeNode unnamed101 = null; + + CompositeNode unnamed102 = null; + + + cn = factory.createInfixExpressionNode(); cn.setRule("infixExpression"); + try { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:246:2: ( (unnamed101= primaryExpression ) ( ( ( '.' ) (unnamed102= featureCall ) ) )* ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:246:2: (unnamed101= primaryExpression ) ( ( ( '.' ) (unnamed102= featureCall ) ) )* + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:246:2: (unnamed101= primaryExpression ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:246:3: unnamed101= primaryExpression + { + pushFollow(FOLLOW_primaryExpression_in_infixExpression2888); + unnamed101=primaryExpression(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed101); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:246:68: ( ( ( '.' ) (unnamed102= featureCall ) ) )* + loop69: + do { + int alt69=2; + int LA69_0 = input.LA(1); + + if ( (LA69_0==68) ) { + alt69=1; + } + + + switch (alt69) { + case 1 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:246:69: ( ( '.' ) (unnamed102= featureCall ) ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:246:69: ( ( '.' ) (unnamed102= featureCall ) ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:246:70: ( '.' ) (unnamed102= featureCall ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:246:70: ( '.' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:246:71: '.' + { + match(input,68,FOLLOW_68_in_infixExpression2896); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:246:112: (unnamed102= featureCall ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:246:113: unnamed102= featureCall + { + pushFollow(FOLLOW_featureCall_in_infixExpression2904); + unnamed102=featureCall(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed102); + } + + } + + + } + + + } + break; + + default : + break loop69; + } + } while (true); + + + } + + if ( backtracking==0 ) { + cn = normalize(cn); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return cn; + } + // $ANTLR end infixExpression + + + // $ANTLR start primaryExpression + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:248:1: primaryExpression returns [CompositeNode cn] : ( ( stringLiteral ) | ( featureCall ) | ( booleanLiteral ) | ( numberLiteral ) | ( nullLiteral ) | ( listLiteral ) | ( constructorCall ) | ( globalVarExpression ) | ( paranthesizedExpression ) ); + public CompositeNode primaryExpression() throws RecognitionException { + CompositeNode cn = null; + + CompositeNode stringLiteral15 = null; + + CompositeNode featureCall16 = null; + + CompositeNode booleanLiteral17 = null; + + CompositeNode numberLiteral18 = null; + + CompositeNode nullLiteral19 = null; + + CompositeNode listLiteral20 = null; + + CompositeNode constructorCall21 = null; + + CompositeNode globalVarExpression22 = null; + + CompositeNode paranthesizedExpression23 = null; + + + try { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:249:2: ( ( stringLiteral ) | ( featureCall ) | ( booleanLiteral ) | ( numberLiteral ) | ( nullLiteral ) | ( listLiteral ) | ( constructorCall ) | ( globalVarExpression ) | ( paranthesizedExpression ) ) + int alt70=9; + switch ( input.LA(1) ) { + case StringLiteral: + { + alt70=1; + } + break; + case Identifier: + case 69: + case 70: + case 71: + case 100: + case 101: + case 102: + case 103: + case 104: + case 105: + case 106: + case 107: + case 108: + { + alt70=2; + } + break; + case 97: + case 98: + { + alt70=3; + } + break; + case IntLiteral: + { + alt70=4; + } + break; + case 99: + { + alt70=5; + } + break; + case 79: + { + alt70=6; + } + break; + case 96: + { + alt70=7; + } + break; + case 95: + { + alt70=8; + } + break; + case 31: + { + alt70=9; + } + break; + default: + if (backtracking>0) {failed=true; return cn;} + NoViableAltException nvae = + new NoViableAltException("248:1: primaryExpression returns [CompositeNode cn] : ( ( stringLiteral ) | ( featureCall ) | ( booleanLiteral ) | ( numberLiteral ) | ( nullLiteral ) | ( listLiteral ) | ( constructorCall ) | ( globalVarExpression ) | ( paranthesizedExpression ) );", 70, 0, input); + + throw nvae; + } + + switch (alt70) { + case 1 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:249:2: ( stringLiteral ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:249:2: ( stringLiteral ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:249:3: stringLiteral + { + pushFollow(FOLLOW_stringLiteral_in_primaryExpression2925); + stringLiteral15=stringLiteral(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + cn = stringLiteral15; + } + + } + + + } + break; + case 2 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:250:4: ( featureCall ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:250:4: ( featureCall ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:250:5: featureCall + { + pushFollow(FOLLOW_featureCall_in_primaryExpression2934); + featureCall16=featureCall(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + cn = featureCall16; + } + + } + + + } + break; + case 3 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:251:4: ( booleanLiteral ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:251:4: ( booleanLiteral ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:251:5: booleanLiteral + { + pushFollow(FOLLOW_booleanLiteral_in_primaryExpression2943); + booleanLiteral17=booleanLiteral(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + cn = booleanLiteral17; + } + + } + + + } + break; + case 4 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:252:4: ( numberLiteral ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:252:4: ( numberLiteral ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:252:5: numberLiteral + { + pushFollow(FOLLOW_numberLiteral_in_primaryExpression2952); + numberLiteral18=numberLiteral(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + cn = numberLiteral18; + } + + } + + + } + break; + case 5 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:253:4: ( nullLiteral ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:253:4: ( nullLiteral ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:253:5: nullLiteral + { + pushFollow(FOLLOW_nullLiteral_in_primaryExpression2961); + nullLiteral19=nullLiteral(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + cn = nullLiteral19; + } + + } + + + } + break; + case 6 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:254:4: ( listLiteral ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:254:4: ( listLiteral ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:254:5: listLiteral + { + pushFollow(FOLLOW_listLiteral_in_primaryExpression2970); + listLiteral20=listLiteral(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + cn = listLiteral20; + } + + } + + + } + break; + case 7 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:255:4: ( constructorCall ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:255:4: ( constructorCall ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:255:5: constructorCall + { + pushFollow(FOLLOW_constructorCall_in_primaryExpression2979); + constructorCall21=constructorCall(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + cn = constructorCall21; + } + + } + + + } + break; + case 8 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:256:4: ( globalVarExpression ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:256:4: ( globalVarExpression ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:256:5: globalVarExpression + { + pushFollow(FOLLOW_globalVarExpression_in_primaryExpression2988); + globalVarExpression22=globalVarExpression(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + cn = globalVarExpression22; + } + + } + + + } + break; + case 9 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:257:4: ( paranthesizedExpression ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:257:4: ( paranthesizedExpression ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:257:5: paranthesizedExpression + { + pushFollow(FOLLOW_paranthesizedExpression_in_primaryExpression2997); + paranthesizedExpression23=paranthesizedExpression(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + cn = paranthesizedExpression23; + } + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return cn; + } + // $ANTLR end primaryExpression + + + // $ANTLR start stringLiteral + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:259:1: stringLiteral returns [CompositeNode cn] : ( StringLiteral ) ; + public CompositeNode stringLiteral() throws RecognitionException { + CompositeNode cn = null; + + cn = factory.createStringLiteralNode(); cn.setRule("stringLiteral"); + try { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:261:2: ( ( StringLiteral ) ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:261:2: ( StringLiteral ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:261:2: ( StringLiteral ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:261:3: StringLiteral + { + match(input,StringLiteral,FOLLOW_StringLiteral_in_stringLiteral3020); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return cn; + } + // $ANTLR end stringLiteral + + + // $ANTLR start paranthesizedExpression + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:263:1: paranthesizedExpression returns [CompositeNode cn] : ( '(' ) (unnamed103= expression ) ( ')' ) ; + public CompositeNode paranthesizedExpression() throws RecognitionException { + CompositeNode cn = null; + + CompositeNode unnamed103 = null; + + + cn = factory.createParanthesizedExpressionNode(); cn.setRule("paranthesizedExpression"); + try { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:265:2: ( ( '(' ) (unnamed103= expression ) ( ')' ) ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:265:2: ( '(' ) (unnamed103= expression ) ( ')' ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:265:2: ( '(' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:265:3: '(' + { + match(input,31,FOLLOW_31_in_paranthesizedExpression3043); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:265:44: (unnamed103= expression ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:265:45: unnamed103= expression + { + pushFollow(FOLLOW_expression_in_paranthesizedExpression3051); + unnamed103=expression(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed103); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:265:103: ( ')' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:265:104: ')' + { + match(input,34,FOLLOW_34_in_paranthesizedExpression3057); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return cn; + } + // $ANTLR end paranthesizedExpression + + + // $ANTLR start globalVarExpression + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:267:1: globalVarExpression returns [CompositeNode cn] : ( 'GLOBALVAR' ) (unnamed104= identifier ) ; + public CompositeNode globalVarExpression() throws RecognitionException { + CompositeNode cn = null; + + CompositeNode unnamed104 = null; + + + cn = factory.createGlobalVarExpressionNode(); cn.setRule("globalVarExpression"); + try { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:269:2: ( ( 'GLOBALVAR' ) (unnamed104= identifier ) ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:269:2: ( 'GLOBALVAR' ) (unnamed104= identifier ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:269:2: ( 'GLOBALVAR' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:269:3: 'GLOBALVAR' + { + match(input,95,FOLLOW_95_in_globalVarExpression3080); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:269:52: (unnamed104= identifier ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:269:53: unnamed104= identifier + { + pushFollow(FOLLOW_identifier_in_globalVarExpression3088); + unnamed104=identifier(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed104); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return cn; + } + // $ANTLR end globalVarExpression + + + // $ANTLR start featureCall + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:271:1: featureCall returns [CompositeNode cn] : ( (unnamed105= identifier ) ( '(' ) ( ( (unnamed106= parameterList ) ) )? ( ')' ) | (unnamed107= type ) | (unnamed108= collectionExpression ) ); + public CompositeNode featureCall() throws RecognitionException { + CompositeNode cn = null; + + CompositeNode unnamed105 = null; + + CompositeNode unnamed106 = null; + + CompositeNode unnamed107 = null; + + CompositeNode unnamed108 = null; + + + cn = factory.createFeatureCallNode(); cn.setRule("featureCall"); + try { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:274:2: ( (unnamed105= identifier ) ( '(' ) ( ( (unnamed106= parameterList ) ) )? ( ')' ) | (unnamed107= type ) | (unnamed108= collectionExpression ) ) + int alt72=3; + switch ( input.LA(1) ) { + case Identifier: + { + int LA72_1 = input.LA(2); + + if ( (LA72_1==EOF||LA72_1==TEXT||LA72_1==Identifier||LA72_1==28||(LA72_1>=32 && LA72_1<=34)||(LA72_1>=36 && LA72_1<=37)||LA72_1==40||LA72_1==43||(LA72_1>=54 && LA72_1<=56)||(LA72_1>=60 && LA72_1<=61)||LA72_1==63||LA72_1==68||(LA72_1>=74 && LA72_1<=77)||(LA72_1>=80 && LA72_1<=93)) ) { + alt72=2; + } + else if ( (LA72_1==31) ) { + alt72=1; + } + else { + if (backtracking>0) {failed=true; return cn;} + NoViableAltException nvae = + new NoViableAltException("271:1: featureCall returns [CompositeNode cn] : ( (unnamed105= identifier ) ( '(' ) ( ( (unnamed106= parameterList ) ) )? ( ')' ) | (unnamed107= type ) | (unnamed108= collectionExpression ) );", 72, 1, input); + + throw nvae; + } + } + break; + case 69: + case 70: + case 71: + { + alt72=2; + } + break; + case 100: + case 101: + case 102: + case 103: + case 104: + case 105: + case 106: + case 107: + case 108: + { + alt72=3; + } + break; + default: + if (backtracking>0) {failed=true; return cn;} + NoViableAltException nvae = + new NoViableAltException("271:1: featureCall returns [CompositeNode cn] : ( (unnamed105= identifier ) ( '(' ) ( ( (unnamed106= parameterList ) ) )? ( ')' ) | (unnamed107= type ) | (unnamed108= collectionExpression ) );", 72, 0, input); + + throw nvae; + } + + switch (alt72) { + case 1 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:274:2: (unnamed105= identifier ) ( '(' ) ( ( (unnamed106= parameterList ) ) )? ( ')' ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:274:2: (unnamed105= identifier ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:274:3: unnamed105= identifier + { + pushFollow(FOLLOW_identifier_in_featureCall3118); + unnamed105=identifier(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed105); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:274:61: ( '(' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:274:62: '(' + { + match(input,31,FOLLOW_31_in_featureCall3124); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:274:103: ( ( (unnamed106= parameterList ) ) )? + int alt71=2; + int LA71_0 = input.LA(1); + + if ( ((LA71_0>=StringLiteral && LA71_0<=Identifier)||LA71_0==31||LA71_0==36||LA71_0==59||(LA71_0>=69 && LA71_0<=72)||(LA71_0>=78 && LA71_0<=79)||(LA71_0>=94 && LA71_0<=108)) ) { + alt71=1; + } + switch (alt71) { + case 1 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:274:104: ( (unnamed106= parameterList ) ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:274:104: ( (unnamed106= parameterList ) ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:274:105: (unnamed106= parameterList ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:274:105: (unnamed106= parameterList ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:274:106: unnamed106= parameterList + { + pushFollow(FOLLOW_parameterList_in_featureCall3134); + unnamed106=parameterList(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed106); + } + + } + + + } + + + } + break; + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:274:170: ( ')' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:274:171: ')' + { + match(input,34,FOLLOW_34_in_featureCall3143); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + + } + break; + case 2 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:275:4: (unnamed107= type ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:275:4: (unnamed107= type ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:275:5: unnamed107= type + { + pushFollow(FOLLOW_type_in_featureCall3154); + unnamed107=type(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed107); + } + + } + + + } + break; + case 3 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:276:4: (unnamed108= collectionExpression ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:276:4: (unnamed108= collectionExpression ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:276:5: unnamed108= collectionExpression + { + pushFollow(FOLLOW_collectionExpression_in_featureCall3165); + unnamed108=collectionExpression(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed108); + } + + } + + + } + break; + + } + if ( backtracking==0 ) { + cn = normalize(cn); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return cn; + } + // $ANTLR end featureCall + + + // $ANTLR start listLiteral + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:278:1: listLiteral returns [CompositeNode cn] : ( '{' ) ( ( (unnamed109= expression ) ( ( ( ',' ) (unnamed110= expression ) ) )* ) )? ( '}' ) ; + public CompositeNode listLiteral() throws RecognitionException { + CompositeNode cn = null; + + CompositeNode unnamed109 = null; + + CompositeNode unnamed110 = null; + + + cn = factory.createListLiteralNode(); cn.setRule("listLiteral"); + try { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:280:2: ( ( '{' ) ( ( (unnamed109= expression ) ( ( ( ',' ) (unnamed110= expression ) ) )* ) )? ( '}' ) ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:280:2: ( '{' ) ( ( (unnamed109= expression ) ( ( ( ',' ) (unnamed110= expression ) ) )* ) )? ( '}' ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:280:2: ( '{' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:280:3: '{' + { + match(input,79,FOLLOW_79_in_listLiteral3188); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:280:44: ( ( (unnamed109= expression ) ( ( ( ',' ) (unnamed110= expression ) ) )* ) )? + int alt74=2; + int LA74_0 = input.LA(1); + + if ( ((LA74_0>=StringLiteral && LA74_0<=Identifier)||LA74_0==31||LA74_0==36||LA74_0==59||(LA74_0>=69 && LA74_0<=72)||(LA74_0>=78 && LA74_0<=79)||(LA74_0>=94 && LA74_0<=108)) ) { + alt74=1; + } + switch (alt74) { + case 1 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:280:45: ( (unnamed109= expression ) ( ( ( ',' ) (unnamed110= expression ) ) )* ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:280:45: ( (unnamed109= expression ) ( ( ( ',' ) (unnamed110= expression ) ) )* ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:280:46: (unnamed109= expression ) ( ( ( ',' ) (unnamed110= expression ) ) )* + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:280:46: (unnamed109= expression ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:280:47: unnamed109= expression + { + pushFollow(FOLLOW_expression_in_listLiteral3198); + unnamed109=expression(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed109); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:280:105: ( ( ( ',' ) (unnamed110= expression ) ) )* + loop73: + do { + int alt73=2; + int LA73_0 = input.LA(1); + + if ( (LA73_0==32) ) { + alt73=1; + } + + + switch (alt73) { + case 1 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:280:106: ( ( ',' ) (unnamed110= expression ) ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:280:106: ( ( ',' ) (unnamed110= expression ) ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:280:107: ( ',' ) (unnamed110= expression ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:280:107: ( ',' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:280:108: ',' + { + match(input,32,FOLLOW_32_in_listLiteral3206); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:280:149: (unnamed110= expression ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:280:150: unnamed110= expression + { + pushFollow(FOLLOW_expression_in_listLiteral3214); + unnamed110=expression(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed110); + } + + } + + + } + + + } + break; + + default : + break loop73; + } + } while (true); + + + } + + + } + break; + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:280:214: ( '}' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:280:215: '}' + { + match(input,81,FOLLOW_81_in_listLiteral3226); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return cn; + } + // $ANTLR end listLiteral + + + // $ANTLR start constructorCall + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:282:1: constructorCall returns [CompositeNode cn] : ( 'new' ) (unnamed111= simpleType ) ; + public CompositeNode constructorCall() throws RecognitionException { + CompositeNode cn = null; + + CompositeNode unnamed111 = null; + + + cn = factory.createConstructorCallNode(); cn.setRule("constructorCall"); + try { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:284:2: ( ( 'new' ) (unnamed111= simpleType ) ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:284:2: ( 'new' ) (unnamed111= simpleType ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:284:2: ( 'new' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:284:3: 'new' + { + match(input,96,FOLLOW_96_in_constructorCall3249); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:284:46: (unnamed111= simpleType ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:284:47: unnamed111= simpleType + { + pushFollow(FOLLOW_simpleType_in_constructorCall3257); + unnamed111=simpleType(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed111); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return cn; + } + // $ANTLR end constructorCall + + + // $ANTLR start booleanLiteral + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:286:1: booleanLiteral returns [CompositeNode cn] : ( ( 'false' ) | ( 'true' ) ); + public CompositeNode booleanLiteral() throws RecognitionException { + CompositeNode cn = null; + + cn = factory.createBooleanLiteralNode(); cn.setRule("booleanLiteral"); + try { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:288:2: ( ( 'false' ) | ( 'true' ) ) + int alt75=2; + int LA75_0 = input.LA(1); + + if ( (LA75_0==97) ) { + alt75=1; + } + else if ( (LA75_0==98) ) { + alt75=2; + } + else { + if (backtracking>0) {failed=true; return cn;} + NoViableAltException nvae = + new NoViableAltException("286:1: booleanLiteral returns [CompositeNode cn] : ( ( 'false' ) | ( 'true' ) );", 75, 0, input); + + throw nvae; + } + switch (alt75) { + case 1 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:288:2: ( 'false' ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:288:2: ( 'false' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:288:3: 'false' + { + match(input,97,FOLLOW_97_in_booleanLiteral3280); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + + } + break; + case 2 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:289:4: ( 'true' ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:289:4: ( 'true' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:289:5: 'true' + { + match(input,98,FOLLOW_98_in_booleanLiteral3289); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return cn; + } + // $ANTLR end booleanLiteral + + + // $ANTLR start nullLiteral + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:291:1: nullLiteral returns [CompositeNode cn] : ( 'null' ) ; + public CompositeNode nullLiteral() throws RecognitionException { + CompositeNode cn = null; + + cn = factory.createNullLiteralNode(); cn.setRule("nullLiteral"); + try { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:293:2: ( ( 'null' ) ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:293:2: ( 'null' ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:293:2: ( 'null' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:293:3: 'null' + { + match(input,99,FOLLOW_99_in_nullLiteral3312); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return cn; + } + // $ANTLR end nullLiteral + + + // $ANTLR start numberLiteral + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:295:1: numberLiteral returns [CompositeNode cn] : ( ( IntLiteral ) | ( IntLiteral ) ( '.' ) ( IntLiteral ) ); + public CompositeNode numberLiteral() throws RecognitionException { + CompositeNode cn = null; + + cn = factory.createNumberLiteralNode(); cn.setRule("numberLiteral"); + try { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:297:2: ( ( IntLiteral ) | ( IntLiteral ) ( '.' ) ( IntLiteral ) ) + int alt76=2; + int LA76_0 = input.LA(1); + + if ( (LA76_0==IntLiteral) ) { + int LA76_1 = input.LA(2); + + if ( (LA76_1==68) ) { + int LA76_2 = input.LA(3); + + if ( (LA76_2==Identifier||(LA76_2>=69 && LA76_2<=71)||(LA76_2>=100 && LA76_2<=108)) ) { + alt76=1; + } + else if ( (LA76_2==IntLiteral) ) { + alt76=2; + } + else { + if (backtracking>0) {failed=true; return cn;} + NoViableAltException nvae = + new NoViableAltException("295:1: numberLiteral returns [CompositeNode cn] : ( ( IntLiteral ) | ( IntLiteral ) ( '.' ) ( IntLiteral ) );", 76, 2, input); + + throw nvae; + } + } + else if ( (LA76_1==EOF||LA76_1==TEXT||LA76_1==Identifier||LA76_1==28||(LA76_1>=32 && LA76_1<=34)||(LA76_1>=36 && LA76_1<=37)||LA76_1==40||LA76_1==43||(LA76_1>=54 && LA76_1<=56)||(LA76_1>=60 && LA76_1<=61)||(LA76_1>=74 && LA76_1<=77)||(LA76_1>=80 && LA76_1<=93)) ) { + alt76=1; + } + else { + if (backtracking>0) {failed=true; return cn;} + NoViableAltException nvae = + new NoViableAltException("295:1: numberLiteral returns [CompositeNode cn] : ( ( IntLiteral ) | ( IntLiteral ) ( '.' ) ( IntLiteral ) );", 76, 1, input); + + throw nvae; + } + } + else { + if (backtracking>0) {failed=true; return cn;} + NoViableAltException nvae = + new NoViableAltException("295:1: numberLiteral returns [CompositeNode cn] : ( ( IntLiteral ) | ( IntLiteral ) ( '.' ) ( IntLiteral ) );", 76, 0, input); + + throw nvae; + } + switch (alt76) { + case 1 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:297:2: ( IntLiteral ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:297:2: ( IntLiteral ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:297:3: IntLiteral + { + match(input,IntLiteral,FOLLOW_IntLiteral_in_numberLiteral3335); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + + } + break; + case 2 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:298:4: ( IntLiteral ) ( '.' ) ( IntLiteral ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:298:4: ( IntLiteral ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:298:5: IntLiteral + { + match(input,IntLiteral,FOLLOW_IntLiteral_in_numberLiteral3344); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:298:53: ( '.' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:298:54: '.' + { + match(input,68,FOLLOW_68_in_numberLiteral3350); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:298:95: ( IntLiteral ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:298:96: IntLiteral + { + match(input,IntLiteral,FOLLOW_IntLiteral_in_numberLiteral3356); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return cn; + } + // $ANTLR end numberLiteral + + + // $ANTLR start collectionExpression + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:300:1: collectionExpression returns [CompositeNode cn] : ( ( 'typeSelect' ) ( '(' ) (unnamed112= type ) ( ')' ) | ( ( ( 'collect' ) | ( 'select' ) | ( 'selectFirst' ) | ( 'reject' ) | ( 'exists' ) | ( 'notExists' ) | ( 'sortBy' ) | ( 'forAll' ) ) ) ( '(' ) ( ( (unnamed113= identifier ) ( '|' ) ) )? (unnamed114= expression ) ( ')' ) ); + public CompositeNode collectionExpression() throws RecognitionException { + CompositeNode cn = null; + + CompositeNode unnamed112 = null; + + CompositeNode unnamed113 = null; + + CompositeNode unnamed114 = null; + + + cn = factory.createCollectionExpressionNode(); cn.setRule("collectionExpression"); + try { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:302:2: ( ( 'typeSelect' ) ( '(' ) (unnamed112= type ) ( ')' ) | ( ( ( 'collect' ) | ( 'select' ) | ( 'selectFirst' ) | ( 'reject' ) | ( 'exists' ) | ( 'notExists' ) | ( 'sortBy' ) | ( 'forAll' ) ) ) ( '(' ) ( ( (unnamed113= identifier ) ( '|' ) ) )? (unnamed114= expression ) ( ')' ) ) + int alt79=2; + int LA79_0 = input.LA(1); + + if ( (LA79_0==100) ) { + alt79=1; + } + else if ( ((LA79_0>=101 && LA79_0<=108)) ) { + alt79=2; + } + else { + if (backtracking>0) {failed=true; return cn;} + NoViableAltException nvae = + new NoViableAltException("300:1: collectionExpression returns [CompositeNode cn] : ( ( 'typeSelect' ) ( '(' ) (unnamed112= type ) ( ')' ) | ( ( ( 'collect' ) | ( 'select' ) | ( 'selectFirst' ) | ( 'reject' ) | ( 'exists' ) | ( 'notExists' ) | ( 'sortBy' ) | ( 'forAll' ) ) ) ( '(' ) ( ( (unnamed113= identifier ) ( '|' ) ) )? (unnamed114= expression ) ( ')' ) );", 79, 0, input); + + throw nvae; + } + switch (alt79) { + case 1 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:302:2: ( 'typeSelect' ) ( '(' ) (unnamed112= type ) ( ')' ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:302:2: ( 'typeSelect' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:302:3: 'typeSelect' + { + match(input,100,FOLLOW_100_in_collectionExpression3379); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:302:53: ( '(' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:302:54: '(' + { + match(input,31,FOLLOW_31_in_collectionExpression3385); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:302:95: (unnamed112= type ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:302:96: unnamed112= type + { + pushFollow(FOLLOW_type_in_collectionExpression3393); + unnamed112=type(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed112); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:302:148: ( ')' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:302:149: ')' + { + match(input,34,FOLLOW_34_in_collectionExpression3399); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + + } + break; + case 2 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:303:4: ( ( ( 'collect' ) | ( 'select' ) | ( 'selectFirst' ) | ( 'reject' ) | ( 'exists' ) | ( 'notExists' ) | ( 'sortBy' ) | ( 'forAll' ) ) ) ( '(' ) ( ( (unnamed113= identifier ) ( '|' ) ) )? (unnamed114= expression ) ( ')' ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:303:4: ( ( ( 'collect' ) | ( 'select' ) | ( 'selectFirst' ) | ( 'reject' ) | ( 'exists' ) | ( 'notExists' ) | ( 'sortBy' ) | ( 'forAll' ) ) ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:303:5: ( ( 'collect' ) | ( 'select' ) | ( 'selectFirst' ) | ( 'reject' ) | ( 'exists' ) | ( 'notExists' ) | ( 'sortBy' ) | ( 'forAll' ) ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:303:5: ( ( 'collect' ) | ( 'select' ) | ( 'selectFirst' ) | ( 'reject' ) | ( 'exists' ) | ( 'notExists' ) | ( 'sortBy' ) | ( 'forAll' ) ) + int alt77=8; + switch ( input.LA(1) ) { + case 101: + { + alt77=1; + } + break; + case 102: + { + alt77=2; + } + break; + case 103: + { + alt77=3; + } + break; + case 104: + { + alt77=4; + } + break; + case 105: + { + alt77=5; + } + break; + case 106: + { + alt77=6; + } + break; + case 107: + { + alt77=7; + } + break; + case 108: + { + alt77=8; + } + break; + default: + if (backtracking>0) {failed=true; return cn;} + NoViableAltException nvae = + new NoViableAltException("303:5: ( ( 'collect' ) | ( 'select' ) | ( 'selectFirst' ) | ( 'reject' ) | ( 'exists' ) | ( 'notExists' ) | ( 'sortBy' ) | ( 'forAll' ) )", 77, 0, input); + + throw nvae; + } + + switch (alt77) { + case 1 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:303:6: ( 'collect' ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:303:6: ( 'collect' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:303:7: 'collect' + { + match(input,101,FOLLOW_101_in_collectionExpression3410); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + + } + break; + case 2 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:304:4: ( 'select' ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:304:4: ( 'select' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:304:5: 'select' + { + match(input,102,FOLLOW_102_in_collectionExpression3419); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + + } + break; + case 3 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:305:4: ( 'selectFirst' ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:305:4: ( 'selectFirst' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:305:5: 'selectFirst' + { + match(input,103,FOLLOW_103_in_collectionExpression3428); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + + } + break; + case 4 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:306:4: ( 'reject' ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:306:4: ( 'reject' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:306:5: 'reject' + { + match(input,104,FOLLOW_104_in_collectionExpression3437); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + + } + break; + case 5 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:307:4: ( 'exists' ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:307:4: ( 'exists' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:307:5: 'exists' + { + match(input,105,FOLLOW_105_in_collectionExpression3446); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + + } + break; + case 6 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:308:4: ( 'notExists' ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:308:4: ( 'notExists' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:308:5: 'notExists' + { + match(input,106,FOLLOW_106_in_collectionExpression3455); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + + } + break; + case 7 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:309:4: ( 'sortBy' ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:309:4: ( 'sortBy' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:309:5: 'sortBy' + { + match(input,107,FOLLOW_107_in_collectionExpression3464); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + + } + break; + case 8 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:310:4: ( 'forAll' ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:310:4: ( 'forAll' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:310:5: 'forAll' + { + match(input,108,FOLLOW_108_in_collectionExpression3473); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + + } + break; + + } + + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:310:53: ( '(' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:310:54: '(' + { + match(input,31,FOLLOW_31_in_collectionExpression3481); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:310:95: ( ( (unnamed113= identifier ) ( '|' ) ) )? + int alt78=2; + int LA78_0 = input.LA(1); + + if ( (LA78_0==Identifier) ) { + int LA78_1 = input.LA(2); + + if ( (LA78_1==109) ) { + alt78=1; + } + } + switch (alt78) { + case 1 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:310:96: ( (unnamed113= identifier ) ( '|' ) ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:310:96: ( (unnamed113= identifier ) ( '|' ) ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:310:97: (unnamed113= identifier ) ( '|' ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:310:97: (unnamed113= identifier ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:310:98: unnamed113= identifier + { + pushFollow(FOLLOW_identifier_in_collectionExpression3491); + unnamed113=identifier(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed113); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:310:156: ( '|' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:310:157: '|' + { + match(input,109,FOLLOW_109_in_collectionExpression3497); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + + } + + + } + break; + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:310:201: (unnamed114= expression ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:310:202: unnamed114= expression + { + pushFollow(FOLLOW_expression_in_collectionExpression3508); + unnamed114=expression(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed114); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:310:260: ( ')' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:310:261: ')' + { + match(input,34,FOLLOW_34_in_collectionExpression3514); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return cn; + } + // $ANTLR end collectionExpression + + + // $ANTLR start declaredParameterList + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:312:1: declaredParameterList returns [CompositeNode cn] : (unnamed115= declaredParameter ) ( ( ( ',' ) (unnamed116= declaredParameter ) ) )* ; + public CompositeNode declaredParameterList() throws RecognitionException { + CompositeNode cn = null; + + CompositeNode unnamed115 = null; + + CompositeNode unnamed116 = null; + + + cn = factory.createDeclaredParameterListNode(); cn.setRule("declaredParameterList"); + try { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:314:2: ( (unnamed115= declaredParameter ) ( ( ( ',' ) (unnamed116= declaredParameter ) ) )* ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:314:2: (unnamed115= declaredParameter ) ( ( ( ',' ) (unnamed116= declaredParameter ) ) )* + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:314:2: (unnamed115= declaredParameter ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:314:3: unnamed115= declaredParameter + { + pushFollow(FOLLOW_declaredParameter_in_declaredParameterList3539); + unnamed115=declaredParameter(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed115); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:314:68: ( ( ( ',' ) (unnamed116= declaredParameter ) ) )* + loop80: + do { + int alt80=2; + int LA80_0 = input.LA(1); + + if ( (LA80_0==32) ) { + int LA80_1 = input.LA(2); + + if ( (LA80_1==Identifier||(LA80_1>=69 && LA80_1<=71)) ) { + alt80=1; + } + + + } + + + switch (alt80) { + case 1 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:314:69: ( ( ',' ) (unnamed116= declaredParameter ) ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:314:69: ( ( ',' ) (unnamed116= declaredParameter ) ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:314:70: ( ',' ) (unnamed116= declaredParameter ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:314:70: ( ',' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:314:71: ',' + { + match(input,32,FOLLOW_32_in_declaredParameterList3547); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:314:112: (unnamed116= declaredParameter ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:314:113: unnamed116= declaredParameter + { + pushFollow(FOLLOW_declaredParameter_in_declaredParameterList3555); + unnamed116=declaredParameter(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed116); + } + + } + + + } + + + } + break; + + default : + break loop80; + } + } while (true); + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return cn; + } + // $ANTLR end declaredParameterList + + + // $ANTLR start declaredParameter + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:316:1: declaredParameter returns [CompositeNode cn] : (unnamed117= type ) (unnamed118= identifier ) ; + public CompositeNode declaredParameter() throws RecognitionException { + CompositeNode cn = null; + + CompositeNode unnamed117 = null; + + CompositeNode unnamed118 = null; + + + cn = factory.createDeclaredParameterNode(); cn.setRule("declaredParameter"); + try { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:318:2: ( (unnamed117= type ) (unnamed118= identifier ) ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:318:2: (unnamed117= type ) (unnamed118= identifier ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:318:2: (unnamed117= type ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:318:3: unnamed117= type + { + pushFollow(FOLLOW_type_in_declaredParameter3583); + unnamed117=type(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed117); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:318:55: (unnamed118= identifier ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:318:56: unnamed118= identifier + { + pushFollow(FOLLOW_identifier_in_declaredParameter3591); + unnamed118=identifier(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed118); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return cn; + } + // $ANTLR end declaredParameter + + + // $ANTLR start parameterList + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:320:1: parameterList returns [CompositeNode cn] : (unnamed119= expression ) ( ( ( ',' ) (unnamed120= expression ) ) )* ; + public CompositeNode parameterList() throws RecognitionException { + CompositeNode cn = null; + + CompositeNode unnamed119 = null; + + CompositeNode unnamed120 = null; + + + cn = factory.createParameterListNode(); cn.setRule("parameterList"); + try { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:322:2: ( (unnamed119= expression ) ( ( ( ',' ) (unnamed120= expression ) ) )* ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:322:2: (unnamed119= expression ) ( ( ( ',' ) (unnamed120= expression ) ) )* + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:322:2: (unnamed119= expression ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:322:3: unnamed119= expression + { + pushFollow(FOLLOW_expression_in_parameterList3616); + unnamed119=expression(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed119); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:322:61: ( ( ( ',' ) (unnamed120= expression ) ) )* + loop81: + do { + int alt81=2; + int LA81_0 = input.LA(1); + + if ( (LA81_0==32) ) { + alt81=1; + } + + + switch (alt81) { + case 1 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:322:62: ( ( ',' ) (unnamed120= expression ) ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:322:62: ( ( ',' ) (unnamed120= expression ) ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:322:63: ( ',' ) (unnamed120= expression ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:322:63: ( ',' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:322:64: ',' + { + match(input,32,FOLLOW_32_in_parameterList3624); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:322:105: (unnamed120= expression ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:322:106: unnamed120= expression + { + pushFollow(FOLLOW_expression_in_parameterList3632); + unnamed120=expression(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed120); + } + + } + + + } + + + } + break; + + default : + break loop81; + } + } while (true); + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return cn; + } + // $ANTLR end parameterList + + + // $ANTLR start type + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:324:1: type returns [CompositeNode cn] : ( ( collectionType ) | ( simpleType ) ); + public CompositeNode type() throws RecognitionException { + CompositeNode cn = null; + + CompositeNode collectionType24 = null; + + CompositeNode simpleType25 = null; + + + try { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:325:2: ( ( collectionType ) | ( simpleType ) ) + int alt82=2; + int LA82_0 = input.LA(1); + + if ( ((LA82_0>=69 && LA82_0<=71)) ) { + alt82=1; + } + else if ( (LA82_0==Identifier) ) { + alt82=2; + } + else { + if (backtracking>0) {failed=true; return cn;} + NoViableAltException nvae = + new NoViableAltException("324:1: type returns [CompositeNode cn] : ( ( collectionType ) | ( simpleType ) );", 82, 0, input); + + throw nvae; + } + switch (alt82) { + case 1 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:325:2: ( collectionType ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:325:2: ( collectionType ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:325:3: collectionType + { + pushFollow(FOLLOW_collectionType_in_type3653); + collectionType24=collectionType(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + cn = collectionType24; + } + + } + + + } + break; + case 2 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:326:4: ( simpleType ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:326:4: ( simpleType ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:326:5: simpleType + { + pushFollow(FOLLOW_simpleType_in_type3662); + simpleType25=simpleType(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + cn = simpleType25; + } + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return cn; + } + // $ANTLR end type + + + // $ANTLR start collectionType + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:328:1: collectionType returns [CompositeNode cn] : ( ( ( 'Collection' ) | ( 'List' ) | ( 'Set' ) ) ) ( ( ( '[' ) (unnamed121= simpleType ) ( ']' ) ) )? ; + public CompositeNode collectionType() throws RecognitionException { + CompositeNode cn = null; + + CompositeNode unnamed121 = null; + + + cn = factory.createCollectionTypeNode(); cn.setRule("collectionType"); + try { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:330:2: ( ( ( ( 'Collection' ) | ( 'List' ) | ( 'Set' ) ) ) ( ( ( '[' ) (unnamed121= simpleType ) ( ']' ) ) )? ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:330:2: ( ( ( 'Collection' ) | ( 'List' ) | ( 'Set' ) ) ) ( ( ( '[' ) (unnamed121= simpleType ) ( ']' ) ) )? + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:330:2: ( ( ( 'Collection' ) | ( 'List' ) | ( 'Set' ) ) ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:330:3: ( ( 'Collection' ) | ( 'List' ) | ( 'Set' ) ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:330:3: ( ( 'Collection' ) | ( 'List' ) | ( 'Set' ) ) + int alt83=3; + switch ( input.LA(1) ) { + case 69: + { + alt83=1; + } + break; + case 70: + { + alt83=2; + } + break; + case 71: + { + alt83=3; + } + break; + default: + if (backtracking>0) {failed=true; return cn;} + NoViableAltException nvae = + new NoViableAltException("330:3: ( ( 'Collection' ) | ( 'List' ) | ( 'Set' ) )", 83, 0, input); + + throw nvae; + } + + switch (alt83) { + case 1 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:330:4: ( 'Collection' ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:330:4: ( 'Collection' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:330:5: 'Collection' + { + match(input,69,FOLLOW_69_in_collectionType3687); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + + } + break; + case 2 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:331:4: ( 'List' ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:331:4: ( 'List' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:331:5: 'List' + { + match(input,70,FOLLOW_70_in_collectionType3696); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + + } + break; + case 3 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:332:4: ( 'Set' ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:332:4: ( 'Set' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:332:5: 'Set' + { + match(input,71,FOLLOW_71_in_collectionType3705); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + + } + break; + + } + + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:332:50: ( ( ( '[' ) (unnamed121= simpleType ) ( ']' ) ) )? + int alt84=2; + int LA84_0 = input.LA(1); + + if ( (LA84_0==110) ) { + alt84=1; + } + switch (alt84) { + case 1 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:332:51: ( ( '[' ) (unnamed121= simpleType ) ( ']' ) ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:332:51: ( ( '[' ) (unnamed121= simpleType ) ( ']' ) ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:332:52: ( '[' ) (unnamed121= simpleType ) ( ']' ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:332:52: ( '[' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:332:53: '[' + { + match(input,110,FOLLOW_110_in_collectionType3715); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:332:94: (unnamed121= simpleType ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:332:95: unnamed121= simpleType + { + pushFollow(FOLLOW_simpleType_in_collectionType3723); + unnamed121=simpleType(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed121); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:332:153: ( ']' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:332:154: ']' + { + match(input,111,FOLLOW_111_in_collectionType3729); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + + } + + + } + break; + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return cn; + } + // $ANTLR end collectionType + + + // $ANTLR start simpleType + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:334:1: simpleType returns [CompositeNode cn] : (unnamed122= identifier ) ( ( ( '::' ) (unnamed123= identifier ) ) )* ; + public CompositeNode simpleType() throws RecognitionException { + CompositeNode cn = null; + + CompositeNode unnamed122 = null; + + CompositeNode unnamed123 = null; + + + cn = factory.createSimpleTypeNode(); cn.setRule("simpleType"); + try { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:336:2: ( (unnamed122= identifier ) ( ( ( '::' ) (unnamed123= identifier ) ) )* ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:336:2: (unnamed122= identifier ) ( ( ( '::' ) (unnamed123= identifier ) ) )* + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:336:2: (unnamed122= identifier ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:336:3: unnamed122= identifier + { + pushFollow(FOLLOW_identifier_in_simpleType3757); + unnamed122=identifier(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed122); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:336:61: ( ( ( '::' ) (unnamed123= identifier ) ) )* + loop85: + do { + int alt85=2; + int LA85_0 = input.LA(1); + + if ( (LA85_0==63) ) { + alt85=1; + } + + + switch (alt85) { + case 1 : + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:336:62: ( ( '::' ) (unnamed123= identifier ) ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:336:62: ( ( '::' ) (unnamed123= identifier ) ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:336:63: ( '::' ) (unnamed123= identifier ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:336:63: ( '::' ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:336:64: '::' + { + match(input,63,FOLLOW_63_in_simpleType3765); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:336:106: (unnamed123= identifier ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:336:107: unnamed123= identifier + { + pushFollow(FOLLOW_identifier_in_simpleType3773); + unnamed123=identifier(); + _fsp--; + if (failed) return cn; + if ( backtracking==0 ) { + addToChildren(cn, unnamed123); + } + + } + + + } + + + } + break; + + default : + break loop85; + } + } while (true); + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return cn; + } + // $ANTLR end simpleType + + + // $ANTLR start identifier + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:338:1: identifier returns [CompositeNode cn] : ( Identifier ) ; + public CompositeNode identifier() throws RecognitionException { + CompositeNode cn = null; + + cn = factory.createIdentifierNode(); cn.setRule("identifier"); + try { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:340:2: ( ( Identifier ) ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:340:2: ( Identifier ) + { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:340:2: ( Identifier ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:340:3: Identifier + { + match(input,Identifier,FOLLOW_Identifier_in_identifier3799); if (failed) return cn; + if ( backtracking==0 ) { + addLeafNodeForToken(cn, null); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return cn; + } + // $ANTLR end identifier + + // $ANTLR start synpred1 + public void synpred1_fragment() throws RecognitionException { + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:175:2: ( '(' type ')' chainExpression ) + // ./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g:175:3: '(' type ')' chainExpression + { + match(input,31,FOLLOW_31_in_synpred12068); if (failed) return ; + pushFollow(FOLLOW_type_in_synpred12070); + type(); + _fsp--; + if (failed) return ; + match(input,34,FOLLOW_34_in_synpred12072); if (failed) return ; + pushFollow(FOLLOW_chainExpression_in_synpred12074); + chainExpression(); + _fsp--; + if (failed) return ; + + } + } + // $ANTLR end synpred1 + + public final boolean synpred1() { + backtracking++; + int start = input.mark(); + try { + synpred1_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !failed; + input.rewind(start); + backtracking--; + failed=false; + return success; + } + + + protected DFA51 dfa51 = new DFA51(this); + static final String DFA51_eotS = + "\101\uffff"; + static final String DFA51_eofS = + "\10\uffff\1\2\70\uffff"; + static final String DFA51_minS = + "\2\13\1\uffff\3\41\1\37\1\15\1\12\1\15\1\77\1\12\1\0\30\uffff\1"+ + "\41\1\15\1\41\5\0\3\37\21\0"; + static final String DFA51_maxS = + "\2\154\1\uffff\3\156\1\135\1\15\1\154\1\15\1\157\1\154\1\0\30\uffff"+ + "\1\135\1\15\1\135\5\0\3\37\21\0"; + static final String DFA51_acceptS = + "\2\uffff\1\2\12\uffff\30\1\34\uffff"; + static final String DFA51_specialS = + "\10\uffff\1\1\3\uffff\1\6\33\uffff\1\3\1\5\1\2\1\0\1\4\24\uffff}>"; + static final String[] DFA51_transitionS = { + "\3\2\21\uffff\1\1\4\uffff\1\2\26\uffff\1\2\11\uffff\3\2\6\uffff"+ + "\2\2\16\uffff\17\2", + "\2\2\1\6\21\uffff\1\2\4\uffff\1\2\26\uffff\1\2\11\uffff\1\3"+ + "\1\4\1\5\1\2\5\uffff\2\2\16\uffff\17\2", + "", + "\1\2\1\10\1\uffff\1\2\37\uffff\1\2\5\uffff\2\2\7\uffff\13\2"+ + "\20\uffff\1\7", + "\1\2\1\10\1\uffff\1\2\37\uffff\1\2\5\uffff\2\2\7\uffff\13\2"+ + "\20\uffff\1\7", + "\1\2\1\10\1\uffff\1\2\37\uffff\1\2\5\uffff\2\2\7\uffff\13\2"+ + "\20\uffff\1\7", + "\1\2\1\uffff\1\2\1\10\1\uffff\1\2\32\uffff\1\11\4\uffff\1\2"+ + "\5\uffff\2\2\7\uffff\13\2", + "\1\12", + "\1\2\1\16\1\35\1\14\16\uffff\1\2\2\uffff\1\42\3\2\1\uffff\1"+ + "\13\1\2\2\uffff\1\2\2\uffff\1\2\12\uffff\3\2\2\uffff\1\44\2"+ + "\2\6\uffff\1\2\1\17\1\20\1\21\2\uffff\3\2\1\uffff\1\15\1\37"+ + "\16\2\1\43\1\41\1\40\1\33\1\34\1\36\1\22\1\23\1\24\1\25\1\26"+ + "\1\27\1\30\1\31\1\32", + "\1\45", + "\1\46\57\uffff\1\47", + "\1\2\1\50\1\70\1\51\21\uffff\1\75\4\uffff\1\2\40\uffff\1\52"+ + "\1\53\1\54\7\uffff\1\72\16\uffff\1\2\1\74\1\73\1\66\1\67\1\71"+ + "\1\55\1\56\1\57\1\60\1\61\1\62\1\63\1\64\1\65", + "\1\uffff", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "\1\2\1\10\1\uffff\1\2\32\uffff\1\11\4\uffff\1\2\5\uffff\2\2"+ + "\7\uffff\13\2", + "\1\76", + "\1\2\1\10\1\uffff\1\2\37\uffff\1\2\5\uffff\2\2\7\uffff\13\2", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\77", + "\1\100", + "\1\100", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff" + }; + + static final short[] DFA51_eot = DFA.unpackEncodedString(DFA51_eotS); + static final short[] DFA51_eof = DFA.unpackEncodedString(DFA51_eofS); + static final char[] DFA51_min = DFA.unpackEncodedStringToUnsignedChars(DFA51_minS); + static final char[] DFA51_max = DFA.unpackEncodedStringToUnsignedChars(DFA51_maxS); + static final short[] DFA51_accept = DFA.unpackEncodedString(DFA51_acceptS); + static final short[] DFA51_special = DFA.unpackEncodedString(DFA51_specialS); + static final short[][] DFA51_transition; + + static { + int numStates = DFA51_transitionS.length; + DFA51_transition = new short[numStates][]; + for (int i=0; i ( ( '(' ) (unnamed69= type ) ( ')' ) (unnamed70= chainExpression ) ) | (unnamed71= chainExpression ) );"; + } + public int specialStateTransition(int s, IntStream input) throws NoViableAltException { + int _s = s; + switch ( s ) { + case 0 : + int LA51_43 = input.LA(1); + + + int index51_43 = input.index(); + input.rewind(); + s = -1; + if ( (synpred1()) ) {s = 36;} + + else if ( (true) ) {s = 2;} + + + input.seek(index51_43); + if ( s>=0 ) return s; + break; + case 1 : + int LA51_8 = input.LA(1); + + + int index51_8 = input.index(); + input.rewind(); + s = -1; + if ( (LA51_8==EOF||LA51_8==TEXT||LA51_8==28||(LA51_8>=32 && LA51_8<=34)||LA51_8==37||LA51_8==40||LA51_8==43||(LA51_8>=54 && LA51_8<=56)||(LA51_8>=60 && LA51_8<=61)||LA51_8==68||(LA51_8>=74 && LA51_8<=76)||(LA51_8>=80 && LA51_8<=93)) ) {s = 2;} + + else if ( (LA51_8==36) ) {s = 11;} + + else if ( (LA51_8==Identifier) ) {s = 12;} + + else if ( (LA51_8==78) && (synpred1())) {s = 13;} + + else if ( (LA51_8==StringLiteral) && (synpred1())) {s = 14;} + + else if ( (LA51_8==69) && (synpred1())) {s = 15;} + + else if ( (LA51_8==70) && (synpred1())) {s = 16;} + + else if ( (LA51_8==71) && (synpred1())) {s = 17;} + + else if ( (LA51_8==100) && (synpred1())) {s = 18;} + + else if ( (LA51_8==101) && (synpred1())) {s = 19;} + + else if ( (LA51_8==102) && (synpred1())) {s = 20;} + + else if ( (LA51_8==103) && (synpred1())) {s = 21;} + + else if ( (LA51_8==104) && (synpred1())) {s = 22;} + + else if ( (LA51_8==105) && (synpred1())) {s = 23;} + + else if ( (LA51_8==106) && (synpred1())) {s = 24;} + + else if ( (LA51_8==107) && (synpred1())) {s = 25;} + + else if ( (LA51_8==108) && (synpred1())) {s = 26;} + + else if ( (LA51_8==97) && (synpred1())) {s = 27;} + + else if ( (LA51_8==98) && (synpred1())) {s = 28;} + + else if ( (LA51_8==IntLiteral) && (synpred1())) {s = 29;} + + else if ( (LA51_8==99) && (synpred1())) {s = 30;} + + else if ( (LA51_8==79) && (synpred1())) {s = 31;} + + else if ( (LA51_8==96) && (synpred1())) {s = 32;} + + else if ( (LA51_8==95) && (synpred1())) {s = 33;} + + else if ( (LA51_8==31) && (synpred1())) {s = 34;} + + else if ( (LA51_8==94) && (synpred1())) {s = 35;} + + else if ( (LA51_8==59) && (synpred1())) {s = 36;} + + + input.seek(index51_8); + if ( s>=0 ) return s; + break; + case 2 : + int LA51_42 = input.LA(1); + + + int index51_42 = input.index(); + input.rewind(); + s = -1; + if ( (synpred1()) ) {s = 36;} + + else if ( (true) ) {s = 2;} + + + input.seek(index51_42); + if ( s>=0 ) return s; + break; + case 3 : + int LA51_40 = input.LA(1); + + + int index51_40 = input.index(); + input.rewind(); + s = -1; + if ( (synpred1()) ) {s = 36;} + + else if ( (true) ) {s = 2;} + + + input.seek(index51_40); + if ( s>=0 ) return s; + break; + case 4 : + int LA51_44 = input.LA(1); + + + int index51_44 = input.index(); + input.rewind(); + s = -1; + if ( (synpred1()) ) {s = 36;} + + else if ( (true) ) {s = 2;} + + + input.seek(index51_44); + if ( s>=0 ) return s; + break; + case 5 : + int LA51_41 = input.LA(1); + + + int index51_41 = input.index(); + input.rewind(); + s = -1; + if ( (synpred1()) ) {s = 36;} + + else if ( (true) ) {s = 2;} + + + input.seek(index51_41); + if ( s>=0 ) return s; + break; + case 6 : + int LA51_12 = input.LA(1); + + + int index51_12 = input.index(); + input.rewind(); + s = -1; + if ( (synpred1()) ) {s = 36;} + + else if ( (true) ) {s = 2;} + + + input.seek(index51_12); + if ( s>=0 ) return s; + break; + } + if (backtracking>0) {failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 51, _s, input); + error(nvae); + throw nvae; + } + } + + + public static final BitSet FOLLOW_nsImport_in_file80 = new BitSet(new long[]{0x4400000028002010L,0x00000000000000E7L}); + public static final BitSet FOLLOW_abstractDeclaration_in_file93 = new BitSet(new long[]{0x4400000000002010L,0x00000000000000E7L}); + public static final BitSet FOLLOW_EOF_in_file102 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_LG_in_nsImport123 = new BitSet(new long[]{0x0000000002000000L}); + public static final BitSet FOLLOW_25_in_nsImport129 = new BitSet(new long[]{0x0000000000002000L}); + public static final BitSet FOLLOW_simpleType_in_nsImport137 = new BitSet(new long[]{0x0000000000000020L}); + public static final BitSet FOLLOW_RG_in_nsImport143 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_LG_in_nsImport152 = new BitSet(new long[]{0x0000000004000000L}); + public static final BitSet FOLLOW_26_in_nsImport158 = new BitSet(new long[]{0x0000000000002000L}); + public static final BitSet FOLLOW_simpleType_in_nsImport166 = new BitSet(new long[]{0x0000000000000020L}); + public static final BitSet FOLLOW_RG_in_nsImport172 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_27_in_nsImport181 = new BitSet(new long[]{0x0000000000002000L,0x00000000000000E0L}); + public static final BitSet FOLLOW_type_in_nsImport189 = new BitSet(new long[]{0x0000000010000000L}); + public static final BitSet FOLLOW_28_in_nsImport195 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_29_in_nsImport204 = new BitSet(new long[]{0x0000000000002000L,0x00000000000000E0L}); + public static final BitSet FOLLOW_type_in_nsImport212 = new BitSet(new long[]{0x0000000050000000L}); + public static final BitSet FOLLOW_30_in_nsImport220 = new BitSet(new long[]{0x0000000010000000L}); + public static final BitSet FOLLOW_28_in_nsImport229 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_check_in_abstractDeclaration247 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_around_in_abstractDeclaration256 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_extension_in_abstractDeclaration265 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_definition_in_abstractDeclaration274 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_definitionAround_in_abstractDeclaration283 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_LG_in_definition306 = new BitSet(new long[]{0x0000000000000040L}); + public static final BitSet FOLLOW_DEFINE_in_definition312 = new BitSet(new long[]{0x0000000000002000L}); + public static final BitSet FOLLOW_identifier_in_definition320 = new BitSet(new long[]{0x0000000880000000L}); + public static final BitSet FOLLOW_31_in_definition328 = new BitSet(new long[]{0x0000000600002000L,0x00000000000000E0L}); + public static final BitSet FOLLOW_declaredParameterList_in_definition338 = new BitSet(new long[]{0x0000000700000000L}); + public static final BitSet FOLLOW_32_in_definition346 = new BitSet(new long[]{0x0000000200000000L}); + public static final BitSet FOLLOW_33_in_definition353 = new BitSet(new long[]{0x0000000400000000L}); + public static final BitSet FOLLOW_33_in_definition365 = new BitSet(new long[]{0x0000000400000000L}); + public static final BitSet FOLLOW_34_in_definition374 = new BitSet(new long[]{0x0000000800000000L}); + public static final BitSet FOLLOW_35_in_definition383 = new BitSet(new long[]{0x0000000000002000L,0x00000000000000E0L}); + public static final BitSet FOLLOW_type_in_definition391 = new BitSet(new long[]{0x0000001000000400L}); + public static final BitSet FOLLOW_sequence_in_definition399 = new BitSet(new long[]{0x0000000000000080L}); + public static final BitSet FOLLOW_ENDDEFINE_in_definition405 = new BitSet(new long[]{0x0000000000000020L}); + public static final BitSet FOLLOW_RG_in_definition411 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_LG_in_definitionAround434 = new BitSet(new long[]{0x0000000000000100L}); + public static final BitSet FOLLOW_AROUND_in_definitionAround440 = new BitSet(new long[]{0x0000000200002000L}); + public static final BitSet FOLLOW_pointcut_in_definitionAround448 = new BitSet(new long[]{0x0000000880000000L}); + public static final BitSet FOLLOW_31_in_definitionAround456 = new BitSet(new long[]{0x0000000600002000L,0x00000000000000E0L}); + public static final BitSet FOLLOW_declaredParameterList_in_definitionAround466 = new BitSet(new long[]{0x0000000700000000L}); + public static final BitSet FOLLOW_32_in_definitionAround474 = new BitSet(new long[]{0x0000000200000000L}); + public static final BitSet FOLLOW_33_in_definitionAround481 = new BitSet(new long[]{0x0000000400000000L}); + public static final BitSet FOLLOW_33_in_definitionAround493 = new BitSet(new long[]{0x0000000400000000L}); + public static final BitSet FOLLOW_34_in_definitionAround502 = new BitSet(new long[]{0x0000000800000000L}); + public static final BitSet FOLLOW_35_in_definitionAround511 = new BitSet(new long[]{0x0000000000002000L,0x00000000000000E0L}); + public static final BitSet FOLLOW_type_in_definitionAround519 = new BitSet(new long[]{0x0000001000000400L}); + public static final BitSet FOLLOW_sequence_in_definitionAround527 = new BitSet(new long[]{0x0000000000000200L}); + public static final BitSet FOLLOW_ENDAROUND_in_definitionAround533 = new BitSet(new long[]{0x0000000000000020L}); + public static final BitSet FOLLOW_RG_in_definitionAround539 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_textSequence_in_sequence564 = new BitSet(new long[]{0x081442F080003802L,0x00001FFFC000C1E0L}); + public static final BitSet FOLLOW_statement_in_sequence574 = new BitSet(new long[]{0x0000001000000400L}); + public static final BitSet FOLLOW_textSequence_in_sequence582 = new BitSet(new long[]{0x081442F080003802L,0x00001FFFC000C1E0L}); + public static final BitSet FOLLOW_simpleStatement_in_statement603 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_fileStatement_in_statement612 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_foreachStatement_in_statement621 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ifStatement_in_statement630 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_letStatement_in_statement639 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_protectStatement_in_statement648 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_text_in_textSequence678 = new BitSet(new long[]{0x0000001000000402L}); + public static final BitSet FOLLOW_text_in_textSequence688 = new BitSet(new long[]{0x0000001000000402L}); + public static final BitSet FOLLOW_36_in_text714 = new BitSet(new long[]{0x0000000000000400L}); + public static final BitSet FOLLOW_TEXT_in_text721 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_errorStatement_in_simpleStatement739 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_expandStatement_in_simpleStatement748 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_expressionStmt_in_simpleStatement757 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_37_in_errorStatement780 = new BitSet(new long[]{0x0800001080003800L,0x00001FFFC000C1E0L}); + public static final BitSet FOLLOW_expression_in_errorStatement788 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_38_in_expandStatement811 = new BitSet(new long[]{0x0000000000002000L}); + public static final BitSet FOLLOW_simpleType_in_expandStatement819 = new BitSet(new long[]{0x0000008880000002L}); + public static final BitSet FOLLOW_31_in_expandStatement827 = new BitSet(new long[]{0x0800001080003800L,0x00001FFFC000C1E0L}); + public static final BitSet FOLLOW_parameterList_in_expandStatement835 = new BitSet(new long[]{0x0000000400000000L}); + public static final BitSet FOLLOW_34_in_expandStatement841 = new BitSet(new long[]{0x0000008800000002L}); + public static final BitSet FOLLOW_35_in_expandStatement854 = new BitSet(new long[]{0x0800001080003800L,0x00001FFFC000C1E0L}); + public static final BitSet FOLLOW_expression_in_expandStatement862 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_39_in_expandStatement875 = new BitSet(new long[]{0x0800001080003800L,0x00001FFFC000C1E0L}); + public static final BitSet FOLLOW_expression_in_expandStatement883 = new BitSet(new long[]{0x0000010000000002L}); + public static final BitSet FOLLOW_40_in_expandStatement891 = new BitSet(new long[]{0x0800001080003800L,0x00001FFFC000C1E0L}); + public static final BitSet FOLLOW_expression_in_expandStatement899 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_expression_in_expressionStmt932 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_41_in_fileStatement955 = new BitSet(new long[]{0x0800001080003800L,0x00001FFFC000C1E0L}); + public static final BitSet FOLLOW_expression_in_fileStatement963 = new BitSet(new long[]{0x0000001000002400L}); + public static final BitSet FOLLOW_identifier_in_fileStatement973 = new BitSet(new long[]{0x0000001000000400L}); + public static final BitSet FOLLOW_sequence_in_fileStatement984 = new BitSet(new long[]{0x0000040000000000L}); + public static final BitSet FOLLOW_42_in_fileStatement990 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_39_in_foreachStatement1013 = new BitSet(new long[]{0x0800001080003800L,0x00001FFFC000C1E0L}); + public static final BitSet FOLLOW_expression_in_foreachStatement1021 = new BitSet(new long[]{0x0000080000000000L}); + public static final BitSet FOLLOW_43_in_foreachStatement1027 = new BitSet(new long[]{0x0000000000002000L}); + public static final BitSet FOLLOW_identifier_in_foreachStatement1035 = new BitSet(new long[]{0x0000111000000400L}); + public static final BitSet FOLLOW_44_in_foreachStatement1043 = new BitSet(new long[]{0x0000000000002000L}); + public static final BitSet FOLLOW_identifier_in_foreachStatement1051 = new BitSet(new long[]{0x0000011000000400L}); + public static final BitSet FOLLOW_40_in_foreachStatement1062 = new BitSet(new long[]{0x0800001080003800L,0x00001FFFC000C1E0L}); + public static final BitSet FOLLOW_expression_in_foreachStatement1070 = new BitSet(new long[]{0x0000001000000400L}); + public static final BitSet FOLLOW_sequence_in_foreachStatement1081 = new BitSet(new long[]{0x0000200000000000L}); + public static final BitSet FOLLOW_45_in_foreachStatement1087 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_46_in_ifStatement1110 = new BitSet(new long[]{0x0800001080003800L,0x00001FFFC000C1E0L}); + public static final BitSet FOLLOW_expression_in_ifStatement1118 = new BitSet(new long[]{0x0000001000000400L}); + public static final BitSet FOLLOW_sequence_in_ifStatement1126 = new BitSet(new long[]{0x0003800000000000L}); + public static final BitSet FOLLOW_elseIfStatement_in_ifStatement1134 = new BitSet(new long[]{0x0003800000000000L}); + public static final BitSet FOLLOW_elseStatement_in_ifStatement1143 = new BitSet(new long[]{0x0000800000000000L}); + public static final BitSet FOLLOW_47_in_ifStatement1150 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_48_in_elseIfStatement1173 = new BitSet(new long[]{0x0800001080003800L,0x00001FFFC000C1E0L}); + public static final BitSet FOLLOW_expression_in_elseIfStatement1181 = new BitSet(new long[]{0x0000001000000400L}); + public static final BitSet FOLLOW_sequence_in_elseIfStatement1189 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_49_in_elseStatement1212 = new BitSet(new long[]{0x0000001000000400L}); + public static final BitSet FOLLOW_sequence_in_elseStatement1220 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_50_in_letStatement1243 = new BitSet(new long[]{0x0800001080003800L,0x00001FFFC000C1E0L}); + public static final BitSet FOLLOW_expression_in_letStatement1251 = new BitSet(new long[]{0x0000080000000000L}); + public static final BitSet FOLLOW_43_in_letStatement1257 = new BitSet(new long[]{0x0000000000002000L}); + public static final BitSet FOLLOW_identifier_in_letStatement1265 = new BitSet(new long[]{0x0000001000000400L}); + public static final BitSet FOLLOW_sequence_in_letStatement1273 = new BitSet(new long[]{0x0008000000000000L}); + public static final BitSet FOLLOW_51_in_letStatement1279 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_52_in_protectStatement1302 = new BitSet(new long[]{0x0020000000000000L}); + public static final BitSet FOLLOW_53_in_protectStatement1308 = new BitSet(new long[]{0x0800001080003800L,0x00001FFFC000C1E0L}); + public static final BitSet FOLLOW_expression_in_protectStatement1316 = new BitSet(new long[]{0x0040000000000000L}); + public static final BitSet FOLLOW_54_in_protectStatement1322 = new BitSet(new long[]{0x0800001080003800L,0x00001FFFC000C1E0L}); + public static final BitSet FOLLOW_expression_in_protectStatement1330 = new BitSet(new long[]{0x0080000000000000L}); + public static final BitSet FOLLOW_55_in_protectStatement1336 = new BitSet(new long[]{0x0800001080003800L,0x00001FFFC000C1E0L}); + public static final BitSet FOLLOW_expression_in_protectStatement1344 = new BitSet(new long[]{0x0100001000000400L}); + public static final BitSet FOLLOW_56_in_protectStatement1350 = new BitSet(new long[]{0x0000001000000400L}); + public static final BitSet FOLLOW_sequence_in_protectStatement1359 = new BitSet(new long[]{0x0200000000000000L}); + public static final BitSet FOLLOW_57_in_protectStatement1365 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_58_in_check1388 = new BitSet(new long[]{0x0000000000002000L,0x00000000000000E0L}); + public static final BitSet FOLLOW_type_in_check1396 = new BitSet(new long[]{0x1800002000000000L}); + public static final BitSet FOLLOW_59_in_check1404 = new BitSet(new long[]{0x0800001080003800L,0x00001FFFC000C1E0L}); + public static final BitSet FOLLOW_expression_in_check1412 = new BitSet(new long[]{0x1000002000000000L}); + public static final BitSet FOLLOW_37_in_check1423 = new BitSet(new long[]{0x0800001080003800L,0x00001FFFC000C1E0L}); + public static final BitSet FOLLOW_60_in_check1432 = new BitSet(new long[]{0x0800001080003800L,0x00001FFFC000C1E0L}); + public static final BitSet FOLLOW_expression_in_check1442 = new BitSet(new long[]{0x2000000000000000L}); + public static final BitSet FOLLOW_61_in_check1448 = new BitSet(new long[]{0x0800001080003800L,0x00001FFFC000C1E0L}); + public static final BitSet FOLLOW_expression_in_check1456 = new BitSet(new long[]{0x0000000010000000L}); + public static final BitSet FOLLOW_28_in_check1462 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_62_in_around1485 = new BitSet(new long[]{0x0000000200002000L}); + public static final BitSet FOLLOW_pointcut_in_around1493 = new BitSet(new long[]{0x0000000080000000L}); + public static final BitSet FOLLOW_31_in_around1499 = new BitSet(new long[]{0x0000000600002000L,0x00000000000000E0L}); + public static final BitSet FOLLOW_declaredParameterList_in_around1509 = new BitSet(new long[]{0x0000000700000000L}); + public static final BitSet FOLLOW_32_in_around1517 = new BitSet(new long[]{0x0000000200000000L}); + public static final BitSet FOLLOW_33_in_around1524 = new BitSet(new long[]{0x0000000400000000L}); + public static final BitSet FOLLOW_33_in_around1536 = new BitSet(new long[]{0x0000000400000000L}); + public static final BitSet FOLLOW_34_in_around1545 = new BitSet(new long[]{0x2000000000000000L}); + public static final BitSet FOLLOW_61_in_around1551 = new BitSet(new long[]{0x0800001080003800L,0x00001FFFC000C1E0L}); + public static final BitSet FOLLOW_expression_in_around1559 = new BitSet(new long[]{0x0000000010000000L}); + public static final BitSet FOLLOW_28_in_around1565 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_33_in_pointcut1590 = new BitSet(new long[]{0x8000000200002002L}); + public static final BitSet FOLLOW_identifier_in_pointcut1601 = new BitSet(new long[]{0x8000000200002002L}); + public static final BitSet FOLLOW_33_in_pointcut1611 = new BitSet(new long[]{0x8000000200002002L}); + public static final BitSet FOLLOW_identifier_in_pointcut1622 = new BitSet(new long[]{0x8000000200002002L}); + public static final BitSet FOLLOW_63_in_pointcut1631 = new BitSet(new long[]{0x8000000200002002L}); + public static final BitSet FOLLOW_64_in_extension1659 = new BitSet(new long[]{0x0000000000002000L,0x00000000000000E7L}); + public static final BitSet FOLLOW_65_in_extension1668 = new BitSet(new long[]{0x0000000000002000L,0x00000000000000E7L}); + public static final BitSet FOLLOW_66_in_extension1677 = new BitSet(new long[]{0x0000000000002000L,0x00000000000000E7L}); + public static final BitSet FOLLOW_type_in_extension1688 = new BitSet(new long[]{0x0000000000002000L}); + public static final BitSet FOLLOW_identifier_in_extension1697 = new BitSet(new long[]{0x0000000080002000L}); + public static final BitSet FOLLOW_identifier_in_extension1705 = new BitSet(new long[]{0x0000000080000000L}); + public static final BitSet FOLLOW_31_in_extension1712 = new BitSet(new long[]{0x0000000400002000L,0x00000000000000E0L}); + public static final BitSet FOLLOW_declaredParameterList_in_extension1720 = new BitSet(new long[]{0x0000000400000000L}); + public static final BitSet FOLLOW_34_in_extension1727 = new BitSet(new long[]{0x2000000000000000L}); + public static final BitSet FOLLOW_61_in_extension1733 = new BitSet(new long[]{0x0800001080003800L,0x00001FFFC000C1E8L}); + public static final BitSet FOLLOW_67_in_extension1741 = new BitSet(new long[]{0x0000000000002000L}); + public static final BitSet FOLLOW_javaType_in_extension1749 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000010L}); + public static final BitSet FOLLOW_68_in_extension1755 = new BitSet(new long[]{0x0000000000002000L}); + public static final BitSet FOLLOW_identifier_in_extension1763 = new BitSet(new long[]{0x0000000080000000L}); + public static final BitSet FOLLOW_31_in_extension1769 = new BitSet(new long[]{0x0000000400002000L}); + public static final BitSet FOLLOW_javaType_in_extension1779 = new BitSet(new long[]{0x0000000500000000L}); + public static final BitSet FOLLOW_32_in_extension1787 = new BitSet(new long[]{0x0000000000002000L}); + public static final BitSet FOLLOW_javaType_in_extension1795 = new BitSet(new long[]{0x0000000500000000L}); + public static final BitSet FOLLOW_34_in_extension1807 = new BitSet(new long[]{0x0000000010000000L}); + public static final BitSet FOLLOW_expression_in_extension1818 = new BitSet(new long[]{0x0000000010000000L}); + public static final BitSet FOLLOW_28_in_extension1826 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_identifier_in_javaType1851 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000010L}); + public static final BitSet FOLLOW_68_in_javaType1859 = new BitSet(new long[]{0x0000000000002000L,0x00000000000000E0L}); + public static final BitSet FOLLOW_identifier_in_javaType1869 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000010L}); + public static final BitSet FOLLOW_69_in_javaType1878 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000010L}); + public static final BitSet FOLLOW_70_in_javaType1887 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000010L}); + public static final BitSet FOLLOW_71_in_javaType1896 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000010L}); + public static final BitSet FOLLOW_expression_in_test_expression1931 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_test_expression1937 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_letExpression_in_expression1965 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_72_in_letExpression1993 = new BitSet(new long[]{0x0000000000002000L}); + public static final BitSet FOLLOW_identifier_in_letExpression2001 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000200L}); + public static final BitSet FOLLOW_73_in_letExpression2007 = new BitSet(new long[]{0x0800001080003800L,0x00001FFFC000C0E0L}); + public static final BitSet FOLLOW_castedExpression_in_letExpression2015 = new BitSet(new long[]{0x2000000000000000L}); + public static final BitSet FOLLOW_61_in_letExpression2021 = new BitSet(new long[]{0x0800001080003800L,0x00001FFFC000C1E0L}); + public static final BitSet FOLLOW_expression_in_letExpression2029 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_castedExpression_in_letExpression2040 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_31_in_castedExpression2079 = new BitSet(new long[]{0x0000000000002000L,0x00000000000000E0L}); + public static final BitSet FOLLOW_type_in_castedExpression2087 = new BitSet(new long[]{0x0000000400000000L}); + public static final BitSet FOLLOW_34_in_castedExpression2093 = new BitSet(new long[]{0x0800001080003800L,0x00001FFFC000C0E0L}); + public static final BitSet FOLLOW_chainExpression_in_castedExpression2101 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_chainExpression_in_castedExpression2113 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ifExpression_in_chainExpression2143 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000400L}); + public static final BitSet FOLLOW_74_in_chainExpression2151 = new BitSet(new long[]{0x0800001080003800L,0x00001FFFC000C0E0L}); + public static final BitSet FOLLOW_ifExpression_in_chainExpression2159 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000400L}); + public static final BitSet FOLLOW_switchExpression_in_ifExpression2192 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000800L}); + public static final BitSet FOLLOW_75_in_ifExpression2200 = new BitSet(new long[]{0x0800001080003800L,0x00001FFFC000C1E0L}); + public static final BitSet FOLLOW_expression_in_ifExpression2208 = new BitSet(new long[]{0x2000000000000000L}); + public static final BitSet FOLLOW_61_in_ifExpression2214 = new BitSet(new long[]{0x0000001080003800L,0x00001FFFC000C0E0L}); + public static final BitSet FOLLOW_switchExpression_in_ifExpression2222 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_59_in_ifExpression2234 = new BitSet(new long[]{0x0800001080003800L,0x00001FFFC000C1E0L}); + public static final BitSet FOLLOW_expression_in_ifExpression2242 = new BitSet(new long[]{0x0000000000000000L,0x0000000000001000L}); + public static final BitSet FOLLOW_76_in_ifExpression2248 = new BitSet(new long[]{0x0000001080003800L,0x00001FFFC000C0E0L}); + public static final BitSet FOLLOW_switchExpression_in_ifExpression2256 = new BitSet(new long[]{0x0000000000000002L,0x0000000000002000L}); + public static final BitSet FOLLOW_77_in_ifExpression2264 = new BitSet(new long[]{0x0000001080003800L,0x00001FFFC000C0E0L}); + public static final BitSet FOLLOW_switchExpression_in_ifExpression2272 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_78_in_switchExpression2303 = new BitSet(new long[]{0x0000000080000000L,0x0000000000008000L}); + public static final BitSet FOLLOW_31_in_switchExpression2311 = new BitSet(new long[]{0x0000001080003800L,0x00001FFFC00080E0L}); + public static final BitSet FOLLOW_orExpression_in_switchExpression2319 = new BitSet(new long[]{0x0000000400000000L}); + public static final BitSet FOLLOW_34_in_switchExpression2325 = new BitSet(new long[]{0x0000000000000000L,0x0000000000008000L}); + public static final BitSet FOLLOW_79_in_switchExpression2334 = new BitSet(new long[]{0x0000000000000000L,0x0000000000050000L}); + public static final BitSet FOLLOW_casePart_in_switchExpression2342 = new BitSet(new long[]{0x0000000000000000L,0x0000000000050000L}); + public static final BitSet FOLLOW_80_in_switchExpression2349 = new BitSet(new long[]{0x2000000000000000L}); + public static final BitSet FOLLOW_61_in_switchExpression2355 = new BitSet(new long[]{0x0000001080003800L,0x00001FFFC00080E0L}); + public static final BitSet FOLLOW_orExpression_in_switchExpression2363 = new BitSet(new long[]{0x0000000000000000L,0x0000000000020000L}); + public static final BitSet FOLLOW_81_in_switchExpression2369 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_orExpression_in_switchExpression2380 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_82_in_casePart2403 = new BitSet(new long[]{0x0800001080003800L,0x00001FFFC000C1E0L}); + public static final BitSet FOLLOW_expression_in_casePart2411 = new BitSet(new long[]{0x2000000000000000L}); + public static final BitSet FOLLOW_61_in_casePart2417 = new BitSet(new long[]{0x0800001080003800L,0x00001FFFC000C1E0L}); + public static final BitSet FOLLOW_expression_in_casePart2425 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_andExpression_in_orExpression2455 = new BitSet(new long[]{0x0000000000000002L,0x0000000000080000L}); + public static final BitSet FOLLOW_83_in_orExpression2463 = new BitSet(new long[]{0x0000001080003800L,0x00001FFFC00080E0L}); + public static final BitSet FOLLOW_andExpression_in_orExpression2471 = new BitSet(new long[]{0x0000000000000002L,0x0000000000080000L}); + public static final BitSet FOLLOW_impliesExpression_in_andExpression2504 = new BitSet(new long[]{0x0000000000000002L,0x0000000000100000L}); + public static final BitSet FOLLOW_84_in_andExpression2512 = new BitSet(new long[]{0x0000001080003800L,0x00001FFFC00080E0L}); + public static final BitSet FOLLOW_impliesExpression_in_andExpression2520 = new BitSet(new long[]{0x0000000000000002L,0x0000000000100000L}); + public static final BitSet FOLLOW_relationalExpression_in_impliesExpression2553 = new BitSet(new long[]{0x0000000000000002L,0x0000000000200000L}); + public static final BitSet FOLLOW_85_in_impliesExpression2561 = new BitSet(new long[]{0x0000001080003800L,0x00001FFFC00080E0L}); + public static final BitSet FOLLOW_relationalExpression_in_impliesExpression2569 = new BitSet(new long[]{0x0000000000000002L,0x0000000000200000L}); + public static final BitSet FOLLOW_additiveExpression_in_relationalExpression2602 = new BitSet(new long[]{0x0000000000000002L,0x000000000FC00000L}); + public static final BitSet FOLLOW_86_in_relationalExpression2612 = new BitSet(new long[]{0x0000001080003800L,0x00001FFFC00080E0L}); + public static final BitSet FOLLOW_87_in_relationalExpression2621 = new BitSet(new long[]{0x0000001080003800L,0x00001FFFC00080E0L}); + public static final BitSet FOLLOW_88_in_relationalExpression2630 = new BitSet(new long[]{0x0000001080003800L,0x00001FFFC00080E0L}); + public static final BitSet FOLLOW_89_in_relationalExpression2639 = new BitSet(new long[]{0x0000001080003800L,0x00001FFFC00080E0L}); + public static final BitSet FOLLOW_90_in_relationalExpression2648 = new BitSet(new long[]{0x0000001080003800L,0x00001FFFC00080E0L}); + public static final BitSet FOLLOW_91_in_relationalExpression2657 = new BitSet(new long[]{0x0000001080003800L,0x00001FFFC00080E0L}); + public static final BitSet FOLLOW_additiveExpression_in_relationalExpression2667 = new BitSet(new long[]{0x0000000000000002L,0x000000000FC00000L}); + public static final BitSet FOLLOW_multiplicativeExpression_in_additiveExpression2700 = new BitSet(new long[]{0x0000001000000002L,0x0000000010000000L}); + public static final BitSet FOLLOW_92_in_additiveExpression2710 = new BitSet(new long[]{0x0000001080003800L,0x00001FFFC00080E0L}); + public static final BitSet FOLLOW_36_in_additiveExpression2719 = new BitSet(new long[]{0x0000001080003800L,0x00001FFFC00080E0L}); + public static final BitSet FOLLOW_multiplicativeExpression_in_additiveExpression2729 = new BitSet(new long[]{0x0000001000000002L,0x0000000010000000L}); + public static final BitSet FOLLOW_unaryExpression_in_multiplicativeExpression2762 = new BitSet(new long[]{0x0000000200000002L,0x0000000020000000L}); + public static final BitSet FOLLOW_33_in_multiplicativeExpression2772 = new BitSet(new long[]{0x0000001080003800L,0x00001FFFC00080E0L}); + public static final BitSet FOLLOW_93_in_multiplicativeExpression2781 = new BitSet(new long[]{0x0000001080003800L,0x00001FFFC00080E0L}); + public static final BitSet FOLLOW_unaryExpression_in_multiplicativeExpression2791 = new BitSet(new long[]{0x0000000200000002L,0x0000000020000000L}); + public static final BitSet FOLLOW_infixExpression_in_unaryExpression2824 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_94_in_unaryExpression2833 = new BitSet(new long[]{0x0000000080003800L,0x00001FFF800080E0L}); + public static final BitSet FOLLOW_infixExpression_in_unaryExpression2841 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_36_in_unaryExpression2850 = new BitSet(new long[]{0x0000000080003800L,0x00001FFF800080E0L}); + public static final BitSet FOLLOW_infixExpression_in_unaryExpression2858 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_primaryExpression_in_infixExpression2888 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000010L}); + public static final BitSet FOLLOW_68_in_infixExpression2896 = new BitSet(new long[]{0x0000000000002000L,0x00001FF0000000E0L}); + public static final BitSet FOLLOW_featureCall_in_infixExpression2904 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000010L}); + public static final BitSet FOLLOW_stringLiteral_in_primaryExpression2925 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_featureCall_in_primaryExpression2934 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_booleanLiteral_in_primaryExpression2943 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_numberLiteral_in_primaryExpression2952 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_nullLiteral_in_primaryExpression2961 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_listLiteral_in_primaryExpression2970 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_constructorCall_in_primaryExpression2979 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_globalVarExpression_in_primaryExpression2988 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_paranthesizedExpression_in_primaryExpression2997 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_StringLiteral_in_stringLiteral3020 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_31_in_paranthesizedExpression3043 = new BitSet(new long[]{0x0800001080003800L,0x00001FFFC000C1E0L}); + public static final BitSet FOLLOW_expression_in_paranthesizedExpression3051 = new BitSet(new long[]{0x0000000400000000L}); + public static final BitSet FOLLOW_34_in_paranthesizedExpression3057 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_95_in_globalVarExpression3080 = new BitSet(new long[]{0x0000000000002000L}); + public static final BitSet FOLLOW_identifier_in_globalVarExpression3088 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_identifier_in_featureCall3118 = new BitSet(new long[]{0x0000000080000000L}); + public static final BitSet FOLLOW_31_in_featureCall3124 = new BitSet(new long[]{0x0800001480003800L,0x00001FFFC000C1E0L}); + public static final BitSet FOLLOW_parameterList_in_featureCall3134 = new BitSet(new long[]{0x0000000400000000L}); + public static final BitSet FOLLOW_34_in_featureCall3143 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_type_in_featureCall3154 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_collectionExpression_in_featureCall3165 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_79_in_listLiteral3188 = new BitSet(new long[]{0x0800001080003800L,0x00001FFFC002C1E0L}); + public static final BitSet FOLLOW_expression_in_listLiteral3198 = new BitSet(new long[]{0x0000000100000000L,0x0000000000020000L}); + public static final BitSet FOLLOW_32_in_listLiteral3206 = new BitSet(new long[]{0x0800001080003800L,0x00001FFFC000C1E0L}); + public static final BitSet FOLLOW_expression_in_listLiteral3214 = new BitSet(new long[]{0x0000000100000000L,0x0000000000020000L}); + public static final BitSet FOLLOW_81_in_listLiteral3226 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_96_in_constructorCall3249 = new BitSet(new long[]{0x0000000000002000L}); + public static final BitSet FOLLOW_simpleType_in_constructorCall3257 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_97_in_booleanLiteral3280 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_98_in_booleanLiteral3289 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_99_in_nullLiteral3312 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_IntLiteral_in_numberLiteral3335 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_IntLiteral_in_numberLiteral3344 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000010L}); + public static final BitSet FOLLOW_68_in_numberLiteral3350 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_IntLiteral_in_numberLiteral3356 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_100_in_collectionExpression3379 = new BitSet(new long[]{0x0000000080000000L}); + public static final BitSet FOLLOW_31_in_collectionExpression3385 = new BitSet(new long[]{0x0000000000002000L,0x00000000000000E0L}); + public static final BitSet FOLLOW_type_in_collectionExpression3393 = new BitSet(new long[]{0x0000000400000000L}); + public static final BitSet FOLLOW_34_in_collectionExpression3399 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_101_in_collectionExpression3410 = new BitSet(new long[]{0x0000000080000000L}); + public static final BitSet FOLLOW_102_in_collectionExpression3419 = new BitSet(new long[]{0x0000000080000000L}); + public static final BitSet FOLLOW_103_in_collectionExpression3428 = new BitSet(new long[]{0x0000000080000000L}); + public static final BitSet FOLLOW_104_in_collectionExpression3437 = new BitSet(new long[]{0x0000000080000000L}); + public static final BitSet FOLLOW_105_in_collectionExpression3446 = new BitSet(new long[]{0x0000000080000000L}); + public static final BitSet FOLLOW_106_in_collectionExpression3455 = new BitSet(new long[]{0x0000000080000000L}); + public static final BitSet FOLLOW_107_in_collectionExpression3464 = new BitSet(new long[]{0x0000000080000000L}); + public static final BitSet FOLLOW_108_in_collectionExpression3473 = new BitSet(new long[]{0x0000000080000000L}); + public static final BitSet FOLLOW_31_in_collectionExpression3481 = new BitSet(new long[]{0x0800001080003800L,0x00001FFFC000C1E0L}); + public static final BitSet FOLLOW_identifier_in_collectionExpression3491 = new BitSet(new long[]{0x0000000000000000L,0x0000200000000000L}); + public static final BitSet FOLLOW_109_in_collectionExpression3497 = new BitSet(new long[]{0x0800001080003800L,0x00001FFFC000C1E0L}); + public static final BitSet FOLLOW_expression_in_collectionExpression3508 = new BitSet(new long[]{0x0000000400000000L}); + public static final BitSet FOLLOW_34_in_collectionExpression3514 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_declaredParameter_in_declaredParameterList3539 = new BitSet(new long[]{0x0000000100000002L}); + public static final BitSet FOLLOW_32_in_declaredParameterList3547 = new BitSet(new long[]{0x0000000000002000L,0x00000000000000E0L}); + public static final BitSet FOLLOW_declaredParameter_in_declaredParameterList3555 = new BitSet(new long[]{0x0000000100000002L}); + public static final BitSet FOLLOW_type_in_declaredParameter3583 = new BitSet(new long[]{0x0000000000002000L}); + public static final BitSet FOLLOW_identifier_in_declaredParameter3591 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_expression_in_parameterList3616 = new BitSet(new long[]{0x0000000100000002L}); + public static final BitSet FOLLOW_32_in_parameterList3624 = new BitSet(new long[]{0x0800001080003800L,0x00001FFFC000C1E0L}); + public static final BitSet FOLLOW_expression_in_parameterList3632 = new BitSet(new long[]{0x0000000100000002L}); + public static final BitSet FOLLOW_collectionType_in_type3653 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_simpleType_in_type3662 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_69_in_collectionType3687 = new BitSet(new long[]{0x0000000000000002L,0x0000400000000000L}); + public static final BitSet FOLLOW_70_in_collectionType3696 = new BitSet(new long[]{0x0000000000000002L,0x0000400000000000L}); + public static final BitSet FOLLOW_71_in_collectionType3705 = new BitSet(new long[]{0x0000000000000002L,0x0000400000000000L}); + public static final BitSet FOLLOW_110_in_collectionType3715 = new BitSet(new long[]{0x0000000000002000L}); + public static final BitSet FOLLOW_simpleType_in_collectionType3723 = new BitSet(new long[]{0x0000000000000000L,0x0000800000000000L}); + public static final BitSet FOLLOW_111_in_collectionType3729 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_identifier_in_simpleType3757 = new BitSet(new long[]{0x8000000000000002L}); + public static final BitSet FOLLOW_63_in_simpleType3765 = new BitSet(new long[]{0x0000000000002000L}); + public static final BitSet FOLLOW_identifier_in_simpleType3773 = new BitSet(new long[]{0x8000000000000002L}); + public static final BitSet FOLLOW_Identifier_in_identifier3799 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_31_in_synpred12068 = new BitSet(new long[]{0x0000000000002000L,0x00000000000000E0L}); + public static final BitSet FOLLOW_type_in_synpred12070 = new BitSet(new long[]{0x0000000400000000L}); + public static final BitSet FOLLOW_34_in_synpred12072 = new BitSet(new long[]{0x0800001080003800L,0x00001FFFC000C0E0L}); + public static final BitSet FOLLOW_chainExpression_in_synpred12074 = new BitSet(new long[]{0x0000000000000002L}); + +} \ No newline at end of file diff --git a/plugins/org.eclipse.xpand3.parser/src-gen/org/eclipse/xpand3/parser/Xpand3Node__.g b/plugins/org.eclipse.xpand3.parser/src-gen/org/eclipse/xpand3/parser/Xpand3Node__.g new file mode 100644 index 00000000..6c270229 --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/src-gen/org/eclipse/xpand3/parser/Xpand3Node__.g @@ -0,0 +1,235 @@ +lexer grammar Xpand3Node; +@members { + private boolean xpandMode = false; +} +@header { +package org.eclipse.xpand3.parser; +} + +T25 : 'IMPORT' ; +T26 : 'EXTENSION' ; +T27 : 'import' ; +T28 : ';' ; +T29 : 'extension' ; +T30 : 'reexport' ; +T31 : '(' ; +T32 : ',' ; +T33 : '*' ; +T34 : ')' ; +T35 : 'FOR' ; +T36 : '-' ; +T37 : 'ERROR' ; +T38 : 'EXPAND' ; +T39 : 'FOREACH' ; +T40 : 'SEPARATOR' ; +T41 : 'FILE' ; +T42 : 'ENDFILE' ; +T43 : 'AS' ; +T44 : 'ITERATOR' ; +T45 : 'ENDFOREACH' ; +T46 : 'IF' ; +T47 : 'ENDIF' ; +T48 : 'ELSEIF' ; +T49 : 'ELSE' ; +T50 : 'LET' ; +T51 : 'ENDLET' ; +T52 : 'PROTECT' ; +T53 : 'CSTART' ; +T54 : 'CEND' ; +T55 : 'ID' ; +T56 : 'DISABLE' ; +T57 : 'ENDPROTECT' ; +T58 : 'context' ; +T59 : 'if' ; +T60 : 'WARNING' ; +T61 : ':' ; +T62 : 'around' ; +T63 : '::' ; +T64 : 'private' ; +T65 : 'cached' ; +T66 : 'create' ; +T67 : 'JAVA' ; +T68 : '.' ; +T69 : 'Collection' ; +T70 : 'List' ; +T71 : 'Set' ; +T72 : 'let' ; +T73 : '=' ; +T74 : '->' ; +T75 : '?' ; +T76 : 'then' ; +T77 : 'else' ; +T78 : 'switch' ; +T79 : '{' ; +T80 : 'default' ; +T81 : '}' ; +T82 : 'case' ; +T83 : '||' ; +T84 : '&&' ; +T85 : 'implies' ; +T86 : '==' ; +T87 : '!=' ; +T88 : '>=' ; +T89 : '<=' ; +T90 : '>' ; +T91 : '<' ; +T92 : '+' ; +T93 : '/' ; +T94 : '!' ; +T95 : 'GLOBALVAR' ; +T96 : 'new' ; +T97 : 'false' ; +T98 : 'true' ; +T99 : 'null' ; +T100 : 'typeSelect' ; +T101 : 'collect' ; +T102 : 'select' ; +T103 : 'selectFirst' ; +T104 : 'reject' ; +T105 : 'exists' ; +T106 : 'notExists' ; +T107 : 'sortBy' ; +T108 : 'forAll' ; +T109 : '|' ; +T110 : '[' ; +T111 : ']' ; + +// $ANTLR src "./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g" 343 +IntLiteral : + ('0' | '1'..'9' '0'..'9'*) +; + +// $ANTLR src "./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g" 347 +StringLiteral : + '\"' ( EscapeSequence | ~('\\'|'\"') )* '\"' + | '\'' ( EscapeSequence | ~('\''|'\\') )* '\'' +; + +// $ANTLR src "./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g" 352 +fragment EscapeSequence : + '\\' ('b'|'t'|'n'|'f'|'r'|'\"'|'\''|'\\') + | UnicodeEscape + | OctalEscape +; + +// $ANTLR src "./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g" 358 +fragment OctalEscape : + '\\' ('0'..'3') ('0'..'7') ('0'..'7') + | '\\' ('0'..'7') ('0'..'7') + | '\\' ('0'..'7') +; + +// $ANTLR src "./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g" 364 +fragment UnicodeEscape : + '\\' 'u' HexDigit HexDigit HexDigit HexDigit +; + +// $ANTLR src "./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g" 368 +fragment HexDigit : + ('0'..'9'|'a'..'f'|'A'..'F') +; + +// $ANTLR src "./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g" 372 +DEFINE : + {xpandMode=true;} 'DEFINE' +; + +// $ANTLR src "./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g" 376 +ENDDEFINE : + 'ENDDEFINE' {xpandMode=false;} +; + +// $ANTLR src "./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g" 380 +AROUND : + {xpandMode=true;}'AROUND' +; + +// $ANTLR src "./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g" 384 +ENDAROUND : + 'ENDAROUND'{xpandMode=false;} +; + +// $ANTLR src "./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g" 388 +Identifier : + ('^')? Letter (Letter|JavaIDDigit)* +; + +// $ANTLR src "./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g" 392 +fragment Letter : + '\u0024' | + '\u0041'..'\u005a' | + '\u005f' | + '\u0061'..'\u007a' | + '\u00c0'..'\u00d6' | + '\u00d8'..'\u00f6' | + '\u00f8'..'\u00ff' | + '\u0100'..'\u1fff' | + '\u3040'..'\u318f' | + '\u3300'..'\u337f' | + '\u3400'..'\u3d2d' | + '\u4e00'..'\u9fff' | + '\uf900'..'\ufaff' +; + +// $ANTLR src "./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g" 408 +fragment JavaIDDigit : + + '\u0030'..'\u0039' | + '\u0660'..'\u0669' | + '\u06f0'..'\u06f9' | + '\u0966'..'\u096f' | + '\u09e6'..'\u09ef' | + '\u0a66'..'\u0a6f' | + '\u0ae6'..'\u0aef' | + '\u0b66'..'\u0b6f' | + '\u0be7'..'\u0bef' | + '\u0c66'..'\u0c6f' | + '\u0ce6'..'\u0cef' | + '\u0d66'..'\u0d6f' | + '\u0e50'..'\u0e59' | + '\u0ed0'..'\u0ed9' | + '\u1040'..'\u1049' + +; + +// $ANTLR src "./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g" 428 +WS : + (' '|'\r'|'\t'|'\u000C'|'\n') {$channel=HIDDEN;} +; + +// $ANTLR src "./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g" 432 +COMMENT : + '/*' ( options {greedy=false;} : . )* '*/' {$channel=HIDDEN;} +; + +// $ANTLR src "./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g" 436 +LINE_COMMENT : + '//' ~('\n'|'\r')* ('\r'? '\n'|EOF) {$channel=HIDDEN;} +; + +// $ANTLR src "./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g" 440 +REM_COMMENT_OUT : + {!xpandMode}?=> LG 'REM' RG ( options {greedy=false;} : . )* '\u00ABENDREM' RG {$channel=HIDDEN;} +; + +// $ANTLR src "./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g" 444 +REM_COMMENT : + {xpandMode}?=> 'REM' RG ( options {greedy=false;} : . )* '\u00ABENDREM' {$channel=HIDDEN;} +; + +// $ANTLR src "./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g" 448 +TEXT : + {xpandMode}?=> RG ~(LG)* (LG)? +; + +// $ANTLR src "./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g" 452 +LG : + '\u00AB' +; + +// $ANTLR src "./src-gen/org/eclipse/xpand3/parser/Xpand3Node.g" 456 +RG : + '\u00BB' +; + + \ No newline at end of file diff --git a/plugins/org.eclipse.xpand3.parser/src-gen/org/eclipse/xpand3/parser/debugMeWithAntLR.g b/plugins/org.eclipse.xpand3.parser/src-gen/org/eclipse/xpand3/parser/debugMeWithAntLR.g new file mode 100644 index 00000000..1dcca801 --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/src-gen/org/eclipse/xpand3/parser/debugMeWithAntLR.g @@ -0,0 +1,367 @@ +grammar debugMeWithAntLR; + + +@lexer::members { + private boolean xpandMode = false; +} + +file : + (((imp=nsImport)))* (((decl=abstractDeclaration)))* (EOF) +; +nsImport : + (LG) ('IMPORT') (ns=simpleType) (RG) + | (LG) ('EXTENSION') (ns=simpleType) (RG) + | ('import') (unnamed0=type) (';') + | ('extension') (unnamed1=type) ((('reexport')))? (';') +; +abstractDeclaration : + (check) + | (around) + | (extension) + | (definition) + | (definitionAround) +; +definition : + (LG) (DEFINE) (name=identifier) ((('(') (((unnamed2=declaredParameterList) (((',')? ('*')))? + | ('*')))? (')')))? ('FOR') (unnamed3=type) (unnamed4=sequence) (ENDDEFINE) (RG) +; +definitionAround : + (LG) (AROUND) (unnamed5=pointcut) ((('(') (((unnamed6=declaredParameterList) (((',')? ('*')))? + | ('*')))? (')')))? ('FOR') (unnamed7=type) (unnamed8=sequence) (ENDAROUND) (RG) +; +sequence : + (unnamed9=textSequence) (((unnamed10=statement) (unnamed11=textSequence)))* +; +statement : + (simpleStatement) + | (fileStatement) + | (foreachStatement) + | (ifStatement) + | (letStatement) + | (protectStatement) +; +textSequence : + (unnamed12=text) (((unnamed13=text)))* +; +text : + ('-')? (TEXT) +; +simpleStatement : + (errorStatement) + | (expandStatement) + | (expressionStmt) +; +errorStatement : + ('ERROR') (unnamed14=expression) +; +expandStatement : + ('EXPAND') (unnamed15=simpleType) ((('(') (unnamed16=parameterList) (')')))? ((((('FOR') (unnamed17=expression))) + | ((('FOREACH') (unnamed18=expression) ((('SEPARATOR') (unnamed19=expression)))?))))? +; +expressionStmt : + (unnamed20=expression) +; +fileStatement : + ('FILE') (unnamed21=expression) (((unnamed22=identifier)))? (unnamed23=sequence) ('ENDFILE') +; +foreachStatement : + ('FOREACH') (unnamed24=expression) ('AS') (unnamed25=identifier) ((('ITERATOR') (unnamed26=identifier)))? ((('SEPARATOR') (unnamed27=expression)))? (unnamed28=sequence) ('ENDFOREACH') +; +ifStatement : + ('IF') (unnamed29=expression) (unnamed30=sequence) (unnamed31=elseIfStatement)* (unnamed32=elseStatement)? ('ENDIF') +; +elseIfStatement : + ('ELSEIF') (unnamed33=expression) (unnamed34=sequence) +; +elseStatement : + ('ELSE') (unnamed35=sequence) +; +letStatement : + ('LET') (unnamed36=expression) ('AS') (unnamed37=identifier) (unnamed38=sequence) ('ENDLET') +; +protectStatement : + ('PROTECT') ('CSTART') (unnamed39=expression) ('CEND') (unnamed40=expression) ('ID') (unnamed41=expression) ('DISABLE')? (unnamed42=sequence) ('ENDPROTECT') +; +check : + ('context') (unnamed43=type) ((('if') (unnamed44=expression)))? ((('ERROR') + | ('WARNING'))) (unnamed45=expression) (':') (unnamed46=expression) (';') +; +around : + ('around') (unnamed47=pointcut) ('(') (((unnamed48=declaredParameterList) (((',')? ('*')))? + | ('*')))? (')') (':') (unnamed49=expression) (';') +; +pointcut : + ((('*') + | (unnamed50=identifier))) ((('*') + | (unnamed51=identifier) + | ('::')))* +; +extension : + ((('private') + | ('cached') + | ('create')))* (unnamed52=type)? (unnamed53=identifier) (unnamed54=identifier)? ('(') (unnamed55=declaredParameterList)? (')') (':') ((('JAVA') (unnamed56=javaType) ('.') (unnamed57=identifier) ('(') (((unnamed58=javaType) (((',') (unnamed59=javaType)))*))? (')') + | (unnamed60=expression))) (';') +; +javaType : + (unnamed61=identifier) ((('.') (((unnamed62=identifier) + | ('Collection') + | ('List') + | ('Set')))))* +; +test_expression : + (unnamed63=expression) (EOF) +; +expression : + (unnamed64=letExpression) +; +letExpression : + ('let') (unnamed65=identifier) ('=') (unnamed66=castedExpression) (':') (unnamed67=expression) + | (unnamed68=castedExpression) +; +castedExpression : + ('(' type ')' chainExpression)=>(('(') (unnamed69=type) (')') (unnamed70=chainExpression)) + | (unnamed71=chainExpression) +; +chainExpression : + (unnamed72=ifExpression) ((('->') (unnamed73=ifExpression)))* +; +ifExpression : + (unnamed74=switchExpression) ((('?') (unnamed75=expression) (':') (unnamed76=switchExpression)))? + | ('if') (unnamed77=expression) ('then') (unnamed78=switchExpression) ((('else') (unnamed79=switchExpression)))? +; +switchExpression : + ('switch') ((('(') (unnamed80=orExpression) (')')))? ('{') (unnamed81=casePart)* ('default') (':') (unnamed82=orExpression) ('}') + | (unnamed83=orExpression) +; +casePart : + ('case') (unnamed84=expression) (':') (unnamed85=expression) +; +orExpression : + (unnamed86=andExpression) ((('||') (unnamed87=andExpression)))* +; +andExpression : + (unnamed88=impliesExpression) ((('&&') (unnamed89=impliesExpression)))* +; +impliesExpression : + (unnamed90=relationalExpression) ((('implies') (unnamed91=relationalExpression)))* +; +relationalExpression : + (unnamed92=additiveExpression) ((((('==') + | ('!=') + | ('>=') + | ('<=') + | ('>') + | ('<'))) (unnamed93=additiveExpression)))* +; +additiveExpression : + (unnamed94=multiplicativeExpression) ((((('+') + | ('-'))) (unnamed95=multiplicativeExpression)))* +; +multiplicativeExpression : + (unnamed96=unaryExpression) ((((('*') + | ('/'))) (unnamed97=unaryExpression)))* +; +unaryExpression : + (unnamed98=infixExpression) + | ('!') (unnamed99=infixExpression) + | ('-') (unnamed100=infixExpression) +; +infixExpression : + (unnamed101=primaryExpression) ((('.') (unnamed102=featureCall)))* +; +primaryExpression : + (stringLiteral) + | (featureCall) + | (booleanLiteral) + | (numberLiteral) + | (nullLiteral) + | (listLiteral) + | (constructorCall) + | (globalVarExpression) + | (paranthesizedExpression) +; +stringLiteral : + (StringLiteral) +; +paranthesizedExpression : + ('(') (unnamed103=expression) (')') +; +globalVarExpression : + ('GLOBALVAR') (unnamed104=identifier) +; +featureCall : + (unnamed105=identifier) ('(') (((unnamed106=parameterList)))? (')') + | (unnamed107=type) + | (unnamed108=collectionExpression) +; +listLiteral : + ('{') (((unnamed109=expression) (((',') (unnamed110=expression)))*))? ('}') +; +constructorCall : + ('new') (unnamed111=simpleType) +; +booleanLiteral : + ('false') + | ('true') +; +nullLiteral : + ('null') +; +numberLiteral : + (IntLiteral) + | (IntLiteral) ('.') (IntLiteral) +; +collectionExpression : + ('typeSelect') ('(') (unnamed112=type) (')') + | ((('collect') + | ('select') + | ('selectFirst') + | ('reject') + | ('exists') + | ('notExists') + | ('sortBy') + | ('forAll'))) ('(') (((unnamed113=identifier) ('|')))? (unnamed114=expression) (')') +; +declaredParameterList : + (unnamed115=declaredParameter) (((',') (unnamed116=declaredParameter)))* +; +declaredParameter : + (unnamed117=type) (unnamed118=identifier) +; +parameterList : + (unnamed119=expression) (((',') (unnamed120=expression)))* +; +type : + (collectionType) + | (simpleType) +; +collectionType : + ((('Collection') + | ('List') + | ('Set'))) ((('[') (unnamed121=simpleType) (']')))? +; +simpleType : + (unnamed122=identifier) ((('::') (unnamed123=identifier)))* +; +identifier : + (Identifier) +; + +IntLiteral : + ('0' | '1'..'9' '0'..'9'*) +; + +StringLiteral : + '\"' ( EscapeSequence | ~('\\'|'\"') )* '\"' + | '\'' ( EscapeSequence | ~('\''|'\\') )* '\'' +; + +fragment EscapeSequence : + '\\' ('b'|'t'|'n'|'f'|'r'|'\"'|'\''|'\\') + | UnicodeEscape + | OctalEscape +; + +fragment OctalEscape : + '\\' ('0'..'3') ('0'..'7') ('0'..'7') + | '\\' ('0'..'7') ('0'..'7') + | '\\' ('0'..'7') +; + +fragment UnicodeEscape : + '\\' 'u' HexDigit HexDigit HexDigit HexDigit +; + +fragment HexDigit : + ('0'..'9'|'a'..'f'|'A'..'F') +; + +DEFINE : + {xpandMode=true;} 'DEFINE' +; + +ENDDEFINE : + 'ENDDEFINE' {xpandMode=false;} +; + +AROUND : + {xpandMode=true;}'AROUND' +; + +ENDAROUND : + 'ENDAROUND'{xpandMode=false;} +; + +Identifier : + ('^')? Letter (Letter|JavaIDDigit)* +; + +fragment Letter : + '\u0024' | + '\u0041'..'\u005a' | + '\u005f' | + '\u0061'..'\u007a' | + '\u00c0'..'\u00d6' | + '\u00d8'..'\u00f6' | + '\u00f8'..'\u00ff' | + '\u0100'..'\u1fff' | + '\u3040'..'\u318f' | + '\u3300'..'\u337f' | + '\u3400'..'\u3d2d' | + '\u4e00'..'\u9fff' | + '\uf900'..'\ufaff' +; + +fragment JavaIDDigit : + + '\u0030'..'\u0039' | + '\u0660'..'\u0669' | + '\u06f0'..'\u06f9' | + '\u0966'..'\u096f' | + '\u09e6'..'\u09ef' | + '\u0a66'..'\u0a6f' | + '\u0ae6'..'\u0aef' | + '\u0b66'..'\u0b6f' | + '\u0be7'..'\u0bef' | + '\u0c66'..'\u0c6f' | + '\u0ce6'..'\u0cef' | + '\u0d66'..'\u0d6f' | + '\u0e50'..'\u0e59' | + '\u0ed0'..'\u0ed9' | + '\u1040'..'\u1049' + +; + +WS : + (' '|'\r'|'\t'|'\u000C'|'\n') {$channel=HIDDEN;} +; + +COMMENT : + '/*' ( options {greedy=false;} : . )* '*/' {$channel=HIDDEN;} +; + +LINE_COMMENT : + '//' ~('\n'|'\r')* ('\r'? '\n'|EOF) {$channel=HIDDEN;} +; + +REM_COMMENT_OUT : + {!xpandMode}?=> LG 'REM' RG ( options {greedy=false;} : . )* '\u00ABENDREM' RG {$channel=HIDDEN;} +; + +REM_COMMENT : + {xpandMode}?=> 'REM' RG ( options {greedy=false;} : . )* '\u00ABENDREM' {$channel=HIDDEN;} +; + +TEXT : + {xpandMode}?=> RG ~(LG)* (LG)? +; + +LG : + '\u00AB' +; + +RG : + '\u00BB' +; + + \ No newline at end of file diff --git a/plugins/org.eclipse.xpand3.parser/src/org/eclipse/xpand3/parser/node2ast/Node2AstTransformer.java b/plugins/org.eclipse.xpand3.parser/src/org/eclipse/xpand3/parser/node2ast/Node2AstTransformer.java new file mode 100644 index 00000000..f2ee031e --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/src/org/eclipse/xpand3/parser/node2ast/Node2AstTransformer.java @@ -0,0 +1,7 @@ +package org.eclipse.xpand3.parser.node2ast; + +import org.eclipse.xpand3.internal.parser.xpand3node.util.Xpand3nodeSwitch; + +public class Node2AstTransformer extends Xpand3nodeSwitch { + +} diff --git a/plugins/org.eclipse.xpand3.parser/text/description.txt b/plugins/org.eclipse.xpand3.parser/text/description.txt new file mode 100644 index 00000000..656f0bba --- /dev/null +++ b/plugins/org.eclipse.xpand3.parser/text/description.txt @@ -0,0 +1,120 @@ +Model Xpand3Node + +This model description is not a real EMF artifact. It was generated by the +org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's +code generator can be extended. +This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false. + +Package xpand3node + + Class FileNode -> CompositeNode + Reference decl : CompositeNode<<0..*>> + Reference imp : CompositeNode<<0..*>> + + Class NsImportNode -> CompositeNode + Reference ns : CompositeNode + + Class DefinitionNode -> CompositeNode + Reference name : CompositeNode + + Class DefinitionAroundNode -> CompositeNode + + Class SequenceNode -> CompositeNode + + Class TextSequenceNode -> CompositeNode + + Class TextNode -> CompositeNode + + Class ErrorStatementNode -> CompositeNode + + Class ExpandStatementNode -> CompositeNode + + Class ExpressionStmtNode -> CompositeNode + + Class FileStatementNode -> CompositeNode + + Class ForeachStatementNode -> CompositeNode + + Class IfStatementNode -> CompositeNode + + Class ElseIfStatementNode -> CompositeNode + + Class ElseStatementNode -> CompositeNode + + Class LetStatementNode -> CompositeNode + + Class ProtectStatementNode -> CompositeNode + + Class CheckNode -> CompositeNode + + Class AroundNode -> CompositeNode + + Class PointcutNode -> CompositeNode + + Class ExtensionNode -> CompositeNode + + Class JavaTypeNode -> CompositeNode + + Class Test_expressionNode -> CompositeNode + + Class ExpressionNode -> CompositeNode + + Class LetExpressionNode -> CompositeNode + + Class CastedExpressionNode -> CompositeNode + + Class ChainExpressionNode -> CompositeNode + + Class IfExpressionNode -> CompositeNode + + Class SwitchExpressionNode -> CompositeNode + + Class CasePartNode -> CompositeNode + + Class OrExpressionNode -> CompositeNode + + Class AndExpressionNode -> CompositeNode + + Class ImpliesExpressionNode -> CompositeNode + + Class RelationalExpressionNode -> CompositeNode + + Class AdditiveExpressionNode -> CompositeNode + + Class MultiplicativeExpressionNode -> CompositeNode + + Class UnaryExpressionNode -> CompositeNode + + Class InfixExpressionNode -> CompositeNode + + Class StringLiteralNode -> CompositeNode + + Class ParanthesizedExpressionNode -> CompositeNode + + Class GlobalVarExpressionNode -> CompositeNode + + Class FeatureCallNode -> CompositeNode + + Class ListLiteralNode -> CompositeNode + + Class ConstructorCallNode -> CompositeNode + + Class BooleanLiteralNode -> CompositeNode + + Class NullLiteralNode -> CompositeNode + + Class NumberLiteralNode -> CompositeNode + + Class CollectionExpressionNode -> CompositeNode + + Class DeclaredParameterListNode -> CompositeNode + + Class DeclaredParameterNode -> CompositeNode + + Class ParameterListNode -> CompositeNode + + Class CollectionTypeNode -> CompositeNode + + Class SimpleTypeNode -> CompositeNode + + Class IdentifierNode -> CompositeNode diff --git a/tests/org.eclipse.xpand3.parser.tests/.classpath b/tests/org.eclipse.xpand3.parser.tests/.classpath new file mode 100644 index 00000000..304e8618 --- /dev/null +++ b/tests/org.eclipse.xpand3.parser.tests/.classpath @@ -0,0 +1,7 @@ + + + + + + + diff --git a/tests/org.eclipse.xpand3.parser.tests/.project b/tests/org.eclipse.xpand3.parser.tests/.project new file mode 100644 index 00000000..ad7fdb9e --- /dev/null +++ b/tests/org.eclipse.xpand3.parser.tests/.project @@ -0,0 +1,28 @@ + + + org.eclipse.xpand3.parser.tests + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + + org.eclipse.pde.PluginNature + org.eclipse.jdt.core.javanature + + diff --git a/tests/org.eclipse.xpand3.parser.tests/.settings/org.eclipse.jdt.core.prefs b/tests/org.eclipse.xpand3.parser.tests/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 00000000..f1298602 --- /dev/null +++ b/tests/org.eclipse.xpand3.parser.tests/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,7 @@ +#Wed Mar 05 14:23:00 CET 2008 +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5 +org.eclipse.jdt.core.compiler.compliance=1.5 +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.5 diff --git a/tests/org.eclipse.xpand3.parser.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.xpand3.parser.tests/META-INF/MANIFEST.MF new file mode 100644 index 00000000..b47f8f52 --- /dev/null +++ b/tests/org.eclipse.xpand3.parser.tests/META-INF/MANIFEST.MF @@ -0,0 +1,8 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: Xpand3 Parser Tests Plug-in +Bundle-SymbolicName: org.eclipse.xpand3.parser.tests +Bundle-Version: 1.0.0 +Bundle-RequiredExecutionEnvironment: J2SE-1.5 +Require-Bundle: org.eclipse.xpand3.parser;bundle-version="1.0.0", + org.junit;bundle-version="3.8.2" diff --git a/tests/org.eclipse.xpand3.parser.tests/build.properties b/tests/org.eclipse.xpand3.parser.tests/build.properties new file mode 100644 index 00000000..34d2e4d2 --- /dev/null +++ b/tests/org.eclipse.xpand3.parser.tests/build.properties @@ -0,0 +1,4 @@ +source.. = src/ +output.. = bin/ +bin.includes = META-INF/,\ + . diff --git a/tests/org.eclipse.xpand3.parser.tests/src/org/eclipse/xpand3/parser/AbstractXpand3NodeParserTest.java b/tests/org.eclipse.xpand3.parser.tests/src/org/eclipse/xpand3/parser/AbstractXpand3NodeParserTest.java new file mode 100644 index 00000000..3c19b26b --- /dev/null +++ b/tests/org.eclipse.xpand3.parser.tests/src/org/eclipse/xpand3/parser/AbstractXpand3NodeParserTest.java @@ -0,0 +1,147 @@ +package org.eclipse.xpand3.parser; + +import java.util.List; + +import junit.framework.TestCase; + +import org.eclipse.tmf.common.node.CompositeNode; +import org.eclipse.tmf.common.node.LeafNode; +import org.eclipse.tmf.common.node.LexedToken; +import org.eclipse.tmf.common.node.Node; + +public abstract class AbstractXpand3NodeParserTest extends TestCase { + + public static final char LG = '\u00AB'; + public static final char RG = '\u00BB'; + + public static final String LGS = String.valueOf(LG); + public static final String RGS = String.valueOf(RG); + + public AbstractXpand3NodeParserTest() { + super(); + } + + public AbstractXpand3NodeParserTest(String name) { + super(name); + } + + protected CompositeNode checkIsRule(Node node, String ruleName, + int numChildren) { + assertTrue(node instanceof CompositeNode); + assertEquals(ruleName, ((CompositeNode) node).getRule()); + assertEquals(numChildren, ((CompositeNode) node).getChildren().size()); + return (CompositeNode) node; + } + + private LeafNode checkIsToken(Node node, String tokenText) { + assertTrue(node instanceof LeafNode); + LexedToken token = ((LeafNode) node).getToken(); + assertNotNull(token); + assertEquals(tokenText, token.getText()); + return (LeafNode) node; + } + + private Node getChild(Node parent, int index) { + assertNotNull(parent); + assertTrue(parent instanceof CompositeNode); + List children = ((CompositeNode) parent).getChildren(); + assertTrue(children.size() > index); + Node child = children.get(index); + return child; + } + + protected CompositeNode checkChildIsRule(Node parent, int index, + String ruleName, int numChildren) { + return checkIsRule(getChild(parent, index), ruleName, numChildren); + } + + protected CompositeNode checkChildIsSimpleType(Node parent, int index, + String identifierName) { + CompositeNode simpleType = checkChildIsRule(parent, index, + "simpleType", 1); + checkChildIsIdentifier(simpleType, 0, identifierName); + return simpleType; + } + + protected CompositeNode checkChildIsCollectionType(Node parent, int index, + String identifierName) { + CompositeNode collectionType = checkChildIsRule(parent, index, + "collectionType", 1); + checkChildIsToken(collectionType, 0, identifierName); + return collectionType; + } + + protected CompositeNode checkChildIsIdentifier(Node parent, int index, + String identifierName) { + CompositeNode identifier = checkChildIsRule(parent, index, + "identifier", 1); + checkChildIsToken(identifier, 0, identifierName); + return identifier; + } + + protected CompositeNode checkChildIsScopedType(Node parent, int index, + String... scopeName) { + CompositeNode scopedType = checkChildIsRule(parent, index, + "simpleType", 2 * scopeName.length - 1); + checkChildIsIdentifier(scopedType, 0, scopeName[0]); + for (int i = 1; i < scopeName.length; i++) { + checkChildIsToken(scopedType, 2 * i - 1, "::"); + checkChildIsIdentifier(scopedType, 2 * i, scopeName[i]); + } + return scopedType; + } + + protected CompositeNode checkChildIsNumberLiteral(Node parent, int index, + String value) { + CompositeNode numberLiteral = checkChildIsRule(parent, index, + "numberLiteral", 1); + checkChildIsToken(numberLiteral, 0, value); + return numberLiteral; + } + + protected CompositeNode checkChildIsStringLiteral(Node parent, int index, + String value) { + CompositeNode stringLiteral = checkChildIsRule(parent, index, + "stringLiteral", 1); + checkChildIsToken(stringLiteral, 0, value); + return stringLiteral; + } + + protected CompositeNode checkChildIsTrueLiteral(Node parent, int index) { + CompositeNode booleanLiteral = checkChildIsRule(parent, index, + "booleanLiteral", 1); + checkChildIsToken(booleanLiteral, 0, "true"); + return booleanLiteral; + } + + protected CompositeNode checkChildIsFalseLiteral(Node parent, int index) { + CompositeNode booleanLiteral = checkChildIsRule(parent, index, + "booleanLiteral", 1); + checkChildIsToken(booleanLiteral, 0, "false"); + return booleanLiteral; + } + + protected LeafNode checkChildIsToken(Node parent, int index, + String tokenText) { + return checkIsToken(getChild(parent, index), tokenText); + } + + protected String tag(final String str) { + return LG + str + RG; + } + + protected CompositeNode checkChildIsSequenceText(Node parent, int index, + String textWithoutGuillemots, int numChildren) { + CompositeNode sequence = checkChildIsRule(parent, index, "sequence", + numChildren); + return checkChildIsText(sequence, 0, textWithoutGuillemots); + } + + protected CompositeNode checkChildIsText(CompositeNode sequence, int index, + String textWithoutGuillemots) { + CompositeNode text = checkChildIsRule(sequence, index, "text", 1); + checkChildIsToken(text, 0, RGS + textWithoutGuillemots + LGS); + return sequence; + } + +} \ No newline at end of file diff --git a/tests/org.eclipse.xpand3.parser.tests/src/org/eclipse/xpand3/parser/AllTests.java b/tests/org.eclipse.xpand3.parser.tests/src/org/eclipse/xpand3/parser/AllTests.java new file mode 100644 index 00000000..3642dc86 --- /dev/null +++ b/tests/org.eclipse.xpand3.parser.tests/src/org/eclipse/xpand3/parser/AllTests.java @@ -0,0 +1,20 @@ +package org.eclipse.xpand3.parser; + +import junit.framework.Test; +import junit.framework.TestSuite; + +public class AllTests { + + public static Test suite() { + TestSuite suite = new TestSuite("Test for org.eclipse.xpand3.parser"); + //$JUnit-BEGIN$ + suite.addTestSuite(XpandLexerTest.class); + suite.addTestSuite(Xpand3MigratedNodeParserTest.class); + suite.addTestSuite(Xpand3ScannerTest.class); + suite.addTestSuite(Xpand3NodeParserTest.class); + suite.addTestSuite(StatementParserTest.class); + //$JUnit-END$ + return suite; + } + +} diff --git a/tests/org.eclipse.xpand3.parser.tests/src/org/eclipse/xpand3/parser/StatementParserTest.java b/tests/org.eclipse.xpand3.parser.tests/src/org/eclipse/xpand3/parser/StatementParserTest.java new file mode 100644 index 00000000..3fb15daf --- /dev/null +++ b/tests/org.eclipse.xpand3.parser.tests/src/org/eclipse/xpand3/parser/StatementParserTest.java @@ -0,0 +1,247 @@ +/******************************************************************************* + * Copyright (c) 2005, 2007 committers of openArchitectureWare and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * committers of openArchitectureWare - initial API and implementation + *******************************************************************************/ + +package org.eclipse.xpand3.parser; + +import org.antlr.runtime.ANTLRStringStream; +import org.antlr.runtime.CommonTokenStream; +import org.eclipse.tmf.common.node.CompositeNode; +import org.eclipse.tmf.common.node.Node; +import org.eclipse.tmf.common.node.NodeUtil; + +/** + * @author Jan Kšhnlein + */ +public class StatementParserTest extends AbstractXpand3NodeParserTest { + private CompositeNode parse(String s) throws Exception { + System.out.println(s); + ANTLRStringStream stream = new ANTLRStringStream(s); + Xpand3NodeLexer lexer = new Xpand3NodeLexer(stream); + CommonTokenStream tokenStream = new CommonTokenStream(lexer); + Xpand3NodeParser xpand3NodeParser = new Xpand3NodeParser(tokenStream); + + Node rootNode = xpand3NodeParser.file(); + if (rootNode == null) { + System.out.println("Nothing parsed."); + } else { + System.out.println(NodeUtil.toString(rootNode)); + } + return (CompositeNode) rootNode; + } + + public final void testEmptyTemplate() throws Exception { + Node expr = parse(""); + assertNull(expr); + } + + public final void testSimpleDefine() throws Exception { + Node expr = parse(tag("DEFINE test FOR ecore::EClass") + + tag("ENDDEFINE")); + checkIsRule(expr, "definition", 8); + checkChildIsToken(expr, 0, LGS); + checkChildIsToken(expr, 1, "DEFINE"); + checkChildIsIdentifier(expr, 2, "test"); + checkChildIsToken(expr, 3, "FOR"); + checkChildIsScopedType(expr, 4, "ecore", "EClass"); + checkChildIsSequenceText(expr, 5, "", 1); + checkChildIsToken(expr, 6, "ENDDEFINE"); + checkChildIsToken(expr, 7, RGS); + + } + + public final void testDoubleDefine() throws Exception { + Node file = parse(tag("DEFINE test FOR ecore::EClass") + + tag("ENDDEFINE") + + tag("DEFINE test2(String txt) FOR ecore::EClass") + + tag("ENDDEFINE")); + checkIsRule(file, "file", 2); + CompositeNode expr = checkChildIsRule(file, 0, "definition", 8); + checkChildIsToken(expr, 0, LGS); + checkChildIsToken(expr, 1, "DEFINE"); + checkChildIsIdentifier(expr, 2, "test"); + checkChildIsToken(expr, 3, "FOR"); + checkChildIsScopedType(expr, 4, "ecore", "EClass"); + checkChildIsSequenceText(expr, 5, "", 1); + checkChildIsToken(expr, 6, "ENDDEFINE"); + checkChildIsToken(expr, 7, RGS); + + CompositeNode expr1 = checkChildIsRule(file, 1, "definition", 11); + checkChildIsToken(expr1, 0, LGS); + checkChildIsToken(expr1, 1, "DEFINE"); + checkChildIsIdentifier(expr1, 2, "test2"); + checkChildIsToken(expr1, 3, "("); + CompositeNode dpl = checkChildIsRule(expr1, 4, "declaredParameterList", + 1); + CompositeNode dp = checkChildIsRule(dpl, 0, "declaredParameter", 2); + checkChildIsSimpleType(dp, 0, "String"); + checkChildIsIdentifier(dp, 1, "txt"); + checkChildIsToken(expr1, 5, ")"); + checkChildIsToken(expr1, 6, "FOR"); + checkChildIsScopedType(expr1, 7, "ecore", "EClass"); + checkChildIsSequenceText(expr1, 8, "", 1); + checkChildIsToken(expr1, 9, "ENDDEFINE"); + checkChildIsToken(expr1, 10, RGS); + + } + + public final void testMoreComplexDefine() throws Exception { + Node expr = parse(tag("DEFINE test(ecore::EPackage a,String b) FOR ecore::EClass") + + tag("FILE name+\".txt\"") + + "Text und so " + + tag("name") + + tag("FOREACH eAllAttributes AS attr") + + "Attribute : " + + tag("attr.name") + + tag("ENDFOREACH") + + tag("ENDFILE") + + tag("ENDDEFINE")); + checkIsRule(expr, "definition", 11); + checkChildIsToken(expr, 0, LGS); + checkChildIsToken(expr, 1, "DEFINE"); + checkChildIsIdentifier(expr, 2, "test"); + checkChildIsToken(expr, 3, "("); + CompositeNode dpl = checkChildIsRule(expr, 4, "declaredParameterList", + 3); + CompositeNode dp0 = checkChildIsRule(dpl, 0, "declaredParameter", 2); + checkChildIsScopedType(dp0, 0, "ecore", "EPackage"); + checkChildIsIdentifier(dp0, 1, "a"); + checkChildIsToken(dpl, 1, ","); + CompositeNode dp = checkChildIsRule(dpl, 2, "declaredParameter", 2); + checkChildIsSimpleType(dp, 0, "String"); + checkChildIsIdentifier(dp, 1, "b"); + checkChildIsToken(expr, 5, ")"); + checkChildIsToken(expr, 6, "FOR"); + checkChildIsScopedType(expr, 7, "ecore", "EClass"); + CompositeNode rs = checkChildIsSequenceText(expr, 8, "", 3); + CompositeNode fs = checkChildIsRule(rs, 1, "fileStatement", 4); + checkChildIsToken(fs, 0, "FILE"); + CompositeNode ae = checkChildIsRule(fs, 1, "additiveExpression", 3); + checkChildIsSimpleType(ae, 0, "name"); + checkChildIsToken(ae, 1, "+"); + checkChildIsStringLiteral(ae, 2, "\".txt\""); + CompositeNode s0 = checkChildIsSequenceText(fs, 2, "Text und so ", 5); + CompositeNode es = checkChildIsRule(s0, 1, "expressionStmt", 1); + checkChildIsSimpleType(es, 0, "name"); + checkChildIsText(s0, 2, ""); + CompositeNode fes = checkChildIsRule(s0, 3, "foreachStatement", 6); + checkChildIsToken(fes, 0, "FOREACH"); + checkChildIsSimpleType(fes, 1, "eAllAttributes"); + checkChildIsToken(fes, 2, "AS"); + checkChildIsIdentifier(fes, 3, "attr"); + CompositeNode s1 = checkChildIsSequenceText(fes, 4, "Attribute : ", 3); + CompositeNode es1 = checkChildIsRule(s1, 1, "expressionStmt", 1); + CompositeNode ie = checkChildIsRule(es1, 0, "infixExpression", 3); + checkChildIsSimpleType(ie, 0, "attr"); + checkChildIsToken(ie, 1, "."); + checkChildIsSimpleType(ie, 2, "name"); + checkChildIsText(s1, 2, ""); + checkChildIsToken(fes, 5, "ENDFOREACH"); + checkChildIsText(s0, 4, ""); + checkChildIsToken(fs, 3, "ENDFILE"); + checkChildIsText(rs, 2, ""); + checkChildIsToken(expr, 9, "ENDDEFINE"); + checkChildIsToken(expr, 10, RGS); + } + + public final void testImportDeclaration() throws Exception { + Node expr = parse(tag("IMPORT org::eclipse::xtend") + + tag("IMPORT org::eclipse::xtend::xpand") + + tag("DEFINE test FOR ecore::EClass") + tag("ENDDEFINE")); + checkIsRule(expr, "file", 3); + CompositeNode i0 = checkChildIsRule(expr, 0, "nsImport", 4); + checkChildIsToken(i0, 0, LGS); + checkChildIsToken(i0, 1, "IMPORT"); + checkChildIsScopedType(i0, 2, "org", "eclipse", "xtend"); + checkChildIsToken(i0, 3, RGS); + + CompositeNode i1 = checkChildIsRule(expr, 1, "nsImport", 4); + checkChildIsToken(i1, 0, LGS); + checkChildIsToken(i1, 1, "IMPORT"); + checkChildIsScopedType(i1, 2, "org", "eclipse", "xtend", "xpand"); + checkChildIsToken(i1, 3, RGS); + + CompositeNode d = checkChildIsRule(expr, 2, "definition", 8); + checkChildIsToken(d, 0, LGS); + checkChildIsToken(d, 1, "DEFINE"); + checkChildIsIdentifier(d, 2, "test"); + checkChildIsToken(d, 6, "ENDDEFINE"); + checkChildIsToken(d, 7, RGS); + } + + public final void testFileStatement() throws Exception { + Node expr = parse(tag("DEFINE test FOR ecore::EClass") + + tag("FILE \"test.txt\" ONCE") + tag("ENDFILE") + + tag("ENDDEFINE")); + checkIsRule(expr, "definition", 8); + checkChildIsToken(expr, 0, LGS); + checkChildIsToken(expr, 1, "DEFINE"); + checkChildIsIdentifier(expr, 2, "test"); + checkChildIsToken(expr, 3, "FOR"); + checkChildIsScopedType(expr, 4, "ecore", "EClass"); + CompositeNode s = checkChildIsSequenceText(expr, 5, "", 3); + CompositeNode fs = checkChildIsRule(s, 1, "fileStatement", 5); + checkChildIsToken(fs, 0, "FILE"); + checkChildIsStringLiteral(fs, 1, "\"test.txt\""); + checkChildIsIdentifier(fs, 2, "ONCE"); + checkChildIsSequenceText(fs, 3, "", 1); + checkChildIsToken(fs, 4, "ENDFILE"); + checkChildIsText(s, 2, ""); + checkChildIsToken(expr, 6, "ENDDEFINE"); + checkChildIsToken(expr, 7, RGS); + } + + public final void testIfStatement() throws Exception { + Node expr = parse(tag("DEFINE test FOR ecore::EClass") + + tag("IF !true") + tag("ELSEIF false") + tag("ELSE") + + tag("ENDIF") + tag("ENDDEFINE")); + checkIsRule(expr, "definition", 8); + checkChildIsToken(expr, 0, LGS); + checkChildIsToken(expr, 1, "DEFINE"); + checkChildIsIdentifier(expr, 2, "test"); + checkChildIsToken(expr, 3, "FOR"); + checkChildIsScopedType(expr, 4, "ecore", "EClass"); + CompositeNode s = checkChildIsSequenceText(expr, 5, "", 3); + CompositeNode is = checkChildIsRule(s, 1, "ifStatement", 6); + checkChildIsToken(is, 0, "IF"); + CompositeNode ue = checkChildIsRule(is, 1, "unaryExpression", 2); + checkChildIsToken(ue, 0, "!"); + checkChildIsTrueLiteral(ue, 1); + checkChildIsSequenceText(is, 2, "", 1); + CompositeNode eis = checkChildIsRule(is, 3, "elseIfStatement", 3); + checkChildIsToken(eis, 0, "ELSEIF"); + checkChildIsFalseLiteral(eis, 1); + checkChildIsSequenceText(eis, 2, "", 1); + CompositeNode es = checkChildIsRule(is, 4, "elseStatement", 2); + checkChildIsToken(es, 0, "ELSE"); + checkChildIsSequenceText(es, 1, "", 1); + checkChildIsText(s, 2, ""); + checkChildIsToken(expr, 6, "ENDDEFINE"); + checkChildIsToken(expr, 7, RGS); + } + + public void testLocation() throws Exception { + String defineStart = tag("DEFINE test FOR ecore::EClass"); + String ifStmnt = tag("IF !true") + tag("ELSEIF false") + tag("ELSE") + + tag("ENDIF"); + String string = defineStart + ifStmnt + tag("ENDDEFINE"); + CompositeNode expr = parse(string); + assertEquals(0, expr.start()); + assertEquals(string.length(), expr.end()); + + assertEquals(1, expr.getChildren().get(1).start()); + assertEquals(string.length() - 1, expr.getChildren().get(6).end()); + + assertEquals(defineStart.length() - 1, expr.getChildren().get(5) + .start()); + assertEquals(defineStart.length() + ifStmnt.length() + 1, expr + .getChildren().get(5).end()); + } +} \ No newline at end of file diff --git a/tests/org.eclipse.xpand3.parser.tests/src/org/eclipse/xpand3/parser/SyntaxUtil.java b/tests/org.eclipse.xpand3.parser.tests/src/org/eclipse/xpand3/parser/SyntaxUtil.java new file mode 100644 index 00000000..645b728d --- /dev/null +++ b/tests/org.eclipse.xpand3.parser.tests/src/org/eclipse/xpand3/parser/SyntaxUtil.java @@ -0,0 +1,6 @@ +package org.eclipse.xpand3.parser; + +public class SyntaxUtil { + public static final String LG = "\u00AB"; + public static final String RG = "\u00BB"; +} diff --git a/tests/org.eclipse.xpand3.parser.tests/src/org/eclipse/xpand3/parser/Xpand3MigratedNodeParserTest.java b/tests/org.eclipse.xpand3.parser.tests/src/org/eclipse/xpand3/parser/Xpand3MigratedNodeParserTest.java new file mode 100644 index 00000000..5f1e0928 --- /dev/null +++ b/tests/org.eclipse.xpand3.parser.tests/src/org/eclipse/xpand3/parser/Xpand3MigratedNodeParserTest.java @@ -0,0 +1,199 @@ +package org.eclipse.xpand3.parser; + +import org.antlr.runtime.ANTLRStringStream; +import org.antlr.runtime.CommonTokenStream; +import org.eclipse.tmf.common.node.CompositeNode; +import org.eclipse.tmf.common.node.Node; +import org.eclipse.tmf.common.node.NodeUtil; + +public class Xpand3MigratedNodeParserTest extends AbstractXpand3NodeParserTest { + + public final void testSimple() throws Exception { + CompositeNode parse = parse("true == null"); + CompositeNode cn = checkIsRule(parse, "relationalExpression", 3); + checkChildIsTrueLiteral(cn, 0); + checkChildIsToken(cn, 1, "=="); + CompositeNode nl = checkChildIsRule(cn, 2, "nullLiteral", 1); + checkChildIsToken(nl, 0, "null"); + } + + public final void testSimple2() throws Exception { + CompositeNode ie = checkIsRule( + parse("String.feature.test(true,{\"test\",\"hallo\"})"), + "infixExpression", 5); + checkChildIsSimpleType(ie, 0, "String"); + checkChildIsToken(ie, 1, "."); + checkChildIsSimpleType(ie, 2, "feature"); + checkChildIsToken(ie, 3, "."); + CompositeNode fc = checkChildIsRule(ie, 4, "featureCall", 4); + checkChildIsIdentifier(fc, 0, "test"); + checkChildIsToken(fc, 1, "("); + CompositeNode pl = checkChildIsRule(fc, 2, "parameterList", 3); + checkChildIsTrueLiteral(pl, 0); + checkChildIsToken(pl, 1, ","); + CompositeNode ll = checkChildIsRule(pl, 2, "listLiteral", 5); + checkChildIsToken(ll, 0, "{"); + checkChildIsStringLiteral(ll, 1, "\"test\""); + checkChildIsToken(ll, 2, ","); + checkChildIsStringLiteral(ll, 3, "\"hallo\""); + checkChildIsToken(ll, 4, "}"); + checkChildIsToken(fc, 3, ")"); + } + + public final void testIfExpression() throws Exception { + CompositeNode expr = parse("(client.sIdent1 != null) ? client.sIdent1 : \"XXXXXXXX\""); + CompositeNode ie = checkIsRule(expr, "ifExpression", 5); + CompositeNode pe = checkChildIsRule(ie, 0, "paranthesizedExpression", 3); + checkChildIsToken(pe, 0, "("); + CompositeNode re = checkChildIsRule(pe, 1, "relationalExpression", 3); + CompositeNode ie0 = checkChildIsRule(re, 0, "infixExpression", 3); + checkChildIsSimpleType(ie0, 0, "client"); + checkChildIsToken(ie0, 1, "."); + checkChildIsSimpleType(ie0, 2, "sIdent1"); + checkChildIsToken(re, 1, "!="); + CompositeNode nl = checkChildIsRule(re, 2, "nullLiteral", 1); + checkChildIsToken(nl, 0, "null"); + checkChildIsToken(pe, 2, ")"); + checkChildIsToken(ie, 1, "?"); + CompositeNode ie1 = checkChildIsRule(ie, 2, "infixExpression", 3); + checkChildIsSimpleType(ie1, 0, "client"); + checkChildIsToken(ie1, 1, "."); + checkChildIsSimpleType(ie1, 2, "sIdent1"); + checkChildIsToken(ie, 3, ":"); + checkChildIsStringLiteral(ie, 4, "\"XXXXXXXX\""); + } + + public void testIfExpression2() throws Exception { + Node expr = parse("if true then true else false"); + checkIsRule(expr, "ifExpression", 6); + checkChildIsToken(expr, 0, "if"); + checkChildIsTrueLiteral(expr, 1); + checkChildIsToken(expr, 2, "then"); + checkChildIsTrueLiteral(expr, 3); + checkChildIsToken(expr, 4, "else"); + checkChildIsFalseLiteral(expr, 5); + } + + public final void testEscaped() throws Exception { + Node expr = parse("\"\\\"\""); + checkIsRule(expr, "stringLiteral", 1); + checkChildIsToken(expr, 0, "\"\\\"\""); + } + + public final void testNot() throws Exception { + Node expr = parse("! ts.checked"); + checkIsRule(expr, "unaryExpression", 2); + checkChildIsToken(expr, 0, "!"); + } + + public final void testCast() throws Exception { + Node expr = parse("(List[InnerType] ) anExpr"); + checkIsRule(expr, "castedExpression", 4); + checkChildIsToken(expr, 0, "("); + CompositeNode ct = checkChildIsRule(expr, 1, "collectionType", 4); + checkChildIsToken(ct, 0, "List"); + checkChildIsToken(ct, 1, "["); + checkChildIsSimpleType(ct, 2, "InnerType"); + checkChildIsToken(ct, 3, "]"); + checkChildIsToken(expr, 2, ")"); + checkChildIsSimpleType(expr, 3, "anExpr"); + } + + public final void testGenericType() throws Exception { + Node expr = parse("List[x]"); + checkIsRule(expr, "collectionType", 4); + checkChildIsToken(expr, 0, "List"); + checkChildIsToken(expr, 1, "["); + checkChildIsSimpleType(expr, 2, "x"); + checkChildIsToken(expr, 3, "]"); + } + + public final void testSwitch() throws Exception { + Node expr = parse("switch { default : true }"); + checkIsRule(expr, "switchExpression", 6); + checkChildIsToken(expr, 0, "switch"); + checkChildIsToken(expr, 1, "{"); + checkChildIsToken(expr, 2, "default"); + checkChildIsToken(expr, 3, ":"); + checkChildIsTrueLiteral(expr, 4); + checkChildIsToken(expr, 5, "}"); + + } + + public final void testChainExpression() throws Exception { + Node expr = parse("1 -> 2 -> 3 -> 4"); + checkIsRule(expr, "chainExpression", 7); + checkChildIsNumberLiteral(expr, 0, "1"); + checkChildIsToken(expr, 1, "->"); + checkChildIsNumberLiteral(expr, 2, "2"); + checkChildIsToken(expr, 3, "->"); + checkChildIsNumberLiteral(expr, 4, "3"); + checkChildIsToken(expr, 5, "->"); + checkChildIsNumberLiteral(expr, 6, "4"); + } + + public final void testPositionInfo() throws Exception { + Node expr = parse("\n\n\n1"); + assertEquals(4, expr.line()); + assertEquals(3, expr.start()); + assertEquals(4, expr.end()); + } + + public final void testPositionInfo2() throws Exception { + Node exp = parse("/*\n\n\n*/1"); + assertEquals(4, exp.line()); + assertEquals(7, exp.start()); + assertEquals(8, exp.end()); + } + + public final void testPositionInfo3() throws Exception { + Node expr = parse("'/*\n\n\n*/'+1"); + assertEquals(1, expr.line()); + assertEquals(0, expr.start()); + assertEquals(11, expr.end()); + checkIsRule(expr, "additiveExpression", 3); + CompositeNode sl = checkChildIsStringLiteral(expr, 0, "'/*\n\n\n*/'"); + assertEquals(1, sl.line()); + assertEquals(0, sl.start()); + assertEquals(9, sl.end()); + checkChildIsToken(expr, 1, "+"); + CompositeNode il = checkChildIsNumberLiteral(expr, 2, "1"); + assertEquals(4, il.line()); + assertEquals(10, il.start()); + assertEquals(11, il.end()); + } + + public final void testTypeLiterals() throws Exception { + Node expr = parse("{" + " Object,\n" + " String,\n" + "Collection,\n" + + " Set,\n" + " List,\n" + " oaw::Type,\n" + " oaw::Feature,\n" + + " oaw::Property\n}"); + checkIsRule(expr, "listLiteral", 17); + checkChildIsToken(expr, 0, "{"); + checkChildIsSimpleType(expr, 1, "Object"); + checkChildIsToken(expr, 2, ","); + checkChildIsSimpleType(expr, 3, "String"); + checkChildIsToken(expr, 4, ","); + checkChildIsCollectionType(expr, 5, "Collection"); + checkChildIsToken(expr, 6, ","); + checkChildIsCollectionType(expr, 7, "Set"); + checkChildIsToken(expr, 8, ","); + checkChildIsCollectionType(expr, 9, "List"); + checkChildIsToken(expr, 10, ","); + checkChildIsScopedType(expr, 11, "oaw", "Type"); + checkChildIsToken(expr, 12, ","); + checkChildIsScopedType(expr, 13, "oaw", "Feature"); + checkChildIsToken(expr, 14, ","); + checkChildIsScopedType(expr, 15, "oaw", "Property"); + checkChildIsToken(expr, 16, "}"); + } + + private CompositeNode parse(String s) throws Exception { + ANTLRStringStream stream = new ANTLRStringStream(s); + Xpand3NodeLexer lexer = new Xpand3NodeLexer(stream); + CommonTokenStream tokenStream = new CommonTokenStream(lexer); + Xpand3NodeParser xpand3NodeParser = new Xpand3NodeParser(tokenStream); + Node rootNode = xpand3NodeParser.test_expression(); + System.out.println(NodeUtil.toString(rootNode)); + return (CompositeNode) rootNode; + } +} diff --git a/tests/org.eclipse.xpand3.parser.tests/src/org/eclipse/xpand3/parser/Xpand3NodeParserTest.java b/tests/org.eclipse.xpand3.parser.tests/src/org/eclipse/xpand3/parser/Xpand3NodeParserTest.java new file mode 100644 index 00000000..8fe498de --- /dev/null +++ b/tests/org.eclipse.xpand3.parser.tests/src/org/eclipse/xpand3/parser/Xpand3NodeParserTest.java @@ -0,0 +1,64 @@ +package org.eclipse.xpand3.parser; + +import static org.eclipse.xpand3.parser.SyntaxUtil.LG; +import static org.eclipse.xpand3.parser.SyntaxUtil.RG; +import junit.framework.TestCase; + +import org.antlr.runtime.ANTLRStringStream; +import org.antlr.runtime.CommonTokenStream; +import org.eclipse.tmf.common.node.Node; +import org.eclipse.tmf.common.node.NodeUtil; + +public class Xpand3NodeParserTest extends TestCase { + + private Node parse(String s) throws Exception { + Xpand3NodeParser parser = createParser(s); + Node rootNode = parser.file(); + return rootNode; + } + + public void testname() throws Exception { + Node x = parse(LG + "IMPORT foo" + RG + + "import foo; myFunction(String this) : doStuff('holla');" + + LG + "DEFINE foo FOR Entity" + RG + "bla" + LG + "ENDDEFINE" + + RG); + System.out.println(NodeUtil.toString(x)); + } + + public void testFoo() throws Exception { + Node node = parse("import foo; myFunction(String this) : doStuff('holla');"); + System.out.println(NodeUtil.toString(node)); + System.out.println(NodeUtil.serialize(node)); + } + + public void testXpandXtendCheckMixedUp1() throws Exception { + Node node = parse(LG + "IMPORT foo" + RG + + "import foo; myFunction(String this) : doStuff('holla');" + + LG + "DEFINE foo FOR Entity" + RG + "bla" + LG + "ENDDEFINE" + + RG); + System.out.println(NodeUtil.toString(node)); + System.out.println(NodeUtil.serialize(node)); + } + + // + public void testPerf() throws Exception { + String s = "foo.bar.honolulu('lola',{true,false,45}).collect(e|2.minor + 34 / (x - 2))"; + for (int i = 0; i < 10; i++) { + s = s + " -> " + s; + } + Xpand3NodeParser parser = createParser(s); + long n = System.currentTimeMillis(); + parser.expression(); + long after = System.currentTimeMillis(); + System.out.println("Time : " + (after - n) / 1000. + + " Expressionlength was : " + s.length()); + } + + private Xpand3NodeParser createParser(String s) { + ANTLRStringStream stream = new ANTLRStringStream(s); + Xpand3NodeLexer lexer = new Xpand3NodeLexer(stream); + CommonTokenStream tokenStream = new CommonTokenStream(lexer); + Xpand3NodeParser parser = new Xpand3NodeParser(tokenStream); + return parser; + } +} diff --git a/tests/org.eclipse.xpand3.parser.tests/src/org/eclipse/xpand3/parser/Xpand3ScannerTest.java b/tests/org.eclipse.xpand3.parser.tests/src/org/eclipse/xpand3/parser/Xpand3ScannerTest.java new file mode 100644 index 00000000..c89682a2 --- /dev/null +++ b/tests/org.eclipse.xpand3.parser.tests/src/org/eclipse/xpand3/parser/Xpand3ScannerTest.java @@ -0,0 +1,59 @@ +/******************************************************************************* + * Copyright (c) 2005, 2007 committers of openArchitectureWare and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * committers of openArchitectureWare - initial API and implementation + *******************************************************************************/ + +package org.eclipse.xpand3.parser; + +import junit.framework.TestCase; + +import org.antlr.runtime.ANTLRStringStream; +import org.antlr.runtime.RecognitionException; + +/** + * @author Sven Efftinge (http://www.efftinge.de) + * @author Arno Haase + */ +public class Xpand3ScannerTest extends TestCase { + + public Xpand3NodeLexer scan(final String txt) { + return new Xpand3NodeLexer(new ANTLRStringStream(txt)) { + @Override + public void reportError(RecognitionException e) { + throw new RuntimeException(e); + } + }; + } + + public final void testString() throws Exception { + test("\"test\""); + test("\"test\""); + test("\"te\nst\""); + test("\"te\\nst\""); + test("'test'"); + test("'test'"); + test("'te\nst'"); + test("'te\\nst'"); + try { + test("'unterminated"); + fail(); + } catch (final Exception e) { + // expected + } + } + + public void testIdentifier() throws Exception { + System.out.println(scan("sortBy").nextToken().getType()); + System.out.println(scan("^sortBy").nextToken().getType()); + } + + private void test(final String txt) throws Exception { + assertEquals(txt, scan(txt).nextToken().getText()); + } +} diff --git a/tests/org.eclipse.xpand3.parser.tests/src/org/eclipse/xpand3/parser/XpandLexerTest.java b/tests/org.eclipse.xpand3.parser.tests/src/org/eclipse/xpand3/parser/XpandLexerTest.java new file mode 100644 index 00000000..fec987a5 --- /dev/null +++ b/tests/org.eclipse.xpand3.parser.tests/src/org/eclipse/xpand3/parser/XpandLexerTest.java @@ -0,0 +1,31 @@ +/******************************************************************************* + * Copyright (c) 2005, 2007 committers of openArchitectureWare and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * committers of openArchitectureWare - initial API and implementation + *******************************************************************************/ +package org.eclipse.xpand3.parser; + +import java.util.List; + +import org.antlr.runtime.ANTLRStringStream; +import org.antlr.runtime.CommonToken; +import org.antlr.runtime.CommonTokenStream; + +public class XpandLexerTest extends AbstractXpand3NodeParserTest { + + public void testComments() throws Exception { + String toScan = tag("REM") + "foo" + tag("DEFINE") + "'//" + LG + + "ENDRE" + tag("ENDREM"); + System.out.println(toScan); + Xpand3NodeLexer l = new Xpand3NodeLexer(new ANTLRStringStream(toScan)); + CommonTokenStream stream = new CommonTokenStream(l); + List tokens = stream.getTokens(); + assertEquals(1, tokens.size()); + assertEquals(Xpand3NodeLexer.REM_COMMENT_OUT, tokens.get(0).getType()); + } +} diff --git a/tests/org.eclipse.xpand3.parser.tests/src/org/eclipse/xpand3/parser/test.txt b/tests/org.eclipse.xpand3.parser.tests/src/org/eclipse/xpand3/parser/test.txt new file mode 100644 index 00000000..0b930212 --- /dev/null +++ b/tests/org.eclipse.xpand3.parser.tests/src/org/eclipse/xpand3/parser/test.txt @@ -0,0 +1,2 @@ +foo(Object this, Object that): + this.toString()==that.toString(); -- cgit v1.2.3