| author | szarnekow | 2008-12-10 06:49:12 (EST) |
|---|---|---|
| committer | sefftinge | 2008-12-10 06:49:12 (EST) |
| commit | 837ffaddd3261495e9168136a0cdc9c26a4112b4 (patch) (side-by-side diff) | |
| tree | e65a255d198ec800995ff64007033cf1a01f0774 | |
| parent | 7140ccb354c7a073c2ac52ae38942379f961f472 (diff) | |
| download | org.eclipse.xtext-837ffaddd3261495e9168136a0cdc9c26a4112b4.zip org.eclipse.xtext-837ffaddd3261495e9168136a0cdc9c26a4112b4.tar.gz org.eclipse.xtext-837ffaddd3261495e9168136a0cdc9c26a4112b4.tar.bz2 | |
* CrossRefs for TypeRefs in xtext grammar (see https://bugs.eclipse.org/bugs/show_bug.cgi?id=257255)
- TypeRefs link ecore::EClassifiers
* Redesign: Metamodel aliases dont have to be unique
* fixed UI Tests for outline
163 files changed, 1777 insertions, 1139 deletions
diff --git a/devtools/org.eclipse.xtext.reference.ui/src-gen/org/eclipse/xtext/reference/ReferenceGrammarGenProposalProvider.java b/devtools/org.eclipse.xtext.reference.ui/src-gen/org/eclipse/xtext/reference/ReferenceGrammarGenProposalProvider.java index 7eae0fb..c702b0a 100644 --- a/devtools/org.eclipse.xtext.reference.ui/src-gen/org/eclipse/xtext/reference/ReferenceGrammarGenProposalProvider.java +++ b/devtools/org.eclipse.xtext.reference.ui/src-gen/org/eclipse/xtext/reference/ReferenceGrammarGenProposalProvider.java @@ -219,6 +219,21 @@ public class ReferenceGrammarGenProposalProvider extends AbstractProposalProvid } + public List<? extends ICompletionProposal> complete(RuleCall ruleCall, EObject model, String prefix, + IDocument doc, int offset) { + if (logger.isDebugEnabled()) { + logger.debug("complete '" + ruleCall.getRule().getName() + "' cardinality '" + ruleCall.getCardinality() + + "' for model '" + model + "' and prefix '" + prefix.trim() + "'"); + } + return Collections.emptyList(); + } + + + + + + + public List<? extends ICompletionProposal> completeReferenceModelCustomType(RuleCall ruleCall, EObject model, String prefix, IDocument doc, int offset) { if (logger.isDebugEnabled()) { diff --git a/devtools/org.eclipse.xtext.reference/src-gen/org/eclipse/xtext/reference/AbstractReferenceGrammarRuntimeConfig.java b/devtools/org.eclipse.xtext.reference/src-gen/org/eclipse/xtext/reference/AbstractReferenceGrammarRuntimeConfig.java index 1fc099b..de21bdb 100644 --- a/devtools/org.eclipse.xtext.reference/src-gen/org/eclipse/xtext/reference/AbstractReferenceGrammarRuntimeConfig.java +++ b/devtools/org.eclipse.xtext.reference/src-gen/org/eclipse/xtext/reference/AbstractReferenceGrammarRuntimeConfig.java @@ -9,14 +9,14 @@ import org.eclipse.xtext.service.AbstractServiceRegistrationFactory; */ public abstract class AbstractReferenceGrammarRuntimeConfig extends AbstractServiceRegistrationFactory { - protected Class<? extends org.eclipse.xtext.IGrammarAccess> getIGrammarAccess() { - return org.eclipse.xtext.reference.services.ReferenceGrammarGrammarAccess.class; - } - protected Class<? extends org.eclipse.xtext.IMetamodelAccess> getIMetamodelAccess() { return org.eclipse.xtext.reference.services.ReferenceGrammarMetamodelAccess.class; } + protected Class<? extends org.eclipse.xtext.IGrammarAccess> getIGrammarAccess() { + return org.eclipse.xtext.reference.services.ReferenceGrammarGrammarAccess.class; + } + protected Class<? extends org.eclipse.xtext.parser.IAstFactory> getIAstFactory() { return org.eclipse.xtext.parser.GenericEcoreElementFactory.class; } @@ -45,6 +45,10 @@ public abstract class AbstractReferenceGrammarRuntimeConfig extends AbstractServ return org.eclipse.xtext.parsetree.reconstr.impl.SimpleCrossReferenceSerializer.class; } + protected Class<? extends org.eclipse.xtext.parsetree.reconstr.ITransientValueService> getITransientValueService() { + return org.eclipse.xtext.parsetree.reconstr.impl.SimpleTransientValueService.class; + } + protected Class<? extends org.eclipse.xtext.parser.antlr.Lexer> getLexer() { return org.eclipse.xtext.reference.parser.internal.InternalReferenceGrammarLexer.class; } @@ -52,8 +56,8 @@ public abstract class AbstractReferenceGrammarRuntimeConfig extends AbstractServ public Set<IServiceRegistration> registrations() { return scope(org.eclipse.xtext.reference.IReferenceGrammar.SCOPE) - .with(org.eclipse.xtext.IGrammarAccess.class, getIGrammarAccess()) .with(org.eclipse.xtext.IMetamodelAccess.class, getIMetamodelAccess()) + .with(org.eclipse.xtext.IGrammarAccess.class, getIGrammarAccess()) .with(org.eclipse.xtext.parser.IAstFactory.class, getIAstFactory()) .with(org.eclipse.xtext.parser.IParser.class, getIParser()) .with(org.eclipse.xtext.parser.antlr.IAntlrTokenFileProvider.class, getIAntlrTokenFileProvider()) @@ -61,6 +65,7 @@ public abstract class AbstractReferenceGrammarRuntimeConfig extends AbstractServ .with(org.eclipse.xtext.parsetree.reconstr.IParseTreeConstructor.class, getIParseTreeConstructor()) .with(org.eclipse.xtext.parsetree.reconstr.ITokenSerializer.class, getITokenSerializer()) .with(org.eclipse.xtext.parsetree.reconstr.ICrossReferenceSerializer.class, getICrossReferenceSerializer()) + .with(org.eclipse.xtext.parsetree.reconstr.ITransientValueService.class, getITransientValueService()) .with(org.eclipse.xtext.parser.antlr.Lexer.class, getLexer()) .registrations(); diff --git a/devtools/org.eclipse.xtext.reference/src-gen/org/eclipse/xtext/reference/ReferenceGrammar.xmi b/devtools/org.eclipse.xtext.reference/src-gen/org/eclipse/xtext/reference/ReferenceGrammar.xmi index fa318d4..ff58520 100644 --- a/devtools/org.eclipse.xtext.reference/src-gen/org/eclipse/xtext/reference/ReferenceGrammar.xmi +++ b/devtools/org.eclipse.xtext.reference/src-gen/org/eclipse/xtext/reference/ReferenceGrammar.xmi @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="ASCII"?> -<xtext:Grammar xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xtext="http://www.eclipse.org/2008/Xtext"> +<xtext:Grammar xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:xtext="http://www.eclipse.org/2008/Xtext"> <idElements>org</idElements> <idElements>eclipse</idElements> <idElements>xtext</idElements> @@ -8,6 +8,9 @@ <metamodelDeclarations xsi:type="xtext:GeneratedMetamodel" name="ReferenceGrammar" nsURI="http://eclipse.org/xtext/reference/ReferenceGrammar"/> <metamodelDeclarations xsi:type="xtext:ReferencedMetamodel" alias="ReferenceModel" uri="http://eclipse.org/xtext/reference/ReferenceModel"/> <rules xsi:type="xtext:ParserRule" name="Spielplatz"> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://eclipse.org/xtext/reference/ReferenceGrammar#//Spielplatz"/> + </type> <alternatives xsi:type="xtext:Group" cardinality="?"> <abstractTokens xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Group"> @@ -56,12 +59,18 @@ </alternatives> </rules> <rules xsi:type="xtext:ParserRule" name="Person"> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://eclipse.org/xtext/reference/ReferenceGrammar#//Person"/> + </type> <alternatives xsi:type="xtext:Alternatives"> <groups xsi:type="xtext:RuleCall" rule="//@rules.2"/> <groups xsi:type="xtext:RuleCall" rule="//@rules.3"/> </alternatives> </rules> <rules xsi:type="xtext:ParserRule" name="Kind"> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://eclipse.org/xtext/reference/ReferenceGrammar#//Kind"/> + </type> <alternatives xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Group"> @@ -85,6 +94,9 @@ </alternatives> </rules> <rules xsi:type="xtext:ParserRule" name="Erwachsener"> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://eclipse.org/xtext/reference/ReferenceGrammar#//Erwachsener"/> + </type> <alternatives xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Group"> @@ -108,6 +120,9 @@ </alternatives> </rules> <rules xsi:type="xtext:ParserRule" name="Spielzeug"> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://eclipse.org/xtext/reference/ReferenceGrammar#//Spielzeug"/> + </type> <alternatives xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Group"> @@ -129,6 +144,9 @@ </alternatives> </rules> <rules xsi:type="xtext:ParserRule" name="Familie"> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://eclipse.org/xtext/reference/ReferenceGrammar#//Familie"/> + </type> <alternatives xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Group"> @@ -155,19 +173,25 @@ </abstractTokens> <abstractTokens xsi:type="xtext:Assignment" feature="mutter" operator="="> <terminal xsi:type="xtext:CrossReference"> - <type metamodel="//@metamodelDeclarations.0" name="Erwachsener"/> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://eclipse.org/xtext/reference/ReferenceGrammar#//Erwachsener"/> + </type> </terminal> </abstractTokens> </abstractTokens> <abstractTokens xsi:type="xtext:Assignment" feature="vater" operator="="> <terminal xsi:type="xtext:CrossReference"> - <type metamodel="//@metamodelDeclarations.0" name="Erwachsener"/> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://eclipse.org/xtext/reference/ReferenceGrammar#//Erwachsener"/> + </type> </terminal> </abstractTokens> </abstractTokens> <abstractTokens xsi:type="xtext:Assignment" feature="kinder" operator="+="> <terminal xsi:type="xtext:CrossReference"> - <type metamodel="//@metamodelDeclarations.0" name="Kind"/> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://eclipse.org/xtext/reference/ReferenceGrammar#//Kind"/> + </type> </terminal> </abstractTokens> </abstractTokens> @@ -175,7 +199,9 @@ <abstractTokens xsi:type="xtext:Keyword" value=","/> <abstractTokens xsi:type="xtext:Assignment" feature="kinder" operator="+="> <terminal xsi:type="xtext:CrossReference"> - <type metamodel="//@metamodelDeclarations.0" name="Kind"/> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://eclipse.org/xtext/reference/ReferenceGrammar#//Kind"/> + </type> </terminal> </abstractTokens> </abstractTokens> @@ -184,6 +210,9 @@ </alternatives> </rules> <rules xsi:type="xtext:ParserRule" name="Farbe"> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://eclipse.org/xtext/reference/ReferenceGrammar#//Farbe"/> + </type> <alternatives xsi:type="xtext:Assignment" feature="wert" operator="="> <terminal xsi:type="xtext:Alternatives"> <groups xsi:type="xtext:Alternatives"> @@ -198,7 +227,9 @@ </alternatives> </rules> <rules xsi:type="xtext:ParserRule" name="CustomTypeParserRule"> - <type metamodel="//@metamodelDeclarations.1" name="CustomType"/> + <type metamodel="//@metamodelDeclarations.1"> + <type xsi:type="ecore:EClass" href="http://eclipse.org/xtext/reference/ReferenceModel#//CustomType"/> + </type> <alternatives xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Keyword" value="type"/> <abstractTokens xsi:type="xtext:Assignment" feature="name" operator="="> diff --git a/devtools/org.eclipse.xtext.reference/src-gen/org/eclipse/xtext/reference/parser/internal/InternalReferenceGrammarLexer.java b/devtools/org.eclipse.xtext.reference/src-gen/org/eclipse/xtext/reference/parser/internal/InternalReferenceGrammarLexer.java index 939fab6..0926b23 100644 --- a/devtools/org.eclipse.xtext.reference/src-gen/org/eclipse/xtext/reference/parser/internal/InternalReferenceGrammarLexer.java +++ b/devtools/org.eclipse.xtext.reference/src-gen/org/eclipse/xtext/reference/parser/internal/InternalReferenceGrammarLexer.java @@ -1,4 +1,4 @@ -// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/reference/parser/internal/InternalReferenceGrammar.g 2008-12-06 10:56:39 +// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/reference/parser/internal/InternalReferenceGrammar.g 2008-12-10 08:46:05 package org.eclipse.xtext.reference.parser.internal; diff --git a/devtools/org.eclipse.xtext.reference/src-gen/org/eclipse/xtext/reference/parser/internal/InternalReferenceGrammarParser.java b/devtools/org.eclipse.xtext.reference/src-gen/org/eclipse/xtext/reference/parser/internal/InternalReferenceGrammarParser.java index 74f4be5..4527029 100644 --- a/devtools/org.eclipse.xtext.reference/src-gen/org/eclipse/xtext/reference/parser/internal/InternalReferenceGrammarParser.java +++ b/devtools/org.eclipse.xtext.reference/src-gen/org/eclipse/xtext/reference/parser/internal/InternalReferenceGrammarParser.java @@ -1,4 +1,4 @@ -// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/reference/parser/internal/InternalReferenceGrammar.g 2008-12-06 10:56:39 +// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/reference/parser/internal/InternalReferenceGrammar.g 2008-12-10 08:46:05 package org.eclipse.xtext.reference.parser.internal; diff --git a/devtools/org.eclipse.xtext.reference/src-gen/org/eclipse/xtext/reference/parsetree/reconstr/ReferenceGrammarParseTreeConstructor.java b/devtools/org.eclipse.xtext.reference/src-gen/org/eclipse/xtext/reference/parsetree/reconstr/ReferenceGrammarParseTreeConstructor.java index 551a6d0..c56f216 100644 --- a/devtools/org.eclipse.xtext.reference/src-gen/org/eclipse/xtext/reference/parsetree/reconstr/ReferenceGrammarParseTreeConstructor.java +++ b/devtools/org.eclipse.xtext.reference/src-gen/org/eclipse/xtext/reference/parsetree/reconstr/ReferenceGrammarParseTreeConstructor.java @@ -16,6 +16,7 @@ import org.eclipse.xtext.reference.services.ReferenceGrammarGrammarAccess; public class ReferenceGrammarParseTreeConstructor extends AbstractParseTreeConstructor { public IAbstractToken serialize(EObject object) { + if(object == null) throw new IllegalArgumentException("The to-be-serialialized model is null"); Solution t = internalSerialize(object); if(t == null) throw new XtextSerializationException(getDescr(object), "No rule found for serialization"); return t.getPredecessor(); @@ -206,7 +207,7 @@ protected class Spielplatz_0_0_0_0_1_Assignment_groesse extends AssignmentToken } protected Solution createSolution() { - if((value = current.getConsumable("groesse",required)) == null) return null; + if((value = current.getConsumable("groesse",IS_REQUIRED)) == null) return null; IInstanceDescription obj = current.cloneAndConsume("groesse"); if(true) { // xtext::RuleCall FIXME: check if value is valid for lexer rule type = AssignmentType.LRC; @@ -230,7 +231,7 @@ protected class Spielplatz_0_0_0_1_Assignment_beschreibung extends AssignmentTok } protected Solution createSolution() { - if((value = current.getConsumable("beschreibung",required)) == null) return null; + if((value = current.getConsumable("beschreibung",!IS_REQUIRED)) == null) return null; IInstanceDescription obj = current.cloneAndConsume("beschreibung"); if(true) { // xtext::RuleCall FIXME: check if value is valid for lexer rule type = AssignmentType.LRC; @@ -351,7 +352,7 @@ protected class Spielplatz_0_1_0_0_0_0_Assignment_kinder extends AssignmentToken } protected Solution createSolution() { - if((value = current.getConsumable("kinder",required)) == null) return null; + if((value = current.getConsumable("kinder",IS_REQUIRED)) == null) return null; IInstanceDescription obj = current.cloneAndConsume("kinder"); if(value instanceof EObject) { // xtext::RuleCall IInstanceDescription param = getDescr((EObject)value); @@ -379,7 +380,7 @@ protected class Spielplatz_0_1_0_0_0_1_Assignment_erzieher extends AssignmentTok } protected Solution createSolution() { - if((value = current.getConsumable("erzieher",required)) == null) return null; + if((value = current.getConsumable("erzieher",IS_REQUIRED)) == null) return null; IInstanceDescription obj = current.cloneAndConsume("erzieher"); if(value instanceof EObject) { // xtext::RuleCall IInstanceDescription param = getDescr((EObject)value); @@ -408,7 +409,7 @@ protected class Spielplatz_0_1_0_0_1_Assignment_spielzeuge extends AssignmentTok } protected Solution createSolution() { - if((value = current.getConsumable("spielzeuge",required)) == null) return null; + if((value = current.getConsumable("spielzeuge",IS_REQUIRED)) == null) return null; IInstanceDescription obj = current.cloneAndConsume("spielzeuge"); if(value instanceof EObject) { // xtext::RuleCall IInstanceDescription param = getDescr((EObject)value); @@ -437,7 +438,7 @@ protected class Spielplatz_0_1_0_1_Assignment_familie extends AssignmentToken { } protected Solution createSolution() { - if((value = current.getConsumable("familie",required)) == null) return null; + if((value = current.getConsumable("familie",IS_REQUIRED)) == null) return null; IInstanceDescription obj = current.cloneAndConsume("familie"); if(value instanceof EObject) { // xtext::RuleCall IInstanceDescription param = getDescr((EObject)value); @@ -466,7 +467,7 @@ protected class Spielplatz_0_1_1_Assignment_types extends AssignmentToken { } protected Solution createSolution() { - if((value = current.getConsumable("types",required)) == null) return null; + if((value = current.getConsumable("types",IS_REQUIRED)) == null) return null; IInstanceDescription obj = current.cloneAndConsume("types"); if(value instanceof EObject) { // xtext::RuleCall IInstanceDescription param = getDescr((EObject)value); @@ -722,7 +723,7 @@ protected class Kind_0_0_1_Assignment_name extends AssignmentToken { } protected Solution createSolution() { - if((value = current.getConsumable("name",required)) == null) return null; + if((value = current.getConsumable("name",IS_REQUIRED)) == null) return null; IInstanceDescription obj = current.cloneAndConsume("name"); if(true) { // xtext::RuleCall FIXME: check if value is valid for lexer rule type = AssignmentType.LRC; @@ -746,7 +747,7 @@ protected class Kind_0_1_Assignment_age extends AssignmentToken { } protected Solution createSolution() { - if((value = current.getConsumable("age",required)) == null) return null; + if((value = current.getConsumable("age",IS_REQUIRED)) == null) return null; IInstanceDescription obj = current.cloneAndConsume("age"); if(true) { // xtext::RuleCall FIXME: check if value is valid for lexer rule type = AssignmentType.LRC; @@ -929,7 +930,7 @@ protected class Erwachsener_0_0_1_Assignment_name extends AssignmentToken { } protected Solution createSolution() { - if((value = current.getConsumable("name",required)) == null) return null; + if((value = current.getConsumable("name",IS_REQUIRED)) == null) return null; IInstanceDescription obj = current.cloneAndConsume("name"); if(true) { // xtext::RuleCall FIXME: check if value is valid for lexer rule type = AssignmentType.LRC; @@ -953,7 +954,7 @@ protected class Erwachsener_0_1_Assignment_age extends AssignmentToken { } protected Solution createSolution() { - if((value = current.getConsumable("age",required)) == null) return null; + if((value = current.getConsumable("age",IS_REQUIRED)) == null) return null; IInstanceDescription obj = current.cloneAndConsume("age"); if(true) { // xtext::RuleCall FIXME: check if value is valid for lexer rule type = AssignmentType.LRC; @@ -1136,7 +1137,7 @@ protected class Spielzeug_0_0_1_Assignment_name extends AssignmentToken { } protected Solution createSolution() { - if((value = current.getConsumable("name",required)) == null) return null; + if((value = current.getConsumable("name",IS_REQUIRED)) == null) return null; IInstanceDescription obj = current.cloneAndConsume("name"); if(true) { // xtext::RuleCall FIXME: check if value is valid for lexer rule type = AssignmentType.LRC; @@ -1160,7 +1161,7 @@ protected class Spielzeug_0_1_Assignment_farbe extends AssignmentToken { } protected Solution createSolution() { - if((value = current.getConsumable("farbe",required)) == null) return null; + if((value = current.getConsumable("farbe",IS_REQUIRED)) == null) return null; IInstanceDescription obj = current.cloneAndConsume("farbe"); if(value instanceof EObject) { // xtext::RuleCall IInstanceDescription param = getDescr((EObject)value); @@ -1194,12 +1195,12 @@ protected class Spielzeug_1_Keyword extends KeywordToken { /************ begin Rule Familie **************** * - * (error) + * Familie : 'familie' '(' name = ( 'keyword' | STRING | ID ) mutter = [ Erwachsener ] vater = [ Erwachsener ] kinder += [ Kind ] ( ',' kinder += [ Kind ] ) * ')' ; * **/ -// (error) +// 'familie' '(' name = ( 'keyword' | STRING | ID ) mutter = [ Erwachsener ] vater = [ Erwachsener ] kinder += [ Kind ] ( ',' kinder += [ Kind ] ) * ')' protected class Familie_Group extends GroupToken { public Familie_Group(IInstanceDescription curr, AbstractToken pred) { @@ -1227,7 +1228,7 @@ protected class Familie_Group extends GroupToken { } } -// (error) +// 'familie' '(' name = ( 'keyword' | STRING | ID ) mutter = [ Erwachsener ] vater = [ Erwachsener ] kinder += [ Kind ] ( ',' kinder += [ Kind ] ) * protected class Familie_0_Group extends GroupToken { public Familie_0_Group(IInstanceDescription curr, AbstractToken pred) { @@ -1255,7 +1256,7 @@ protected class Familie_0_Group extends GroupToken { } } -// (error) +// 'familie' '(' name = ( 'keyword' | STRING | ID ) mutter = [ Erwachsener ] vater = [ Erwachsener ] kinder += [ Kind ] protected class Familie_0_0_Group extends GroupToken { public Familie_0_0_Group(IInstanceDescription curr, AbstractToken pred) { @@ -1283,7 +1284,7 @@ protected class Familie_0_0_Group extends GroupToken { } } -// (error) +// 'familie' '(' name = ( 'keyword' | STRING | ID ) mutter = [ Erwachsener ] vater = [ Erwachsener ] protected class Familie_0_0_0_Group extends GroupToken { public Familie_0_0_0_Group(IInstanceDescription curr, AbstractToken pred) { @@ -1311,7 +1312,7 @@ protected class Familie_0_0_0_Group extends GroupToken { } } -// (error) +// 'familie' '(' name = ( 'keyword' | STRING | ID ) mutter = [ Erwachsener ] protected class Familie_0_0_0_0_Group extends GroupToken { public Familie_0_0_0_0_Group(IInstanceDescription curr, AbstractToken pred) { @@ -1432,7 +1433,7 @@ protected class Familie_0_0_0_0_0_1_Assignment_name extends AssignmentToken { } protected Solution createSolution() { - if((value = current.getConsumable("name",required)) == null) return null; + if((value = current.getConsumable("name",IS_REQUIRED)) == null) return null; IInstanceDescription obj = current.cloneAndConsume("name"); if("keyword".equals(value)) { // xtext::Keyword type = AssignmentType.KW; @@ -1454,7 +1455,7 @@ protected class Familie_0_0_0_0_0_1_Assignment_name extends AssignmentToken { } -// (error) +// mutter = [ Erwachsener ] protected class Familie_0_0_0_0_1_Assignment_mutter extends AssignmentToken { public Familie_0_0_0_0_1_Assignment_mutter(IInstanceDescription curr, AbstractToken pred) { @@ -1466,7 +1467,7 @@ protected class Familie_0_0_0_0_1_Assignment_mutter extends AssignmentToken { } protected Solution createSolution() { - if((value = current.getConsumable("mutter",required)) == null) return null; + if((value = current.getConsumable("mutter",IS_REQUIRED)) == null) return null; IInstanceDescription obj = current.cloneAndConsume("mutter"); if(value instanceof EObject) { // xtext::CrossReference IInstanceDescription param = getDescr((EObject)value); @@ -1481,7 +1482,7 @@ protected class Familie_0_0_0_0_1_Assignment_mutter extends AssignmentToken { } -// (error) +// vater = [ Erwachsener ] protected class Familie_0_0_0_1_Assignment_vater extends AssignmentToken { public Familie_0_0_0_1_Assignment_vater(IInstanceDescription curr, AbstractToken pred) { @@ -1493,7 +1494,7 @@ protected class Familie_0_0_0_1_Assignment_vater extends AssignmentToken { } protected Solution createSolution() { - if((value = current.getConsumable("vater",required)) == null) return null; + if((value = current.getConsumable("vater",IS_REQUIRED)) == null) return null; IInstanceDescription obj = current.cloneAndConsume("vater"); if(value instanceof EObject) { // xtext::CrossReference IInstanceDescription param = getDescr((EObject)value); @@ -1508,7 +1509,7 @@ protected class Familie_0_0_0_1_Assignment_vater extends AssignmentToken { } -// (error) +// kinder += [ Kind ] protected class Familie_0_0_1_Assignment_kinder extends AssignmentToken { public Familie_0_0_1_Assignment_kinder(IInstanceDescription curr, AbstractToken pred) { @@ -1520,7 +1521,7 @@ protected class Familie_0_0_1_Assignment_kinder extends AssignmentToken { } protected Solution createSolution() { - if((value = current.getConsumable("kinder",required)) == null) return null; + if((value = current.getConsumable("kinder",IS_REQUIRED)) == null) return null; IInstanceDescription obj = current.cloneAndConsume("kinder"); if(value instanceof EObject) { // xtext::CrossReference IInstanceDescription param = getDescr((EObject)value); @@ -1535,7 +1536,7 @@ protected class Familie_0_0_1_Assignment_kinder extends AssignmentToken { } -// (error) +// ( ',' kinder += [ Kind ] ) * protected class Familie_0_1_Group extends GroupToken { public Familie_0_1_Group(IInstanceDescription curr, AbstractToken pred) { @@ -1575,7 +1576,7 @@ protected class Familie_0_1_0_Keyword extends KeywordToken { } } -// (error) +// kinder += [ Kind ] protected class Familie_0_1_1_Assignment_kinder extends AssignmentToken { public Familie_0_1_1_Assignment_kinder(IInstanceDescription curr, AbstractToken pred) { @@ -1587,7 +1588,7 @@ protected class Familie_0_1_1_Assignment_kinder extends AssignmentToken { } protected Solution createSolution() { - if((value = current.getConsumable("kinder",required)) == null) return null; + if((value = current.getConsumable("kinder",!IS_REQUIRED)) == null) return null; IInstanceDescription obj = current.cloneAndConsume("kinder"); if(value instanceof EObject) { // xtext::CrossReference IInstanceDescription param = getDescr((EObject)value); @@ -1637,7 +1638,7 @@ protected class Farbe_Assignment_wert extends AssignmentToken { } protected Solution createSolution() { - if((value = current.getConsumable("wert",required)) == null) return null; + if((value = current.getConsumable("wert",IS_REQUIRED)) == null) return null; IInstanceDescription obj = current.cloneAndConsume("wert"); if("ROT".equals(value)) { // xtext::Keyword type = AssignmentType.KW; @@ -1667,7 +1668,7 @@ protected class Farbe_Assignment_wert extends AssignmentToken { /************ begin Rule CustomTypeParserRule **************** * - * CustomTypeParserRule returns ReferenceModel :: CustomType : 'type' name = ID ; + * CustomTypeParserRule returns CustomType : 'type' name = ID ; * **/ @@ -1724,7 +1725,7 @@ protected class CustomTypeParserRule_1_Assignment_name extends AssignmentToken } protected Solution createSolution() { - if((value = current.getConsumable("name",required)) == null) return null; + if((value = current.getConsumable("name",IS_REQUIRED)) == null) return null; IInstanceDescription obj = current.cloneAndConsume("name"); if(true) { // xtext::RuleCall FIXME: check if value is valid for lexer rule type = AssignmentType.LRC; diff --git a/devtools/org.eclipse.xtext.reference/src-gen/org/eclipse/xtext/reference/services/ReferenceGrammarGrammarAccess.java b/devtools/org.eclipse.xtext.reference/src-gen/org/eclipse/xtext/reference/services/ReferenceGrammarGrammarAccess.java index dcc2bf1..01d4679 100644 --- a/devtools/org.eclipse.xtext.reference/src-gen/org/eclipse/xtext/reference/services/ReferenceGrammarGrammarAccess.java +++ b/devtools/org.eclipse.xtext.reference/src-gen/org/eclipse/xtext/reference/services/ReferenceGrammarGrammarAccess.java @@ -46,7 +46,7 @@ public class ReferenceGrammarGrammarAccess extends BaseEPackageAccess implements // ( 'spielplatz' groesse = INT ( beschreibung = STRING ) ? '{' ( kinder += Kind | erzieher += Erwachsener | spielzeuge += Spielzeug | familie += Familie | types += CustomTypeParserRule ) * '}' ) ? public Group eleGroup() { - return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(0)); + return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(1)); } // 'spielplatz' groesse = INT ( beschreibung = STRING ) ? '{' ( kinder += Kind | erzieher += Erwachsener | spielzeuge += Spielzeug | familie += Familie | types += CustomTypeParserRule ) * @@ -188,7 +188,7 @@ public class ReferenceGrammarGrammarAccess extends BaseEPackageAccess implements // Kind | Erwachsener public Alternatives eleAlternatives() { - return (cAlternatives != null) ? cAlternatives : (cAlternatives = (Alternatives)getRule().eContents().get(0)); + return (cAlternatives != null) ? cAlternatives : (cAlternatives = (Alternatives)getRule().eContents().get(1)); } // Kind @@ -223,7 +223,7 @@ public class ReferenceGrammarGrammarAccess extends BaseEPackageAccess implements // 'kind' '(' name = ID age = INT ')' public Group eleGroup() { - return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(0)); + return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(1)); } // 'kind' '(' name = ID age = INT @@ -298,7 +298,7 @@ public class ReferenceGrammarGrammarAccess extends BaseEPackageAccess implements // 'erwachsener' '(' name = ID age = INT ')' public Group eleGroup() { - return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(0)); + return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(1)); } // 'erwachsener' '(' name = ID age = INT @@ -373,7 +373,7 @@ public class ReferenceGrammarGrammarAccess extends BaseEPackageAccess implements // 'spielzeug' '(' name = ID farbe = Farbe ')' public Group eleGroup() { - return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(0)); + return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(1)); } // 'spielzeug' '(' name = ID farbe = Farbe @@ -456,32 +456,32 @@ public class ReferenceGrammarGrammarAccess extends BaseEPackageAccess implements private CrossReference c0110CrossReferenceKind; private Keyword c1Keyword; - // (error) + // Familie : 'familie' '(' name = ( 'keyword' | STRING | ID ) mutter = [ Erwachsener ] vater = [ Erwachsener ] kinder += [ Kind ] ( ',' kinder += [ Kind ] ) * ')' ; public ParserRule getRule() { return (rule != null) ? rule : (rule = (ParserRule) getGrammar().eContents().get(7)); } - // (error) + // 'familie' '(' name = ( 'keyword' | STRING | ID ) mutter = [ Erwachsener ] vater = [ Erwachsener ] kinder += [ Kind ] ( ',' kinder += [ Kind ] ) * ')' public Group eleGroup() { - return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(0)); + return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(1)); } - // (error) + // 'familie' '(' name = ( 'keyword' | STRING | ID ) mutter = [ Erwachsener ] vater = [ Erwachsener ] kinder += [ Kind ] ( ',' kinder += [ Kind ] ) * public Group ele0Group() { return (c0Group != null) ? c0Group : (c0Group = (Group)eleGroup().eContents().get(0)); } - // (error) + // 'familie' '(' name = ( 'keyword' | STRING | ID ) mutter = [ Erwachsener ] vater = [ Erwachsener ] kinder += [ Kind ] public Group ele00Group() { return (c00Group != null) ? c00Group : (c00Group = (Group)ele0Group().eContents().get(0)); } - // (error) + // 'familie' '(' name = ( 'keyword' | STRING | ID ) mutter = [ Erwachsener ] vater = [ Erwachsener ] public Group ele000Group() { return (c000Group != null) ? c000Group : (c000Group = (Group)ele00Group().eContents().get(0)); } - // (error) + // 'familie' '(' name = ( 'keyword' | STRING | ID ) mutter = [ Erwachsener ] public Group ele0000Group() { return (c0000Group != null) ? c0000Group : (c0000Group = (Group)ele000Group().eContents().get(0)); } @@ -536,37 +536,37 @@ public class ReferenceGrammarGrammarAccess extends BaseEPackageAccess implements return (c00000101LexerRuleCallID != null) ? c00000101LexerRuleCallID : (c00000101LexerRuleCallID = (RuleCall)ele0000010Alternatives().eContents().get(1)); } - // (error) + // mutter = [ Erwachsener ] public Assignment ele00001AssignmentMutter() { return (c00001AssignmentMutter != null) ? c00001AssignmentMutter : (c00001AssignmentMutter = (Assignment)ele0000Group().eContents().get(1)); } - // (error) + // [ Erwachsener ] public CrossReference ele000010CrossReferenceErwachsener() { return (c000010CrossReferenceErwachsener != null) ? c000010CrossReferenceErwachsener : (c000010CrossReferenceErwachsener = (CrossReference)ele00001AssignmentMutter().eContents().get(0)); } - // (error) + // vater = [ Erwachsener ] public Assignment ele0001AssignmentVater() { return (c0001AssignmentVater != null) ? c0001AssignmentVater : (c0001AssignmentVater = (Assignment)ele000Group().eContents().get(1)); } - // (error) + // [ Erwachsener ] public CrossReference ele00010CrossReferenceErwachsener() { return (c00010CrossReferenceErwachsener != null) ? c00010CrossReferenceErwachsener : (c00010CrossReferenceErwachsener = (CrossReference)ele0001AssignmentVater().eContents().get(0)); } - // (error) + // kinder += [ Kind ] public Assignment ele001AssignmentKinder() { return (c001AssignmentKinder != null) ? c001AssignmentKinder : (c001AssignmentKinder = (Assignment)ele00Group().eContents().get(1)); } - // (error) + // [ Kind ] public CrossReference ele0010CrossReferenceKind() { return (c0010CrossReferenceKind != null) ? c0010CrossReferenceKind : (c0010CrossReferenceKind = (CrossReference)ele001AssignmentKinder().eContents().get(0)); } - // (error) + // ( ',' kinder += [ Kind ] ) * public Group ele01Group() { return (c01Group != null) ? c01Group : (c01Group = (Group)ele0Group().eContents().get(1)); } @@ -576,12 +576,12 @@ public class ReferenceGrammarGrammarAccess extends BaseEPackageAccess implements return (c010Keyword != null) ? c010Keyword : (c010Keyword = (Keyword)ele01Group().eContents().get(0)); } - // (error) + // kinder += [ Kind ] public Assignment ele011AssignmentKinder() { return (c011AssignmentKinder != null) ? c011AssignmentKinder : (c011AssignmentKinder = (Assignment)ele01Group().eContents().get(1)); } - // (error) + // [ Kind ] public CrossReference ele0110CrossReferenceKind() { return (c0110CrossReferenceKind != null) ? c0110CrossReferenceKind : (c0110CrossReferenceKind = (CrossReference)ele011AssignmentKinder().eContents().get(0)); } @@ -610,7 +610,7 @@ public class ReferenceGrammarGrammarAccess extends BaseEPackageAccess implements // wert = ( 'ROT' | 'BLAU' | 'GELB' | 'GRÜN' ) public Assignment eleAssignmentWert() { - return (cAssignmentWert != null) ? cAssignmentWert : (cAssignmentWert = (Assignment)getRule().eContents().get(0)); + return (cAssignmentWert != null) ? cAssignmentWert : (cAssignmentWert = (Assignment)getRule().eContents().get(1)); } // 'ROT' | 'BLAU' | 'GELB' | 'GRÜN' @@ -656,7 +656,7 @@ public class ReferenceGrammarGrammarAccess extends BaseEPackageAccess implements private Assignment c1AssignmentName; private RuleCall c10LexerRuleCallID; - // CustomTypeParserRule returns ReferenceModel :: CustomType : 'type' name = ID ; + // CustomTypeParserRule returns CustomType : 'type' name = ID ; public ParserRule getRule() { return (rule != null) ? rule : (rule = (ParserRule) getGrammar().eContents().get(9)); } @@ -735,7 +735,7 @@ public class ReferenceGrammarGrammarAccess extends BaseEPackageAccess implements return (pSpielzeug != null) ? pSpielzeug : (pSpielzeug = new SpielzeugElements()); } - // (error) + // Familie : 'familie' '(' name = ( 'keyword' | STRING | ID ) mutter = [ Erwachsener ] vater = [ Erwachsener ] kinder += [ Kind ] ( ',' kinder += [ Kind ] ) * ')' ; public FamilieElements prFamilie() { return (pFamilie != null) ? pFamilie : (pFamilie = new FamilieElements()); } @@ -745,7 +745,7 @@ public class ReferenceGrammarGrammarAccess extends BaseEPackageAccess implements return (pFarbe != null) ? pFarbe : (pFarbe = new FarbeElements()); } - // CustomTypeParserRule returns ReferenceModel :: CustomType : 'type' name = ID ; + // CustomTypeParserRule returns CustomType : 'type' name = ID ; public CustomTypeParserRuleElements prCustomTypeParserRule() { return (pCustomTypeParserRule != null) ? pCustomTypeParserRule : (pCustomTypeParserRule = new CustomTypeParserRuleElements()); } diff --git a/examples/org.eclipse.xtext.example.fowlerdsl.ui/src-gen/org/eclipse/xtext/example/FowlerDslGenProposalProvider.java b/examples/org.eclipse.xtext.example.fowlerdsl.ui/src-gen/org/eclipse/xtext/example/FowlerDslGenProposalProvider.java index 05ee820..9fc04fe 100644 --- a/examples/org.eclipse.xtext.example.fowlerdsl.ui/src-gen/org/eclipse/xtext/example/FowlerDslGenProposalProvider.java +++ b/examples/org.eclipse.xtext.example.fowlerdsl.ui/src-gen/org/eclipse/xtext/example/FowlerDslGenProposalProvider.java @@ -163,6 +163,19 @@ public class FowlerDslGenProposalProvider extends AbstractProposalProvider { return lookupCrossReference(((CrossReference)assignment.getTerminal()), model, prefix, offset); } + + public List<? extends ICompletionProposal> complete(RuleCall ruleCall, EObject model, String prefix, + IDocument doc, int offset) { + if (logger.isDebugEnabled()) { + logger.debug("complete '" + ruleCall.getRule().getName() + "' cardinality '" + ruleCall.getCardinality() + + "' for model '" + model + "' and prefix '" + prefix.trim() + "'"); + } + return Collections.emptyList(); + } + + + + @Override protected String getDefaultImageFilePath() { return "icons/editor.gif"; diff --git a/examples/org.eclipse.xtext.example.fowlerdsl/src-gen/org/eclipse/xtext/example/AbstractFowlerDslRuntimeConfig.java b/examples/org.eclipse.xtext.example.fowlerdsl/src-gen/org/eclipse/xtext/example/AbstractFowlerDslRuntimeConfig.java index 183d60c..6df7084 100644 --- a/examples/org.eclipse.xtext.example.fowlerdsl/src-gen/org/eclipse/xtext/example/AbstractFowlerDslRuntimeConfig.java +++ b/examples/org.eclipse.xtext.example.fowlerdsl/src-gen/org/eclipse/xtext/example/AbstractFowlerDslRuntimeConfig.java @@ -9,14 +9,14 @@ import org.eclipse.xtext.service.AbstractServiceRegistrationFactory; */ public abstract class AbstractFowlerDslRuntimeConfig extends AbstractServiceRegistrationFactory { - protected Class<? extends org.eclipse.xtext.IGrammarAccess> getIGrammarAccess() { - return org.eclipse.xtext.example.services.FowlerDslGrammarAccess.class; - } - protected Class<? extends org.eclipse.xtext.IMetamodelAccess> getIMetamodelAccess() { return org.eclipse.xtext.example.services.FowlerDslMetamodelAccess.class; } + protected Class<? extends org.eclipse.xtext.IGrammarAccess> getIGrammarAccess() { + return org.eclipse.xtext.example.services.FowlerDslGrammarAccess.class; + } + protected Class<? extends org.eclipse.xtext.parser.IAstFactory> getIAstFactory() { return org.eclipse.xtext.parser.GenericEcoreElementFactory.class; } @@ -45,6 +45,10 @@ public abstract class AbstractFowlerDslRuntimeConfig extends AbstractServiceRegi return org.eclipse.xtext.parsetree.reconstr.impl.SimpleCrossReferenceSerializer.class; } + protected Class<? extends org.eclipse.xtext.parsetree.reconstr.ITransientValueService> getITransientValueService() { + return org.eclipse.xtext.parsetree.reconstr.impl.SimpleTransientValueService.class; + } + protected Class<? extends org.eclipse.xtext.parser.antlr.Lexer> getLexer() { return org.eclipse.xtext.example.parser.internal.InternalFowlerDslLexer.class; } @@ -52,8 +56,8 @@ public abstract class AbstractFowlerDslRuntimeConfig extends AbstractServiceRegi public Set<IServiceRegistration> registrations() { return scope(org.eclipse.xtext.example.IFowlerDsl.SCOPE) - .with(org.eclipse.xtext.IGrammarAccess.class, getIGrammarAccess()) .with(org.eclipse.xtext.IMetamodelAccess.class, getIMetamodelAccess()) + .with(org.eclipse.xtext.IGrammarAccess.class, getIGrammarAccess()) .with(org.eclipse.xtext.parser.IAstFactory.class, getIAstFactory()) .with(org.eclipse.xtext.parser.IParser.class, getIParser()) .with(org.eclipse.xtext.parser.antlr.IAntlrTokenFileProvider.class, getIAntlrTokenFileProvider()) @@ -61,6 +65,7 @@ public abstract class AbstractFowlerDslRuntimeConfig extends AbstractServiceRegi .with(org.eclipse.xtext.parsetree.reconstr.IParseTreeConstructor.class, getIParseTreeConstructor()) .with(org.eclipse.xtext.parsetree.reconstr.ITokenSerializer.class, getITokenSerializer()) .with(org.eclipse.xtext.parsetree.reconstr.ICrossReferenceSerializer.class, getICrossReferenceSerializer()) + .with(org.eclipse.xtext.parsetree.reconstr.ITransientValueService.class, getITransientValueService()) .with(org.eclipse.xtext.parser.antlr.Lexer.class, getLexer()) .registrations(); diff --git a/examples/org.eclipse.xtext.example.fowlerdsl/src-gen/org/eclipse/xtext/example/FowlerDsl.xmi b/examples/org.eclipse.xtext.example.fowlerdsl/src-gen/org/eclipse/xtext/example/FowlerDsl.xmi index 1632167..1df8fa6 100644 --- a/examples/org.eclipse.xtext.example.fowlerdsl/src-gen/org/eclipse/xtext/example/FowlerDsl.xmi +++ b/examples/org.eclipse.xtext.example.fowlerdsl/src-gen/org/eclipse/xtext/example/FowlerDsl.xmi @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="ASCII"?> -<xtext:Grammar xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xtext="http://www.eclipse.org/2008/Xtext"> +<xtext:Grammar xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:xtext="http://www.eclipse.org/2008/Xtext"> <idElements>org</idElements> <idElements>eclipse</idElements> <idElements>xtext</idElements> @@ -7,6 +7,9 @@ <idElements>FowlerDsl</idElements> <metamodelDeclarations xsi:type="xtext:GeneratedMetamodel" name="fowlerdsl" nsURI="http://example.xtext.org/FowlerDsl"/> <rules xsi:type="xtext:ParserRule" name="Statemachine"> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://example.xtext.org/FowlerDsl#//Statemachine"/> + </type> <alternatives xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Group"> @@ -34,6 +37,9 @@ </alternatives> </rules> <rules xsi:type="xtext:ParserRule" name="Event"> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://example.xtext.org/FowlerDsl#//Event"/> + </type> <alternatives xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Assignment" cardinality="?" feature="resetting" operator="?="> @@ -53,6 +59,9 @@ </alternatives> </rules> <rules xsi:type="xtext:ParserRule" name="Command"> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://example.xtext.org/FowlerDsl#//Command"/> + </type> <alternatives xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Assignment" feature="name" operator="="> <terminal xsi:type="xtext:RuleCall"> @@ -67,6 +76,9 @@ </alternatives> </rules> <rules xsi:type="xtext:ParserRule" name="State"> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://example.xtext.org/FowlerDsl#//State"/> + </type> <alternatives xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Group"> @@ -86,7 +98,9 @@ </abstractTokens> <abstractTokens xsi:type="xtext:Assignment" cardinality="+" feature="actions" operator="+="> <terminal xsi:type="xtext:CrossReference"> - <type metamodel="//@metamodelDeclarations.0" name="Command"/> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://example.xtext.org/FowlerDsl#//Command"/> + </type> </terminal> </abstractTokens> </abstractTokens> @@ -101,18 +115,25 @@ </alternatives> </rules> <rules xsi:type="xtext:ParserRule" name="Transition"> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://example.xtext.org/FowlerDsl#//Transition"/> + </type> <alternatives xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Assignment" feature="event" operator="="> <terminal xsi:type="xtext:CrossReference"> - <type metamodel="//@metamodelDeclarations.0" name="Event"/> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://example.xtext.org/FowlerDsl#//Event"/> + </type> </terminal> </abstractTokens> <abstractTokens xsi:type="xtext:Keyword" value="=>"/> </abstractTokens> <abstractTokens xsi:type="xtext:Assignment" feature="state" operator="="> <terminal xsi:type="xtext:CrossReference"> - <type metamodel="//@metamodelDeclarations.0" name="State"/> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://example.xtext.org/FowlerDsl#//State"/> + </type> </terminal> </abstractTokens> </alternatives> diff --git a/examples/org.eclipse.xtext.example.fowlerdsl/src-gen/org/eclipse/xtext/example/parser/internal/InternalFowlerDslLexer.java b/examples/org.eclipse.xtext.example.fowlerdsl/src-gen/org/eclipse/xtext/example/parser/internal/InternalFowlerDslLexer.java index f61d5df..ae4ff97 100644 --- a/examples/org.eclipse.xtext.example.fowlerdsl/src-gen/org/eclipse/xtext/example/parser/internal/InternalFowlerDslLexer.java +++ b/examples/org.eclipse.xtext.example.fowlerdsl/src-gen/org/eclipse/xtext/example/parser/internal/InternalFowlerDslLexer.java @@ -1,4 +1,4 @@ -// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/example/parser/internal/InternalFowlerDsl.g 2008-12-06 11:02:16 +// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/example/parser/internal/InternalFowlerDsl.g 2008-12-10 08:45:46 package org.eclipse.xtext.example.parser.internal; diff --git a/examples/org.eclipse.xtext.example.fowlerdsl/src-gen/org/eclipse/xtext/example/parser/internal/InternalFowlerDslParser.java b/examples/org.eclipse.xtext.example.fowlerdsl/src-gen/org/eclipse/xtext/example/parser/internal/InternalFowlerDslParser.java index 0630869..19ec438 100644 --- a/examples/org.eclipse.xtext.example.fowlerdsl/src-gen/org/eclipse/xtext/example/parser/internal/InternalFowlerDslParser.java +++ b/examples/org.eclipse.xtext.example.fowlerdsl/src-gen/org/eclipse/xtext/example/parser/internal/InternalFowlerDslParser.java @@ -1,4 +1,4 @@ -// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/example/parser/internal/InternalFowlerDsl.g 2008-12-06 11:02:16 +// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/example/parser/internal/InternalFowlerDsl.g 2008-12-10 08:45:46 package org.eclipse.xtext.example.parser.internal; diff --git a/examples/org.eclipse.xtext.example.fowlerdsl/src-gen/org/eclipse/xtext/example/parsetree/reconstr/FowlerDslParseTreeConstructor.java b/examples/org.eclipse.xtext.example.fowlerdsl/src-gen/org/eclipse/xtext/example/parsetree/reconstr/FowlerDslParseTreeConstructor.java index e547e25..b2375f9 100644 --- a/examples/org.eclipse.xtext.example.fowlerdsl/src-gen/org/eclipse/xtext/example/parsetree/reconstr/FowlerDslParseTreeConstructor.java +++ b/examples/org.eclipse.xtext.example.fowlerdsl/src-gen/org/eclipse/xtext/example/parsetree/reconstr/FowlerDslParseTreeConstructor.java @@ -16,6 +16,7 @@ import org.eclipse.xtext.example.services.FowlerDslGrammarAccess; public class FowlerDslParseTreeConstructor extends AbstractParseTreeConstructor { public IAbstractToken serialize(EObject object) { + if(object == null) throw new IllegalArgumentException("The to-be-serialialized model is null"); Solution t = internalSerialize(object); if(t == null) throw new XtextSerializationException(getDescr(object), "No rule found for serialization"); return t.getPredecessor(); @@ -231,7 +232,7 @@ protected class Statemachine_0_0_0_0_0_1_Assignment_events extends AssignmentTok } protected Solution createSolution() { - if((value = current.getConsumable("events",required)) == null) return null; + if((value = current.getConsumable("events",!IS_REQUIRED)) == null) return null; IInstanceDescription obj = current.cloneAndConsume("events"); if(value instanceof EObject) { // xtext::RuleCall IInstanceDescription param = getDescr((EObject)value); @@ -286,7 +287,7 @@ protected class Statemachine_0_0_1_Assignment_commands extends AssignmentToken } protected Solution createSolution() { - if((value = current.getConsumable("commands",required)) == null) return null; + if((value = current.getConsumable("commands",!IS_REQUIRED)) == null) return null; IInstanceDescription obj = current.cloneAndConsume("commands"); if(value instanceof EObject) { // xtext::RuleCall IInstanceDescription param = getDescr((EObject)value); @@ -328,7 +329,7 @@ protected class Statemachine_1_Assignment_states extends AssignmentToken { } protected Solution createSolution() { - if((value = current.getConsumable("states",required)) == null) return null; + if((value = current.getConsumable("states",!IS_REQUIRED)) == null) return null; IInstanceDescription obj = current.cloneAndConsume("states"); if(value instanceof EObject) { // xtext::RuleCall IInstanceDescription param = getDescr((EObject)value); @@ -422,7 +423,7 @@ protected class Event_0_0_Assignment_resetting extends AssignmentToken { } protected Solution createSolution() { - if((value = current.getConsumable("resetting",required)) == null) return null; + if((value = current.getConsumable("resetting",!IS_REQUIRED)) == null) return null; IInstanceDescription obj = current.cloneAndConsume("resetting"); if("resetting".equals(value)) { // xtext::Keyword type = AssignmentType.KW; @@ -445,7 +446,7 @@ protected class Event_0_1_Assignment_name extends AssignmentToken { } protected Solution createSolution() { - if((value = current.getConsumable("name",required)) == null) return null; + if((value = current.getConsumable("name",IS_REQUIRED)) == null) return null; IInstanceDescription obj = current.cloneAndConsume("name"); if(true) { // xtext::RuleCall FIXME: check if value is valid for lexer rule type = AssignmentType.LRC; @@ -469,7 +470,7 @@ protected class Event_1_Assignment_code extends AssignmentToken { } protected Solution createSolution() { - if((value = current.getConsumable("code",required)) == null) return null; + if((value = current.getConsumable("code",IS_REQUIRED)) == null) return null; IInstanceDescription obj = current.cloneAndConsume("code"); if(true) { // xtext::RuleCall FIXME: check if value is valid for lexer rule type = AssignmentType.LRC; @@ -530,7 +531,7 @@ protected class Command_0_Assignment_name extends AssignmentToken { } protected Solution createSolution() { - if((value = current.getConsumable("name",required)) == null) return null; + if((value = current.getConsumable("name",IS_REQUIRED)) == null) return null; IInstanceDescription obj = current.cloneAndConsume("name"); if(true) { // xtext::RuleCall FIXME: check if value is valid for lexer rule type = AssignmentType.LRC; @@ -553,7 +554,7 @@ protected class Command_1_Assignment_code extends AssignmentToken { } protected Solution createSolution() { - if((value = current.getConsumable("code",required)) == null) return null; + if((value = current.getConsumable("code",IS_REQUIRED)) == null) return null; IInstanceDescription obj = current.cloneAndConsume("code"); if(true) { // xtext::RuleCall FIXME: check if value is valid for lexer rule type = AssignmentType.LRC; @@ -569,12 +570,12 @@ protected class Command_1_Assignment_code extends AssignmentToken { /************ begin Rule State **************** * - * (error) + * State : 'state' name = ID ( 'actions' '{' ( actions += [ Command ] ) + '}' ) ? ( transitions += Transition ) * 'end' ; * **/ -// (error) +// 'state' name = ID ( 'actions' '{' ( actions += [ Command ] ) + '}' ) ? ( transitions += Transition ) * 'end' protected class State_Group extends GroupToken { public State_Group(IInstanceDescription curr, AbstractToken pred) { @@ -602,7 +603,7 @@ protected class State_Group extends GroupToken { } } -// (error) +// 'state' name = ID ( 'actions' '{' ( actions += [ Command ] ) + '}' ) ? ( transitions += Transition ) * protected class State_0_Group extends GroupToken { public State_0_Group(IInstanceDescription curr, AbstractToken pred) { @@ -630,7 +631,7 @@ protected class State_0_Group extends GroupToken { } } -// (error) +// 'state' name = ID ( 'actions' '{' ( actions += [ Command ] ) + '}' ) ? protected class State_0_0_Group extends GroupToken { public State_0_0_Group(IInstanceDescription curr, AbstractToken pred) { @@ -710,7 +711,7 @@ protected class State_0_0_0_1_Assignment_name extends AssignmentToken { } protected Solution createSolution() { - if((value = current.getConsumable("name",required)) == null) return null; + if((value = current.getConsumable("name",IS_REQUIRED)) == null) return null; IInstanceDescription obj = current.cloneAndConsume("name"); if(true) { // xtext::RuleCall FIXME: check if value is valid for lexer rule type = AssignmentType.LRC; @@ -722,7 +723,7 @@ protected class State_0_0_0_1_Assignment_name extends AssignmentToken { } -// (error) +// ( 'actions' '{' ( actions += [ Command ] ) + '}' ) ? protected class State_0_0_1_Group extends GroupToken { public State_0_0_1_Group(IInstanceDescription curr, AbstractToken pred) { @@ -750,7 +751,7 @@ protected class State_0_0_1_Group extends GroupToken { } } -// (error) +// 'actions' '{' ( actions += [ Command ] ) + protected class State_0_0_1_0_Group extends GroupToken { public State_0_0_1_0_Group(IInstanceDescription curr, AbstractToken pred) { @@ -831,7 +832,7 @@ protected class State_0_0_1_0_0_1_Keyword extends KeywordToken { } -// (error) +// ( actions += [ Command ] ) + protected class State_0_0_1_0_1_Assignment_actions extends AssignmentToken { public State_0_0_1_0_1_Assignment_actions(IInstanceDescription curr, AbstractToken pred) { @@ -843,7 +844,7 @@ protected class State_0_0_1_0_1_Assignment_actions extends AssignmentToken { } protected Solution createSolution() { - if((value = current.getConsumable("actions",required)) == null) return null; + if((value = current.getConsumable("actions",!IS_REQUIRED)) == null) return null; IInstanceDescription obj = current.cloneAndConsume("actions"); if(value instanceof EObject) { // xtext::CrossReference IInstanceDescription param = getDescr((EObject)value); @@ -884,7 +885,7 @@ protected class State_0_1_Assignment_transitions extends AssignmentToken { } protected Solution createSolution() { - if((value = current.getConsumable("transitions",required)) == null) return null; + if((value = current.getConsumable("transitions",!IS_REQUIRED)) == null) return null; IInstanceDescription obj = current.cloneAndConsume("transitions"); if(value instanceof EObject) { // xtext::RuleCall IInstanceDescription param = getDescr((EObject)value); @@ -918,12 +919,12 @@ protected class State_1_Keyword_end extends KeywordToken { /************ begin Rule Transition **************** * - * (error) + * Transition : event = [ Event ] '=>' state = [ State ] ; * **/ -// (error) +// event = [ Event ] '=>' state = [ State ] protected class Transition_Group extends GroupToken { public Transition_Group(IInstanceDescription curr, AbstractToken pred) { @@ -951,7 +952,7 @@ protected class Transition_Group extends GroupToken { } } -// (error) +// event = [ Event ] '=>' protected class Transition_0_Group extends GroupToken { public Transition_0_Group(IInstanceDescription curr, AbstractToken pred) { @@ -979,7 +980,7 @@ protected class Transition_0_Group extends GroupToken { } } -// (error) +// event = [ Event ] protected class Transition_0_0_Assignment_event extends AssignmentToken { public Transition_0_0_Assignment_event(IInstanceDescription curr, AbstractToken pred) { @@ -991,7 +992,7 @@ protected class Transition_0_0_Assignment_event extends AssignmentToken { } protected Solution createSolution() { - if((value = current.getConsumable("event",required)) == null) return null; + if((value = current.getConsumable("event",IS_REQUIRED)) == null) return null; IInstanceDescription obj = current.cloneAndConsume("event"); if(value instanceof EObject) { // xtext::CrossReference IInstanceDescription param = getDescr((EObject)value); @@ -1018,7 +1019,7 @@ protected class Transition_0_1_Keyword extends KeywordToken { } -// (error) +// state = [ State ] protected class Transition_1_Assignment_state extends AssignmentToken { public Transition_1_Assignment_state(IInstanceDescription curr, AbstractToken pred) { @@ -1030,7 +1031,7 @@ protected class Transition_1_Assignment_state extends AssignmentToken { } protected Solution createSolution() { - if((value = current.getConsumable("state",required)) == null) return null; + if((value = current.getConsumable("state",IS_REQUIRED)) == null) return null; IInstanceDescription obj = current.cloneAndConsume("state"); if(value instanceof EObject) { // xtext::CrossReference IInstanceDescription param = getDescr((EObject)value); diff --git a/examples/org.eclipse.xtext.example.fowlerdsl/src-gen/org/eclipse/xtext/example/services/FowlerDslGrammarAccess.java b/examples/org.eclipse.xtext.example.fowlerdsl/src-gen/org/eclipse/xtext/example/services/FowlerDslGrammarAccess.java index f3c1f4c..4c101bf 100644 --- a/examples/org.eclipse.xtext.example.fowlerdsl/src-gen/org/eclipse/xtext/example/services/FowlerDslGrammarAccess.java +++ b/examples/org.eclipse.xtext.example.fowlerdsl/src-gen/org/eclipse/xtext/example/services/FowlerDslGrammarAccess.java @@ -36,7 +36,7 @@ public class FowlerDslGrammarAccess extends BaseEPackageAccess implements IGramm // 'events' ( events += Event ) * 'end' 'commands' ( commands += Command ) * 'end' ( states += State ) * public Group eleGroup() { - return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(0)); + return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(1)); } // 'events' ( events += Event ) * 'end' 'commands' ( commands += Command ) * 'end' @@ -133,7 +133,7 @@ public class FowlerDslGrammarAccess extends BaseEPackageAccess implements IGramm // ( resetting ?= 'resetting' ) ? name = ID code = ID public Group eleGroup() { - return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(0)); + return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(1)); } // ( resetting ?= 'resetting' ) ? name = ID @@ -187,7 +187,7 @@ public class FowlerDslGrammarAccess extends BaseEPackageAccess implements IGramm // name = ID code = ID public Group eleGroup() { - return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(0)); + return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(1)); } // name = ID @@ -232,22 +232,22 @@ public class FowlerDslGrammarAccess extends BaseEPackageAccess implements IGramm private RuleCall c010ParserRuleCallTransition; private Keyword c1KeywordEnd; - // (error) + // State : 'state' name = ID ( 'actions' '{' ( actions += [ Command ] ) + '}' ) ? ( transitions += Transition ) * 'end' ; public ParserRule getRule() { return (rule != null) ? rule : (rule = (ParserRule) getGrammar().eContents().get(4)); } - // (error) + // 'state' name = ID ( 'actions' '{' ( actions += [ Command ] ) + '}' ) ? ( transitions += Transition ) * 'end' public Group eleGroup() { - return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(0)); + return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(1)); } - // (error) + // 'state' name = ID ( 'actions' '{' ( actions += [ Command ] ) + '}' ) ? ( transitions += Transition ) * public Group ele0Group() { return (c0Group != null) ? c0Group : (c0Group = (Group)eleGroup().eContents().get(0)); } - // (error) + // 'state' name = ID ( 'actions' '{' ( actions += [ Command ] ) + '}' ) ? public Group ele00Group() { return (c00Group != null) ? c00Group : (c00Group = (Group)ele0Group().eContents().get(0)); } @@ -272,12 +272,12 @@ public class FowlerDslGrammarAccess extends BaseEPackageAccess implements IGramm return (c00010LexerRuleCallID != null) ? c00010LexerRuleCallID : (c00010LexerRuleCallID = (RuleCall)ele0001AssignmentName().eContents().get(0)); } - // (error) + // ( 'actions' '{' ( actions += [ Command ] ) + '}' ) ? public Group ele001Group() { return (c001Group != null) ? c001Group : (c001Group = (Group)ele00Group().eContents().get(1)); } - // (error) + // 'actions' '{' ( actions += [ Command ] ) + public Group ele0010Group() { return (c0010Group != null) ? c0010Group : (c0010Group = (Group)ele001Group().eContents().get(0)); } @@ -297,12 +297,12 @@ public class FowlerDslGrammarAccess extends BaseEPackageAccess implements IGramm return (c001001Keyword != null) ? c001001Keyword : (c001001Keyword = (Keyword)ele00100Group().eContents().get(1)); } - // (error) + // ( actions += [ Command ] ) + public Assignment ele00101AssignmentActions() { return (c00101AssignmentActions != null) ? c00101AssignmentActions : (c00101AssignmentActions = (Assignment)ele0010Group().eContents().get(1)); } - // (error) + // [ Command ] public CrossReference ele001010CrossReferenceCommand() { return (c001010CrossReferenceCommand != null) ? c001010CrossReferenceCommand : (c001010CrossReferenceCommand = (CrossReference)ele00101AssignmentActions().eContents().get(0)); } @@ -338,27 +338,27 @@ public class FowlerDslGrammarAccess extends BaseEPackageAccess implements IGramm private Assignment c1AssignmentState; private CrossReference c10CrossReferenceState; - // (error) + // Transition : event = [ Event ] '=>' state = [ State ] ; public ParserRule getRule() { return (rule != null) ? rule : (rule = (ParserRule) getGrammar().eContents().get(5)); } - // (error) + // event = [ Event ] '=>' state = [ State ] public Group eleGroup() { - return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(0)); + return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(1)); } - // (error) + // event = [ Event ] '=>' public Group ele0Group() { return (c0Group != null) ? c0Group : (c0Group = (Group)eleGroup().eContents().get(0)); } - // (error) + // event = [ Event ] public Assignment ele00AssignmentEvent() { return (c00AssignmentEvent != null) ? c00AssignmentEvent : (c00AssignmentEvent = (Assignment)ele0Group().eContents().get(0)); } - // (error) + // [ Event ] public CrossReference ele000CrossReferenceEvent() { return (c000CrossReferenceEvent != null) ? c000CrossReferenceEvent : (c000CrossReferenceEvent = (CrossReference)ele00AssignmentEvent().eContents().get(0)); } @@ -368,12 +368,12 @@ public class FowlerDslGrammarAccess extends BaseEPackageAccess implements IGramm return (c01Keyword != null) ? c01Keyword : (c01Keyword = (Keyword)ele0Group().eContents().get(1)); } - // (error) + // state = [ State ] public Assignment ele1AssignmentState() { return (c1AssignmentState != null) ? c1AssignmentState : (c1AssignmentState = (Assignment)eleGroup().eContents().get(1)); } - // (error) + // [ State ] public CrossReference ele10CrossReferenceState() { return (c10CrossReferenceState != null) ? c10CrossReferenceState : (c10CrossReferenceState = (CrossReference)ele1AssignmentState().eContents().get(0)); } @@ -419,12 +419,12 @@ public class FowlerDslGrammarAccess extends BaseEPackageAccess implements IGramm return (pCommand != null) ? pCommand : (pCommand = new CommandElements()); } - // (error) + // State : 'state' name = ID ( 'actions' '{' ( actions += [ Command ] ) + '}' ) ? ( transitions += Transition ) * 'end' ; public StateElements prState() { return (pState != null) ? pState : (pState = new StateElements()); } - // (error) + // Transition : event = [ Event ] '=>' state = [ State ] ; public TransitionElements prTransition() { return (pTransition != null) ? pTransition : (pTransition = new TransitionElements()); } diff --git a/plugins/org.eclipse.xtext.ui.common/src/org/eclipse/xtext/ui/common/editor/codecompletion/AbstractProposalProvider.java b/plugins/org.eclipse.xtext.ui.common/src/org/eclipse/xtext/ui/common/editor/codecompletion/AbstractProposalProvider.java index 3d84e4a..86b5465 100644 --- a/plugins/org.eclipse.xtext.ui.common/src/org/eclipse/xtext/ui/common/editor/codecompletion/AbstractProposalProvider.java +++ b/plugins/org.eclipse.xtext.ui.common/src/org/eclipse/xtext/ui/common/editor/codecompletion/AbstractProposalProvider.java @@ -195,7 +195,7 @@ public abstract class AbstractProposalProvider implements IProposalProvider { String trimmedPrefix = prefix.trim(); for (IScopedElement candidate : candidates) { - if (isCandidateMatchingPrefix(model, ref, candidate, trimmedPrefix)) { + if (candidate.name() != null && isCandidateMatchingPrefix(model, ref, candidate, trimmedPrefix)) { completionProposalList.add( createCompletionProposal(crossReference, model, candidate.name(), offset)); } @@ -206,7 +206,7 @@ public abstract class AbstractProposalProvider implements IProposalProvider { } protected boolean isCandidateMatchingPrefix(EObject model, EReference ref, IScopedElement candidate, String prefix) { - return candidate.name().regionMatches(true, 0, prefix, 0, prefix.length()); + return Strings.emptyIfNull(candidate.name()).regionMatches(true, 0, prefix, 0, prefix.length()); } protected String getLabel(EObject candidate, EReference ref, EObject context) { diff --git a/plugins/org.eclipse.xtext.ui.common/src/org/eclipse/xtext/ui/common/editor/codecompletion/DefaultContentAssistProcessor.java b/plugins/org.eclipse.xtext.ui.common/src/org/eclipse/xtext/ui/common/editor/codecompletion/DefaultContentAssistProcessor.java index 698773c..a5a3f75 100644 --- a/plugins/org.eclipse.xtext.ui.common/src/org/eclipse/xtext/ui/common/editor/codecompletion/DefaultContentAssistProcessor.java +++ b/plugins/org.eclipse.xtext.ui.common/src/org/eclipse/xtext/ui/common/editor/codecompletion/DefaultContentAssistProcessor.java @@ -84,7 +84,7 @@ public class DefaultContentAssistProcessor implements IContentAssistProcessor { AbstractNode lastCompleteNode = ParseTreeUtil.getLastCompleteNodeByOffset(rootNode, offset); - AbstractNode currentNode = ParseTreeUtil.getCurrentNodeByOffset(rootNode, offset); + AbstractNode currentNode = ParseTreeUtil.getCurrentOrFollowingNodeByOffset(rootNode, offset); String prefix = calculatePrefix(viewer, offset, currentNode); diff --git a/plugins/org.eclipse.xtext.ui.common/src/org/eclipse/xtext/ui/common/editor/codecompletion/ProposalProviderInvokerSwitch.java b/plugins/org.eclipse.xtext.ui.common/src/org/eclipse/xtext/ui/common/editor/codecompletion/ProposalProviderInvokerSwitch.java index 924aba2..80041c2 100644 --- a/plugins/org.eclipse.xtext.ui.common/src/org/eclipse/xtext/ui/common/editor/codecompletion/ProposalProviderInvokerSwitch.java +++ b/plugins/org.eclipse.xtext.ui.common/src/org/eclipse/xtext/ui/common/editor/codecompletion/ProposalProviderInvokerSwitch.java @@ -147,7 +147,7 @@ public class ProposalProviderInvokerSwitch extends XtextSwitch<List<ICompletionP TypeRef typeRef = calledRule.getType(); Method method = findMethod(proposalProvider.getClass(), "complete" - + firstLetterCapitalized(typeRef.getMetamodel().getAlias()) + firstLetterCapitalized(typeRef.getName()), + + firstLetterCapitalized(typeRef.getMetamodel().getAlias()) + firstLetterCapitalized(typeRef.getType().getName()), RuleCall.class, model==null? EObject.class : model.getClass(), String.class, document.getClass(), int.class); Collection<? extends ICompletionProposal> proposalList = null == method ? null : invokeMethod(method, diff --git a/plugins/org.eclipse.xtext.ui.common/src/org/eclipse/xtext/ui/common/editor/outline/EditorSelectionChangedListener.java b/plugins/org.eclipse.xtext.ui.common/src/org/eclipse/xtext/ui/common/editor/outline/EditorSelectionChangedListener.java index 64aa662..7ef20c1 100644 --- a/plugins/org.eclipse.xtext.ui.common/src/org/eclipse/xtext/ui/common/editor/outline/EditorSelectionChangedListener.java +++ b/plugins/org.eclipse.xtext.ui.common/src/org/eclipse/xtext/ui/common/editor/outline/EditorSelectionChangedListener.java @@ -45,7 +45,7 @@ public final class EditorSelectionChangedListener extends AbstractSelectionChang // Get the current element from the offset int offset = textSel.getOffset(); - AbstractNode node = ParseTreeUtil.getCurrentNodeByOffset(rootNode, offset); + AbstractNode node = ParseTreeUtil.getCurrentOrPrecedingNodeByOffset(rootNode, offset); // Synchronize the outline page outlinePage.synchronizeOutlinePage(node); diff --git a/plugins/org.eclipse.xtext.ui.common/src/org/eclipse/xtext/ui/common/editor/outline/XtextContentOutlinePage.java b/plugins/org.eclipse.xtext.ui.common/src/org/eclipse/xtext/ui/common/editor/outline/XtextContentOutlinePage.java index 91313d2..8f70113 100644 --- a/plugins/org.eclipse.xtext.ui.common/src/org/eclipse/xtext/ui/common/editor/outline/XtextContentOutlinePage.java +++ b/plugins/org.eclipse.xtext.ui.common/src/org/eclipse/xtext/ui/common/editor/outline/XtextContentOutlinePage.java @@ -205,8 +205,8 @@ public class XtextContentOutlinePage extends ContentOutlinePage implements ICont ISelection selection = StructuredSelection.EMPTY; if (shouldSynchronizeOutlinePage()) { - if (node != null && node instanceof LeafNode) { - CompositeNode compositeNode = node.getParent(); + if (node != null) { + CompositeNode compositeNode = node instanceof CompositeNode? (CompositeNode) node : node.getParent(); EObject astElement = NodeUtil.getASTElementForRootNode(compositeNode); if (astElement != null) { URI uri = EcoreUtil.getURI(astElement); diff --git a/plugins/org.eclipse.xtext.ui.core/src/org/eclipse/xtext/ui/core/editor/XtextHyperlinkDetector.java b/plugins/org.eclipse.xtext.ui.core/src/org/eclipse/xtext/ui/core/editor/XtextHyperlinkDetector.java index ec3ff47..6b199ed 100644 --- a/plugins/org.eclipse.xtext.ui.core/src/org/eclipse/xtext/ui/core/editor/XtextHyperlinkDetector.java +++ b/plugins/org.eclipse.xtext.ui.core/src/org/eclipse/xtext/ui/core/editor/XtextHyperlinkDetector.java @@ -31,7 +31,6 @@ import org.eclipse.ui.ide.IDE; import org.eclipse.ui.texteditor.ITextEditor; import org.eclipse.xtext.CrossReference; import org.eclipse.xtext.GrammarUtil; -import org.eclipse.xtext.crossref.ILinkingService; import org.eclipse.xtext.parser.IParseResult; import org.eclipse.xtext.parsetree.CompositeNode; import org.eclipse.xtext.parsetree.LeafNode; @@ -56,12 +55,6 @@ public class XtextHyperlinkDetector implements IHyperlinkDetector { // logger available to subclasses protected final Logger logger = Logger.getLogger(getClass()); - private ILinkingService linkingService; - - public XtextHyperlinkDetector(ILinkingService linkingService) { - this.linkingService = linkingService; - } - /* * (non-Javadoc) * @@ -72,18 +65,29 @@ public class XtextHyperlinkDetector implements IHyperlinkDetector { */ public IHyperlink[] detectHyperlinks(ITextViewer textViewer, IRegion region, boolean canShowMultipleHyperlinks) { + // TODO: should all of this be part of the read transaction? CompositeNode rootNode = getRootNode(textViewer.getDocument()); - LeafNode currentNode = (LeafNode) ParseTreeUtil.getCurrentNodeByOffset(rootNode, region.getOffset()); + LeafNode currentNode = (LeafNode) ParseTreeUtil.getCurrentOrFollowingNodeByOffset(rootNode, region.getOffset()); if (currentNode.getGrammarElement() instanceof CrossReference) { EObject semanticModel = NodeUtil.getNearestSemanticObject(currentNode); EReference eReference = GrammarUtil.getReference((CrossReference) currentNode.getGrammarElement(), semanticModel.eClass()); - List<EObject> linkedObjects = this.linkingService.getLinkedObjects(semanticModel, eReference, currentNode); + EObject linkMe = null; + if (eReference.isMany()) { + List<?> values = (List<?>) semanticModel.eGet(eReference); + if (!values.isEmpty() && values.get(0) instanceof EObject) + linkMe = (EObject) values.get(0); + } else { + Object value = semanticModel.eGet(eReference); + if (value instanceof EObject) + linkMe = (EObject) value; + } +// List<EObject> linkedObjects = this.linkingService.getLinkedObjects(semanticModel, eReference, currentNode); - if (!linkedObjects.isEmpty()) { - return createXtextHyperlink(currentNode, linkedObjects.iterator().next()); + if (linkMe != null) { + return createXtextHyperlink(currentNode, linkMe); } } diff --git a/plugins/org.eclipse.xtext.ui.core/src/org/eclipse/xtext/ui/core/editor/XtextSourceViewerConfiguration.java b/plugins/org.eclipse.xtext.ui.core/src/org/eclipse/xtext/ui/core/editor/XtextSourceViewerConfiguration.java index d63ba88..1e2296e 100644 --- a/plugins/org.eclipse.xtext.ui.core/src/org/eclipse/xtext/ui/core/editor/XtextSourceViewerConfiguration.java +++ b/plugins/org.eclipse.xtext.ui.core/src/org/eclipse/xtext/ui/core/editor/XtextSourceViewerConfiguration.java @@ -18,7 +18,6 @@ import org.eclipse.jface.text.rules.DefaultDamagerRepairer; import org.eclipse.jface.text.rules.ITokenScanner; import org.eclipse.jface.text.source.ISourceViewer; import org.eclipse.ui.editors.text.TextSourceViewerConfiguration; -import org.eclipse.xtext.crossref.ILinkingService; import org.eclipse.xtext.service.Inject; import org.eclipse.xtext.ui.core.editor.reconciler.XtextDocumentReconcileStrategy; import org.eclipse.xtext.ui.core.editor.reconciler.XtextReconciler; @@ -30,9 +29,6 @@ public class XtextSourceViewerConfiguration extends TextSourceViewerConfiguratio @Inject(optional = true) private IContentAssistProcessor contentAssistProcessor; - - @Inject(optional = true) - private ILinkingService linkingService; @Inject(optional = true) private ITokenScanner tokenScanner; @@ -55,8 +51,6 @@ public class XtextSourceViewerConfiguration extends TextSourceViewerConfiguratio xtextReconciler.setDelay(500); return xtextReconciler; } - - @Override public IPresentationReconciler getPresentationReconciler(ISourceViewer sourceViewer) { @@ -94,7 +88,7 @@ public class XtextSourceViewerConfiguration extends TextSourceViewerConfiguratio }); } } - detectors.add(new XtextHyperlinkDetector(this.linkingService)); + detectors.add(new XtextHyperlinkDetector()); return detectors.toArray(new IHyperlinkDetector[detectors.size()]); } diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/AbstractXtextGrammarTestLanguageRuntimeConfig.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/AbstractXtextGrammarTestLanguageRuntimeConfig.java index 1d1c109..2da43f2 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/AbstractXtextGrammarTestLanguageRuntimeConfig.java +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/AbstractXtextGrammarTestLanguageRuntimeConfig.java @@ -9,14 +9,14 @@ import org.eclipse.xtext.service.AbstractServiceRegistrationFactory; */ public abstract class AbstractXtextGrammarTestLanguageRuntimeConfig extends AbstractServiceRegistrationFactory { - protected Class<? extends org.eclipse.xtext.IGrammarAccess> getIGrammarAccess() { - return org.eclipse.xtext.services.XtextGrammarTestLanguageGrammarAccess.class; - } - protected Class<? extends org.eclipse.xtext.IMetamodelAccess> getIMetamodelAccess() { return org.eclipse.xtext.services.XtextGrammarTestLanguageMetamodelAccess.class; } + protected Class<? extends org.eclipse.xtext.IGrammarAccess> getIGrammarAccess() { + return org.eclipse.xtext.services.XtextGrammarTestLanguageGrammarAccess.class; + } + protected Class<? extends org.eclipse.xtext.parser.IAstFactory> getIAstFactory() { return org.eclipse.xtext.parser.GenericEcoreElementFactory.class; } @@ -56,8 +56,8 @@ public abstract class AbstractXtextGrammarTestLanguageRuntimeConfig extends Abst public Set<IServiceRegistration> registrations() { return scope(org.eclipse.xtext.IXtextGrammarTestLanguage.SCOPE) - .with(org.eclipse.xtext.IGrammarAccess.class, getIGrammarAccess()) .with(org.eclipse.xtext.IMetamodelAccess.class, getIMetamodelAccess()) + .with(org.eclipse.xtext.IGrammarAccess.class, getIGrammarAccess()) .with(org.eclipse.xtext.parser.IAstFactory.class, getIAstFactory()) .with(org.eclipse.xtext.parser.IParser.class, getIParser()) .with(org.eclipse.xtext.parser.antlr.IAntlrTokenFileProvider.class, getIAntlrTokenFileProvider()) diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/XtextGrammarTestLanguage.xmi b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/XtextGrammarTestLanguage.xmi index 3231399..3ad65b4 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/XtextGrammarTestLanguage.xmi +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/XtextGrammarTestLanguage.xmi @@ -1,11 +1,15 @@ <?xml version="1.0" encoding="ASCII"?> -<xtext:Grammar xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xtext="http://www.eclipse.org/2008/Xtext"> +<xtext:Grammar xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:xtext="http://www.eclipse.org/2008/Xtext"> <idElements>org</idElements> <idElements>eclipse</idElements> <idElements>xtext</idElements> <idElements>XtextGrammarTestLanguage</idElements> <metamodelDeclarations xsi:type="xtext:GeneratedMetamodel" name="XtextTest" nsURI="http://www.eclipse.org/2008/Test/XtextTest"/> + <metamodelDeclarations xsi:type="xtext:ReferencedMetamodel" alias="ecore" uri="http://www.eclipse.org/emf/2002/Ecore"/> <rules xsi:type="xtext:ParserRule" name="Grammar"> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://www.eclipse.org/2008/Test/XtextTest#//Grammar"/> + </type> <alternatives xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Group"> @@ -61,18 +65,27 @@ </alternatives> </rules> <rules xsi:type="xtext:ParserRule" name="AbstractRule"> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://www.eclipse.org/2008/Test/XtextTest#//AbstractRule"/> + </type> <alternatives xsi:type="xtext:Alternatives"> <groups xsi:type="xtext:RuleCall" rule="//@rules.5"/> <groups xsi:type="xtext:RuleCall" rule="//@rules.6"/> </alternatives> </rules> <rules xsi:type="xtext:ParserRule" name="AbstractMetamodelDeclaration"> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://www.eclipse.org/2008/Test/XtextTest#//AbstractMetamodelDeclaration"/> + </type> <alternatives xsi:type="xtext:Alternatives"> <groups xsi:type="xtext:RuleCall" rule="//@rules.3"/> <groups xsi:type="xtext:RuleCall" rule="//@rules.4"/> </alternatives> </rules> <rules xsi:type="xtext:ParserRule" name="GeneratedMetamodel"> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://www.eclipse.org/2008/Test/XtextTest#//GeneratedMetamodel"/> + </type> <alternatives xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Group"> @@ -100,6 +113,9 @@ </alternatives> </rules> <rules xsi:type="xtext:ParserRule" name="ReferencedMetamodel"> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://www.eclipse.org/2008/Test/XtextTest#//ReferencedMetamodel"/> + </type> <alternatives xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Keyword" value="import"/> @@ -120,6 +136,9 @@ </alternatives> </rules> <rules xsi:type="xtext:ParserRule" name="LexerRule"> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://www.eclipse.org/2008/Test/XtextTest#//LexerRule"/> + </type> <alternatives xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Group"> @@ -154,6 +173,9 @@ </alternatives> </rules> <rules xsi:type="xtext:ParserRule" name="ParserRule"> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://www.eclipse.org/2008/Test/XtextTest#//ParserRule"/> + </type> <alternatives xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Group"> @@ -180,30 +202,41 @@ </alternatives> </rules> <rules xsi:type="xtext:ParserRule" name="TypeRef"> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://www.eclipse.org/2008/Test/XtextTest#//TypeRef"/> + </type> <alternatives xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Group" cardinality="?"> - <abstractTokens xsi:type="xtext:Assignment" feature="alias" operator="="> - <terminal xsi:type="xtext:RuleCall"> - <rule href="classpath:/org/eclipse/xtext/builtin/XtextBuiltin.xmi#//@rules.0"/> + <abstractTokens xsi:type="xtext:Assignment" feature="metamodel" operator="="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://www.eclipse.org/2008/Test/XtextTest#//AbstractMetamodelDeclaration"/> + </type> </terminal> </abstractTokens> <abstractTokens xsi:type="xtext:Keyword" value="::"/> </abstractTokens> - <abstractTokens xsi:type="xtext:Assignment" feature="name" operator="="> - <terminal xsi:type="xtext:RuleCall"> - <rule href="classpath:/org/eclipse/xtext/builtin/XtextBuiltin.xmi#//@rules.0"/> + <abstractTokens xsi:type="xtext:Assignment" feature="type" operator="="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="//@metamodelDeclarations.1"> + <type xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EClassifier"/> + </type> </terminal> </abstractTokens> </alternatives> </rules> <rules xsi:type="xtext:ParserRule" name="Alternatives"> - <type metamodel="//@metamodelDeclarations.0" name="AbstractElement"/> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://www.eclipse.org/2008/Test/XtextTest#//AbstractElement"/> + </type> <alternatives xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:RuleCall" rule="//@rules.9"/> <abstractTokens xsi:type="xtext:Group" cardinality="*"> <abstractTokens xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Action" feature="groups" operator="+="> - <typeName metamodel="//@metamodelDeclarations.0" name="Alternatives"/> + <typeName metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://www.eclipse.org/2008/Test/XtextTest#//Alternatives"/> + </typeName> </abstractTokens> <abstractTokens xsi:type="xtext:Keyword" value="|"/> </abstractTokens> @@ -214,12 +247,16 @@ </alternatives> </rules> <rules xsi:type="xtext:ParserRule" name="Group"> - <type metamodel="//@metamodelDeclarations.0" name="AbstractElement"/> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://www.eclipse.org/2008/Test/XtextTest#//AbstractElement"/> + </type> <alternatives xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:RuleCall" rule="//@rules.10"/> <abstractTokens xsi:type="xtext:Group" cardinality="*"> <abstractTokens xsi:type="xtext:Action" feature="abstractTokens" operator="+="> - <typeName metamodel="//@metamodelDeclarations.0" name="Group"/> + <typeName metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://www.eclipse.org/2008/Test/XtextTest#//Group"/> + </typeName> </abstractTokens> <abstractTokens xsi:type="xtext:Assignment" feature="abstractTokens" operator="+="> <terminal xsi:type="xtext:RuleCall" rule="//@rules.10"/> @@ -228,7 +265,9 @@ </alternatives> </rules> <rules xsi:type="xtext:ParserRule" name="AbstractToken"> - <type metamodel="//@metamodelDeclarations.0" name="AbstractElement"/> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://www.eclipse.org/2008/Test/XtextTest#//AbstractElement"/> + </type> <alternatives xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Alternatives"> <groups xsi:type="xtext:Alternatives"> @@ -249,7 +288,9 @@ </alternatives> </rules> <rules xsi:type="xtext:ParserRule" name="Assignment"> - <type metamodel="//@metamodelDeclarations.0" name="Assignment"/> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://www.eclipse.org/2008/Test/XtextTest#//Assignment"/> + </type> <alternatives xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Assignment" feature="feature" operator="="> @@ -273,7 +314,9 @@ </alternatives> </rules> <rules xsi:type="xtext:ParserRule" name="Action"> - <type metamodel="//@metamodelDeclarations.0" name="Action"/> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://www.eclipse.org/2008/Test/XtextTest#//Action"/> + </type> <alternatives xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Group"> @@ -312,7 +355,9 @@ </alternatives> </rules> <rules xsi:type="xtext:ParserRule" name="AbstractTerminal"> - <type metamodel="//@metamodelDeclarations.0" name="AbstractElement"/> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://www.eclipse.org/2008/Test/XtextTest#//AbstractElement"/> + </type> <alternatives xsi:type="xtext:Alternatives"> <groups xsi:type="xtext:Alternatives"> <groups xsi:type="xtext:Alternatives"> @@ -325,6 +370,9 @@ </alternatives> </rules> <rules xsi:type="xtext:ParserRule" name="CrossReference"> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://www.eclipse.org/2008/Test/XtextTest#//CrossReference"/> + </type> <alternatives xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Group"> @@ -337,7 +385,9 @@ <abstractTokens xsi:type="xtext:Keyword" value="|"/> <abstractTokens xsi:type="xtext:Assignment" feature="rule" operator="="> <terminal xsi:type="xtext:CrossReference"> - <type metamodel="//@metamodelDeclarations.0" name="LexerRule"/> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://www.eclipse.org/2008/Test/XtextTest#//AbstractRule"/> + </type> </terminal> </abstractTokens> </abstractTokens> @@ -346,7 +396,9 @@ </alternatives> </rules> <rules xsi:type="xtext:ParserRule" name="ParenthesizedElement"> - <type metamodel="//@metamodelDeclarations.0" name="AbstractElement"/> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://www.eclipse.org/2008/Test/XtextTest#//AbstractElement"/> + </type> <alternatives xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Keyword" value="("/> @@ -356,6 +408,9 @@ </alternatives> </rules> <rules xsi:type="xtext:ParserRule" name="Keyword"> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://www.eclipse.org/2008/Test/XtextTest#//Keyword"/> + </type> <alternatives xsi:type="xtext:Assignment" feature="value" operator="="> <terminal xsi:type="xtext:RuleCall"> <rule href="classpath:/org/eclipse/xtext/builtin/XtextBuiltin.xmi#//@rules.2"/> @@ -363,9 +418,14 @@ </alternatives> </rules> <rules xsi:type="xtext:ParserRule" name="RuleCall"> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://www.eclipse.org/2008/Test/XtextTest#//RuleCall"/> + </type> <alternatives xsi:type="xtext:Assignment" feature="rule" operator="="> <terminal xsi:type="xtext:CrossReference"> - <type metamodel="//@metamodelDeclarations.0" name="AbstractRule"/> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://www.eclipse.org/2008/Test/XtextTest#//AbstractRule"/> + </type> </terminal> </alternatives> </rules> diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/XtextTest.ecore b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/XtextTest.ecore index 50079e4..e39b7fa 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/XtextTest.ecore +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/XtextTest.ecore @@ -19,14 +19,6 @@ </eStructuralFeatures> <eStructuralFeatures xsi:type="ecore:EReference" name="type" eType="//TypeRef" containment="true"/> </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="LexerRule" eSuperTypes="//AbstractRule"> - <eStructuralFeatures xsi:type="ecore:EAttribute" name="body"> - <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> - </eStructuralFeatures> - </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="ParserRule" eSuperTypes="//AbstractRule"> - <eStructuralFeatures xsi:type="ecore:EReference" name="alternatives" eType="//AbstractElement" containment="true"/> - </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="AbstractMetamodelDeclaration"> <eStructuralFeatures xsi:type="ecore:EAttribute" name="alias"> <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> @@ -45,12 +37,18 @@ <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> </eStructuralFeatures> </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="TypeRef"> - <eStructuralFeatures xsi:type="ecore:EAttribute" name="alias"> + <eClassifiers xsi:type="ecore:EClass" name="LexerRule" eSuperTypes="//AbstractRule"> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="body"> <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EAttribute" name="name"> - <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="ParserRule" eSuperTypes="//AbstractRule"> + <eStructuralFeatures xsi:type="ecore:EReference" name="alternatives" eType="//AbstractElement" containment="true"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="TypeRef"> + <eStructuralFeatures xsi:type="ecore:EReference" name="metamodel" eType="//AbstractMetamodelDeclaration"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="type"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EClassifier"/> </eStructuralFeatures> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="AbstractElement"> @@ -58,12 +56,6 @@ <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> </eStructuralFeatures> </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="Alternatives" eSuperTypes="//AbstractElement"> - <eStructuralFeatures xsi:type="ecore:EReference" name="groups" upperBound="-1" eType="//AbstractElement" containment="true"/> - </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="Group" eSuperTypes="//AbstractElement"> - <eStructuralFeatures xsi:type="ecore:EReference" name="abstractTokens" upperBound="-1" eType="//AbstractElement" containment="true"/> - </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="Assignment" eSuperTypes="//AbstractElement"> <eStructuralFeatures xsi:type="ecore:EAttribute" name="feature"> <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> @@ -82,6 +74,10 @@ <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> </eStructuralFeatures> </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="CrossReference" eSuperTypes="//AbstractElement"> + <eStructuralFeatures xsi:type="ecore:EReference" name="type" eType="//TypeRef" containment="true"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="rule" eType="//AbstractRule"/> + </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="Keyword" eSuperTypes="//AbstractElement"> <eStructuralFeatures xsi:type="ecore:EAttribute" name="value"> <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> @@ -90,8 +86,10 @@ <eClassifiers xsi:type="ecore:EClass" name="RuleCall" eSuperTypes="//AbstractElement"> <eStructuralFeatures xsi:type="ecore:EReference" name="rule" eType="//AbstractRule"/> </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="CrossReference" eSuperTypes="//AbstractElement"> - <eStructuralFeatures xsi:type="ecore:EReference" name="type" eType="//TypeRef" containment="true"/> - <eStructuralFeatures xsi:type="ecore:EReference" name="rule" eType="//LexerRule"/> + <eClassifiers xsi:type="ecore:EClass" name="Alternatives" eSuperTypes="//AbstractElement"> + <eStructuralFeatures xsi:type="ecore:EReference" name="groups" upperBound="-1" eType="//AbstractElement" containment="true"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Group" eSuperTypes="//AbstractElement"> + <eStructuralFeatures xsi:type="ecore:EReference" name="abstractTokens" upperBound="-1" eType="//AbstractElement" containment="true"/> </eClassifiers> </ecore:EPackage> diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/crossrefs/AbstractImportUriTestLanguageRuntimeConfig.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/crossrefs/AbstractImportUriTestLanguageRuntimeConfig.java index abe69ed..a664faf 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/crossrefs/AbstractImportUriTestLanguageRuntimeConfig.java +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/crossrefs/AbstractImportUriTestLanguageRuntimeConfig.java @@ -9,14 +9,14 @@ import org.eclipse.xtext.service.AbstractServiceRegistrationFactory; */ public abstract class AbstractImportUriTestLanguageRuntimeConfig extends AbstractServiceRegistrationFactory { - protected Class<? extends org.eclipse.xtext.IGrammarAccess> getIGrammarAccess() { - return org.eclipse.xtext.crossrefs.services.ImportUriTestLanguageGrammarAccess.class; - } - protected Class<? extends org.eclipse.xtext.IMetamodelAccess> getIMetamodelAccess() { return org.eclipse.xtext.crossrefs.services.ImportUriTestLanguageMetamodelAccess.class; } + protected Class<? extends org.eclipse.xtext.IGrammarAccess> getIGrammarAccess() { + return org.eclipse.xtext.crossrefs.services.ImportUriTestLanguageGrammarAccess.class; + } + protected Class<? extends org.eclipse.xtext.parser.IAstFactory> getIAstFactory() { return org.eclipse.xtext.parser.GenericEcoreElementFactory.class; } @@ -56,8 +56,8 @@ public abstract class AbstractImportUriTestLanguageRuntimeConfig extends Abstrac public Set<IServiceRegistration> registrations() { return scope(org.eclipse.xtext.crossrefs.IImportUriTestLanguage.SCOPE) - .with(org.eclipse.xtext.IGrammarAccess.class, getIGrammarAccess()) .with(org.eclipse.xtext.IMetamodelAccess.class, getIMetamodelAccess()) + .with(org.eclipse.xtext.IGrammarAccess.class, getIGrammarAccess()) .with(org.eclipse.xtext.parser.IAstFactory.class, getIAstFactory()) .with(org.eclipse.xtext.parser.IParser.class, getIParser()) .with(org.eclipse.xtext.parser.antlr.IAntlrTokenFileProvider.class, getIAntlrTokenFileProvider()) diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/crossrefs/AbstractLangATestLanguageRuntimeConfig.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/crossrefs/AbstractLangATestLanguageRuntimeConfig.java index 13e396b..72ce481 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/crossrefs/AbstractLangATestLanguageRuntimeConfig.java +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/crossrefs/AbstractLangATestLanguageRuntimeConfig.java @@ -9,14 +9,14 @@ import org.eclipse.xtext.service.AbstractServiceRegistrationFactory; */ public abstract class AbstractLangATestLanguageRuntimeConfig extends AbstractServiceRegistrationFactory { - protected Class<? extends org.eclipse.xtext.IGrammarAccess> getIGrammarAccess() { - return org.eclipse.xtext.crossrefs.services.LangATestLanguageGrammarAccess.class; - } - protected Class<? extends org.eclipse.xtext.IMetamodelAccess> getIMetamodelAccess() { return org.eclipse.xtext.crossrefs.services.LangATestLanguageMetamodelAccess.class; } + protected Class<? extends org.eclipse.xtext.IGrammarAccess> getIGrammarAccess() { + return org.eclipse.xtext.crossrefs.services.LangATestLanguageGrammarAccess.class; + } + protected Class<? extends org.eclipse.xtext.parser.IAstFactory> getIAstFactory() { return org.eclipse.xtext.parser.GenericEcoreElementFactory.class; } @@ -56,8 +56,8 @@ public abstract class AbstractLangATestLanguageRuntimeConfig extends AbstractSer public Set<IServiceRegistration> registrations() { return scope(org.eclipse.xtext.crossrefs.ILangATestLanguage.SCOPE) - .with(org.eclipse.xtext.IGrammarAccess.class, getIGrammarAccess()) .with(org.eclipse.xtext.IMetamodelAccess.class, getIMetamodelAccess()) + .with(org.eclipse.xtext.IGrammarAccess.class, getIGrammarAccess()) .with(org.eclipse.xtext.parser.IAstFactory.class, getIAstFactory()) .with(org.eclipse.xtext.parser.IParser.class, getIParser()) .with(org.eclipse.xtext.parser.antlr.IAntlrTokenFileProvider.class, getIAntlrTokenFileProvider()) diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/crossrefs/ImportUriTestLanguage.xmi b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/crossrefs/ImportUriTestLanguage.xmi index 35ce9a2..0d5a9e2 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/crossrefs/ImportUriTestLanguage.xmi +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/crossrefs/ImportUriTestLanguage.xmi @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="ASCII"?> -<xtext:Grammar xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xtext="http://www.eclipse.org/2008/Xtext"> +<xtext:Grammar xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:xtext="http://www.eclipse.org/2008/Xtext"> <idElements>org</idElements> <idElements>eclipse</idElements> <idElements>xtext</idElements> @@ -7,6 +7,9 @@ <idElements>ImportUriTestLanguage</idElements> <metamodelDeclarations xsi:type="xtext:GeneratedMetamodel" name="importedURI" nsURI="http://eclipse.org/xtext/importUriTestLanguage"/> <rules xsi:type="xtext:ParserRule" name="Main"> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://eclipse.org/xtext/importUriTestLanguage#//Main"/> + </type> <alternatives xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Assignment" cardinality="*" feature="imports" operator="+="> <terminal xsi:type="xtext:RuleCall" rule="//@rules.1"/> @@ -17,6 +20,9 @@ </alternatives> </rules> <rules xsi:type="xtext:ParserRule" name="Import"> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://eclipse.org/xtext/importUriTestLanguage#//Import"/> + </type> <alternatives xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Keyword" value="import"/> <abstractTokens xsi:type="xtext:Assignment" feature="importURI" operator="="> @@ -27,6 +33,9 @@ </alternatives> </rules> <rules xsi:type="xtext:ParserRule" name="Type"> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://eclipse.org/xtext/importUriTestLanguage#//Type"/> + </type> <alternatives xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Group"> @@ -41,7 +50,9 @@ </abstractTokens> <abstractTokens xsi:type="xtext:Assignment" feature="extends" operator="="> <terminal xsi:type="xtext:CrossReference"> - <type metamodel="//@metamodelDeclarations.0" name="Type"/> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://eclipse.org/xtext/importUriTestLanguage#//Type"/> + </type> </terminal> </abstractTokens> </alternatives> diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/crossrefs/LangATestLanguage.xmi b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/crossrefs/LangATestLanguage.xmi index aea02b1..e29a553 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/crossrefs/LangATestLanguage.xmi +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/crossrefs/LangATestLanguage.xmi @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="ASCII"?> -<xtext:Grammar xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xtext="http://www.eclipse.org/2008/Xtext"> +<xtext:Grammar xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:xtext="http://www.eclipse.org/2008/Xtext"> <idElements>org</idElements> <idElements>eclipse</idElements> <idElements>xtext</idElements> @@ -7,6 +7,9 @@ <idElements>LangATestLanguage</idElements> <metamodelDeclarations xsi:type="xtext:GeneratedMetamodel" name="langATestLanguage" nsURI="http://eclipse.org/xtext/langATestLanguage"/> <rules xsi:type="xtext:ParserRule" name="Main"> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://eclipse.org/xtext/langATestLanguage#//Main"/> + </type> <alternatives xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Assignment" cardinality="*" feature="imports" operator="+="> <terminal xsi:type="xtext:RuleCall" rule="//@rules.1"/> @@ -17,6 +20,9 @@ </alternatives> </rules> <rules xsi:type="xtext:ParserRule" name="Import"> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://eclipse.org/xtext/langATestLanguage#//Import"/> + </type> <alternatives xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Keyword" value="import"/> <abstractTokens xsi:type="xtext:Assignment" feature="uri" operator="="> @@ -27,6 +33,9 @@ </alternatives> </rules> <rules xsi:type="xtext:ParserRule" name="Type"> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://eclipse.org/xtext/langATestLanguage#//Type"/> + </type> <alternatives xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Group"> @@ -41,7 +50,9 @@ </abstractTokens> <abstractTokens xsi:type="xtext:Assignment" feature="extends" operator="="> <terminal xsi:type="xtext:CrossReference"> - <type metamodel="//@metamodelDeclarations.0" name="Type"/> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://eclipse.org/xtext/langATestLanguage#//Type"/> + </type> </terminal> </abstractTokens> </alternatives> diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguageLexer.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguageLexer.java index 6794932..77487a7 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguageLexer.java +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguageLexer.java @@ -1,4 +1,4 @@ -// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g 2008-12-08 18:03:00 +// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g 2008-12-10 12:15:46 package org.eclipse.xtext.crossrefs.parser.internal; diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguageParser.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguageParser.java index fdd4cc9..1c2a508 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguageParser.java +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguageParser.java @@ -1,4 +1,4 @@ -// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g 2008-12-08 18:03:00 +// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g 2008-12-10 12:15:45 package org.eclipse.xtext.crossrefs.parser.internal; diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguageLexer.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguageLexer.java index ae71b82..a7a2494 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguageLexer.java +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguageLexer.java @@ -1,4 +1,4 @@ -// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g 2008-12-08 18:02:47 +// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g 2008-12-10 12:15:32 package org.eclipse.xtext.crossrefs.parser.internal; diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguageParser.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguageParser.java index 3080641..63d1a24 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguageParser.java +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguageParser.java @@ -1,4 +1,4 @@ -// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g 2008-12-08 18:02:47 +// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g 2008-12-10 12:15:32 package org.eclipse.xtext.crossrefs.parser.internal; diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/crossrefs/services/ImportUriTestLanguageGrammarAccess.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/crossrefs/services/ImportUriTestLanguageGrammarAccess.java index 4ba4b69..87626e5 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/crossrefs/services/ImportUriTestLanguageGrammarAccess.java +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/crossrefs/services/ImportUriTestLanguageGrammarAccess.java @@ -25,7 +25,7 @@ public class ImportUriTestLanguageGrammarAccess extends BaseEPackageAccess imple // ( imports += Import ) * ( types += Type ) * public Group eleGroup() { - return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(0)); + return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(1)); } // ( imports += Import ) * @@ -63,7 +63,7 @@ public class ImportUriTestLanguageGrammarAccess extends BaseEPackageAccess imple // 'import' importURI = STRING public Group eleGroup() { - return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(0)); + return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(1)); } // 'import' @@ -101,7 +101,7 @@ public class ImportUriTestLanguageGrammarAccess extends BaseEPackageAccess imple // 'type' name = ID 'extends' ^extends = [ Type ] public Group eleGroup() { - return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(0)); + return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(1)); } // 'type' name = ID 'extends' diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/crossrefs/services/LangATestLanguageGrammarAccess.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/crossrefs/services/LangATestLanguageGrammarAccess.java index 084791d..25b0052 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/crossrefs/services/LangATestLanguageGrammarAccess.java +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/crossrefs/services/LangATestLanguageGrammarAccess.java @@ -25,7 +25,7 @@ public class LangATestLanguageGrammarAccess extends BaseEPackageAccess implement // ( imports += Import ) * ( types += Type ) * public Group eleGroup() { - return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(0)); + return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(1)); } // ( imports += Import ) * @@ -63,7 +63,7 @@ public class LangATestLanguageGrammarAccess extends BaseEPackageAccess implement // 'import' uri = STRING public Group eleGroup() { - return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(0)); + return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(1)); } // 'import' @@ -101,7 +101,7 @@ public class LangATestLanguageGrammarAccess extends BaseEPackageAccess implement // 'type' name = ID 'extends' ^extends = [ Type ] public Group eleGroup() { - return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(0)); + return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(1)); } // 'type' name = ID 'extends' diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/dummy/AbstractDummyTestLanguageRuntimeConfig.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/dummy/AbstractDummyTestLanguageRuntimeConfig.java index 8ca3472..49ac464 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/dummy/AbstractDummyTestLanguageRuntimeConfig.java +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/dummy/AbstractDummyTestLanguageRuntimeConfig.java @@ -9,14 +9,14 @@ import org.eclipse.xtext.service.AbstractServiceRegistrationFactory; */ public abstract class AbstractDummyTestLanguageRuntimeConfig extends AbstractServiceRegistrationFactory { - protected Class<? extends org.eclipse.xtext.IGrammarAccess> getIGrammarAccess() { - return org.eclipse.xtext.dummy.services.DummyTestLanguageGrammarAccess.class; - } - protected Class<? extends org.eclipse.xtext.IMetamodelAccess> getIMetamodelAccess() { return org.eclipse.xtext.dummy.services.DummyTestLanguageMetamodelAccess.class; } + protected Class<? extends org.eclipse.xtext.IGrammarAccess> getIGrammarAccess() { + return org.eclipse.xtext.dummy.services.DummyTestLanguageGrammarAccess.class; + } + protected Class<? extends org.eclipse.xtext.parser.IAstFactory> getIAstFactory() { return org.eclipse.xtext.parser.GenericEcoreElementFactory.class; } @@ -56,8 +56,8 @@ public abstract class AbstractDummyTestLanguageRuntimeConfig extends AbstractSer public Set<IServiceRegistration> registrations() { return scope(org.eclipse.xtext.dummy.IDummyTestLanguage.SCOPE) - .with(org.eclipse.xtext.IGrammarAccess.class, getIGrammarAccess()) .with(org.eclipse.xtext.IMetamodelAccess.class, getIMetamodelAccess()) + .with(org.eclipse.xtext.IGrammarAccess.class, getIGrammarAccess()) .with(org.eclipse.xtext.parser.IAstFactory.class, getIAstFactory()) .with(org.eclipse.xtext.parser.IParser.class, getIParser()) .with(org.eclipse.xtext.parser.antlr.IAntlrTokenFileProvider.class, getIAntlrTokenFileProvider()) diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/dummy/DummyTestLanguage.xmi b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/dummy/DummyTestLanguage.xmi index 2904349..dc9a3d0 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/dummy/DummyTestLanguage.xmi +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/dummy/DummyTestLanguage.xmi @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="ASCII"?> -<xtext:Grammar xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xtext="http://www.eclipse.org/2008/Xtext"> +<xtext:Grammar xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:xtext="http://www.eclipse.org/2008/Xtext"> <idElements>org</idElements> <idElements>eclipse</idElements> <idElements>xtext</idElements> @@ -7,11 +7,17 @@ <idElements>DummyTestLanguage</idElements> <metamodelDeclarations xsi:type="xtext:GeneratedMetamodel" name="DummyLang" nsURI="http://www.eclipse.org/2008/xtext/DummyLang"/> <rules xsi:type="xtext:ParserRule" name="Model"> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://www.eclipse.org/2008/xtext/DummyLang#//Model"/> + </type> <alternatives xsi:type="xtext:Assignment" cardinality="*" feature="elements" operator="+="> <terminal xsi:type="xtext:RuleCall" rule="//@rules.1"/> </alternatives> </rules> <rules xsi:type="xtext:ParserRule" name="Element"> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://www.eclipse.org/2008/xtext/DummyLang#//Element"/> + </type> <alternatives xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Group"> diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguageLexer.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguageLexer.java index 48175fe..131caae 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguageLexer.java +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguageLexer.java @@ -1,4 +1,4 @@ -// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g 2008-12-08 18:02:52 +// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g 2008-12-10 12:15:37 package org.eclipse.xtext.dummy.parser.internal; diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguageParser.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguageParser.java index 2f83426..58d5b35 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguageParser.java +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguageParser.java @@ -1,4 +1,4 @@ -// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g 2008-12-08 18:02:52 +// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g 2008-12-10 12:15:37 package org.eclipse.xtext.dummy.parser.internal; diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/dummy/services/DummyTestLanguageGrammarAccess.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/dummy/services/DummyTestLanguageGrammarAccess.java index 7189601..69573c2 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/dummy/services/DummyTestLanguageGrammarAccess.java +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/dummy/services/DummyTestLanguageGrammarAccess.java @@ -22,7 +22,7 @@ public class DummyTestLanguageGrammarAccess extends BaseEPackageAccess implement // ( elements += Element ) * public Assignment eleAssignmentElements() { - return (cAssignmentElements != null) ? cAssignmentElements : (cAssignmentElements = (Assignment)getRule().eContents().get(0)); + return (cAssignmentElements != null) ? cAssignmentElements : (cAssignmentElements = (Assignment)getRule().eContents().get(1)); } // Element @@ -53,7 +53,7 @@ public class DummyTestLanguageGrammarAccess extends BaseEPackageAccess implement // ( optional ?= 'optional' ) ? 'element' name = ID ( descriptions += STRING ) * ';' public Group eleGroup() { - return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(0)); + return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(1)); } // ( optional ?= 'optional' ) ? 'element' name = ID ( descriptions += STRING ) * diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/grammarinheritance/AbstractAbstractTestLanguageRuntimeConfig.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/grammarinheritance/AbstractAbstractTestLanguageRuntimeConfig.java index 798fed2..280e792 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/grammarinheritance/AbstractAbstractTestLanguageRuntimeConfig.java +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/grammarinheritance/AbstractAbstractTestLanguageRuntimeConfig.java @@ -9,19 +9,19 @@ import org.eclipse.xtext.service.AbstractServiceRegistrationFactory; */ public abstract class AbstractAbstractTestLanguageRuntimeConfig extends AbstractServiceRegistrationFactory { - protected Class<? extends org.eclipse.xtext.IGrammarAccess> getIGrammarAccess() { - return org.eclipse.xtext.grammarinheritance.services.AbstractTestLanguageGrammarAccess.class; - } - protected Class<? extends org.eclipse.xtext.IMetamodelAccess> getIMetamodelAccess() { return org.eclipse.xtext.grammarinheritance.services.AbstractTestLanguageMetamodelAccess.class; } + protected Class<? extends org.eclipse.xtext.IGrammarAccess> getIGrammarAccess() { + return org.eclipse.xtext.grammarinheritance.services.AbstractTestLanguageGrammarAccess.class; + } + public Set<IServiceRegistration> registrations() { return scope(org.eclipse.xtext.grammarinheritance.IAbstractTestLanguage.SCOPE) - .with(org.eclipse.xtext.IGrammarAccess.class, getIGrammarAccess()) .with(org.eclipse.xtext.IMetamodelAccess.class, getIMetamodelAccess()) + .with(org.eclipse.xtext.IGrammarAccess.class, getIGrammarAccess()) .registrations(); } diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/grammarinheritance/AbstractConcreteTestLanguageRuntimeConfig.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/grammarinheritance/AbstractConcreteTestLanguageRuntimeConfig.java index ee989c1..c3c3291 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/grammarinheritance/AbstractConcreteTestLanguageRuntimeConfig.java +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/grammarinheritance/AbstractConcreteTestLanguageRuntimeConfig.java @@ -9,14 +9,14 @@ import org.eclipse.xtext.service.AbstractServiceRegistrationFactory; */ public abstract class AbstractConcreteTestLanguageRuntimeConfig extends AbstractServiceRegistrationFactory { - protected Class<? extends org.eclipse.xtext.IGrammarAccess> getIGrammarAccess() { - return org.eclipse.xtext.grammarinheritance.services.ConcreteTestLanguageGrammarAccess.class; - } - protected Class<? extends org.eclipse.xtext.IMetamodelAccess> getIMetamodelAccess() { return org.eclipse.xtext.grammarinheritance.services.ConcreteTestLanguageMetamodelAccess.class; } + protected Class<? extends org.eclipse.xtext.IGrammarAccess> getIGrammarAccess() { + return org.eclipse.xtext.grammarinheritance.services.ConcreteTestLanguageGrammarAccess.class; + } + protected Class<? extends org.eclipse.xtext.parser.IAstFactory> getIAstFactory() { return org.eclipse.xtext.parser.GenericEcoreElementFactory.class; } @@ -56,8 +56,8 @@ public abstract class AbstractConcreteTestLanguageRuntimeConfig extends Abstract public Set<IServiceRegistration> registrations() { return scope(org.eclipse.xtext.grammarinheritance.IConcreteTestLanguage.SCOPE) - .with(org.eclipse.xtext.IGrammarAccess.class, getIGrammarAccess()) .with(org.eclipse.xtext.IMetamodelAccess.class, getIMetamodelAccess()) + .with(org.eclipse.xtext.IGrammarAccess.class, getIGrammarAccess()) .with(org.eclipse.xtext.parser.IAstFactory.class, getIAstFactory()) .with(org.eclipse.xtext.parser.IParser.class, getIParser()) .with(org.eclipse.xtext.parser.antlr.IAntlrTokenFileProvider.class, getIAntlrTokenFileProvider()) diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/grammarinheritance/AbstractTestLanguage.xmi b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/grammarinheritance/AbstractTestLanguage.xmi index 89f1a7a..ac6fcf9 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/grammarinheritance/AbstractTestLanguage.xmi +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/grammarinheritance/AbstractTestLanguage.xmi @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="ASCII"?> -<xtext:Grammar xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xtext="http://www.eclipse.org/2008/Xtext" abstract="true"> +<xtext:Grammar xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:xtext="http://www.eclipse.org/2008/Xtext" abstract="true"> <idElements>org</idElements> <idElements>eclipse</idElements> <idElements>xtext</idElements> @@ -8,7 +8,9 @@ <metamodelDeclarations xsi:type="xtext:ReferencedMetamodel" alias="mm" uri="classpath:/org/eclipse/xtext/grammarinheritance/ametamodel.ecore"/> <metamodelDeclarations xsi:type="xtext:ReferencedMetamodel" alias="ecore" uri="http://www.eclipse.org/emf/2002/Ecore"/> <rules xsi:type="xtext:ParserRule" name="InheritedParserRule"> - <type metamodel="//@metamodelDeclarations.0" name="AType"/> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="classpath:/org/eclipse/xtext/grammarinheritance/ametamodel.ecore#//AType"/> + </type> <alternatives xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Keyword" value="element"/> <abstractTokens xsi:type="xtext:Assignment" feature="name" operator="="> @@ -17,7 +19,13 @@ </alternatives> </rules> <rules xsi:type="xtext:LexerRule" name="REAL" body="RULE_INT '.' RULE_INT"> - <type metamodel="//@metamodelDeclarations.1" name="EDouble"/> + <type metamodel="//@metamodelDeclarations.1"> + <type xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EDouble"/> + </type> + </rules> + <rules xsi:type="xtext:LexerRule" name="ID" body="('^')?('a'..'z'|'A'..'Z'|'ö'|'ä'|'ü'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*"> + <type metamodel="//@metamodelDeclarations.1"> + <type xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </type> </rules> - <rules xsi:type="xtext:LexerRule" name="ID" body="('^')?('a'..'z'|'A'..'Z'|'ö'|'ä'|'ü'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*"/> </xtext:Grammar> diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/grammarinheritance/ConcreteTestLanguage.xmi b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/grammarinheritance/ConcreteTestLanguage.xmi index 3e36bcd..da8e595 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/grammarinheritance/ConcreteTestLanguage.xmi +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/grammarinheritance/ConcreteTestLanguage.xmi @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="ASCII"?> -<xtext:Grammar xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xtext="http://www.eclipse.org/2008/Xtext"> +<xtext:Grammar xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:xtext="http://www.eclipse.org/2008/Xtext"> <idElements>org</idElements> <idElements>eclipse</idElements> <idElements>xtext</idElements> @@ -12,6 +12,9 @@ <superGrammarIdElements>AbstractTestLanguage</superGrammarIdElements> <metamodelDeclarations xsi:type="xtext:GeneratedMetamodel" name="foo" nsURI="http://holla"/> <rules xsi:type="xtext:ParserRule" name="ConcreteParserRule"> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://holla#//ConcreteParserRule"/> + </type> <alternatives xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Group"> diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguageLexer.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguageLexer.java index bef3078..2b7a0d6 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguageLexer.java +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguageLexer.java @@ -1,4 +1,4 @@ -// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g 2008-12-08 18:02:48 +// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g 2008-12-10 12:15:33 package org.eclipse.xtext.grammarinheritance.parser.internal; diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguageParser.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguageParser.java index 5a87bad..27e01ea 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguageParser.java +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguageParser.java @@ -1,4 +1,4 @@ -// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g 2008-12-08 18:02:48 +// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g 2008-12-10 12:15:33 package org.eclipse.xtext.grammarinheritance.parser.internal; diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/grammarinheritance/services/ConcreteTestLanguageGrammarAccess.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/grammarinheritance/services/ConcreteTestLanguageGrammarAccess.java index f91c04d..ca7d3ac 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/grammarinheritance/services/ConcreteTestLanguageGrammarAccess.java +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/grammarinheritance/services/ConcreteTestLanguageGrammarAccess.java @@ -29,7 +29,7 @@ public class ConcreteTestLanguageGrammarAccess extends BaseEPackageAccess implem // 'model' magicNumber = REAL ':' ( elements += InheritedParserRule ) * public Group eleGroup() { - return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(0)); + return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(1)); } // 'model' magicNumber = REAL ':' diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/metamodelreferencing/tests/AbstractMetamodelRefTestLanguageRuntimeConfig.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/metamodelreferencing/tests/AbstractMetamodelRefTestLanguageRuntimeConfig.java index dfe0ffe..70e5c5c 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/metamodelreferencing/tests/AbstractMetamodelRefTestLanguageRuntimeConfig.java +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/metamodelreferencing/tests/AbstractMetamodelRefTestLanguageRuntimeConfig.java @@ -9,14 +9,14 @@ import org.eclipse.xtext.service.AbstractServiceRegistrationFactory; */ public abstract class AbstractMetamodelRefTestLanguageRuntimeConfig extends AbstractServiceRegistrationFactory { - protected Class<? extends org.eclipse.xtext.IGrammarAccess> getIGrammarAccess() { - return org.eclipse.xtext.metamodelreferencing.tests.services.MetamodelRefTestLanguageGrammarAccess.class; - } - protected Class<? extends org.eclipse.xtext.IMetamodelAccess> getIMetamodelAccess() { return org.eclipse.xtext.metamodelreferencing.tests.services.MetamodelRefTestLanguageMetamodelAccess.class; } + protected Class<? extends org.eclipse.xtext.IGrammarAccess> getIGrammarAccess() { + return org.eclipse.xtext.metamodelreferencing.tests.services.MetamodelRefTestLanguageGrammarAccess.class; + } + protected Class<? extends org.eclipse.xtext.parser.IAstFactory> getIAstFactory() { return org.eclipse.xtext.parser.GenericEcoreElementFactory.class; } @@ -56,8 +56,8 @@ public abstract class AbstractMetamodelRefTestLanguageRuntimeConfig extends Abst public Set<IServiceRegistration> registrations() { return scope(org.eclipse.xtext.metamodelreferencing.tests.IMetamodelRefTestLanguage.SCOPE) - .with(org.eclipse.xtext.IGrammarAccess.class, getIGrammarAccess()) .with(org.eclipse.xtext.IMetamodelAccess.class, getIMetamodelAccess()) + .with(org.eclipse.xtext.IGrammarAccess.class, getIGrammarAccess()) .with(org.eclipse.xtext.parser.IAstFactory.class, getIAstFactory()) .with(org.eclipse.xtext.parser.IParser.class, getIParser()) .with(org.eclipse.xtext.parser.antlr.IAntlrTokenFileProvider.class, getIAntlrTokenFileProvider()) diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/metamodelreferencing/tests/AbstractMultiGenMMTestLanguageRuntimeConfig.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/metamodelreferencing/tests/AbstractMultiGenMMTestLanguageRuntimeConfig.java index e6b4c2f2..f39210c 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/metamodelreferencing/tests/AbstractMultiGenMMTestLanguageRuntimeConfig.java +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/metamodelreferencing/tests/AbstractMultiGenMMTestLanguageRuntimeConfig.java @@ -9,14 +9,14 @@ import org.eclipse.xtext.service.AbstractServiceRegistrationFactory; */ public abstract class AbstractMultiGenMMTestLanguageRuntimeConfig extends AbstractServiceRegistrationFactory { - protected Class<? extends org.eclipse.xtext.IGrammarAccess> getIGrammarAccess() { - return org.eclipse.xtext.metamodelreferencing.tests.services.MultiGenMMTestLanguageGrammarAccess.class; - } - protected Class<? extends org.eclipse.xtext.IMetamodelAccess> getIMetamodelAccess() { return org.eclipse.xtext.metamodelreferencing.tests.services.MultiGenMMTestLanguageMetamodelAccess.class; } + protected Class<? extends org.eclipse.xtext.IGrammarAccess> getIGrammarAccess() { + return org.eclipse.xtext.metamodelreferencing.tests.services.MultiGenMMTestLanguageGrammarAccess.class; + } + protected Class<? extends org.eclipse.xtext.parser.IAstFactory> getIAstFactory() { return org.eclipse.xtext.parser.GenericEcoreElementFactory.class; } @@ -56,8 +56,8 @@ public abstract class AbstractMultiGenMMTestLanguageRuntimeConfig extends Abstra public Set<IServiceRegistration> registrations() { return scope(org.eclipse.xtext.metamodelreferencing.tests.IMultiGenMMTestLanguage.SCOPE) - .with(org.eclipse.xtext.IGrammarAccess.class, getIGrammarAccess()) .with(org.eclipse.xtext.IMetamodelAccess.class, getIMetamodelAccess()) + .with(org.eclipse.xtext.IGrammarAccess.class, getIGrammarAccess()) .with(org.eclipse.xtext.parser.IAstFactory.class, getIAstFactory()) .with(org.eclipse.xtext.parser.IParser.class, getIParser()) .with(org.eclipse.xtext.parser.antlr.IAntlrTokenFileProvider.class, getIAntlrTokenFileProvider()) diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/metamodelreferencing/tests/MetamodelRefTestLanguage.xmi b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/metamodelreferencing/tests/MetamodelRefTestLanguage.xmi index 902e2bb..e161777 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/metamodelreferencing/tests/MetamodelRefTestLanguage.xmi +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/metamodelreferencing/tests/MetamodelRefTestLanguage.xmi @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="ASCII"?> -<xtext:Grammar xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xtext="http://www.eclipse.org/2008/Xtext"> +<xtext:Grammar xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:xtext="http://www.eclipse.org/2008/Xtext"> <idElements>org</idElements> <idElements>eclipse</idElements> <idElements>xtext</idElements> @@ -9,6 +9,9 @@ <metamodelDeclarations xsi:type="xtext:ReferencedMetamodel" alias="xtext" uri="http://www.eclipse.org/2008/Xtext"/> <metamodelDeclarations xsi:type="xtext:GeneratedMetamodel" name="SimpleTest" nsURI="http://eclipse.org/xtext/tests/SimpleTest"/> <rules xsi:type="xtext:ParserRule" name="Foo"> + <type metamodel="//@metamodelDeclarations.1"> + <type xsi:type="ecore:EClass" href="http://eclipse.org/xtext/tests/SimpleTest#//Foo"/> + </type> <alternatives xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Assignment" feature="name" operator="="> <terminal xsi:type="xtext:RuleCall"> @@ -21,15 +24,21 @@ </alternatives> </rules> <rules xsi:type="xtext:ParserRule" name="NameRef"> - <type metamodel="//@metamodelDeclarations.0" name="RuleCall"/> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://www.eclipse.org/2008/Xtext#//RuleCall"/> + </type> <alternatives xsi:type="xtext:Assignment" feature="rule" operator="="> <terminal xsi:type="xtext:CrossReference"> - <type metamodel="//@metamodelDeclarations.1" name="MyRule"/> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://www.eclipse.org/2008/Xtext#//ParserRule"/> + </type> </terminal> </alternatives> </rules> <rules xsi:type="xtext:ParserRule" name="MyRule"> - <type metamodel="//@metamodelDeclarations.0" name="ParserRule"/> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://www.eclipse.org/2008/Xtext#//ParserRule"/> + </type> <alternatives xsi:type="xtext:Assignment" feature="name" operator="="> <terminal xsi:type="xtext:RuleCall"> <rule href="classpath:/org/eclipse/xtext/builtin/XtextBuiltin.xmi#//@rules.0"/> diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/metamodelreferencing/tests/MultiGenMMTestLanguage.xmi b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/metamodelreferencing/tests/MultiGenMMTestLanguage.xmi index f07b2dc..eb3a88c 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/metamodelreferencing/tests/MultiGenMMTestLanguage.xmi +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/metamodelreferencing/tests/MultiGenMMTestLanguage.xmi @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="ASCII"?> -<xtext:Grammar xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xtext="http://www.eclipse.org/2008/Xtext"> +<xtext:Grammar xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:xtext="http://www.eclipse.org/2008/Xtext"> <idElements>org</idElements> <idElements>eclipse</idElements> <idElements>xtext</idElements> @@ -9,6 +9,9 @@ <metamodelDeclarations xsi:type="xtext:GeneratedMetamodel" name="SimpleTest" nsURI="http://eclipse.org/xtext/tests/SimpleTest"/> <metamodelDeclarations xsi:type="xtext:GeneratedMetamodel" alias="other" name="OtherTest" nsURI="http://eclipse.org/xtext/tests/OtherTest"/> <rules xsi:type="xtext:ParserRule" name="Foo"> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://eclipse.org/xtext/tests/SimpleTest#//Foo"/> + </type> <alternatives xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Assignment" feature="name" operator="="> <terminal xsi:type="xtext:RuleCall"> @@ -21,7 +24,9 @@ </alternatives> </rules> <rules xsi:type="xtext:ParserRule" name="NameRef"> - <type metamodel="//@metamodelDeclarations.1" name="FooBar"/> + <type metamodel="//@metamodelDeclarations.1"> + <type xsi:type="ecore:EClass" href="http://eclipse.org/xtext/tests/OtherTest#//FooBar"/> + </type> <alternatives xsi:type="xtext:Assignment" feature="name" operator="="> <terminal xsi:type="xtext:RuleCall"> <rule href="classpath:/org/eclipse/xtext/builtin/XtextBuiltin.xmi#//@rules.2"/> diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguageLexer.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguageLexer.java index 31e3178..1a01337 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguageLexer.java +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguageLexer.java @@ -1,4 +1,4 @@ -// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g 2008-12-08 18:02:51 +// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g 2008-12-10 12:15:36 package org.eclipse.xtext.metamodelreferencing.tests.parser.internal; diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguageParser.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguageParser.java index 27078db..a3a57b1 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguageParser.java +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguageParser.java @@ -1,4 +1,4 @@ -// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g 2008-12-08 18:02:51 +// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g 2008-12-10 12:15:36 package org.eclipse.xtext.metamodelreferencing.tests.parser.internal; diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguageLexer.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguageLexer.java index d5df275..e006e16 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguageLexer.java +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguageLexer.java @@ -1,4 +1,4 @@ -// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g 2008-12-08 18:02:51 +// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g 2008-12-10 12:15:37 package org.eclipse.xtext.metamodelreferencing.tests.parser.internal; diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguageParser.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguageParser.java index 3fb959a..c7523cf 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguageParser.java +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguageParser.java @@ -1,4 +1,4 @@ -// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g 2008-12-08 18:02:51 +// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g 2008-12-10 12:15:37 package org.eclipse.xtext.metamodelreferencing.tests.parser.internal; diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/metamodelreferencing/tests/parsetree/reconstr/MetamodelRefTestLanguageParseTreeConstructor.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/metamodelreferencing/tests/parsetree/reconstr/MetamodelRefTestLanguageParseTreeConstructor.java index a62ad85..3cc4d71 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/metamodelreferencing/tests/parsetree/reconstr/MetamodelRefTestLanguageParseTreeConstructor.java +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/metamodelreferencing/tests/parsetree/reconstr/MetamodelRefTestLanguageParseTreeConstructor.java @@ -122,12 +122,12 @@ protected class Foo_1_Assignment_nameRefs extends AssignmentToken { /************ begin Rule NameRef **************** * - * NameRef returns xtext :: RuleCall : rule = [ MyRule ] ; + * NameRef returns RuleCall : rule = [ ParserRule ] ; * **/ -// rule = [ MyRule ] +// rule = [ ParserRule ] protected class NameRef_Assignment_rule extends AssignmentToken { public NameRef_Assignment_rule(IInstanceDescription curr, AbstractToken pred) { @@ -143,9 +143,9 @@ protected class NameRef_Assignment_rule extends AssignmentToken { IInstanceDescription obj = current.cloneAndConsume("rule"); if(value instanceof EObject) { // xtext::CrossReference IInstanceDescription param = getDescr((EObject)value); - if(param.isInstanceOf("MyRule")) { + if(param.isInstanceOf("ParserRule")) { type = AssignmentType.CR; - element = MetamodelRefTestLanguageGrammarAccess.INSTANCE.prNameRef().ele0CrossReferenceMyRule(); + element = MetamodelRefTestLanguageGrammarAccess.INSTANCE.prNameRef().ele0CrossReferenceParserRule(); return new Solution(obj); } } @@ -157,7 +157,7 @@ protected class NameRef_Assignment_rule extends AssignmentToken { /************ begin Rule MyRule **************** * - * MyRule returns xtext :: ParserRule : name = ID ; + * MyRule returns ParserRule : name = ID ; * **/ diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/metamodelreferencing/tests/parsetree/reconstr/MultiGenMMTestLanguageParseTreeConstructor.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/metamodelreferencing/tests/parsetree/reconstr/MultiGenMMTestLanguageParseTreeConstructor.java index 0637076..575bed2 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/metamodelreferencing/tests/parsetree/reconstr/MultiGenMMTestLanguageParseTreeConstructor.java +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/metamodelreferencing/tests/parsetree/reconstr/MultiGenMMTestLanguageParseTreeConstructor.java @@ -121,7 +121,7 @@ protected class Foo_1_Assignment_nameRefs extends AssignmentToken { /************ begin Rule NameRef **************** * - * NameRef returns other :: FooBar : name = STRING ; + * NameRef returns FooBar : name = STRING ; * **/ diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/metamodelreferencing/tests/services/MetamodelRefTestLanguageGrammarAccess.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/metamodelreferencing/tests/services/MetamodelRefTestLanguageGrammarAccess.java index 594632a..8ce334d 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/metamodelreferencing/tests/services/MetamodelRefTestLanguageGrammarAccess.java +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/metamodelreferencing/tests/services/MetamodelRefTestLanguageGrammarAccess.java @@ -25,7 +25,7 @@ public class MetamodelRefTestLanguageGrammarAccess extends BaseEPackageAccess im // name = ID ( nameRefs += NameRef ) * public Group eleGroup() { - return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(0)); + return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(1)); } // name = ID @@ -52,21 +52,21 @@ public class MetamodelRefTestLanguageGrammarAccess extends BaseEPackageAccess im public class NameRefElements implements IParserRuleAccess { private ParserRule rule; private Assignment cAssignmentRule; - private CrossReference c0CrossReferenceMyRule; + private CrossReference c0CrossReferenceParserRule; - // NameRef returns xtext :: RuleCall : rule = [ MyRule ] ; + // NameRef returns RuleCall : rule = [ ParserRule ] ; public ParserRule getRule() { return (rule != null) ? rule : (rule = (ParserRule) getGrammar().eContents().get(3)); } - // rule = [ MyRule ] + // rule = [ ParserRule ] public Assignment eleAssignmentRule() { return (cAssignmentRule != null) ? cAssignmentRule : (cAssignmentRule = (Assignment)getRule().eContents().get(1)); } - // [ MyRule ] - public CrossReference ele0CrossReferenceMyRule() { - return (c0CrossReferenceMyRule != null) ? c0CrossReferenceMyRule : (c0CrossReferenceMyRule = (CrossReference)eleAssignmentRule().eContents().get(0)); + // [ ParserRule ] + public CrossReference ele0CrossReferenceParserRule() { + return (c0CrossReferenceParserRule != null) ? c0CrossReferenceParserRule : (c0CrossReferenceParserRule = (CrossReference)eleAssignmentRule().eContents().get(0)); } } @@ -75,7 +75,7 @@ public class MetamodelRefTestLanguageGrammarAccess extends BaseEPackageAccess im private Assignment cAssignmentName; private RuleCall c0LexerRuleCallID; - // MyRule returns xtext :: ParserRule : name = ID ; + // MyRule returns ParserRule : name = ID ; public ParserRule getRule() { return (rule != null) ? rule : (rule = (ParserRule) getGrammar().eContents().get(4)); } @@ -119,12 +119,12 @@ public class MetamodelRefTestLanguageGrammarAccess extends BaseEPackageAccess im return (pFoo != null) ? pFoo : (pFoo = new FooElements()); } - // NameRef returns xtext :: RuleCall : rule = [ MyRule ] ; + // NameRef returns RuleCall : rule = [ ParserRule ] ; public NameRefElements prNameRef() { return (pNameRef != null) ? pNameRef : (pNameRef = new NameRefElements()); } - // MyRule returns xtext :: ParserRule : name = ID ; + // MyRule returns ParserRule : name = ID ; public MyRuleElements prMyRule() { return (pMyRule != null) ? pMyRule : (pMyRule = new MyRuleElements()); } diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/metamodelreferencing/tests/services/MultiGenMMTestLanguageGrammarAccess.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/metamodelreferencing/tests/services/MultiGenMMTestLanguageGrammarAccess.java index aaefc36..0022130 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/metamodelreferencing/tests/services/MultiGenMMTestLanguageGrammarAccess.java +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/metamodelreferencing/tests/services/MultiGenMMTestLanguageGrammarAccess.java @@ -25,7 +25,7 @@ public class MultiGenMMTestLanguageGrammarAccess extends BaseEPackageAccess impl // name = ID ( nameRefs += NameRef ) * public Group eleGroup() { - return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(0)); + return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(1)); } // name = ID @@ -54,7 +54,7 @@ public class MultiGenMMTestLanguageGrammarAccess extends BaseEPackageAccess impl private Assignment cAssignmentName; private RuleCall c0LexerRuleCallSTRING; - // NameRef returns other :: FooBar : name = STRING ; + // NameRef returns FooBar : name = STRING ; public ParserRule getRule() { return (rule != null) ? rule : (rule = (ParserRule) getGrammar().eContents().get(3)); } @@ -97,7 +97,7 @@ public class MultiGenMMTestLanguageGrammarAccess extends BaseEPackageAccess impl return (pFoo != null) ? pFoo : (pFoo = new FooElements()); } - // NameRef returns other :: FooBar : name = STRING ; + // NameRef returns FooBar : name = STRING ; public NameRefElements prNameRef() { return (pNameRef != null) ? pNameRef : (pNameRef = new NameRefElements()); } diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g index 8b7c80e..8194fd1 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g @@ -581,19 +581,18 @@ ruleTypeRef returns [EObject current=null] @after { resetLookahead(); }: ((( - lv_alias=RULE_ID - { - createLeafNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.7/@alternatives/@abstractTokens.0/@abstractTokens.0/@terminal" /* xtext::RuleCall */, "alias"); - } - - { - if ($current==null) { + + { + if ($current==null) { $current = factory.create("TypeRef"); associateNodeWithAstElement(currentNode, $current); } - - factory.set($current, "alias", lv_alias,"ID"); - } + } +( + RULE_ID { + createLeafNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.7/@alternatives/@abstractTokens.0/@abstractTokens.0/@terminal" /* xtext::CrossReference */, "metamodel"); + } +) )'::' { @@ -601,19 +600,18 @@ ruleTypeRef returns [EObject current=null] } )?( - lv_name=RULE_ID - { - createLeafNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.7/@alternatives/@abstractTokens.1/@terminal" /* xtext::RuleCall */, "name"); - } - - { - if ($current==null) { + + { + if ($current==null) { $current = factory.create("TypeRef"); associateNodeWithAstElement(currentNode, $current); } - - factory.set($current, "name", lv_name,"ID"); - } + } +( + RULE_ID { + createLeafNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.7/@alternatives/@abstractTokens.1/@terminal" /* xtext::CrossReference */, "type"); + } +) )); diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguageLexer.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguageLexer.java index f08737f..16f26de 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguageLexer.java +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguageLexer.java @@ -1,4 +1,4 @@ -// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g 2008-12-08 18:02:50 +// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g 2008-12-10 12:15:35 package org.eclipse.xtext.parser.internal; @@ -558,10 +558,10 @@ public class InternalXtextGrammarTestLanguageLexer extends Lexer { public final void mRULE_ID() throws RecognitionException { try { int _type = RULE_ID; - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1186:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* ) - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1186:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1184:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* ) + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1184:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* { - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1186:11: ( '^' )? + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1184:11: ( '^' )? int alt1=2; int LA1_0 = input.LA(1); @@ -570,7 +570,7 @@ public class InternalXtextGrammarTestLanguageLexer extends Lexer { } switch (alt1) { case 1 : - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1186:12: '^' + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1184:12: '^' { match('^'); @@ -589,7 +589,7 @@ public class InternalXtextGrammarTestLanguageLexer extends Lexer { recover(mse); throw mse; } - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1186:41: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1184:41: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* loop2: do { int alt2=2; @@ -637,10 +637,10 @@ public class InternalXtextGrammarTestLanguageLexer extends Lexer { public final void mRULE_INT() throws RecognitionException { try { int _type = RULE_INT; - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1188:10: ( ( '0' .. '9' )+ ) - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1188:12: ( '0' .. '9' )+ + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1186:10: ( ( '0' .. '9' )+ ) + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1186:12: ( '0' .. '9' )+ { - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1188:12: ( '0' .. '9' )+ + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1186:12: ( '0' .. '9' )+ int cnt3=0; loop3: do { @@ -654,7 +654,7 @@ public class InternalXtextGrammarTestLanguageLexer extends Lexer { switch (alt3) { case 1 : - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1188:13: '0' .. '9' + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1186:13: '0' .. '9' { matchRange('0','9'); @@ -684,7 +684,7 @@ public class InternalXtextGrammarTestLanguageLexer extends Lexer { public final void mRULE_STRING() throws RecognitionException { try { int _type = RULE_STRING; - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1190:13: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\"' ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\\'' ) )* '\\'' ) + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1188:13: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\"' ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\\'' ) )* '\\'' ) int alt6=2; int LA6_0 = input.LA(1); @@ -696,16 +696,16 @@ public class InternalXtextGrammarTestLanguageLexer extends Lexer { } else { NoViableAltException nvae = - new NoViableAltException("1190:1: RULE_STRING : ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\"' ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\\'' ) )* '\\'' );", 6, 0, input); + new NoViableAltException("1188:1: RULE_STRING : ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\"' ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\\'' ) )* '\\'' );", 6, 0, input); throw nvae; } switch (alt6) { case 1 : - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1190:15: '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\"' ) )* '\"' + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1188:15: '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\"' ) )* '\"' { match('\"'); - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1190:19: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\"' ) )* + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1188:19: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\"' ) )* loop4: do { int alt4=3; @@ -721,7 +721,7 @@ public class InternalXtextGrammarTestLanguageLexer extends Lexer { switch (alt4) { case 1 : - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1190:21: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1188:21: '\\\\' ( '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' ) { @@ -738,7 +738,7 @@ public class InternalXtextGrammarTestLanguageLexer extends Lexer { } break; case 2 : - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1190:65: ~ ( '\\\\' | '\"' ) + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1188:65: ~ ( '\\\\' | '\"' ) { if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFE') ) { input.consume(); @@ -764,10 +764,10 @@ public class InternalXtextGrammarTestLanguageLexer extends Lexer { } break; case 2 : - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1190:101: '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\\'' ) )* '\\'' + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1188:101: '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\\'' ) )* '\\'' { match('\''); - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1190:106: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\\'' ) )* + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1188:106: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\\'' ) )* loop5: do { int alt5=3; @@ -783,7 +783,7 @@ public class InternalXtextGrammarTestLanguageLexer extends Lexer { switch (alt5) { case 1 : - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1190:108: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1188:108: '\\\\' ( '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' ) { @@ -800,7 +800,7 @@ public class InternalXtextGrammarTestLanguageLexer extends Lexer { } break; case 2 : - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1190:152: ~ ( '\\\\' | '\\'' ) + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1188:152: ~ ( '\\\\' | '\\'' ) { if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFE') ) { input.consume(); @@ -838,12 +838,12 @@ public class InternalXtextGrammarTestLanguageLexer extends Lexer { public final void mRULE_ML_COMMENT() throws RecognitionException { try { int _type = RULE_ML_COMMENT; - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1192:17: ( '/*' ( options {greedy=false; } : . )* '*/' ) - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1192:19: '/*' ( options {greedy=false; } : . )* '*/' + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1190:17: ( '/*' ( options {greedy=false; } : . )* '*/' ) + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1190:19: '/*' ( options {greedy=false; } : . )* '*/' { match("/*"); - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1192:24: ( options {greedy=false; } : . )* + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1190:24: ( options {greedy=false; } : . )* loop7: do { int alt7=2; @@ -868,7 +868,7 @@ public class InternalXtextGrammarTestLanguageLexer extends Lexer { switch (alt7) { case 1 : - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1192:52: . + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1190:52: . { matchAny(); @@ -897,12 +897,12 @@ public class InternalXtextGrammarTestLanguageLexer extends Lexer { public final void mRULE_SL_COMMENT() throws RecognitionException { try { int _type = RULE_SL_COMMENT; - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1194:17: ( '//' (~ ( '\\n' | '\\r' ) )* ( ( '\\r' )? '\\n' )? ) - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1194:19: '//' (~ ( '\\n' | '\\r' ) )* ( ( '\\r' )? '\\n' )? + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1192:17: ( '//' (~ ( '\\n' | '\\r' ) )* ( ( '\\r' )? '\\n' )? ) + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1192:19: '//' (~ ( '\\n' | '\\r' ) )* ( ( '\\r' )? '\\n' )? { match("//"); - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1194:24: (~ ( '\\n' | '\\r' ) )* + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1192:24: (~ ( '\\n' | '\\r' ) )* loop8: do { int alt8=2; @@ -915,7 +915,7 @@ public class InternalXtextGrammarTestLanguageLexer extends Lexer { switch (alt8) { case 1 : - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1194:24: ~ ( '\\n' | '\\r' ) + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1192:24: ~ ( '\\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(); @@ -936,7 +936,7 @@ public class InternalXtextGrammarTestLanguageLexer extends Lexer { } } while (true); - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1194:38: ( ( '\\r' )? '\\n' )? + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1192:38: ( ( '\\r' )? '\\n' )? int alt10=2; int LA10_0 = input.LA(1); @@ -945,9 +945,9 @@ public class InternalXtextGrammarTestLanguageLexer extends Lexer { } switch (alt10) { case 1 : - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1194:39: ( '\\r' )? '\\n' + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1192:39: ( '\\r' )? '\\n' { - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1194:39: ( '\\r' )? + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1192:39: ( '\\r' )? int alt9=2; int LA9_0 = input.LA(1); @@ -956,7 +956,7 @@ public class InternalXtextGrammarTestLanguageLexer extends Lexer { } switch (alt9) { case 1 : - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1194:39: '\\r' + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1192:39: '\\r' { match('\r'); @@ -987,10 +987,10 @@ public class InternalXtextGrammarTestLanguageLexer extends Lexer { public final void mRULE_WS() throws RecognitionException { try { int _type = RULE_WS; - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1196:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ ) - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1196:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1194:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ ) + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1194:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ { - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1196:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1194:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ int cnt11=0; loop11: do { @@ -1044,8 +1044,8 @@ public class InternalXtextGrammarTestLanguageLexer extends Lexer { public final void mRULE_ANY_OTHER() throws RecognitionException { try { int _type = RULE_ANY_OTHER; - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1198:16: ( . ) - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1198:18: . + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1196:16: ( . ) + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1196:18: . { matchAny(); diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguageParser.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguageParser.java index 1179eb0..9ecc67c 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguageParser.java +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguageParser.java @@ -1,4 +1,4 @@ -// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g 2008-12-08 18:02:49 +// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g 2008-12-10 12:15:35 package org.eclipse.xtext.parser.internal; @@ -1453,22 +1453,19 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser // $ANTLR start ruleTypeRef - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:579:1: ruleTypeRef returns [EObject current=null] : ( ( (lv_alias= RULE_ID ) '::' )? (lv_name= RULE_ID ) ) ; + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:579:1: ruleTypeRef returns [EObject current=null] : ( ( ( ( RULE_ID ) ) '::' )? ( ( RULE_ID ) ) ) ; public final EObject ruleTypeRef() throws RecognitionException { EObject current = null; - Token lv_alias=null; - Token lv_name=null; - EObject temp=null; setCurrentLookahead(); resetLookahead(); try { - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:581:33: ( ( ( (lv_alias= RULE_ID ) '::' )? (lv_name= RULE_ID ) ) ) - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:582:1: ( ( (lv_alias= RULE_ID ) '::' )? (lv_name= RULE_ID ) ) + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:581:33: ( ( ( ( ( RULE_ID ) ) '::' )? ( ( RULE_ID ) ) ) ) + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:582:1: ( ( ( ( RULE_ID ) ) '::' )? ( ( RULE_ID ) ) ) { - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:582:1: ( ( (lv_alias= RULE_ID ) '::' )? (lv_name= RULE_ID ) ) - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:582:2: ( (lv_alias= RULE_ID ) '::' )? (lv_name= RULE_ID ) + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:582:1: ( ( ( ( RULE_ID ) ) '::' )? ( ( RULE_ID ) ) ) + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:582:2: ( ( ( RULE_ID ) ) '::' )? ( ( RULE_ID ) ) { - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:582:2: ( (lv_alias= RULE_ID ) '::' )? + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:582:2: ( ( ( RULE_ID ) ) '::' )? int alt14=2; int LA14_0 = input.LA(1); @@ -1481,28 +1478,31 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser } switch (alt14) { case 1 : - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:582:3: (lv_alias= RULE_ID ) '::' + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:582:3: ( ( RULE_ID ) ) '::' { - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:582:3: (lv_alias= RULE_ID ) - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:584:6: lv_alias= RULE_ID + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:582:3: ( ( RULE_ID ) ) + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:585:3: ( RULE_ID ) { - lv_alias=(Token)input.LT(1); - match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleTypeRef1533); - - createLeafNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.7/@alternatives/@abstractTokens.0/@abstractTokens.0/@terminal" /* xtext::RuleCall */, "alias"); - - if (current==null) { + if (current==null) { current = factory.create("TypeRef"); associateNodeWithAstElement(currentNode, current); } - - factory.set(current, "alias", lv_alias,"ID"); - + + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:591:1: ( RULE_ID ) + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:592:2: RULE_ID + { + match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleTypeRef1536); + + createLeafNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.7/@alternatives/@abstractTokens.0/@abstractTokens.0/@terminal" /* xtext::CrossReference */, "metamodel"); + } - match(input,23,FOLLOW_23_in_ruleTypeRef1553); + + } + + match(input,23,FOLLOW_23_in_ruleTypeRef1549); createLeafNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.7/@alternatives/@abstractTokens.0/@abstractTokens.1" /* xtext::Keyword */, null); @@ -1512,22 +1512,25 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser } - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:602:3: (lv_name= RULE_ID ) - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:604:6: lv_name= RULE_ID + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:601:3: ( ( RULE_ID ) ) + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:604:3: ( RULE_ID ) { - lv_name=(Token)input.LT(1); - match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleTypeRef1576); - - createLeafNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.7/@alternatives/@abstractTokens.1/@terminal" /* xtext::RuleCall */, "name"); - - if (current==null) { + if (current==null) { current = factory.create("TypeRef"); associateNodeWithAstElement(currentNode, current); } - - factory.set(current, "name", lv_name,"ID"); - + + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:610:1: ( RULE_ID ) + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:611:2: RULE_ID + { + match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleTypeRef1575); + + createLeafNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.7/@alternatives/@abstractTokens.1/@terminal" /* xtext::CrossReference */, "type"); + + + } + } @@ -1552,7 +1555,7 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser // $ANTLR start entryRuleAlternatives - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:623:1: entryRuleAlternatives returns [EObject current=null] : iv_ruleAlternatives= ruleAlternatives EOF ; + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:621:1: entryRuleAlternatives returns [EObject current=null] : iv_ruleAlternatives= ruleAlternatives EOF ; public final EObject entryRuleAlternatives() throws RecognitionException { EObject current = null; @@ -1560,16 +1563,16 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser try { - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:623:54: (iv_ruleAlternatives= ruleAlternatives EOF ) - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:624:2: iv_ruleAlternatives= ruleAlternatives EOF + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:621:54: (iv_ruleAlternatives= ruleAlternatives EOF ) + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:622:2: iv_ruleAlternatives= ruleAlternatives EOF { currentNode = createCompositeNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.8" /* xtext::ParserRule */, currentNode); - pushFollow(FOLLOW_ruleAlternatives_in_entryRuleAlternatives1622); + pushFollow(FOLLOW_ruleAlternatives_in_entryRuleAlternatives1614); iv_ruleAlternatives=ruleAlternatives(); _fsp--; current =iv_ruleAlternatives; - match(input,EOF,FOLLOW_EOF_in_entryRuleAlternatives1632); + match(input,EOF,FOLLOW_EOF_in_entryRuleAlternatives1624); } @@ -1587,7 +1590,7 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser // $ANTLR start ruleAlternatives - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:631:1: ruleAlternatives returns [EObject current=null] : (this_Group= ruleGroup ( ( () '|' ) (lv_groups= ruleGroup ) )* ) ; + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:629:1: ruleAlternatives returns [EObject current=null] : (this_Group= ruleGroup ( ( () '|' ) (lv_groups= ruleGroup ) )* ) ; public final EObject ruleAlternatives() throws RecognitionException { EObject current = null; @@ -1598,16 +1601,16 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser EObject temp=null; setCurrentLookahead(); resetLookahead(); try { - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:633:33: ( (this_Group= ruleGroup ( ( () '|' ) (lv_groups= ruleGroup ) )* ) ) - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:634:1: (this_Group= ruleGroup ( ( () '|' ) (lv_groups= ruleGroup ) )* ) + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:631:33: ( (this_Group= ruleGroup ( ( () '|' ) (lv_groups= ruleGroup ) )* ) ) + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:632:1: (this_Group= ruleGroup ( ( () '|' ) (lv_groups= ruleGroup ) )* ) { - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:634:1: (this_Group= ruleGroup ( ( () '|' ) (lv_groups= ruleGroup ) )* ) - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:635:5: this_Group= ruleGroup ( ( () '|' ) (lv_groups= ruleGroup ) )* + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:632:1: (this_Group= ruleGroup ( ( () '|' ) (lv_groups= ruleGroup ) )* ) + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:633:5: this_Group= ruleGroup ( ( () '|' ) (lv_groups= ruleGroup ) )* { currentNode=createCompositeNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.8/@alternatives/@abstractTokens.0" /* xtext::RuleCall */, currentNode); - pushFollow(FOLLOW_ruleGroup_in_ruleAlternatives1679); + pushFollow(FOLLOW_ruleGroup_in_ruleAlternatives1671); this_Group=ruleGroup(); _fsp--; @@ -1615,7 +1618,7 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser current = this_Group; currentNode = currentNode.getParent(); - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:643:1: ( ( () '|' ) (lv_groups= ruleGroup ) )* + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:641:1: ( ( () '|' ) (lv_groups= ruleGroup ) )* loop15: do { int alt15=2; @@ -1628,13 +1631,13 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser switch (alt15) { case 1 : - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:643:2: ( () '|' ) (lv_groups= ruleGroup ) + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:641:2: ( () '|' ) (lv_groups= ruleGroup ) { - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:643:2: ( () '|' ) - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:643:3: () '|' + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:641:2: ( () '|' ) + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:641:3: () '|' { - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:643:3: () - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:644:5: + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:641:3: () + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:642:5: { temp=factory.create("Alternatives"); @@ -1650,20 +1653,20 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser } - match(input,24,FOLLOW_24_in_ruleAlternatives1698); + match(input,24,FOLLOW_24_in_ruleAlternatives1690); createLeafNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.8/@alternatives/@abstractTokens.1/@abstractTokens.0/@abstractTokens.1" /* xtext::Keyword */, null); } - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:659:2: (lv_groups= ruleGroup ) - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:662:6: lv_groups= ruleGroup + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:657:2: (lv_groups= ruleGroup ) + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:660:6: lv_groups= ruleGroup { currentNode=createCompositeNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.8/@alternatives/@abstractTokens.1/@abstractTokens.1/@terminal" /* xtext::RuleCall */, currentNode); - pushFollow(FOLLOW_ruleGroup_in_ruleAlternatives1733); + pushFollow(FOLLOW_ruleGroup_in_ruleAlternatives1725); lv_groups=ruleGroup(); _fsp--; @@ -1709,7 +1712,7 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser // $ANTLR start entryRuleGroup - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:681:1: entryRuleGroup returns [EObject current=null] : iv_ruleGroup= ruleGroup EOF ; + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:679:1: entryRuleGroup returns [EObject current=null] : iv_ruleGroup= ruleGroup EOF ; public final EObject entryRuleGroup() throws RecognitionException { EObject current = null; @@ -1717,16 +1720,16 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser try { - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:681:47: (iv_ruleGroup= ruleGroup EOF ) - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:682:2: iv_ruleGroup= ruleGroup EOF + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:679:47: (iv_ruleGroup= ruleGroup EOF ) + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:680:2: iv_ruleGroup= ruleGroup EOF { currentNode = createCompositeNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.9" /* xtext::ParserRule */, currentNode); - pushFollow(FOLLOW_ruleGroup_in_entryRuleGroup1774); + pushFollow(FOLLOW_ruleGroup_in_entryRuleGroup1766); iv_ruleGroup=ruleGroup(); _fsp--; current =iv_ruleGroup; - match(input,EOF,FOLLOW_EOF_in_entryRuleGroup1784); + match(input,EOF,FOLLOW_EOF_in_entryRuleGroup1776); } @@ -1744,7 +1747,7 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser // $ANTLR start ruleGroup - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:689:1: ruleGroup returns [EObject current=null] : (this_AbstractToken= ruleAbstractToken ( () (lv_abstractTokens= ruleAbstractToken ) )* ) ; + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:687:1: ruleGroup returns [EObject current=null] : (this_AbstractToken= ruleAbstractToken ( () (lv_abstractTokens= ruleAbstractToken ) )* ) ; public final EObject ruleGroup() throws RecognitionException { EObject current = null; @@ -1755,16 +1758,16 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser EObject temp=null; setCurrentLookahead(); resetLookahead(); try { - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:691:33: ( (this_AbstractToken= ruleAbstractToken ( () (lv_abstractTokens= ruleAbstractToken ) )* ) ) - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:692:1: (this_AbstractToken= ruleAbstractToken ( () (lv_abstractTokens= ruleAbstractToken ) )* ) + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:689:33: ( (this_AbstractToken= ruleAbstractToken ( () (lv_abstractTokens= ruleAbstractToken ) )* ) ) + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:690:1: (this_AbstractToken= ruleAbstractToken ( () (lv_abstractTokens= ruleAbstractToken ) )* ) { - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:692:1: (this_AbstractToken= ruleAbstractToken ( () (lv_abstractTokens= ruleAbstractToken ) )* ) - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:693:5: this_AbstractToken= ruleAbstractToken ( () (lv_abstractTokens= ruleAbstractToken ) )* + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:690:1: (this_AbstractToken= ruleAbstractToken ( () (lv_abstractTokens= ruleAbstractToken ) )* ) + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:691:5: this_AbstractToken= ruleAbstractToken ( () (lv_abstractTokens= ruleAbstractToken ) )* { currentNode=createCompositeNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.9/@alternatives/@abstractTokens.0" /* xtext::RuleCall */, currentNode); - pushFollow(FOLLOW_ruleAbstractToken_in_ruleGroup1831); + pushFollow(FOLLOW_ruleAbstractToken_in_ruleGroup1823); this_AbstractToken=ruleAbstractToken(); _fsp--; @@ -1772,7 +1775,7 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser current = this_AbstractToken; currentNode = currentNode.getParent(); - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:701:1: ( () (lv_abstractTokens= ruleAbstractToken ) )* + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:699:1: ( () (lv_abstractTokens= ruleAbstractToken ) )* loop16: do { int alt16=2; @@ -1785,10 +1788,10 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser switch (alt16) { case 1 : - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:701:2: () (lv_abstractTokens= ruleAbstractToken ) + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:699:2: () (lv_abstractTokens= ruleAbstractToken ) { - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:701:2: () - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:702:5: + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:699:2: () + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:700:5: { temp=factory.create("Group"); @@ -1804,13 +1807,13 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser } - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:713:2: (lv_abstractTokens= ruleAbstractToken ) - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:716:6: lv_abstractTokens= ruleAbstractToken + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:711:2: (lv_abstractTokens= ruleAbstractToken ) + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:714:6: lv_abstractTokens= ruleAbstractToken { currentNode=createCompositeNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.9/@alternatives/@abstractTokens.1/@abstractTokens.1/@terminal" /* xtext::RuleCall */, currentNode); - pushFollow(FOLLOW_ruleAbstractToken_in_ruleGroup1874); + pushFollow(FOLLOW_ruleAbstractToken_in_ruleGroup1866); lv_abstractTokens=ruleAbstractToken(); _fsp--; @@ -1856,7 +1859,7 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser // $ANTLR start entryRuleAbstractToken - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:735:1: entryRuleAbstractToken returns [EObject current=null] : iv_ruleAbstractToken= ruleAbstractToken EOF ; + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:733:1: entryRuleAbstractToken returns [EObject current=null] : iv_ruleAbstractToken= ruleAbstractToken EOF ; public final EObject entryRuleAbstractToken() throws RecognitionException { EObject current = null; @@ -1864,16 +1867,16 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser try { - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:735:55: (iv_ruleAbstractToken= ruleAbstractToken EOF ) - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:736:2: iv_ruleAbstractToken= ruleAbstractToken EOF + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:733:55: (iv_ruleAbstractToken= ruleAbstractToken EOF ) + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:734:2: iv_ruleAbstractToken= ruleAbstractToken EOF { currentNode = createCompositeNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.10" /* xtext::ParserRule */, currentNode); - pushFollow(FOLLOW_ruleAbstractToken_in_entryRuleAbstractToken1915); + pushFollow(FOLLOW_ruleAbstractToken_in_entryRuleAbstractToken1907); iv_ruleAbstractToken=ruleAbstractToken(); _fsp--; current =iv_ruleAbstractToken; - match(input,EOF,FOLLOW_EOF_in_entryRuleAbstractToken1925); + match(input,EOF,FOLLOW_EOF_in_entryRuleAbstractToken1917); } @@ -1891,7 +1894,7 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser // $ANTLR start ruleAbstractToken - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:743:1: ruleAbstractToken returns [EObject current=null] : ( ( (this_Assignment= ruleAssignment | this_Action= ruleAction ) | this_AbstractTerminal= ruleAbstractTerminal ) (lv_cardinality= ( ( '?' | '*' ) | '+' ) )? ) ; + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:741:1: ruleAbstractToken returns [EObject current=null] : ( ( (this_Assignment= ruleAssignment | this_Action= ruleAction ) | this_AbstractTerminal= ruleAbstractTerminal ) (lv_cardinality= ( ( '?' | '*' ) | '+' ) )? ) ; public final EObject ruleAbstractToken() throws RecognitionException { EObject current = null; @@ -1905,28 +1908,28 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser EObject temp=null; setCurrentLookahead(); resetLookahead(); try { - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:745:33: ( ( ( (this_Assignment= ruleAssignment | this_Action= ruleAction ) | this_AbstractTerminal= ruleAbstractTerminal ) (lv_cardinality= ( ( '?' | '*' ) | '+' ) )? ) ) - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:746:1: ( ( (this_Assignment= ruleAssignment | this_Action= ruleAction ) | this_AbstractTerminal= ruleAbstractTerminal ) (lv_cardinality= ( ( '?' | '*' ) | '+' ) )? ) + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:743:33: ( ( ( (this_Assignment= ruleAssignment | this_Action= ruleAction ) | this_AbstractTerminal= ruleAbstractTerminal ) (lv_cardinality= ( ( '?' | '*' ) | '+' ) )? ) ) + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:744:1: ( ( (this_Assignment= ruleAssignment | this_Action= ruleAction ) | this_AbstractTerminal= ruleAbstractTerminal ) (lv_cardinality= ( ( '?' | '*' ) | '+' ) )? ) { - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:746:1: ( ( (this_Assignment= ruleAssignment | this_Action= ruleAction ) | this_AbstractTerminal= ruleAbstractTerminal ) (lv_cardinality= ( ( '?' | '*' ) | '+' ) )? ) - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:746:2: ( (this_Assignment= ruleAssignment | this_Action= ruleAction ) | this_AbstractTerminal= ruleAbstractTerminal ) (lv_cardinality= ( ( '?' | '*' ) | '+' ) )? + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:744:1: ( ( (this_Assignment= ruleAssignment | this_Action= ruleAction ) | this_AbstractTerminal= ruleAbstractTerminal ) (lv_cardinality= ( ( '?' | '*' ) | '+' ) )? ) + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:744:2: ( (this_Assignment= ruleAssignment | this_Action= ruleAction ) | this_AbstractTerminal= ruleAbstractTerminal ) (lv_cardinality= ( ( '?' | '*' ) | '+' ) )? { - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:746:2: ( (this_Assignment= ruleAssignment | this_Action= ruleAction ) | this_AbstractTerminal= ruleAbstractTerminal ) + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:744:2: ( (this_Assignment= ruleAssignment | this_Action= ruleAction ) | this_AbstractTerminal= ruleAbstractTerminal ) int alt18=2; switch ( input.LA(1) ) { case RULE_ID: { int LA18_1 = input.LA(2); - if ( ((LA18_1>=28 && LA18_1<=30)) ) { - alt18=1; - } - else if ( (LA18_1==EOF||(LA18_1>=RULE_ID && LA18_1<=RULE_STRING)||LA18_1==22||(LA18_1>=24 && LA18_1<=27)||LA18_1==31||LA18_1==34||(LA18_1>=36 && LA18_1<=37)) ) { + if ( (LA18_1==EOF||(LA18_1>=RULE_ID && LA18_1<=RULE_STRING)||LA18_1==22||(LA18_1>=24 && LA18_1<=27)||LA18_1==31||LA18_1==34||(LA18_1>=36 && LA18_1<=37)) ) { alt18=2; } + else if ( ((LA18_1>=28 && LA18_1<=30)) ) { + alt18=1; + } else { NoViableAltException nvae = - new NoViableAltException("746:2: ( (this_Assignment= ruleAssignment | this_Action= ruleAction ) | this_AbstractTerminal= ruleAbstractTerminal )", 18, 1, input); + new NoViableAltException("744:2: ( (this_Assignment= ruleAssignment | this_Action= ruleAction ) | this_AbstractTerminal= ruleAbstractTerminal )", 18, 1, input); throw nvae; } @@ -1946,16 +1949,16 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser break; default: NoViableAltException nvae = - new NoViableAltException("746:2: ( (this_Assignment= ruleAssignment | this_Action= ruleAction ) | this_AbstractTerminal= ruleAbstractTerminal )", 18, 0, input); + new NoViableAltException("744:2: ( (this_Assignment= ruleAssignment | this_Action= ruleAction ) | this_AbstractTerminal= ruleAbstractTerminal )", 18, 0, input); throw nvae; } switch (alt18) { case 1 : - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:746:3: (this_Assignment= ruleAssignment | this_Action= ruleAction ) + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:744:3: (this_Assignment= ruleAssignment | this_Action= ruleAction ) { - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:746:3: (this_Assignment= ruleAssignment | this_Action= ruleAction ) + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:744:3: (this_Assignment= ruleAssignment | this_Action= ruleAction ) int alt17=2; int LA17_0 = input.LA(1); @@ -1967,18 +1970,18 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser } else { NoViableAltException nvae = - new NoViableAltException("746:3: (this_Assignment= ruleAssignment | this_Action= ruleAction )", 17, 0, input); + new NoViableAltException("744:3: (this_Assignment= ruleAssignment | this_Action= ruleAction )", 17, 0, input); throw nvae; } switch (alt17) { case 1 : - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:747:5: this_Assignment= ruleAssignment + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:745:5: this_Assignment= ruleAssignment { currentNode=createCompositeNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.10/@alternatives/@abstractTokens.0/@groups.0/@groups.0" /* xtext::RuleCall */, currentNode); - pushFollow(FOLLOW_ruleAssignment_in_ruleAbstractToken1974); + pushFollow(FOLLOW_ruleAssignment_in_ruleAbstractToken1966); this_Assignment=ruleAssignment(); _fsp--; @@ -1990,12 +1993,12 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser } break; case 2 : - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:757:5: this_Action= ruleAction + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:755:5: this_Action= ruleAction { currentNode=createCompositeNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.10/@alternatives/@abstractTokens.0/@groups.0/@groups.1" /* xtext::RuleCall */, currentNode); - pushFollow(FOLLOW_ruleAction_in_ruleAbstractToken2001); + pushFollow(FOLLOW_ruleAction_in_ruleAbstractToken1993); this_Action=ruleAction(); _fsp--; @@ -2013,12 +2016,12 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser } break; case 2 : - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:767:5: this_AbstractTerminal= ruleAbstractTerminal + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:765:5: this_AbstractTerminal= ruleAbstractTerminal { currentNode=createCompositeNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.10/@alternatives/@abstractTokens.0/@groups.1" /* xtext::RuleCall */, currentNode); - pushFollow(FOLLOW_ruleAbstractTerminal_in_ruleAbstractToken2029); + pushFollow(FOLLOW_ruleAbstractTerminal_in_ruleAbstractToken2021); this_AbstractTerminal=ruleAbstractTerminal(); _fsp--; @@ -2032,7 +2035,7 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser } - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:775:2: (lv_cardinality= ( ( '?' | '*' ) | '+' ) )? + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:773:2: (lv_cardinality= ( ( '?' | '*' ) | '+' ) )? int alt21=2; int LA21_0 = input.LA(1); @@ -2041,9 +2044,9 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser } switch (alt21) { case 1 : - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:777:6: lv_cardinality= ( ( '?' | '*' ) | '+' ) + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:775:6: lv_cardinality= ( ( '?' | '*' ) | '+' ) { - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:777:21: ( ( '?' | '*' ) | '+' ) + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:775:21: ( ( '?' | '*' ) | '+' ) int alt20=2; int LA20_0 = input.LA(1); @@ -2055,15 +2058,15 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser } else { NoViableAltException nvae = - new NoViableAltException("777:21: ( ( '?' | '*' ) | '+' )", 20, 0, input); + new NoViableAltException("775:21: ( ( '?' | '*' ) | '+' )", 20, 0, input); throw nvae; } switch (alt20) { case 1 : - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:777:22: ( '?' | '*' ) + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:775:22: ( '?' | '*' ) { - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:777:22: ( '?' | '*' ) + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:775:22: ( '?' | '*' ) int alt19=2; int LA19_0 = input.LA(1); @@ -2075,15 +2078,15 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser } else { NoViableAltException nvae = - new NoViableAltException("777:22: ( '?' | '*' )", 19, 0, input); + new NoViableAltException("775:22: ( '?' | '*' )", 19, 0, input); throw nvae; } switch (alt19) { case 1 : - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:777:23: '?' + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:775:23: '?' { - match(input,25,FOLLOW_25_in_ruleAbstractToken2052); + match(input,25,FOLLOW_25_in_ruleAbstractToken2044); createLeafNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.10/@alternatives/@abstractTokens.1/@terminal/@groups.0/@groups.0" /* xtext::Keyword */, "cardinality"); @@ -2091,9 +2094,9 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser } break; case 2 : - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:782:6: '*' + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:780:6: '*' { - match(input,26,FOLLOW_26_in_ruleAbstractToken2067); + match(input,26,FOLLOW_26_in_ruleAbstractToken2059); createLeafNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.10/@alternatives/@abstractTokens.1/@terminal/@groups.0/@groups.1" /* xtext::Keyword */, "cardinality"); @@ -2107,9 +2110,9 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser } break; case 2 : - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:787:6: '+' + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:785:6: '+' { - match(input,27,FOLLOW_27_in_ruleAbstractToken2083); + match(input,27,FOLLOW_27_in_ruleAbstractToken2075); createLeafNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.10/@alternatives/@abstractTokens.1/@terminal/@groups.1" /* xtext::Keyword */, "cardinality"); @@ -2154,7 +2157,7 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser // $ANTLR start entryRuleAssignment - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:806:1: entryRuleAssignment returns [EObject current=null] : iv_ruleAssignment= ruleAssignment EOF ; + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:804:1: entryRuleAssignment returns [EObject current=null] : iv_ruleAssignment= ruleAssignment EOF ; public final EObject entryRuleAssignment() throws RecognitionException { EObject current = null; @@ -2162,16 +2165,16 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser try { - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:806:52: (iv_ruleAssignment= ruleAssignment EOF ) - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:807:2: iv_ruleAssignment= ruleAssignment EOF + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:804:52: (iv_ruleAssignment= ruleAssignment EOF ) + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:805:2: iv_ruleAssignment= ruleAssignment EOF { currentNode = createCompositeNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.11" /* xtext::ParserRule */, currentNode); - pushFollow(FOLLOW_ruleAssignment_in_entryRuleAssignment2132); + pushFollow(FOLLOW_ruleAssignment_in_entryRuleAssignment2124); iv_ruleAssignment=ruleAssignment(); _fsp--; current =iv_ruleAssignment; - match(input,EOF,FOLLOW_EOF_in_entryRuleAssignment2142); + match(input,EOF,FOLLOW_EOF_in_entryRuleAssignment2134); } @@ -2189,7 +2192,7 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser // $ANTLR start ruleAssignment - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:814:1: ruleAssignment returns [EObject current=null] : ( ( (lv_feature= RULE_ID ) (lv_operator= ( ( '+=' | '=' ) | '?=' ) ) ) (lv_terminal= ruleAbstractTerminal ) ) ; + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:812:1: ruleAssignment returns [EObject current=null] : ( ( (lv_feature= RULE_ID ) (lv_operator= ( ( '+=' | '=' ) | '?=' ) ) ) (lv_terminal= ruleAbstractTerminal ) ) ; public final EObject ruleAssignment() throws RecognitionException { EObject current = null; @@ -2200,20 +2203,20 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser EObject temp=null; setCurrentLookahead(); resetLookahead(); try { - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:816:33: ( ( ( (lv_feature= RULE_ID ) (lv_operator= ( ( '+=' | '=' ) | '?=' ) ) ) (lv_terminal= ruleAbstractTerminal ) ) ) - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:817:1: ( ( (lv_feature= RULE_ID ) (lv_operator= ( ( '+=' | '=' ) | '?=' ) ) ) (lv_terminal= ruleAbstractTerminal ) ) + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:814:33: ( ( ( (lv_feature= RULE_ID ) (lv_operator= ( ( '+=' | '=' ) | '?=' ) ) ) (lv_terminal= ruleAbstractTerminal ) ) ) + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:815:1: ( ( (lv_feature= RULE_ID ) (lv_operator= ( ( '+=' | '=' ) | '?=' ) ) ) (lv_terminal= ruleAbstractTerminal ) ) { - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:817:1: ( ( (lv_feature= RULE_ID ) (lv_operator= ( ( '+=' | '=' ) | '?=' ) ) ) (lv_terminal= ruleAbstractTerminal ) ) - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:817:2: ( (lv_feature= RULE_ID ) (lv_operator= ( ( '+=' | '=' ) | '?=' ) ) ) (lv_terminal= ruleAbstractTerminal ) + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:815:1: ( ( (lv_feature= RULE_ID ) (lv_operator= ( ( '+=' | '=' ) | '?=' ) ) ) (lv_terminal= ruleAbstractTerminal ) ) + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:815:2: ( (lv_feature= RULE_ID ) (lv_operator= ( ( '+=' | '=' ) | '?=' ) ) ) (lv_terminal= ruleAbstractTerminal ) { - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:817:2: ( (lv_feature= RULE_ID ) (lv_operator= ( ( '+=' | '=' ) | '?=' ) ) ) - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:817:3: (lv_feature= RULE_ID ) (lv_operator= ( ( '+=' | '=' ) | '?=' ) ) + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:815:2: ( (lv_feature= RULE_ID ) (lv_operator= ( ( '+=' | '=' ) | '?=' ) ) ) + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:815:3: (lv_feature= RULE_ID ) (lv_operator= ( ( '+=' | '=' ) | '?=' ) ) { - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:817:3: (lv_feature= RULE_ID ) - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:819:6: lv_feature= RULE_ID + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:815:3: (lv_feature= RULE_ID ) + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:817:6: lv_feature= RULE_ID { lv_feature=(Token)input.LT(1); - match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleAssignment2189); + match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleAssignment2181); createLeafNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.11/@alternatives/@abstractTokens.0/@abstractTokens.0/@terminal" /* xtext::RuleCall */, "feature"); @@ -2228,10 +2231,10 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser } - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:833:2: (lv_operator= ( ( '+=' | '=' ) | '?=' ) ) - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:835:6: lv_operator= ( ( '+=' | '=' ) | '?=' ) + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:831:2: (lv_operator= ( ( '+=' | '=' ) | '?=' ) ) + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:833:6: lv_operator= ( ( '+=' | '=' ) | '?=' ) { - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:835:18: ( ( '+=' | '=' ) | '?=' ) + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:833:18: ( ( '+=' | '=' ) | '?=' ) int alt23=2; int LA23_0 = input.LA(1); @@ -2243,15 +2246,15 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser } else { NoViableAltException nvae = - new NoViableAltException("835:18: ( ( '+=' | '=' ) | '?=' )", 23, 0, input); + new NoViableAltException("833:18: ( ( '+=' | '=' ) | '?=' )", 23, 0, input); throw nvae; } switch (alt23) { case 1 : - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:835:19: ( '+=' | '=' ) + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:833:19: ( '+=' | '=' ) { - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:835:19: ( '+=' | '=' ) + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:833:19: ( '+=' | '=' ) int alt22=2; int LA22_0 = input.LA(1); @@ -2263,15 +2266,15 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser } else { NoViableAltException nvae = - new NoViableAltException("835:19: ( '+=' | '=' )", 22, 0, input); + new NoViableAltException("833:19: ( '+=' | '=' )", 22, 0, input); throw nvae; } switch (alt22) { case 1 : - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:835:20: '+=' + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:833:20: '+=' { - match(input,28,FOLLOW_28_in_ruleAssignment2223); + match(input,28,FOLLOW_28_in_ruleAssignment2215); createLeafNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.11/@alternatives/@abstractTokens.0/@abstractTokens.1/@terminal/@groups.0/@groups.0" /* xtext::Keyword */, "operator"); @@ -2279,9 +2282,9 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser } break; case 2 : - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:840:6: '=' + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:838:6: '=' { - match(input,29,FOLLOW_29_in_ruleAssignment2238); + match(input,29,FOLLOW_29_in_ruleAssignment2230); createLeafNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.11/@alternatives/@abstractTokens.0/@abstractTokens.1/@terminal/@groups.0/@groups.1" /* xtext::Keyword */, "operator"); @@ -2295,9 +2298,9 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser } break; case 2 : - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:845:6: '?=' + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:843:6: '?=' { - match(input,30,FOLLOW_30_in_ruleAssignment2254); + match(input,30,FOLLOW_30_in_ruleAssignment2246); createLeafNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.11/@alternatives/@abstractTokens.0/@abstractTokens.1/@terminal/@groups.1" /* xtext::Keyword */, "operator"); @@ -2321,13 +2324,13 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser } - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:859:3: (lv_terminal= ruleAbstractTerminal ) - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:862:6: lv_terminal= ruleAbstractTerminal + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:857:3: (lv_terminal= ruleAbstractTerminal ) + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:860:6: lv_terminal= ruleAbstractTerminal { currentNode=createCompositeNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.11/@alternatives/@abstractTokens.1/@terminal" /* xtext::RuleCall */, currentNode); - pushFollow(FOLLOW_ruleAbstractTerminal_in_ruleAssignment2302); + pushFollow(FOLLOW_ruleAbstractTerminal_in_ruleAssignment2294); lv_terminal=ruleAbstractTerminal(); _fsp--; @@ -2364,7 +2367,7 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser // $ANTLR start entryRuleAction - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:881:1: entryRuleAction returns [EObject current=null] : iv_ruleAction= ruleAction EOF ; + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:879:1: entryRuleAction returns [EObject current=null] : iv_ruleAction= ruleAction EOF ; public final EObject entryRuleAction() throws RecognitionException { EObject current = null; @@ -2372,16 +2375,16 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser try { - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:881:48: (iv_ruleAction= ruleAction EOF ) - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:882:2: iv_ruleAction= ruleAction EOF + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:879:48: (iv_ruleAction= ruleAction EOF ) + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:880:2: iv_ruleAction= ruleAction EOF { currentNode = createCompositeNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.12" /* xtext::ParserRule */, currentNode); - pushFollow(FOLLOW_ruleAction_in_entryRuleAction2341); + pushFollow(FOLLOW_ruleAction_in_entryRuleAction2333); iv_ruleAction=ruleAction(); _fsp--; current =iv_ruleAction; - match(input,EOF,FOLLOW_EOF_in_entryRuleAction2351); + match(input,EOF,FOLLOW_EOF_in_entryRuleAction2343); } @@ -2399,7 +2402,7 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser // $ANTLR start ruleAction - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:889:1: ruleAction returns [EObject current=null] : ( ( ( ( ( ( ( '{' ( 'current' '=' )? ) (lv_typeName= ruleTypeRef ) ) '.' ) (lv_feature= RULE_ID ) ) (lv_operator= ( '=' | '+=' ) ) ) 'current' ) '}' ) ; + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:887:1: ruleAction returns [EObject current=null] : ( ( ( ( ( ( ( '{' ( 'current' '=' )? ) (lv_typeName= ruleTypeRef ) ) '.' ) (lv_feature= RULE_ID ) ) (lv_operator= ( '=' | '+=' ) ) ) 'current' ) '}' ) ; public final EObject ruleAction() throws RecognitionException { EObject current = null; @@ -2410,35 +2413,35 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser EObject temp=null; setCurrentLookahead(); resetLookahead(); try { - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:891:33: ( ( ( ( ( ( ( ( '{' ( 'current' '=' )? ) (lv_typeName= ruleTypeRef ) ) '.' ) (lv_feature= RULE_ID ) ) (lv_operator= ( '=' | '+=' ) ) ) 'current' ) '}' ) ) - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:892:1: ( ( ( ( ( ( ( '{' ( 'current' '=' )? ) (lv_typeName= ruleTypeRef ) ) '.' ) (lv_feature= RULE_ID ) ) (lv_operator= ( '=' | '+=' ) ) ) 'current' ) '}' ) + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:889:33: ( ( ( ( ( ( ( ( '{' ( 'current' '=' )? ) (lv_typeName= ruleTypeRef ) ) '.' ) (lv_feature= RULE_ID ) ) (lv_operator= ( '=' | '+=' ) ) ) 'current' ) '}' ) ) + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:890:1: ( ( ( ( ( ( ( '{' ( 'current' '=' )? ) (lv_typeName= ruleTypeRef ) ) '.' ) (lv_feature= RULE_ID ) ) (lv_operator= ( '=' | '+=' ) ) ) 'current' ) '}' ) { - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:892:1: ( ( ( ( ( ( ( '{' ( 'current' '=' )? ) (lv_typeName= ruleTypeRef ) ) '.' ) (lv_feature= RULE_ID ) ) (lv_operator= ( '=' | '+=' ) ) ) 'current' ) '}' ) - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:892:2: ( ( ( ( ( ( '{' ( 'current' '=' )? ) (lv_typeName= ruleTypeRef ) ) '.' ) (lv_feature= RULE_ID ) ) (lv_operator= ( '=' | '+=' ) ) ) 'current' ) '}' + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:890:1: ( ( ( ( ( ( ( '{' ( 'current' '=' )? ) (lv_typeName= ruleTypeRef ) ) '.' ) (lv_feature= RULE_ID ) ) (lv_operator= ( '=' | '+=' ) ) ) 'current' ) '}' ) + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:890:2: ( ( ( ( ( ( '{' ( 'current' '=' )? ) (lv_typeName= ruleTypeRef ) ) '.' ) (lv_feature= RULE_ID ) ) (lv_operator= ( '=' | '+=' ) ) ) 'current' ) '}' { - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:892:2: ( ( ( ( ( ( '{' ( 'current' '=' )? ) (lv_typeName= ruleTypeRef ) ) '.' ) (lv_feature= RULE_ID ) ) (lv_operator= ( '=' | '+=' ) ) ) 'current' ) - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:892:3: ( ( ( ( ( '{' ( 'current' '=' )? ) (lv_typeName= ruleTypeRef ) ) '.' ) (lv_feature= RULE_ID ) ) (lv_operator= ( '=' | '+=' ) ) ) 'current' + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:890:2: ( ( ( ( ( ( '{' ( 'current' '=' )? ) (lv_typeName= ruleTypeRef ) ) '.' ) (lv_feature= RULE_ID ) ) (lv_operator= ( '=' | '+=' ) ) ) 'current' ) + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:890:3: ( ( ( ( ( '{' ( 'current' '=' )? ) (lv_typeName= ruleTypeRef ) ) '.' ) (lv_feature= RULE_ID ) ) (lv_operator= ( '=' | '+=' ) ) ) 'current' { - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:892:3: ( ( ( ( ( '{' ( 'current' '=' )? ) (lv_typeName= ruleTypeRef ) ) '.' ) (lv_feature= RULE_ID ) ) (lv_operator= ( '=' | '+=' ) ) ) - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:892:4: ( ( ( ( '{' ( 'current' '=' )? ) (lv_typeName= ruleTypeRef ) ) '.' ) (lv_feature= RULE_ID ) ) (lv_operator= ( '=' | '+=' ) ) + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:890:3: ( ( ( ( ( '{' ( 'current' '=' )? ) (lv_typeName= ruleTypeRef ) ) '.' ) (lv_feature= RULE_ID ) ) (lv_operator= ( '=' | '+=' ) ) ) + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:890:4: ( ( ( ( '{' ( 'current' '=' )? ) (lv_typeName= ruleTypeRef ) ) '.' ) (lv_feature= RULE_ID ) ) (lv_operator= ( '=' | '+=' ) ) { - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:892:4: ( ( ( ( '{' ( 'current' '=' )? ) (lv_typeName= ruleTypeRef ) ) '.' ) (lv_feature= RULE_ID ) ) - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:892:5: ( ( ( '{' ( 'current' '=' )? ) (lv_typeName= ruleTypeRef ) ) '.' ) (lv_feature= RULE_ID ) + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:890:4: ( ( ( ( '{' ( 'current' '=' )? ) (lv_typeName= ruleTypeRef ) ) '.' ) (lv_feature= RULE_ID ) ) + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:890:5: ( ( ( '{' ( 'current' '=' )? ) (lv_typeName= ruleTypeRef ) ) '.' ) (lv_feature= RULE_ID ) { - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:892:5: ( ( ( '{' ( 'current' '=' )? ) (lv_typeName= ruleTypeRef ) ) '.' ) - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:892:6: ( ( '{' ( 'current' '=' )? ) (lv_typeName= ruleTypeRef ) ) '.' + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:890:5: ( ( ( '{' ( 'current' '=' )? ) (lv_typeName= ruleTypeRef ) ) '.' ) + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:890:6: ( ( '{' ( 'current' '=' )? ) (lv_typeName= ruleTypeRef ) ) '.' { - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:892:6: ( ( '{' ( 'current' '=' )? ) (lv_typeName= ruleTypeRef ) ) - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:892:7: ( '{' ( 'current' '=' )? ) (lv_typeName= ruleTypeRef ) + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:890:6: ( ( '{' ( 'current' '=' )? ) (lv_typeName= ruleTypeRef ) ) + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:890:7: ( '{' ( 'current' '=' )? ) (lv_typeName= ruleTypeRef ) { - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:892:7: ( '{' ( 'current' '=' )? ) - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:892:8: '{' ( 'current' '=' )? + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:890:7: ( '{' ( 'current' '=' )? ) + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:890:8: '{' ( 'current' '=' )? { - match(input,31,FOLLOW_31_in_ruleAction2391); + match(input,31,FOLLOW_31_in_ruleAction2383); createLeafNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.12/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0" /* xtext::Keyword */, null); - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:896:1: ( 'current' '=' )? + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:894:1: ( 'current' '=' )? int alt24=2; int LA24_0 = input.LA(1); @@ -2447,13 +2450,13 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser } switch (alt24) { case 1 : - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:896:2: 'current' '=' + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:894:2: 'current' '=' { - match(input,32,FOLLOW_32_in_ruleAction2401); + match(input,32,FOLLOW_32_in_ruleAction2393); createLeafNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.12/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.1/@abstractTokens.0" /* xtext::Keyword */, null); - match(input,29,FOLLOW_29_in_ruleAction2410); + match(input,29,FOLLOW_29_in_ruleAction2402); createLeafNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.12/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.1/@abstractTokens.1" /* xtext::Keyword */, null); @@ -2466,13 +2469,13 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser } - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:904:4: (lv_typeName= ruleTypeRef ) - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:907:6: lv_typeName= ruleTypeRef + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:902:4: (lv_typeName= ruleTypeRef ) + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:905:6: lv_typeName= ruleTypeRef { currentNode=createCompositeNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.12/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.1/@terminal" /* xtext::RuleCall */, currentNode); - pushFollow(FOLLOW_ruleTypeRef_in_ruleAction2447); + pushFollow(FOLLOW_ruleTypeRef_in_ruleAction2439); lv_typeName=ruleTypeRef(); _fsp--; @@ -2491,18 +2494,18 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser } - match(input,13,FOLLOW_13_in_ruleAction2461); + match(input,13,FOLLOW_13_in_ruleAction2453); createLeafNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.12/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.1" /* xtext::Keyword */, null); } - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:925:2: (lv_feature= RULE_ID ) - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:927:6: lv_feature= RULE_ID + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:923:2: (lv_feature= RULE_ID ) + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:925:6: lv_feature= RULE_ID { lv_feature=(Token)input.LT(1); - match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleAction2483); + match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleAction2475); createLeafNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.12/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.1/@terminal" /* xtext::RuleCall */, "feature"); @@ -2520,10 +2523,10 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser } - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:941:3: (lv_operator= ( '=' | '+=' ) ) - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:943:6: lv_operator= ( '=' | '+=' ) + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:939:3: (lv_operator= ( '=' | '+=' ) ) + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:941:6: lv_operator= ( '=' | '+=' ) { - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:943:18: ( '=' | '+=' ) + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:941:18: ( '=' | '+=' ) int alt25=2; int LA25_0 = input.LA(1); @@ -2535,15 +2538,15 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser } else { NoViableAltException nvae = - new NoViableAltException("943:18: ( '=' | '+=' )", 25, 0, input); + new NoViableAltException("941:18: ( '=' | '+=' )", 25, 0, input); throw nvae; } switch (alt25) { case 1 : - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:943:19: '=' + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:941:19: '=' { - match(input,29,FOLLOW_29_in_ruleAction2517); + match(input,29,FOLLOW_29_in_ruleAction2509); createLeafNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.12/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.1/@terminal/@groups.0" /* xtext::Keyword */, "operator"); @@ -2551,9 +2554,9 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser } break; case 2 : - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:948:6: '+=' + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:946:6: '+=' { - match(input,28,FOLLOW_28_in_ruleAction2532); + match(input,28,FOLLOW_28_in_ruleAction2524); createLeafNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.12/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.1/@terminal/@groups.1" /* xtext::Keyword */, "operator"); @@ -2577,14 +2580,14 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser } - match(input,32,FOLLOW_32_in_ruleAction2555); + match(input,32,FOLLOW_32_in_ruleAction2547); createLeafNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.12/@alternatives/@abstractTokens.0/@abstractTokens.1" /* xtext::Keyword */, null); } - match(input,33,FOLLOW_33_in_ruleAction2565); + match(input,33,FOLLOW_33_in_ruleAction2557); createLeafNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.12/@alternatives/@abstractTokens.1" /* xtext::Keyword */, null); @@ -2609,7 +2612,7 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser // $ANTLR start entryRuleAbstractTerminal - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:975:1: entryRuleAbstractTerminal returns [EObject current=null] : iv_ruleAbstractTerminal= ruleAbstractTerminal EOF ; + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:973:1: entryRuleAbstractTerminal returns [EObject current=null] : iv_ruleAbstractTerminal= ruleAbstractTerminal EOF ; public final EObject entryRuleAbstractTerminal() throws RecognitionException { EObject current = null; @@ -2617,16 +2620,16 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser try { - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:975:58: (iv_ruleAbstractTerminal= ruleAbstractTerminal EOF ) - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:976:2: iv_ruleAbstractTerminal= ruleAbstractTerminal EOF + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:973:58: (iv_ruleAbstractTerminal= ruleAbstractTerminal EOF ) + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:974:2: iv_ruleAbstractTerminal= ruleAbstractTerminal EOF { currentNode = createCompositeNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.13" /* xtext::ParserRule */, currentNode); - pushFollow(FOLLOW_ruleAbstractTerminal_in_entryRuleAbstractTerminal2600); + pushFollow(FOLLOW_ruleAbstractTerminal_in_entryRuleAbstractTerminal2592); iv_ruleAbstractTerminal=ruleAbstractTerminal(); _fsp--; current =iv_ruleAbstractTerminal; - match(input,EOF,FOLLOW_EOF_in_entryRuleAbstractTerminal2610); + match(input,EOF,FOLLOW_EOF_in_entryRuleAbstractTerminal2602); } @@ -2644,7 +2647,7 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser // $ANTLR start ruleAbstractTerminal - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:983:1: ruleAbstractTerminal returns [EObject current=null] : ( ( (this_Keyword= ruleKeyword | this_RuleCall= ruleRuleCall ) | this_ParenthesizedElement= ruleParenthesizedElement ) | this_CrossReference= ruleCrossReference ) ; + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:981:1: ruleAbstractTerminal returns [EObject current=null] : ( ( (this_Keyword= ruleKeyword | this_RuleCall= ruleRuleCall ) | this_ParenthesizedElement= ruleParenthesizedElement ) | this_CrossReference= ruleCrossReference ) ; public final EObject ruleAbstractTerminal() throws RecognitionException { EObject current = null; @@ -2659,10 +2662,10 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser EObject temp=null; setCurrentLookahead(); resetLookahead(); try { - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:985:33: ( ( ( (this_Keyword= ruleKeyword | this_RuleCall= ruleRuleCall ) | this_ParenthesizedElement= ruleParenthesizedElement ) | this_CrossReference= ruleCrossReference ) ) - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:986:1: ( ( (this_Keyword= ruleKeyword | this_RuleCall= ruleRuleCall ) | this_ParenthesizedElement= ruleParenthesizedElement ) | this_CrossReference= ruleCrossReference ) + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:983:33: ( ( ( (this_Keyword= ruleKeyword | this_RuleCall= ruleRuleCall ) | this_ParenthesizedElement= ruleParenthesizedElement ) | this_CrossReference= ruleCrossReference ) ) + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:984:1: ( ( (this_Keyword= ruleKeyword | this_RuleCall= ruleRuleCall ) | this_ParenthesizedElement= ruleParenthesizedElement ) | this_CrossReference= ruleCrossReference ) { - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:986:1: ( ( (this_Keyword= ruleKeyword | this_RuleCall= ruleRuleCall ) | this_ParenthesizedElement= ruleParenthesizedElement ) | this_CrossReference= ruleCrossReference ) + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:984:1: ( ( (this_Keyword= ruleKeyword | this_RuleCall= ruleRuleCall ) | this_ParenthesizedElement= ruleParenthesizedElement ) | this_CrossReference= ruleCrossReference ) int alt28=2; int LA28_0 = input.LA(1); @@ -2674,15 +2677,15 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser } else { NoViableAltException nvae = - new NoViableAltException("986:1: ( ( (this_Keyword= ruleKeyword | this_RuleCall= ruleRuleCall ) | this_ParenthesizedElement= ruleParenthesizedElement ) | this_CrossReference= ruleCrossReference )", 28, 0, input); + new NoViableAltException("984:1: ( ( (this_Keyword= ruleKeyword | this_RuleCall= ruleRuleCall ) | this_ParenthesizedElement= ruleParenthesizedElement ) | this_CrossReference= ruleCrossReference )", 28, 0, input); throw nvae; } switch (alt28) { case 1 : - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:986:2: ( (this_Keyword= ruleKeyword | this_RuleCall= ruleRuleCall ) | this_ParenthesizedElement= ruleParenthesizedElement ) + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:984:2: ( (this_Keyword= ruleKeyword | this_RuleCall= ruleRuleCall ) | this_ParenthesizedElement= ruleParenthesizedElement ) { - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:986:2: ( (this_Keyword= ruleKeyword | this_RuleCall= ruleRuleCall ) | this_ParenthesizedElement= ruleParenthesizedElement ) + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:984:2: ( (this_Keyword= ruleKeyword | this_RuleCall= ruleRuleCall ) | this_ParenthesizedElement= ruleParenthesizedElement ) int alt27=2; int LA27_0 = input.LA(1); @@ -2694,15 +2697,15 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser } else { NoViableAltException nvae = - new NoViableAltException("986:2: ( (this_Keyword= ruleKeyword | this_RuleCall= ruleRuleCall ) | this_ParenthesizedElement= ruleParenthesizedElement )", 27, 0, input); + new NoViableAltException("984:2: ( (this_Keyword= ruleKeyword | this_RuleCall= ruleRuleCall ) | this_ParenthesizedElement= ruleParenthesizedElement )", 27, 0, input); throw nvae; } switch (alt27) { case 1 : - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:986:3: (this_Keyword= ruleKeyword | this_RuleCall= ruleRuleCall ) + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:984:3: (this_Keyword= ruleKeyword | this_RuleCall= ruleRuleCall ) { - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:986:3: (this_Keyword= ruleKeyword | this_RuleCall= ruleRuleCall ) + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:984:3: (this_Keyword= ruleKeyword | this_RuleCall= ruleRuleCall ) int alt26=2; int LA26_0 = input.LA(1); @@ -2714,18 +2717,18 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser } else { NoViableAltException nvae = - new NoViableAltException("986:3: (this_Keyword= ruleKeyword | this_RuleCall= ruleRuleCall )", 26, 0, input); + new NoViableAltException("984:3: (this_Keyword= ruleKeyword | this_RuleCall= ruleRuleCall )", 26, 0, input); throw nvae; } switch (alt26) { case 1 : - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:987:5: this_Keyword= ruleKeyword + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:985:5: this_Keyword= ruleKeyword { currentNode=createCompositeNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.13/@alternatives/@groups.0/@groups.0/@groups.0" /* xtext::RuleCall */, currentNode); - pushFollow(FOLLOW_ruleKeyword_in_ruleAbstractTerminal2659); + pushFollow(FOLLOW_ruleKeyword_in_ruleAbstractTerminal2651); this_Keyword=ruleKeyword(); _fsp--; @@ -2737,12 +2740,12 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser } break; case 2 : - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:997:5: this_RuleCall= ruleRuleCall + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:995:5: this_RuleCall= ruleRuleCall { currentNode=createCompositeNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.13/@alternatives/@groups.0/@groups.0/@groups.1" /* xtext::RuleCall */, currentNode); - pushFollow(FOLLOW_ruleRuleCall_in_ruleAbstractTerminal2686); + pushFollow(FOLLOW_ruleRuleCall_in_ruleAbstractTerminal2678); this_RuleCall=ruleRuleCall(); _fsp--; @@ -2760,12 +2763,12 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser } break; case 2 : - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1007:5: this_ParenthesizedElement= ruleParenthesizedElement + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1005:5: this_ParenthesizedElement= ruleParenthesizedElement { currentNode=createCompositeNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.13/@alternatives/@groups.0/@groups.1" /* xtext::RuleCall */, currentNode); - pushFollow(FOLLOW_ruleParenthesizedElement_in_ruleAbstractTerminal2714); + pushFollow(FOLLOW_ruleParenthesizedElement_in_ruleAbstractTerminal2706); this_ParenthesizedElement=ruleParenthesizedElement(); _fsp--; @@ -2783,12 +2786,12 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser } break; case 2 : - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1017:5: this_CrossReference= ruleCrossReference + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1015:5: this_CrossReference= ruleCrossReference { currentNode=createCompositeNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.13/@alternatives/@groups.1" /* xtext::RuleCall */, currentNode); - pushFollow(FOLLOW_ruleCrossReference_in_ruleAbstractTerminal2742); + pushFollow(FOLLOW_ruleCrossReference_in_ruleAbstractTerminal2734); this_CrossReference=ruleCrossReference(); _fsp--; @@ -2820,7 +2823,7 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser // $ANTLR start entryRuleCrossReference - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1030:1: entryRuleCrossReference returns [EObject current=null] : iv_ruleCrossReference= ruleCrossReference EOF ; + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1028:1: entryRuleCrossReference returns [EObject current=null] : iv_ruleCrossReference= ruleCrossReference EOF ; public final EObject entryRuleCrossReference() throws RecognitionException { EObject current = null; @@ -2828,16 +2831,16 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser try { - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1030:56: (iv_ruleCrossReference= ruleCrossReference EOF ) - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1031:2: iv_ruleCrossReference= ruleCrossReference EOF + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1028:56: (iv_ruleCrossReference= ruleCrossReference EOF ) + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1029:2: iv_ruleCrossReference= ruleCrossReference EOF { currentNode = createCompositeNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.14" /* xtext::ParserRule */, currentNode); - pushFollow(FOLLOW_ruleCrossReference_in_entryRuleCrossReference2776); + pushFollow(FOLLOW_ruleCrossReference_in_entryRuleCrossReference2768); iv_ruleCrossReference=ruleCrossReference(); _fsp--; current =iv_ruleCrossReference; - match(input,EOF,FOLLOW_EOF_in_entryRuleCrossReference2786); + match(input,EOF,FOLLOW_EOF_in_entryRuleCrossReference2778); } @@ -2855,7 +2858,7 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser // $ANTLR start ruleCrossReference - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1038:1: ruleCrossReference returns [EObject current=null] : ( ( ( '[' (lv_type= ruleTypeRef ) ) ( '|' ( ( RULE_ID ) ) )? ) ']' ) ; + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1036:1: ruleCrossReference returns [EObject current=null] : ( ( ( '[' (lv_type= ruleTypeRef ) ) ( '|' ( ( RULE_ID ) ) )? ) ']' ) ; public final EObject ruleCrossReference() throws RecognitionException { EObject current = null; @@ -2864,29 +2867,29 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser EObject temp=null; setCurrentLookahead(); resetLookahead(); try { - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1040:33: ( ( ( ( '[' (lv_type= ruleTypeRef ) ) ( '|' ( ( RULE_ID ) ) )? ) ']' ) ) - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1041:1: ( ( ( '[' (lv_type= ruleTypeRef ) ) ( '|' ( ( RULE_ID ) ) )? ) ']' ) + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1038:33: ( ( ( ( '[' (lv_type= ruleTypeRef ) ) ( '|' ( ( RULE_ID ) ) )? ) ']' ) ) + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1039:1: ( ( ( '[' (lv_type= ruleTypeRef ) ) ( '|' ( ( RULE_ID ) ) )? ) ']' ) { - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1041:1: ( ( ( '[' (lv_type= ruleTypeRef ) ) ( '|' ( ( RULE_ID ) ) )? ) ']' ) - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1041:2: ( ( '[' (lv_type= ruleTypeRef ) ) ( '|' ( ( RULE_ID ) ) )? ) ']' + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1039:1: ( ( ( '[' (lv_type= ruleTypeRef ) ) ( '|' ( ( RULE_ID ) ) )? ) ']' ) + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1039:2: ( ( '[' (lv_type= ruleTypeRef ) ) ( '|' ( ( RULE_ID ) ) )? ) ']' { - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1041:2: ( ( '[' (lv_type= ruleTypeRef ) ) ( '|' ( ( RULE_ID ) ) )? ) - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1041:3: ( '[' (lv_type= ruleTypeRef ) ) ( '|' ( ( RULE_ID ) ) )? + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1039:2: ( ( '[' (lv_type= ruleTypeRef ) ) ( '|' ( ( RULE_ID ) ) )? ) + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1039:3: ( '[' (lv_type= ruleTypeRef ) ) ( '|' ( ( RULE_ID ) ) )? { - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1041:3: ( '[' (lv_type= ruleTypeRef ) ) - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1041:4: '[' (lv_type= ruleTypeRef ) + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1039:3: ( '[' (lv_type= ruleTypeRef ) ) + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1039:4: '[' (lv_type= ruleTypeRef ) { - match(input,34,FOLLOW_34_in_ruleCrossReference2822); + match(input,34,FOLLOW_34_in_ruleCrossReference2814); createLeafNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.14/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0" /* xtext::Keyword */, null); - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1045:1: (lv_type= ruleTypeRef ) - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1048:6: lv_type= ruleTypeRef + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1043:1: (lv_type= ruleTypeRef ) + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1046:6: lv_type= ruleTypeRef { currentNode=createCompositeNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.14/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.1/@terminal" /* xtext::RuleCall */, currentNode); - pushFollow(FOLLOW_ruleTypeRef_in_ruleCrossReference2856); + pushFollow(FOLLOW_ruleTypeRef_in_ruleCrossReference2848); lv_type=ruleTypeRef(); _fsp--; @@ -2905,7 +2908,7 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser } - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1062:3: ( '|' ( ( RULE_ID ) ) )? + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1060:3: ( '|' ( ( RULE_ID ) ) )? int alt29=2; int LA29_0 = input.LA(1); @@ -2914,14 +2917,14 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser } switch (alt29) { case 1 : - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1062:4: '|' ( ( RULE_ID ) ) + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1060:4: '|' ( ( RULE_ID ) ) { - match(input,24,FOLLOW_24_in_ruleCrossReference2871); + match(input,24,FOLLOW_24_in_ruleCrossReference2863); createLeafNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.14/@alternatives/@abstractTokens.0/@abstractTokens.1/@abstractTokens.0" /* xtext::Keyword */, null); - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1066:1: ( ( RULE_ID ) ) - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1069:3: ( RULE_ID ) + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1064:1: ( ( RULE_ID ) ) + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1067:3: ( RULE_ID ) { if (current==null) { @@ -2929,10 +2932,10 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser associateNodeWithAstElement(currentNode, current); } - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1075:1: ( RULE_ID ) - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1076:2: RULE_ID + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1073:1: ( RULE_ID ) + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1074:2: RULE_ID { - match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleCrossReference2895); + match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleCrossReference2887); createLeafNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.14/@alternatives/@abstractTokens.0/@abstractTokens.1/@abstractTokens.1/@terminal" /* xtext::CrossReference */, "rule"); @@ -2951,7 +2954,7 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser } - match(input,35,FOLLOW_35_in_ruleCrossReference2911); + match(input,35,FOLLOW_35_in_ruleCrossReference2903); createLeafNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.14/@alternatives/@abstractTokens.1" /* xtext::Keyword */, null); @@ -2976,7 +2979,7 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser // $ANTLR start entryRuleParenthesizedElement - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1090:1: entryRuleParenthesizedElement returns [EObject current=null] : iv_ruleParenthesizedElement= ruleParenthesizedElement EOF ; + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1088:1: entryRuleParenthesizedElement returns [EObject current=null] : iv_ruleParenthesizedElement= ruleParenthesizedElement EOF ; public final EObject entryRuleParenthesizedElement() throws RecognitionException { EObject current = null; @@ -2984,16 +2987,16 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser try { - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1090:62: (iv_ruleParenthesizedElement= ruleParenthesizedElement EOF ) - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1091:2: iv_ruleParenthesizedElement= ruleParenthesizedElement EOF + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1088:62: (iv_ruleParenthesizedElement= ruleParenthesizedElement EOF ) + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1089:2: iv_ruleParenthesizedElement= ruleParenthesizedElement EOF { currentNode = createCompositeNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.15" /* xtext::ParserRule */, currentNode); - pushFollow(FOLLOW_ruleParenthesizedElement_in_entryRuleParenthesizedElement2946); + pushFollow(FOLLOW_ruleParenthesizedElement_in_entryRuleParenthesizedElement2938); iv_ruleParenthesizedElement=ruleParenthesizedElement(); _fsp--; current =iv_ruleParenthesizedElement; - match(input,EOF,FOLLOW_EOF_in_entryRuleParenthesizedElement2956); + match(input,EOF,FOLLOW_EOF_in_entryRuleParenthesizedElement2948); } @@ -3011,7 +3014,7 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser // $ANTLR start ruleParenthesizedElement - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1098:1: ruleParenthesizedElement returns [EObject current=null] : ( ( '(' this_Alternatives= ruleAlternatives ) ')' ) ; + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1096:1: ruleParenthesizedElement returns [EObject current=null] : ( ( '(' this_Alternatives= ruleAlternatives ) ')' ) ; public final EObject ruleParenthesizedElement() throws RecognitionException { EObject current = null; @@ -3020,23 +3023,23 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser EObject temp=null; setCurrentLookahead(); resetLookahead(); try { - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1100:33: ( ( ( '(' this_Alternatives= ruleAlternatives ) ')' ) ) - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1101:1: ( ( '(' this_Alternatives= ruleAlternatives ) ')' ) + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1098:33: ( ( ( '(' this_Alternatives= ruleAlternatives ) ')' ) ) + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1099:1: ( ( '(' this_Alternatives= ruleAlternatives ) ')' ) { - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1101:1: ( ( '(' this_Alternatives= ruleAlternatives ) ')' ) - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1101:2: ( '(' this_Alternatives= ruleAlternatives ) ')' + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1099:1: ( ( '(' this_Alternatives= ruleAlternatives ) ')' ) + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1099:2: ( '(' this_Alternatives= ruleAlternatives ) ')' { - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1101:2: ( '(' this_Alternatives= ruleAlternatives ) - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1101:3: '(' this_Alternatives= ruleAlternatives + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1099:2: ( '(' this_Alternatives= ruleAlternatives ) + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1099:3: '(' this_Alternatives= ruleAlternatives { - match(input,36,FOLLOW_36_in_ruleParenthesizedElement2991); + match(input,36,FOLLOW_36_in_ruleParenthesizedElement2983); createLeafNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.15/@alternatives/@abstractTokens.0/@abstractTokens.0" /* xtext::Keyword */, null); currentNode=createCompositeNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.15/@alternatives/@abstractTokens.0/@abstractTokens.1" /* xtext::RuleCall */, currentNode); - pushFollow(FOLLOW_ruleAlternatives_in_ruleParenthesizedElement3013); + pushFollow(FOLLOW_ruleAlternatives_in_ruleParenthesizedElement3005); this_Alternatives=ruleAlternatives(); _fsp--; @@ -3047,7 +3050,7 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser } - match(input,37,FOLLOW_37_in_ruleParenthesizedElement3022); + match(input,37,FOLLOW_37_in_ruleParenthesizedElement3014); createLeafNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.15/@alternatives/@abstractTokens.1" /* xtext::Keyword */, null); @@ -3072,7 +3075,7 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser // $ANTLR start entryRuleKeyword - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1123:1: entryRuleKeyword returns [EObject current=null] : iv_ruleKeyword= ruleKeyword EOF ; + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1121:1: entryRuleKeyword returns [EObject current=null] : iv_ruleKeyword= ruleKeyword EOF ; public final EObject entryRuleKeyword() throws RecognitionException { EObject current = null; @@ -3080,16 +3083,16 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser try { - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1123:49: (iv_ruleKeyword= ruleKeyword EOF ) - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1124:2: iv_ruleKeyword= ruleKeyword EOF + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1121:49: (iv_ruleKeyword= ruleKeyword EOF ) + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1122:2: iv_ruleKeyword= ruleKeyword EOF { currentNode = createCompositeNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.16" /* xtext::ParserRule */, currentNode); - pushFollow(FOLLOW_ruleKeyword_in_entryRuleKeyword3057); + pushFollow(FOLLOW_ruleKeyword_in_entryRuleKeyword3049); iv_ruleKeyword=ruleKeyword(); _fsp--; current =iv_ruleKeyword; - match(input,EOF,FOLLOW_EOF_in_entryRuleKeyword3067); + match(input,EOF,FOLLOW_EOF_in_entryRuleKeyword3059); } @@ -3107,7 +3110,7 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser // $ANTLR start ruleKeyword - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1131:1: ruleKeyword returns [EObject current=null] : (lv_value= RULE_STRING ) ; + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1129:1: ruleKeyword returns [EObject current=null] : (lv_value= RULE_STRING ) ; public final EObject ruleKeyword() throws RecognitionException { EObject current = null; @@ -3115,14 +3118,14 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser EObject temp=null; setCurrentLookahead(); resetLookahead(); try { - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1133:33: ( (lv_value= RULE_STRING ) ) - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1134:1: (lv_value= RULE_STRING ) + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1131:33: ( (lv_value= RULE_STRING ) ) + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1132:1: (lv_value= RULE_STRING ) { - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1134:1: (lv_value= RULE_STRING ) - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1136:6: lv_value= RULE_STRING + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1132:1: (lv_value= RULE_STRING ) + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1134:6: lv_value= RULE_STRING { lv_value=(Token)input.LT(1); - match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleKeyword3112); + match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleKeyword3104); createLeafNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.16/@alternatives/@terminal" /* xtext::RuleCall */, "value"); @@ -3155,7 +3158,7 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser // $ANTLR start entryRuleRuleCall - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1155:1: entryRuleRuleCall returns [EObject current=null] : iv_ruleRuleCall= ruleRuleCall EOF ; + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1153:1: entryRuleRuleCall returns [EObject current=null] : iv_ruleRuleCall= ruleRuleCall EOF ; public final EObject entryRuleRuleCall() throws RecognitionException { EObject current = null; @@ -3163,16 +3166,16 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser try { - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1155:50: (iv_ruleRuleCall= ruleRuleCall EOF ) - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1156:2: iv_ruleRuleCall= ruleRuleCall EOF + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1153:50: (iv_ruleRuleCall= ruleRuleCall EOF ) + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1154:2: iv_ruleRuleCall= ruleRuleCall EOF { currentNode = createCompositeNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.17" /* xtext::ParserRule */, currentNode); - pushFollow(FOLLOW_ruleRuleCall_in_entryRuleRuleCall3157); + pushFollow(FOLLOW_ruleRuleCall_in_entryRuleRuleCall3149); iv_ruleRuleCall=ruleRuleCall(); _fsp--; current =iv_ruleRuleCall; - match(input,EOF,FOLLOW_EOF_in_entryRuleRuleCall3167); + match(input,EOF,FOLLOW_EOF_in_entryRuleRuleCall3159); } @@ -3190,17 +3193,17 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser // $ANTLR start ruleRuleCall - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1163:1: ruleRuleCall returns [EObject current=null] : ( ( RULE_ID ) ) ; + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1161:1: ruleRuleCall returns [EObject current=null] : ( ( RULE_ID ) ) ; public final EObject ruleRuleCall() throws RecognitionException { EObject current = null; EObject temp=null; setCurrentLookahead(); resetLookahead(); try { - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1165:33: ( ( ( RULE_ID ) ) ) - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1166:1: ( ( RULE_ID ) ) + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1163:33: ( ( ( RULE_ID ) ) ) + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1164:1: ( ( RULE_ID ) ) { - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1166:1: ( ( RULE_ID ) ) - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1169:3: ( RULE_ID ) + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1164:1: ( ( RULE_ID ) ) + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1167:3: ( RULE_ID ) { if (current==null) { @@ -3208,10 +3211,10 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser associateNodeWithAstElement(currentNode, current); } - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1175:1: ( RULE_ID ) - // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1176:2: RULE_ID + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1173:1: ( RULE_ID ) + // ./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1174:2: RULE_ID { - match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleRuleCall3215); + match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleRuleCall3207); createLeafNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.17/@alternatives/@terminal" /* xtext::CrossReference */, "rule"); @@ -3294,68 +3297,68 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser public static final BitSet FOLLOW_22_in_ruleParserRule1441 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleTypeRef_in_entryRuleTypeRef1476 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleTypeRef1486 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_RULE_ID_in_ruleTypeRef1533 = new BitSet(new long[]{0x0000000000800000L}); - public static final BitSet FOLLOW_23_in_ruleTypeRef1553 = new BitSet(new long[]{0x0000000000000010L}); - public static final BitSet FOLLOW_RULE_ID_in_ruleTypeRef1576 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ruleAlternatives_in_entryRuleAlternatives1622 = new BitSet(new long[]{0x0000000000000000L}); - public static final BitSet FOLLOW_EOF_in_entryRuleAlternatives1632 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ruleGroup_in_ruleAlternatives1679 = new BitSet(new long[]{0x0000000001000002L}); - public static final BitSet FOLLOW_24_in_ruleAlternatives1698 = new BitSet(new long[]{0x0000001480000030L}); - public static final BitSet FOLLOW_ruleGroup_in_ruleAlternatives1733 = new BitSet(new long[]{0x0000000001000002L}); - public static final BitSet FOLLOW_ruleGroup_in_entryRuleGroup1774 = new BitSet(new long[]{0x0000000000000000L}); - public static final BitSet FOLLOW_EOF_in_entryRuleGroup1784 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ruleAbstractToken_in_ruleGroup1831 = new BitSet(new long[]{0x0000001480000032L}); - public static final BitSet FOLLOW_ruleAbstractToken_in_ruleGroup1874 = new BitSet(new long[]{0x0000001480000032L}); - public static final BitSet FOLLOW_ruleAbstractToken_in_entryRuleAbstractToken1915 = new BitSet(new long[]{0x0000000000000000L}); - public static final BitSet FOLLOW_EOF_in_entryRuleAbstractToken1925 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ruleAssignment_in_ruleAbstractToken1974 = new BitSet(new long[]{0x000000000E000002L}); - public static final BitSet FOLLOW_ruleAction_in_ruleAbstractToken2001 = new BitSet(new long[]{0x000000000E000002L}); - public static final BitSet FOLLOW_ruleAbstractTerminal_in_ruleAbstractToken2029 = new BitSet(new long[]{0x000000000E000002L}); - public static final BitSet FOLLOW_25_in_ruleAbstractToken2052 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_26_in_ruleAbstractToken2067 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_27_in_ruleAbstractToken2083 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ruleAssignment_in_entryRuleAssignment2132 = new BitSet(new long[]{0x0000000000000000L}); - public static final BitSet FOLLOW_EOF_in_entryRuleAssignment2142 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_RULE_ID_in_ruleAssignment2189 = new BitSet(new long[]{0x0000000070000000L}); - public static final BitSet FOLLOW_28_in_ruleAssignment2223 = new BitSet(new long[]{0x0000001400000030L}); - public static final BitSet FOLLOW_29_in_ruleAssignment2238 = new BitSet(new long[]{0x0000001400000030L}); - public static final BitSet FOLLOW_30_in_ruleAssignment2254 = new BitSet(new long[]{0x0000001400000030L}); - public static final BitSet FOLLOW_ruleAbstractTerminal_in_ruleAssignment2302 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ruleAction_in_entryRuleAction2341 = new BitSet(new long[]{0x0000000000000000L}); - public static final BitSet FOLLOW_EOF_in_entryRuleAction2351 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_31_in_ruleAction2391 = new BitSet(new long[]{0x0000000100000010L}); - public static final BitSet FOLLOW_32_in_ruleAction2401 = new BitSet(new long[]{0x0000000020000000L}); - public static final BitSet FOLLOW_29_in_ruleAction2410 = new BitSet(new long[]{0x0000000000000010L}); - public static final BitSet FOLLOW_ruleTypeRef_in_ruleAction2447 = new BitSet(new long[]{0x0000000000002000L}); - public static final BitSet FOLLOW_13_in_ruleAction2461 = new BitSet(new long[]{0x0000000000000010L}); - public static final BitSet FOLLOW_RULE_ID_in_ruleAction2483 = new BitSet(new long[]{0x0000000030000000L}); - public static final BitSet FOLLOW_29_in_ruleAction2517 = new BitSet(new long[]{0x0000000100000000L}); - public static final BitSet FOLLOW_28_in_ruleAction2532 = new BitSet(new long[]{0x0000000100000000L}); - public static final BitSet FOLLOW_32_in_ruleAction2555 = new BitSet(new long[]{0x0000000200000000L}); - public static final BitSet FOLLOW_33_in_ruleAction2565 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ruleAbstractTerminal_in_entryRuleAbstractTerminal2600 = new BitSet(new long[]{0x0000000000000000L}); - public static final BitSet FOLLOW_EOF_in_entryRuleAbstractTerminal2610 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ruleKeyword_in_ruleAbstractTerminal2659 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ruleRuleCall_in_ruleAbstractTerminal2686 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ruleParenthesizedElement_in_ruleAbstractTerminal2714 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ruleCrossReference_in_ruleAbstractTerminal2742 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ruleCrossReference_in_entryRuleCrossReference2776 = new BitSet(new long[]{0x0000000000000000L}); - public static final BitSet FOLLOW_EOF_in_entryRuleCrossReference2786 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_34_in_ruleCrossReference2822 = new BitSet(new long[]{0x0000000000000010L}); - public static final BitSet FOLLOW_ruleTypeRef_in_ruleCrossReference2856 = new BitSet(new long[]{0x0000000801000000L}); - public static final BitSet FOLLOW_24_in_ruleCrossReference2871 = new BitSet(new long[]{0x0000000000000010L}); - public static final BitSet FOLLOW_RULE_ID_in_ruleCrossReference2895 = new BitSet(new long[]{0x0000000800000000L}); - public static final BitSet FOLLOW_35_in_ruleCrossReference2911 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ruleParenthesizedElement_in_entryRuleParenthesizedElement2946 = new BitSet(new long[]{0x0000000000000000L}); - public static final BitSet FOLLOW_EOF_in_entryRuleParenthesizedElement2956 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_36_in_ruleParenthesizedElement2991 = new BitSet(new long[]{0x0000001480000030L}); - public static final BitSet FOLLOW_ruleAlternatives_in_ruleParenthesizedElement3013 = new BitSet(new long[]{0x0000002000000000L}); - public static final BitSet FOLLOW_37_in_ruleParenthesizedElement3022 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ruleKeyword_in_entryRuleKeyword3057 = new BitSet(new long[]{0x0000000000000000L}); - public static final BitSet FOLLOW_EOF_in_entryRuleKeyword3067 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_RULE_STRING_in_ruleKeyword3112 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ruleRuleCall_in_entryRuleRuleCall3157 = new BitSet(new long[]{0x0000000000000000L}); - public static final BitSet FOLLOW_EOF_in_entryRuleRuleCall3167 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_RULE_ID_in_ruleRuleCall3215 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_RULE_ID_in_ruleTypeRef1536 = new BitSet(new long[]{0x0000000000800000L}); + public static final BitSet FOLLOW_23_in_ruleTypeRef1549 = new BitSet(new long[]{0x0000000000000010L}); + public static final BitSet FOLLOW_RULE_ID_in_ruleTypeRef1575 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleAlternatives_in_entryRuleAlternatives1614 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleAlternatives1624 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleGroup_in_ruleAlternatives1671 = new BitSet(new long[]{0x0000000001000002L}); + public static final BitSet FOLLOW_24_in_ruleAlternatives1690 = new BitSet(new long[]{0x0000001480000030L}); + public static final BitSet FOLLOW_ruleGroup_in_ruleAlternatives1725 = new BitSet(new long[]{0x0000000001000002L}); + public static final BitSet FOLLOW_ruleGroup_in_entryRuleGroup1766 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleGroup1776 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleAbstractToken_in_ruleGroup1823 = new BitSet(new long[]{0x0000001480000032L}); + public static final BitSet FOLLOW_ruleAbstractToken_in_ruleGroup1866 = new BitSet(new long[]{0x0000001480000032L}); + public static final BitSet FOLLOW_ruleAbstractToken_in_entryRuleAbstractToken1907 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleAbstractToken1917 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleAssignment_in_ruleAbstractToken1966 = new BitSet(new long[]{0x000000000E000002L}); + public static final BitSet FOLLOW_ruleAction_in_ruleAbstractToken1993 = new BitSet(new long[]{0x000000000E000002L}); + public static final BitSet FOLLOW_ruleAbstractTerminal_in_ruleAbstractToken2021 = new BitSet(new long[]{0x000000000E000002L}); + public static final BitSet FOLLOW_25_in_ruleAbstractToken2044 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_26_in_ruleAbstractToken2059 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_27_in_ruleAbstractToken2075 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleAssignment_in_entryRuleAssignment2124 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleAssignment2134 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_RULE_ID_in_ruleAssignment2181 = new BitSet(new long[]{0x0000000070000000L}); + public static final BitSet FOLLOW_28_in_ruleAssignment2215 = new BitSet(new long[]{0x0000001400000030L}); + public static final BitSet FOLLOW_29_in_ruleAssignment2230 = new BitSet(new long[]{0x0000001400000030L}); + public static final BitSet FOLLOW_30_in_ruleAssignment2246 = new BitSet(new long[]{0x0000001400000030L}); + public static final BitSet FOLLOW_ruleAbstractTerminal_in_ruleAssignment2294 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleAction_in_entryRuleAction2333 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleAction2343 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_31_in_ruleAction2383 = new BitSet(new long[]{0x0000000100000010L}); + public static final BitSet FOLLOW_32_in_ruleAction2393 = new BitSet(new long[]{0x0000000020000000L}); + public static final BitSet FOLLOW_29_in_ruleAction2402 = new BitSet(new long[]{0x0000000000000010L}); + public static final BitSet FOLLOW_ruleTypeRef_in_ruleAction2439 = new BitSet(new long[]{0x0000000000002000L}); + public static final BitSet FOLLOW_13_in_ruleAction2453 = new BitSet(new long[]{0x0000000000000010L}); + public static final BitSet FOLLOW_RULE_ID_in_ruleAction2475 = new BitSet(new long[]{0x0000000030000000L}); + public static final BitSet FOLLOW_29_in_ruleAction2509 = new BitSet(new long[]{0x0000000100000000L}); + public static final BitSet FOLLOW_28_in_ruleAction2524 = new BitSet(new long[]{0x0000000100000000L}); + public static final BitSet FOLLOW_32_in_ruleAction2547 = new BitSet(new long[]{0x0000000200000000L}); + public static final BitSet FOLLOW_33_in_ruleAction2557 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleAbstractTerminal_in_entryRuleAbstractTerminal2592 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleAbstractTerminal2602 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleKeyword_in_ruleAbstractTerminal2651 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleRuleCall_in_ruleAbstractTerminal2678 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleParenthesizedElement_in_ruleAbstractTerminal2706 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleCrossReference_in_ruleAbstractTerminal2734 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleCrossReference_in_entryRuleCrossReference2768 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleCrossReference2778 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_34_in_ruleCrossReference2814 = new BitSet(new long[]{0x0000000000000010L}); + public static final BitSet FOLLOW_ruleTypeRef_in_ruleCrossReference2848 = new BitSet(new long[]{0x0000000801000000L}); + public static final BitSet FOLLOW_24_in_ruleCrossReference2863 = new BitSet(new long[]{0x0000000000000010L}); + public static final BitSet FOLLOW_RULE_ID_in_ruleCrossReference2887 = new BitSet(new long[]{0x0000000800000000L}); + public static final BitSet FOLLOW_35_in_ruleCrossReference2903 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleParenthesizedElement_in_entryRuleParenthesizedElement2938 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleParenthesizedElement2948 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_36_in_ruleParenthesizedElement2983 = new BitSet(new long[]{0x0000001480000030L}); + public static final BitSet FOLLOW_ruleAlternatives_in_ruleParenthesizedElement3005 = new BitSet(new long[]{0x0000002000000000L}); + public static final BitSet FOLLOW_37_in_ruleParenthesizedElement3014 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleKeyword_in_entryRuleKeyword3049 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleKeyword3059 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_RULE_STRING_in_ruleKeyword3104 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleRuleCall_in_entryRuleRuleCall3149 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleRuleCall3159 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_RULE_ID_in_ruleRuleCall3207 = new BitSet(new long[]{0x0000000000000002L}); }
\ No newline at end of file diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage__.g b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage__.g index 0c09f8f..ce523dc 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage__.g +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage__.g @@ -35,25 +35,25 @@ T35 : ']' ; T36 : '(' ; T37 : ')' ; -// $ANTLR src "./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g" 1186 +// $ANTLR src "./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g" 1184 RULE_ID : ('^')?('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*; -// $ANTLR src "./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g" 1188 +// $ANTLR src "./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g" 1186 RULE_INT : ('0'..'9')+; -// $ANTLR src "./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g" 1190 +// $ANTLR src "./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g" 1188 RULE_STRING : '"' ( '\\' ('b'|'t'|'n'|'f'|'r'|'\"'|'\''|'\\') | ~('\\'|'"') )* '"' | '\'' ( '\\' ('b'|'t'|'n'|'f'|'r'|'\"'|'\''|'\\') | ~('\\'|'\'') )* '\''; -// $ANTLR src "./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g" 1192 +// $ANTLR src "./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g" 1190 RULE_ML_COMMENT : '/*' ( options {greedy=false;} : . )* '*/' {$channel=HIDDEN;}; -// $ANTLR src "./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g" 1194 +// $ANTLR src "./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g" 1192 RULE_SL_COMMENT : '//' ~('\n'|'\r')* ('\r'? '\n')? {$channel=HIDDEN;}; -// $ANTLR src "./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g" 1196 +// $ANTLR src "./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g" 1194 RULE_WS : (' '|'\t'|'\r'|'\n')+ {$channel=HIDDEN;}; -// $ANTLR src "./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g" 1198 +// $ANTLR src "./src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g" 1196 RULE_ANY_OTHER : .; diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parsetree/reconstr/AbstractComplexReconstrTestLanguageRuntimeConfig.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parsetree/reconstr/AbstractComplexReconstrTestLanguageRuntimeConfig.java index 5b09ace..08fef97 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parsetree/reconstr/AbstractComplexReconstrTestLanguageRuntimeConfig.java +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parsetree/reconstr/AbstractComplexReconstrTestLanguageRuntimeConfig.java @@ -9,14 +9,14 @@ import org.eclipse.xtext.service.AbstractServiceRegistrationFactory; */ public abstract class AbstractComplexReconstrTestLanguageRuntimeConfig extends AbstractServiceRegistrationFactory { - protected Class<? extends org.eclipse.xtext.IGrammarAccess> getIGrammarAccess() { - return org.eclipse.xtext.parsetree.reconstr.services.ComplexReconstrTestLanguageGrammarAccess.class; - } - protected Class<? extends org.eclipse.xtext.IMetamodelAccess> getIMetamodelAccess() { return org.eclipse.xtext.parsetree.reconstr.services.ComplexReconstrTestLanguageMetamodelAccess.class; } + protected Class<? extends org.eclipse.xtext.IGrammarAccess> getIGrammarAccess() { + return org.eclipse.xtext.parsetree.reconstr.services.ComplexReconstrTestLanguageGrammarAccess.class; + } + protected Class<? extends org.eclipse.xtext.parser.IAstFactory> getIAstFactory() { return org.eclipse.xtext.parser.GenericEcoreElementFactory.class; } @@ -56,8 +56,8 @@ public abstract class AbstractComplexReconstrTestLanguageRuntimeConfig extends A public Set<IServiceRegistration> registrations() { return scope(org.eclipse.xtext.parsetree.reconstr.IComplexReconstrTestLanguage.SCOPE) - .with(org.eclipse.xtext.IGrammarAccess.class, getIGrammarAccess()) .with(org.eclipse.xtext.IMetamodelAccess.class, getIMetamodelAccess()) + .with(org.eclipse.xtext.IGrammarAccess.class, getIGrammarAccess()) .with(org.eclipse.xtext.parser.IAstFactory.class, getIAstFactory()) .with(org.eclipse.xtext.parser.IParser.class, getIParser()) .with(org.eclipse.xtext.parser.antlr.IAntlrTokenFileProvider.class, getIAntlrTokenFileProvider()) diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parsetree/reconstr/AbstractSimpleReconstrTestLanguageRuntimeConfig.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parsetree/reconstr/AbstractSimpleReconstrTestLanguageRuntimeConfig.java index eb2aa37..9c62ec7 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parsetree/reconstr/AbstractSimpleReconstrTestLanguageRuntimeConfig.java +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parsetree/reconstr/AbstractSimpleReconstrTestLanguageRuntimeConfig.java @@ -9,14 +9,14 @@ import org.eclipse.xtext.service.AbstractServiceRegistrationFactory; */ public abstract class AbstractSimpleReconstrTestLanguageRuntimeConfig extends AbstractServiceRegistrationFactory { - protected Class<? extends org.eclipse.xtext.IGrammarAccess> getIGrammarAccess() { - return org.eclipse.xtext.parsetree.reconstr.services.SimpleReconstrTestLanguageGrammarAccess.class; - } - protected Class<? extends org.eclipse.xtext.IMetamodelAccess> getIMetamodelAccess() { return org.eclipse.xtext.parsetree.reconstr.services.SimpleReconstrTestLanguageMetamodelAccess.class; } + protected Class<? extends org.eclipse.xtext.IGrammarAccess> getIGrammarAccess() { + return org.eclipse.xtext.parsetree.reconstr.services.SimpleReconstrTestLanguageGrammarAccess.class; + } + protected Class<? extends org.eclipse.xtext.parser.IAstFactory> getIAstFactory() { return org.eclipse.xtext.parser.GenericEcoreElementFactory.class; } @@ -56,8 +56,8 @@ public abstract class AbstractSimpleReconstrTestLanguageRuntimeConfig extends Ab public Set<IServiceRegistration> registrations() { return scope(org.eclipse.xtext.parsetree.reconstr.ISimpleReconstrTestLanguage.SCOPE) - .with(org.eclipse.xtext.IGrammarAccess.class, getIGrammarAccess()) .with(org.eclipse.xtext.IMetamodelAccess.class, getIMetamodelAccess()) + .with(org.eclipse.xtext.IGrammarAccess.class, getIGrammarAccess()) .with(org.eclipse.xtext.parser.IAstFactory.class, getIAstFactory()) .with(org.eclipse.xtext.parser.IParser.class, getIParser()) .with(org.eclipse.xtext.parser.antlr.IAntlrTokenFileProvider.class, getIAntlrTokenFileProvider()) diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parsetree/reconstr/ComplexReconstrTestLanguage.xmi b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parsetree/reconstr/ComplexReconstrTestLanguage.xmi index dd9b2c6..bbdb5f9 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parsetree/reconstr/ComplexReconstrTestLanguage.xmi +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parsetree/reconstr/ComplexReconstrTestLanguage.xmi @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="ASCII"?> -<xtext:Grammar xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xtext="http://www.eclipse.org/2008/Xtext"> +<xtext:Grammar xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:xtext="http://www.eclipse.org/2008/Xtext"> <idElements>org</idElements> <idElements>eclipse</idElements> <idElements>xtext</idElements> @@ -8,14 +8,18 @@ <idElements>ComplexReconstrTestLanguage</idElements> <metamodelDeclarations xsi:type="xtext:GeneratedMetamodel" name="complexrewritetest" nsURI="http://complex/rewrite/test"/> <rules xsi:type="xtext:ParserRule" name="Op"> - <type metamodel="//@metamodelDeclarations.0" name="Expression"/> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://complex/rewrite/test#//Expression"/> + </type> <alternatives xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:RuleCall" rule="//@rules.1"/> <abstractTokens xsi:type="xtext:Alternatives" cardinality="*"> <groups xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Action" feature="addOperands" operator="+="> - <typeName metamodel="//@metamodelDeclarations.0" name="Add"/> + <typeName metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://complex/rewrite/test#//Add"/> + </typeName> </abstractTokens> <abstractTokens xsi:type="xtext:Keyword" value="+"/> </abstractTokens> @@ -26,7 +30,9 @@ <groups xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Action" feature="minusOperands" operator="+="> - <typeName metamodel="//@metamodelDeclarations.0" name="Minus"/> + <typeName metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://complex/rewrite/test#//Minus"/> + </typeName> </abstractTokens> <abstractTokens xsi:type="xtext:Keyword" value="-"/> </abstractTokens> @@ -38,13 +44,18 @@ </alternatives> </rules> <rules xsi:type="xtext:ParserRule" name="Term"> - <type metamodel="//@metamodelDeclarations.0" name="Expression"/> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://complex/rewrite/test#//Expression"/> + </type> <alternatives xsi:type="xtext:Alternatives"> <groups xsi:type="xtext:RuleCall" rule="//@rules.2"/> <groups xsi:type="xtext:RuleCall" rule="//@rules.3"/> </alternatives> </rules> <rules xsi:type="xtext:ParserRule" name="Atom"> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://complex/rewrite/test#//Atom"/> + </type> <alternatives xsi:type="xtext:Assignment" feature="name" operator="="> <terminal xsi:type="xtext:RuleCall"> <rule href="classpath:/org/eclipse/xtext/builtin/XtextBuiltin.xmi#//@rules.0"/> @@ -52,7 +63,9 @@ </alternatives> </rules> <rules xsi:type="xtext:ParserRule" name="Parens"> - <type metamodel="//@metamodelDeclarations.0" name="Expression"/> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://complex/rewrite/test#//Expression"/> + </type> <alternatives xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Group"> @@ -67,7 +80,9 @@ </alternatives> </rules> <rules xsi:type="xtext:ParserRule" name="TrickyA"> - <type metamodel="//@metamodelDeclarations.0" name="TypeA1"/> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://complex/rewrite/test#//TypeA1"/> + </type> <alternatives xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Group"> @@ -84,13 +99,17 @@ <abstractTokens xsi:type="xtext:Alternatives" cardinality="?"> <groups xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Action" feature="x" operator="="> - <typeName metamodel="//@metamodelDeclarations.0" name="TypeB"/> + <typeName metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://complex/rewrite/test#//TypeB"/> + </typeName> </abstractTokens> <abstractTokens xsi:type="xtext:Keyword" value="x"/> </groups> <groups xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Action" feature="x" operator="="> - <typeName metamodel="//@metamodelDeclarations.0" name="TypeC"/> + <typeName metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://complex/rewrite/test#//TypeC"/> + </typeName> </abstractTokens> <abstractTokens xsi:type="xtext:Keyword" value="y"/> </groups> @@ -104,7 +123,9 @@ </alternatives> </rules> <rules xsi:type="xtext:ParserRule" name="TrickyA1"> - <type metamodel="//@metamodelDeclarations.0" name="TypeD"/> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://complex/rewrite/test#//TypeD"/> + </type> <alternatives xsi:type="xtext:Assignment" feature="name" operator="+="> <terminal xsi:type="xtext:RuleCall"> <rule href="classpath:/org/eclipse/xtext/builtin/XtextBuiltin.xmi#//@rules.0"/> @@ -112,6 +133,9 @@ </alternatives> </rules> <rules xsi:type="xtext:ParserRule" name="TrickyB"> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://complex/rewrite/test#//TrickyB"/> + </type> <alternatives xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Keyword" value="TB"/> @@ -136,6 +160,9 @@ </alternatives> </rules> <rules xsi:type="xtext:ParserRule" name="TrickyC"> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://complex/rewrite/test#//TrickyC"/> + </type> <alternatives xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Group"> @@ -149,27 +176,36 @@ </abstractTokens> <abstractTokens xsi:type="xtext:Group" cardinality="?"> <abstractTokens xsi:type="xtext:Action" feature="x" operator="="> - <typeName metamodel="//@metamodelDeclarations.0" name="C1"/> + <typeName metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://complex/rewrite/test#//C1"/> + </typeName> </abstractTokens> <abstractTokens xsi:type="xtext:Keyword" value="x"/> </abstractTokens> </abstractTokens> <abstractTokens xsi:type="xtext:Group" cardinality="?"> <abstractTokens xsi:type="xtext:Action" feature="y" operator="="> - <typeName metamodel="//@metamodelDeclarations.0" name="C2"/> + <typeName metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://complex/rewrite/test#//C2"/> + </typeName> </abstractTokens> <abstractTokens xsi:type="xtext:Keyword" value="y"/> </abstractTokens> </abstractTokens> <abstractTokens xsi:type="xtext:Group" cardinality="?"> <abstractTokens xsi:type="xtext:Action" feature="z" operator="="> - <typeName metamodel="//@metamodelDeclarations.0" name="C3"/> + <typeName metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://complex/rewrite/test#//C3"/> + </typeName> </abstractTokens> <abstractTokens xsi:type="xtext:Keyword" value="z"/> </abstractTokens> </alternatives> </rules> <rules xsi:type="xtext:ParserRule" name="TrickyD"> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://complex/rewrite/test#//TrickyD"/> + </type> <alternatives xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Group"> @@ -215,6 +251,9 @@ </alternatives> </rules> <rules xsi:type="xtext:ParserRule" name="TrickyE"> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://complex/rewrite/test#//TrickyE"/> + </type> <alternatives xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Group"> @@ -256,6 +295,9 @@ </alternatives> </rules> <rules xsi:type="xtext:ParserRule" name="TrickyF"> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://complex/rewrite/test#//TrickyF"/> + </type> <alternatives xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Keyword" value="TF"/> diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parsetree/reconstr/SimpleReconstrTestLanguage.xmi b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parsetree/reconstr/SimpleReconstrTestLanguage.xmi index 13679f8..dfaefc9 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parsetree/reconstr/SimpleReconstrTestLanguage.xmi +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parsetree/reconstr/SimpleReconstrTestLanguage.xmi @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="ASCII"?> -<xtext:Grammar xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xtext="http://www.eclipse.org/2008/Xtext"> +<xtext:Grammar xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:xtext="http://www.eclipse.org/2008/Xtext"> <idElements>org</idElements> <idElements>eclipse</idElements> <idElements>xtext</idElements> @@ -8,12 +8,16 @@ <idElements>SimpleReconstrTestLanguage</idElements> <metamodelDeclarations xsi:type="xtext:GeneratedMetamodel" name="simplerewritetest" nsURI="http://simple/rewrite/test"/> <rules xsi:type="xtext:ParserRule" name="Op"> - <type metamodel="//@metamodelDeclarations.0" name="Expression"/> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://simple/rewrite/test#//Expression"/> + </type> <alternatives xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:RuleCall" rule="//@rules.1"/> <abstractTokens xsi:type="xtext:Group" cardinality="*"> <abstractTokens xsi:type="xtext:Action" feature="values" operator="+="> - <typeName metamodel="//@metamodelDeclarations.0" name="Op"/> + <typeName metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://simple/rewrite/test#//Op"/> + </typeName> </abstractTokens> <abstractTokens xsi:type="xtext:Assignment" feature="values" operator="+="> <terminal xsi:type="xtext:RuleCall" rule="//@rules.1"/> @@ -22,7 +26,9 @@ </alternatives> </rules> <rules xsi:type="xtext:ParserRule" name="Term"> - <type metamodel="//@metamodelDeclarations.0" name="Expression"/> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://simple/rewrite/test#//Expression"/> + </type> <alternatives xsi:type="xtext:Alternatives"> <groups xsi:type="xtext:Alternatives"> <groups xsi:type="xtext:Alternatives"> @@ -44,6 +50,9 @@ </alternatives> </rules> <rules xsi:type="xtext:ParserRule" name="Atom"> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://simple/rewrite/test#//Atom"/> + </type> <alternatives xsi:type="xtext:Assignment" feature="name" operator="="> <terminal xsi:type="xtext:RuleCall"> <rule href="classpath:/org/eclipse/xtext/builtin/XtextBuiltin.xmi#//@rules.0"/> @@ -51,7 +60,9 @@ </alternatives> </rules> <rules xsi:type="xtext:ParserRule" name="Parens"> - <type metamodel="//@metamodelDeclarations.0" name="Expression"/> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://simple/rewrite/test#//Expression"/> + </type> <alternatives xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Group"> @@ -66,6 +77,9 @@ </alternatives> </rules> <rules xsi:type="xtext:ParserRule" name="TwoNumbers"> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://simple/rewrite/test#//TwoNumbers"/> + </type> <alternatives xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Assignment" feature="num1" operator="="> @@ -90,6 +104,9 @@ </alternatives> </rules> <rules xsi:type="xtext:ParserRule" name="ManyStrings"> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://simple/rewrite/test#//ManyStrings"/> + </type> <alternatives xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Keyword" value="="/> @@ -107,6 +124,9 @@ </alternatives> </rules> <rules xsi:type="xtext:ParserRule" name="Type"> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://simple/rewrite/test#//Type"/> + </type> <alternatives xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Group"> @@ -121,12 +141,17 @@ </abstractTokens> <abstractTokens xsi:type="xtext:Assignment" feature="extends" operator="="> <terminal xsi:type="xtext:CrossReference"> - <type metamodel="//@metamodelDeclarations.0" name="Type"/> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://simple/rewrite/test#//Type"/> + </type> </terminal> </abstractTokens> </alternatives> </rules> <rules xsi:type="xtext:ParserRule" name="Ref2"> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://simple/rewrite/test#//Ref2"/> + </type> <alternatives xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Keyword" value="#2"/> <abstractTokens xsi:type="xtext:Assignment" feature="ref2" operator="="> @@ -143,6 +168,9 @@ </alternatives> </rules> <rules xsi:type="xtext:ParserRule" name="Spare"> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://simple/rewrite/test#//Spare"/> + </type> <alternatives xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Keyword" value="#3"/> diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parsetree/reconstr/XtextGrammarTestLanguageParseTreeConstructor.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parsetree/reconstr/XtextGrammarTestLanguageParseTreeConstructor.java index e6ece1c..6511e29 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parsetree/reconstr/XtextGrammarTestLanguageParseTreeConstructor.java +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parsetree/reconstr/XtextGrammarTestLanguageParseTreeConstructor.java @@ -1685,12 +1685,12 @@ protected class ParserRule_1_Keyword extends KeywordToken { /************ begin Rule TypeRef **************** * - * TypeRef : ( alias = ID '::' ) ? name = ID ; + * TypeRef : ( metamodel = [ AbstractMetamodelDeclaration ] '::' ) ? type = [ EClassifier ] ; * **/ -// ( alias = ID '::' ) ? name = ID +// ( metamodel = [ AbstractMetamodelDeclaration ] '::' ) ? type = [ EClassifier ] protected class TypeRef_Group extends GroupToken { public TypeRef_Group(IInstanceDescription curr, AbstractToken pred) { @@ -1702,7 +1702,7 @@ protected class TypeRef_Group extends GroupToken { } protected Solution createSolution() { - Solution s1 = new TypeRef_1_Assignment_name(current, this).firstSolution(); + Solution s1 = new TypeRef_1_Assignment_type(current, this).firstSolution(); while(s1 != null) { Solution s2 = new TypeRef_0_Group(s1.getCurrent(), s1.getPredecessor()).firstSolution(); if(s2 == null) { @@ -1718,7 +1718,7 @@ protected class TypeRef_Group extends GroupToken { } } -// ( alias = ID '::' ) ? +// ( metamodel = [ AbstractMetamodelDeclaration ] '::' ) ? protected class TypeRef_0_Group extends GroupToken { public TypeRef_0_Group(IInstanceDescription curr, AbstractToken pred) { @@ -1732,7 +1732,7 @@ protected class TypeRef_0_Group extends GroupToken { protected Solution createSolution() { Solution s1 = new TypeRef_0_1_Keyword(current, this).firstSolution(); while(s1 != null) { - Solution s2 = new TypeRef_0_0_Assignment_alias(s1.getCurrent(), s1.getPredecessor()).firstSolution(); + Solution s2 = new TypeRef_0_0_Assignment_metamodel(s1.getCurrent(), s1.getPredecessor()).firstSolution(); if(s2 == null) { s1 = s1.getPredecessor().nextSolution(this); if(s1 == null) return null; @@ -1746,24 +1746,27 @@ protected class TypeRef_0_Group extends GroupToken { } } -// alias = ID -protected class TypeRef_0_0_Assignment_alias extends AssignmentToken { +// metamodel = [ AbstractMetamodelDeclaration ] +protected class TypeRef_0_0_Assignment_metamodel extends AssignmentToken { - public TypeRef_0_0_Assignment_alias(IInstanceDescription curr, AbstractToken pred) { + public TypeRef_0_0_Assignment_metamodel(IInstanceDescription curr, AbstractToken pred) { super(curr, pred, !IS_MANY, IS_REQUIRED); } public Assignment getGrammarElement() { - return XtextGrammarTestLanguageGrammarAccess.INSTANCE.prTypeRef().ele00AssignmentAlias(); + return XtextGrammarTestLanguageGrammarAccess.INSTANCE.prTypeRef().ele00AssignmentMetamodel(); } protected Solution createSolution() { - if((value = current.getConsumable("alias",!IS_REQUIRED)) == null) return null; - IInstanceDescription obj = current.cloneAndConsume("alias"); - if(true) { // xtext::RuleCall FIXME: check if value is valid for lexer rule - type = AssignmentType.LRC; - element = XtextGrammarTestLanguageGrammarAccess.INSTANCE.prTypeRef().ele000LexerRuleCallID(); - return new Solution(obj); + if((value = current.getConsumable("metamodel",!IS_REQUIRED)) == null) return null; + IInstanceDescription obj = current.cloneAndConsume("metamodel"); + if(value instanceof EObject) { // xtext::CrossReference + IInstanceDescription param = getDescr((EObject)value); + if(param.isInstanceOf("AbstractMetamodelDeclaration")) { + type = AssignmentType.CR; + element = XtextGrammarTestLanguageGrammarAccess.INSTANCE.prTypeRef().ele000CrossReferenceAbstractMetamodelDeclaration(); + return new Solution(obj); + } } return null; } @@ -1782,24 +1785,27 @@ protected class TypeRef_0_1_Keyword extends KeywordToken { } -// name = ID -protected class TypeRef_1_Assignment_name extends AssignmentToken { +// type = [ EClassifier ] +protected class TypeRef_1_Assignment_type extends AssignmentToken { - public TypeRef_1_Assignment_name(IInstanceDescription curr, AbstractToken pred) { + public TypeRef_1_Assignment_type(IInstanceDescription curr, AbstractToken pred) { super(curr, pred, !IS_MANY, IS_REQUIRED); } public Assignment getGrammarElement() { - return XtextGrammarTestLanguageGrammarAccess.INSTANCE.prTypeRef().ele1AssignmentName(); + return XtextGrammarTestLanguageGrammarAccess.INSTANCE.prTypeRef().ele1AssignmentType(); } protected Solution createSolution() { - if((value = current.getConsumable("name",IS_REQUIRED)) == null) return null; - IInstanceDescription obj = current.cloneAndConsume("name"); - if(true) { // xtext::RuleCall FIXME: check if value is valid for lexer rule - type = AssignmentType.LRC; - element = XtextGrammarTestLanguageGrammarAccess.INSTANCE.prTypeRef().ele10LexerRuleCallID(); - return new Solution(obj); + if((value = current.getConsumable("type",IS_REQUIRED)) == null) return null; + IInstanceDescription obj = current.cloneAndConsume("type"); + if(value instanceof EObject) { // xtext::CrossReference + IInstanceDescription param = getDescr((EObject)value); + if(param.isInstanceOf("EClassifier")) { + type = AssignmentType.CR; + element = XtextGrammarTestLanguageGrammarAccess.INSTANCE.prTypeRef().ele10CrossReferenceEClassifier(); + return new Solution(obj); + } } return null; } @@ -2286,7 +2292,7 @@ protected class AbstractToken_1_Assignment_cardinality extends AssignmentToken /************ begin Rule Assignment **************** * - * Assignment returns Assignment : feature = ID operator = ( '+=' | '=' | '?=' ) terminal = AbstractTerminal ; + * Assignment : feature = ID operator = ( '+=' | '=' | '?=' ) terminal = AbstractTerminal ; * **/ @@ -2437,7 +2443,7 @@ protected class Assignment_1_Assignment_terminal extends AssignmentToken { /************ begin Rule Action **************** * - * Action returns Action : '{' ( 'current' '=' ) ? typeName = TypeRef '.' feature = ID operator = ( '=' | '+=' ) 'current' '}' ; + * Action : '{' ( 'current' '=' ) ? typeName = TypeRef '.' feature = ID operator = ( '=' | '+=' ) 'current' '}' ; * **/ @@ -2976,12 +2982,12 @@ protected class AbstractTerminal_1_RuleCall_CrossReference extends RuleCallToken /************ begin Rule CrossReference **************** * - * CrossReference : '[' type = TypeRef ( '|' rule = [ LexerRule ] ) ? ']' ; + * CrossReference : '[' type = TypeRef ( '|' rule = [ AbstractRule ] ) ? ']' ; * **/ -// '[' type = TypeRef ( '|' rule = [ LexerRule ] ) ? ']' +// '[' type = TypeRef ( '|' rule = [ AbstractRule ] ) ? ']' protected class CrossReference_Group extends GroupToken { public CrossReference_Group(IInstanceDescription curr, AbstractToken pred) { @@ -3009,7 +3015,7 @@ protected class CrossReference_Group extends GroupToken { } } -// '[' type = TypeRef ( '|' rule = [ LexerRule ] ) ? +// '[' type = TypeRef ( '|' rule = [ AbstractRule ] ) ? protected class CrossReference_0_Group extends GroupToken { public CrossReference_0_Group(IInstanceDescription curr, AbstractToken pred) { @@ -3106,7 +3112,7 @@ protected class CrossReference_0_0_1_Assignment_type extends AssignmentToken { } -// ( '|' rule = [ LexerRule ] ) ? +// ( '|' rule = [ AbstractRule ] ) ? protected class CrossReference_0_1_Group extends GroupToken { public CrossReference_0_1_Group(IInstanceDescription curr, AbstractToken pred) { @@ -3146,7 +3152,7 @@ protected class CrossReference_0_1_0_Keyword extends KeywordToken { } } -// rule = [ LexerRule ] +// rule = [ AbstractRule ] protected class CrossReference_0_1_1_Assignment_rule extends AssignmentToken { public CrossReference_0_1_1_Assignment_rule(IInstanceDescription curr, AbstractToken pred) { @@ -3162,9 +3168,9 @@ protected class CrossReference_0_1_1_Assignment_rule extends AssignmentToken { IInstanceDescription obj = current.cloneAndConsume("rule"); if(value instanceof EObject) { // xtext::CrossReference IInstanceDescription param = getDescr((EObject)value); - if(param.isInstanceOf("LexerRule")) { + if(param.isInstanceOf("AbstractRule")) { type = AssignmentType.CR; - element = XtextGrammarTestLanguageGrammarAccess.INSTANCE.prCrossReference().ele0110CrossReferenceLexerRule(); + element = XtextGrammarTestLanguageGrammarAccess.INSTANCE.prCrossReference().ele0110CrossReferenceAbstractRule(); return new Solution(obj); } } diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parsetree/reconstr/complexrewritetest.ecore b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parsetree/reconstr/complexrewritetest.ecore index 2dc4629..4ba654b 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parsetree/reconstr/complexrewritetest.ecore +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parsetree/reconstr/complexrewritetest.ecore @@ -5,12 +5,6 @@ <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> </eStructuralFeatures> </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="Add" eSuperTypes="//Expression"> - <eStructuralFeatures xsi:type="ecore:EReference" name="addOperands" upperBound="-1" eType="//Expression" containment="true"/> - </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="Minus" eSuperTypes="//Expression"> - <eStructuralFeatures xsi:type="ecore:EReference" name="minusOperands" upperBound="-1" eType="//Expression" containment="true"/> - </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="Atom" eSuperTypes="//Expression"> <eStructuralFeatures xsi:type="ecore:EAttribute" name="name"> <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> @@ -22,12 +16,6 @@ <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> </eStructuralFeatures> </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="TypeB" eSuperTypes="//TypeA1"> - <eStructuralFeatures xsi:type="ecore:EReference" name="x" eType="//TypeD" containment="true"/> - </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="TypeC" eSuperTypes="//TypeA1"> - <eStructuralFeatures xsi:type="ecore:EReference" name="x" eType="//TypeD" containment="true"/> - </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="TrickyB"> <eStructuralFeatures xsi:type="ecore:EAttribute" name="name"> <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> @@ -41,15 +29,6 @@ <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> </eStructuralFeatures> </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="C1" eSuperTypes="//TrickyC"> - <eStructuralFeatures xsi:type="ecore:EReference" name="x" eType="//TrickyC" containment="true"/> - </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="C2" eSuperTypes="//TrickyC"> - <eStructuralFeatures xsi:type="ecore:EReference" name="y" eType="//C1" containment="true"/> - </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="C3" eSuperTypes="//TrickyC"> - <eStructuralFeatures xsi:type="ecore:EReference" name="z" eType="//C2" containment="true"/> - </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="TrickyD"> <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" upperBound="-1"> <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EInt"/> @@ -80,4 +59,25 @@ <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EInt"/> </eStructuralFeatures> </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Add" eSuperTypes="//Expression"> + <eStructuralFeatures xsi:type="ecore:EReference" name="addOperands" upperBound="-1" eType="//Expression" containment="true"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Minus" eSuperTypes="//Expression"> + <eStructuralFeatures xsi:type="ecore:EReference" name="minusOperands" upperBound="-1" eType="//Expression" containment="true"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="TypeB" eSuperTypes="//TypeA1"> + <eStructuralFeatures xsi:type="ecore:EReference" name="x" eType="//TypeD" containment="true"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="TypeC" eSuperTypes="//TypeA1"> + <eStructuralFeatures xsi:type="ecore:EReference" name="x" eType="//TypeD" containment="true"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="C1" eSuperTypes="//TrickyC"> + <eStructuralFeatures xsi:type="ecore:EReference" name="x" eType="//TrickyC" containment="true"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="C2" eSuperTypes="//TrickyC"> + <eStructuralFeatures xsi:type="ecore:EReference" name="y" eType="//C1" containment="true"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="C3" eSuperTypes="//TrickyC"> + <eStructuralFeatures xsi:type="ecore:EReference" name="z" eType="//C2" containment="true"/> + </eClassifiers> </ecore:EPackage> diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parsetree/reconstr/parser/internal/InternalComplexReconstrTestLanguageLexer.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parsetree/reconstr/parser/internal/InternalComplexReconstrTestLanguageLexer.java index ada7c7f..fc2ef22 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parsetree/reconstr/parser/internal/InternalComplexReconstrTestLanguageLexer.java +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parsetree/reconstr/parser/internal/InternalComplexReconstrTestLanguageLexer.java @@ -1,4 +1,4 @@ -// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/parsetree/reconstr/parser/internal/InternalComplexReconstrTestLanguage.g 2008-12-08 18:02:54 +// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/parsetree/reconstr/parser/internal/InternalComplexReconstrTestLanguage.g 2008-12-10 12:15:40 package org.eclipse.xtext.parsetree.reconstr.parser.internal; diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parsetree/reconstr/parser/internal/InternalComplexReconstrTestLanguageParser.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parsetree/reconstr/parser/internal/InternalComplexReconstrTestLanguageParser.java index 1e633a2..2c6b5a9 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parsetree/reconstr/parser/internal/InternalComplexReconstrTestLanguageParser.java +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parsetree/reconstr/parser/internal/InternalComplexReconstrTestLanguageParser.java @@ -1,4 +1,4 @@ -// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/parsetree/reconstr/parser/internal/InternalComplexReconstrTestLanguage.g 2008-12-08 18:02:54 +// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/parsetree/reconstr/parser/internal/InternalComplexReconstrTestLanguage.g 2008-12-10 12:15:40 package org.eclipse.xtext.parsetree.reconstr.parser.internal; diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parsetree/reconstr/parser/internal/InternalSimpleReconstrTestLanguageLexer.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parsetree/reconstr/parser/internal/InternalSimpleReconstrTestLanguageLexer.java index fde873b..14fd12b 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parsetree/reconstr/parser/internal/InternalSimpleReconstrTestLanguageLexer.java +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parsetree/reconstr/parser/internal/InternalSimpleReconstrTestLanguageLexer.java @@ -1,4 +1,4 @@ -// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/parsetree/reconstr/parser/internal/InternalSimpleReconstrTestLanguage.g 2008-12-08 18:02:53 +// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/parsetree/reconstr/parser/internal/InternalSimpleReconstrTestLanguage.g 2008-12-10 12:15:39 package org.eclipse.xtext.parsetree.reconstr.parser.internal; diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parsetree/reconstr/parser/internal/InternalSimpleReconstrTestLanguageParser.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parsetree/reconstr/parser/internal/InternalSimpleReconstrTestLanguageParser.java index 4232a5b..57d621c 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parsetree/reconstr/parser/internal/InternalSimpleReconstrTestLanguageParser.java +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parsetree/reconstr/parser/internal/InternalSimpleReconstrTestLanguageParser.java @@ -1,4 +1,4 @@ -// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/parsetree/reconstr/parser/internal/InternalSimpleReconstrTestLanguage.g 2008-12-08 18:02:53 +// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/parsetree/reconstr/parser/internal/InternalSimpleReconstrTestLanguage.g 2008-12-10 12:15:39 package org.eclipse.xtext.parsetree.reconstr.parser.internal; diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parsetree/reconstr/services/ComplexReconstrTestLanguageGrammarAccess.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parsetree/reconstr/services/ComplexReconstrTestLanguageGrammarAccess.java index f8d91e9..4ae7b25 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parsetree/reconstr/services/ComplexReconstrTestLanguageGrammarAccess.java +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parsetree/reconstr/services/ComplexReconstrTestLanguageGrammarAccess.java @@ -148,7 +148,7 @@ public class ComplexReconstrTestLanguageGrammarAccess extends BaseEPackageAccess // name = ID public Assignment eleAssignmentName() { - return (cAssignmentName != null) ? cAssignmentName : (cAssignmentName = (Assignment)getRule().eContents().get(0)); + return (cAssignmentName != null) ? cAssignmentName : (cAssignmentName = (Assignment)getRule().eContents().get(1)); } // ID @@ -366,7 +366,7 @@ public class ComplexReconstrTestLanguageGrammarAccess extends BaseEPackageAccess // 'TB' ( name = ID type += INT ) ? ( type += ID ) * public Group eleGroup() { - return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(0)); + return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(1)); } // 'TB' ( name = ID type += INT ) ? @@ -441,7 +441,7 @@ public class ComplexReconstrTestLanguageGrammarAccess extends BaseEPackageAccess // 'TC' name = ID ( { current = C1 . x = current } 'x' ) ? ( { current = C2 . y = current } 'y' ) ? ( { current = C3 . z = current } 'z' ) ? public Group eleGroup() { - return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(0)); + return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(1)); } // 'TC' name = ID ( { current = C1 . x = current } 'x' ) ? ( { current = C2 . y = current } 'y' ) ? @@ -549,7 +549,7 @@ public class ComplexReconstrTestLanguageGrammarAccess extends BaseEPackageAccess // 'TD' ( name += INT foo = STRING type += ID ) ? ( name += INT type += ID ) ? ( type += ID ) * public Group eleGroup() { - return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(0)); + return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(1)); } // 'TD' ( name += INT foo = STRING type += ID ) ? ( name += INT type += ID ) ? @@ -671,7 +671,7 @@ public class ComplexReconstrTestLanguageGrammarAccess extends BaseEPackageAccess // 'TE' ( name += INT foo += STRING type += ID ) * 'x' ( name += INT type += ID ) * public Group eleGroup() { - return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(0)); + return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(1)); } // 'TE' ( name += INT foo += STRING type += ID ) * 'x' @@ -783,7 +783,7 @@ public class ComplexReconstrTestLanguageGrammarAccess extends BaseEPackageAccess // 'TF' ( name += ID type += INT ) * ( name += ID | type += INT ) public Group eleGroup() { - return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(0)); + return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(1)); } // 'TF' ( name += ID type += INT ) * diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parsetree/reconstr/services/SimpleReconstrTestLanguageGrammarAccess.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parsetree/reconstr/services/SimpleReconstrTestLanguageGrammarAccess.java index 3b01ea8..50ed4a9 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parsetree/reconstr/services/SimpleReconstrTestLanguageGrammarAccess.java +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parsetree/reconstr/services/SimpleReconstrTestLanguageGrammarAccess.java @@ -154,7 +154,7 @@ public class SimpleReconstrTestLanguageGrammarAccess extends BaseEPackageAccess // name = ID public Assignment eleAssignmentName() { - return (cAssignmentName != null) ? cAssignmentName : (cAssignmentName = (Assignment)getRule().eContents().get(0)); + return (cAssignmentName != null) ? cAssignmentName : (cAssignmentName = (Assignment)getRule().eContents().get(1)); } // ID @@ -240,7 +240,7 @@ public class SimpleReconstrTestLanguageGrammarAccess extends BaseEPackageAccess // num1 = INT num2 = INT ( '#' num3 += INT ) * public Group eleGroup() { - return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(0)); + return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(1)); } // num1 = INT num2 = INT @@ -306,7 +306,7 @@ public class SimpleReconstrTestLanguageGrammarAccess extends BaseEPackageAccess // '=' ( str1 += STRING ) * str2 += STRING public Group eleGroup() { - return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(0)); + return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(1)); } // '=' ( str1 += STRING ) * @@ -359,7 +359,7 @@ public class SimpleReconstrTestLanguageGrammarAccess extends BaseEPackageAccess // 'type' name = ID 'extends' ^extends = [ Type ] public Group eleGroup() { - return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(0)); + return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(1)); } // 'type' name = ID 'extends' @@ -421,7 +421,7 @@ public class SimpleReconstrTestLanguageGrammarAccess extends BaseEPackageAccess // '#2' ref2 = ( 'mykeyword1' | STRING | 'mykeyword2' ) public Group eleGroup() { - return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(0)); + return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(1)); } // '#2' @@ -479,7 +479,7 @@ public class SimpleReconstrTestLanguageGrammarAccess extends BaseEPackageAccess // '#3' id += ID ( '.' id += ID ) * public Group eleGroup() { - return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(0)); + return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(1)); } // '#3' id += ID diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parsetree/reconstr/simplerewritetest.ecore b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parsetree/reconstr/simplerewritetest.ecore index 4e03d68..50fbbf8 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parsetree/reconstr/simplerewritetest.ecore +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parsetree/reconstr/simplerewritetest.ecore @@ -5,9 +5,6 @@ <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> </eStructuralFeatures> </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="Op" eSuperTypes="//Expression"> - <eStructuralFeatures xsi:type="ecore:EReference" name="values" upperBound="-1" eType="//Expression" containment="true"/> - </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="Atom" eSuperTypes="//Expression"> <eStructuralFeatures xsi:type="ecore:EAttribute" name="name"> <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> @@ -48,4 +45,7 @@ <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> </eStructuralFeatures> </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Op" eSuperTypes="//Expression"> + <eStructuralFeatures xsi:type="ecore:EReference" name="values" upperBound="-1" eType="//Expression" containment="true"/> + </eClassifiers> </ecore:EPackage> diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parsetree/transientvalues/AbstractTransientValuesTestRuntimeConfig.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parsetree/transientvalues/AbstractTransientValuesTestRuntimeConfig.java index 6e4edbc..e3d8a06 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parsetree/transientvalues/AbstractTransientValuesTestRuntimeConfig.java +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parsetree/transientvalues/AbstractTransientValuesTestRuntimeConfig.java @@ -9,14 +9,14 @@ import org.eclipse.xtext.service.AbstractServiceRegistrationFactory; */ public abstract class AbstractTransientValuesTestRuntimeConfig extends AbstractServiceRegistrationFactory { - protected Class<? extends org.eclipse.xtext.IGrammarAccess> getIGrammarAccess() { - return org.eclipse.xtext.parsetree.transientvalues.services.TransientValuesTestGrammarAccess.class; - } - protected Class<? extends org.eclipse.xtext.IMetamodelAccess> getIMetamodelAccess() { return org.eclipse.xtext.parsetree.transientvalues.services.TransientValuesTestMetamodelAccess.class; } + protected Class<? extends org.eclipse.xtext.IGrammarAccess> getIGrammarAccess() { + return org.eclipse.xtext.parsetree.transientvalues.services.TransientValuesTestGrammarAccess.class; + } + protected Class<? extends org.eclipse.xtext.parser.IAstFactory> getIAstFactory() { return org.eclipse.xtext.parser.GenericEcoreElementFactory.class; } @@ -56,8 +56,8 @@ public abstract class AbstractTransientValuesTestRuntimeConfig extends AbstractS public Set<IServiceRegistration> registrations() { return scope(org.eclipse.xtext.parsetree.transientvalues.ITransientValuesTest.SCOPE) - .with(org.eclipse.xtext.IGrammarAccess.class, getIGrammarAccess()) .with(org.eclipse.xtext.IMetamodelAccess.class, getIMetamodelAccess()) + .with(org.eclipse.xtext.IGrammarAccess.class, getIGrammarAccess()) .with(org.eclipse.xtext.parser.IAstFactory.class, getIAstFactory()) .with(org.eclipse.xtext.parser.IParser.class, getIParser()) .with(org.eclipse.xtext.parser.antlr.IAntlrTokenFileProvider.class, getIAntlrTokenFileProvider()) diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parsetree/transientvalues/TransientValuesTest.xmi b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parsetree/transientvalues/TransientValuesTest.xmi index 342885a..344d363 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parsetree/transientvalues/TransientValuesTest.xmi +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parsetree/transientvalues/TransientValuesTest.xmi @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="ASCII"?> -<xtext:Grammar xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xtext="http://www.eclipse.org/2008/Xtext"> +<xtext:Grammar xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:xtext="http://www.eclipse.org/2008/Xtext"> <idElements>org</idElements> <idElements>eclipse</idElements> <idElements>xtext</idElements> @@ -8,6 +8,9 @@ <idElements>TransientValuesTest</idElements> <metamodelDeclarations xsi:type="xtext:GeneratedMetamodel" name="transientvaluestest" nsURI="http://simple/transientvaluestest"/> <rules xsi:type="xtext:ParserRule" name="Root"> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://simple/transientvaluestest#//Root"/> + </type> <alternatives xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Keyword" value="test"/> <abstractTokens xsi:type="xtext:Alternatives"> @@ -20,6 +23,9 @@ </alternatives> </rules> <rules xsi:type="xtext:ParserRule" name="TestRequired"> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://simple/transientvaluestest#//TestRequired"/> + </type> <alternatives xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Keyword" value="required"/> @@ -37,6 +43,9 @@ </alternatives> </rules> <rules xsi:type="xtext:ParserRule" name="TestOptional"> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://simple/transientvaluestest#//TestOptional"/> + </type> <alternatives xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Keyword" value="optional"/> @@ -57,6 +66,9 @@ </alternatives> </rules> <rules xsi:type="xtext:ParserRule" name="TestList"> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://simple/transientvaluestest#//TestList"/> + </type> <alternatives xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Keyword" value="list"/> <abstractTokens xsi:type="xtext:Assignment" cardinality="*" feature="item" operator="+="> diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parsetree/transientvalues/parser/internal/InternalTransientValuesTestLexer.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parsetree/transientvalues/parser/internal/InternalTransientValuesTestLexer.java index 682f23b..4e9b9b9 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parsetree/transientvalues/parser/internal/InternalTransientValuesTestLexer.java +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parsetree/transientvalues/parser/internal/InternalTransientValuesTestLexer.java @@ -1,4 +1,4 @@ -// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/parsetree/transientvalues/parser/internal/InternalTransientValuesTest.g 2008-12-08 18:03:02 +// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/parsetree/transientvalues/parser/internal/InternalTransientValuesTest.g 2008-12-10 12:15:47 package org.eclipse.xtext.parsetree.transientvalues.parser.internal; diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parsetree/transientvalues/parser/internal/InternalTransientValuesTestParser.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parsetree/transientvalues/parser/internal/InternalTransientValuesTestParser.java index f4af952..ac50a10 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parsetree/transientvalues/parser/internal/InternalTransientValuesTestParser.java +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parsetree/transientvalues/parser/internal/InternalTransientValuesTestParser.java @@ -1,4 +1,4 @@ -// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/parsetree/transientvalues/parser/internal/InternalTransientValuesTest.g 2008-12-08 18:03:02 +// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/parsetree/transientvalues/parser/internal/InternalTransientValuesTest.g 2008-12-10 12:15:47 package org.eclipse.xtext.parsetree.transientvalues.parser.internal; diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parsetree/transientvalues/services/TransientValuesTestGrammarAccess.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parsetree/transientvalues/services/TransientValuesTestGrammarAccess.java index 1ccab43..a339185 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parsetree/transientvalues/services/TransientValuesTestGrammarAccess.java +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parsetree/transientvalues/services/TransientValuesTestGrammarAccess.java @@ -27,7 +27,7 @@ public class TransientValuesTestGrammarAccess extends BaseEPackageAccess impleme // 'test' ( TestRequired | TestOptional | TestList ) public Group eleGroup() { - return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(0)); + return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(1)); } // 'test' @@ -78,7 +78,7 @@ public class TransientValuesTestGrammarAccess extends BaseEPackageAccess impleme // 'required' required1 = INT required2 = INT public Group eleGroup() { - return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(0)); + return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(1)); } // 'required' required1 = INT @@ -131,7 +131,7 @@ public class TransientValuesTestGrammarAccess extends BaseEPackageAccess impleme // 'optional' ( opt1 = INT ) ? ( ':' opt2 = INT ) ? public Group eleGroup() { - return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(0)); + return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(1)); } // 'optional' ( opt1 = INT ) ? @@ -189,7 +189,7 @@ public class TransientValuesTestGrammarAccess extends BaseEPackageAccess impleme // 'list' ( item += INT ) * public Group eleGroup() { - return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(0)); + return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(1)); } // 'list' diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/services/XtextGrammarTestLanguageGrammarAccess.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/services/XtextGrammarTestLanguageGrammarAccess.java index b126628..93ac29b 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/services/XtextGrammarTestLanguageGrammarAccess.java +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/services/XtextGrammarTestLanguageGrammarAccess.java @@ -43,12 +43,12 @@ public class XtextGrammarTestLanguageGrammarAccess extends BaseEPackageAccess im // Grammar : ( abstract ?= 'abstract language' | 'language' ) idElements += ID ( '.' idElements += ID ) * ( 'extends' superGrammarIdElements += ID ( '.' superGrammarIdElements += ID ) * ) ? ( metamodelDeclarations += AbstractMetamodelDeclaration ) * ( rules += AbstractRule ) + ; public ParserRule getRule() { - return (rule != null) ? rule : (rule = (ParserRule) getGrammar().eContents().get(1)); + return (rule != null) ? rule : (rule = (ParserRule) getGrammar().eContents().get(2)); } // ( abstract ?= 'abstract language' | 'language' ) idElements += ID ( '.' idElements += ID ) * ( 'extends' superGrammarIdElements += ID ( '.' superGrammarIdElements += ID ) * ) ? ( metamodelDeclarations += AbstractMetamodelDeclaration ) * ( rules += AbstractRule ) + public Group eleGroup() { - return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(0)); + return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(1)); } // ( abstract ?= 'abstract language' | 'language' ) idElements += ID ( '.' idElements += ID ) * ( 'extends' superGrammarIdElements += ID ( '.' superGrammarIdElements += ID ) * ) ? ( metamodelDeclarations += AbstractMetamodelDeclaration ) * @@ -195,12 +195,12 @@ public class XtextGrammarTestLanguageGrammarAccess extends BaseEPackageAccess im // AbstractRule : LexerRule | ParserRule ; public ParserRule getRule() { - return (rule != null) ? rule : (rule = (ParserRule) getGrammar().eContents().get(2)); + return (rule != null) ? rule : (rule = (ParserRule) getGrammar().eContents().get(3)); } // LexerRule | ParserRule public Alternatives eleAlternatives() { - return (cAlternatives != null) ? cAlternatives : (cAlternatives = (Alternatives)getRule().eContents().get(0)); + return (cAlternatives != null) ? cAlternatives : (cAlternatives = (Alternatives)getRule().eContents().get(1)); } // LexerRule @@ -222,12 +222,12 @@ public class XtextGrammarTestLanguageGrammarAccess extends BaseEPackageAccess im // AbstractMetamodelDeclaration : GeneratedMetamodel | ReferencedMetamodel ; public ParserRule getRule() { - return (rule != null) ? rule : (rule = (ParserRule) getGrammar().eContents().get(3)); + return (rule != null) ? rule : (rule = (ParserRule) getGrammar().eContents().get(4)); } // GeneratedMetamodel | ReferencedMetamodel public Alternatives eleAlternatives() { - return (cAlternatives != null) ? cAlternatives : (cAlternatives = (Alternatives)getRule().eContents().get(0)); + return (cAlternatives != null) ? cAlternatives : (cAlternatives = (Alternatives)getRule().eContents().get(1)); } // GeneratedMetamodel @@ -258,12 +258,12 @@ public class XtextGrammarTestLanguageGrammarAccess extends BaseEPackageAccess im // GeneratedMetamodel : 'generate' name = ID nsURI = STRING ( 'as' alias = ID ) ? ; public ParserRule getRule() { - return (rule != null) ? rule : (rule = (ParserRule) getGrammar().eContents().get(4)); + return (rule != null) ? rule : (rule = (ParserRule) getGrammar().eContents().get(5)); } // 'generate' name = ID nsURI = STRING ( 'as' alias = ID ) ? public Group eleGroup() { - return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(0)); + return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(1)); } // 'generate' name = ID nsURI = STRING @@ -336,12 +336,12 @@ public class XtextGrammarTestLanguageGrammarAccess extends BaseEPackageAccess im // ReferencedMetamodel : 'import' uri = STRING ( 'as' alias = ID ) ? ; public ParserRule getRule() { - return (rule != null) ? rule : (rule = (ParserRule) getGrammar().eContents().get(5)); + return (rule != null) ? rule : (rule = (ParserRule) getGrammar().eContents().get(6)); } // 'import' uri = STRING ( 'as' alias = ID ) ? public Group eleGroup() { - return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(0)); + return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(1)); } // 'import' uri = STRING @@ -408,12 +408,12 @@ public class XtextGrammarTestLanguageGrammarAccess extends BaseEPackageAccess im // LexerRule : ( 'native' | 'lexer' ) name = ID ( 'returns' type = TypeRef ) ? ':' body = STRING ';' ; public ParserRule getRule() { - return (rule != null) ? rule : (rule = (ParserRule) getGrammar().eContents().get(6)); + return (rule != null) ? rule : (rule = (ParserRule) getGrammar().eContents().get(7)); } // ( 'native' | 'lexer' ) name = ID ( 'returns' type = TypeRef ) ? ':' body = STRING ';' public Group eleGroup() { - return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(0)); + return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(1)); } // ( 'native' | 'lexer' ) name = ID ( 'returns' type = TypeRef ) ? ':' body = STRING @@ -521,12 +521,12 @@ public class XtextGrammarTestLanguageGrammarAccess extends BaseEPackageAccess im // ParserRule : name = ID ( 'returns' type = TypeRef ) ? ':' alternatives = Alternatives ';' ; public ParserRule getRule() { - return (rule != null) ? rule : (rule = (ParserRule) getGrammar().eContents().get(7)); + return (rule != null) ? rule : (rule = (ParserRule) getGrammar().eContents().get(8)); } // name = ID ( 'returns' type = TypeRef ) ? ':' alternatives = Alternatives ';' public Group eleGroup() { - return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(0)); + return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(1)); } // name = ID ( 'returns' type = TypeRef ) ? ':' alternatives = Alternatives @@ -599,35 +599,35 @@ public class XtextGrammarTestLanguageGrammarAccess extends BaseEPackageAccess im private ParserRule rule; private Group cGroup; private Group c0Group; - private Assignment c00AssignmentAlias; - private RuleCall c000LexerRuleCallID; + private Assignment c00AssignmentMetamodel; + private CrossReference c000CrossReferenceAbstractMetamodelDeclaration; private Keyword c01Keyword; - private Assignment c1AssignmentName; - private RuleCall c10LexerRuleCallID; + private Assignment c1AssignmentType; + private CrossReference c10CrossReferenceEClassifier; - // TypeRef : ( alias = ID '::' ) ? name = ID ; + // TypeRef : ( metamodel = [ AbstractMetamodelDeclaration ] '::' ) ? type = [ EClassifier ] ; public ParserRule getRule() { - return (rule != null) ? rule : (rule = (ParserRule) getGrammar().eContents().get(8)); + return (rule != null) ? rule : (rule = (ParserRule) getGrammar().eContents().get(9)); } - // ( alias = ID '::' ) ? name = ID + // ( metamodel = [ AbstractMetamodelDeclaration ] '::' ) ? type = [ EClassifier ] public Group eleGroup() { - return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(0)); + return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(1)); } - // ( alias = ID '::' ) ? + // ( metamodel = [ AbstractMetamodelDeclaration ] '::' ) ? public Group ele0Group() { return (c0Group != null) ? c0Group : (c0Group = (Group)eleGroup().eContents().get(0)); } - // alias = ID - public Assignment ele00AssignmentAlias() { - return (c00AssignmentAlias != null) ? c00AssignmentAlias : (c00AssignmentAlias = (Assignment)ele0Group().eContents().get(0)); + // metamodel = [ AbstractMetamodelDeclaration ] + public Assignment ele00AssignmentMetamodel() { + return (c00AssignmentMetamodel != null) ? c00AssignmentMetamodel : (c00AssignmentMetamodel = (Assignment)ele0Group().eContents().get(0)); } - // ID - public RuleCall ele000LexerRuleCallID() { - return (c000LexerRuleCallID != null) ? c000LexerRuleCallID : (c000LexerRuleCallID = (RuleCall)ele00AssignmentAlias().eContents().get(0)); + // [ AbstractMetamodelDeclaration ] + public CrossReference ele000CrossReferenceAbstractMetamodelDeclaration() { + return (c000CrossReferenceAbstractMetamodelDeclaration != null) ? c000CrossReferenceAbstractMetamodelDeclaration : (c000CrossReferenceAbstractMetamodelDeclaration = (CrossReference)ele00AssignmentMetamodel().eContents().get(0)); } // '::' @@ -635,14 +635,14 @@ public class XtextGrammarTestLanguageGrammarAccess extends BaseEPackageAccess im return (c01Keyword != null) ? c01Keyword : (c01Keyword = (Keyword)ele0Group().eContents().get(1)); } - // name = ID - public Assignment ele1AssignmentName() { - return (c1AssignmentName != null) ? c1AssignmentName : (c1AssignmentName = (Assignment)eleGroup().eContents().get(1)); + // type = [ EClassifier ] + public Assignment ele1AssignmentType() { + return (c1AssignmentType != null) ? c1AssignmentType : (c1AssignmentType = (Assignment)eleGroup().eContents().get(1)); } - // ID - public RuleCall ele10LexerRuleCallID() { - return (c10LexerRuleCallID != null) ? c10LexerRuleCallID : (c10LexerRuleCallID = (RuleCall)ele1AssignmentName().eContents().get(0)); + // [ EClassifier ] + public CrossReference ele10CrossReferenceEClassifier() { + return (c10CrossReferenceEClassifier != null) ? c10CrossReferenceEClassifier : (c10CrossReferenceEClassifier = (CrossReference)ele1AssignmentType().eContents().get(0)); } } @@ -659,7 +659,7 @@ public class XtextGrammarTestLanguageGrammarAccess extends BaseEPackageAccess im // Alternatives returns AbstractElement : Group ( { current = Alternatives . groups += current } '|' groups += Group ) * ; public ParserRule getRule() { - return (rule != null) ? rule : (rule = (ParserRule) getGrammar().eContents().get(9)); + return (rule != null) ? rule : (rule = (ParserRule) getGrammar().eContents().get(10)); } // Group ( { current = Alternatives . groups += current } '|' groups += Group ) * @@ -714,7 +714,7 @@ public class XtextGrammarTestLanguageGrammarAccess extends BaseEPackageAccess im // Group returns AbstractElement : AbstractToken ( { current = Group . abstractTokens += current } abstractTokens += AbstractToken ) * ; public ParserRule getRule() { - return (rule != null) ? rule : (rule = (ParserRule) getGrammar().eContents().get(10)); + return (rule != null) ? rule : (rule = (ParserRule) getGrammar().eContents().get(11)); } // AbstractToken ( { current = Group . abstractTokens += current } abstractTokens += AbstractToken ) * @@ -765,7 +765,7 @@ public class XtextGrammarTestLanguageGrammarAccess extends BaseEPackageAccess im // AbstractToken returns AbstractElement : ( Assignment | Action | AbstractTerminal ) ( cardinality = ( '?' | '*' | '+' ) ) ? ; public ParserRule getRule() { - return (rule != null) ? rule : (rule = (ParserRule) getGrammar().eContents().get(11)); + return (rule != null) ? rule : (rule = (ParserRule) getGrammar().eContents().get(12)); } // ( Assignment | Action | AbstractTerminal ) ( cardinality = ( '?' | '*' | '+' ) ) ? @@ -844,9 +844,9 @@ public class XtextGrammarTestLanguageGrammarAccess extends BaseEPackageAccess im private Assignment c1AssignmentTerminal; private RuleCall c10ParserRuleCallAbstractTerminal; - // Assignment returns Assignment : feature = ID operator = ( '+=' | '=' | '?=' ) terminal = AbstractTerminal ; + // Assignment : feature = ID operator = ( '+=' | '=' | '?=' ) terminal = AbstractTerminal ; public ParserRule getRule() { - return (rule != null) ? rule : (rule = (ParserRule) getGrammar().eContents().get(12)); + return (rule != null) ? rule : (rule = (ParserRule) getGrammar().eContents().get(13)); } // feature = ID operator = ( '+=' | '=' | '?=' ) terminal = AbstractTerminal @@ -935,9 +935,9 @@ public class XtextGrammarTestLanguageGrammarAccess extends BaseEPackageAccess im private Keyword c01KeywordCurrent; private Keyword c1Keyword; - // Action returns Action : '{' ( 'current' '=' ) ? typeName = TypeRef '.' feature = ID operator = ( '=' | '+=' ) 'current' '}' ; + // Action : '{' ( 'current' '=' ) ? typeName = TypeRef '.' feature = ID operator = ( '=' | '+=' ) 'current' '}' ; public ParserRule getRule() { - return (rule != null) ? rule : (rule = (ParserRule) getGrammar().eContents().get(13)); + return (rule != null) ? rule : (rule = (ParserRule) getGrammar().eContents().get(14)); } // '{' ( 'current' '=' ) ? typeName = TypeRef '.' feature = ID operator = ( '=' | '+=' ) 'current' '}' @@ -1063,7 +1063,7 @@ public class XtextGrammarTestLanguageGrammarAccess extends BaseEPackageAccess im // AbstractTerminal returns AbstractElement : Keyword | RuleCall | ParenthesizedElement | CrossReference ; public ParserRule getRule() { - return (rule != null) ? rule : (rule = (ParserRule) getGrammar().eContents().get(14)); + return (rule != null) ? rule : (rule = (ParserRule) getGrammar().eContents().get(15)); } // Keyword | RuleCall | ParenthesizedElement | CrossReference @@ -1113,20 +1113,20 @@ public class XtextGrammarTestLanguageGrammarAccess extends BaseEPackageAccess im private Group c01Group; private Keyword c010Keyword; private Assignment c011AssignmentRule; - private CrossReference c0110CrossReferenceLexerRule; + private CrossReference c0110CrossReferenceAbstractRule; private Keyword c1Keyword; - // CrossReference : '[' type = TypeRef ( '|' rule = [ LexerRule ] ) ? ']' ; + // CrossReference : '[' type = TypeRef ( '|' rule = [ AbstractRule ] ) ? ']' ; public ParserRule getRule() { - return (rule != null) ? rule : (rule = (ParserRule) getGrammar().eContents().get(15)); + return (rule != null) ? rule : (rule = (ParserRule) getGrammar().eContents().get(16)); } - // '[' type = TypeRef ( '|' rule = [ LexerRule ] ) ? ']' + // '[' type = TypeRef ( '|' rule = [ AbstractRule ] ) ? ']' public Group eleGroup() { - return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(0)); + return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(1)); } - // '[' type = TypeRef ( '|' rule = [ LexerRule ] ) ? + // '[' type = TypeRef ( '|' rule = [ AbstractRule ] ) ? public Group ele0Group() { return (c0Group != null) ? c0Group : (c0Group = (Group)eleGroup().eContents().get(0)); } @@ -1151,7 +1151,7 @@ public class XtextGrammarTestLanguageGrammarAccess extends BaseEPackageAccess im return (c0010ParserRuleCallTypeRef != null) ? c0010ParserRuleCallTypeRef : (c0010ParserRuleCallTypeRef = (RuleCall)ele001AssignmentType().eContents().get(0)); } - // ( '|' rule = [ LexerRule ] ) ? + // ( '|' rule = [ AbstractRule ] ) ? public Group ele01Group() { return (c01Group != null) ? c01Group : (c01Group = (Group)ele0Group().eContents().get(1)); } @@ -1161,14 +1161,14 @@ public class XtextGrammarTestLanguageGrammarAccess extends BaseEPackageAccess im return (c010Keyword != null) ? c010Keyword : (c010Keyword = (Keyword)ele01Group().eContents().get(0)); } - // rule = [ LexerRule ] + // rule = [ AbstractRule ] public Assignment ele011AssignmentRule() { return (c011AssignmentRule != null) ? c011AssignmentRule : (c011AssignmentRule = (Assignment)ele01Group().eContents().get(1)); } - // [ LexerRule ] - public CrossReference ele0110CrossReferenceLexerRule() { - return (c0110CrossReferenceLexerRule != null) ? c0110CrossReferenceLexerRule : (c0110CrossReferenceLexerRule = (CrossReference)ele011AssignmentRule().eContents().get(0)); + // [ AbstractRule ] + public CrossReference ele0110CrossReferenceAbstractRule() { + return (c0110CrossReferenceAbstractRule != null) ? c0110CrossReferenceAbstractRule : (c0110CrossReferenceAbstractRule = (CrossReference)ele011AssignmentRule().eContents().get(0)); } // ']' @@ -1187,7 +1187,7 @@ public class XtextGrammarTestLanguageGrammarAccess extends BaseEPackageAccess im // ParenthesizedElement returns AbstractElement : '(' Alternatives ')' ; public ParserRule getRule() { - return (rule != null) ? rule : (rule = (ParserRule) getGrammar().eContents().get(16)); + return (rule != null) ? rule : (rule = (ParserRule) getGrammar().eContents().get(17)); } // '(' Alternatives ')' @@ -1223,12 +1223,12 @@ public class XtextGrammarTestLanguageGrammarAccess extends BaseEPackageAccess im // Keyword : value = STRING ; public ParserRule getRule() { - return (rule != null) ? rule : (rule = (ParserRule) getGrammar().eContents().get(17)); + return (rule != null) ? rule : (rule = (ParserRule) getGrammar().eContents().get(18)); } // value = STRING public Assignment eleAssignmentValue() { - return (cAssignmentValue != null) ? cAssignmentValue : (cAssignmentValue = (Assignment)getRule().eContents().get(0)); + return (cAssignmentValue != null) ? cAssignmentValue : (cAssignmentValue = (Assignment)getRule().eContents().get(1)); } // STRING @@ -1244,12 +1244,12 @@ public class XtextGrammarTestLanguageGrammarAccess extends BaseEPackageAccess im // RuleCall : rule = [ AbstractRule ] ; public ParserRule getRule() { - return (rule != null) ? rule : (rule = (ParserRule) getGrammar().eContents().get(18)); + return (rule != null) ? rule : (rule = (ParserRule) getGrammar().eContents().get(19)); } // rule = [ AbstractRule ] public Assignment eleAssignmentRule() { - return (cAssignmentRule != null) ? cAssignmentRule : (cAssignmentRule = (Assignment)getRule().eContents().get(0)); + return (cAssignmentRule != null) ? cAssignmentRule : (cAssignmentRule = (Assignment)getRule().eContents().get(1)); } // [ AbstractRule ] @@ -1331,7 +1331,7 @@ public class XtextGrammarTestLanguageGrammarAccess extends BaseEPackageAccess im return (pParserRule != null) ? pParserRule : (pParserRule = new ParserRuleElements()); } - // TypeRef : ( alias = ID '::' ) ? name = ID ; + // TypeRef : ( metamodel = [ AbstractMetamodelDeclaration ] '::' ) ? type = [ EClassifier ] ; public TypeRefElements prTypeRef() { return (pTypeRef != null) ? pTypeRef : (pTypeRef = new TypeRefElements()); } @@ -1351,12 +1351,12 @@ public class XtextGrammarTestLanguageGrammarAccess extends BaseEPackageAccess im return (pAbstractToken != null) ? pAbstractToken : (pAbstractToken = new AbstractTokenElements()); } - // Assignment returns Assignment : feature = ID operator = ( '+=' | '=' | '?=' ) terminal = AbstractTerminal ; + // Assignment : feature = ID operator = ( '+=' | '=' | '?=' ) terminal = AbstractTerminal ; public AssignmentElements prAssignment() { return (pAssignment != null) ? pAssignment : (pAssignment = new AssignmentElements()); } - // Action returns Action : '{' ( 'current' '=' ) ? typeName = TypeRef '.' feature = ID operator = ( '=' | '+=' ) 'current' '}' ; + // Action : '{' ( 'current' '=' ) ? typeName = TypeRef '.' feature = ID operator = ( '=' | '+=' ) 'current' '}' ; public ActionElements prAction() { return (pAction != null) ? pAction : (pAction = new ActionElements()); } @@ -1366,7 +1366,7 @@ public class XtextGrammarTestLanguageGrammarAccess extends BaseEPackageAccess im return (pAbstractTerminal != null) ? pAbstractTerminal : (pAbstractTerminal = new AbstractTerminalElements()); } - // CrossReference : '[' type = TypeRef ( '|' rule = [ LexerRule ] ) ? ']' ; + // CrossReference : '[' type = TypeRef ( '|' rule = [ AbstractRule ] ) ? ']' ; public CrossReferenceElements prCrossReference() { return (pCrossReference != null) ? pCrossReference : (pCrossReference = new CrossReferenceElements()); } diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/services/XtextGrammarTestLanguageMetamodelAccess.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/services/XtextGrammarTestLanguageMetamodelAccess.java index b20f352..7816dc7 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/services/XtextGrammarTestLanguageMetamodelAccess.java +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/services/XtextGrammarTestLanguageMetamodelAccess.java @@ -28,13 +28,15 @@ public class XtextGrammarTestLanguageMetamodelAccess extends BaseEPackageAccess private EPackage[] referenced = new EPackage[] { + BaseEPackageAccess.getEPackageFromRegistry("http://www.eclipse.org/emf/2002/Ecore") + }; public EPackage[] getReferencedEPackages() { return referenced; } private EPackage[] all = new EPackage[] { - getXtextTestEPackage() + getXtextTestEPackage(),BaseEPackageAccess.getEPackageFromRegistry("http://www.eclipse.org/emf/2002/Ecore") }; public EPackage[] getAllEPackages() { diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/AbstractActionTestLanguageRuntimeConfig.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/AbstractActionTestLanguageRuntimeConfig.java index d671190..9e75a46 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/AbstractActionTestLanguageRuntimeConfig.java +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/AbstractActionTestLanguageRuntimeConfig.java @@ -9,14 +9,14 @@ import org.eclipse.xtext.service.AbstractServiceRegistrationFactory; */ public abstract class AbstractActionTestLanguageRuntimeConfig extends AbstractServiceRegistrationFactory { - protected Class<? extends org.eclipse.xtext.IGrammarAccess> getIGrammarAccess() { - return org.eclipse.xtext.testlanguages.services.ActionTestLanguageGrammarAccess.class; - } - protected Class<? extends org.eclipse.xtext.IMetamodelAccess> getIMetamodelAccess() { return org.eclipse.xtext.testlanguages.services.ActionTestLanguageMetamodelAccess.class; } + protected Class<? extends org.eclipse.xtext.IGrammarAccess> getIGrammarAccess() { + return org.eclipse.xtext.testlanguages.services.ActionTestLanguageGrammarAccess.class; + } + protected Class<? extends org.eclipse.xtext.parser.IAstFactory> getIAstFactory() { return org.eclipse.xtext.parser.GenericEcoreElementFactory.class; } @@ -56,8 +56,8 @@ public abstract class AbstractActionTestLanguageRuntimeConfig extends AbstractSe public Set<IServiceRegistration> registrations() { return scope(org.eclipse.xtext.testlanguages.IActionTestLanguage.SCOPE) - .with(org.eclipse.xtext.IGrammarAccess.class, getIGrammarAccess()) .with(org.eclipse.xtext.IMetamodelAccess.class, getIMetamodelAccess()) + .with(org.eclipse.xtext.IGrammarAccess.class, getIGrammarAccess()) .with(org.eclipse.xtext.parser.IAstFactory.class, getIAstFactory()) .with(org.eclipse.xtext.parser.IParser.class, getIParser()) .with(org.eclipse.xtext.parser.antlr.IAntlrTokenFileProvider.class, getIAntlrTokenFileProvider()) diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/AbstractContentAssistTestLanguageRuntimeConfig.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/AbstractContentAssistTestLanguageRuntimeConfig.java index 51b4b0c..ef98191 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/AbstractContentAssistTestLanguageRuntimeConfig.java +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/AbstractContentAssistTestLanguageRuntimeConfig.java @@ -9,14 +9,14 @@ import org.eclipse.xtext.service.AbstractServiceRegistrationFactory; */ public abstract class AbstractContentAssistTestLanguageRuntimeConfig extends AbstractServiceRegistrationFactory { - protected Class<? extends org.eclipse.xtext.IGrammarAccess> getIGrammarAccess() { - return org.eclipse.xtext.testlanguages.services.ContentAssistTestLanguageGrammarAccess.class; - } - protected Class<? extends org.eclipse.xtext.IMetamodelAccess> getIMetamodelAccess() { return org.eclipse.xtext.testlanguages.services.ContentAssistTestLanguageMetamodelAccess.class; } + protected Class<? extends org.eclipse.xtext.IGrammarAccess> getIGrammarAccess() { + return org.eclipse.xtext.testlanguages.services.ContentAssistTestLanguageGrammarAccess.class; + } + protected Class<? extends org.eclipse.xtext.parser.IAstFactory> getIAstFactory() { return org.eclipse.xtext.parser.GenericEcoreElementFactory.class; } @@ -56,8 +56,8 @@ public abstract class AbstractContentAssistTestLanguageRuntimeConfig extends Abs public Set<IServiceRegistration> registrations() { return scope(org.eclipse.xtext.testlanguages.IContentAssistTestLanguage.SCOPE) - .with(org.eclipse.xtext.IGrammarAccess.class, getIGrammarAccess()) .with(org.eclipse.xtext.IMetamodelAccess.class, getIMetamodelAccess()) + .with(org.eclipse.xtext.IGrammarAccess.class, getIGrammarAccess()) .with(org.eclipse.xtext.parser.IAstFactory.class, getIAstFactory()) .with(org.eclipse.xtext.parser.IParser.class, getIParser()) .with(org.eclipse.xtext.parser.antlr.IAntlrTokenFileProvider.class, getIAntlrTokenFileProvider()) diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/AbstractFowlerDslTestLanguageRuntimeConfig.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/AbstractFowlerDslTestLanguageRuntimeConfig.java index 289ed47..214ed01 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/AbstractFowlerDslTestLanguageRuntimeConfig.java +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/AbstractFowlerDslTestLanguageRuntimeConfig.java @@ -9,14 +9,14 @@ import org.eclipse.xtext.service.AbstractServiceRegistrationFactory; */ public abstract class AbstractFowlerDslTestLanguageRuntimeConfig extends AbstractServiceRegistrationFactory { - protected Class<? extends org.eclipse.xtext.IGrammarAccess> getIGrammarAccess() { - return org.eclipse.xtext.testlanguages.services.FowlerDslTestLanguageGrammarAccess.class; - } - protected Class<? extends org.eclipse.xtext.IMetamodelAccess> getIMetamodelAccess() { return org.eclipse.xtext.testlanguages.services.FowlerDslTestLanguageMetamodelAccess.class; } + protected Class<? extends org.eclipse.xtext.IGrammarAccess> getIGrammarAccess() { + return org.eclipse.xtext.testlanguages.services.FowlerDslTestLanguageGrammarAccess.class; + } + protected Class<? extends org.eclipse.xtext.parser.IAstFactory> getIAstFactory() { return org.eclipse.xtext.parser.GenericEcoreElementFactory.class; } @@ -56,8 +56,8 @@ public abstract class AbstractFowlerDslTestLanguageRuntimeConfig extends Abstrac public Set<IServiceRegistration> registrations() { return scope(org.eclipse.xtext.testlanguages.IFowlerDslTestLanguage.SCOPE) - .with(org.eclipse.xtext.IGrammarAccess.class, getIGrammarAccess()) .with(org.eclipse.xtext.IMetamodelAccess.class, getIMetamodelAccess()) + .with(org.eclipse.xtext.IGrammarAccess.class, getIGrammarAccess()) .with(org.eclipse.xtext.parser.IAstFactory.class, getIAstFactory()) .with(org.eclipse.xtext.parser.IParser.class, getIParser()) .with(org.eclipse.xtext.parser.antlr.IAntlrTokenFileProvider.class, getIAntlrTokenFileProvider()) diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/AbstractLexerTestLanguageRuntimeConfig.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/AbstractLexerTestLanguageRuntimeConfig.java index 28c967b..16eea46 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/AbstractLexerTestLanguageRuntimeConfig.java +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/AbstractLexerTestLanguageRuntimeConfig.java @@ -9,14 +9,14 @@ import org.eclipse.xtext.service.AbstractServiceRegistrationFactory; */ public abstract class AbstractLexerTestLanguageRuntimeConfig extends AbstractServiceRegistrationFactory { - protected Class<? extends org.eclipse.xtext.IGrammarAccess> getIGrammarAccess() { - return org.eclipse.xtext.testlanguages.services.LexerTestLanguageGrammarAccess.class; - } - protected Class<? extends org.eclipse.xtext.IMetamodelAccess> getIMetamodelAccess() { return org.eclipse.xtext.testlanguages.services.LexerTestLanguageMetamodelAccess.class; } + protected Class<? extends org.eclipse.xtext.IGrammarAccess> getIGrammarAccess() { + return org.eclipse.xtext.testlanguages.services.LexerTestLanguageGrammarAccess.class; + } + protected Class<? extends org.eclipse.xtext.parser.IAstFactory> getIAstFactory() { return org.eclipse.xtext.parser.GenericEcoreElementFactory.class; } @@ -56,8 +56,8 @@ public abstract class AbstractLexerTestLanguageRuntimeConfig extends AbstractSer public Set<IServiceRegistration> registrations() { return scope(org.eclipse.xtext.testlanguages.ILexerTestLanguage.SCOPE) - .with(org.eclipse.xtext.IGrammarAccess.class, getIGrammarAccess()) .with(org.eclipse.xtext.IMetamodelAccess.class, getIMetamodelAccess()) + .with(org.eclipse.xtext.IGrammarAccess.class, getIGrammarAccess()) .with(org.eclipse.xtext.parser.IAstFactory.class, getIAstFactory()) .with(org.eclipse.xtext.parser.IParser.class, getIParser()) .with(org.eclipse.xtext.parser.antlr.IAntlrTokenFileProvider.class, getIAntlrTokenFileProvider()) diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/AbstractLookaheadTestLanguageRuntimeConfig.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/AbstractLookaheadTestLanguageRuntimeConfig.java index 41f4d3b..97d022a 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/AbstractLookaheadTestLanguageRuntimeConfig.java +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/AbstractLookaheadTestLanguageRuntimeConfig.java @@ -9,14 +9,14 @@ import org.eclipse.xtext.service.AbstractServiceRegistrationFactory; */ public abstract class AbstractLookaheadTestLanguageRuntimeConfig extends AbstractServiceRegistrationFactory { - protected Class<? extends org.eclipse.xtext.IGrammarAccess> getIGrammarAccess() { - return org.eclipse.xtext.testlanguages.services.LookaheadTestLanguageGrammarAccess.class; - } - protected Class<? extends org.eclipse.xtext.IMetamodelAccess> getIMetamodelAccess() { return org.eclipse.xtext.testlanguages.services.LookaheadTestLanguageMetamodelAccess.class; } + protected Class<? extends org.eclipse.xtext.IGrammarAccess> getIGrammarAccess() { + return org.eclipse.xtext.testlanguages.services.LookaheadTestLanguageGrammarAccess.class; + } + protected Class<? extends org.eclipse.xtext.parser.IAstFactory> getIAstFactory() { return org.eclipse.xtext.parser.GenericEcoreElementFactory.class; } @@ -56,8 +56,8 @@ public abstract class AbstractLookaheadTestLanguageRuntimeConfig extends Abstrac public Set<IServiceRegistration> registrations() { return scope(org.eclipse.xtext.testlanguages.ILookaheadTestLanguage.SCOPE) - .with(org.eclipse.xtext.IGrammarAccess.class, getIGrammarAccess()) .with(org.eclipse.xtext.IMetamodelAccess.class, getIMetamodelAccess()) + .with(org.eclipse.xtext.IGrammarAccess.class, getIGrammarAccess()) .with(org.eclipse.xtext.parser.IAstFactory.class, getIAstFactory()) .with(org.eclipse.xtext.parser.IParser.class, getIParser()) .with(org.eclipse.xtext.parser.antlr.IAntlrTokenFileProvider.class, getIAntlrTokenFileProvider()) diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/AbstractOptionalEmptyTestLanguageRuntimeConfig.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/AbstractOptionalEmptyTestLanguageRuntimeConfig.java index cfe3c37..3c4e033 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/AbstractOptionalEmptyTestLanguageRuntimeConfig.java +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/AbstractOptionalEmptyTestLanguageRuntimeConfig.java @@ -9,14 +9,14 @@ import org.eclipse.xtext.service.AbstractServiceRegistrationFactory; */ public abstract class AbstractOptionalEmptyTestLanguageRuntimeConfig extends AbstractServiceRegistrationFactory { - protected Class<? extends org.eclipse.xtext.IGrammarAccess> getIGrammarAccess() { - return org.eclipse.xtext.testlanguages.services.OptionalEmptyTestLanguageGrammarAccess.class; - } - protected Class<? extends org.eclipse.xtext.IMetamodelAccess> getIMetamodelAccess() { return org.eclipse.xtext.testlanguages.services.OptionalEmptyTestLanguageMetamodelAccess.class; } + protected Class<? extends org.eclipse.xtext.IGrammarAccess> getIGrammarAccess() { + return org.eclipse.xtext.testlanguages.services.OptionalEmptyTestLanguageGrammarAccess.class; + } + protected Class<? extends org.eclipse.xtext.parser.IAstFactory> getIAstFactory() { return org.eclipse.xtext.parser.GenericEcoreElementFactory.class; } @@ -56,8 +56,8 @@ public abstract class AbstractOptionalEmptyTestLanguageRuntimeConfig extends Abs public Set<IServiceRegistration> registrations() { return scope(org.eclipse.xtext.testlanguages.IOptionalEmptyTestLanguage.SCOPE) - .with(org.eclipse.xtext.IGrammarAccess.class, getIGrammarAccess()) .with(org.eclipse.xtext.IMetamodelAccess.class, getIMetamodelAccess()) + .with(org.eclipse.xtext.IGrammarAccess.class, getIGrammarAccess()) .with(org.eclipse.xtext.parser.IAstFactory.class, getIAstFactory()) .with(org.eclipse.xtext.parser.IParser.class, getIParser()) .with(org.eclipse.xtext.parser.antlr.IAntlrTokenFileProvider.class, getIAntlrTokenFileProvider()) diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/AbstractPartialParserTestLanguageRuntimeConfig.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/AbstractPartialParserTestLanguageRuntimeConfig.java index c719f60..1527efe 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/AbstractPartialParserTestLanguageRuntimeConfig.java +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/AbstractPartialParserTestLanguageRuntimeConfig.java @@ -9,14 +9,14 @@ import org.eclipse.xtext.service.AbstractServiceRegistrationFactory; */ public abstract class AbstractPartialParserTestLanguageRuntimeConfig extends AbstractServiceRegistrationFactory { - protected Class<? extends org.eclipse.xtext.IGrammarAccess> getIGrammarAccess() { - return org.eclipse.xtext.testlanguages.services.PartialParserTestLanguageGrammarAccess.class; - } - protected Class<? extends org.eclipse.xtext.IMetamodelAccess> getIMetamodelAccess() { return org.eclipse.xtext.testlanguages.services.PartialParserTestLanguageMetamodelAccess.class; } + protected Class<? extends org.eclipse.xtext.IGrammarAccess> getIGrammarAccess() { + return org.eclipse.xtext.testlanguages.services.PartialParserTestLanguageGrammarAccess.class; + } + protected Class<? extends org.eclipse.xtext.parser.IAstFactory> getIAstFactory() { return org.eclipse.xtext.parser.GenericEcoreElementFactory.class; } @@ -56,8 +56,8 @@ public abstract class AbstractPartialParserTestLanguageRuntimeConfig extends Abs public Set<IServiceRegistration> registrations() { return scope(org.eclipse.xtext.testlanguages.IPartialParserTestLanguage.SCOPE) - .with(org.eclipse.xtext.IGrammarAccess.class, getIGrammarAccess()) .with(org.eclipse.xtext.IMetamodelAccess.class, getIMetamodelAccess()) + .with(org.eclipse.xtext.IGrammarAccess.class, getIGrammarAccess()) .with(org.eclipse.xtext.parser.IAstFactory.class, getIAstFactory()) .with(org.eclipse.xtext.parser.IParser.class, getIParser()) .with(org.eclipse.xtext.parser.antlr.IAntlrTokenFileProvider.class, getIAntlrTokenFileProvider()) diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/AbstractReferenceGrammarTestLanguageRuntimeConfig.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/AbstractReferenceGrammarTestLanguageRuntimeConfig.java index fe9b3ed..cca58e0 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/AbstractReferenceGrammarTestLanguageRuntimeConfig.java +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/AbstractReferenceGrammarTestLanguageRuntimeConfig.java @@ -9,14 +9,14 @@ import org.eclipse.xtext.service.AbstractServiceRegistrationFactory; */ public abstract class AbstractReferenceGrammarTestLanguageRuntimeConfig extends AbstractServiceRegistrationFactory { - protected Class<? extends org.eclipse.xtext.IGrammarAccess> getIGrammarAccess() { - return org.eclipse.xtext.testlanguages.services.ReferenceGrammarTestLanguageGrammarAccess.class; - } - protected Class<? extends org.eclipse.xtext.IMetamodelAccess> getIMetamodelAccess() { return org.eclipse.xtext.testlanguages.services.ReferenceGrammarTestLanguageMetamodelAccess.class; } + protected Class<? extends org.eclipse.xtext.IGrammarAccess> getIGrammarAccess() { + return org.eclipse.xtext.testlanguages.services.ReferenceGrammarTestLanguageGrammarAccess.class; + } + protected Class<? extends org.eclipse.xtext.parser.IAstFactory> getIAstFactory() { return org.eclipse.xtext.parser.GenericEcoreElementFactory.class; } @@ -56,8 +56,8 @@ public abstract class AbstractReferenceGrammarTestLanguageRuntimeConfig extends public Set<IServiceRegistration> registrations() { return scope(org.eclipse.xtext.testlanguages.IReferenceGrammarTestLanguage.SCOPE) - .with(org.eclipse.xtext.IGrammarAccess.class, getIGrammarAccess()) .with(org.eclipse.xtext.IMetamodelAccess.class, getIMetamodelAccess()) + .with(org.eclipse.xtext.IGrammarAccess.class, getIGrammarAccess()) .with(org.eclipse.xtext.parser.IAstFactory.class, getIAstFactory()) .with(org.eclipse.xtext.parser.IParser.class, getIParser()) .with(org.eclipse.xtext.parser.antlr.IAntlrTokenFileProvider.class, getIAntlrTokenFileProvider()) diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/AbstractSimpleExpressionsTestLanguageRuntimeConfig.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/AbstractSimpleExpressionsTestLanguageRuntimeConfig.java index 510bab0..607dc61 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/AbstractSimpleExpressionsTestLanguageRuntimeConfig.java +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/AbstractSimpleExpressionsTestLanguageRuntimeConfig.java @@ -9,14 +9,14 @@ import org.eclipse.xtext.service.AbstractServiceRegistrationFactory; */ public abstract class AbstractSimpleExpressionsTestLanguageRuntimeConfig extends AbstractServiceRegistrationFactory { - protected Class<? extends org.eclipse.xtext.IGrammarAccess> getIGrammarAccess() { - return org.eclipse.xtext.testlanguages.services.SimpleExpressionsTestLanguageGrammarAccess.class; - } - protected Class<? extends org.eclipse.xtext.IMetamodelAccess> getIMetamodelAccess() { return org.eclipse.xtext.testlanguages.services.SimpleExpressionsTestLanguageMetamodelAccess.class; } + protected Class<? extends org.eclipse.xtext.IGrammarAccess> getIGrammarAccess() { + return org.eclipse.xtext.testlanguages.services.SimpleExpressionsTestLanguageGrammarAccess.class; + } + protected Class<? extends org.eclipse.xtext.parser.IAstFactory> getIAstFactory() { return org.eclipse.xtext.parser.GenericEcoreElementFactory.class; } @@ -56,8 +56,8 @@ public abstract class AbstractSimpleExpressionsTestLanguageRuntimeConfig extends public Set<IServiceRegistration> registrations() { return scope(org.eclipse.xtext.testlanguages.ISimpleExpressionsTestLanguage.SCOPE) - .with(org.eclipse.xtext.IGrammarAccess.class, getIGrammarAccess()) .with(org.eclipse.xtext.IMetamodelAccess.class, getIMetamodelAccess()) + .with(org.eclipse.xtext.IGrammarAccess.class, getIGrammarAccess()) .with(org.eclipse.xtext.parser.IAstFactory.class, getIAstFactory()) .with(org.eclipse.xtext.parser.IParser.class, getIParser()) .with(org.eclipse.xtext.parser.antlr.IAntlrTokenFileProvider.class, getIAntlrTokenFileProvider()) diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/AbstractTestLanguageRuntimeConfig.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/AbstractTestLanguageRuntimeConfig.java index fa2fdce..470f0dc 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/AbstractTestLanguageRuntimeConfig.java +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/AbstractTestLanguageRuntimeConfig.java @@ -9,14 +9,14 @@ import org.eclipse.xtext.service.AbstractServiceRegistrationFactory; */ public abstract class AbstractTestLanguageRuntimeConfig extends AbstractServiceRegistrationFactory { - protected Class<? extends org.eclipse.xtext.IGrammarAccess> getIGrammarAccess() { - return org.eclipse.xtext.testlanguages.services.TestLanguageGrammarAccess.class; - } - protected Class<? extends org.eclipse.xtext.IMetamodelAccess> getIMetamodelAccess() { return org.eclipse.xtext.testlanguages.services.TestLanguageMetamodelAccess.class; } + protected Class<? extends org.eclipse.xtext.IGrammarAccess> getIGrammarAccess() { + return org.eclipse.xtext.testlanguages.services.TestLanguageGrammarAccess.class; + } + protected Class<? extends org.eclipse.xtext.parser.IAstFactory> getIAstFactory() { return org.eclipse.xtext.parser.GenericEcoreElementFactory.class; } @@ -56,8 +56,8 @@ public abstract class AbstractTestLanguageRuntimeConfig extends AbstractServiceR public Set<IServiceRegistration> registrations() { return scope(org.eclipse.xtext.testlanguages.ITestLanguage.SCOPE) - .with(org.eclipse.xtext.IGrammarAccess.class, getIGrammarAccess()) .with(org.eclipse.xtext.IMetamodelAccess.class, getIMetamodelAccess()) + .with(org.eclipse.xtext.IGrammarAccess.class, getIGrammarAccess()) .with(org.eclipse.xtext.parser.IAstFactory.class, getIAstFactory()) .with(org.eclipse.xtext.parser.IParser.class, getIParser()) .with(org.eclipse.xtext.parser.antlr.IAntlrTokenFileProvider.class, getIAntlrTokenFileProvider()) diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/AbstractTreeTestLanguageRuntimeConfig.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/AbstractTreeTestLanguageRuntimeConfig.java index e6c3ad0..f059cd4 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/AbstractTreeTestLanguageRuntimeConfig.java +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/AbstractTreeTestLanguageRuntimeConfig.java @@ -9,14 +9,14 @@ import org.eclipse.xtext.service.AbstractServiceRegistrationFactory; */ public abstract class AbstractTreeTestLanguageRuntimeConfig extends AbstractServiceRegistrationFactory { - protected Class<? extends org.eclipse.xtext.IGrammarAccess> getIGrammarAccess() { - return org.eclipse.xtext.testlanguages.services.TreeTestLanguageGrammarAccess.class; - } - protected Class<? extends org.eclipse.xtext.IMetamodelAccess> getIMetamodelAccess() { return org.eclipse.xtext.testlanguages.services.TreeTestLanguageMetamodelAccess.class; } + protected Class<? extends org.eclipse.xtext.IGrammarAccess> getIGrammarAccess() { + return org.eclipse.xtext.testlanguages.services.TreeTestLanguageGrammarAccess.class; + } + protected Class<? extends org.eclipse.xtext.parser.IAstFactory> getIAstFactory() { return org.eclipse.xtext.parser.GenericEcoreElementFactory.class; } @@ -56,8 +56,8 @@ public abstract class AbstractTreeTestLanguageRuntimeConfig extends AbstractServ public Set<IServiceRegistration> registrations() { return scope(org.eclipse.xtext.testlanguages.ITreeTestLanguage.SCOPE) - .with(org.eclipse.xtext.IGrammarAccess.class, getIGrammarAccess()) .with(org.eclipse.xtext.IMetamodelAccess.class, getIMetamodelAccess()) + .with(org.eclipse.xtext.IGrammarAccess.class, getIGrammarAccess()) .with(org.eclipse.xtext.parser.IAstFactory.class, getIAstFactory()) .with(org.eclipse.xtext.parser.IParser.class, getIParser()) .with(org.eclipse.xtext.parser.antlr.IAntlrTokenFileProvider.class, getIAntlrTokenFileProvider()) diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/ActionTestLanguage.xmi b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/ActionTestLanguage.xmi index 5b6acd7..156bc39 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/ActionTestLanguage.xmi +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/ActionTestLanguage.xmi @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="ASCII"?> -<xtext:Grammar xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xtext="http://www.eclipse.org/2008/Xtext"> +<xtext:Grammar xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:xtext="http://www.eclipse.org/2008/Xtext"> <idElements>org</idElements> <idElements>eclipse</idElements> <idElements>xtext</idElements> @@ -7,17 +7,24 @@ <idElements>ActionTestLanguage</idElements> <metamodelDeclarations xsi:type="xtext:GeneratedMetamodel" name="ActionLang" nsURI="http://www.eclipse.org/2008/tmf/xtext/ActionLang"/> <rules xsi:type="xtext:ParserRule" name="Model"> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://www.eclipse.org/2008/tmf/xtext/ActionLang#//Model"/> + </type> <alternatives xsi:type="xtext:Assignment" cardinality="*" feature="children" operator="+="> <terminal xsi:type="xtext:RuleCall" rule="//@rules.1"/> </alternatives> </rules> <rules xsi:type="xtext:ParserRule" name="Element"> - <type metamodel="//@metamodelDeclarations.0" name="Type"/> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://www.eclipse.org/2008/tmf/xtext/ActionLang#//Type"/> + </type> <alternatives xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:RuleCall" rule="//@rules.2"/> <abstractTokens xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Action" feature="items" operator="+="> - <typeName metamodel="//@metamodelDeclarations.0" name="Item"/> + <typeName metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://www.eclipse.org/2008/tmf/xtext/ActionLang#//Item"/> + </typeName> </abstractTokens> <abstractTokens xsi:type="xtext:Assignment" feature="items" operator="+="> <terminal xsi:type="xtext:RuleCall" rule="//@rules.2"/> @@ -26,10 +33,14 @@ </alternatives> </rules> <rules xsi:type="xtext:ParserRule" name="Item"> - <type metamodel="//@metamodelDeclarations.0" name="Type"/> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://www.eclipse.org/2008/tmf/xtext/ActionLang#//Type"/> + </type> <alternatives xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Action" feature="content" operator="="> - <typeName metamodel="//@metamodelDeclarations.0" name="Thing"/> + <typeName metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://www.eclipse.org/2008/tmf/xtext/ActionLang#//Thing"/> + </typeName> </abstractTokens> <abstractTokens xsi:type="xtext:Assignment" feature="name" operator="="> <terminal xsi:type="xtext:RuleCall"> diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/ContentAssistTestLanguage.xmi b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/ContentAssistTestLanguage.xmi index 8a6b90a..43d97bf 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/ContentAssistTestLanguage.xmi +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/ContentAssistTestLanguage.xmi @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="ASCII"?> -<xtext:Grammar xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xtext="http://www.eclipse.org/2008/Xtext"> +<xtext:Grammar xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:xtext="http://www.eclipse.org/2008/Xtext"> <idElements>org</idElements> <idElements>eclipse</idElements> <idElements>xtext</idElements> @@ -7,6 +7,9 @@ <idElements>ContentAssistTestLanguage</idElements> <metamodelDeclarations xsi:type="xtext:GeneratedMetamodel" name="contentAssistTestLanguage" nsURI="http://www.eclipse.org/2008/xtext/tests/ContentAssist"/> <rules xsi:type="xtext:ParserRule" name="Start"> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://www.eclipse.org/2008/xtext/tests/ContentAssist#//Start"/> + </type> <alternatives xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Keyword" value="abstract rules"/> @@ -18,12 +21,18 @@ </alternatives> </rules> <rules xsi:type="xtext:ParserRule" name="AbstractRule"> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://www.eclipse.org/2008/xtext/tests/ContentAssist#//AbstractRule"/> + </type> <alternatives xsi:type="xtext:Alternatives"> <groups xsi:type="xtext:RuleCall" rule="//@rules.2"/> <groups xsi:type="xtext:RuleCall" rule="//@rules.3"/> </alternatives> </rules> <rules xsi:type="xtext:ParserRule" name="FirstAbstractRuleChild"> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://www.eclipse.org/2008/xtext/tests/ContentAssist#//FirstAbstractRuleChild"/> + </type> <alternatives xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Group"> @@ -45,6 +54,9 @@ </alternatives> </rules> <rules xsi:type="xtext:ParserRule" name="SecondAbstractRuleChild"> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://www.eclipse.org/2008/xtext/tests/ContentAssist#//SecondAbstractRuleChild"/> + </type> <alternatives xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Group"> @@ -66,9 +78,14 @@ </alternatives> </rules> <rules xsi:type="xtext:ParserRule" name="AbstractRuleCall"> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://www.eclipse.org/2008/xtext/tests/ContentAssist#//AbstractRuleCall"/> + </type> <alternatives xsi:type="xtext:Assignment" feature="rule" operator="="> <terminal xsi:type="xtext:CrossReference"> - <type metamodel="//@metamodelDeclarations.0" name="AbstractRule"/> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://www.eclipse.org/2008/xtext/tests/ContentAssist#//AbstractRule"/> + </type> </terminal> </alternatives> </rules> diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/FowlerDslTestLanguage.xmi b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/FowlerDslTestLanguage.xmi index cca0de6..220c78b 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/FowlerDslTestLanguage.xmi +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/FowlerDslTestLanguage.xmi @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="ASCII"?> -<xtext:Grammar xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xtext="http://www.eclipse.org/2008/Xtext"> +<xtext:Grammar xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:xtext="http://www.eclipse.org/2008/Xtext"> <idElements>org</idElements> <idElements>eclipse</idElements> <idElements>xtext</idElements> @@ -7,6 +7,9 @@ <idElements>FowlerDslTestLanguage</idElements> <metamodelDeclarations xsi:type="xtext:GeneratedMetamodel" name="fowlerdsl" nsURI="http://example.xtext.org/FowlerDslTestLanguage"/> <rules xsi:type="xtext:ParserRule" name="Statemachine"> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://example.xtext.org/FowlerDslTestLanguage#//Statemachine"/> + </type> <alternatives xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Group"> @@ -34,6 +37,9 @@ </alternatives> </rules> <rules xsi:type="xtext:ParserRule" name="Event"> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://example.xtext.org/FowlerDslTestLanguage#//Event"/> + </type> <alternatives xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Assignment" cardinality="?" feature="resetting" operator="?="> @@ -53,6 +59,9 @@ </alternatives> </rules> <rules xsi:type="xtext:ParserRule" name="Command"> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://example.xtext.org/FowlerDslTestLanguage#//Command"/> + </type> <alternatives xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Assignment" feature="name" operator="="> <terminal xsi:type="xtext:RuleCall"> @@ -67,6 +76,9 @@ </alternatives> </rules> <rules xsi:type="xtext:ParserRule" name="State"> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://example.xtext.org/FowlerDslTestLanguage#//State"/> + </type> <alternatives xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Group"> @@ -86,7 +98,9 @@ </abstractTokens> <abstractTokens xsi:type="xtext:Assignment" cardinality="+" feature="actions" operator="+="> <terminal xsi:type="xtext:CrossReference"> - <type metamodel="//@metamodelDeclarations.0" name="Command"/> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://example.xtext.org/FowlerDslTestLanguage#//Command"/> + </type> </terminal> </abstractTokens> </abstractTokens> @@ -101,18 +115,25 @@ </alternatives> </rules> <rules xsi:type="xtext:ParserRule" name="Transition"> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://example.xtext.org/FowlerDslTestLanguage#//Transition"/> + </type> <alternatives xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Assignment" feature="event" operator="="> <terminal xsi:type="xtext:CrossReference"> - <type metamodel="//@metamodelDeclarations.0" name="Event"/> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://example.xtext.org/FowlerDslTestLanguage#//Event"/> + </type> </terminal> </abstractTokens> <abstractTokens xsi:type="xtext:Keyword" value="=>"/> </abstractTokens> <abstractTokens xsi:type="xtext:Assignment" feature="state" operator="="> <terminal xsi:type="xtext:CrossReference"> - <type metamodel="//@metamodelDeclarations.0" name="State"/> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://example.xtext.org/FowlerDslTestLanguage#//State"/> + </type> </terminal> </abstractTokens> </alternatives> diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/LexerTestLanguage.xmi b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/LexerTestLanguage.xmi index 1dff6e6..e4595f8 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/LexerTestLanguage.xmi +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/LexerTestLanguage.xmi @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="ASCII"?> -<xtext:Grammar xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xtext="http://www.eclipse.org/2008/Xtext"> +<xtext:Grammar xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:xtext="http://www.eclipse.org/2008/Xtext"> <idElements>org</idElements> <idElements>eclipse</idElements> <idElements>xtext</idElements> @@ -7,11 +7,17 @@ <idElements>LexerTestLanguage</idElements> <metamodelDeclarations xsi:type="xtext:GeneratedMetamodel" name="LexerLang" nsURI="http://www.eclipse.org/2008/xtext/LexerLang"/> <rules xsi:type="xtext:ParserRule" name="Model"> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://www.eclipse.org/2008/xtext/LexerLang#//Model"/> + </type> <alternatives xsi:type="xtext:Assignment" cardinality="*" feature="children" operator="+="> <terminal xsi:type="xtext:RuleCall" rule="//@rules.1"/> </alternatives> </rules> <rules xsi:type="xtext:ParserRule" name="Element"> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://www.eclipse.org/2008/xtext/LexerLang#//Element"/> + </type> <alternatives xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Assignment" feature="name" operator="="> <terminal xsi:type="xtext:RuleCall"> @@ -23,5 +29,10 @@ </abstractTokens> </alternatives> </rules> - <rules xsi:type="xtext:LexerRule" name="STRING" body=" '#' ('B')+ "/> + <rules xsi:type="xtext:LexerRule" name="STRING" body=" '#' ('B')+ "> + <type> + <metamodel href="classpath:/org/eclipse/xtext/builtin/XtextBuiltin.xmi#//@metamodelDeclarations.0"/> + <type xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </type> + </rules> </xtext:Grammar> diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/LookaheadLang.ecore b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/LookaheadLang.ecore index f72689b..b1bf798 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/LookaheadLang.ecore +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/LookaheadLang.ecore @@ -12,14 +12,14 @@ <eClassifiers xsi:type="ecore:EClass" name="LookAhead1" eSuperTypes="//Alts"> <eStructuralFeatures xsi:type="ecore:EReference" name="y" eType="//LookAhead2" containment="true"/> </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="LookAhead3" eSuperTypes="//Alts"> - <eStructuralFeatures xsi:type="ecore:EReference" name="z" eType="//LookAhead4" containment="true"/> - </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="LookAhead2"> <eStructuralFeatures xsi:type="ecore:EAttribute" name="z"> <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> </eStructuralFeatures> </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="LookAhead3" eSuperTypes="//Alts"> + <eStructuralFeatures xsi:type="ecore:EReference" name="z" eType="//LookAhead4" containment="true"/> + </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="LookAhead4"> <eStructuralFeatures xsi:type="ecore:EAttribute" name="x"> <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/LookaheadTestLanguage.xmi b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/LookaheadTestLanguage.xmi index adc1b04..ebc9d77 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/LookaheadTestLanguage.xmi +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/LookaheadTestLanguage.xmi @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="ASCII"?> -<xtext:Grammar xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xtext="http://www.eclipse.org/2008/Xtext"> +<xtext:Grammar xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:xtext="http://www.eclipse.org/2008/Xtext"> <idElements>org</idElements> <idElements>eclipse</idElements> <idElements>xtext</idElements> @@ -7,11 +7,17 @@ <idElements>LookaheadTestLanguage</idElements> <metamodelDeclarations xsi:type="xtext:GeneratedMetamodel" name="LookaheadLang" nsURI="http://www.eclipse.org/2008/xtext/LookaheadLang"/> <rules xsi:type="xtext:ParserRule" name="Entry"> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://www.eclipse.org/2008/xtext/LookaheadLang#//Entry"/> + </type> <alternatives xsi:type="xtext:Assignment" cardinality="*" feature="contents" operator="+="> <terminal xsi:type="xtext:RuleCall" rule="//@rules.1"/> </alternatives> </rules> <rules xsi:type="xtext:ParserRule" name="Alts"> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://www.eclipse.org/2008/xtext/LookaheadLang#//Alts"/> + </type> <alternatives xsi:type="xtext:Alternatives"> <groups xsi:type="xtext:Alternatives"> <groups xsi:type="xtext:RuleCall" rule="//@rules.2"/> @@ -21,6 +27,9 @@ </alternatives> </rules> <rules xsi:type="xtext:ParserRule" name="LookAhead0"> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://www.eclipse.org/2008/xtext/LookaheadLang#//LookAhead0"/> + </type> <alternatives xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Keyword" value="bar"/> <abstractTokens xsi:type="xtext:Assignment" feature="x" operator="="> @@ -29,6 +38,9 @@ </alternatives> </rules> <rules xsi:type="xtext:ParserRule" name="LookAhead1"> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://www.eclipse.org/2008/xtext/LookaheadLang#//LookAhead1"/> + </type> <alternatives xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Group"> @@ -47,6 +59,9 @@ </alternatives> </rules> <rules xsi:type="xtext:ParserRule" name="LookAhead2"> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://www.eclipse.org/2008/xtext/LookaheadLang#//LookAhead2"/> + </type> <alternatives xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Alternatives"> <groups xsi:type="xtext:Assignment" feature="z" operator="="> @@ -60,6 +75,9 @@ </alternatives> </rules> <rules xsi:type="xtext:ParserRule" name="LookAhead3"> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://www.eclipse.org/2008/xtext/LookaheadLang#//LookAhead3"/> + </type> <alternatives xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Group"> @@ -76,6 +94,9 @@ </alternatives> </rules> <rules xsi:type="xtext:ParserRule" name="LookAhead4"> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://www.eclipse.org/2008/xtext/LookaheadLang#//LookAhead4"/> + </type> <alternatives xsi:type="xtext:Alternatives"> <groups xsi:type="xtext:Assignment" feature="x" operator="="> <terminal xsi:type="xtext:Keyword" value="c"/> diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/OptionalEmptyTestLanguage.xmi b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/OptionalEmptyTestLanguage.xmi index e2426fb..3b7ee28 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/OptionalEmptyTestLanguage.xmi +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/OptionalEmptyTestLanguage.xmi @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="ASCII"?> -<xtext:Grammar xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xtext="http://www.eclipse.org/2008/Xtext"> +<xtext:Grammar xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:xtext="http://www.eclipse.org/2008/Xtext"> <idElements>org</idElements> <idElements>eclipse</idElements> <idElements>xtext</idElements> @@ -7,11 +7,17 @@ <idElements>OptionalEmptyTestLanguage</idElements> <metamodelDeclarations xsi:type="xtext:GeneratedMetamodel" name="OptionalEmpty" nsURI="http://www.eclipse.org/2008/tmf/xtext/OptionalEmpty"/> <rules xsi:type="xtext:ParserRule" name="Model"> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://www.eclipse.org/2008/tmf/xtext/OptionalEmpty#//Model"/> + </type> <alternatives xsi:type="xtext:Assignment" cardinality="?" feature="child" operator="="> <terminal xsi:type="xtext:RuleCall" rule="//@rules.1"/> </alternatives> </rules> <rules xsi:type="xtext:ParserRule" name="Greeting"> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://www.eclipse.org/2008/tmf/xtext/OptionalEmpty#//Greeting"/> + </type> <alternatives xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Keyword" value="hallo"/> <abstractTokens xsi:type="xtext:Assignment" feature="name" operator="="> diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/PartialParserTestLanguage.xmi b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/PartialParserTestLanguage.xmi index 631fd3e..6a0cf21 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/PartialParserTestLanguage.xmi +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/PartialParserTestLanguage.xmi @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="ASCII"?> -<xtext:Grammar xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xtext="http://www.eclipse.org/2008/Xtext"> +<xtext:Grammar xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:xtext="http://www.eclipse.org/2008/Xtext"> <idElements>org</idElements> <idElements>eclipse</idElements> <idElements>xtext</idElements> @@ -7,6 +7,9 @@ <idElements>PartialParserTestLanguage</idElements> <metamodelDeclarations xsi:type="xtext:GeneratedMetamodel" name="partialParserTestLanguage" nsURI="http://example.xtext.org/PartialParserTestLanguage"/> <rules xsi:type="xtext:ParserRule" name="Container"> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://example.xtext.org/PartialParserTestLanguage#//Container"/> + </type> <alternatives xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Group"> @@ -33,6 +36,9 @@ </alternatives> </rules> <rules xsi:type="xtext:ParserRule" name="Nested"> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://example.xtext.org/PartialParserTestLanguage#//Nested"/> + </type> <alternatives xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Group"> @@ -47,12 +53,18 @@ </alternatives> </rules> <rules xsi:type="xtext:ParserRule" name="Content"> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://example.xtext.org/PartialParserTestLanguage#//Content"/> + </type> <alternatives xsi:type="xtext:Alternatives"> <groups xsi:type="xtext:RuleCall" rule="//@rules.3"/> <groups xsi:type="xtext:RuleCall" rule="//@rules.5"/> </alternatives> </rules> <rules xsi:type="xtext:ParserRule" name="Children"> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://example.xtext.org/PartialParserTestLanguage#//Children"/> + </type> <alternatives xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Group"> @@ -75,6 +87,9 @@ </alternatives> </rules> <rules xsi:type="xtext:ParserRule" name="Child"> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://example.xtext.org/PartialParserTestLanguage#//Child"/> + </type> <alternatives xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Group"> @@ -92,6 +107,9 @@ </alternatives> </rules> <rules xsi:type="xtext:ParserRule" name="AbstractChildren"> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://example.xtext.org/PartialParserTestLanguage#//AbstractChildren"/> + </type> <alternatives xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Group"> @@ -106,12 +124,18 @@ </alternatives> </rules> <rules xsi:type="xtext:ParserRule" name="AbstractChild"> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://example.xtext.org/PartialParserTestLanguage#//AbstractChild"/> + </type> <alternatives xsi:type="xtext:Alternatives"> <groups xsi:type="xtext:RuleCall" rule="//@rules.7"/> <groups xsi:type="xtext:RuleCall" rule="//@rules.8"/> </alternatives> </rules> <rules xsi:type="xtext:ParserRule" name="FirstConcrete"> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://example.xtext.org/PartialParserTestLanguage#//FirstConcrete"/> + </type> <alternatives xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Group"> @@ -128,7 +152,9 @@ </abstractTokens> <abstractTokens xsi:type="xtext:Assignment" cardinality="?" feature="referencedContainer" operator="="> <terminal xsi:type="xtext:CrossReference"> - <type metamodel="//@metamodelDeclarations.0" name="Container"/> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://example.xtext.org/PartialParserTestLanguage#//Container"/> + </type> </terminal> </abstractTokens> </abstractTokens> @@ -136,6 +162,9 @@ </alternatives> </rules> <rules xsi:type="xtext:ParserRule" name="SecondConcrete"> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://example.xtext.org/PartialParserTestLanguage#//SecondConcrete"/> + </type> <alternatives xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Group"> @@ -155,7 +184,9 @@ </abstractTokens> <abstractTokens xsi:type="xtext:Assignment" cardinality="?" feature="referencedChildren" operator="+="> <terminal xsi:type="xtext:CrossReference"> - <type metamodel="//@metamodelDeclarations.0" name="Child"/> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://example.xtext.org/PartialParserTestLanguage#//Child"/> + </type> </terminal> </abstractTokens> </abstractTokens> @@ -163,6 +194,9 @@ </alternatives> </rules> <rules xsi:type="xtext:ParserRule" name="Named"> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://example.xtext.org/PartialParserTestLanguage#//Named"/> + </type> <alternatives xsi:type="xtext:Assignment" feature="name" operator="="> <terminal xsi:type="xtext:RuleCall"> <rule href="classpath:/org/eclipse/xtext/builtin/XtextBuiltin.xmi#//@rules.0"/> diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/ReferenceGrammar.ecore b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/ReferenceGrammar.ecore index d5d6059..e06ff31 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/ReferenceGrammar.ecore +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/ReferenceGrammar.ecore @@ -13,12 +13,12 @@ <eStructuralFeatures xsi:type="ecore:EReference" name="familie" upperBound="-1" eType="//Familie" containment="true"/> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="Person"> - <eStructuralFeatures xsi:type="ecore:EAttribute" name="age"> - <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EInt"/> - </eStructuralFeatures> <eStructuralFeatures xsi:type="ecore:EAttribute" name="name"> <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="age"> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EInt"/> + </eStructuralFeatures> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="Kind" eSuperTypes="//Person"/> <eClassifiers xsi:type="ecore:EClass" name="Erwachsener" eSuperTypes="//Person"/> diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/ReferenceGrammarTestLanguage.xmi b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/ReferenceGrammarTestLanguage.xmi index ae6436c..0b6c742 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/ReferenceGrammarTestLanguage.xmi +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/ReferenceGrammarTestLanguage.xmi @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="ASCII"?> -<xtext:Grammar xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xtext="http://www.eclipse.org/2008/Xtext"> +<xtext:Grammar xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:xtext="http://www.eclipse.org/2008/Xtext"> <idElements>org</idElements> <idElements>eclipse</idElements> <idElements>xtext</idElements> @@ -7,6 +7,9 @@ <idElements>ReferenceGrammarTestLanguage</idElements> <metamodelDeclarations xsi:type="xtext:GeneratedMetamodel" name="ReferenceGrammar" nsURI="http://eclipse.org/xtext/reference/ReferenceGrammar"/> <rules xsi:type="xtext:ParserRule" name="Spielplatz"> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://eclipse.org/xtext/reference/ReferenceGrammar#//Spielplatz"/> + </type> <alternatives xsi:type="xtext:Group" cardinality="?"> <abstractTokens xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Group"> @@ -50,12 +53,18 @@ </alternatives> </rules> <rules xsi:type="xtext:ParserRule" name="Person"> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://eclipse.org/xtext/reference/ReferenceGrammar#//Person"/> + </type> <alternatives xsi:type="xtext:Alternatives"> <groups xsi:type="xtext:RuleCall" rule="//@rules.2"/> <groups xsi:type="xtext:RuleCall" rule="//@rules.3"/> </alternatives> </rules> <rules xsi:type="xtext:ParserRule" name="Kind"> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://eclipse.org/xtext/reference/ReferenceGrammar#//Kind"/> + </type> <alternatives xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Group"> @@ -79,6 +88,9 @@ </alternatives> </rules> <rules xsi:type="xtext:ParserRule" name="Erwachsener"> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://eclipse.org/xtext/reference/ReferenceGrammar#//Erwachsener"/> + </type> <alternatives xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Group"> @@ -102,6 +114,9 @@ </alternatives> </rules> <rules xsi:type="xtext:ParserRule" name="Spielzeug"> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://eclipse.org/xtext/reference/ReferenceGrammar#//Spielzeug"/> + </type> <alternatives xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Group"> @@ -123,6 +138,9 @@ </alternatives> </rules> <rules xsi:type="xtext:ParserRule" name="Farbe"> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://eclipse.org/xtext/reference/ReferenceGrammar#//Farbe"/> + </type> <alternatives xsi:type="xtext:Alternatives"> <groups xsi:type="xtext:Alternatives"> <groups xsi:type="xtext:Alternatives"> @@ -135,6 +153,9 @@ </alternatives> </rules> <rules xsi:type="xtext:ParserRule" name="Familie"> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://eclipse.org/xtext/reference/ReferenceGrammar#//Familie"/> + </type> <alternatives xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Group"> @@ -161,19 +182,25 @@ </abstractTokens> <abstractTokens xsi:type="xtext:Assignment" feature="mutter" operator="="> <terminal xsi:type="xtext:CrossReference"> - <type metamodel="//@metamodelDeclarations.0" name="Erwachsener"/> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://eclipse.org/xtext/reference/ReferenceGrammar#//Erwachsener"/> + </type> </terminal> </abstractTokens> </abstractTokens> <abstractTokens xsi:type="xtext:Assignment" feature="vater" operator="="> <terminal xsi:type="xtext:CrossReference"> - <type metamodel="//@metamodelDeclarations.0" name="Erwachsener"/> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://eclipse.org/xtext/reference/ReferenceGrammar#//Erwachsener"/> + </type> </terminal> </abstractTokens> </abstractTokens> <abstractTokens xsi:type="xtext:Assignment" feature="kinder" operator="+="> <terminal xsi:type="xtext:CrossReference"> - <type metamodel="//@metamodelDeclarations.0" name="Kind"/> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://eclipse.org/xtext/reference/ReferenceGrammar#//Kind"/> + </type> </terminal> </abstractTokens> </abstractTokens> @@ -181,7 +208,9 @@ <abstractTokens xsi:type="xtext:Keyword" value=","/> <abstractTokens xsi:type="xtext:Assignment" feature="kinder" operator="+="> <terminal xsi:type="xtext:CrossReference"> - <type metamodel="//@metamodelDeclarations.0" name="Kind"/> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://eclipse.org/xtext/reference/ReferenceGrammar#//Kind"/> + </type> </terminal> </abstractTokens> </abstractTokens> diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/SimpleExpressionsTestLanguage.xmi b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/SimpleExpressionsTestLanguage.xmi index 008aae4..3f39cfd 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/SimpleExpressionsTestLanguage.xmi +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/SimpleExpressionsTestLanguage.xmi @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="ASCII"?> -<xtext:Grammar xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xtext="http://www.eclipse.org/2008/Xtext"> +<xtext:Grammar xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:xtext="http://www.eclipse.org/2008/Xtext"> <idElements>org</idElements> <idElements>eclipse</idElements> <idElements>xtext</idElements> @@ -7,11 +7,16 @@ <idElements>SimpleExpressionsTestLanguage</idElements> <metamodelDeclarations xsi:type="xtext:GeneratedMetamodel" name="simpleExpressions" nsURI="http://www.eclipse.org/xtext/test/simpleExpressions"/> <rules xsi:type="xtext:ParserRule" name="Sequence"> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://www.eclipse.org/xtext/test/simpleExpressions#//Sequence"/> + </type> <alternatives xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:RuleCall" rule="//@rules.1"/> <abstractTokens xsi:type="xtext:Group" cardinality="*"> <abstractTokens xsi:type="xtext:Action" feature="expressions" operator="+="> - <typeName metamodel="//@metamodelDeclarations.0" name="Sequence"/> + <typeName metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://www.eclipse.org/xtext/test/simpleExpressions#//Sequence"/> + </typeName> </abstractTokens> <abstractTokens xsi:type="xtext:Assignment" feature="expressions" operator="+="> <terminal xsi:type="xtext:RuleCall" rule="//@rules.1"/> @@ -20,13 +25,17 @@ </alternatives> </rules> <rules xsi:type="xtext:ParserRule" name="Addition"> - <type metamodel="//@metamodelDeclarations.0" name="Expression"/> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://www.eclipse.org/xtext/test/simpleExpressions#//Expression"/> + </type> <alternatives xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:RuleCall" rule="//@rules.2"/> <abstractTokens xsi:type="xtext:Group" cardinality="*"> <abstractTokens xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Action" feature="values" operator="+="> - <typeName metamodel="//@metamodelDeclarations.0" name="Op"/> + <typeName metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://www.eclipse.org/xtext/test/simpleExpressions#//Op"/> + </typeName> </abstractTokens> <abstractTokens xsi:type="xtext:Assignment" feature="operator" operator="="> <terminal xsi:type="xtext:Alternatives"> @@ -42,13 +51,17 @@ </alternatives> </rules> <rules xsi:type="xtext:ParserRule" name="Multiplication"> - <type metamodel="//@metamodelDeclarations.0" name="Expression"/> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://www.eclipse.org/xtext/test/simpleExpressions#//Expression"/> + </type> <alternatives xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:RuleCall" rule="//@rules.3"/> <abstractTokens xsi:type="xtext:Group" cardinality="*"> <abstractTokens xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Action" feature="values" operator="+="> - <typeName metamodel="//@metamodelDeclarations.0" name="Op"/> + <typeName metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://www.eclipse.org/xtext/test/simpleExpressions#//Op"/> + </typeName> </abstractTokens> <abstractTokens xsi:type="xtext:Assignment" feature="operator" operator="="> <terminal xsi:type="xtext:Alternatives"> @@ -64,13 +77,18 @@ </alternatives> </rules> <rules xsi:type="xtext:ParserRule" name="Term"> - <type metamodel="//@metamodelDeclarations.0" name="Expression"/> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://www.eclipse.org/xtext/test/simpleExpressions#//Expression"/> + </type> <alternatives xsi:type="xtext:Alternatives"> <groups xsi:type="xtext:RuleCall" rule="//@rules.4"/> <groups xsi:type="xtext:RuleCall" rule="//@rules.5"/> </alternatives> </rules> <rules xsi:type="xtext:ParserRule" name="Atom"> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://www.eclipse.org/xtext/test/simpleExpressions#//Atom"/> + </type> <alternatives xsi:type="xtext:Assignment" feature="name" operator="="> <terminal xsi:type="xtext:RuleCall"> <rule href="classpath:/org/eclipse/xtext/builtin/XtextBuiltin.xmi#//@rules.0"/> @@ -78,7 +96,9 @@ </alternatives> </rules> <rules xsi:type="xtext:ParserRule" name="Parens"> - <type metamodel="//@metamodelDeclarations.0" name="Expression"/> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://www.eclipse.org/xtext/test/simpleExpressions#//Expression"/> + </type> <alternatives xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Keyword" value="("/> diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/TestLanguage.xmi b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/TestLanguage.xmi index 4a94c9f..2bd34ce 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/TestLanguage.xmi +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/TestLanguage.xmi @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="ASCII"?> -<xtext:Grammar xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xtext="http://www.eclipse.org/2008/Xtext"> +<xtext:Grammar xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:xtext="http://www.eclipse.org/2008/Xtext"> <idElements>org</idElements> <idElements>eclipse</idElements> <idElements>xtext</idElements> @@ -7,20 +7,26 @@ <idElements>TestLanguage</idElements> <metamodelDeclarations xsi:type="xtext:GeneratedMetamodel" name="TestLang" nsURI="http://www.eclipse.org/2008/xtext/TestLang"/> <rules xsi:type="xtext:ParserRule" name="EntryRule"> - <type metamodel="//@metamodelDeclarations.0" name="Model"/> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://www.eclipse.org/2008/xtext/TestLang#//Model"/> + </type> <alternatives xsi:type="xtext:Assignment" cardinality="*" feature="multiFeature" operator="+="> <terminal xsi:type="xtext:RuleCall" rule="//@rules.1"/> </alternatives> </rules> <rules xsi:type="xtext:ParserRule" name="AbstractRule"> - <type metamodel="//@metamodelDeclarations.0" name="AbstractElement"/> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://www.eclipse.org/2008/xtext/TestLang#//AbstractElement"/> + </type> <alternatives xsi:type="xtext:Alternatives"> <groups xsi:type="xtext:RuleCall" rule="//@rules.2"/> <groups xsi:type="xtext:RuleCall" rule="//@rules.3"/> </alternatives> </rules> <rules xsi:type="xtext:ParserRule" name="ChoiceRule"> - <type metamodel="//@metamodelDeclarations.0" name="ChoiceElement"/> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://www.eclipse.org/2008/xtext/TestLang#//ChoiceElement"/> + </type> <alternatives xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Keyword" value="choice"/> @@ -36,7 +42,9 @@ </alternatives> </rules> <rules xsi:type="xtext:ParserRule" name="ReducibleRule"> - <type metamodel="//@metamodelDeclarations.0" name="ReducibleElement"/> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://www.eclipse.org/2008/xtext/TestLang#//ReducibleElement"/> + </type> <alternatives xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Keyword" value="reducible"/> @@ -44,7 +52,9 @@ </abstractTokens> <abstractTokens xsi:type="xtext:Group" cardinality="?"> <abstractTokens xsi:type="xtext:Action" feature="actionFeature" operator="+="> - <typeName metamodel="//@metamodelDeclarations.0" name="ReducibleComposite"/> + <typeName metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://www.eclipse.org/2008/xtext/TestLang#//ReducibleComposite"/> + </typeName> </abstractTokens> <abstractTokens xsi:type="xtext:Assignment" feature="actionFeature" operator="+="> <terminal xsi:type="xtext:RuleCall" rule="//@rules.4"/> @@ -53,7 +63,9 @@ </alternatives> </rules> <rules xsi:type="xtext:ParserRule" name="TerminalRule"> - <type metamodel="//@metamodelDeclarations.0" name="TerminalElement"/> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://www.eclipse.org/2008/xtext/TestLang#//TerminalElement"/> + </type> <alternatives xsi:type="xtext:Assignment" feature="stringFeature" operator="="> <terminal xsi:type="xtext:RuleCall"> <rule href="classpath:/org/eclipse/xtext/builtin/XtextBuiltin.xmi#//@rules.2"/> diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/TreeTestLanguage.xmi b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/TreeTestLanguage.xmi index 58d582b..7f0999f 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/TreeTestLanguage.xmi +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/TreeTestLanguage.xmi @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="ASCII"?> -<xtext:Grammar xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xtext="http://www.eclipse.org/2008/Xtext"> +<xtext:Grammar xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:xtext="http://www.eclipse.org/2008/Xtext"> <idElements>org</idElements> <idElements>eclipse</idElements> <idElements>xtext</idElements> @@ -7,11 +7,17 @@ <idElements>TreeTestLanguage</idElements> <metamodelDeclarations xsi:type="xtext:GeneratedMetamodel" name="TreeTestLanguage" nsURI="http://www.eclipse.org/2008/tmf/xtext/TreeTestLanguage"/> <rules xsi:type="xtext:ParserRule" name="Model"> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://www.eclipse.org/2008/tmf/xtext/TreeTestLanguage#//Model"/> + </type> <alternatives xsi:type="xtext:Assignment" cardinality="*" feature="children" operator="+="> <terminal xsi:type="xtext:RuleCall" rule="//@rules.1"/> </alternatives> </rules> <rules xsi:type="xtext:ParserRule" name="Node"> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://www.eclipse.org/2008/tmf/xtext/TreeTestLanguage#//Node"/> + </type> <alternatives xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Group"> diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalActionTestLanguageLexer.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalActionTestLanguageLexer.java index e21352b..aefaec8 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalActionTestLanguageLexer.java +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalActionTestLanguageLexer.java @@ -1,4 +1,4 @@ -// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalActionTestLanguage.g 2008-12-08 18:02:56 +// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalActionTestLanguage.g 2008-12-10 12:15:42 package org.eclipse.xtext.testlanguages.parser.internal; diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalActionTestLanguageParser.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalActionTestLanguageParser.java index ba92953..522e962 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalActionTestLanguageParser.java +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalActionTestLanguageParser.java @@ -1,4 +1,4 @@ -// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalActionTestLanguage.g 2008-12-08 18:02:56 +// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalActionTestLanguage.g 2008-12-10 12:15:42 package org.eclipse.xtext.testlanguages.parser.internal; diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalContentAssistTestLanguageLexer.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalContentAssistTestLanguageLexer.java index f30cf87..faa4e8a 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalContentAssistTestLanguageLexer.java +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalContentAssistTestLanguageLexer.java @@ -1,4 +1,4 @@ -// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalContentAssistTestLanguage.g 2008-12-08 18:03:01 +// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalContentAssistTestLanguage.g 2008-12-10 12:15:47 package org.eclipse.xtext.testlanguages.parser.internal; diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalContentAssistTestLanguageParser.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalContentAssistTestLanguageParser.java index d9104d8..2b89ae8 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalContentAssistTestLanguageParser.java +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalContentAssistTestLanguageParser.java @@ -1,4 +1,4 @@ -// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalContentAssistTestLanguage.g 2008-12-08 18:03:01 +// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalContentAssistTestLanguage.g 2008-12-10 12:15:47 package org.eclipse.xtext.testlanguages.parser.internal; diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalFowlerDslTestLanguageLexer.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalFowlerDslTestLanguageLexer.java index 80d1904..f20a44d 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalFowlerDslTestLanguageLexer.java +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalFowlerDslTestLanguageLexer.java @@ -1,4 +1,4 @@ -// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalFowlerDslTestLanguage.g 2008-12-08 18:02:59 +// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalFowlerDslTestLanguage.g 2008-12-10 12:15:45 package org.eclipse.xtext.testlanguages.parser.internal; diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalFowlerDslTestLanguageParser.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalFowlerDslTestLanguageParser.java index a29c1a0..75b82e3 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalFowlerDslTestLanguageParser.java +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalFowlerDslTestLanguageParser.java @@ -1,4 +1,4 @@ -// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalFowlerDslTestLanguage.g 2008-12-08 18:02:59 +// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalFowlerDslTestLanguage.g 2008-12-10 12:15:44 package org.eclipse.xtext.testlanguages.parser.internal; diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalLexerTestLanguageLexer.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalLexerTestLanguageLexer.java index 4da28f2..f24418d 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalLexerTestLanguageLexer.java +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalLexerTestLanguageLexer.java @@ -1,4 +1,4 @@ -// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalLexerTestLanguage.g 2008-12-08 18:02:55 +// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalLexerTestLanguage.g 2008-12-10 12:15:41 package org.eclipse.xtext.testlanguages.parser.internal; diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalLexerTestLanguageParser.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalLexerTestLanguageParser.java index 5c1f2e9..f5e638e 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalLexerTestLanguageParser.java +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalLexerTestLanguageParser.java @@ -1,4 +1,4 @@ -// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalLexerTestLanguage.g 2008-12-08 18:02:55 +// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalLexerTestLanguage.g 2008-12-10 12:15:41 package org.eclipse.xtext.testlanguages.parser.internal; diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalLookaheadTestLanguageLexer.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalLookaheadTestLanguageLexer.java index a1bf5b0..691f5fe 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalLookaheadTestLanguageLexer.java +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalLookaheadTestLanguageLexer.java @@ -1,4 +1,4 @@ -// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalLookaheadTestLanguage.g 2008-12-08 18:02:58 +// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalLookaheadTestLanguage.g 2008-12-10 12:15:44 package org.eclipse.xtext.testlanguages.parser.internal; diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalLookaheadTestLanguageParser.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalLookaheadTestLanguageParser.java index 42f573d..ca251dd 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalLookaheadTestLanguageParser.java +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalLookaheadTestLanguageParser.java @@ -1,4 +1,4 @@ -// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalLookaheadTestLanguage.g 2008-12-08 18:02:57 +// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalLookaheadTestLanguage.g 2008-12-10 12:15:43 package org.eclipse.xtext.testlanguages.parser.internal; diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalOptionalEmptyTestLanguageLexer.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalOptionalEmptyTestLanguageLexer.java index ed4323a..06cc426 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalOptionalEmptyTestLanguageLexer.java +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalOptionalEmptyTestLanguageLexer.java @@ -1,4 +1,4 @@ -// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalOptionalEmptyTestLanguage.g 2008-12-08 18:02:56 +// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalOptionalEmptyTestLanguage.g 2008-12-10 12:15:42 package org.eclipse.xtext.testlanguages.parser.internal; diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalOptionalEmptyTestLanguageParser.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalOptionalEmptyTestLanguageParser.java index dd5e56c..7213761 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalOptionalEmptyTestLanguageParser.java +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalOptionalEmptyTestLanguageParser.java @@ -1,4 +1,4 @@ -// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalOptionalEmptyTestLanguage.g 2008-12-08 18:02:56 +// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalOptionalEmptyTestLanguage.g 2008-12-10 12:15:42 package org.eclipse.xtext.testlanguages.parser.internal; diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalPartialParserTestLanguageLexer.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalPartialParserTestLanguageLexer.java index d7ba7aa..9b9f070 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalPartialParserTestLanguageLexer.java +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalPartialParserTestLanguageLexer.java @@ -1,4 +1,4 @@ -// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalPartialParserTestLanguage.g 2008-12-08 18:03:00 +// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalPartialParserTestLanguage.g 2008-12-10 12:15:46 package org.eclipse.xtext.testlanguages.parser.internal; diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalPartialParserTestLanguageParser.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalPartialParserTestLanguageParser.java index 14bfc49..75139df 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalPartialParserTestLanguageParser.java +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalPartialParserTestLanguageParser.java @@ -1,4 +1,4 @@ -// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalPartialParserTestLanguage.g 2008-12-08 18:03:00 +// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalPartialParserTestLanguage.g 2008-12-10 12:15:46 package org.eclipse.xtext.testlanguages.parser.internal; diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalReferenceGrammarTestLanguageLexer.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalReferenceGrammarTestLanguageLexer.java index a7d9523..91dbdb3 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalReferenceGrammarTestLanguageLexer.java +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalReferenceGrammarTestLanguageLexer.java @@ -1,4 +1,4 @@ -// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalReferenceGrammarTestLanguage.g 2008-12-08 18:02:57 +// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalReferenceGrammarTestLanguage.g 2008-12-10 12:15:43 package org.eclipse.xtext.testlanguages.parser.internal; diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalReferenceGrammarTestLanguageParser.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalReferenceGrammarTestLanguageParser.java index c1d68df..7849e46 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalReferenceGrammarTestLanguageParser.java +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalReferenceGrammarTestLanguageParser.java @@ -1,4 +1,4 @@ -// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalReferenceGrammarTestLanguage.g 2008-12-08 18:02:57 +// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalReferenceGrammarTestLanguage.g 2008-12-10 12:15:43 package org.eclipse.xtext.testlanguages.parser.internal; diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalSimpleExpressionsTestLanguageLexer.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalSimpleExpressionsTestLanguageLexer.java index eb22b82..9f82c87 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalSimpleExpressionsTestLanguageLexer.java +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalSimpleExpressionsTestLanguageLexer.java @@ -1,4 +1,4 @@ -// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalSimpleExpressionsTestLanguage.g 2008-12-08 18:02:55 +// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalSimpleExpressionsTestLanguage.g 2008-12-10 12:15:41 package org.eclipse.xtext.testlanguages.parser.internal; diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalSimpleExpressionsTestLanguageParser.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalSimpleExpressionsTestLanguageParser.java index 2caaf8f..bb4f577 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalSimpleExpressionsTestLanguageParser.java +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalSimpleExpressionsTestLanguageParser.java @@ -1,4 +1,4 @@ -// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalSimpleExpressionsTestLanguage.g 2008-12-08 18:02:55 +// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalSimpleExpressionsTestLanguage.g 2008-12-10 12:15:41 package org.eclipse.xtext.testlanguages.parser.internal; diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalTestLanguageLexer.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalTestLanguageLexer.java index 99da453..b124f5d 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalTestLanguageLexer.java +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalTestLanguageLexer.java @@ -1,4 +1,4 @@ -// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalTestLanguage.g 2008-12-08 18:02:52 +// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalTestLanguage.g 2008-12-10 12:15:38 package org.eclipse.xtext.testlanguages.parser.internal; diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalTestLanguageParser.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalTestLanguageParser.java index 0066799..7506e9b 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalTestLanguageParser.java +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalTestLanguageParser.java @@ -1,4 +1,4 @@ -// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalTestLanguage.g 2008-12-08 18:02:52 +// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalTestLanguage.g 2008-12-10 12:15:38 package org.eclipse.xtext.testlanguages.parser.internal; diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalTreeTestLanguageLexer.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalTreeTestLanguageLexer.java index 14fdfc1..42bfb84 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalTreeTestLanguageLexer.java +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalTreeTestLanguageLexer.java @@ -1,4 +1,4 @@ -// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalTreeTestLanguage.g 2008-12-08 18:02:59 +// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalTreeTestLanguage.g 2008-12-10 12:15:45 package org.eclipse.xtext.testlanguages.parser.internal; diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalTreeTestLanguageParser.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalTreeTestLanguageParser.java index 819f4ee..98a9e78 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalTreeTestLanguageParser.java +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalTreeTestLanguageParser.java @@ -1,4 +1,4 @@ -// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalTreeTestLanguage.g 2008-12-08 18:02:59 +// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/testlanguages/parser/internal/InternalTreeTestLanguage.g 2008-12-10 12:15:45 package org.eclipse.xtext.testlanguages.parser.internal; diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/partialParserTestLanguage.ecore b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/partialParserTestLanguage.ecore index 639510b..47d076a 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/partialParserTestLanguage.ecore +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/partialParserTestLanguage.ecore @@ -14,12 +14,12 @@ <eClassifiers xsi:type="ecore:EClass" name="Children" eSuperTypes="//Content"> <eStructuralFeatures xsi:type="ecore:EReference" name="children" upperBound="-1" eType="//Child" containment="true"/> </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="AbstractChildren" eSuperTypes="//Content"> - <eStructuralFeatures xsi:type="ecore:EReference" name="abstractChildren" upperBound="-1" eType="//AbstractChild" containment="true"/> - </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="Child"> <eStructuralFeatures xsi:type="ecore:EReference" name="value" eType="//Named" containment="true"/> </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="AbstractChildren" eSuperTypes="//Content"> + <eStructuralFeatures xsi:type="ecore:EReference" name="abstractChildren" upperBound="-1" eType="//AbstractChild" containment="true"/> + </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="AbstractChild"> <eStructuralFeatures xsi:type="ecore:EReference" name="value" eType="//Named" containment="true"/> </eClassifiers> diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/services/ActionTestLanguageGrammarAccess.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/services/ActionTestLanguageGrammarAccess.java index 431f108..f66a459 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/services/ActionTestLanguageGrammarAccess.java +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/services/ActionTestLanguageGrammarAccess.java @@ -22,7 +22,7 @@ public class ActionTestLanguageGrammarAccess extends BaseEPackageAccess implemen // ( children += Element ) * public Assignment eleAssignmentChildren() { - return (cAssignmentChildren != null) ? cAssignmentChildren : (cAssignmentChildren = (Assignment)getRule().eContents().get(0)); + return (cAssignmentChildren != null) ? cAssignmentChildren : (cAssignmentChildren = (Assignment)getRule().eContents().get(1)); } // Element diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/services/ContentAssistTestLanguageGrammarAccess.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/services/ContentAssistTestLanguageGrammarAccess.java index 90b9eef..ecfd7b9 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/services/ContentAssistTestLanguageGrammarAccess.java +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/services/ContentAssistTestLanguageGrammarAccess.java @@ -26,7 +26,7 @@ public class ContentAssistTestLanguageGrammarAccess extends BaseEPackageAccess i // 'abstract rules' ( rules += AbstractRule ) + 'end' public Group eleGroup() { - return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(0)); + return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(1)); } // 'abstract rules' ( rules += AbstractRule ) + @@ -68,7 +68,7 @@ public class ContentAssistTestLanguageGrammarAccess extends BaseEPackageAccess i // FirstAbstractRuleChild | SecondAbstractRuleChild public Alternatives eleAlternatives() { - return (cAlternatives != null) ? cAlternatives : (cAlternatives = (Alternatives)getRule().eContents().get(0)); + return (cAlternatives != null) ? cAlternatives : (cAlternatives = (Alternatives)getRule().eContents().get(1)); } // FirstAbstractRuleChild @@ -103,7 +103,7 @@ public class ContentAssistTestLanguageGrammarAccess extends BaseEPackageAccess i // name = ID '(' ( elements += AbstractRule ) + ')' ';' public Group eleGroup() { - return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(0)); + return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(1)); } // name = ID '(' ( elements += AbstractRule ) + ')' @@ -178,7 +178,7 @@ public class ContentAssistTestLanguageGrammarAccess extends BaseEPackageAccess i // name = ID 'rule' ':' rule = AbstractRuleCall ';' public Group eleGroup() { - return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(0)); + return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(1)); } // name = ID 'rule' ':' rule = AbstractRuleCall @@ -244,7 +244,7 @@ public class ContentAssistTestLanguageGrammarAccess extends BaseEPackageAccess i // rule = [ AbstractRule ] public Assignment eleAssignmentRule() { - return (cAssignmentRule != null) ? cAssignmentRule : (cAssignmentRule = (Assignment)getRule().eContents().get(0)); + return (cAssignmentRule != null) ? cAssignmentRule : (cAssignmentRule = (Assignment)getRule().eContents().get(1)); } // [ AbstractRule ] diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/services/FowlerDslTestLanguageGrammarAccess.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/services/FowlerDslTestLanguageGrammarAccess.java index 1ed1e39..f27efe2 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/services/FowlerDslTestLanguageGrammarAccess.java +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/services/FowlerDslTestLanguageGrammarAccess.java @@ -36,7 +36,7 @@ public class FowlerDslTestLanguageGrammarAccess extends BaseEPackageAccess imple // 'events' ( events += Event ) * 'end' 'commands' ( commands += Command ) * 'end' ( states += State ) * public Group eleGroup() { - return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(0)); + return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(1)); } // 'events' ( events += Event ) * 'end' 'commands' ( commands += Command ) * 'end' @@ -133,7 +133,7 @@ public class FowlerDslTestLanguageGrammarAccess extends BaseEPackageAccess imple // ( resetting ?= 'resetting' ) ? name = ID code = ID public Group eleGroup() { - return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(0)); + return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(1)); } // ( resetting ?= 'resetting' ) ? name = ID @@ -187,7 +187,7 @@ public class FowlerDslTestLanguageGrammarAccess extends BaseEPackageAccess imple // name = ID code = ID public Group eleGroup() { - return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(0)); + return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(1)); } // name = ID @@ -239,7 +239,7 @@ public class FowlerDslTestLanguageGrammarAccess extends BaseEPackageAccess imple // 'state' name = ID ( 'actions' '{' ( actions += [ Command ] ) + '}' ) ? ( transitions += Transition ) * 'end' public Group eleGroup() { - return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(0)); + return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(1)); } // 'state' name = ID ( 'actions' '{' ( actions += [ Command ] ) + '}' ) ? ( transitions += Transition ) * @@ -345,7 +345,7 @@ public class FowlerDslTestLanguageGrammarAccess extends BaseEPackageAccess imple // event = [ Event ] '=>' state = [ State ] public Group eleGroup() { - return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(0)); + return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(1)); } // event = [ Event ] '=>' diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/services/LexerTestLanguageGrammarAccess.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/services/LexerTestLanguageGrammarAccess.java index b707cda..ddaae81 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/services/LexerTestLanguageGrammarAccess.java +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/services/LexerTestLanguageGrammarAccess.java @@ -22,7 +22,7 @@ public class LexerTestLanguageGrammarAccess extends BaseEPackageAccess implement // ( children += Element ) * public Assignment eleAssignmentChildren() { - return (cAssignmentChildren != null) ? cAssignmentChildren : (cAssignmentChildren = (Assignment)getRule().eContents().get(0)); + return (cAssignmentChildren != null) ? cAssignmentChildren : (cAssignmentChildren = (Assignment)getRule().eContents().get(1)); } // Element @@ -46,7 +46,7 @@ public class LexerTestLanguageGrammarAccess extends BaseEPackageAccess implement // name = ID h = STRING public Group eleGroup() { - return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(0)); + return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(1)); } // name = ID diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/services/LookaheadTestLanguageGrammarAccess.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/services/LookaheadTestLanguageGrammarAccess.java index 28603ef..4de9f73 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/services/LookaheadTestLanguageGrammarAccess.java +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/services/LookaheadTestLanguageGrammarAccess.java @@ -22,7 +22,7 @@ public class LookaheadTestLanguageGrammarAccess extends BaseEPackageAccess imple // ( contents += Alts ) * public Assignment eleAssignmentContents() { - return (cAssignmentContents != null) ? cAssignmentContents : (cAssignmentContents = (Assignment)getRule().eContents().get(0)); + return (cAssignmentContents != null) ? cAssignmentContents : (cAssignmentContents = (Assignment)getRule().eContents().get(1)); } // Alts @@ -46,7 +46,7 @@ public class LookaheadTestLanguageGrammarAccess extends BaseEPackageAccess imple // LookAhead0 | LookAhead1 | LookAhead3 public Alternatives eleAlternatives() { - return (cAlternatives != null) ? cAlternatives : (cAlternatives = (Alternatives)getRule().eContents().get(0)); + return (cAlternatives != null) ? cAlternatives : (cAlternatives = (Alternatives)getRule().eContents().get(1)); } // LookAhead0 | LookAhead1 @@ -84,7 +84,7 @@ public class LookaheadTestLanguageGrammarAccess extends BaseEPackageAccess imple // 'bar' x = 'a' public Group eleGroup() { - return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(0)); + return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(1)); } // 'bar' @@ -123,7 +123,7 @@ public class LookaheadTestLanguageGrammarAccess extends BaseEPackageAccess imple // 'foo' y = LookAhead2 x = 'b' x = 'd' public Group eleGroup() { - return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(0)); + return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(1)); } // 'foo' y = LookAhead2 x = 'b' @@ -189,7 +189,7 @@ public class LookaheadTestLanguageGrammarAccess extends BaseEPackageAccess imple // ( z = 'foo' | z = 'bar' ) 'c' public Group eleGroup() { - return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(0)); + return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(1)); } // z = 'foo' | z = 'bar' @@ -242,7 +242,7 @@ public class LookaheadTestLanguageGrammarAccess extends BaseEPackageAccess imple // 'foo' 'bar' x = 'b' z = LookAhead4 public Group eleGroup() { - return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(0)); + return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(1)); } // 'foo' 'bar' x = 'b' @@ -301,7 +301,7 @@ public class LookaheadTestLanguageGrammarAccess extends BaseEPackageAccess imple // x = 'c' | x = 'd' public Alternatives eleAlternatives() { - return (cAlternatives != null) ? cAlternatives : (cAlternatives = (Alternatives)getRule().eContents().get(0)); + return (cAlternatives != null) ? cAlternatives : (cAlternatives = (Alternatives)getRule().eContents().get(1)); } // x = 'c' diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/services/OptionalEmptyTestLanguageGrammarAccess.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/services/OptionalEmptyTestLanguageGrammarAccess.java index d15ad73..9c200e5 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/services/OptionalEmptyTestLanguageGrammarAccess.java +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/services/OptionalEmptyTestLanguageGrammarAccess.java @@ -22,7 +22,7 @@ public class OptionalEmptyTestLanguageGrammarAccess extends BaseEPackageAccess i // ( child = Greeting ) ? public Assignment eleAssignmentChild() { - return (cAssignmentChild != null) ? cAssignmentChild : (cAssignmentChild = (Assignment)getRule().eContents().get(0)); + return (cAssignmentChild != null) ? cAssignmentChild : (cAssignmentChild = (Assignment)getRule().eContents().get(1)); } // Greeting @@ -45,7 +45,7 @@ public class OptionalEmptyTestLanguageGrammarAccess extends BaseEPackageAccess i // 'hallo' name = ID public Group eleGroup() { - return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(0)); + return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(1)); } // 'hallo' diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/services/PartialParserTestLanguageGrammarAccess.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/services/PartialParserTestLanguageGrammarAccess.java index ad934ca..e7cc4a6 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/services/PartialParserTestLanguageGrammarAccess.java +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/services/PartialParserTestLanguageGrammarAccess.java @@ -34,7 +34,7 @@ public class PartialParserTestLanguageGrammarAccess extends BaseEPackageAccess i // 'container' name = ID '{' ( nested += Nested | content += Content ) * '}' public Group eleGroup() { - return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(0)); + return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(1)); } // 'container' name = ID '{' ( nested += Nested | content += Content ) * @@ -121,7 +121,7 @@ public class PartialParserTestLanguageGrammarAccess extends BaseEPackageAccess i // 'nested' '{' ( nested += Container ) + '}' public Group eleGroup() { - return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(0)); + return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(1)); } // 'nested' '{' ( nested += Container ) + @@ -173,7 +173,7 @@ public class PartialParserTestLanguageGrammarAccess extends BaseEPackageAccess i // Children | AbstractChildren public Alternatives eleAlternatives() { - return (cAlternatives != null) ? cAlternatives : (cAlternatives = (Alternatives)getRule().eContents().get(0)); + return (cAlternatives != null) ? cAlternatives : (cAlternatives = (Alternatives)getRule().eContents().get(1)); } // Children @@ -210,7 +210,7 @@ public class PartialParserTestLanguageGrammarAccess extends BaseEPackageAccess i // 'children' '{' children += Child ( ',' children += Child ) * '}' public Group eleGroup() { - return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(0)); + return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(1)); } // 'children' '{' children += Child ( ',' children += Child ) * @@ -294,7 +294,7 @@ public class PartialParserTestLanguageGrammarAccess extends BaseEPackageAccess i // '->' 'C' '(' value = Named ')' public Group eleGroup() { - return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(0)); + return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(1)); } // '->' 'C' '(' value = Named @@ -361,7 +361,7 @@ public class PartialParserTestLanguageGrammarAccess extends BaseEPackageAccess i // 'abstract children' '{' ( abstractChildren += AbstractChild ) + '}' public Group eleGroup() { - return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(0)); + return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(1)); } // 'abstract children' '{' ( abstractChildren += AbstractChild ) + @@ -413,7 +413,7 @@ public class PartialParserTestLanguageGrammarAccess extends BaseEPackageAccess i // FirstConcrete | SecondConcrete public Alternatives eleAlternatives() { - return (cAlternatives != null) ? cAlternatives : (cAlternatives = (Alternatives)getRule().eContents().get(0)); + return (cAlternatives != null) ? cAlternatives : (cAlternatives = (Alternatives)getRule().eContents().get(1)); } // FirstConcrete @@ -450,7 +450,7 @@ public class PartialParserTestLanguageGrammarAccess extends BaseEPackageAccess i // '->' 'F' '(' value = Named ( referencedContainer = [ Container ] ) ? ')' public Group eleGroup() { - return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(0)); + return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(1)); } // '->' 'F' '(' value = Named ( referencedContainer = [ Container ] ) ? @@ -539,7 +539,7 @@ public class PartialParserTestLanguageGrammarAccess extends BaseEPackageAccess i // '->' 'F' 'S' '(' value = Named ( referencedChildren += [ Child ] ) ? ')' public Group eleGroup() { - return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(0)); + return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(1)); } // '->' 'F' 'S' '(' value = Named ( referencedChildren += [ Child ] ) ? @@ -625,7 +625,7 @@ public class PartialParserTestLanguageGrammarAccess extends BaseEPackageAccess i // name = ID public Assignment eleAssignmentName() { - return (cAssignmentName != null) ? cAssignmentName : (cAssignmentName = (Assignment)getRule().eContents().get(0)); + return (cAssignmentName != null) ? cAssignmentName : (cAssignmentName = (Assignment)getRule().eContents().get(1)); } // ID diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/services/ReferenceGrammarTestLanguageGrammarAccess.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/services/ReferenceGrammarTestLanguageGrammarAccess.java index 6d81b32..ac0f31f 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/services/ReferenceGrammarTestLanguageGrammarAccess.java +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/services/ReferenceGrammarTestLanguageGrammarAccess.java @@ -43,7 +43,7 @@ public class ReferenceGrammarTestLanguageGrammarAccess extends BaseEPackageAcces // ( 'spielplatz' groesse = INT ( beschreibung = STRING ) ? '{' ( kinder += Kind | erzieher += Erwachsener | spielzeuge += Spielzeug | familie += Familie ) * '}' ) ? public Group eleGroup() { - return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(0)); + return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(1)); } // 'spielplatz' groesse = INT ( beschreibung = STRING ) ? '{' ( kinder += Kind | erzieher += Erwachsener | spielzeuge += Spielzeug | familie += Familie ) * @@ -170,7 +170,7 @@ public class ReferenceGrammarTestLanguageGrammarAccess extends BaseEPackageAcces // Kind | Erwachsener public Alternatives eleAlternatives() { - return (cAlternatives != null) ? cAlternatives : (cAlternatives = (Alternatives)getRule().eContents().get(0)); + return (cAlternatives != null) ? cAlternatives : (cAlternatives = (Alternatives)getRule().eContents().get(1)); } // Kind @@ -205,7 +205,7 @@ public class ReferenceGrammarTestLanguageGrammarAccess extends BaseEPackageAcces // 'kind' '(' name = ID age = INT ')' public Group eleGroup() { - return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(0)); + return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(1)); } // 'kind' '(' name = ID age = INT @@ -280,7 +280,7 @@ public class ReferenceGrammarTestLanguageGrammarAccess extends BaseEPackageAcces // 'erwachsener' '(' name = ID age = INT ')' public Group eleGroup() { - return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(0)); + return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(1)); } // 'erwachsener' '(' name = ID age = INT @@ -355,7 +355,7 @@ public class ReferenceGrammarTestLanguageGrammarAccess extends BaseEPackageAcces // 'spielzeug' '(' name = ID farbe = Farbe ')' public Group eleGroup() { - return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(0)); + return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(1)); } // 'spielzeug' '(' name = ID farbe = Farbe @@ -426,7 +426,7 @@ public class ReferenceGrammarTestLanguageGrammarAccess extends BaseEPackageAcces // 'ROT' | 'BLAU' | 'GELB' | 'GRÜN' public Alternatives eleAlternatives() { - return (cAlternatives != null) ? cAlternatives : (cAlternatives = (Alternatives)getRule().eContents().get(0)); + return (cAlternatives != null) ? cAlternatives : (cAlternatives = (Alternatives)getRule().eContents().get(1)); } // 'ROT' | 'BLAU' | 'GELB' @@ -496,7 +496,7 @@ public class ReferenceGrammarTestLanguageGrammarAccess extends BaseEPackageAcces // 'familie' '(' name = ( 'keyword' | STRING | ID ) mutter = [ Erwachsener ] vater = [ Erwachsener ] kinder += [ Kind ] ( ',' kinder += [ Kind ] ) * ')' public Group eleGroup() { - return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(0)); + return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(1)); } // 'familie' '(' name = ( 'keyword' | STRING | ID ) mutter = [ Erwachsener ] vater = [ Erwachsener ] kinder += [ Kind ] ( ',' kinder += [ Kind ] ) * diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/services/SimpleExpressionsTestLanguageGrammarAccess.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/services/SimpleExpressionsTestLanguageGrammarAccess.java index ad2e885..8eda35e 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/services/SimpleExpressionsTestLanguageGrammarAccess.java +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/services/SimpleExpressionsTestLanguageGrammarAccess.java @@ -26,7 +26,7 @@ public class SimpleExpressionsTestLanguageGrammarAccess extends BaseEPackageAcce // Addition ( { current = Sequence . expressions += current } expressions += Addition ) * public Group eleGroup() { - return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(0)); + return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(1)); } // Addition @@ -244,7 +244,7 @@ public class SimpleExpressionsTestLanguageGrammarAccess extends BaseEPackageAcce // name = ID public Assignment eleAssignmentName() { - return (cAssignmentName != null) ? cAssignmentName : (cAssignmentName = (Assignment)getRule().eContents().get(0)); + return (cAssignmentName != null) ? cAssignmentName : (cAssignmentName = (Assignment)getRule().eContents().get(1)); } // ID diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/services/TreeTestLanguageGrammarAccess.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/services/TreeTestLanguageGrammarAccess.java index 8364e51..355f0fe 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/services/TreeTestLanguageGrammarAccess.java +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/services/TreeTestLanguageGrammarAccess.java @@ -22,7 +22,7 @@ public class TreeTestLanguageGrammarAccess extends BaseEPackageAccess implements // ( children += Node ) * public Assignment eleAssignmentChildren() { - return (cAssignmentChildren != null) ? cAssignmentChildren : (cAssignmentChildren = (Assignment)getRule().eContents().get(0)); + return (cAssignmentChildren != null) ? cAssignmentChildren : (cAssignmentChildren = (Assignment)getRule().eContents().get(1)); } // Node @@ -57,7 +57,7 @@ public class TreeTestLanguageGrammarAccess extends BaseEPackageAccess implements // name = ID '(' attrib = STRING ')' '{' ( children += Node ) * '};' public Group eleGroup() { - return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(0)); + return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(1)); } // name = ID '(' attrib = STRING ')' '{' ( children += Node ) * diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/simpleExpressions.ecore b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/simpleExpressions.ecore index 109653e..95a3f5a 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/simpleExpressions.ecore +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/testlanguages/simpleExpressions.ecore @@ -4,14 +4,14 @@ <eStructuralFeatures xsi:type="ecore:EReference" name="expressions" upperBound="-1" eType="//Expression" containment="true"/> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="Expression" eSuperTypes="//Sequence"/> - <eClassifiers xsi:type="ecore:EClass" name="Op" eSuperTypes="//Expression"> - <eStructuralFeatures xsi:type="ecore:EReference" name="values" upperBound="-1" eType="//Expression" containment="true"/> - <eStructuralFeatures xsi:type="ecore:EAttribute" name="operator"> + <eClassifiers xsi:type="ecore:EClass" name="Atom" eSuperTypes="//Expression"> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="name"> <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> </eStructuralFeatures> </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="Atom" eSuperTypes="//Expression"> - <eStructuralFeatures xsi:type="ecore:EAttribute" name="name"> + <eClassifiers xsi:type="ecore:EClass" name="Op" eSuperTypes="//Expression"> + <eStructuralFeatures xsi:type="ecore:EReference" name="values" upperBound="-1" eType="//Expression" containment="true"/> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="operator"> <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> </eStructuralFeatures> </eClassifiers> diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/valueconverter/AbstractBug250313RuntimeConfig.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/valueconverter/AbstractBug250313RuntimeConfig.java index 4c343ac..f4b9e1b 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/valueconverter/AbstractBug250313RuntimeConfig.java +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/valueconverter/AbstractBug250313RuntimeConfig.java @@ -9,14 +9,14 @@ import org.eclipse.xtext.service.AbstractServiceRegistrationFactory; */ public abstract class AbstractBug250313RuntimeConfig extends AbstractServiceRegistrationFactory { - protected Class<? extends org.eclipse.xtext.IGrammarAccess> getIGrammarAccess() { - return org.eclipse.xtext.valueconverter.services.Bug250313GrammarAccess.class; - } - protected Class<? extends org.eclipse.xtext.IMetamodelAccess> getIMetamodelAccess() { return org.eclipse.xtext.valueconverter.services.Bug250313MetamodelAccess.class; } + protected Class<? extends org.eclipse.xtext.IGrammarAccess> getIGrammarAccess() { + return org.eclipse.xtext.valueconverter.services.Bug250313GrammarAccess.class; + } + protected Class<? extends org.eclipse.xtext.parser.IAstFactory> getIAstFactory() { return org.eclipse.xtext.parser.GenericEcoreElementFactory.class; } @@ -56,8 +56,8 @@ public abstract class AbstractBug250313RuntimeConfig extends AbstractServiceRegi public Set<IServiceRegistration> registrations() { return scope(org.eclipse.xtext.valueconverter.IBug250313.SCOPE) - .with(org.eclipse.xtext.IGrammarAccess.class, getIGrammarAccess()) .with(org.eclipse.xtext.IMetamodelAccess.class, getIMetamodelAccess()) + .with(org.eclipse.xtext.IGrammarAccess.class, getIGrammarAccess()) .with(org.eclipse.xtext.parser.IAstFactory.class, getIAstFactory()) .with(org.eclipse.xtext.parser.IParser.class, getIParser()) .with(org.eclipse.xtext.parser.antlr.IAntlrTokenFileProvider.class, getIAntlrTokenFileProvider()) diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/valueconverter/Bug250313.xmi b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/valueconverter/Bug250313.xmi index db79801..5659675 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/valueconverter/Bug250313.xmi +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/valueconverter/Bug250313.xmi @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="ASCII"?> -<xtext:Grammar xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xtext="http://www.eclipse.org/2008/Xtext"> +<xtext:Grammar xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:xtext="http://www.eclipse.org/2008/Xtext"> <idElements>org</idElements> <idElements>eclipse</idElements> <idElements>xtext</idElements> @@ -7,6 +7,9 @@ <idElements>Bug250313</idElements> <metamodelDeclarations xsi:type="xtext:GeneratedMetamodel" name="bug250313" nsURI="http://org.eclipse.xtext.valueconverter.Bug250313"/> <rules xsi:type="xtext:ParserRule" name="Ref2"> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://org.eclipse.xtext.valueconverter.Bug250313#//Ref2"/> + </type> <alternatives xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Keyword" value="#2"/> <abstractTokens xsi:type="xtext:Assignment" feature="ref2" operator="="> diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/valueconverter/parser/internal/InternalBug250313Lexer.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/valueconverter/parser/internal/InternalBug250313Lexer.java index 5060cc5..e3ac3ce 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/valueconverter/parser/internal/InternalBug250313Lexer.java +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/valueconverter/parser/internal/InternalBug250313Lexer.java @@ -1,4 +1,4 @@ -// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/valueconverter/parser/internal/InternalBug250313.g 2008-12-08 18:02:58 +// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/valueconverter/parser/internal/InternalBug250313.g 2008-12-10 12:15:44 package org.eclipse.xtext.valueconverter.parser.internal; diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/valueconverter/parser/internal/InternalBug250313Parser.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/valueconverter/parser/internal/InternalBug250313Parser.java index 0132a68..666e3b7 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/valueconverter/parser/internal/InternalBug250313Parser.java +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/valueconverter/parser/internal/InternalBug250313Parser.java @@ -1,4 +1,4 @@ -// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/valueconverter/parser/internal/InternalBug250313.g 2008-12-08 18:02:58 +// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/valueconverter/parser/internal/InternalBug250313.g 2008-12-10 12:15:44 package org.eclipse.xtext.valueconverter.parser.internal; diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/valueconverter/services/Bug250313GrammarAccess.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/valueconverter/services/Bug250313GrammarAccess.java index e73695c..d2fb330 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/valueconverter/services/Bug250313GrammarAccess.java +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/valueconverter/services/Bug250313GrammarAccess.java @@ -28,7 +28,7 @@ public class Bug250313GrammarAccess extends BaseEPackageAccess implements IGramm // '#2' ref2 = ( 'mykeyword1' | STRING | ID ) public Group eleGroup() { - return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(0)); + return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(1)); } // '#2' diff --git a/tests/org.eclipse.xtext.generator.tests/src/org/eclipse/xtext/GrammarUtilTests.java b/tests/org.eclipse.xtext.generator.tests/src/org/eclipse/xtext/GrammarUtilTests.java index 4467bf5..16c7a79 100644 --- a/tests/org.eclipse.xtext.generator.tests/src/org/eclipse/xtext/GrammarUtilTests.java +++ b/tests/org.eclipse.xtext.generator.tests/src/org/eclipse/xtext/GrammarUtilTests.java @@ -8,6 +8,7 @@ package org.eclipse.xtext; import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EClassifier; import org.eclipse.emf.ecore.EObject; import org.eclipse.emf.ecore.EPackage; import org.eclipse.emf.ecore.EReference; @@ -64,12 +65,14 @@ public class GrammarUtilTests extends AbstractGeneratorTest { Assignment asExtends = (Assignment)((Group)prType.getAlternatives()).getAbstractTokens().get(1); CrossReference xref = (CrossReference) asExtends.getTerminal(); - EClass referencedEClass = GrammarUtil.getReferencedEClass(resource, xref); - assertNotNull(referencedEClass); + EClassifier referencedClassifier = GrammarUtil.getReferencedEClass(resource, xref); + assertNotNull(referencedClassifier); + assertNotNull(referencedClassifier.getName()); EObject model = getModel(resource); EObject typeA = (EObject) invokeWithXtend("types.first()", model); - assertEquals(typeA.eClass(), referencedEClass); + assertEquals("typeA.eClass()[" + typeA.eClass().getName() + "] <> referencedClassifier["+ referencedClassifier.getName() +"]", + referencedClassifier, typeA.eClass()); } public void testGetReference() throws Exception { diff --git a/tests/org.eclipse.xtext.generator.tests/src/org/eclipse/xtext/XtextGrammarTestLanguage.xtext b/tests/org.eclipse.xtext.generator.tests/src/org/eclipse/xtext/XtextGrammarTestLanguage.xtext index 770981e..d8fe3e2 100755 --- a/tests/org.eclipse.xtext.generator.tests/src/org/eclipse/xtext/XtextGrammarTestLanguage.xtext +++ b/tests/org.eclipse.xtext.generator.tests/src/org/eclipse/xtext/XtextGrammarTestLanguage.xtext @@ -9,6 +9,7 @@ language org.eclipse.xtext.XtextGrammarTestLanguage generate XtextTest "http://www.eclipse.org/2008/Test/XtextTest" +import "http://www.eclipse.org/emf/2002/Ecore" as ecore Grammar : (abstract?='abstract language' | 'language') idElements+=ID ('.' idElements+=ID)* ('extends' superGrammarIdElements+=ID ('.' superGrammarIdElements+=ID)*)? @@ -21,9 +22,13 @@ AbstractRule : LexerRule | ParserRule; AbstractMetamodelDeclaration : GeneratedMetamodel | ReferencedMetamodel; +// constraint: typeSelect(GeneratedMetamodel).size() == typeSelect(GeneratedMetamodel).alias.size() +// generated metamodels have to have different aliases GeneratedMetamodel : 'generate' name=ID nsURI=STRING ('as' alias=ID)?; +// referenced metamodels may share aliases with other referenced metamodels +// and with generated metamodels ReferencedMetamodel : 'import' uri=STRING ('as' alias=ID)?; @@ -39,7 +44,7 @@ ParserRule : ; TypeRef : - (alias=ID '::')? name=ID + (metamodel=[AbstractMetamodelDeclaration] '::')? type=[EClassifier] ; Alternatives returns AbstractElement: @@ -66,7 +71,7 @@ AbstractTerminal returns AbstractElement: ; CrossReference : - '[' type=TypeRef ('|' rule=[LexerRule])? ']' + '[' type=TypeRef ('|' rule=[AbstractRule])? ']' ; ParenthesizedElement returns AbstractElement: @@ -79,4 +84,3 @@ Keyword : RuleCall : rule=[AbstractRule]; - diff --git a/tests/org.eclipse.xtext.generator.tests/src/org/eclipse/xtext/grammarinheritance/ToEcoreTrafoTest.java b/tests/org.eclipse.xtext.generator.tests/src/org/eclipse/xtext/grammarinheritance/ToEcoreTrafoTest.java index 6c997ca..e508a17 100644 --- a/tests/org.eclipse.xtext.generator.tests/src/org/eclipse/xtext/grammarinheritance/ToEcoreTrafoTest.java +++ b/tests/org.eclipse.xtext.generator.tests/src/org/eclipse/xtext/grammarinheritance/ToEcoreTrafoTest.java @@ -46,7 +46,7 @@ public class ToEcoreTrafoTest extends AbstractGeneratorTest { } Xtext2EcoreTransformer transformer = new Xtext2EcoreTransformer(); - List<EPackage> list = transformer.transform(element); + List<EPackage> list = Xtext2EcoreTransformer.doGetGeneratedPackages(element); assertNotNull(list); assertEquals(0, list.size()); } @@ -59,8 +59,7 @@ public class ToEcoreTrafoTest extends AbstractGeneratorTest { for (LexerRule lexerRule : lexerRules) { logger.debug(lexerRule.getName()); } - Xtext2EcoreTransformer transformer = new Xtext2EcoreTransformer(); - List<EPackage> list = transformer.transform(element); + List<EPackage> list = Xtext2EcoreTransformer.doGetGeneratedPackages(element); EPackage metaModel = list.get(0); assertNotNull(metaModel); assertNotNull(metaModel.getNsPrefix()); diff --git a/tests/org.eclipse.xtext.generator.tests/src/org/eclipse/xtext/metamodelreferencing/tests/MetamodelRefTestLanguage.xtext b/tests/org.eclipse.xtext.generator.tests/src/org/eclipse/xtext/metamodelreferencing/tests/MetamodelRefTestLanguage.xtext index 9d5508c..ea72a6b 100755 --- a/tests/org.eclipse.xtext.generator.tests/src/org/eclipse/xtext/metamodelreferencing/tests/MetamodelRefTestLanguage.xtext +++ b/tests/org.eclipse.xtext.generator.tests/src/org/eclipse/xtext/metamodelreferencing/tests/MetamodelRefTestLanguage.xtext @@ -15,7 +15,7 @@ Foo : name=ID (nameRefs+=NameRef)*; NameRef returns xtext::RuleCall : - rule=[MyRule]; + rule=[ParserRule]; MyRule returns xtext::ParserRule : name=ID;
\ No newline at end of file diff --git a/tests/org.eclipse.xtext.generator.tests/src/org/eclipse/xtext/parser/XtextParserTest.java b/tests/org.eclipse.xtext.generator.tests/src/org/eclipse/xtext/parser/XtextParserTest.java index 46f5e30..d135f43 100644 --- a/tests/org.eclipse.xtext.generator.tests/src/org/eclipse/xtext/parser/XtextParserTest.java +++ b/tests/org.eclipse.xtext.generator.tests/src/org/eclipse/xtext/parser/XtextParserTest.java @@ -25,7 +25,8 @@ public class XtextParserTest extends AbstractGeneratorTest { } public void testParseCrossRef() throws Exception { - Grammar model = (Grammar) getModel("language foo generate foo 'bar' Model : 'a' stuff+=Stuff*; Stuff : 'stuff' name=ID refersTo=[Stuff];"); - assertWithXtend("'Stuff'", "eAllContents.typeSelect(xtext::CrossReference).first().type.name", model); + Grammar model = (Grammar) getModel("language foo generate foo 'bar' as boo Model : 'a' stuff+=Stuff*; Stuff : 'stuff' name=ID refersTo=[Stuff];"); + assertWithXtend("'boo'", "eAllContents.typeSelect(xtext::CrossReference).first().type.metamodel.alias", model); + assertWithXtend("'Stuff'", "eAllContents.typeSelect(xtext::CrossReference).first().type.type.name", model); } } diff --git a/tests/org.eclipse.xtext.generator.tests/src/org/eclipse/xtext/parsetree/ParseTreeUtilTest.java b/tests/org.eclipse.xtext.generator.tests/src/org/eclipse/xtext/parsetree/ParseTreeUtilTest.java index cf75fe1..ec5de95 100644 --- a/tests/org.eclipse.xtext.generator.tests/src/org/eclipse/xtext/parsetree/ParseTreeUtilTest.java +++ b/tests/org.eclipse.xtext.generator.tests/src/org/eclipse/xtext/parsetree/ParseTreeUtilTest.java @@ -57,33 +57,149 @@ public class ParseTreeUtilTest extends AbstractGeneratorTest { assertEquals("expect leafnode with text '{'", ((LeafNode) lastCompleteNodeByOffset).getText(), "{"); } - public void testGetCurrentNodeByOffset() throws Exception { - + public void testGetCurrentOrFollowingNodeByOffset() throws Exception { String text = "spielplatz 1 \"junit\" { kin "; CompositeNode rootNode = getRootNode(text); - LeafNode currentNodeByOffset = (LeafNode) ParseTreeUtil.getCurrentNodeByOffset(rootNode, 26); + LeafNode currentNodeByOffset = (LeafNode) ParseTreeUtil.getCurrentOrFollowingNodeByOffset(rootNode, 26); assertEquals("expect leafnode with text 'kin'", currentNodeByOffset.getText(), "kin"); text = "spielplatz 1 \"junit\" { kind ("; rootNode = getRootNode(text); - currentNodeByOffset = (LeafNode) ParseTreeUtil.getCurrentNodeByOffset(rootNode, text.length()); + currentNodeByOffset = (LeafNode) ParseTreeUtil.getCurrentOrFollowingNodeByOffset(rootNode, text.length()); assertEquals("expect leafnode with text '('", currentNodeByOffset.getText(), "("); text = "spielplatz 1 \"junit\" { kind ( "; rootNode = getRootNode(text); - currentNodeByOffset = (LeafNode) ParseTreeUtil.getCurrentNodeByOffset(rootNode, text.length()); + currentNodeByOffset = (LeafNode) ParseTreeUtil.getCurrentOrFollowingNodeByOffset(rootNode, text.length()); assertEquals("expect leafnode with WS text '__'", currentNodeByOffset.getText(), " "); text = "spielplatz 1 \"junit\" { kind ("; rootNode = getRootNode(text); - currentNodeByOffset = (LeafNode) ParseTreeUtil.getCurrentNodeByOffset(rootNode, text.length() - 1); + currentNodeByOffset = (LeafNode) ParseTreeUtil.getCurrentOrFollowingNodeByOffset(rootNode, text.length() - 1); assertEquals("expect leafnode with '('", currentNodeByOffset.getText(), "("); text = "spielplatz 1 \"junit\" { kind ("; rootNode = getRootNode(text); - currentNodeByOffset = (LeafNode) ParseTreeUtil.getCurrentNodeByOffset(rootNode, 0); + currentNodeByOffset = (LeafNode) ParseTreeUtil.getCurrentOrFollowingNodeByOffset(rootNode, 0); assertEquals("expect leafnode with WS text 'spielplatz'", currentNodeByOffset.getText(), "spielplatz"); + text = "spielplatz 1 \"junit\" { kind(a 1) kind(b 2) }"; + rootNode = getRootNode(text); + AbstractNode currentCompositeNodeByOffset = ParseTreeUtil.getCurrentOrFollowingNodeByOffset(rootNode, text + .indexOf(')') + 1); + assertTrue(currentCompositeNodeByOffset instanceof CompositeNode); + String serialized = currentCompositeNodeByOffset.serialize(); + assertEquals("expect compositeNode with text 'kind(b 2)'", serialized, " kind(b 2)"); + } + + public void testGetCurrentOrPrecedingNodeByOffset_01() throws Exception { + String text = "spielplatz 1 \"junit\" { kind(a 1) kind(b 2) }"; + CompositeNode rootNode = getRootNode(text); + AbstractNode currentNodeByOffset = ParseTreeUtil.getCurrentOrPrecedingNodeByOffset(rootNode, + text.indexOf(')') + 1); + assertEquals("expect leafnode with text ')'", ")", currentNodeByOffset.serialize()); + } + + public void testGetCurrentOrPrecedingNodeByOffset_02() throws Exception { + String text = "spielplatz 1 \"junit\" { kind(a 1) kind(b 2) }"; + CompositeNode rootNode = getRootNode(text); + AbstractNode currentNodeByOffset = ParseTreeUtil.getCurrentOrPrecedingNodeByOffset(rootNode, + text.indexOf(')') + 2); + assertEquals("expect leafnode with text '" + text + "'", currentNodeByOffset.serialize(), text); + } + + public void testGetCurrentOrPrecedingNodeByOffset_03() throws Exception { + String text = "spielplatz 1 \"junit\" { kind(a 1) kind(b 2) }"; + CompositeNode rootNode = getRootNode(text); + AbstractNode currentNodeByOffset = ParseTreeUtil.getCurrentOrPrecedingNodeByOffset(rootNode, + text.indexOf("kind(b 2)")); + assertEquals("expect leafnode with text 'kind'", "kind", currentNodeByOffset.serialize()); + } + + public void testGetCurrentOrPrecedingNodeByOffset_04() throws Exception { + String text = "spielplatz 1 \"junit\" { kin "; + CompositeNode rootNode = getRootNode(text); + AbstractNode currentNodeByOffset = ParseTreeUtil.getCurrentOrPrecedingNodeByOffset(rootNode, 26); + assertEquals("expect node with text '" + text + "'", currentNodeByOffset.serialize(), text); + } + + public void testGetCurrentOrPrecedingNodeByOffset_05() throws Exception { + String text = "spielplatz 1 \"junit\" { kind ("; + CompositeNode rootNode = getRootNode(text); + AbstractNode currentNodeByOffset = ParseTreeUtil.getCurrentOrPrecedingNodeByOffset(rootNode, text.length()); + assertEquals("expect leafnode with text '('", "(", currentNodeByOffset.serialize()); + } + + public void testGetCurrentOrPrecedingNodeByOffset_06() throws Exception { + String text = "spielplatz 1 \"junit\" { kind ( "; + CompositeNode rootNode = getRootNode(text); + AbstractNode currentNodeByOffset = ParseTreeUtil.getCurrentOrPrecedingNodeByOffset(rootNode, text.length()); + assertEquals("expect node with text '" + text + "'", currentNodeByOffset.serialize(), text); + } + + public void testGetCurrentOrPrecedingNodeByOffset_07() throws Exception { + String text = "spielplatz 1 \"junit\" { kind ("; + CompositeNode rootNode = getRootNode(text); + AbstractNode currentNodeByOffset = ParseTreeUtil.getCurrentOrPrecedingNodeByOffset(rootNode, text.length() - 1); + assertEquals("expect leafnode with text '('", currentNodeByOffset.serialize(), "("); + } + + public void testGetCurrentOrPrecedingNodeByOffset_08() throws Exception { + String text = "spielplatz 1 \"junit\" { kind ("; + CompositeNode rootNode = getRootNode(text); + AbstractNode currentNodeByOffset = ParseTreeUtil.getCurrentOrPrecedingNodeByOffset(rootNode, 0); + assertEquals("expect leafnode with text 'spielplatz'", currentNodeByOffset.serialize(), "spielplatz"); + } + + public void testGetCurrentOrPrecedingNodeByOffset_09() throws Exception { + String text = "spielplatz 1 \"junit\" { kind ("; + CompositeNode rootNode = getRootNode(text); + AbstractNode currentNodeByOffset = ParseTreeUtil.getCurrentOrPrecedingNodeByOffset(rootNode, "spielplatz" + .length()); + assertEquals("expect leafnode with text 'spielplatz'", currentNodeByOffset.serialize(), "spielplatz"); + } + + public void testGetCurrentOrPrecedingNodeByOffset_10() throws Exception { + String text = "spielplatz 1 \"junit\" { kind ("; + CompositeNode rootNode = getRootNode(text); + AbstractNode currentNodeByOffset = ParseTreeUtil.getCurrentOrPrecedingNodeByOffset(rootNode, "spielplatz" + .length() + 1); + assertEquals("expect leafnode with text '1'", "1", currentNodeByOffset.serialize()); + } + + public void testGetCurrentOrPrecedingNodeByOffset_11() throws Exception { + String text = "spielplatz 1 \"junit\" { kind ("; + CompositeNode rootNode = getRootNode(text); + AbstractNode currentNodeByOffset = ParseTreeUtil.getCurrentOrPrecedingNodeByOffset(rootNode, 2); + assertEquals("expect leafnode with text 'spielplatz'", currentNodeByOffset.serialize(), "spielplatz"); + } + + public void testGetCurrentOrPrecedingNodeByOffset_12() throws Exception { + String text = " spielplatz 1 \"junit\" { kind ("; + CompositeNode rootNode = getRootNode(text); + AbstractNode currentNodeByOffset = ParseTreeUtil.getCurrentOrPrecedingNodeByOffset(rootNode, 0); + assertEquals("expect node with text '" + text + "'", currentNodeByOffset.serialize(), text); + } + + public void testGetCurrentOrPrecedingNodeByOffset_13() throws Exception { + String text = " spielplatz 1 \"junit\" { kind ("; + CompositeNode rootNode = getRootNode(text); + AbstractNode currentNodeByOffset = ParseTreeUtil.getCurrentOrPrecedingNodeByOffset(rootNode, 1); + assertEquals("expect node with text '" + text + "'", currentNodeByOffset.serialize(), text); + } + + public void testGetCurrentOrPrecedingNodeByOffset_14() throws Exception { + String text = " spielplatz 1 \"junit\" { kind ("; + CompositeNode rootNode = getRootNode(text); + AbstractNode currentNodeByOffset = ParseTreeUtil.getCurrentOrPrecedingNodeByOffset(rootNode, 2); + assertEquals("expect leafnode with text 'spielplatz'", "spielplatz", currentNodeByOffset.serialize()); + } + + public void testGetCurrentOrPrecedingNodeByOffset_15() throws Exception { + String text = " spielplatz 1 \"junit\" { kind (a 1) "; + CompositeNode rootNode = getRootNode(text); + AbstractNode currentNodeByOffset = ParseTreeUtil.getCurrentOrPrecedingNodeByOffset(rootNode, text.indexOf("a 1") + 2); + assertEquals("expect leafnode with text ' kind (a 1)'", " kind (a 1)", currentNodeByOffset.serialize()); } public void testGetElementSetValidFromOffsetEmptyText() throws Exception { diff --git a/tests/org.eclipse.xtext.generator.tests/src/org/eclipse/xtext/resource/metamodel/Xtext2EcoreTransformerTests.java b/tests/org.eclipse.xtext.generator.tests/src/org/eclipse/xtext/resource/metamodel/Xtext2EcoreTransformerTests.java index 0bb71a0..c4531ab 100644 --- a/tests/org.eclipse.xtext.generator.tests/src/org/eclipse/xtext/resource/metamodel/Xtext2EcoreTransformerTests.java +++ b/tests/org.eclipse.xtext.generator.tests/src/org/eclipse/xtext/resource/metamodel/Xtext2EcoreTransformerTests.java @@ -61,7 +61,8 @@ public class Xtext2EcoreTransformerTests extends AbstractGeneratorTest { Grammar grammar = (Grammar) getModel(xtextGrammar); replay(errorAcceptorMock); xtext2EcoreTransformer.setErrorAcceptor(errorAcceptorMock); - List<EPackage> metamodels = xtext2EcoreTransformer.transform(grammar); + xtext2EcoreTransformer.transform(grammar); + List<EPackage> metamodels = xtext2EcoreTransformer.getGeneratedPackages(grammar); verify(errorAcceptorMock); assertNotNull(metamodels); @@ -463,8 +464,6 @@ public class Xtext2EcoreTransformerTests extends AbstractGeneratorTest { public void testImportWithoutAlias() throws Exception { final String grammar = "language test generate test 'http://test' import 'http://www.eclipse.org/emf/2002/Ecore' RuleA: feature=ID;"; - errorAcceptorMock.acceptError(same(ErrorCode.AliasForMetamodelAlreadyExists), (String) anyObject(), - (EObject) anyObject()); getEPackageFromGrammar(grammar); } @@ -500,26 +499,22 @@ public class Xtext2EcoreTransformerTests extends AbstractGeneratorTest { grammar += " RuleA: featureA=ID;"; // no alias => cannot be created grammar += " RuleB returns target::TypeB: featureB=ID;"; - errorAcceptorMock.acceptError(same(ErrorCode.AliasForMetamodelAlreadyExists), (String) anyObject(), - (EObject) anyObject()); - errorAcceptorMock.acceptError(same(ErrorCode.UnknownMetaModelAlias), (String) anyObject(), - (EObject) anyObject()); - errorAcceptorMock.acceptError(same(ErrorCode.UnknownMetaModelAlias), (String) anyObject(), - (EObject) anyObject()); + errorAcceptorMock.acceptError(same(ErrorCode.AliasForMetamodelAlreadyExists), (String) anyObject(), (EObject) anyObject()); + errorAcceptorMock.acceptError(same(ErrorCode.UnknownMetaModelAlias), (String) anyObject(), (EObject) anyObject()); + errorAcceptorMock.acceptError(same(ErrorCode.UnknownMetaModelAlias), (String) anyObject(), (EObject) anyObject()); + errorAcceptorMock.acceptError(same(ErrorCode.UnknownMetaModelAlias), (String) anyObject(), (EObject) anyObject()); + errorAcceptorMock.acceptError(same(ErrorCode.UnknownMetaModelAlias), (String) anyObject(), (EObject) anyObject()); errorAcceptorMock.acceptError(same(ErrorCode.NoSuchTypeAvailable), (String) anyObject(), (EObject) anyObject()); errorAcceptorMock.acceptError(same(ErrorCode.NoSuchTypeAvailable), (String) anyObject(), (EObject) anyObject()); List<EPackage> ePackages = getEPackagesFromGrammar(grammar); - assertEquals(1, ePackages.size()); - EPackage t1 = ePackages.get(0); - assertEquals("t1", t1.getName()); - assertTrue(t1.getEClassifiers().isEmpty()); + assertEquals(0, ePackages.size()); } public void testModifyingSealedModel() throws Exception { final String grammar = "language test generate test 'http://test' import 'http://www.eclipse.org/emf/2002/Ecore' as ecore RuleA returns ecore::SomeNewTypeA: feature=ID;"; - errorAcceptorMock.acceptError(same(ErrorCode.CannotCreateTypeInSealedMetamodel), (String) anyObject(), - (EObject) anyObject()); + errorAcceptorMock.acceptError(same(ErrorCode.CannotCreateTypeInSealedMetamodel), (String) anyObject(), (EObject) anyObject()); + errorAcceptorMock.acceptError(same(ErrorCode.CannotCreateTypeInSealedMetamodel), (String) anyObject(), (EObject) anyObject()); errorAcceptorMock.acceptError(same(ErrorCode.NoSuchTypeAvailable), (String) anyObject(), (EObject) anyObject()); getEPackageFromGrammar(grammar); } diff --git a/tests/org.eclipse.xtext.ui.common.tests/src-gen/org/eclipse/xtext/XtextGrammarTestLanguageGenProposalProvider.java b/tests/org.eclipse.xtext.ui.common.tests/src-gen/org/eclipse/xtext/XtextGrammarTestLanguageGenProposalProvider.java index 682879d..be0c8f7 100644 --- a/tests/org.eclipse.xtext.ui.common.tests/src-gen/org/eclipse/xtext/XtextGrammarTestLanguageGenProposalProvider.java +++ b/tests/org.eclipse.xtext.ui.common.tests/src-gen/org/eclipse/xtext/XtextGrammarTestLanguageGenProposalProvider.java @@ -192,22 +192,22 @@ public class XtextGrammarTestLanguageGenProposalProvider extends AbstractPropos return Collections.emptyList(); } - public List<? extends ICompletionProposal> completeTypeRefAlias(Assignment assignment, EObject model, String prefix, IDocument doc,int offset) { + public List<? extends ICompletionProposal> completeTypeRefMetamodel(Assignment assignment, EObject model, String prefix, IDocument doc,int offset) { if (logger.isDebugEnabled()) { - logger.debug("completeTypeRefAlias feature '" + assignment.getFeature() + "' terminal '" + logger.debug("completeTypeRefMetamodel feature '" + assignment.getFeature() + "' terminal '" + assignment.getTerminal() + "' cardinality '" + assignment.getCardinality() + "' and prefix '" + prefix.trim() + "'"); } - return Collections.singletonList(createCompletionProposal(assignment,model,"TypeRefAlias", offset)); + return lookupCrossReference(((CrossReference)assignment.getTerminal()), model, prefix, offset); } - public List<? extends ICompletionProposal> completeTypeRefName(Assignment assignment, EObject model, String prefix, IDocument doc,int offset) { + public List<? extends ICompletionProposal> completeTypeRefType(Assignment assignment, EObject model, String prefix, IDocument doc,int offset) { if (logger.isDebugEnabled()) { - logger.debug("completeTypeRefName feature '" + assignment.getFeature() + "' terminal '" + logger.debug("completeTypeRefType feature '" + assignment.getFeature() + "' terminal '" + assignment.getTerminal() + "' cardinality '" + assignment.getCardinality() + "' and prefix '" + prefix.trim() + "'"); } - return Collections.singletonList(createCompletionProposal(assignment,model,"TypeRefName", offset)); + return lookupCrossReference(((CrossReference)assignment.getTerminal()), model, prefix, offset); } public List<? extends ICompletionProposal> completeAlternativesGroups(Assignment assignment, EObject model, String prefix, IDocument doc,int offset) { @@ -328,14 +328,17 @@ public class XtextGrammarTestLanguageGenProposalProvider extends AbstractPropos } - public List<? extends ICompletionProposal> complete(RuleCall ruleCall, EObject model, String prefix, - IDocument doc, int offset) { - if (logger.isDebugEnabled()) { - logger.debug("complete '" + ruleCall.getRule().getName() + "' cardinality '" + ruleCall.getCardinality() - + "' for model '" + model + "' and prefix '" + prefix.trim() + "'"); - } - return Collections.emptyList(); - } + + + + + + + + + + + diff --git a/tests/org.eclipse.xtext.ui.common.tests/src-gen/org/eclipse/xtext/testlanguages/ContentAssistTestLanguageGenProposalProvider.java b/tests/org.eclipse.xtext.ui.common.tests/src-gen/org/eclipse/xtext/testlanguages/ContentAssistTestLanguageGenProposalProvider.java index 8341926..49e8efd 100644 --- a/tests/org.eclipse.xtext.ui.common.tests/src-gen/org/eclipse/xtext/testlanguages/ContentAssistTestLanguageGenProposalProvider.java +++ b/tests/org.eclipse.xtext.ui.common.tests/src-gen/org/eclipse/xtext/testlanguages/ContentAssistTestLanguageGenProposalProvider.java @@ -100,6 +100,11 @@ public class ContentAssistTestLanguageGenProposalProvider extends AbstractPropo return lookupCrossReference(((CrossReference)assignment.getTerminal()), model, prefix, offset); } + + + + + @Override protected String getDefaultImageFilePath() { return "icons/editor.gif"; diff --git a/tests/org.eclipse.xtext.ui.common.tests/src-gen/org/eclipse/xtext/testlanguages/ReferenceGrammarTestLanguageGenProposalProvider.java b/tests/org.eclipse.xtext.ui.common.tests/src-gen/org/eclipse/xtext/testlanguages/ReferenceGrammarTestLanguageGenProposalProvider.java index 6b01b1e..36cd59d 100644 --- a/tests/org.eclipse.xtext.ui.common.tests/src-gen/org/eclipse/xtext/testlanguages/ReferenceGrammarTestLanguageGenProposalProvider.java +++ b/tests/org.eclipse.xtext.ui.common.tests/src-gen/org/eclipse/xtext/testlanguages/ReferenceGrammarTestLanguageGenProposalProvider.java @@ -191,6 +191,21 @@ public class ReferenceGrammarTestLanguageGenProposalProvider extends AbstractPr } + + public List<? extends ICompletionProposal> complete(RuleCall ruleCall, EObject model, String prefix, + IDocument doc, int offset) { + if (logger.isDebugEnabled()) { + logger.debug("complete '" + ruleCall.getRule().getName() + "' cardinality '" + ruleCall.getCardinality() + + "' for model '" + model + "' and prefix '" + prefix.trim() + "'"); + } + return Collections.emptyList(); + } + + + + + + @Override protected String getDefaultImageFilePath() { return "icons/editor.gif"; diff --git a/tests/org.eclipse.xtext.ui.common.tests/src-gen/org/eclipse/xtext/testlanguages/TreeTestLanguageGenProposalProvider.java b/tests/org.eclipse.xtext.ui.common.tests/src-gen/org/eclipse/xtext/testlanguages/TreeTestLanguageGenProposalProvider.java index f8f1187..8f6732c 100644 --- a/tests/org.eclipse.xtext.ui.common.tests/src-gen/org/eclipse/xtext/testlanguages/TreeTestLanguageGenProposalProvider.java +++ b/tests/org.eclipse.xtext.ui.common.tests/src-gen/org/eclipse/xtext/testlanguages/TreeTestLanguageGenProposalProvider.java @@ -82,6 +82,8 @@ public class TreeTestLanguageGenProposalProvider extends AbstractProposalProvid return Collections.emptyList(); } + + @Override protected String getDefaultImageFilePath() { return "icons/editor.gif"; diff --git a/tests/org.eclipse.xtext.ui.common.tests/src/org/eclipse/xtext/ui/common/editor/outline/OutlineViewTest.java b/tests/org.eclipse.xtext.ui.common.tests/src/org/eclipse/xtext/ui/common/editor/outline/OutlineViewTest.java index ababcdc..755afa8 100644 --- a/tests/org.eclipse.xtext.ui.common.tests/src/org/eclipse/xtext/ui/common/editor/outline/OutlineViewTest.java +++ b/tests/org.eclipse.xtext.ui.common.tests/src/org/eclipse/xtext/ui/common/editor/outline/OutlineViewTest.java @@ -196,7 +196,7 @@ public class OutlineViewTest extends AbstractEditorTest { }); Assert.isNotNull(rootNode); - return ParseTreeUtil.getCurrentNodeByOffset(rootNode, offset); + return ParseTreeUtil.getCurrentOrPrecedingNodeByOffset(rootNode, offset); } protected void assertSynchronized(XtextEditor editor, int elementIndex, int offset, int length) { diff --git a/tests/org.eclipse.xtext.ui.core.tests/src-gen/org/eclipse/xtext/ui/core/AbstractTestLanguageRuntimeConfig.java b/tests/org.eclipse.xtext.ui.core.tests/src-gen/org/eclipse/xtext/ui/core/AbstractTestLanguageRuntimeConfig.java index 2fc4104..f808115 100644 --- a/tests/org.eclipse.xtext.ui.core.tests/src-gen/org/eclipse/xtext/ui/core/AbstractTestLanguageRuntimeConfig.java +++ b/tests/org.eclipse.xtext.ui.core.tests/src-gen/org/eclipse/xtext/ui/core/AbstractTestLanguageRuntimeConfig.java @@ -9,14 +9,14 @@ import org.eclipse.xtext.service.AbstractServiceRegistrationFactory; */ public abstract class AbstractTestLanguageRuntimeConfig extends AbstractServiceRegistrationFactory { - protected Class<? extends org.eclipse.xtext.IGrammarAccess> getIGrammarAccess() { - return org.eclipse.xtext.ui.core.services.TestLanguageGrammarAccess.class; - } - protected Class<? extends org.eclipse.xtext.IMetamodelAccess> getIMetamodelAccess() { return org.eclipse.xtext.ui.core.services.TestLanguageMetamodelAccess.class; } + protected Class<? extends org.eclipse.xtext.IGrammarAccess> getIGrammarAccess() { + return org.eclipse.xtext.ui.core.services.TestLanguageGrammarAccess.class; + } + protected Class<? extends org.eclipse.xtext.parser.IAstFactory> getIAstFactory() { return org.eclipse.xtext.parser.GenericEcoreElementFactory.class; } @@ -45,6 +45,10 @@ public abstract class AbstractTestLanguageRuntimeConfig extends AbstractServiceR return org.eclipse.xtext.parsetree.reconstr.impl.SimpleCrossReferenceSerializer.class; } + protected Class<? extends org.eclipse.xtext.parsetree.reconstr.ITransientValueService> getITransientValueService() { + return org.eclipse.xtext.parsetree.reconstr.impl.SimpleTransientValueService.class; + } + protected Class<? extends org.eclipse.xtext.parser.antlr.Lexer> getLexer() { return org.eclipse.xtext.ui.core.parser.internal.InternalTestLanguageLexer.class; } @@ -52,8 +56,8 @@ public abstract class AbstractTestLanguageRuntimeConfig extends AbstractServiceR public Set<IServiceRegistration> registrations() { return scope(org.eclipse.xtext.ui.core.ITestLanguage.SCOPE) - .with(org.eclipse.xtext.IGrammarAccess.class, getIGrammarAccess()) .with(org.eclipse.xtext.IMetamodelAccess.class, getIMetamodelAccess()) + .with(org.eclipse.xtext.IGrammarAccess.class, getIGrammarAccess()) .with(org.eclipse.xtext.parser.IAstFactory.class, getIAstFactory()) .with(org.eclipse.xtext.parser.IParser.class, getIParser()) .with(org.eclipse.xtext.parser.antlr.IAntlrTokenFileProvider.class, getIAntlrTokenFileProvider()) @@ -61,6 +65,7 @@ public abstract class AbstractTestLanguageRuntimeConfig extends AbstractServiceR .with(org.eclipse.xtext.parsetree.reconstr.IParseTreeConstructor.class, getIParseTreeConstructor()) .with(org.eclipse.xtext.parsetree.reconstr.ITokenSerializer.class, getITokenSerializer()) .with(org.eclipse.xtext.parsetree.reconstr.ICrossReferenceSerializer.class, getICrossReferenceSerializer()) + .with(org.eclipse.xtext.parsetree.reconstr.ITransientValueService.class, getITransientValueService()) .with(org.eclipse.xtext.parser.antlr.Lexer.class, getLexer()) .registrations(); diff --git a/tests/org.eclipse.xtext.ui.core.tests/src-gen/org/eclipse/xtext/ui/core/TestLanguage.xmi b/tests/org.eclipse.xtext.ui.core.tests/src-gen/org/eclipse/xtext/ui/core/TestLanguage.xmi index deae47e..4bb419e 100644 --- a/tests/org.eclipse.xtext.ui.core.tests/src-gen/org/eclipse/xtext/ui/core/TestLanguage.xmi +++ b/tests/org.eclipse.xtext.ui.core.tests/src-gen/org/eclipse/xtext/ui/core/TestLanguage.xmi @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="ASCII"?> -<xtext:Grammar xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xtext="http://www.eclipse.org/2008/Xtext"> +<xtext:Grammar xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:xtext="http://www.eclipse.org/2008/Xtext"> <idElements>org</idElements> <idElements>eclipse</idElements> <idElements>xtext</idElements> @@ -8,11 +8,17 @@ <idElements>TestLanguage</idElements> <metamodelDeclarations xsi:type="xtext:GeneratedMetamodel" name="foo" nsURI="http://foo"/> <rules xsi:type="xtext:ParserRule" name="File"> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://foo#//File"/> + </type> <alternatives xsi:type="xtext:Assignment" cardinality="*" feature="stuff" operator="+="> <terminal xsi:type="xtext:RuleCall" rule="//@rules.1"/> </alternatives> </rules> <rules xsi:type="xtext:ParserRule" name="Stuff"> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EClass" href="http://foo#//Stuff"/> + </type> <alternatives xsi:type="xtext:Group"> <abstractTokens xsi:type="xtext:Keyword" value="stuff"/> <abstractTokens xsi:type="xtext:Assignment" feature="name" operator="="> diff --git a/tests/org.eclipse.xtext.ui.core.tests/src-gen/org/eclipse/xtext/ui/core/parser/internal/InternalTestLanguageLexer.java b/tests/org.eclipse.xtext.ui.core.tests/src-gen/org/eclipse/xtext/ui/core/parser/internal/InternalTestLanguageLexer.java index 896b3d7..dbfebca 100644 --- a/tests/org.eclipse.xtext.ui.core.tests/src-gen/org/eclipse/xtext/ui/core/parser/internal/InternalTestLanguageLexer.java +++ b/tests/org.eclipse.xtext.ui.core.tests/src-gen/org/eclipse/xtext/ui/core/parser/internal/InternalTestLanguageLexer.java @@ -1,4 +1,4 @@ -// $ANTLR 3.0 ./src-gen/org/eclipse/xtext/ui/core/parser/internal/InternalTestLanguage.g 2008-12-08 11:19:44 +// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/ui/core/parser/internal/InternalTestLanguage.g 2008-12-10 12:13:53 package org.eclipse.xtext.ui.core.parser.internal; @@ -30,10 +30,10 @@ public class InternalTestLanguageLexer extends Lexer { public String getGrammarFileName() { return "./src-gen/org/eclipse/xtext/ui/core/parser/internal/InternalTestLanguage.g"; } // $ANTLR start T11 - public void mT11() throws RecognitionException { + public final void mT11() throws RecognitionException { try { int _type = T11; - // ./src-gen/org/eclipse/xtext/ui/core/parser/internal/InternalTestLanguage.g:10:7: ( 'stuff' ) + // ./src-gen/org/eclipse/xtext/ui/core/parser/internal/InternalTestLanguage.g:10:5: ( 'stuff' ) // ./src-gen/org/eclipse/xtext/ui/core/parser/internal/InternalTestLanguage.g:10:7: 'stuff' { match("stuff"); @@ -49,10 +49,10 @@ public class InternalTestLanguageLexer extends Lexer { // $ANTLR end T11 // $ANTLR start RULE_ID - public void mRULE_ID() throws RecognitionException { + public final void mRULE_ID() throws RecognitionException { try { int _type = RULE_ID; - // ./src-gen/org/eclipse/xtext/ui/core/parser/internal/InternalTestLanguage.g:131:11: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* ) + // ./src-gen/org/eclipse/xtext/ui/core/parser/internal/InternalTestLanguage.g:131:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* ) // ./src-gen/org/eclipse/xtext/ui/core/parser/internal/InternalTestLanguage.g:131:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* { // ./src-gen/org/eclipse/xtext/ui/core/parser/internal/InternalTestLanguage.g:131:11: ( '^' )? @@ -128,10 +128,10 @@ public class InternalTestLanguageLexer extends Lexer { // $ANTLR end RULE_ID // $ANTLR start RULE_INT - public void mRULE_INT() throws RecognitionException { + public final void mRULE_INT() throws RecognitionException { try { int _type = RULE_INT; - // ./src-gen/org/eclipse/xtext/ui/core/parser/internal/InternalTestLanguage.g:133:12: ( ( '0' .. '9' )+ ) + // ./src-gen/org/eclipse/xtext/ui/core/parser/internal/InternalTestLanguage.g:133:10: ( ( '0' .. '9' )+ ) // ./src-gen/org/eclipse/xtext/ui/core/parser/internal/InternalTestLanguage.g:133:12: ( '0' .. '9' )+ { // ./src-gen/org/eclipse/xtext/ui/core/parser/internal/InternalTestLanguage.g:133:12: ( '0' .. '9' )+ @@ -175,10 +175,10 @@ public class InternalTestLanguageLexer extends Lexer { // $ANTLR end RULE_INT // $ANTLR start RULE_STRING - public void mRULE_STRING() throws RecognitionException { + public final void mRULE_STRING() throws RecognitionException { try { int _type = RULE_STRING; - // ./src-gen/org/eclipse/xtext/ui/core/parser/internal/InternalTestLanguage.g:135:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\"' ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\\'' ) )* '\\'' ) + // ./src-gen/org/eclipse/xtext/ui/core/parser/internal/InternalTestLanguage.g:135:13: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\"' ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\\'' ) )* '\\'' ) int alt6=2; int LA6_0 = input.LA(1); @@ -329,10 +329,10 @@ public class InternalTestLanguageLexer extends Lexer { // $ANTLR end RULE_STRING // $ANTLR start RULE_ML_COMMENT - public void mRULE_ML_COMMENT() throws RecognitionException { + public final void mRULE_ML_COMMENT() throws RecognitionException { try { int _type = RULE_ML_COMMENT; - // ./src-gen/org/eclipse/xtext/ui/core/parser/internal/InternalTestLanguage.g:137:19: ( '/*' ( options {greedy=false; } : . )* '*/' ) + // ./src-gen/org/eclipse/xtext/ui/core/parser/internal/InternalTestLanguage.g:137:17: ( '/*' ( options {greedy=false; } : . )* '*/' ) // ./src-gen/org/eclipse/xtext/ui/core/parser/internal/InternalTestLanguage.g:137:19: '/*' ( options {greedy=false; } : . )* '*/' { match("/*"); @@ -388,10 +388,10 @@ public class InternalTestLanguageLexer extends Lexer { // $ANTLR end RULE_ML_COMMENT // $ANTLR start RULE_SL_COMMENT - public void mRULE_SL_COMMENT() throws RecognitionException { + public final void mRULE_SL_COMMENT() throws RecognitionException { try { int _type = RULE_SL_COMMENT; - // ./src-gen/org/eclipse/xtext/ui/core/parser/internal/InternalTestLanguage.g:139:19: ( '//' (~ ( '\\n' | '\\r' ) )* ( ( '\\r' )? '\\n' )? ) + // ./src-gen/org/eclipse/xtext/ui/core/parser/internal/InternalTestLanguage.g:139:17: ( '//' (~ ( '\\n' | '\\r' ) )* ( ( '\\r' )? '\\n' )? ) // ./src-gen/org/eclipse/xtext/ui/core/parser/internal/InternalTestLanguage.g:139:19: '//' (~ ( '\\n' | '\\r' ) )* ( ( '\\r' )? '\\n' )? { match("//"); @@ -478,10 +478,10 @@ public class InternalTestLanguageLexer extends Lexer { // $ANTLR end RULE_SL_COMMENT // $ANTLR start RULE_WS - public void mRULE_WS() throws RecognitionException { + public final void mRULE_WS() throws RecognitionException { try { int _type = RULE_WS; - // ./src-gen/org/eclipse/xtext/ui/core/parser/internal/InternalTestLanguage.g:141:11: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ ) + // ./src-gen/org/eclipse/xtext/ui/core/parser/internal/InternalTestLanguage.g:141:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ ) // ./src-gen/org/eclipse/xtext/ui/core/parser/internal/InternalTestLanguage.g:141:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ { // ./src-gen/org/eclipse/xtext/ui/core/parser/internal/InternalTestLanguage.g:141:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ @@ -535,10 +535,10 @@ public class InternalTestLanguageLexer extends Lexer { // $ANTLR end RULE_WS // $ANTLR start RULE_ANY_OTHER - public void mRULE_ANY_OTHER() throws RecognitionException { + public final void mRULE_ANY_OTHER() throws RecognitionException { try { int _type = RULE_ANY_OTHER; - // ./src-gen/org/eclipse/xtext/ui/core/parser/internal/InternalTestLanguage.g:143:18: ( . ) + // ./src-gen/org/eclipse/xtext/ui/core/parser/internal/InternalTestLanguage.g:143:16: ( . ) // ./src-gen/org/eclipse/xtext/ui/core/parser/internal/InternalTestLanguage.g:143:18: . { matchAny(); @@ -553,7 +553,7 @@ public class InternalTestLanguageLexer extends Lexer { // $ANTLR end RULE_ANY_OTHER public void mTokens() throws RecognitionException { - // ./src-gen/org/eclipse/xtext/ui/core/parser/internal/InternalTestLanguage.g:1:10: ( T11 | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER ) + // ./src-gen/org/eclipse/xtext/ui/core/parser/internal/InternalTestLanguage.g:1:8: ( T11 | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER ) int alt12=8; int LA12_0 = input.LA(1); diff --git a/tests/org.eclipse.xtext.ui.core.tests/src-gen/org/eclipse/xtext/ui/core/parser/internal/InternalTestLanguageParser.java b/tests/org.eclipse.xtext.ui.core.tests/src-gen/org/eclipse/xtext/ui/core/parser/internal/InternalTestLanguageParser.java index 26dbfee..198cdb9 100644 --- a/tests/org.eclipse.xtext.ui.core.tests/src-gen/org/eclipse/xtext/ui/core/parser/internal/InternalTestLanguageParser.java +++ b/tests/org.eclipse.xtext.ui.core.tests/src-gen/org/eclipse/xtext/ui/core/parser/internal/InternalTestLanguageParser.java @@ -1,4 +1,4 @@ -// $ANTLR 3.0 ./src-gen/org/eclipse/xtext/ui/core/parser/internal/InternalTestLanguage.g 2008-12-08 11:19:44 +// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/ui/core/parser/internal/InternalTestLanguage.g 2008-12-10 12:13:52 package org.eclipse.xtext.ui.core.parser.internal; @@ -62,14 +62,14 @@ public class InternalTestLanguageParser extends AbstractAntlrParser { // $ANTLR start entryRuleFile // ./src-gen/org/eclipse/xtext/ui/core/parser/internal/InternalTestLanguage.g:62:1: entryRuleFile returns [EObject current=null] : iv_ruleFile= ruleFile EOF ; - public EObject entryRuleFile() throws RecognitionException { + public final EObject entryRuleFile() throws RecognitionException { EObject current = null; EObject iv_ruleFile = null; try { - // ./src-gen/org/eclipse/xtext/ui/core/parser/internal/InternalTestLanguage.g:63:2: (iv_ruleFile= ruleFile EOF ) + // ./src-gen/org/eclipse/xtext/ui/core/parser/internal/InternalTestLanguage.g:62:46: (iv_ruleFile= ruleFile EOF ) // ./src-gen/org/eclipse/xtext/ui/core/parser/internal/InternalTestLanguage.g:63:2: iv_ruleFile= ruleFile EOF { currentNode = createCompositeNode("classpath:/org/eclipse/xtext/ui/core/TestLanguage.xmi#//@rules.0" /* xtext::ParserRule */, currentNode); @@ -97,7 +97,7 @@ public class InternalTestLanguageParser extends AbstractAntlrParser { // $ANTLR start ruleFile // ./src-gen/org/eclipse/xtext/ui/core/parser/internal/InternalTestLanguage.g:70:1: ruleFile returns [EObject current=null] : (lv_stuff= ruleStuff )* ; - public EObject ruleFile() throws RecognitionException { + public final EObject ruleFile() throws RecognitionException { EObject current = null; EObject lv_stuff = null; @@ -105,7 +105,7 @@ public class InternalTestLanguageParser extends AbstractAntlrParser { EObject temp=null; setCurrentLookahead(); resetLookahead(); try { - // ./src-gen/org/eclipse/xtext/ui/core/parser/internal/InternalTestLanguage.g:73:1: ( (lv_stuff= ruleStuff )* ) + // ./src-gen/org/eclipse/xtext/ui/core/parser/internal/InternalTestLanguage.g:72:33: ( (lv_stuff= ruleStuff )* ) // ./src-gen/org/eclipse/xtext/ui/core/parser/internal/InternalTestLanguage.g:73:1: (lv_stuff= ruleStuff )* { // ./src-gen/org/eclipse/xtext/ui/core/parser/internal/InternalTestLanguage.g:73:1: (lv_stuff= ruleStuff )* @@ -167,14 +167,14 @@ public class InternalTestLanguageParser extends AbstractAntlrParser { // $ANTLR start entryRuleStuff // ./src-gen/org/eclipse/xtext/ui/core/parser/internal/InternalTestLanguage.g:95:1: entryRuleStuff returns [EObject current=null] : iv_ruleStuff= ruleStuff EOF ; - public EObject entryRuleStuff() throws RecognitionException { + public final EObject entryRuleStuff() throws RecognitionException { EObject current = null; EObject iv_ruleStuff = null; try { - // ./src-gen/org/eclipse/xtext/ui/core/parser/internal/InternalTestLanguage.g:96:2: (iv_ruleStuff= ruleStuff EOF ) + // ./src-gen/org/eclipse/xtext/ui/core/parser/internal/InternalTestLanguage.g:95:47: (iv_ruleStuff= ruleStuff EOF ) // ./src-gen/org/eclipse/xtext/ui/core/parser/internal/InternalTestLanguage.g:96:2: iv_ruleStuff= ruleStuff EOF { currentNode = createCompositeNode("classpath:/org/eclipse/xtext/ui/core/TestLanguage.xmi#//@rules.1" /* xtext::ParserRule */, currentNode); @@ -202,14 +202,14 @@ public class InternalTestLanguageParser extends AbstractAntlrParser { // $ANTLR start ruleStuff // ./src-gen/org/eclipse/xtext/ui/core/parser/internal/InternalTestLanguage.g:103:1: ruleStuff returns [EObject current=null] : ( 'stuff' (lv_name= RULE_ID ) ) ; - public EObject ruleStuff() throws RecognitionException { + public final EObject ruleStuff() throws RecognitionException { EObject current = null; Token lv_name=null; EObject temp=null; setCurrentLookahead(); resetLookahead(); try { - // ./src-gen/org/eclipse/xtext/ui/core/parser/internal/InternalTestLanguage.g:106:1: ( ( 'stuff' (lv_name= RULE_ID ) ) ) + // ./src-gen/org/eclipse/xtext/ui/core/parser/internal/InternalTestLanguage.g:105:33: ( ( 'stuff' (lv_name= RULE_ID ) ) ) // ./src-gen/org/eclipse/xtext/ui/core/parser/internal/InternalTestLanguage.g:106:1: ( 'stuff' (lv_name= RULE_ID ) ) { // ./src-gen/org/eclipse/xtext/ui/core/parser/internal/InternalTestLanguage.g:106:1: ( 'stuff' (lv_name= RULE_ID ) ) diff --git a/tests/org.eclipse.xtext.ui.core.tests/src-gen/org/eclipse/xtext/ui/core/parsetree/reconstr/TestLanguageParseTreeConstructor.java b/tests/org.eclipse.xtext.ui.core.tests/src-gen/org/eclipse/xtext/ui/core/parsetree/reconstr/TestLanguageParseTreeConstructor.java index c901e6b..a2c2c07 100644 --- a/tests/org.eclipse.xtext.ui.core.tests/src-gen/org/eclipse/xtext/ui/core/parsetree/reconstr/TestLanguageParseTreeConstructor.java +++ b/tests/org.eclipse.xtext.ui.core.tests/src-gen/org/eclipse/xtext/ui/core/parsetree/reconstr/TestLanguageParseTreeConstructor.java @@ -16,6 +16,7 @@ import org.eclipse.xtext.ui.core.services.TestLanguageGrammarAccess; public class TestLanguageParseTreeConstructor extends AbstractParseTreeConstructor { public IAbstractToken serialize(EObject object) { + if(object == null) throw new IllegalArgumentException("The to-be-serialialized model is null"); Solution t = internalSerialize(object); if(t == null) throw new XtextSerializationException(getDescr(object), "No rule found for serialization"); return t.getPredecessor(); @@ -48,7 +49,7 @@ protected class File_Assignment_stuff extends AssignmentToken { } protected Solution createSolution() { - if((value = current.getConsumable("stuff",required)) == null) return null; + if((value = current.getConsumable("stuff",!IS_REQUIRED)) == null) return null; IInstanceDescription obj = current.cloneAndConsume("stuff"); if(value instanceof EObject) { // xtext::RuleCall IInstanceDescription param = getDescr((EObject)value); @@ -125,7 +126,7 @@ protected class Stuff_1_Assignment_name extends AssignmentToken { } protected Solution createSolution() { - if((value = current.getConsumable("name",required)) == null) return null; + if((value = current.getConsumable("name",IS_REQUIRED)) == null) return null; IInstanceDescription obj = current.cloneAndConsume("name"); if(true) { // xtext::RuleCall FIXME: check if value is valid for lexer rule type = AssignmentType.LRC; diff --git a/tests/org.eclipse.xtext.ui.core.tests/src-gen/org/eclipse/xtext/ui/core/services/TestLanguageGrammarAccess.java b/tests/org.eclipse.xtext.ui.core.tests/src-gen/org/eclipse/xtext/ui/core/services/TestLanguageGrammarAccess.java index d1abeca..53999aa 100644 --- a/tests/org.eclipse.xtext.ui.core.tests/src-gen/org/eclipse/xtext/ui/core/services/TestLanguageGrammarAccess.java +++ b/tests/org.eclipse.xtext.ui.core.tests/src-gen/org/eclipse/xtext/ui/core/services/TestLanguageGrammarAccess.java @@ -22,7 +22,7 @@ public class TestLanguageGrammarAccess extends BaseEPackageAccess implements IGr // ( stuff += Stuff ) * public Assignment eleAssignmentStuff() { - return (cAssignmentStuff != null) ? cAssignmentStuff : (cAssignmentStuff = (Assignment)getRule().eContents().get(0)); + return (cAssignmentStuff != null) ? cAssignmentStuff : (cAssignmentStuff = (Assignment)getRule().eContents().get(1)); } // Stuff @@ -45,7 +45,7 @@ public class TestLanguageGrammarAccess extends BaseEPackageAccess implements IGr // 'stuff' name = ID public Group eleGroup() { - return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(0)); + return (cGroup != null) ? cGroup : (cGroup = (Group)getRule().eContents().get(1)); } // 'stuff' |

