Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTom Schindl2015-11-25 20:00:36 +0000
committerTom Schindl2015-11-25 20:00:36 +0000
commit960641e23693afcddd09e8d4b09b6caab05aff32 (patch)
tree174d4580c61fc0cd4955ba2c4342e7cc20fc035d
parent94000aa7a1db660d269a831505447b04f26ff23a (diff)
downloadorg.eclipse.efxclipse-960641e23693afcddd09e8d4b09b6caab05aff32.tar.gz
org.eclipse.efxclipse-960641e23693afcddd09e8d4b09b6caab05aff32.tar.xz
org.eclipse.efxclipse-960641e23693afcddd09e8d4b09b6caab05aff32.zip
Bug 483041 - Add DSL to define JSON-Serializer/Deserializer
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.gmodel.sdk/.project17
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.gmodel.sdk/build.properties1
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.gmodel.sdk/feature.xml17
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.gmodel.tests/.classpath9
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.gmodel.tests/.gitignore1
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.gmodel.tests/.project34
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.gmodel.tests/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.gmodel.tests/.settings/org.eclipse.jdt.core.prefs7
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.gmodel.tests/META-INF/MANIFEST.MF24
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.gmodel.tests/build.properties5
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.gmodel.tests/org.eclipse.fx.ide.gmodel.tests.launch13
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.gmodel.tests/src-gen/org/eclipse/fx/ide/gmodel/GModelDSLInjectorProvider.java48
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.gmodel.tests/src-gen/org/eclipse/fx/ide/gmodel/GModelDSLUiInjectorProvider.java17
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.gmodel.ui/.classpath9
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.gmodel.ui/.gitignore1
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.gmodel.ui/.project34
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.gmodel.ui/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.gmodel.ui/.settings/org.eclipse.jdt.core.prefs7
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.gmodel.ui/META-INF/MANIFEST.MF25
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.gmodel.ui/build.properties6
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.gmodel.ui/plugin.xml425
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.gmodel.ui/plugin.xml_gen425
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/AbstractGModelDSLUiModule.java196
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/GModelDSLExecutableExtensionFactory.java29
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/AbstractGModelDSLProposalProvider.java77
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/GModelDSLParser.java97
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/PartialGModelDSLContentAssistParser.java38
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g1567
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.tokens35
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSLLexer.java1203
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSLParser.java4489
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/internal/GModelDSLActivator.java95
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.gmodel.ui/src/org/eclipse/fx/ide/gmodel/ui/GModelDSLUiModule.java15
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.gmodel.ui/src/org/eclipse/fx/ide/gmodel/ui/contentassist/GModelDSLProposalProvider.xtend13
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.gmodel.ui/src/org/eclipse/fx/ide/gmodel/ui/labeling/GModelDSLDescriptionLabelProvider.xtend24
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.gmodel.ui/src/org/eclipse/fx/ide/gmodel/ui/labeling/GModelDSLLabelProvider.xtend29
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.gmodel.ui/src/org/eclipse/fx/ide/gmodel/ui/outline/GModelDSLOutlineTreeProvider.xtend13
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.gmodel.ui/src/org/eclipse/fx/ide/gmodel/ui/quickfix/GModelDSLQuickfixProvider.xtend26
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.gmodel.ui/xtend-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/.gitignore3
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.gmodel.ui/xtend-gen/org/eclipse/fx/ide/gmodel/ui/labeling/.gitignore6
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.gmodel.ui/xtend-gen/org/eclipse/fx/ide/gmodel/ui/outline/.gitignore3
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.gmodel.ui/xtend-gen/org/eclipse/fx/ide/gmodel/ui/quickfix/.gitignore3
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.gmodel/.antlr-generator-3.2.0-patch.jarbin0 -> 1484649 bytes
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.gmodel/.classpath9
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.gmodel/.gitignore1
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.gmodel/.launch/Generate Language Infrastructure (org.eclipse.fx.ide.gmodel).launch18
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.gmodel/.project34
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.gmodel/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.gmodel/.settings/org.eclipse.jdt.core.prefs7
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.gmodel/META-INF/MANIFEST.MF30
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.gmodel/build.properties15
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.gmodel/model/generated/GModelDSL.ecore29
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.gmodel/model/generated/GModelDSL.genmodel31
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.gmodel/plugin.xml16
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.gmodel/plugin.xml_gen16
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/AbstractGModelDSLRuntimeModule.java156
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/GModelDSL.xtextbinbin0 -> 2558 bytes
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/GModelDSLStandaloneSetupGenerated.java45
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/gModelDSL/GDefault.java78
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/gModelDSL/GDomainElement.java87
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/gModelDSL/GDomainProperty.java159
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/gModelDSL/GModel.java70
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/gModelDSL/GModelDSLFactory.java70
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/gModelDSL/GModelDSLPackage.java577
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/gModelDSL/impl/GDefaultImpl.java233
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/gModelDSL/impl/GDomainElementImpl.java277
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/gModelDSL/impl/GDomainPropertyImpl.java443
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/gModelDSL/impl/GModelDSLFactoryImpl.java142
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/gModelDSL/impl/GModelDSLPackageImpl.java384
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/gModelDSL/impl/GModelImpl.java240
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/gModelDSL/util/GModelDSLAdapterFactory.java192
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/gModelDSL/util/GModelDSLSwitch.java188
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/GModelDSLAntlrTokenFileProvider.java16
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/GModelDSLParser.java39
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g570
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.tokens35
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSLLexer.java1203
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSLParser.java1544
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/serializer/GModelDSLSemanticSequencer.java85
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/serializer/GModelDSLSyntacticSequencer.java43
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/services/GModelDSLGrammarAccess.java482
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/validation/AbstractGModelDSLValidator.java18
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.gmodel/src/org/eclipse/fx/ide/gmodel/GModelDSL.xtext29
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.gmodel/src/org/eclipse/fx/ide/gmodel/GModelDSLRuntimeModule.java11
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.gmodel/src/org/eclipse/fx/ide/gmodel/GModelDSLStandaloneSetup.java16
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.gmodel/src/org/eclipse/fx/ide/gmodel/GenerateGModelDSL.mwe2133
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.gmodel/src/org/eclipse/fx/ide/gmodel/formatting/GModelDSLFormatter.xtend30
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.gmodel/src/org/eclipse/fx/ide/gmodel/generator/GModelDSLGenerator.xtend27
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.gmodel/src/org/eclipse/fx/ide/gmodel/generator/GsonGenerator.xtend297
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.gmodel/src/org/eclipse/fx/ide/gmodel/generator/InterfaceGenerator.xtend109
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.gmodel/src/org/eclipse/fx/ide/gmodel/generator/Util.xtend38
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.gmodel/src/org/eclipse/fx/ide/gmodel/scoping/GModelDSLScopeProvider.xtend15
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.gmodel/src/org/eclipse/fx/ide/gmodel/validation/GModelDSLValidator.xtend25
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.gmodel/xtend-gen/org/eclipse/fx/ide/gmodel/formatting/.gitignore3
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.gmodel/xtend-gen/org/eclipse/fx/ide/gmodel/generator/.gitignore12
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.gmodel/xtend-gen/org/eclipse/fx/ide/gmodel/scoping/.gitignore3
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.gmodel/xtend-gen/org/eclipse/fx/ide/gmodel/validation/.gitignore3
97 files changed, 17425 insertions, 0 deletions
diff --git a/bundles/tooling/org.eclipse.fx.ide.gmodel.sdk/.project b/bundles/tooling/org.eclipse.fx.ide.gmodel.sdk/.project
new file mode 100644
index 000000000..962193967
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.gmodel.sdk/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.fx.ide.gmodel.sdk</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.pde.FeatureBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.FeatureNature</nature>
+ </natures>
+</projectDescription>
diff --git a/bundles/tooling/org.eclipse.fx.ide.gmodel.sdk/build.properties b/bundles/tooling/org.eclipse.fx.ide.gmodel.sdk/build.properties
new file mode 100644
index 000000000..442bd78b6
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.gmodel.sdk/build.properties
@@ -0,0 +1 @@
+bin.includes =feature.xml
diff --git a/bundles/tooling/org.eclipse.fx.ide.gmodel.sdk/feature.xml b/bundles/tooling/org.eclipse.fx.ide.gmodel.sdk/feature.xml
new file mode 100644
index 000000000..53bc4766f
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.gmodel.sdk/feature.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<feature id="org.eclipse.fx.ide.gmodel.sdk"
+ label="GModelDSL SDK Feature "
+ version="1.0.0.qualifier">
+ <plugin
+ id="org.eclipse.fx.ide.gmodel"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+ <plugin
+ id="org.eclipse.fx.ide.gmodel.ui"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+</feature>
diff --git a/bundles/tooling/org.eclipse.fx.ide.gmodel.tests/.classpath b/bundles/tooling/org.eclipse.fx.ide.gmodel.tests/.classpath
new file mode 100644
index 000000000..9081d4f70
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.gmodel.tests/.classpath
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="src" path="src-gen"/>
+ <classpathentry kind="src" path="xtend-gen"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/bundles/tooling/org.eclipse.fx.ide.gmodel.tests/.gitignore b/bundles/tooling/org.eclipse.fx.ide.gmodel.tests/.gitignore
new file mode 100644
index 000000000..ae3c17260
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.gmodel.tests/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/bundles/tooling/org.eclipse.fx.ide.gmodel.tests/.project b/bundles/tooling/org.eclipse.fx.ide.gmodel.tests/.project
new file mode 100644
index 000000000..76e510778
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.gmodel.tests/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.fx.ide.gmodel.tests</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.xtext.ui.shared.xtextBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
+ </natures>
+</projectDescription>
diff --git a/bundles/tooling/org.eclipse.fx.ide.gmodel.tests/.settings/org.eclipse.core.resources.prefs b/bundles/tooling/org.eclipse.fx.ide.gmodel.tests/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 000000000..99f26c020
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.gmodel.tests/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/bundles/tooling/org.eclipse.fx.ide.gmodel.tests/.settings/org.eclipse.jdt.core.prefs b/bundles/tooling/org.eclipse.fx.ide.gmodel.tests/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 000000000..0c68a61dc
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.gmodel.tests/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.8
diff --git a/bundles/tooling/org.eclipse.fx.ide.gmodel.tests/META-INF/MANIFEST.MF b/bundles/tooling/org.eclipse.fx.ide.gmodel.tests/META-INF/MANIFEST.MF
new file mode 100644
index 000000000..3ac070c3f
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.gmodel.tests/META-INF/MANIFEST.MF
@@ -0,0 +1,24 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: org.eclipse.fx.ide.gmodel.tests
+Bundle-Vendor: My Company
+Bundle-Version: 1.0.0.qualifier
+Bundle-SymbolicName: org.eclipse.fx.ide.gmodel.tests; singleton:=true
+Bundle-ActivationPolicy: lazy
+Require-Bundle: org.eclipse.fx.ide.gmodel,
+ org.eclipse.fx.ide.gmodel.ui,
+ org.eclipse.core.runtime,
+ org.eclipse.xtext.junit4,
+ org.eclipse.xtext.xbase.lib,
+ org.eclipse.ui.workbench;resolution:=optional,
+ org.objectweb.asm;bundle-version="[5.0.1,6.0.0)";resolution:=optional
+Import-Package: org.apache.log4j,
+ org.junit;version="4.5.0",
+ org.junit.runner;version="4.5.0",
+ org.junit.runner.manipulation;version="4.5.0",
+ org.junit.runner.notification;version="4.5.0",
+ org.junit.runners;version="4.5.0",
+ org.junit.runners.model;version="4.5.0",
+ org.hamcrest.core
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Export-Package: org.eclipse.fx.ide.gmodel
diff --git a/bundles/tooling/org.eclipse.fx.ide.gmodel.tests/build.properties b/bundles/tooling/org.eclipse.fx.ide.gmodel.tests/build.properties
new file mode 100644
index 000000000..c22eebe28
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.gmodel.tests/build.properties
@@ -0,0 +1,5 @@
+source.. = src/,\
+ src-gen/,\
+ xtend-gen/
+bin.includes = META-INF/,\
+ .
diff --git a/bundles/tooling/org.eclipse.fx.ide.gmodel.tests/org.eclipse.fx.ide.gmodel.tests.launch b/bundles/tooling/org.eclipse.fx.ide.gmodel.tests/org.eclipse.fx.ide.gmodel.tests.launch
new file mode 100644
index 000000000..f23e83c58
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.gmodel.tests/org.eclipse.fx.ide.gmodel.tests.launch
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.jdt.junit.launchconfig">
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/org.eclipse.fx.ide.gmodel.tests"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+<listEntry value="4"/>
+</listAttribute>
+<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value="=org.eclipse.fx.ide.gmodel.tests"/>
+<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
+<stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit4"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.fx.ide.gmodel.tests"/>
+</launchConfiguration>
diff --git a/bundles/tooling/org.eclipse.fx.ide.gmodel.tests/src-gen/org/eclipse/fx/ide/gmodel/GModelDSLInjectorProvider.java b/bundles/tooling/org.eclipse.fx.ide.gmodel.tests/src-gen/org/eclipse/fx/ide/gmodel/GModelDSLInjectorProvider.java
new file mode 100644
index 000000000..aa1bdd861
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.gmodel.tests/src-gen/org/eclipse/fx/ide/gmodel/GModelDSLInjectorProvider.java
@@ -0,0 +1,48 @@
+/*
+ * generated by Xtext
+ */
+package org.eclipse.fx.ide.gmodel;
+
+import org.eclipse.xtext.junit4.GlobalRegistries;
+import org.eclipse.xtext.junit4.GlobalRegistries.GlobalStateMemento;
+import org.eclipse.xtext.junit4.IInjectorProvider;
+import org.eclipse.xtext.junit4.IRegistryConfigurator;
+
+import com.google.inject.Injector;
+
+public class GModelDSLInjectorProvider implements IInjectorProvider, IRegistryConfigurator {
+
+ protected GlobalStateMemento stateBeforeInjectorCreation;
+ protected GlobalStateMemento stateAfterInjectorCreation;
+ protected Injector injector;
+
+ static {
+ GlobalRegistries.initializeDefaults();
+ }
+
+ @Override
+ public Injector getInjector()
+ {
+ if (injector == null) {
+ stateBeforeInjectorCreation = GlobalRegistries.makeCopyOfGlobalState();
+ this.injector = internalCreateInjector();
+ stateAfterInjectorCreation = GlobalRegistries.makeCopyOfGlobalState();
+ }
+ return injector;
+ }
+
+ protected Injector internalCreateInjector() {
+ return new GModelDSLStandaloneSetup().createInjectorAndDoEMFRegistration();
+ }
+
+ @Override
+ public void restoreRegistry() {
+ stateBeforeInjectorCreation.restoreGlobalState();
+ }
+
+ @Override
+ public void setupRegistry() {
+ getInjector();
+ stateAfterInjectorCreation.restoreGlobalState();
+ }
+}
diff --git a/bundles/tooling/org.eclipse.fx.ide.gmodel.tests/src-gen/org/eclipse/fx/ide/gmodel/GModelDSLUiInjectorProvider.java b/bundles/tooling/org.eclipse.fx.ide.gmodel.tests/src-gen/org/eclipse/fx/ide/gmodel/GModelDSLUiInjectorProvider.java
new file mode 100644
index 000000000..fcc9bff54
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.gmodel.tests/src-gen/org/eclipse/fx/ide/gmodel/GModelDSLUiInjectorProvider.java
@@ -0,0 +1,17 @@
+/*
+ * generated by Xtext
+ */
+package org.eclipse.fx.ide.gmodel;
+
+import org.eclipse.xtext.junit4.IInjectorProvider;
+
+import com.google.inject.Injector;
+
+public class GModelDSLUiInjectorProvider implements IInjectorProvider {
+
+ @Override
+ public Injector getInjector() {
+ return org.eclipse.fx.ide.gmodel.ui.internal.GModelDSLActivator.getInstance().getInjector("org.eclipse.fx.ide.gmodel.GModelDSL");
+ }
+
+}
diff --git a/bundles/tooling/org.eclipse.fx.ide.gmodel.ui/.classpath b/bundles/tooling/org.eclipse.fx.ide.gmodel.ui/.classpath
new file mode 100644
index 000000000..9081d4f70
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.gmodel.ui/.classpath
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="src" path="src-gen"/>
+ <classpathentry kind="src" path="xtend-gen"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/bundles/tooling/org.eclipse.fx.ide.gmodel.ui/.gitignore b/bundles/tooling/org.eclipse.fx.ide.gmodel.ui/.gitignore
new file mode 100644
index 000000000..ae3c17260
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.gmodel.ui/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/bundles/tooling/org.eclipse.fx.ide.gmodel.ui/.project b/bundles/tooling/org.eclipse.fx.ide.gmodel.ui/.project
new file mode 100644
index 000000000..75e1b7008
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.gmodel.ui/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.fx.ide.gmodel.ui</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.xtext.ui.shared.xtextBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
+ </natures>
+</projectDescription>
diff --git a/bundles/tooling/org.eclipse.fx.ide.gmodel.ui/.settings/org.eclipse.core.resources.prefs b/bundles/tooling/org.eclipse.fx.ide.gmodel.ui/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 000000000..99f26c020
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.gmodel.ui/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/bundles/tooling/org.eclipse.fx.ide.gmodel.ui/.settings/org.eclipse.jdt.core.prefs b/bundles/tooling/org.eclipse.fx.ide.gmodel.ui/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 000000000..0c68a61dc
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.gmodel.ui/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.8
diff --git a/bundles/tooling/org.eclipse.fx.ide.gmodel.ui/META-INF/MANIFEST.MF b/bundles/tooling/org.eclipse.fx.ide.gmodel.ui/META-INF/MANIFEST.MF
new file mode 100644
index 000000000..90fc98969
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.gmodel.ui/META-INF/MANIFEST.MF
@@ -0,0 +1,25 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: org.eclipse.fx.ide.gmodel.ui
+Bundle-Vendor: My Company
+Bundle-Version: 1.0.0.qualifier
+Bundle-SymbolicName: org.eclipse.fx.ide.gmodel.ui; singleton:=true
+Bundle-ActivationPolicy: lazy
+Require-Bundle: org.eclipse.fx.ide.gmodel;visibility:=reexport,
+ org.eclipse.xtext.ui,
+ org.eclipse.ui.editors;bundle-version="3.5.0",
+ org.eclipse.ui.ide;bundle-version="3.5.0",
+ org.eclipse.xtext.ui.shared,
+ org.eclipse.ui,
+ org.eclipse.xtext.builder,
+ org.eclipse.xtext.xbase.lib,
+ org.eclipse.xtext.common.types.ui,
+ org.eclipse.xtext.ui.codetemplates.ui,
+ org.eclipse.compare
+Import-Package: org.apache.log4j
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Export-Package: org.eclipse.fx.ide.gmodel.ui.quickfix,
+ org.eclipse.fx.ide.gmodel.ui.contentassist,
+ org.eclipse.fx.ide.gmodel.ui.internal,
+ org.eclipse.fx.ide.gmodel.ui.contentassist.antlr
+Bundle-Activator: org.eclipse.fx.ide.gmodel.ui.internal.GModelDSLActivator
diff --git a/bundles/tooling/org.eclipse.fx.ide.gmodel.ui/build.properties b/bundles/tooling/org.eclipse.fx.ide.gmodel.ui/build.properties
new file mode 100644
index 000000000..dfd4ed5d2
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.gmodel.ui/build.properties
@@ -0,0 +1,6 @@
+source.. = src/,\
+ src-gen/,\
+ xtend-gen/
+bin.includes = META-INF/,\
+ .,\
+ plugin.xml
diff --git a/bundles/tooling/org.eclipse.fx.ide.gmodel.ui/plugin.xml b/bundles/tooling/org.eclipse.fx.ide.gmodel.ui/plugin.xml
new file mode 100644
index 000000000..4a0c50ccc
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.gmodel.ui/plugin.xml
@@ -0,0 +1,425 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<plugin>
+
+ <extension
+ point="org.eclipse.ui.editors">
+ <editor
+ class="org.eclipse.fx.ide.gmodel.ui.GModelDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.XtextEditor"
+ contributorClass="org.eclipse.ui.editors.text.TextEditorActionContributor"
+ default="true"
+ extensions="gmod"
+ id="org.eclipse.fx.ide.gmodel.GModelDSL"
+ name="GModelDSL Editor">
+ </editor>
+ </extension>
+ <extension
+ point="org.eclipse.ui.handlers">
+ <handler
+ class="org.eclipse.fx.ide.gmodel.ui.GModelDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.hyperlinking.OpenDeclarationHandler"
+ commandId="org.eclipse.xtext.ui.editor.hyperlinking.OpenDeclaration">
+ <activeWhen>
+ <reference
+ definitionId="org.eclipse.fx.ide.gmodel.GModelDSL.Editor.opened">
+ </reference>
+ </activeWhen>
+ </handler>
+ <handler
+ class="org.eclipse.fx.ide.gmodel.ui.GModelDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.handler.ValidateActionHandler"
+ commandId="org.eclipse.fx.ide.gmodel.GModelDSL.validate">
+ <activeWhen>
+ <reference
+ definitionId="org.eclipse.fx.ide.gmodel.GModelDSL.Editor.opened">
+ </reference>
+ </activeWhen>
+ </handler>
+ <!-- copy qualified name -->
+ <handler
+ class="org.eclipse.fx.ide.gmodel.ui.GModelDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedNameHandler"
+ commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedName">
+ <activeWhen>
+ <reference definitionId="org.eclipse.fx.ide.gmodel.GModelDSL.Editor.opened" />
+ </activeWhen>
+ </handler>
+ <handler
+ class="org.eclipse.fx.ide.gmodel.ui.GModelDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.copyqualifiedname.OutlineCopyQualifiedNameHandler"
+ commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.OutlineCopyQualifiedName">
+ <activeWhen>
+ <and>
+ <reference definitionId="org.eclipse.fx.ide.gmodel.GModelDSL.XtextEditor.opened" />
+ <iterate>
+ <adapt type="org.eclipse.xtext.ui.editor.outline.IOutlineNode" />
+ </iterate>
+ </and>
+ </activeWhen>
+ </handler>
+ </extension>
+ <extension point="org.eclipse.core.expressions.definitions">
+ <definition id="org.eclipse.fx.ide.gmodel.GModelDSL.Editor.opened">
+ <and>
+ <reference definitionId="isActiveEditorAnInstanceOfXtextEditor"/>
+ <with variable="activeEditor">
+ <test property="org.eclipse.xtext.ui.editor.XtextEditor.languageName"
+ value="org.eclipse.fx.ide.gmodel.GModelDSL"
+ forcePluginActivation="true"/>
+ </with>
+ </and>
+ </definition>
+ <definition id="org.eclipse.fx.ide.gmodel.GModelDSL.XtextEditor.opened">
+ <and>
+ <reference definitionId="isXtextEditorActive"/>
+ <with variable="activeEditor">
+ <test property="org.eclipse.xtext.ui.editor.XtextEditor.languageName"
+ value="org.eclipse.fx.ide.gmodel.GModelDSL"
+ forcePluginActivation="true"/>
+ </with>
+ </and>
+ </definition>
+ </extension>
+ <extension
+ point="org.eclipse.ui.preferencePages">
+ <page
+ class="org.eclipse.fx.ide.gmodel.ui.GModelDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.preferences.LanguageRootPreferencePage"
+ id="org.eclipse.fx.ide.gmodel.GModelDSL"
+ name="GModelDSL">
+ <keywordReference id="org.eclipse.fx.ide.gmodel.ui.keyword_GModelDSL"/>
+ </page>
+ <page
+ category="org.eclipse.fx.ide.gmodel.GModelDSL"
+ class="org.eclipse.fx.ide.gmodel.ui.GModelDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.syntaxcoloring.SyntaxColoringPreferencePage"
+ id="org.eclipse.fx.ide.gmodel.GModelDSL.coloring"
+ name="Syntax Coloring">
+ <keywordReference id="org.eclipse.fx.ide.gmodel.ui.keyword_GModelDSL"/>
+ </page>
+ <page
+ category="org.eclipse.fx.ide.gmodel.GModelDSL"
+ class="org.eclipse.fx.ide.gmodel.ui.GModelDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.templates.XtextTemplatePreferencePage"
+ id="org.eclipse.fx.ide.gmodel.GModelDSL.templates"
+ name="Templates">
+ <keywordReference id="org.eclipse.fx.ide.gmodel.ui.keyword_GModelDSL"/>
+ </page>
+ </extension>
+ <extension
+ point="org.eclipse.ui.propertyPages">
+ <page
+ class="org.eclipse.fx.ide.gmodel.ui.GModelDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.preferences.LanguageRootPreferencePage"
+ id="org.eclipse.fx.ide.gmodel.GModelDSL"
+ name="GModelDSL">
+ <keywordReference id="org.eclipse.fx.ide.gmodel.ui.keyword_GModelDSL"/>
+ <enabledWhen>
+ <adapt type="org.eclipse.core.resources.IProject"/>
+ </enabledWhen>
+ <filter name="projectNature" value="org.eclipse.xtext.ui.shared.xtextNature"/>
+ </page>
+ </extension>
+ <extension
+ point="org.eclipse.ui.keywords">
+ <keyword
+ id="org.eclipse.fx.ide.gmodel.ui.keyword_GModelDSL"
+ label="GModelDSL"/>
+ </extension>
+ <extension
+ point="org.eclipse.ui.commands">
+ <command
+ description="Trigger expensive validation"
+ id="org.eclipse.fx.ide.gmodel.GModelDSL.validate"
+ name="Validate">
+ </command>
+ <!-- copy qualified name -->
+ <command
+ id="org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedName"
+ categoryId="org.eclipse.ui.category.edit"
+ description="Copy the qualified name for the selected element"
+ name="Copy Qualified Name">
+ </command>
+ <command
+ id="org.eclipse.xtext.ui.editor.copyqualifiedname.OutlineCopyQualifiedName"
+ categoryId="org.eclipse.ui.category.edit"
+ description="Copy the qualified name for the selected element"
+ name="Copy Qualified Name">
+ </command>
+ </extension>
+ <extension point="org.eclipse.ui.menus">
+ <menuContribution
+ locationURI="popup:#TextEditorContext?after=group.edit">
+ <command
+ commandId="org.eclipse.fx.ide.gmodel.GModelDSL.validate"
+ style="push"
+ tooltip="Trigger expensive validation">
+ <visibleWhen checkEnabled="false">
+ <reference
+ definitionId="org.eclipse.fx.ide.gmodel.GModelDSL.Editor.opened">
+ </reference>
+ </visibleWhen>
+ </command>
+ </menuContribution>
+ <!-- copy qualified name -->
+ <menuContribution locationURI="popup:#TextEditorContext?after=copy">
+ <command commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedName"
+ style="push" tooltip="Copy Qualified Name">
+ <visibleWhen checkEnabled="false">
+ <reference definitionId="org.eclipse.fx.ide.gmodel.GModelDSL.Editor.opened" />
+ </visibleWhen>
+ </command>
+ </menuContribution>
+ <menuContribution locationURI="menu:edit?after=copy">
+ <command commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedName"
+ style="push" tooltip="Copy Qualified Name">
+ <visibleWhen checkEnabled="false">
+ <reference definitionId="org.eclipse.fx.ide.gmodel.GModelDSL.Editor.opened" />
+ </visibleWhen>
+ </command>
+ </menuContribution>
+ <menuContribution locationURI="popup:org.eclipse.xtext.ui.outline?after=additions">
+ <command commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.OutlineCopyQualifiedName"
+ style="push" tooltip="Copy Qualified Name">
+ <visibleWhen checkEnabled="false">
+ <and>
+ <reference definitionId="org.eclipse.fx.ide.gmodel.GModelDSL.XtextEditor.opened" />
+ <iterate>
+ <adapt type="org.eclipse.xtext.ui.editor.outline.IOutlineNode" />
+ </iterate>
+ </and>
+ </visibleWhen>
+ </command>
+ </menuContribution>
+ </extension>
+ <extension point="org.eclipse.ui.menus">
+ <menuContribution locationURI="popup:#TextEditorContext?endof=group.find">
+ <command commandId="org.eclipse.xtext.ui.editor.FindReferences">
+ <visibleWhen checkEnabled="false">
+ <reference definitionId="org.eclipse.fx.ide.gmodel.GModelDSL.Editor.opened">
+ </reference>
+ </visibleWhen>
+ </command>
+ </menuContribution>
+ </extension>
+ <extension point="org.eclipse.ui.handlers">
+ <handler
+ class="org.eclipse.fx.ide.gmodel.ui.GModelDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.findrefs.FindReferencesHandler"
+ commandId="org.eclipse.xtext.ui.editor.FindReferences">
+ <activeWhen>
+ <reference
+ definitionId="org.eclipse.fx.ide.gmodel.GModelDSL.Editor.opened">
+ </reference>
+ </activeWhen>
+ </handler>
+ </extension>
+
+<!-- adding resource factories -->
+
+ <extension
+ point="org.eclipse.emf.ecore.extension_parser">
+ <parser
+ class="org.eclipse.fx.ide.gmodel.ui.GModelDSLExecutableExtensionFactory:org.eclipse.xtext.resource.IResourceFactory"
+ type="gmod">
+ </parser>
+ </extension>
+ <extension point="org.eclipse.xtext.extension_resourceServiceProvider">
+ <resourceServiceProvider
+ class="org.eclipse.fx.ide.gmodel.ui.GModelDSLExecutableExtensionFactory:org.eclipse.xtext.ui.resource.IResourceUIServiceProvider"
+ uriExtension="gmod">
+ </resourceServiceProvider>
+ </extension>
+
+
+ <!-- marker definitions for org.eclipse.fx.ide.gmodel.GModelDSL -->
+ <extension
+ id="gmodeldsl.check.fast"
+ name="GModelDSL Problem"
+ point="org.eclipse.core.resources.markers">
+ <super type="org.eclipse.xtext.ui.check.fast"/>
+ <persistent value="true"/>
+ </extension>
+ <extension
+ id="gmodeldsl.check.normal"
+ name="GModelDSL Problem"
+ point="org.eclipse.core.resources.markers">
+ <super type="org.eclipse.xtext.ui.check.normal"/>
+ <persistent value="true"/>
+ </extension>
+ <extension
+ id="gmodeldsl.check.expensive"
+ name="GModelDSL Problem"
+ point="org.eclipse.core.resources.markers">
+ <super type="org.eclipse.xtext.ui.check.expensive"/>
+ <persistent value="true"/>
+ </extension>
+
+ <extension
+ point="org.eclipse.xtext.builder.participant">
+ <participant
+ class="org.eclipse.fx.ide.gmodel.ui.GModelDSLExecutableExtensionFactory:org.eclipse.xtext.builder.IXtextBuilderParticipant"
+ fileExtensions="gmod"
+ >
+ </participant>
+ </extension>
+ <extension
+ point="org.eclipse.ui.preferencePages">
+ <page
+ category="org.eclipse.fx.ide.gmodel.GModelDSL"
+ class="org.eclipse.fx.ide.gmodel.ui.GModelDSLExecutableExtensionFactory:org.eclipse.xtext.builder.preferences.BuilderPreferencePage"
+ id="org.eclipse.fx.ide.gmodel.GModelDSL.compiler.preferencePage"
+ name="Compiler">
+ <keywordReference id="org.eclipse.fx.ide.gmodel.ui.keyword_GModelDSL"/>
+ </page>
+ </extension>
+ <extension
+ point="org.eclipse.ui.propertyPages">
+ <page
+ category="org.eclipse.fx.ide.gmodel.GModelDSL"
+ class="org.eclipse.fx.ide.gmodel.ui.GModelDSLExecutableExtensionFactory:org.eclipse.xtext.builder.preferences.BuilderPreferencePage"
+ id="org.eclipse.fx.ide.gmodel.GModelDSL.compiler.propertyPage"
+ name="Compiler">
+ <keywordReference id="org.eclipse.fx.ide.gmodel.ui.keyword_GModelDSL"/>
+ <enabledWhen>
+ <adapt type="org.eclipse.core.resources.IProject"/>
+ </enabledWhen>
+ <filter name="projectNature" value="org.eclipse.xtext.ui.shared.xtextNature"/>
+ </page>
+ </extension>
+ <extension point="org.eclipse.ui.menus">
+ <menuContribution locationURI="popup:#TextEditorContext?after=xtext.ui.openDeclaration">
+ <command
+ commandId="org.eclipse.xtext.ui.OpenGeneratedFileCommand"
+ id="org.eclipse.fx.ide.gmodel.GModelDSL.OpenGeneratedCode"
+ style="push">
+ <visibleWhen checkEnabled="false">
+ <reference definitionId="org.eclipse.fx.ide.gmodel.GModelDSL.Editor.opened" />
+ </visibleWhen>
+ </command>
+ </menuContribution>
+ </extension>
+ <extension point="org.eclipse.ui.handlers">
+ <handler
+ class="org.eclipse.fx.ide.gmodel.ui.GModelDSLExecutableExtensionFactory:org.eclipse.xtext.ui.generator.trace.OpenGeneratedFileHandler"
+ commandId="org.eclipse.xtext.ui.OpenGeneratedFileCommand">
+ <activeWhen>
+ <reference definitionId="org.eclipse.fx.ide.gmodel.GModelDSL.Editor.opened" />
+ </activeWhen>
+ </handler>
+ </extension>
+
+ <!-- Quick Outline -->
+ <extension
+ point="org.eclipse.ui.handlers">
+ <handler
+ class="org.eclipse.fx.ide.gmodel.ui.GModelDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.outline.quickoutline.ShowQuickOutlineActionHandler"
+ commandId="org.eclipse.xtext.ui.editor.outline.QuickOutline">
+ <activeWhen>
+ <reference
+ definitionId="org.eclipse.fx.ide.gmodel.GModelDSL.Editor.opened">
+ </reference>
+ </activeWhen>
+ </handler>
+ </extension>
+ <extension
+ point="org.eclipse.ui.commands">
+ <command
+ description="Open the quick outline."
+ id="org.eclipse.xtext.ui.editor.outline.QuickOutline"
+ name="Quick Outline">
+ </command>
+ </extension>
+ <extension point="org.eclipse.ui.menus">
+ <menuContribution
+ locationURI="popup:#TextEditorContext?after=group.open">
+ <command commandId="org.eclipse.xtext.ui.editor.outline.QuickOutline"
+ style="push"
+ tooltip="Open Quick Outline">
+ <visibleWhen checkEnabled="false">
+ <reference definitionId="org.eclipse.fx.ide.gmodel.GModelDSL.Editor.opened"/>
+ </visibleWhen>
+ </command>
+ </menuContribution>
+ </extension>
+ <!-- quickfix marker resolution generator for org.eclipse.fx.ide.gmodel.GModelDSL -->
+ <extension
+ point="org.eclipse.ui.ide.markerResolution">
+ <markerResolutionGenerator
+ class="org.eclipse.fx.ide.gmodel.ui.GModelDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator"
+ markerType="org.eclipse.fx.ide.gmodel.ui.gmodeldsl.check.fast">
+ <attribute
+ name="FIXABLE_KEY"
+ value="true">
+ </attribute>
+ </markerResolutionGenerator>
+ <markerResolutionGenerator
+ class="org.eclipse.fx.ide.gmodel.ui.GModelDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator"
+ markerType="org.eclipse.fx.ide.gmodel.ui.gmodeldsl.check.normal">
+ <attribute
+ name="FIXABLE_KEY"
+ value="true">
+ </attribute>
+ </markerResolutionGenerator>
+ <markerResolutionGenerator
+ class="org.eclipse.fx.ide.gmodel.ui.GModelDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator"
+ markerType="org.eclipse.fx.ide.gmodel.ui.gmodeldsl.check.expensive">
+ <attribute
+ name="FIXABLE_KEY"
+ value="true">
+ </attribute>
+ </markerResolutionGenerator>
+ </extension>
+ <!-- Rename Refactoring -->
+ <extension point="org.eclipse.ui.handlers">
+ <handler
+ class="org.eclipse.fx.ide.gmodel.ui.GModelDSLExecutableExtensionFactory:org.eclipse.xtext.ui.refactoring.ui.DefaultRenameElementHandler"
+ commandId="org.eclipse.xtext.ui.refactoring.RenameElement">
+ <activeWhen>
+ <reference
+ definitionId="org.eclipse.fx.ide.gmodel.GModelDSL.Editor.opened">
+ </reference>
+ </activeWhen>
+ </handler>
+ </extension>
+ <extension point="org.eclipse.ui.menus">
+ <menuContribution
+ locationURI="popup:#TextEditorContext?after=group.edit">
+ <command commandId="org.eclipse.xtext.ui.refactoring.RenameElement"
+ style="push">
+ <visibleWhen checkEnabled="false">
+ <reference
+ definitionId="org.eclipse.fx.ide.gmodel.GModelDSL.Editor.opened">
+ </reference>
+ </visibleWhen>
+ </command>
+ </menuContribution>
+ </extension>
+ <extension point="org.eclipse.ui.preferencePages">
+ <page
+ category="org.eclipse.fx.ide.gmodel.GModelDSL"
+ class="org.eclipse.fx.ide.gmodel.ui.GModelDSLExecutableExtensionFactory:org.eclipse.xtext.ui.refactoring.ui.RefactoringPreferencePage"
+ id="org.eclipse.fx.ide.gmodel.GModelDSL.refactoring"
+ name="Refactoring">
+ <keywordReference id="org.eclipse.fx.ide.gmodel.ui.keyword_GModelDSL"/>
+ </page>
+ </extension>
+
+ <extension point="org.eclipse.compare.contentViewers">
+ <viewer id="org.eclipse.fx.ide.gmodel.GModelDSL.compare.contentViewers"
+ class="org.eclipse.fx.ide.gmodel.ui.GModelDSLExecutableExtensionFactory:org.eclipse.xtext.ui.compare.InjectableViewerCreator"
+ extensions="gmod">
+ </viewer>
+ </extension>
+ <extension point="org.eclipse.compare.contentMergeViewers">
+ <viewer id="org.eclipse.fx.ide.gmodel.GModelDSL.compare.contentMergeViewers"
+ class="org.eclipse.fx.ide.gmodel.ui.GModelDSLExecutableExtensionFactory:org.eclipse.xtext.ui.compare.InjectableViewerCreator"
+ extensions="gmod" label="GModelDSL Compare">
+ </viewer>
+ </extension>
+ <extension point="org.eclipse.ui.editors.documentProviders">
+ <provider id="org.eclipse.fx.ide.gmodel.GModelDSL.editors.documentProviders"
+ class="org.eclipse.fx.ide.gmodel.ui.GModelDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.model.XtextDocumentProvider"
+ extensions="gmod">
+ </provider>
+ </extension>
+ <extension point="org.eclipse.team.core.fileTypes">
+ <fileTypes
+ extension="gmod"
+ type="text">
+ </fileTypes>
+ </extension>
+
+</plugin>
diff --git a/bundles/tooling/org.eclipse.fx.ide.gmodel.ui/plugin.xml_gen b/bundles/tooling/org.eclipse.fx.ide.gmodel.ui/plugin.xml_gen
new file mode 100644
index 000000000..4a0c50ccc
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.gmodel.ui/plugin.xml_gen
@@ -0,0 +1,425 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<plugin>
+
+ <extension
+ point="org.eclipse.ui.editors">
+ <editor
+ class="org.eclipse.fx.ide.gmodel.ui.GModelDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.XtextEditor"
+ contributorClass="org.eclipse.ui.editors.text.TextEditorActionContributor"
+ default="true"
+ extensions="gmod"
+ id="org.eclipse.fx.ide.gmodel.GModelDSL"
+ name="GModelDSL Editor">
+ </editor>
+ </extension>
+ <extension
+ point="org.eclipse.ui.handlers">
+ <handler
+ class="org.eclipse.fx.ide.gmodel.ui.GModelDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.hyperlinking.OpenDeclarationHandler"
+ commandId="org.eclipse.xtext.ui.editor.hyperlinking.OpenDeclaration">
+ <activeWhen>
+ <reference
+ definitionId="org.eclipse.fx.ide.gmodel.GModelDSL.Editor.opened">
+ </reference>
+ </activeWhen>
+ </handler>
+ <handler
+ class="org.eclipse.fx.ide.gmodel.ui.GModelDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.handler.ValidateActionHandler"
+ commandId="org.eclipse.fx.ide.gmodel.GModelDSL.validate">
+ <activeWhen>
+ <reference
+ definitionId="org.eclipse.fx.ide.gmodel.GModelDSL.Editor.opened">
+ </reference>
+ </activeWhen>
+ </handler>
+ <!-- copy qualified name -->
+ <handler
+ class="org.eclipse.fx.ide.gmodel.ui.GModelDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedNameHandler"
+ commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedName">
+ <activeWhen>
+ <reference definitionId="org.eclipse.fx.ide.gmodel.GModelDSL.Editor.opened" />
+ </activeWhen>
+ </handler>
+ <handler
+ class="org.eclipse.fx.ide.gmodel.ui.GModelDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.copyqualifiedname.OutlineCopyQualifiedNameHandler"
+ commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.OutlineCopyQualifiedName">
+ <activeWhen>
+ <and>
+ <reference definitionId="org.eclipse.fx.ide.gmodel.GModelDSL.XtextEditor.opened" />
+ <iterate>
+ <adapt type="org.eclipse.xtext.ui.editor.outline.IOutlineNode" />
+ </iterate>
+ </and>
+ </activeWhen>
+ </handler>
+ </extension>
+ <extension point="org.eclipse.core.expressions.definitions">
+ <definition id="org.eclipse.fx.ide.gmodel.GModelDSL.Editor.opened">
+ <and>
+ <reference definitionId="isActiveEditorAnInstanceOfXtextEditor"/>
+ <with variable="activeEditor">
+ <test property="org.eclipse.xtext.ui.editor.XtextEditor.languageName"
+ value="org.eclipse.fx.ide.gmodel.GModelDSL"
+ forcePluginActivation="true"/>
+ </with>
+ </and>
+ </definition>
+ <definition id="org.eclipse.fx.ide.gmodel.GModelDSL.XtextEditor.opened">
+ <and>
+ <reference definitionId="isXtextEditorActive"/>
+ <with variable="activeEditor">
+ <test property="org.eclipse.xtext.ui.editor.XtextEditor.languageName"
+ value="org.eclipse.fx.ide.gmodel.GModelDSL"
+ forcePluginActivation="true"/>
+ </with>
+ </and>
+ </definition>
+ </extension>
+ <extension
+ point="org.eclipse.ui.preferencePages">
+ <page
+ class="org.eclipse.fx.ide.gmodel.ui.GModelDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.preferences.LanguageRootPreferencePage"
+ id="org.eclipse.fx.ide.gmodel.GModelDSL"
+ name="GModelDSL">
+ <keywordReference id="org.eclipse.fx.ide.gmodel.ui.keyword_GModelDSL"/>
+ </page>
+ <page
+ category="org.eclipse.fx.ide.gmodel.GModelDSL"
+ class="org.eclipse.fx.ide.gmodel.ui.GModelDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.syntaxcoloring.SyntaxColoringPreferencePage"
+ id="org.eclipse.fx.ide.gmodel.GModelDSL.coloring"
+ name="Syntax Coloring">
+ <keywordReference id="org.eclipse.fx.ide.gmodel.ui.keyword_GModelDSL"/>
+ </page>
+ <page
+ category="org.eclipse.fx.ide.gmodel.GModelDSL"
+ class="org.eclipse.fx.ide.gmodel.ui.GModelDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.templates.XtextTemplatePreferencePage"
+ id="org.eclipse.fx.ide.gmodel.GModelDSL.templates"
+ name="Templates">
+ <keywordReference id="org.eclipse.fx.ide.gmodel.ui.keyword_GModelDSL"/>
+ </page>
+ </extension>
+ <extension
+ point="org.eclipse.ui.propertyPages">
+ <page
+ class="org.eclipse.fx.ide.gmodel.ui.GModelDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.preferences.LanguageRootPreferencePage"
+ id="org.eclipse.fx.ide.gmodel.GModelDSL"
+ name="GModelDSL">
+ <keywordReference id="org.eclipse.fx.ide.gmodel.ui.keyword_GModelDSL"/>
+ <enabledWhen>
+ <adapt type="org.eclipse.core.resources.IProject"/>
+ </enabledWhen>
+ <filter name="projectNature" value="org.eclipse.xtext.ui.shared.xtextNature"/>
+ </page>
+ </extension>
+ <extension
+ point="org.eclipse.ui.keywords">
+ <keyword
+ id="org.eclipse.fx.ide.gmodel.ui.keyword_GModelDSL"
+ label="GModelDSL"/>
+ </extension>
+ <extension
+ point="org.eclipse.ui.commands">
+ <command
+ description="Trigger expensive validation"
+ id="org.eclipse.fx.ide.gmodel.GModelDSL.validate"
+ name="Validate">
+ </command>
+ <!-- copy qualified name -->
+ <command
+ id="org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedName"
+ categoryId="org.eclipse.ui.category.edit"
+ description="Copy the qualified name for the selected element"
+ name="Copy Qualified Name">
+ </command>
+ <command
+ id="org.eclipse.xtext.ui.editor.copyqualifiedname.OutlineCopyQualifiedName"
+ categoryId="org.eclipse.ui.category.edit"
+ description="Copy the qualified name for the selected element"
+ name="Copy Qualified Name">
+ </command>
+ </extension>
+ <extension point="org.eclipse.ui.menus">
+ <menuContribution
+ locationURI="popup:#TextEditorContext?after=group.edit">
+ <command
+ commandId="org.eclipse.fx.ide.gmodel.GModelDSL.validate"
+ style="push"
+ tooltip="Trigger expensive validation">
+ <visibleWhen checkEnabled="false">
+ <reference
+ definitionId="org.eclipse.fx.ide.gmodel.GModelDSL.Editor.opened">
+ </reference>
+ </visibleWhen>
+ </command>
+ </menuContribution>
+ <!-- copy qualified name -->
+ <menuContribution locationURI="popup:#TextEditorContext?after=copy">
+ <command commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedName"
+ style="push" tooltip="Copy Qualified Name">
+ <visibleWhen checkEnabled="false">
+ <reference definitionId="org.eclipse.fx.ide.gmodel.GModelDSL.Editor.opened" />
+ </visibleWhen>
+ </command>
+ </menuContribution>
+ <menuContribution locationURI="menu:edit?after=copy">
+ <command commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedName"
+ style="push" tooltip="Copy Qualified Name">
+ <visibleWhen checkEnabled="false">
+ <reference definitionId="org.eclipse.fx.ide.gmodel.GModelDSL.Editor.opened" />
+ </visibleWhen>
+ </command>
+ </menuContribution>
+ <menuContribution locationURI="popup:org.eclipse.xtext.ui.outline?after=additions">
+ <command commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.OutlineCopyQualifiedName"
+ style="push" tooltip="Copy Qualified Name">
+ <visibleWhen checkEnabled="false">
+ <and>
+ <reference definitionId="org.eclipse.fx.ide.gmodel.GModelDSL.XtextEditor.opened" />
+ <iterate>
+ <adapt type="org.eclipse.xtext.ui.editor.outline.IOutlineNode" />
+ </iterate>
+ </and>
+ </visibleWhen>
+ </command>
+ </menuContribution>
+ </extension>
+ <extension point="org.eclipse.ui.menus">
+ <menuContribution locationURI="popup:#TextEditorContext?endof=group.find">
+ <command commandId="org.eclipse.xtext.ui.editor.FindReferences">
+ <visibleWhen checkEnabled="false">
+ <reference definitionId="org.eclipse.fx.ide.gmodel.GModelDSL.Editor.opened">
+ </reference>
+ </visibleWhen>
+ </command>
+ </menuContribution>
+ </extension>
+ <extension point="org.eclipse.ui.handlers">
+ <handler
+ class="org.eclipse.fx.ide.gmodel.ui.GModelDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.findrefs.FindReferencesHandler"
+ commandId="org.eclipse.xtext.ui.editor.FindReferences">
+ <activeWhen>
+ <reference
+ definitionId="org.eclipse.fx.ide.gmodel.GModelDSL.Editor.opened">
+ </reference>
+ </activeWhen>
+ </handler>
+ </extension>
+
+<!-- adding resource factories -->
+
+ <extension
+ point="org.eclipse.emf.ecore.extension_parser">
+ <parser
+ class="org.eclipse.fx.ide.gmodel.ui.GModelDSLExecutableExtensionFactory:org.eclipse.xtext.resource.IResourceFactory"
+ type="gmod">
+ </parser>
+ </extension>
+ <extension point="org.eclipse.xtext.extension_resourceServiceProvider">
+ <resourceServiceProvider
+ class="org.eclipse.fx.ide.gmodel.ui.GModelDSLExecutableExtensionFactory:org.eclipse.xtext.ui.resource.IResourceUIServiceProvider"
+ uriExtension="gmod">
+ </resourceServiceProvider>
+ </extension>
+
+
+ <!-- marker definitions for org.eclipse.fx.ide.gmodel.GModelDSL -->
+ <extension
+ id="gmodeldsl.check.fast"
+ name="GModelDSL Problem"
+ point="org.eclipse.core.resources.markers">
+ <super type="org.eclipse.xtext.ui.check.fast"/>
+ <persistent value="true"/>
+ </extension>
+ <extension
+ id="gmodeldsl.check.normal"
+ name="GModelDSL Problem"
+ point="org.eclipse.core.resources.markers">
+ <super type="org.eclipse.xtext.ui.check.normal"/>
+ <persistent value="true"/>
+ </extension>
+ <extension
+ id="gmodeldsl.check.expensive"
+ name="GModelDSL Problem"
+ point="org.eclipse.core.resources.markers">
+ <super type="org.eclipse.xtext.ui.check.expensive"/>
+ <persistent value="true"/>
+ </extension>
+
+ <extension
+ point="org.eclipse.xtext.builder.participant">
+ <participant
+ class="org.eclipse.fx.ide.gmodel.ui.GModelDSLExecutableExtensionFactory:org.eclipse.xtext.builder.IXtextBuilderParticipant"
+ fileExtensions="gmod"
+ >
+ </participant>
+ </extension>
+ <extension
+ point="org.eclipse.ui.preferencePages">
+ <page
+ category="org.eclipse.fx.ide.gmodel.GModelDSL"
+ class="org.eclipse.fx.ide.gmodel.ui.GModelDSLExecutableExtensionFactory:org.eclipse.xtext.builder.preferences.BuilderPreferencePage"
+ id="org.eclipse.fx.ide.gmodel.GModelDSL.compiler.preferencePage"
+ name="Compiler">
+ <keywordReference id="org.eclipse.fx.ide.gmodel.ui.keyword_GModelDSL"/>
+ </page>
+ </extension>
+ <extension
+ point="org.eclipse.ui.propertyPages">
+ <page
+ category="org.eclipse.fx.ide.gmodel.GModelDSL"
+ class="org.eclipse.fx.ide.gmodel.ui.GModelDSLExecutableExtensionFactory:org.eclipse.xtext.builder.preferences.BuilderPreferencePage"
+ id="org.eclipse.fx.ide.gmodel.GModelDSL.compiler.propertyPage"
+ name="Compiler">
+ <keywordReference id="org.eclipse.fx.ide.gmodel.ui.keyword_GModelDSL"/>
+ <enabledWhen>
+ <adapt type="org.eclipse.core.resources.IProject"/>
+ </enabledWhen>
+ <filter name="projectNature" value="org.eclipse.xtext.ui.shared.xtextNature"/>
+ </page>
+ </extension>
+ <extension point="org.eclipse.ui.menus">
+ <menuContribution locationURI="popup:#TextEditorContext?after=xtext.ui.openDeclaration">
+ <command
+ commandId="org.eclipse.xtext.ui.OpenGeneratedFileCommand"
+ id="org.eclipse.fx.ide.gmodel.GModelDSL.OpenGeneratedCode"
+ style="push">
+ <visibleWhen checkEnabled="false">
+ <reference definitionId="org.eclipse.fx.ide.gmodel.GModelDSL.Editor.opened" />
+ </visibleWhen>
+ </command>
+ </menuContribution>
+ </extension>
+ <extension point="org.eclipse.ui.handlers">
+ <handler
+ class="org.eclipse.fx.ide.gmodel.ui.GModelDSLExecutableExtensionFactory:org.eclipse.xtext.ui.generator.trace.OpenGeneratedFileHandler"
+ commandId="org.eclipse.xtext.ui.OpenGeneratedFileCommand">
+ <activeWhen>
+ <reference definitionId="org.eclipse.fx.ide.gmodel.GModelDSL.Editor.opened" />
+ </activeWhen>
+ </handler>
+ </extension>
+
+ <!-- Quick Outline -->
+ <extension
+ point="org.eclipse.ui.handlers">
+ <handler
+ class="org.eclipse.fx.ide.gmodel.ui.GModelDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.outline.quickoutline.ShowQuickOutlineActionHandler"
+ commandId="org.eclipse.xtext.ui.editor.outline.QuickOutline">
+ <activeWhen>
+ <reference
+ definitionId="org.eclipse.fx.ide.gmodel.GModelDSL.Editor.opened">
+ </reference>
+ </activeWhen>
+ </handler>
+ </extension>
+ <extension
+ point="org.eclipse.ui.commands">
+ <command
+ description="Open the quick outline."
+ id="org.eclipse.xtext.ui.editor.outline.QuickOutline"
+ name="Quick Outline">
+ </command>
+ </extension>
+ <extension point="org.eclipse.ui.menus">
+ <menuContribution
+ locationURI="popup:#TextEditorContext?after=group.open">
+ <command commandId="org.eclipse.xtext.ui.editor.outline.QuickOutline"
+ style="push"
+ tooltip="Open Quick Outline">
+ <visibleWhen checkEnabled="false">
+ <reference definitionId="org.eclipse.fx.ide.gmodel.GModelDSL.Editor.opened"/>
+ </visibleWhen>
+ </command>
+ </menuContribution>
+ </extension>
+ <!-- quickfix marker resolution generator for org.eclipse.fx.ide.gmodel.GModelDSL -->
+ <extension
+ point="org.eclipse.ui.ide.markerResolution">
+ <markerResolutionGenerator
+ class="org.eclipse.fx.ide.gmodel.ui.GModelDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator"
+ markerType="org.eclipse.fx.ide.gmodel.ui.gmodeldsl.check.fast">
+ <attribute
+ name="FIXABLE_KEY"
+ value="true">
+ </attribute>
+ </markerResolutionGenerator>
+ <markerResolutionGenerator
+ class="org.eclipse.fx.ide.gmodel.ui.GModelDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator"
+ markerType="org.eclipse.fx.ide.gmodel.ui.gmodeldsl.check.normal">
+ <attribute
+ name="FIXABLE_KEY"
+ value="true">
+ </attribute>
+ </markerResolutionGenerator>
+ <markerResolutionGenerator
+ class="org.eclipse.fx.ide.gmodel.ui.GModelDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator"
+ markerType="org.eclipse.fx.ide.gmodel.ui.gmodeldsl.check.expensive">
+ <attribute
+ name="FIXABLE_KEY"
+ value="true">
+ </attribute>
+ </markerResolutionGenerator>
+ </extension>
+ <!-- Rename Refactoring -->
+ <extension point="org.eclipse.ui.handlers">
+ <handler
+ class="org.eclipse.fx.ide.gmodel.ui.GModelDSLExecutableExtensionFactory:org.eclipse.xtext.ui.refactoring.ui.DefaultRenameElementHandler"
+ commandId="org.eclipse.xtext.ui.refactoring.RenameElement">
+ <activeWhen>
+ <reference
+ definitionId="org.eclipse.fx.ide.gmodel.GModelDSL.Editor.opened">
+ </reference>
+ </activeWhen>
+ </handler>
+ </extension>
+ <extension point="org.eclipse.ui.menus">
+ <menuContribution
+ locationURI="popup:#TextEditorContext?after=group.edit">
+ <command commandId="org.eclipse.xtext.ui.refactoring.RenameElement"
+ style="push">
+ <visibleWhen checkEnabled="false">
+ <reference
+ definitionId="org.eclipse.fx.ide.gmodel.GModelDSL.Editor.opened">
+ </reference>
+ </visibleWhen>
+ </command>
+ </menuContribution>
+ </extension>
+ <extension point="org.eclipse.ui.preferencePages">
+ <page
+ category="org.eclipse.fx.ide.gmodel.GModelDSL"
+ class="org.eclipse.fx.ide.gmodel.ui.GModelDSLExecutableExtensionFactory:org.eclipse.xtext.ui.refactoring.ui.RefactoringPreferencePage"
+ id="org.eclipse.fx.ide.gmodel.GModelDSL.refactoring"
+ name="Refactoring">
+ <keywordReference id="org.eclipse.fx.ide.gmodel.ui.keyword_GModelDSL"/>
+ </page>
+ </extension>
+
+ <extension point="org.eclipse.compare.contentViewers">
+ <viewer id="org.eclipse.fx.ide.gmodel.GModelDSL.compare.contentViewers"
+ class="org.eclipse.fx.ide.gmodel.ui.GModelDSLExecutableExtensionFactory:org.eclipse.xtext.ui.compare.InjectableViewerCreator"
+ extensions="gmod">
+ </viewer>
+ </extension>
+ <extension point="org.eclipse.compare.contentMergeViewers">
+ <viewer id="org.eclipse.fx.ide.gmodel.GModelDSL.compare.contentMergeViewers"
+ class="org.eclipse.fx.ide.gmodel.ui.GModelDSLExecutableExtensionFactory:org.eclipse.xtext.ui.compare.InjectableViewerCreator"
+ extensions="gmod" label="GModelDSL Compare">
+ </viewer>
+ </extension>
+ <extension point="org.eclipse.ui.editors.documentProviders">
+ <provider id="org.eclipse.fx.ide.gmodel.GModelDSL.editors.documentProviders"
+ class="org.eclipse.fx.ide.gmodel.ui.GModelDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.model.XtextDocumentProvider"
+ extensions="gmod">
+ </provider>
+ </extension>
+ <extension point="org.eclipse.team.core.fileTypes">
+ <fileTypes
+ extension="gmod"
+ type="text">
+ </fileTypes>
+ </extension>
+
+</plugin>
diff --git a/bundles/tooling/org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/AbstractGModelDSLUiModule.java b/bundles/tooling/org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/AbstractGModelDSLUiModule.java
new file mode 100644
index 000000000..cc0138d75
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/AbstractGModelDSLUiModule.java
@@ -0,0 +1,196 @@
+
+/*
+ * generated by Xtext
+ */
+package org.eclipse.fx.ide.gmodel.ui;
+
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+
+/**
+ * Manual modifications go to {org.eclipse.fx.ide.gmodel.ui.GModelDSLUiModule}
+ */
+@SuppressWarnings("all")
+public abstract class AbstractGModelDSLUiModule extends org.eclipse.xtext.common.types.ui.DefaultCommonTypesUiModule {
+
+ public AbstractGModelDSLUiModule(AbstractUIPlugin plugin) {
+ super(plugin);
+ }
+
+
+ // contributed by org.eclipse.xtext.ui.generator.ImplicitUiFragment
+ public com.google.inject.Provider<org.eclipse.xtext.resource.containers.IAllContainersState> provideIAllContainersState() {
+ return org.eclipse.xtext.ui.shared.Access.getJavaProjectsState();
+ }
+
+ // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
+ public Class<? extends org.eclipse.xtext.ui.editor.contentassist.IProposalConflictHelper> bindIProposalConflictHelper() {
+ return org.eclipse.xtext.ui.editor.contentassist.antlr.AntlrProposalConflictHelper.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
+ public void configureHighlightingLexer(com.google.inject.Binder binder) {
+ binder.bind(org.eclipse.xtext.parser.antlr.Lexer.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.ui.LexerUIBindings.HIGHLIGHTING)).to(org.eclipse.fx.ide.gmodel.parser.antlr.internal.InternalGModelDSLLexer.class);
+ }
+
+ // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
+ public void configureHighlightingTokenDefProvider(com.google.inject.Binder binder) {
+ binder.bind(org.eclipse.xtext.parser.antlr.ITokenDefProvider.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.ui.LexerUIBindings.HIGHLIGHTING)).to(org.eclipse.xtext.parser.antlr.AntlrTokenDefProvider.class);
+ }
+
+ // contributed by org.eclipse.xtext.generator.exporting.QualifiedNamesFragment
+ public Class<? extends org.eclipse.xtext.ui.refactoring.IDependentElementsCalculator> bindIDependentElementsCalculator() {
+ return org.eclipse.xtext.ui.refactoring.impl.DefaultDependentElementsCalculator.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.builder.BuilderIntegrationFragment
+ public void configureIResourceDescriptionsBuilderScope(com.google.inject.Binder binder) {
+ binder.bind(org.eclipse.xtext.resource.IResourceDescriptions.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.resource.impl.ResourceDescriptionsProvider.NAMED_BUILDER_SCOPE)).to(org.eclipse.xtext.builder.clustering.CurrentDescriptions.ResourceSetAware.class);
+ }
+
+ // contributed by org.eclipse.xtext.generator.builder.BuilderIntegrationFragment
+ public Class<? extends org.eclipse.xtext.ui.editor.IXtextEditorCallback> bindIXtextEditorCallback() {
+ return org.eclipse.xtext.builder.nature.NatureAddingEditorCallback.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.builder.BuilderIntegrationFragment
+ public Class<? extends org.eclipse.xtext.generator.IContextualOutputConfigurationProvider> bindIContextualOutputConfigurationProvider() {
+ return org.eclipse.xtext.builder.EclipseOutputConfigurationProvider.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.builder.BuilderIntegrationFragment
+ public void configureIResourceDescriptionsPersisted(com.google.inject.Binder binder) {
+ binder.bind(org.eclipse.xtext.resource.IResourceDescriptions.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.resource.impl.ResourceDescriptionsProvider.PERSISTED_DESCRIPTIONS)).to(org.eclipse.xtext.builder.builderState.IBuilderState.class);
+ }
+
+ // contributed by org.eclipse.xtext.generator.builder.BuilderIntegrationFragment
+ public Class<? extends org.eclipse.xtext.ui.editor.DocumentBasedDirtyResource> bindDocumentBasedDirtyResource() {
+ return org.eclipse.xtext.builder.impl.PersistentDataAwareDirtyResource.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.generator.GeneratorFragment
+ public Class<? extends org.eclipse.xtext.builder.IXtextBuilderParticipant> bindIXtextBuilderParticipant() {
+ return org.eclipse.xtext.builder.BuilderParticipant.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.generator.GeneratorFragment
+ public org.eclipse.core.resources.IWorkspaceRoot bindIWorkspaceRootToInstance() {
+ return org.eclipse.core.resources.ResourcesPlugin.getWorkspace().getRoot();
+ }
+
+ // contributed by org.eclipse.xtext.generator.generator.GeneratorFragment
+ public void configureBuilderPreferenceStoreInitializer(com.google.inject.Binder binder) {
+ binder.bind(org.eclipse.xtext.ui.editor.preferences.IPreferenceStoreInitializer.class).annotatedWith(com.google.inject.name.Names.named("builderPreferenceInitializer")).to(org.eclipse.xtext.builder.preferences.BuilderPreferenceAccess.Initializer.class);
+ }
+
+ // contributed by org.eclipse.xtext.ui.generator.labeling.LabelProviderFragment
+ public Class<? extends org.eclipse.jface.viewers.ILabelProvider> bindILabelProvider() {
+ return org.eclipse.fx.ide.gmodel.ui.labeling.GModelDSLLabelProvider.class;
+ }
+
+ // contributed by org.eclipse.xtext.ui.generator.labeling.LabelProviderFragment
+ public void configureResourceUIServiceLabelProvider(com.google.inject.Binder binder) {
+ binder.bind(org.eclipse.jface.viewers.ILabelProvider.class).annotatedWith(org.eclipse.xtext.ui.resource.ResourceServiceDescriptionLabelProvider.class).to(org.eclipse.fx.ide.gmodel.ui.labeling.GModelDSLDescriptionLabelProvider.class);
+ }
+
+ // contributed by org.eclipse.xtext.ui.generator.outline.OutlineTreeProviderFragment
+ public Class<? extends org.eclipse.xtext.ui.editor.outline.IOutlineTreeProvider> bindIOutlineTreeProvider() {
+ return org.eclipse.fx.ide.gmodel.ui.outline.GModelDSLOutlineTreeProvider.class;
+ }
+
+ // contributed by org.eclipse.xtext.ui.generator.outline.OutlineTreeProviderFragment
+ public Class<? extends org.eclipse.xtext.ui.editor.outline.impl.IOutlineTreeStructureProvider> bindIOutlineTreeStructureProvider() {
+ return org.eclipse.fx.ide.gmodel.ui.outline.GModelDSLOutlineTreeProvider.class;
+ }
+
+ // contributed by org.eclipse.xtext.ui.generator.quickfix.QuickfixProviderFragment
+ public Class<? extends org.eclipse.xtext.ui.editor.quickfix.IssueResolutionProvider> bindIssueResolutionProvider() {
+ return org.eclipse.fx.ide.gmodel.ui.quickfix.GModelDSLQuickfixProvider.class;
+ }
+
+ // contributed by org.eclipse.xtext.ui.generator.contentAssist.ContentAssistFragment
+ public Class<? extends org.eclipse.xtext.ui.editor.contentassist.IContentProposalProvider> bindIContentProposalProvider() {
+ return org.eclipse.fx.ide.gmodel.ui.contentassist.GModelDSLProposalProvider.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrUiGeneratorFragment
+ public Class<? extends org.eclipse.xtext.ui.editor.contentassist.ContentAssistContext.Factory> bindContentAssistContext$Factory() {
+ return org.eclipse.xtext.ui.editor.contentassist.antlr.ParserBasedContentAssistContextFactory.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrUiGeneratorFragment
+ public Class<? extends org.eclipse.xtext.ui.editor.contentassist.antlr.IContentAssistParser> bindIContentAssistParser() {
+ return org.eclipse.fx.ide.gmodel.ui.contentassist.antlr.GModelDSLParser.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrUiGeneratorFragment
+ public void configureContentAssistLexerProvider(com.google.inject.Binder binder) {
+ binder.bind(org.eclipse.fx.ide.gmodel.ui.contentassist.antlr.internal.InternalGModelDSLLexer.class).toProvider(org.eclipse.xtext.parser.antlr.LexerProvider.create(org.eclipse.fx.ide.gmodel.ui.contentassist.antlr.internal.InternalGModelDSLLexer.class));
+ }
+
+ // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrUiGeneratorFragment
+ public void configureContentAssistLexer(com.google.inject.Binder binder) {
+ binder.bind(org.eclipse.xtext.ui.editor.contentassist.antlr.internal.Lexer.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.ui.LexerUIBindings.CONTENT_ASSIST)).to(org.eclipse.fx.ide.gmodel.ui.contentassist.antlr.internal.InternalGModelDSLLexer.class);
+ }
+
+ // contributed by org.eclipse.xtext.ui.generator.refactoring.RefactorElementNameFragment
+ public Class<? extends org.eclipse.xtext.ui.refactoring.IRenameStrategy> bindIRenameStrategy() {
+ return org.eclipse.xtext.ui.refactoring.impl.DefaultRenameStrategy.class;
+ }
+
+ // contributed by org.eclipse.xtext.ui.generator.refactoring.RefactorElementNameFragment
+ public Class<? extends org.eclipse.xtext.ui.refactoring.IReferenceUpdater> bindIReferenceUpdater() {
+ return org.eclipse.xtext.ui.refactoring.impl.DefaultReferenceUpdater.class;
+ }
+
+ // contributed by org.eclipse.xtext.ui.generator.refactoring.RefactorElementNameFragment
+ public void configureIPreferenceStoreInitializer(com.google.inject.Binder binder) {
+ binder.bind(org.eclipse.xtext.ui.editor.preferences.IPreferenceStoreInitializer.class).annotatedWith(com.google.inject.name.Names.named("RefactoringPreferences")).to(org.eclipse.xtext.ui.refactoring.ui.RefactoringPreferences.Initializer.class);
+ }
+
+ // contributed by org.eclipse.xtext.ui.generator.refactoring.RefactorElementNameFragment
+ public Class<? extends org.eclipse.xtext.ui.refactoring.IRenameRefactoringProvider> bindIRenameRefactoringProvider() {
+ return org.eclipse.xtext.ui.refactoring.impl.DefaultRenameRefactoringProvider.class;
+ }
+
+ // contributed by org.eclipse.xtext.ui.generator.refactoring.RefactorElementNameFragment
+ public Class<? extends org.eclipse.xtext.ui.refactoring.ui.IRenameSupport.Factory> bindIRenameSupport$Factory() {
+ return org.eclipse.xtext.ui.refactoring.ui.DefaultRenameSupport.Factory.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
+ public Class<? extends org.eclipse.xtext.ui.editor.contentassist.PrefixMatcher> bindPrefixMatcher() {
+ return org.eclipse.xtext.ui.editor.contentassist.FQNPrefixMatcher.class;
+ }
+
+ // contributed by org.eclipse.xtext.ui.generator.templates.CodetemplatesGeneratorFragment
+ public com.google.inject.Provider<org.eclipse.xtext.ui.codetemplates.ui.preferences.TemplatesLanguageConfiguration> provideTemplatesLanguageConfiguration() {
+ return org.eclipse.xtext.ui.codetemplates.ui.AccessibleCodetemplatesActivator.getTemplatesLanguageConfigurationProvider();
+ }
+
+ // contributed by org.eclipse.xtext.ui.generator.templates.CodetemplatesGeneratorFragment
+ public com.google.inject.Provider<org.eclipse.xtext.ui.codetemplates.ui.registry.LanguageRegistry> provideLanguageRegistry() {
+ return org.eclipse.xtext.ui.codetemplates.ui.AccessibleCodetemplatesActivator.getLanguageRegistry();
+ }
+
+ // contributed by org.eclipse.xtext.ui.generator.templates.CodetemplatesGeneratorFragment
+ @org.eclipse.xtext.service.SingletonBinding(eager=true) public Class<? extends org.eclipse.xtext.ui.codetemplates.ui.registry.LanguageRegistrar> bindLanguageRegistrar() {
+ return org.eclipse.xtext.ui.codetemplates.ui.registry.LanguageRegistrar.class;
+ }
+
+ // contributed by org.eclipse.xtext.ui.generator.templates.CodetemplatesGeneratorFragment
+ public Class<? extends org.eclipse.xtext.ui.editor.templates.XtextTemplatePreferencePage> bindXtextTemplatePreferencePage() {
+ return org.eclipse.xtext.ui.codetemplates.ui.preferences.AdvancedTemplatesPreferencePage.class;
+ }
+
+ // contributed by org.eclipse.xtext.ui.generator.templates.CodetemplatesGeneratorFragment
+ public Class<? extends org.eclipse.xtext.ui.codetemplates.ui.partialEditing.IPartialContentAssistParser> bindIPartialContentAssistParser() {
+ return org.eclipse.fx.ide.gmodel.ui.contentassist.antlr.PartialGModelDSLContentAssistParser.class;
+ }
+
+ // contributed by org.eclipse.xtext.ui.generator.compare.CompareFragment
+ public Class<? extends org.eclipse.compare.IViewerCreator> bindIViewerCreator() {
+ return org.eclipse.xtext.ui.compare.DefaultViewerCreator.class;
+ }
+
+
+}
diff --git a/bundles/tooling/org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/GModelDSLExecutableExtensionFactory.java b/bundles/tooling/org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/GModelDSLExecutableExtensionFactory.java
new file mode 100644
index 000000000..b9f6976e5
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/GModelDSLExecutableExtensionFactory.java
@@ -0,0 +1,29 @@
+/*
+ * generated by Xtext
+ */
+package org.eclipse.fx.ide.gmodel.ui;
+
+import org.eclipse.xtext.ui.guice.AbstractGuiceAwareExecutableExtensionFactory;
+import org.osgi.framework.Bundle;
+
+import com.google.inject.Injector;
+
+import org.eclipse.fx.ide.gmodel.ui.internal.GModelDSLActivator;
+
+/**
+ * This class was generated. Customizations should only happen in a newly
+ * introduced subclass.
+ */
+public class GModelDSLExecutableExtensionFactory extends AbstractGuiceAwareExecutableExtensionFactory {
+
+ @Override
+ protected Bundle getBundle() {
+ return GModelDSLActivator.getInstance().getBundle();
+ }
+
+ @Override
+ protected Injector getInjector() {
+ return GModelDSLActivator.getInstance().getInjector(GModelDSLActivator.ORG_ECLIPSE_FX_IDE_GMODEL_GMODELDSL);
+ }
+
+}
diff --git a/bundles/tooling/org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/AbstractGModelDSLProposalProvider.java b/bundles/tooling/org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/AbstractGModelDSLProposalProvider.java
new file mode 100644
index 000000000..4aa512c1d
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/AbstractGModelDSLProposalProvider.java
@@ -0,0 +1,77 @@
+/*
+ * generated by Xtext
+ */
+package org.eclipse.fx.ide.gmodel.ui.contentassist;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.xtext.*;
+import org.eclipse.xtext.ui.editor.contentassist.ICompletionProposalAcceptor;
+import org.eclipse.xtext.ui.editor.contentassist.ContentAssistContext;
+
+/**
+ * Represents a generated, default implementation of superclass {@link org.eclipse.xtext.common.ui.contentassist.TerminalsProposalProvider}.
+ * Methods are dynamically dispatched on the first parameter, i.e., you can override them
+ * with a more concrete subtype.
+ */
+@SuppressWarnings("all")
+public class AbstractGModelDSLProposalProvider extends org.eclipse.xtext.common.ui.contentassist.TerminalsProposalProvider {
+
+ public void completeGModel_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeGModel_TypeList(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeGDomainElement_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeGDomainElement_SuperTypeList(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeGDomainElement_PropertyList(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeGDomainProperty_BuiltIn(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ // subclasses may override
+ // subclasses may override
+ // subclasses may override
+ }
+ public void completeGDomainProperty_List(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void completeGDomainProperty_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeGDomainProperty_DefaultValue(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeGDomainProperty_Ref(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeGDefault_StringVal(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeGDefault_IntVal(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+
+ public void complete_GModel(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_GDomainElement(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_GDomainProperty(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_GDefault(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_ValidID(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_QualifiedName(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+}
diff --git a/bundles/tooling/org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/GModelDSLParser.java b/bundles/tooling/org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/GModelDSLParser.java
new file mode 100644
index 000000000..96a296672
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/GModelDSLParser.java
@@ -0,0 +1,97 @@
+/*
+ * generated by Xtext
+ */
+package org.eclipse.fx.ide.gmodel.ui.contentassist.antlr;
+
+import java.util.Collection;
+import java.util.Map;
+import java.util.HashMap;
+
+import org.antlr.runtime.RecognitionException;
+import org.eclipse.xtext.AbstractElement;
+import org.eclipse.xtext.ui.editor.contentassist.antlr.AbstractContentAssistParser;
+import org.eclipse.xtext.ui.editor.contentassist.antlr.FollowElement;
+import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser;
+
+import com.google.inject.Inject;
+
+import org.eclipse.fx.ide.gmodel.services.GModelDSLGrammarAccess;
+
+public class GModelDSLParser extends AbstractContentAssistParser {
+
+ @Inject
+ private GModelDSLGrammarAccess grammarAccess;
+
+ private Map<AbstractElement, String> nameMappings;
+
+ @Override
+ protected org.eclipse.fx.ide.gmodel.ui.contentassist.antlr.internal.InternalGModelDSLParser createParser() {
+ org.eclipse.fx.ide.gmodel.ui.contentassist.antlr.internal.InternalGModelDSLParser result = new org.eclipse.fx.ide.gmodel.ui.contentassist.antlr.internal.InternalGModelDSLParser(null);
+ result.setGrammarAccess(grammarAccess);
+ return result;
+ }
+
+ @Override
+ protected String getRuleName(AbstractElement element) {
+ if (nameMappings == null) {
+ nameMappings = new HashMap<AbstractElement, String>() {
+ private static final long serialVersionUID = 1L;
+ {
+ put(grammarAccess.getGDomainPropertyAccess().getAlternatives_0(), "rule__GDomainProperty__Alternatives_0");
+ put(grammarAccess.getGDomainPropertyAccess().getBuiltInAlternatives_0_0_0_0(), "rule__GDomainProperty__BuiltInAlternatives_0_0_0_0");
+ put(grammarAccess.getGDefaultAccess().getAlternatives(), "rule__GDefault__Alternatives");
+ put(grammarAccess.getGModelAccess().getGroup(), "rule__GModel__Group__0");
+ put(grammarAccess.getGDomainElementAccess().getGroup(), "rule__GDomainElement__Group__0");
+ put(grammarAccess.getGDomainElementAccess().getGroup_2(), "rule__GDomainElement__Group_2__0");
+ put(grammarAccess.getGDomainElementAccess().getGroup_2_2(), "rule__GDomainElement__Group_2_2__0");
+ put(grammarAccess.getGDomainPropertyAccess().getGroup(), "rule__GDomainProperty__Group__0");
+ put(grammarAccess.getGDomainPropertyAccess().getGroup_0_0(), "rule__GDomainProperty__Group_0_0__0");
+ put(grammarAccess.getGDomainPropertyAccess().getGroup_0_0_3(), "rule__GDomainProperty__Group_0_0_3__0");
+ put(grammarAccess.getGDomainPropertyAccess().getGroup_0_1(), "rule__GDomainProperty__Group_0_1__0");
+ put(grammarAccess.getQualifiedNameAccess().getGroup(), "rule__QualifiedName__Group__0");
+ put(grammarAccess.getQualifiedNameAccess().getGroup_1(), "rule__QualifiedName__Group_1__0");
+ put(grammarAccess.getGModelAccess().getNameAssignment_1(), "rule__GModel__NameAssignment_1");
+ put(grammarAccess.getGModelAccess().getTypeListAssignment_3(), "rule__GModel__TypeListAssignment_3");
+ put(grammarAccess.getGDomainElementAccess().getNameAssignment_1(), "rule__GDomainElement__NameAssignment_1");
+ put(grammarAccess.getGDomainElementAccess().getSuperTypeListAssignment_2_1(), "rule__GDomainElement__SuperTypeListAssignment_2_1");
+ put(grammarAccess.getGDomainElementAccess().getSuperTypeListAssignment_2_2_1(), "rule__GDomainElement__SuperTypeListAssignment_2_2_1");
+ put(grammarAccess.getGDomainElementAccess().getPropertyListAssignment_4(), "rule__GDomainElement__PropertyListAssignment_4");
+ put(grammarAccess.getGDomainPropertyAccess().getBuiltInAssignment_0_0_0(), "rule__GDomainProperty__BuiltInAssignment_0_0_0");
+ put(grammarAccess.getGDomainPropertyAccess().getListAssignment_0_0_1(), "rule__GDomainProperty__ListAssignment_0_0_1");
+ put(grammarAccess.getGDomainPropertyAccess().getNameAssignment_0_0_2(), "rule__GDomainProperty__NameAssignment_0_0_2");
+ put(grammarAccess.getGDomainPropertyAccess().getDefaultValueAssignment_0_0_3_1(), "rule__GDomainProperty__DefaultValueAssignment_0_0_3_1");
+ put(grammarAccess.getGDomainPropertyAccess().getRefAssignment_0_1_0(), "rule__GDomainProperty__RefAssignment_0_1_0");
+ put(grammarAccess.getGDomainPropertyAccess().getListAssignment_0_1_1(), "rule__GDomainProperty__ListAssignment_0_1_1");
+ put(grammarAccess.getGDomainPropertyAccess().getNameAssignment_0_1_2(), "rule__GDomainProperty__NameAssignment_0_1_2");
+ put(grammarAccess.getGDefaultAccess().getStringValAssignment_0(), "rule__GDefault__StringValAssignment_0");
+ put(grammarAccess.getGDefaultAccess().getIntValAssignment_1(), "rule__GDefault__IntValAssignment_1");
+ }
+ };
+ }
+ return nameMappings.get(element);
+ }
+
+ @Override
+ protected Collection<FollowElement> getFollowElements(AbstractInternalContentAssistParser parser) {
+ try {
+ org.eclipse.fx.ide.gmodel.ui.contentassist.antlr.internal.InternalGModelDSLParser typedParser = (org.eclipse.fx.ide.gmodel.ui.contentassist.antlr.internal.InternalGModelDSLParser) parser;
+ typedParser.entryRuleGModel();
+ return typedParser.getFollowElements();
+ } catch(RecognitionException ex) {
+ throw new RuntimeException(ex);
+ }
+ }
+
+ @Override
+ protected String[] getInitialHiddenTokens() {
+ return new String[] { "RULE_WS", "RULE_ML_COMMENT", "RULE_SL_COMMENT" };
+ }
+
+ public GModelDSLGrammarAccess getGrammarAccess() {
+ return this.grammarAccess;
+ }
+
+ public void setGrammarAccess(GModelDSLGrammarAccess grammarAccess) {
+ this.grammarAccess = grammarAccess;
+ }
+}
diff --git a/bundles/tooling/org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/PartialGModelDSLContentAssistParser.java b/bundles/tooling/org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/PartialGModelDSLContentAssistParser.java
new file mode 100644
index 000000000..e67b85762
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/PartialGModelDSLContentAssistParser.java
@@ -0,0 +1,38 @@
+/*
+ * generated by Xtext
+ */
+package org.eclipse.fx.ide.gmodel.ui.contentassist.antlr;
+
+import java.util.Collection;
+import java.util.Collections;
+
+import org.eclipse.xtext.AbstractRule;
+import org.eclipse.xtext.ui.codetemplates.ui.partialEditing.IPartialContentAssistParser;
+import org.eclipse.xtext.ui.editor.contentassist.antlr.FollowElement;
+import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser;
+import org.eclipse.xtext.util.PolymorphicDispatcher;
+
+/*
+ * Template CodetemplatesGeneratorFragment.xpt
+ */
+public class PartialGModelDSLContentAssistParser extends GModelDSLParser implements IPartialContentAssistParser {
+
+ private AbstractRule rule;
+
+ @Override
+ public void initializeFor(AbstractRule rule) {
+ this.rule = rule;
+ }
+
+ @Override
+ protected Collection<FollowElement> getFollowElements(AbstractInternalContentAssistParser parser) {
+ if (rule == null || rule.eIsProxy())
+ return Collections.emptyList();
+ String methodName = "entryRule" + rule.getName();
+ PolymorphicDispatcher<Collection<FollowElement>> dispatcher =
+ new PolymorphicDispatcher<Collection<FollowElement>>(methodName, 0, 0, Collections.singletonList(parser));
+ dispatcher.invoke();
+ return parser.getFollowElements();
+ }
+
+}
diff --git a/bundles/tooling/org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g b/bundles/tooling/org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g
new file mode 100644
index 000000000..8d1465d5e
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g
@@ -0,0 +1,1567 @@
+/*
+ * generated by Xtext
+ */
+grammar InternalGModelDSL;
+
+options {
+ superClass=AbstractInternalContentAssistParser;
+ backtrack=true;
+
+}
+
+@lexer::header {
+package org.eclipse.fx.ide.gmodel.ui.contentassist.antlr.internal;
+
+// Hack: Use our own Lexer superclass by means of import.
+// Currently there is no other way to specify the superclass for the lexer.
+import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.Lexer;
+}
+
+@parser::header {
+package org.eclipse.fx.ide.gmodel.ui.contentassist.antlr.internal;
+
+import java.io.InputStream;
+import org.eclipse.xtext.*;
+import org.eclipse.xtext.parser.*;
+import org.eclipse.xtext.parser.impl.*;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.xtext.parser.antlr.XtextTokenStream;
+import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
+import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser;
+import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.DFA;
+import org.eclipse.fx.ide.gmodel.services.GModelDSLGrammarAccess;
+
+}
+
+@parser::members {
+
+ private GModelDSLGrammarAccess grammarAccess;
+
+ public void setGrammarAccess(GModelDSLGrammarAccess grammarAccess) {
+ this.grammarAccess = grammarAccess;
+ }
+
+ @Override
+ protected Grammar getGrammar() {
+ return grammarAccess.getGrammar();
+ }
+
+ @Override
+ protected String getValueForTokenName(String tokenName) {
+ return tokenName;
+ }
+
+}
+
+
+
+
+// Entry rule entryRuleGModel
+entryRuleGModel
+:
+{ before(grammarAccess.getGModelRule()); }
+ ruleGModel
+{ after(grammarAccess.getGModelRule()); }
+ EOF
+;
+
+// Rule GModel
+ruleGModel
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getGModelAccess().getGroup()); }
+(rule__GModel__Group__0)
+{ after(grammarAccess.getGModelAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleGDomainElement
+entryRuleGDomainElement
+:
+{ before(grammarAccess.getGDomainElementRule()); }
+ ruleGDomainElement
+{ after(grammarAccess.getGDomainElementRule()); }
+ EOF
+;
+
+// Rule GDomainElement
+ruleGDomainElement
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getGDomainElementAccess().getGroup()); }
+(rule__GDomainElement__Group__0)
+{ after(grammarAccess.getGDomainElementAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleGDomainProperty
+entryRuleGDomainProperty
+:
+{ before(grammarAccess.getGDomainPropertyRule()); }
+ ruleGDomainProperty
+{ after(grammarAccess.getGDomainPropertyRule()); }
+ EOF
+;
+
+// Rule GDomainProperty
+ruleGDomainProperty
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getGDomainPropertyAccess().getGroup()); }
+(rule__GDomainProperty__Group__0)
+{ after(grammarAccess.getGDomainPropertyAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleGDefault
+entryRuleGDefault
+:
+{ before(grammarAccess.getGDefaultRule()); }
+ ruleGDefault
+{ after(grammarAccess.getGDefaultRule()); }
+ EOF
+;
+
+// Rule GDefault
+ruleGDefault
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getGDefaultAccess().getAlternatives()); }
+(rule__GDefault__Alternatives)
+{ after(grammarAccess.getGDefaultAccess().getAlternatives()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleValidID
+entryRuleValidID
+:
+{ before(grammarAccess.getValidIDRule()); }
+ ruleValidID
+{ after(grammarAccess.getValidIDRule()); }
+ EOF
+;
+
+// Rule ValidID
+ruleValidID
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getValidIDAccess().getIDTerminalRuleCall()); }
+ RULE_ID
+{ after(grammarAccess.getValidIDAccess().getIDTerminalRuleCall()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleQualifiedName
+entryRuleQualifiedName
+:
+{ before(grammarAccess.getQualifiedNameRule()); }
+ ruleQualifiedName
+{ after(grammarAccess.getQualifiedNameRule()); }
+ EOF
+;
+
+// Rule QualifiedName
+ruleQualifiedName
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getQualifiedNameAccess().getGroup()); }
+(rule__QualifiedName__Group__0)
+{ after(grammarAccess.getQualifiedNameAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+rule__GDomainProperty__Alternatives_0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getGDomainPropertyAccess().getGroup_0_0()); }
+(rule__GDomainProperty__Group_0_0__0)
+{ after(grammarAccess.getGDomainPropertyAccess().getGroup_0_0()); }
+)
+
+ |(
+{ before(grammarAccess.getGDomainPropertyAccess().getGroup_0_1()); }
+(rule__GDomainProperty__Group_0_1__0)
+{ after(grammarAccess.getGDomainPropertyAccess().getGroup_0_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__GDomainProperty__BuiltInAlternatives_0_0_0_0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getGDomainPropertyAccess().getBuiltInIntKeyword_0_0_0_0_0()); }
+
+ 'Int'
+
+{ after(grammarAccess.getGDomainPropertyAccess().getBuiltInIntKeyword_0_0_0_0_0()); }
+)
+
+ |(
+{ before(grammarAccess.getGDomainPropertyAccess().getBuiltInDoubleKeyword_0_0_0_0_1()); }
+
+ 'Double'
+
+{ after(grammarAccess.getGDomainPropertyAccess().getBuiltInDoubleKeyword_0_0_0_0_1()); }
+)
+
+ |(
+{ before(grammarAccess.getGDomainPropertyAccess().getBuiltInStringKeyword_0_0_0_0_2()); }
+
+ 'String'
+
+{ after(grammarAccess.getGDomainPropertyAccess().getBuiltInStringKeyword_0_0_0_0_2()); }
+)
+
+ |(
+{ before(grammarAccess.getGDomainPropertyAccess().getBuiltInBooleanKeyword_0_0_0_0_3()); }
+
+ 'Boolean'
+
+{ after(grammarAccess.getGDomainPropertyAccess().getBuiltInBooleanKeyword_0_0_0_0_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__GDefault__Alternatives
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getGDefaultAccess().getStringValAssignment_0()); }
+(rule__GDefault__StringValAssignment_0)
+{ after(grammarAccess.getGDefaultAccess().getStringValAssignment_0()); }
+)
+
+ |(
+{ before(grammarAccess.getGDefaultAccess().getIntValAssignment_1()); }
+(rule__GDefault__IntValAssignment_1)
+{ after(grammarAccess.getGDefaultAccess().getIntValAssignment_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+rule__GModel__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__GModel__Group__0__Impl
+ rule__GModel__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__GModel__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getGModelAccess().getPackageKeyword_0()); }
+
+ 'package'
+
+{ after(grammarAccess.getGModelAccess().getPackageKeyword_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__GModel__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__GModel__Group__1__Impl
+ rule__GModel__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__GModel__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getGModelAccess().getNameAssignment_1()); }
+(rule__GModel__NameAssignment_1)
+{ after(grammarAccess.getGModelAccess().getNameAssignment_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__GModel__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__GModel__Group__2__Impl
+ rule__GModel__Group__3
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__GModel__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getGModelAccess().getLeftCurlyBracketKeyword_2()); }
+
+ '{'
+
+{ after(grammarAccess.getGModelAccess().getLeftCurlyBracketKeyword_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__GModel__Group__3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__GModel__Group__3__Impl
+ rule__GModel__Group__4
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__GModel__Group__3__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+(
+{ before(grammarAccess.getGModelAccess().getTypeListAssignment_3()); }
+(rule__GModel__TypeListAssignment_3)
+{ after(grammarAccess.getGModelAccess().getTypeListAssignment_3()); }
+)
+(
+{ before(grammarAccess.getGModelAccess().getTypeListAssignment_3()); }
+(rule__GModel__TypeListAssignment_3)*
+{ after(grammarAccess.getGModelAccess().getTypeListAssignment_3()); }
+)
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__GModel__Group__4
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__GModel__Group__4__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__GModel__Group__4__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getGModelAccess().getRightCurlyBracketKeyword_4()); }
+
+ '}'
+
+{ after(grammarAccess.getGModelAccess().getRightCurlyBracketKeyword_4()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+rule__GDomainElement__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__GDomainElement__Group__0__Impl
+ rule__GDomainElement__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__GDomainElement__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getGDomainElementAccess().getTypeKeyword_0()); }
+
+ 'type'
+
+{ after(grammarAccess.getGDomainElementAccess().getTypeKeyword_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__GDomainElement__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__GDomainElement__Group__1__Impl
+ rule__GDomainElement__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__GDomainElement__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getGDomainElementAccess().getNameAssignment_1()); }
+(rule__GDomainElement__NameAssignment_1)
+{ after(grammarAccess.getGDomainElementAccess().getNameAssignment_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__GDomainElement__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__GDomainElement__Group__2__Impl
+ rule__GDomainElement__Group__3
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__GDomainElement__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getGDomainElementAccess().getGroup_2()); }
+(rule__GDomainElement__Group_2__0)?
+{ after(grammarAccess.getGDomainElementAccess().getGroup_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__GDomainElement__Group__3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__GDomainElement__Group__3__Impl
+ rule__GDomainElement__Group__4
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__GDomainElement__Group__3__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getGDomainElementAccess().getLeftCurlyBracketKeyword_3()); }
+
+ '{'
+
+{ after(grammarAccess.getGDomainElementAccess().getLeftCurlyBracketKeyword_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__GDomainElement__Group__4
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__GDomainElement__Group__4__Impl
+ rule__GDomainElement__Group__5
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__GDomainElement__Group__4__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getGDomainElementAccess().getPropertyListAssignment_4()); }
+(rule__GDomainElement__PropertyListAssignment_4)*
+{ after(grammarAccess.getGDomainElementAccess().getPropertyListAssignment_4()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__GDomainElement__Group__5
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__GDomainElement__Group__5__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__GDomainElement__Group__5__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getGDomainElementAccess().getRightCurlyBracketKeyword_5()); }
+
+ '}'
+
+{ after(grammarAccess.getGDomainElementAccess().getRightCurlyBracketKeyword_5()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+rule__GDomainElement__Group_2__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__GDomainElement__Group_2__0__Impl
+ rule__GDomainElement__Group_2__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__GDomainElement__Group_2__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getGDomainElementAccess().getExtendsKeyword_2_0()); }
+
+ 'extends'
+
+{ after(grammarAccess.getGDomainElementAccess().getExtendsKeyword_2_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__GDomainElement__Group_2__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__GDomainElement__Group_2__1__Impl
+ rule__GDomainElement__Group_2__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__GDomainElement__Group_2__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getGDomainElementAccess().getSuperTypeListAssignment_2_1()); }
+(rule__GDomainElement__SuperTypeListAssignment_2_1)
+{ after(grammarAccess.getGDomainElementAccess().getSuperTypeListAssignment_2_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__GDomainElement__Group_2__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__GDomainElement__Group_2__2__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__GDomainElement__Group_2__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getGDomainElementAccess().getGroup_2_2()); }
+(rule__GDomainElement__Group_2_2__0)*
+{ after(grammarAccess.getGDomainElementAccess().getGroup_2_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+rule__GDomainElement__Group_2_2__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__GDomainElement__Group_2_2__0__Impl
+ rule__GDomainElement__Group_2_2__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__GDomainElement__Group_2_2__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getGDomainElementAccess().getCommaSpaceKeyword_2_2_0()); }
+
+ ', '
+
+{ after(grammarAccess.getGDomainElementAccess().getCommaSpaceKeyword_2_2_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__GDomainElement__Group_2_2__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__GDomainElement__Group_2_2__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__GDomainElement__Group_2_2__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getGDomainElementAccess().getSuperTypeListAssignment_2_2_1()); }
+(rule__GDomainElement__SuperTypeListAssignment_2_2_1)
+{ after(grammarAccess.getGDomainElementAccess().getSuperTypeListAssignment_2_2_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__GDomainProperty__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__GDomainProperty__Group__0__Impl
+ rule__GDomainProperty__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__GDomainProperty__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getGDomainPropertyAccess().getAlternatives_0()); }
+(rule__GDomainProperty__Alternatives_0)
+{ after(grammarAccess.getGDomainPropertyAccess().getAlternatives_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__GDomainProperty__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__GDomainProperty__Group__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__GDomainProperty__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getGDomainPropertyAccess().getSemicolonKeyword_1()); }
+
+ ';'
+
+{ after(grammarAccess.getGDomainPropertyAccess().getSemicolonKeyword_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__GDomainProperty__Group_0_0__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__GDomainProperty__Group_0_0__0__Impl
+ rule__GDomainProperty__Group_0_0__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__GDomainProperty__Group_0_0__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getGDomainPropertyAccess().getBuiltInAssignment_0_0_0()); }
+(rule__GDomainProperty__BuiltInAssignment_0_0_0)
+{ after(grammarAccess.getGDomainPropertyAccess().getBuiltInAssignment_0_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__GDomainProperty__Group_0_0__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__GDomainProperty__Group_0_0__1__Impl
+ rule__GDomainProperty__Group_0_0__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__GDomainProperty__Group_0_0__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getGDomainPropertyAccess().getListAssignment_0_0_1()); }
+(rule__GDomainProperty__ListAssignment_0_0_1)?
+{ after(grammarAccess.getGDomainPropertyAccess().getListAssignment_0_0_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__GDomainProperty__Group_0_0__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__GDomainProperty__Group_0_0__2__Impl
+ rule__GDomainProperty__Group_0_0__3
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__GDomainProperty__Group_0_0__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getGDomainPropertyAccess().getNameAssignment_0_0_2()); }
+(rule__GDomainProperty__NameAssignment_0_0_2)
+{ after(grammarAccess.getGDomainPropertyAccess().getNameAssignment_0_0_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__GDomainProperty__Group_0_0__3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__GDomainProperty__Group_0_0__3__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__GDomainProperty__Group_0_0__3__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getGDomainPropertyAccess().getGroup_0_0_3()); }
+(rule__GDomainProperty__Group_0_0_3__0)?
+{ after(grammarAccess.getGDomainPropertyAccess().getGroup_0_0_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+rule__GDomainProperty__Group_0_0_3__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__GDomainProperty__Group_0_0_3__0__Impl
+ rule__GDomainProperty__Group_0_0_3__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__GDomainProperty__Group_0_0_3__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getGDomainPropertyAccess().getEqualsSignKeyword_0_0_3_0()); }
+
+ '='
+
+{ after(grammarAccess.getGDomainPropertyAccess().getEqualsSignKeyword_0_0_3_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__GDomainProperty__Group_0_0_3__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__GDomainProperty__Group_0_0_3__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__GDomainProperty__Group_0_0_3__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getGDomainPropertyAccess().getDefaultValueAssignment_0_0_3_1()); }
+(rule__GDomainProperty__DefaultValueAssignment_0_0_3_1)
+{ after(grammarAccess.getGDomainPropertyAccess().getDefaultValueAssignment_0_0_3_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__GDomainProperty__Group_0_1__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__GDomainProperty__Group_0_1__0__Impl
+ rule__GDomainProperty__Group_0_1__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__GDomainProperty__Group_0_1__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getGDomainPropertyAccess().getRefAssignment_0_1_0()); }
+(rule__GDomainProperty__RefAssignment_0_1_0)
+{ after(grammarAccess.getGDomainPropertyAccess().getRefAssignment_0_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__GDomainProperty__Group_0_1__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__GDomainProperty__Group_0_1__1__Impl
+ rule__GDomainProperty__Group_0_1__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__GDomainProperty__Group_0_1__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getGDomainPropertyAccess().getListAssignment_0_1_1()); }
+(rule__GDomainProperty__ListAssignment_0_1_1)?
+{ after(grammarAccess.getGDomainPropertyAccess().getListAssignment_0_1_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__GDomainProperty__Group_0_1__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__GDomainProperty__Group_0_1__2__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__GDomainProperty__Group_0_1__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getGDomainPropertyAccess().getNameAssignment_0_1_2()); }
+(rule__GDomainProperty__NameAssignment_0_1_2)
+{ after(grammarAccess.getGDomainPropertyAccess().getNameAssignment_0_1_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+rule__QualifiedName__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__QualifiedName__Group__0__Impl
+ rule__QualifiedName__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__QualifiedName__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getQualifiedNameAccess().getValidIDParserRuleCall_0()); }
+ ruleValidID
+{ after(grammarAccess.getQualifiedNameAccess().getValidIDParserRuleCall_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__QualifiedName__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__QualifiedName__Group__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__QualifiedName__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getQualifiedNameAccess().getGroup_1()); }
+(rule__QualifiedName__Group_1__0)*
+{ after(grammarAccess.getQualifiedNameAccess().getGroup_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__QualifiedName__Group_1__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__QualifiedName__Group_1__0__Impl
+ rule__QualifiedName__Group_1__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__QualifiedName__Group_1__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getQualifiedNameAccess().getFullStopKeyword_1_0()); }
+(
+ '.'
+)
+{ after(grammarAccess.getQualifiedNameAccess().getFullStopKeyword_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__QualifiedName__Group_1__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__QualifiedName__Group_1__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__QualifiedName__Group_1__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getQualifiedNameAccess().getValidIDParserRuleCall_1_1()); }
+ ruleValidID
+{ after(grammarAccess.getQualifiedNameAccess().getValidIDParserRuleCall_1_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+rule__GModel__NameAssignment_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getGModelAccess().getNameQualifiedNameParserRuleCall_1_0()); }
+ ruleQualifiedName{ after(grammarAccess.getGModelAccess().getNameQualifiedNameParserRuleCall_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__GModel__TypeListAssignment_3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getGModelAccess().getTypeListGDomainElementParserRuleCall_3_0()); }
+ ruleGDomainElement{ after(grammarAccess.getGModelAccess().getTypeListGDomainElementParserRuleCall_3_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__GDomainElement__NameAssignment_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getGDomainElementAccess().getNameIDTerminalRuleCall_1_0()); }
+ RULE_ID{ after(grammarAccess.getGDomainElementAccess().getNameIDTerminalRuleCall_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__GDomainElement__SuperTypeListAssignment_2_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getGDomainElementAccess().getSuperTypeListGDomainElementCrossReference_2_1_0()); }
+(
+{ before(grammarAccess.getGDomainElementAccess().getSuperTypeListGDomainElementIDTerminalRuleCall_2_1_0_1()); }
+ RULE_ID{ after(grammarAccess.getGDomainElementAccess().getSuperTypeListGDomainElementIDTerminalRuleCall_2_1_0_1()); }
+)
+{ after(grammarAccess.getGDomainElementAccess().getSuperTypeListGDomainElementCrossReference_2_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__GDomainElement__SuperTypeListAssignment_2_2_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getGDomainElementAccess().getSuperTypeListGDomainElementCrossReference_2_2_1_0()); }
+(
+{ before(grammarAccess.getGDomainElementAccess().getSuperTypeListGDomainElementIDTerminalRuleCall_2_2_1_0_1()); }
+ RULE_ID{ after(grammarAccess.getGDomainElementAccess().getSuperTypeListGDomainElementIDTerminalRuleCall_2_2_1_0_1()); }
+)
+{ after(grammarAccess.getGDomainElementAccess().getSuperTypeListGDomainElementCrossReference_2_2_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__GDomainElement__PropertyListAssignment_4
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getGDomainElementAccess().getPropertyListGDomainPropertyParserRuleCall_4_0()); }
+ ruleGDomainProperty{ after(grammarAccess.getGDomainElementAccess().getPropertyListGDomainPropertyParserRuleCall_4_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__GDomainProperty__BuiltInAssignment_0_0_0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getGDomainPropertyAccess().getBuiltInAlternatives_0_0_0_0()); }
+(rule__GDomainProperty__BuiltInAlternatives_0_0_0_0)
+{ after(grammarAccess.getGDomainPropertyAccess().getBuiltInAlternatives_0_0_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__GDomainProperty__ListAssignment_0_0_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getGDomainPropertyAccess().getListLeftSquareBracketRightSquareBracketKeyword_0_0_1_0()); }
+(
+{ before(grammarAccess.getGDomainPropertyAccess().getListLeftSquareBracketRightSquareBracketKeyword_0_0_1_0()); }
+
+ '[]'
+
+{ after(grammarAccess.getGDomainPropertyAccess().getListLeftSquareBracketRightSquareBracketKeyword_0_0_1_0()); }
+)
+
+{ after(grammarAccess.getGDomainPropertyAccess().getListLeftSquareBracketRightSquareBracketKeyword_0_0_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__GDomainProperty__NameAssignment_0_0_2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getGDomainPropertyAccess().getNameIDTerminalRuleCall_0_0_2_0()); }
+ RULE_ID{ after(grammarAccess.getGDomainPropertyAccess().getNameIDTerminalRuleCall_0_0_2_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__GDomainProperty__DefaultValueAssignment_0_0_3_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getGDomainPropertyAccess().getDefaultValueGDefaultParserRuleCall_0_0_3_1_0()); }
+ ruleGDefault{ after(grammarAccess.getGDomainPropertyAccess().getDefaultValueGDefaultParserRuleCall_0_0_3_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__GDomainProperty__RefAssignment_0_1_0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getGDomainPropertyAccess().getRefGDomainElementCrossReference_0_1_0_0()); }
+(
+{ before(grammarAccess.getGDomainPropertyAccess().getRefGDomainElementIDTerminalRuleCall_0_1_0_0_1()); }
+ RULE_ID{ after(grammarAccess.getGDomainPropertyAccess().getRefGDomainElementIDTerminalRuleCall_0_1_0_0_1()); }
+)
+{ after(grammarAccess.getGDomainPropertyAccess().getRefGDomainElementCrossReference_0_1_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__GDomainProperty__ListAssignment_0_1_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getGDomainPropertyAccess().getListLeftSquareBracketRightSquareBracketKeyword_0_1_1_0()); }
+(
+{ before(grammarAccess.getGDomainPropertyAccess().getListLeftSquareBracketRightSquareBracketKeyword_0_1_1_0()); }
+
+ '[]'
+
+{ after(grammarAccess.getGDomainPropertyAccess().getListLeftSquareBracketRightSquareBracketKeyword_0_1_1_0()); }
+)
+
+{ after(grammarAccess.getGDomainPropertyAccess().getListLeftSquareBracketRightSquareBracketKeyword_0_1_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__GDomainProperty__NameAssignment_0_1_2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getGDomainPropertyAccess().getNameIDTerminalRuleCall_0_1_2_0()); }
+ RULE_ID{ after(grammarAccess.getGDomainPropertyAccess().getNameIDTerminalRuleCall_0_1_2_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__GDefault__StringValAssignment_0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getGDefaultAccess().getStringValSTRINGTerminalRuleCall_0_0()); }
+ RULE_STRING{ after(grammarAccess.getGDefaultAccess().getStringValSTRINGTerminalRuleCall_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__GDefault__IntValAssignment_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getGDefaultAccess().getIntValINTTerminalRuleCall_1_0()); }
+ RULE_INT{ after(grammarAccess.getGDefaultAccess().getIntValINTTerminalRuleCall_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+RULE_ID : '^'? ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*;
+
+RULE_INT : ('0'..'9')+;
+
+RULE_STRING : ('"' ('\\' .|~(('\\'|'"')))* '"'|'\'' ('\\' .|~(('\\'|'\'')))* '\'');
+
+RULE_ML_COMMENT : '/*' ( options {greedy=false;} : . )*'*/';
+
+RULE_SL_COMMENT : '//' ~(('\n'|'\r'))* ('\r'? '\n')?;
+
+RULE_WS : (' '|'\t'|'\r'|'\n')+;
+
+RULE_ANY_OTHER : .;
+
+
diff --git a/bundles/tooling/org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.tokens b/bundles/tooling/org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.tokens
new file mode 100644
index 000000000..411effaa5
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.tokens
@@ -0,0 +1,35 @@
+', '=20
+'.'=23
+';'=21
+'='=22
+'Boolean'=14
+'Double'=12
+'Int'=11
+'String'=13
+'[]'=24
+'extends'=19
+'package'=15
+'type'=18
+'{'=16
+'}'=17
+RULE_ANY_OTHER=10
+RULE_ID=4
+RULE_INT=6
+RULE_ML_COMMENT=7
+RULE_SL_COMMENT=8
+RULE_STRING=5
+RULE_WS=9
+T__11=11
+T__12=12
+T__13=13
+T__14=14
+T__15=15
+T__16=16
+T__17=17
+T__18=18
+T__19=19
+T__20=20
+T__21=21
+T__22=22
+T__23=23
+T__24=24
diff --git a/bundles/tooling/org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSLLexer.java b/bundles/tooling/org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSLLexer.java
new file mode 100644
index 000000000..fc0c90faa
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSLLexer.java
@@ -0,0 +1,1203 @@
+package org.eclipse.fx.ide.gmodel.ui.contentassist.antlr.internal;
+
+// Hack: Use our own Lexer superclass by means of import.
+// Currently there is no other way to specify the superclass for the lexer.
+import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.Lexer;
+
+
+import org.antlr.runtime.*;
+import java.util.Stack;
+import java.util.List;
+import java.util.ArrayList;
+
+@SuppressWarnings("all")
+public class InternalGModelDSLLexer extends Lexer {
+ public static final int RULE_STRING=5;
+ public static final int RULE_SL_COMMENT=8;
+ public static final int T__19=19;
+ public static final int T__15=15;
+ public static final int T__16=16;
+ public static final int T__17=17;
+ public static final int T__18=18;
+ public static final int T__11=11;
+ public static final int T__12=12;
+ public static final int T__13=13;
+ public static final int T__14=14;
+ public static final int EOF=-1;
+ public static final int RULE_ID=4;
+ public static final int RULE_WS=9;
+ public static final int RULE_ANY_OTHER=10;
+ public static final int RULE_INT=6;
+ public static final int T__22=22;
+ public static final int RULE_ML_COMMENT=7;
+ public static final int T__23=23;
+ public static final int T__24=24;
+ public static final int T__20=20;
+ public static final int T__21=21;
+
+ // delegates
+ // delegators
+
+ public InternalGModelDSLLexer() {;}
+ public InternalGModelDSLLexer(CharStream input) {
+ this(input, new RecognizerSharedState());
+ }
+ public InternalGModelDSLLexer(CharStream input, RecognizerSharedState state) {
+ super(input,state);
+
+ }
+ public String getGrammarFileName() { return "../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g"; }
+
+ // $ANTLR start "T__11"
+ public final void mT__11() throws RecognitionException {
+ try {
+ int _type = T__11;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:11:7: ( 'Int' )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:11:9: 'Int'
+ {
+ match("Int");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__11"
+
+ // $ANTLR start "T__12"
+ public final void mT__12() throws RecognitionException {
+ try {
+ int _type = T__12;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:12:7: ( 'Double' )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:12:9: 'Double'
+ {
+ match("Double");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__12"
+
+ // $ANTLR start "T__13"
+ public final void mT__13() throws RecognitionException {
+ try {
+ int _type = T__13;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:13:7: ( 'String' )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:13:9: 'String'
+ {
+ match("String");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__13"
+
+ // $ANTLR start "T__14"
+ public final void mT__14() throws RecognitionException {
+ try {
+ int _type = T__14;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:14:7: ( 'Boolean' )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:14:9: 'Boolean'
+ {
+ match("Boolean");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__14"
+
+ // $ANTLR start "T__15"
+ public final void mT__15() throws RecognitionException {
+ try {
+ int _type = T__15;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:15:7: ( 'package' )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:15:9: 'package'
+ {
+ match("package");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__15"
+
+ // $ANTLR start "T__16"
+ public final void mT__16() throws RecognitionException {
+ try {
+ int _type = T__16;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:16:7: ( '{' )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:16:9: '{'
+ {
+ match('{');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__16"
+
+ // $ANTLR start "T__17"
+ public final void mT__17() throws RecognitionException {
+ try {
+ int _type = T__17;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:17:7: ( '}' )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:17:9: '}'
+ {
+ match('}');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__17"
+
+ // $ANTLR start "T__18"
+ public final void mT__18() throws RecognitionException {
+ try {
+ int _type = T__18;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:18:7: ( 'type' )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:18:9: 'type'
+ {
+ match("type");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__18"
+
+ // $ANTLR start "T__19"
+ public final void mT__19() throws RecognitionException {
+ try {
+ int _type = T__19;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:19:7: ( 'extends' )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:19:9: 'extends'
+ {
+ match("extends");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__19"
+
+ // $ANTLR start "T__20"
+ public final void mT__20() throws RecognitionException {
+ try {
+ int _type = T__20;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:20:7: ( ', ' )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:20:9: ', '
+ {
+ match(", ");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__20"
+
+ // $ANTLR start "T__21"
+ public final void mT__21() throws RecognitionException {
+ try {
+ int _type = T__21;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:21:7: ( ';' )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:21:9: ';'
+ {
+ match(';');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__21"
+
+ // $ANTLR start "T__22"
+ public final void mT__22() throws RecognitionException {
+ try {
+ int _type = T__22;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:22:7: ( '=' )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:22:9: '='
+ {
+ match('=');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__22"
+
+ // $ANTLR start "T__23"
+ public final void mT__23() throws RecognitionException {
+ try {
+ int _type = T__23;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:23:7: ( '.' )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:23:9: '.'
+ {
+ match('.');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__23"
+
+ // $ANTLR start "T__24"
+ public final void mT__24() throws RecognitionException {
+ try {
+ int _type = T__24;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:24:7: ( '[]' )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:24:9: '[]'
+ {
+ match("[]");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__24"
+
+ // $ANTLR start "RULE_ID"
+ public final void mRULE_ID() throws RecognitionException {
+ try {
+ int _type = RULE_ID;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1553:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1553:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
+ {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1553:11: ( '^' )?
+ int alt1=2;
+ int LA1_0 = input.LA(1);
+
+ if ( (LA1_0=='^') ) {
+ alt1=1;
+ }
+ switch (alt1) {
+ case 1 :
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1553:11: '^'
+ {
+ match('^');
+
+ }
+ break;
+
+ }
+
+ if ( (input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1553:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
+ loop2:
+ do {
+ int alt2=2;
+ int LA2_0 = input.LA(1);
+
+ if ( ((LA2_0>='0' && LA2_0<='9')||(LA2_0>='A' && LA2_0<='Z')||LA2_0=='_'||(LA2_0>='a' && LA2_0<='z')) ) {
+ alt2=1;
+ }
+
+
+ switch (alt2) {
+ case 1 :
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:
+ {
+ if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+
+ }
+ break;
+
+ default :
+ break loop2;
+ }
+ } while (true);
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_ID"
+
+ // $ANTLR start "RULE_INT"
+ public final void mRULE_INT() throws RecognitionException {
+ try {
+ int _type = RULE_INT;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1555:10: ( ( '0' .. '9' )+ )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1555:12: ( '0' .. '9' )+
+ {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1555:12: ( '0' .. '9' )+
+ int cnt3=0;
+ loop3:
+ do {
+ int alt3=2;
+ int LA3_0 = input.LA(1);
+
+ if ( ((LA3_0>='0' && LA3_0<='9')) ) {
+ alt3=1;
+ }
+
+
+ switch (alt3) {
+ case 1 :
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1555:13: '0' .. '9'
+ {
+ matchRange('0','9');
+
+ }
+ break;
+
+ default :
+ if ( cnt3 >= 1 ) break loop3;
+ EarlyExitException eee =
+ new EarlyExitException(3, input);
+ throw eee;
+ }
+ cnt3++;
+ } while (true);
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_INT"
+
+ // $ANTLR start "RULE_STRING"
+ public final void mRULE_STRING() throws RecognitionException {
+ try {
+ int _type = RULE_STRING;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1557:13: ( ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1557:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
+ {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1557:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
+ int alt6=2;
+ int LA6_0 = input.LA(1);
+
+ if ( (LA6_0=='\"') ) {
+ alt6=1;
+ }
+ else if ( (LA6_0=='\'') ) {
+ alt6=2;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 6, 0, input);
+
+ throw nvae;
+ }
+ switch (alt6) {
+ case 1 :
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1557:16: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
+ {
+ match('\"');
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1557:20: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )*
+ loop4:
+ do {
+ int alt4=3;
+ int LA4_0 = input.LA(1);
+
+ if ( (LA4_0=='\\') ) {
+ alt4=1;
+ }
+ else if ( ((LA4_0>='\u0000' && LA4_0<='!')||(LA4_0>='#' && LA4_0<='[')||(LA4_0>=']' && LA4_0<='\uFFFF')) ) {
+ alt4=2;
+ }
+
+
+ switch (alt4) {
+ case 1 :
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1557:21: '\\\\' .
+ {
+ match('\\');
+ matchAny();
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1557:28: ~ ( ( '\\\\' | '\"' ) )
+ {
+ if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+
+ }
+ break;
+
+ default :
+ break loop4;
+ }
+ } while (true);
+
+ match('\"');
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1557:48: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
+ {
+ match('\'');
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1557:53: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )*
+ loop5:
+ do {
+ int alt5=3;
+ int LA5_0 = input.LA(1);
+
+ if ( (LA5_0=='\\') ) {
+ alt5=1;
+ }
+ else if ( ((LA5_0>='\u0000' && LA5_0<='&')||(LA5_0>='(' && LA5_0<='[')||(LA5_0>=']' && LA5_0<='\uFFFF')) ) {
+ alt5=2;
+ }
+
+
+ switch (alt5) {
+ case 1 :
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1557:54: '\\\\' .
+ {
+ match('\\');
+ matchAny();
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1557:61: ~ ( ( '\\\\' | '\\'' ) )
+ {
+ if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+
+ }
+ break;
+
+ default :
+ break loop5;
+ }
+ } while (true);
+
+ match('\'');
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_STRING"
+
+ // $ANTLR start "RULE_ML_COMMENT"
+ public final void mRULE_ML_COMMENT() throws RecognitionException {
+ try {
+ int _type = RULE_ML_COMMENT;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1559:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1559:19: '/*' ( options {greedy=false; } : . )* '*/'
+ {
+ match("/*");
+
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1559:24: ( options {greedy=false; } : . )*
+ loop7:
+ do {
+ int alt7=2;
+ int LA7_0 = input.LA(1);
+
+ if ( (LA7_0=='*') ) {
+ int LA7_1 = input.LA(2);
+
+ if ( (LA7_1=='/') ) {
+ alt7=2;
+ }
+ else if ( ((LA7_1>='\u0000' && LA7_1<='.')||(LA7_1>='0' && LA7_1<='\uFFFF')) ) {
+ alt7=1;
+ }
+
+
+ }
+ else if ( ((LA7_0>='\u0000' && LA7_0<=')')||(LA7_0>='+' && LA7_0<='\uFFFF')) ) {
+ alt7=1;
+ }
+
+
+ switch (alt7) {
+ case 1 :
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1559:52: .
+ {
+ matchAny();
+
+ }
+ break;
+
+ default :
+ break loop7;
+ }
+ } while (true);
+
+ match("*/");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_ML_COMMENT"
+
+ // $ANTLR start "RULE_SL_COMMENT"
+ public final void mRULE_SL_COMMENT() throws RecognitionException {
+ try {
+ int _type = RULE_SL_COMMENT;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1561:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1561:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
+ {
+ match("//");
+
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1561:24: (~ ( ( '\\n' | '\\r' ) ) )*
+ loop8:
+ do {
+ int alt8=2;
+ int LA8_0 = input.LA(1);
+
+ if ( ((LA8_0>='\u0000' && LA8_0<='\t')||(LA8_0>='\u000B' && LA8_0<='\f')||(LA8_0>='\u000E' && LA8_0<='\uFFFF')) ) {
+ alt8=1;
+ }
+
+
+ switch (alt8) {
+ case 1 :
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1561: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)<='\uFFFF') ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+
+ }
+ break;
+
+ default :
+ break loop8;
+ }
+ } while (true);
+
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1561:40: ( ( '\\r' )? '\\n' )?
+ int alt10=2;
+ int LA10_0 = input.LA(1);
+
+ if ( (LA10_0=='\n'||LA10_0=='\r') ) {
+ alt10=1;
+ }
+ switch (alt10) {
+ case 1 :
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1561:41: ( '\\r' )? '\\n'
+ {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1561:41: ( '\\r' )?
+ int alt9=2;
+ int LA9_0 = input.LA(1);
+
+ if ( (LA9_0=='\r') ) {
+ alt9=1;
+ }
+ switch (alt9) {
+ case 1 :
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1561:41: '\\r'
+ {
+ match('\r');
+
+ }
+ break;
+
+ }
+
+ match('\n');
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_SL_COMMENT"
+
+ // $ANTLR start "RULE_WS"
+ public final void mRULE_WS() throws RecognitionException {
+ try {
+ int _type = RULE_WS;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1563:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1563:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
+ {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1563:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
+ int cnt11=0;
+ loop11:
+ do {
+ int alt11=2;
+ int LA11_0 = input.LA(1);
+
+ if ( ((LA11_0>='\t' && LA11_0<='\n')||LA11_0=='\r'||LA11_0==' ') ) {
+ alt11=1;
+ }
+
+
+ switch (alt11) {
+ case 1 :
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:
+ {
+ if ( (input.LA(1)>='\t' && input.LA(1)<='\n')||input.LA(1)=='\r'||input.LA(1)==' ' ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+
+ }
+ break;
+
+ default :
+ if ( cnt11 >= 1 ) break loop11;
+ EarlyExitException eee =
+ new EarlyExitException(11, input);
+ throw eee;
+ }
+ cnt11++;
+ } while (true);
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_WS"
+
+ // $ANTLR start "RULE_ANY_OTHER"
+ public final void mRULE_ANY_OTHER() throws RecognitionException {
+ try {
+ int _type = RULE_ANY_OTHER;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1565:16: ( . )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1565:18: .
+ {
+ matchAny();
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_ANY_OTHER"
+
+ public void mTokens() throws RecognitionException {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1:8: ( T__11 | T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER )
+ int alt12=21;
+ alt12 = dfa12.predict(input);
+ switch (alt12) {
+ case 1 :
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1:10: T__11
+ {
+ mT__11();
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1:16: T__12
+ {
+ mT__12();
+
+ }
+ break;
+ case 3 :
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1:22: T__13
+ {
+ mT__13();
+
+ }
+ break;
+ case 4 :
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1:28: T__14
+ {
+ mT__14();
+
+ }
+ break;
+ case 5 :
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1:34: T__15
+ {
+ mT__15();
+
+ }
+ break;
+ case 6 :
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1:40: T__16
+ {
+ mT__16();
+
+ }
+ break;
+ case 7 :
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1:46: T__17
+ {
+ mT__17();
+
+ }
+ break;
+ case 8 :
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1:52: T__18
+ {
+ mT__18();
+
+ }
+ break;
+ case 9 :
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1:58: T__19
+ {
+ mT__19();
+
+ }
+ break;
+ case 10 :
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1:64: T__20
+ {
+ mT__20();
+
+ }
+ break;
+ case 11 :
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1:70: T__21
+ {
+ mT__21();
+
+ }
+ break;
+ case 12 :
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1:76: T__22
+ {
+ mT__22();
+
+ }
+ break;
+ case 13 :
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1:82: T__23
+ {
+ mT__23();
+
+ }
+ break;
+ case 14 :
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1:88: T__24
+ {
+ mT__24();
+
+ }
+ break;
+ case 15 :
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1:94: RULE_ID
+ {
+ mRULE_ID();
+
+ }
+ break;
+ case 16 :
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1:102: RULE_INT
+ {
+ mRULE_INT();
+
+ }
+ break;
+ case 17 :
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1:111: RULE_STRING
+ {
+ mRULE_STRING();
+
+ }
+ break;
+ case 18 :
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1:123: RULE_ML_COMMENT
+ {
+ mRULE_ML_COMMENT();
+
+ }
+ break;
+ case 19 :
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1:139: RULE_SL_COMMENT
+ {
+ mRULE_SL_COMMENT();
+
+ }
+ break;
+ case 20 :
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1:155: RULE_WS
+ {
+ mRULE_WS();
+
+ }
+ break;
+ case 21 :
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1:163: RULE_ANY_OTHER
+ {
+ mRULE_ANY_OTHER();
+
+ }
+ break;
+
+ }
+
+ }
+
+
+ protected DFA12 dfa12 = new DFA12(this);
+ static final String DFA12_eotS =
+ "\1\uffff\5\30\2\uffff\2\30\1\26\3\uffff\2\26\2\uffff\3\26\2\uffff\1\30\1\uffff\4\30\2\uffff\2\30\12\uffff\1\62\6\30\1\uffff\4\30\1\75\5\30\1\uffff\1\30\1\104\1\105\3\30\2\uffff\1\111\1\112\1\113\3\uffff";
+ static final String DFA12_eofS =
+ "\114\uffff";
+ static final String DFA12_minS =
+ "\1\0\1\156\1\157\1\164\1\157\1\141\2\uffff\1\171\1\170\1\40\3\uffff\1\135\1\101\2\uffff\2\0\1\52\2\uffff\1\164\1\uffff\1\165\1\162\1\157\1\143\2\uffff\1\160\1\164\12\uffff\1\60\1\142\1\151\1\154\1\153\2\145\1\uffff\1\154\1\156\1\145\1\141\1\60\1\156\1\145\1\147\1\141\1\147\1\uffff\1\144\2\60\1\156\1\145\1\163\2\uffff\3\60\3\uffff";
+ static final String DFA12_maxS =
+ "\1\uffff\1\156\1\157\1\164\1\157\1\141\2\uffff\1\171\1\170\1\40\3\uffff\1\135\1\172\2\uffff\2\uffff\1\57\2\uffff\1\164\1\uffff\1\165\1\162\1\157\1\143\2\uffff\1\160\1\164\12\uffff\1\172\1\142\1\151\1\154\1\153\2\145\1\uffff\1\154\1\156\1\145\1\141\1\172\1\156\1\145\1\147\1\141\1\147\1\uffff\1\144\2\172\1\156\1\145\1\163\2\uffff\3\172\3\uffff";
+ static final String DFA12_acceptS =
+ "\6\uffff\1\6\1\7\3\uffff\1\13\1\14\1\15\2\uffff\1\17\1\20\3\uffff\1\24\1\25\1\uffff\1\17\4\uffff\1\6\1\7\2\uffff\1\12\1\13\1\14\1\15\1\16\1\20\1\21\1\22\1\23\1\24\7\uffff\1\1\12\uffff\1\10\6\uffff\1\2\1\3\3\uffff\1\4\1\5\1\11";
+ static final String DFA12_specialS =
+ "\1\2\21\uffff\1\0\1\1\70\uffff}>";
+ static final String[] DFA12_transitionS = {
+ "\11\26\2\25\2\26\1\25\22\26\1\25\1\26\1\22\4\26\1\23\4\26\1\12\1\26\1\15\1\24\12\21\1\26\1\13\1\26\1\14\3\26\1\20\1\4\1\20\1\2\4\20\1\1\11\20\1\3\7\20\1\16\2\26\1\17\1\20\1\26\4\20\1\11\12\20\1\5\3\20\1\10\6\20\1\6\1\26\1\7\uff82\26",
+ "\1\27",
+ "\1\31",
+ "\1\32",
+ "\1\33",
+ "\1\34",
+ "",
+ "",
+ "\1\37",
+ "\1\40",
+ "\1\41",
+ "",
+ "",
+ "",
+ "\1\45",
+ "\32\30\4\uffff\1\30\1\uffff\32\30",
+ "",
+ "",
+ "\0\47",
+ "\0\47",
+ "\1\50\4\uffff\1\51",
+ "",
+ "",
+ "\1\53",
+ "",
+ "\1\54",
+ "\1\55",
+ "\1\56",
+ "\1\57",
+ "",
+ "",
+ "\1\60",
+ "\1\61",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "\12\30\7\uffff\32\30\4\uffff\1\30\1\uffff\32\30",
+ "\1\63",
+ "\1\64",
+ "\1\65",
+ "\1\66",
+ "\1\67",
+ "\1\70",
+ "",
+ "\1\71",
+ "\1\72",
+ "\1\73",
+ "\1\74",
+ "\12\30\7\uffff\32\30\4\uffff\1\30\1\uffff\32\30",
+ "\1\76",
+ "\1\77",
+ "\1\100",
+ "\1\101",
+ "\1\102",
+ "",
+ "\1\103",
+ "\12\30\7\uffff\32\30\4\uffff\1\30\1\uffff\32\30",
+ "\12\30\7\uffff\32\30\4\uffff\1\30\1\uffff\32\30",
+ "\1\106",
+ "\1\107",
+ "\1\110",
+ "",
+ "",
+ "\12\30\7\uffff\32\30\4\uffff\1\30\1\uffff\32\30",
+ "\12\30\7\uffff\32\30\4\uffff\1\30\1\uffff\32\30",
+ "\12\30\7\uffff\32\30\4\uffff\1\30\1\uffff\32\30",
+ "",
+ "",
+ ""
+ };
+
+ static final short[] DFA12_eot = DFA.unpackEncodedString(DFA12_eotS);
+ static final short[] DFA12_eof = DFA.unpackEncodedString(DFA12_eofS);
+ static final char[] DFA12_min = DFA.unpackEncodedStringToUnsignedChars(DFA12_minS);
+ static final char[] DFA12_max = DFA.unpackEncodedStringToUnsignedChars(DFA12_maxS);
+ static final short[] DFA12_accept = DFA.unpackEncodedString(DFA12_acceptS);
+ static final short[] DFA12_special = DFA.unpackEncodedString(DFA12_specialS);
+ static final short[][] DFA12_transition;
+
+ static {
+ int numStates = DFA12_transitionS.length;
+ DFA12_transition = new short[numStates][];
+ for (int i=0; i<numStates; i++) {
+ DFA12_transition[i] = DFA.unpackEncodedString(DFA12_transitionS[i]);
+ }
+ }
+
+ class DFA12 extends DFA {
+
+ public DFA12(BaseRecognizer recognizer) {
+ this.recognizer = recognizer;
+ this.decisionNumber = 12;
+ this.eot = DFA12_eot;
+ this.eof = DFA12_eof;
+ this.min = DFA12_min;
+ this.max = DFA12_max;
+ this.accept = DFA12_accept;
+ this.special = DFA12_special;
+ this.transition = DFA12_transition;
+ }
+ public String getDescription() {
+ return "1:1: Tokens : ( T__11 | T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );";
+ }
+ public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+ IntStream input = _input;
+ int _s = s;
+ switch ( s ) {
+ case 0 :
+ int LA12_18 = input.LA(1);
+
+ s = -1;
+ if ( ((LA12_18>='\u0000' && LA12_18<='\uFFFF')) ) {s = 39;}
+
+ else s = 22;
+
+ if ( s>=0 ) return s;
+ break;
+ case 1 :
+ int LA12_19 = input.LA(1);
+
+ s = -1;
+ if ( ((LA12_19>='\u0000' && LA12_19<='\uFFFF')) ) {s = 39;}
+
+ else s = 22;
+
+ if ( s>=0 ) return s;
+ break;
+ case 2 :
+ int LA12_0 = input.LA(1);
+
+ s = -1;
+ if ( (LA12_0=='I') ) {s = 1;}
+
+ else if ( (LA12_0=='D') ) {s = 2;}
+
+ else if ( (LA12_0=='S') ) {s = 3;}
+
+ else if ( (LA12_0=='B') ) {s = 4;}
+
+ else if ( (LA12_0=='p') ) {s = 5;}
+
+ else if ( (LA12_0=='{') ) {s = 6;}
+
+ else if ( (LA12_0=='}') ) {s = 7;}
+
+ else if ( (LA12_0=='t') ) {s = 8;}
+
+ else if ( (LA12_0=='e') ) {s = 9;}
+
+ else if ( (LA12_0==',') ) {s = 10;}
+
+ else if ( (LA12_0==';') ) {s = 11;}
+
+ else if ( (LA12_0=='=') ) {s = 12;}
+
+ else if ( (LA12_0=='.') ) {s = 13;}
+
+ else if ( (LA12_0=='[') ) {s = 14;}
+
+ else if ( (LA12_0=='^') ) {s = 15;}
+
+ else if ( (LA12_0=='A'||LA12_0=='C'||(LA12_0>='E' && LA12_0<='H')||(LA12_0>='J' && LA12_0<='R')||(LA12_0>='T' && LA12_0<='Z')||LA12_0=='_'||(LA12_0>='a' && LA12_0<='d')||(LA12_0>='f' && LA12_0<='o')||(LA12_0>='q' && LA12_0<='s')||(LA12_0>='u' && LA12_0<='z')) ) {s = 16;}
+
+ else if ( ((LA12_0>='0' && LA12_0<='9')) ) {s = 17;}
+
+ else if ( (LA12_0=='\"') ) {s = 18;}
+
+ else if ( (LA12_0=='\'') ) {s = 19;}
+
+ else if ( (LA12_0=='/') ) {s = 20;}
+
+ else if ( ((LA12_0>='\t' && LA12_0<='\n')||LA12_0=='\r'||LA12_0==' ') ) {s = 21;}
+
+ else if ( ((LA12_0>='\u0000' && LA12_0<='\b')||(LA12_0>='\u000B' && LA12_0<='\f')||(LA12_0>='\u000E' && LA12_0<='\u001F')||LA12_0=='!'||(LA12_0>='#' && LA12_0<='&')||(LA12_0>='(' && LA12_0<='+')||LA12_0=='-'||LA12_0==':'||LA12_0=='<'||(LA12_0>='>' && LA12_0<='@')||(LA12_0>='\\' && LA12_0<=']')||LA12_0=='`'||LA12_0=='|'||(LA12_0>='~' && LA12_0<='\uFFFF')) ) {s = 22;}
+
+ if ( s>=0 ) return s;
+ break;
+ }
+ NoViableAltException nvae =
+ new NoViableAltException(getDescription(), 12, _s, input);
+ error(nvae);
+ throw nvae;
+ }
+ }
+
+
+} \ No newline at end of file
diff --git a/bundles/tooling/org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSLParser.java b/bundles/tooling/org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSLParser.java
new file mode 100644
index 000000000..98d2b9a2a
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSLParser.java
@@ -0,0 +1,4489 @@
+package org.eclipse.fx.ide.gmodel.ui.contentassist.antlr.internal;
+
+import java.io.InputStream;
+import org.eclipse.xtext.*;
+import org.eclipse.xtext.parser.*;
+import org.eclipse.xtext.parser.impl.*;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.xtext.parser.antlr.XtextTokenStream;
+import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
+import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser;
+import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.DFA;
+import org.eclipse.fx.ide.gmodel.services.GModelDSLGrammarAccess;
+
+
+
+import org.antlr.runtime.*;
+import java.util.Stack;
+import java.util.List;
+import java.util.ArrayList;
+import java.util.Map;
+import java.util.HashMap;
+@SuppressWarnings("all")
+public class InternalGModelDSLParser extends AbstractInternalContentAssistParser {
+ public static final String[] tokenNames = new String[] {
+ "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_ID", "RULE_STRING", "RULE_INT", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'Int'", "'Double'", "'String'", "'Boolean'", "'package'", "'{'", "'}'", "'type'", "'extends'", "', '", "';'", "'='", "'.'", "'[]'"
+ };
+ public static final int RULE_STRING=5;
+ public static final int RULE_SL_COMMENT=8;
+ public static final int T__19=19;
+ public static final int T__15=15;
+ public static final int T__16=16;
+ public static final int T__17=17;
+ public static final int T__18=18;
+ public static final int T__11=11;
+ public static final int T__12=12;
+ public static final int T__13=13;
+ public static final int T__14=14;
+ public static final int EOF=-1;
+ public static final int RULE_ID=4;
+ public static final int RULE_WS=9;
+ public static final int RULE_ANY_OTHER=10;
+ public static final int RULE_INT=6;
+ public static final int T__22=22;
+ public static final int RULE_ML_COMMENT=7;
+ public static final int T__23=23;
+ public static final int T__24=24;
+ public static final int T__20=20;
+ public static final int T__21=21;
+
+ // delegates
+ // delegators
+
+
+ public InternalGModelDSLParser(TokenStream input) {
+ this(input, new RecognizerSharedState());
+ }
+ public InternalGModelDSLParser(TokenStream input, RecognizerSharedState state) {
+ super(input, state);
+
+ }
+
+
+ public String[] getTokenNames() { return InternalGModelDSLParser.tokenNames; }
+ public String getGrammarFileName() { return "../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g"; }
+
+
+
+ private GModelDSLGrammarAccess grammarAccess;
+
+ public void setGrammarAccess(GModelDSLGrammarAccess grammarAccess) {
+ this.grammarAccess = grammarAccess;
+ }
+
+ @Override
+ protected Grammar getGrammar() {
+ return grammarAccess.getGrammar();
+ }
+
+ @Override
+ protected String getValueForTokenName(String tokenName) {
+ return tokenName;
+ }
+
+
+
+
+ // $ANTLR start "entryRuleGModel"
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:61:1: entryRuleGModel : ruleGModel EOF ;
+ public final void entryRuleGModel() throws RecognitionException {
+ try {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:62:1: ( ruleGModel EOF )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:63:1: ruleGModel EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getGModelRule());
+ }
+ pushFollow(FOLLOW_ruleGModel_in_entryRuleGModel67);
+ ruleGModel();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getGModelRule());
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleGModel74); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleGModel"
+
+
+ // $ANTLR start "ruleGModel"
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:70:1: ruleGModel : ( ( rule__GModel__Group__0 ) ) ;
+ public final void ruleGModel() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:74:2: ( ( ( rule__GModel__Group__0 ) ) )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:75:1: ( ( rule__GModel__Group__0 ) )
+ {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:75:1: ( ( rule__GModel__Group__0 ) )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:76:1: ( rule__GModel__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getGModelAccess().getGroup());
+ }
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:77:1: ( rule__GModel__Group__0 )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:77:2: rule__GModel__Group__0
+ {
+ pushFollow(FOLLOW_rule__GModel__Group__0_in_ruleGModel100);
+ rule__GModel__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getGModelAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleGModel"
+
+
+ // $ANTLR start "entryRuleGDomainElement"
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:89:1: entryRuleGDomainElement : ruleGDomainElement EOF ;
+ public final void entryRuleGDomainElement() throws RecognitionException {
+ try {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:90:1: ( ruleGDomainElement EOF )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:91:1: ruleGDomainElement EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getGDomainElementRule());
+ }
+ pushFollow(FOLLOW_ruleGDomainElement_in_entryRuleGDomainElement127);
+ ruleGDomainElement();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getGDomainElementRule());
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleGDomainElement134); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleGDomainElement"
+
+
+ // $ANTLR start "ruleGDomainElement"
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:98:1: ruleGDomainElement : ( ( rule__GDomainElement__Group__0 ) ) ;
+ public final void ruleGDomainElement() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:102:2: ( ( ( rule__GDomainElement__Group__0 ) ) )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:103:1: ( ( rule__GDomainElement__Group__0 ) )
+ {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:103:1: ( ( rule__GDomainElement__Group__0 ) )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:104:1: ( rule__GDomainElement__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getGDomainElementAccess().getGroup());
+ }
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:105:1: ( rule__GDomainElement__Group__0 )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:105:2: rule__GDomainElement__Group__0
+ {
+ pushFollow(FOLLOW_rule__GDomainElement__Group__0_in_ruleGDomainElement160);
+ rule__GDomainElement__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getGDomainElementAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleGDomainElement"
+
+
+ // $ANTLR start "entryRuleGDomainProperty"
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:117:1: entryRuleGDomainProperty : ruleGDomainProperty EOF ;
+ public final void entryRuleGDomainProperty() throws RecognitionException {
+ try {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:118:1: ( ruleGDomainProperty EOF )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:119:1: ruleGDomainProperty EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getGDomainPropertyRule());
+ }
+ pushFollow(FOLLOW_ruleGDomainProperty_in_entryRuleGDomainProperty187);
+ ruleGDomainProperty();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getGDomainPropertyRule());
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleGDomainProperty194); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleGDomainProperty"
+
+
+ // $ANTLR start "ruleGDomainProperty"
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:126:1: ruleGDomainProperty : ( ( rule__GDomainProperty__Group__0 ) ) ;
+ public final void ruleGDomainProperty() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:130:2: ( ( ( rule__GDomainProperty__Group__0 ) ) )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:131:1: ( ( rule__GDomainProperty__Group__0 ) )
+ {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:131:1: ( ( rule__GDomainProperty__Group__0 ) )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:132:1: ( rule__GDomainProperty__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getGDomainPropertyAccess().getGroup());
+ }
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:133:1: ( rule__GDomainProperty__Group__0 )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:133:2: rule__GDomainProperty__Group__0
+ {
+ pushFollow(FOLLOW_rule__GDomainProperty__Group__0_in_ruleGDomainProperty220);
+ rule__GDomainProperty__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getGDomainPropertyAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleGDomainProperty"
+
+
+ // $ANTLR start "entryRuleGDefault"
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:145:1: entryRuleGDefault : ruleGDefault EOF ;
+ public final void entryRuleGDefault() throws RecognitionException {
+ try {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:146:1: ( ruleGDefault EOF )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:147:1: ruleGDefault EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getGDefaultRule());
+ }
+ pushFollow(FOLLOW_ruleGDefault_in_entryRuleGDefault247);
+ ruleGDefault();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getGDefaultRule());
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleGDefault254); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleGDefault"
+
+
+ // $ANTLR start "ruleGDefault"
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:154:1: ruleGDefault : ( ( rule__GDefault__Alternatives ) ) ;
+ public final void ruleGDefault() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:158:2: ( ( ( rule__GDefault__Alternatives ) ) )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:159:1: ( ( rule__GDefault__Alternatives ) )
+ {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:159:1: ( ( rule__GDefault__Alternatives ) )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:160:1: ( rule__GDefault__Alternatives )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getGDefaultAccess().getAlternatives());
+ }
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:161:1: ( rule__GDefault__Alternatives )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:161:2: rule__GDefault__Alternatives
+ {
+ pushFollow(FOLLOW_rule__GDefault__Alternatives_in_ruleGDefault280);
+ rule__GDefault__Alternatives();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getGDefaultAccess().getAlternatives());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleGDefault"
+
+
+ // $ANTLR start "entryRuleValidID"
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:173:1: entryRuleValidID : ruleValidID EOF ;
+ public final void entryRuleValidID() throws RecognitionException {
+ try {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:174:1: ( ruleValidID EOF )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:175:1: ruleValidID EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getValidIDRule());
+ }
+ pushFollow(FOLLOW_ruleValidID_in_entryRuleValidID307);
+ ruleValidID();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getValidIDRule());
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleValidID314); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleValidID"
+
+
+ // $ANTLR start "ruleValidID"
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:182:1: ruleValidID : ( RULE_ID ) ;
+ public final void ruleValidID() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:186:2: ( ( RULE_ID ) )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:187:1: ( RULE_ID )
+ {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:187:1: ( RULE_ID )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:188:1: RULE_ID
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getValidIDAccess().getIDTerminalRuleCall());
+ }
+ match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleValidID340); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getValidIDAccess().getIDTerminalRuleCall());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleValidID"
+
+
+ // $ANTLR start "entryRuleQualifiedName"
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:201:1: entryRuleQualifiedName : ruleQualifiedName EOF ;
+ public final void entryRuleQualifiedName() throws RecognitionException {
+ try {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:202:1: ( ruleQualifiedName EOF )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:203:1: ruleQualifiedName EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getQualifiedNameRule());
+ }
+ pushFollow(FOLLOW_ruleQualifiedName_in_entryRuleQualifiedName366);
+ ruleQualifiedName();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getQualifiedNameRule());
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleQualifiedName373); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleQualifiedName"
+
+
+ // $ANTLR start "ruleQualifiedName"
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:210:1: ruleQualifiedName : ( ( rule__QualifiedName__Group__0 ) ) ;
+ public final void ruleQualifiedName() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:214:2: ( ( ( rule__QualifiedName__Group__0 ) ) )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:215:1: ( ( rule__QualifiedName__Group__0 ) )
+ {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:215:1: ( ( rule__QualifiedName__Group__0 ) )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:216:1: ( rule__QualifiedName__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getQualifiedNameAccess().getGroup());
+ }
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:217:1: ( rule__QualifiedName__Group__0 )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:217:2: rule__QualifiedName__Group__0
+ {
+ pushFollow(FOLLOW_rule__QualifiedName__Group__0_in_ruleQualifiedName399);
+ rule__QualifiedName__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getQualifiedNameAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleQualifiedName"
+
+
+ // $ANTLR start "rule__GDomainProperty__Alternatives_0"
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:229:1: rule__GDomainProperty__Alternatives_0 : ( ( ( rule__GDomainProperty__Group_0_0__0 ) ) | ( ( rule__GDomainProperty__Group_0_1__0 ) ) );
+ public final void rule__GDomainProperty__Alternatives_0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:233:1: ( ( ( rule__GDomainProperty__Group_0_0__0 ) ) | ( ( rule__GDomainProperty__Group_0_1__0 ) ) )
+ int alt1=2;
+ int LA1_0 = input.LA(1);
+
+ if ( ((LA1_0>=11 && LA1_0<=14)) ) {
+ alt1=1;
+ }
+ else if ( (LA1_0==RULE_ID) ) {
+ alt1=2;
+ }
+ else {
+ if (state.backtracking>0) {state.failed=true; return ;}
+ NoViableAltException nvae =
+ new NoViableAltException("", 1, 0, input);
+
+ throw nvae;
+ }
+ switch (alt1) {
+ case 1 :
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:234:1: ( ( rule__GDomainProperty__Group_0_0__0 ) )
+ {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:234:1: ( ( rule__GDomainProperty__Group_0_0__0 ) )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:235:1: ( rule__GDomainProperty__Group_0_0__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getGDomainPropertyAccess().getGroup_0_0());
+ }
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:236:1: ( rule__GDomainProperty__Group_0_0__0 )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:236:2: rule__GDomainProperty__Group_0_0__0
+ {
+ pushFollow(FOLLOW_rule__GDomainProperty__Group_0_0__0_in_rule__GDomainProperty__Alternatives_0435);
+ rule__GDomainProperty__Group_0_0__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getGDomainPropertyAccess().getGroup_0_0());
+ }
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:240:6: ( ( rule__GDomainProperty__Group_0_1__0 ) )
+ {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:240:6: ( ( rule__GDomainProperty__Group_0_1__0 ) )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:241:1: ( rule__GDomainProperty__Group_0_1__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getGDomainPropertyAccess().getGroup_0_1());
+ }
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:242:1: ( rule__GDomainProperty__Group_0_1__0 )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:242:2: rule__GDomainProperty__Group_0_1__0
+ {
+ pushFollow(FOLLOW_rule__GDomainProperty__Group_0_1__0_in_rule__GDomainProperty__Alternatives_0453);
+ rule__GDomainProperty__Group_0_1__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getGDomainPropertyAccess().getGroup_0_1());
+ }
+
+ }
+
+
+ }
+ break;
+
+ }
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__GDomainProperty__Alternatives_0"
+
+
+ // $ANTLR start "rule__GDomainProperty__BuiltInAlternatives_0_0_0_0"
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:251:1: rule__GDomainProperty__BuiltInAlternatives_0_0_0_0 : ( ( 'Int' ) | ( 'Double' ) | ( 'String' ) | ( 'Boolean' ) );
+ public final void rule__GDomainProperty__BuiltInAlternatives_0_0_0_0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:255:1: ( ( 'Int' ) | ( 'Double' ) | ( 'String' ) | ( 'Boolean' ) )
+ int alt2=4;
+ switch ( input.LA(1) ) {
+ case 11:
+ {
+ alt2=1;
+ }
+ break;
+ case 12:
+ {
+ alt2=2;
+ }
+ break;
+ case 13:
+ {
+ alt2=3;
+ }
+ break;
+ case 14:
+ {
+ alt2=4;
+ }
+ break;
+ default:
+ if (state.backtracking>0) {state.failed=true; return ;}
+ NoViableAltException nvae =
+ new NoViableAltException("", 2, 0, input);
+
+ throw nvae;
+ }
+
+ switch (alt2) {
+ case 1 :
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:256:1: ( 'Int' )
+ {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:256:1: ( 'Int' )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:257:1: 'Int'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getGDomainPropertyAccess().getBuiltInIntKeyword_0_0_0_0_0());
+ }
+ match(input,11,FOLLOW_11_in_rule__GDomainProperty__BuiltInAlternatives_0_0_0_0487); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getGDomainPropertyAccess().getBuiltInIntKeyword_0_0_0_0_0());
+ }
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:264:6: ( 'Double' )
+ {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:264:6: ( 'Double' )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:265:1: 'Double'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getGDomainPropertyAccess().getBuiltInDoubleKeyword_0_0_0_0_1());
+ }
+ match(input,12,FOLLOW_12_in_rule__GDomainProperty__BuiltInAlternatives_0_0_0_0507); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getGDomainPropertyAccess().getBuiltInDoubleKeyword_0_0_0_0_1());
+ }
+
+ }
+
+
+ }
+ break;
+ case 3 :
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:272:6: ( 'String' )
+ {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:272:6: ( 'String' )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:273:1: 'String'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getGDomainPropertyAccess().getBuiltInStringKeyword_0_0_0_0_2());
+ }
+ match(input,13,FOLLOW_13_in_rule__GDomainProperty__BuiltInAlternatives_0_0_0_0527); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getGDomainPropertyAccess().getBuiltInStringKeyword_0_0_0_0_2());
+ }
+
+ }
+
+
+ }
+ break;
+ case 4 :
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:280:6: ( 'Boolean' )
+ {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:280:6: ( 'Boolean' )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:281:1: 'Boolean'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getGDomainPropertyAccess().getBuiltInBooleanKeyword_0_0_0_0_3());
+ }
+ match(input,14,FOLLOW_14_in_rule__GDomainProperty__BuiltInAlternatives_0_0_0_0547); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getGDomainPropertyAccess().getBuiltInBooleanKeyword_0_0_0_0_3());
+ }
+
+ }
+
+
+ }
+ break;
+
+ }
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__GDomainProperty__BuiltInAlternatives_0_0_0_0"
+
+
+ // $ANTLR start "rule__GDefault__Alternatives"
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:293:1: rule__GDefault__Alternatives : ( ( ( rule__GDefault__StringValAssignment_0 ) ) | ( ( rule__GDefault__IntValAssignment_1 ) ) );
+ public final void rule__GDefault__Alternatives() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:297:1: ( ( ( rule__GDefault__StringValAssignment_0 ) ) | ( ( rule__GDefault__IntValAssignment_1 ) ) )
+ int alt3=2;
+ int LA3_0 = input.LA(1);
+
+ if ( (LA3_0==RULE_STRING) ) {
+ alt3=1;
+ }
+ else if ( (LA3_0==RULE_INT) ) {
+ alt3=2;
+ }
+ else {
+ if (state.backtracking>0) {state.failed=true; return ;}
+ NoViableAltException nvae =
+ new NoViableAltException("", 3, 0, input);
+
+ throw nvae;
+ }
+ switch (alt3) {
+ case 1 :
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:298:1: ( ( rule__GDefault__StringValAssignment_0 ) )
+ {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:298:1: ( ( rule__GDefault__StringValAssignment_0 ) )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:299:1: ( rule__GDefault__StringValAssignment_0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getGDefaultAccess().getStringValAssignment_0());
+ }
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:300:1: ( rule__GDefault__StringValAssignment_0 )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:300:2: rule__GDefault__StringValAssignment_0
+ {
+ pushFollow(FOLLOW_rule__GDefault__StringValAssignment_0_in_rule__GDefault__Alternatives581);
+ rule__GDefault__StringValAssignment_0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getGDefaultAccess().getStringValAssignment_0());
+ }
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:304:6: ( ( rule__GDefault__IntValAssignment_1 ) )
+ {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:304:6: ( ( rule__GDefault__IntValAssignment_1 ) )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:305:1: ( rule__GDefault__IntValAssignment_1 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getGDefaultAccess().getIntValAssignment_1());
+ }
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:306:1: ( rule__GDefault__IntValAssignment_1 )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:306:2: rule__GDefault__IntValAssignment_1
+ {
+ pushFollow(FOLLOW_rule__GDefault__IntValAssignment_1_in_rule__GDefault__Alternatives599);
+ rule__GDefault__IntValAssignment_1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getGDefaultAccess().getIntValAssignment_1());
+ }
+
+ }
+
+
+ }
+ break;
+
+ }
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__GDefault__Alternatives"
+
+
+ // $ANTLR start "rule__GModel__Group__0"
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:317:1: rule__GModel__Group__0 : rule__GModel__Group__0__Impl rule__GModel__Group__1 ;
+ public final void rule__GModel__Group__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:321:1: ( rule__GModel__Group__0__Impl rule__GModel__Group__1 )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:322:2: rule__GModel__Group__0__Impl rule__GModel__Group__1
+ {
+ pushFollow(FOLLOW_rule__GModel__Group__0__Impl_in_rule__GModel__Group__0630);
+ rule__GModel__Group__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FOLLOW_rule__GModel__Group__1_in_rule__GModel__Group__0633);
+ rule__GModel__Group__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__GModel__Group__0"
+
+
+ // $ANTLR start "rule__GModel__Group__0__Impl"
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:329:1: rule__GModel__Group__0__Impl : ( 'package' ) ;
+ public final void rule__GModel__Group__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:333:1: ( ( 'package' ) )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:334:1: ( 'package' )
+ {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:334:1: ( 'package' )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:335:1: 'package'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getGModelAccess().getPackageKeyword_0());
+ }
+ match(input,15,FOLLOW_15_in_rule__GModel__Group__0__Impl661); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getGModelAccess().getPackageKeyword_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__GModel__Group__0__Impl"
+
+
+ // $ANTLR start "rule__GModel__Group__1"
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:348:1: rule__GModel__Group__1 : rule__GModel__Group__1__Impl rule__GModel__Group__2 ;
+ public final void rule__GModel__Group__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:352:1: ( rule__GModel__Group__1__Impl rule__GModel__Group__2 )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:353:2: rule__GModel__Group__1__Impl rule__GModel__Group__2
+ {
+ pushFollow(FOLLOW_rule__GModel__Group__1__Impl_in_rule__GModel__Group__1692);
+ rule__GModel__Group__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FOLLOW_rule__GModel__Group__2_in_rule__GModel__Group__1695);
+ rule__GModel__Group__2();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__GModel__Group__1"
+
+
+ // $ANTLR start "rule__GModel__Group__1__Impl"
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:360:1: rule__GModel__Group__1__Impl : ( ( rule__GModel__NameAssignment_1 ) ) ;
+ public final void rule__GModel__Group__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:364:1: ( ( ( rule__GModel__NameAssignment_1 ) ) )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:365:1: ( ( rule__GModel__NameAssignment_1 ) )
+ {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:365:1: ( ( rule__GModel__NameAssignment_1 ) )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:366:1: ( rule__GModel__NameAssignment_1 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getGModelAccess().getNameAssignment_1());
+ }
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:367:1: ( rule__GModel__NameAssignment_1 )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:367:2: rule__GModel__NameAssignment_1
+ {
+ pushFollow(FOLLOW_rule__GModel__NameAssignment_1_in_rule__GModel__Group__1__Impl722);
+ rule__GModel__NameAssignment_1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getGModelAccess().getNameAssignment_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__GModel__Group__1__Impl"
+
+
+ // $ANTLR start "rule__GModel__Group__2"
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:377:1: rule__GModel__Group__2 : rule__GModel__Group__2__Impl rule__GModel__Group__3 ;
+ public final void rule__GModel__Group__2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:381:1: ( rule__GModel__Group__2__Impl rule__GModel__Group__3 )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:382:2: rule__GModel__Group__2__Impl rule__GModel__Group__3
+ {
+ pushFollow(FOLLOW_rule__GModel__Group__2__Impl_in_rule__GModel__Group__2752);
+ rule__GModel__Group__2__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FOLLOW_rule__GModel__Group__3_in_rule__GModel__Group__2755);
+ rule__GModel__Group__3();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__GModel__Group__2"
+
+
+ // $ANTLR start "rule__GModel__Group__2__Impl"
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:389:1: rule__GModel__Group__2__Impl : ( '{' ) ;
+ public final void rule__GModel__Group__2__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:393:1: ( ( '{' ) )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:394:1: ( '{' )
+ {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:394:1: ( '{' )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:395:1: '{'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getGModelAccess().getLeftCurlyBracketKeyword_2());
+ }
+ match(input,16,FOLLOW_16_in_rule__GModel__Group__2__Impl783); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getGModelAccess().getLeftCurlyBracketKeyword_2());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__GModel__Group__2__Impl"
+
+
+ // $ANTLR start "rule__GModel__Group__3"
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:408:1: rule__GModel__Group__3 : rule__GModel__Group__3__Impl rule__GModel__Group__4 ;
+ public final void rule__GModel__Group__3() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:412:1: ( rule__GModel__Group__3__Impl rule__GModel__Group__4 )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:413:2: rule__GModel__Group__3__Impl rule__GModel__Group__4
+ {
+ pushFollow(FOLLOW_rule__GModel__Group__3__Impl_in_rule__GModel__Group__3814);
+ rule__GModel__Group__3__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FOLLOW_rule__GModel__Group__4_in_rule__GModel__Group__3817);
+ rule__GModel__Group__4();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__GModel__Group__3"
+
+
+ // $ANTLR start "rule__GModel__Group__3__Impl"
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:420:1: rule__GModel__Group__3__Impl : ( ( ( rule__GModel__TypeListAssignment_3 ) ) ( ( rule__GModel__TypeListAssignment_3 )* ) ) ;
+ public final void rule__GModel__Group__3__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:424:1: ( ( ( ( rule__GModel__TypeListAssignment_3 ) ) ( ( rule__GModel__TypeListAssignment_3 )* ) ) )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:425:1: ( ( ( rule__GModel__TypeListAssignment_3 ) ) ( ( rule__GModel__TypeListAssignment_3 )* ) )
+ {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:425:1: ( ( ( rule__GModel__TypeListAssignment_3 ) ) ( ( rule__GModel__TypeListAssignment_3 )* ) )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:426:1: ( ( rule__GModel__TypeListAssignment_3 ) ) ( ( rule__GModel__TypeListAssignment_3 )* )
+ {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:426:1: ( ( rule__GModel__TypeListAssignment_3 ) )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:427:1: ( rule__GModel__TypeListAssignment_3 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getGModelAccess().getTypeListAssignment_3());
+ }
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:428:1: ( rule__GModel__TypeListAssignment_3 )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:428:2: rule__GModel__TypeListAssignment_3
+ {
+ pushFollow(FOLLOW_rule__GModel__TypeListAssignment_3_in_rule__GModel__Group__3__Impl846);
+ rule__GModel__TypeListAssignment_3();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getGModelAccess().getTypeListAssignment_3());
+ }
+
+ }
+
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:431:1: ( ( rule__GModel__TypeListAssignment_3 )* )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:432:1: ( rule__GModel__TypeListAssignment_3 )*
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getGModelAccess().getTypeListAssignment_3());
+ }
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:433:1: ( rule__GModel__TypeListAssignment_3 )*
+ loop4:
+ do {
+ int alt4=2;
+ int LA4_0 = input.LA(1);
+
+ if ( (LA4_0==18) ) {
+ alt4=1;
+ }
+
+
+ switch (alt4) {
+ case 1 :
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:433:2: rule__GModel__TypeListAssignment_3
+ {
+ pushFollow(FOLLOW_rule__GModel__TypeListAssignment_3_in_rule__GModel__Group__3__Impl858);
+ rule__GModel__TypeListAssignment_3();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+ break;
+
+ default :
+ break loop4;
+ }
+ } while (true);
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getGModelAccess().getTypeListAssignment_3());
+ }
+
+ }
+
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__GModel__Group__3__Impl"
+
+
+ // $ANTLR start "rule__GModel__Group__4"
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:444:1: rule__GModel__Group__4 : rule__GModel__Group__4__Impl ;
+ public final void rule__GModel__Group__4() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:448:1: ( rule__GModel__Group__4__Impl )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:449:2: rule__GModel__Group__4__Impl
+ {
+ pushFollow(FOLLOW_rule__GModel__Group__4__Impl_in_rule__GModel__Group__4891);
+ rule__GModel__Group__4__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__GModel__Group__4"
+
+
+ // $ANTLR start "rule__GModel__Group__4__Impl"
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:455:1: rule__GModel__Group__4__Impl : ( '}' ) ;
+ public final void rule__GModel__Group__4__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:459:1: ( ( '}' ) )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:460:1: ( '}' )
+ {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:460:1: ( '}' )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:461:1: '}'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getGModelAccess().getRightCurlyBracketKeyword_4());
+ }
+ match(input,17,FOLLOW_17_in_rule__GModel__Group__4__Impl919); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getGModelAccess().getRightCurlyBracketKeyword_4());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__GModel__Group__4__Impl"
+
+
+ // $ANTLR start "rule__GDomainElement__Group__0"
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:484:1: rule__GDomainElement__Group__0 : rule__GDomainElement__Group__0__Impl rule__GDomainElement__Group__1 ;
+ public final void rule__GDomainElement__Group__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:488:1: ( rule__GDomainElement__Group__0__Impl rule__GDomainElement__Group__1 )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:489:2: rule__GDomainElement__Group__0__Impl rule__GDomainElement__Group__1
+ {
+ pushFollow(FOLLOW_rule__GDomainElement__Group__0__Impl_in_rule__GDomainElement__Group__0960);
+ rule__GDomainElement__Group__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FOLLOW_rule__GDomainElement__Group__1_in_rule__GDomainElement__Group__0963);
+ rule__GDomainElement__Group__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__GDomainElement__Group__0"
+
+
+ // $ANTLR start "rule__GDomainElement__Group__0__Impl"
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:496:1: rule__GDomainElement__Group__0__Impl : ( 'type' ) ;
+ public final void rule__GDomainElement__Group__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:500:1: ( ( 'type' ) )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:501:1: ( 'type' )
+ {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:501:1: ( 'type' )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:502:1: 'type'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getGDomainElementAccess().getTypeKeyword_0());
+ }
+ match(input,18,FOLLOW_18_in_rule__GDomainElement__Group__0__Impl991); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getGDomainElementAccess().getTypeKeyword_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__GDomainElement__Group__0__Impl"
+
+
+ // $ANTLR start "rule__GDomainElement__Group__1"
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:515:1: rule__GDomainElement__Group__1 : rule__GDomainElement__Group__1__Impl rule__GDomainElement__Group__2 ;
+ public final void rule__GDomainElement__Group__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:519:1: ( rule__GDomainElement__Group__1__Impl rule__GDomainElement__Group__2 )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:520:2: rule__GDomainElement__Group__1__Impl rule__GDomainElement__Group__2
+ {
+ pushFollow(FOLLOW_rule__GDomainElement__Group__1__Impl_in_rule__GDomainElement__Group__11022);
+ rule__GDomainElement__Group__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FOLLOW_rule__GDomainElement__Group__2_in_rule__GDomainElement__Group__11025);
+ rule__GDomainElement__Group__2();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__GDomainElement__Group__1"
+
+
+ // $ANTLR start "rule__GDomainElement__Group__1__Impl"
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:527:1: rule__GDomainElement__Group__1__Impl : ( ( rule__GDomainElement__NameAssignment_1 ) ) ;
+ public final void rule__GDomainElement__Group__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:531:1: ( ( ( rule__GDomainElement__NameAssignment_1 ) ) )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:532:1: ( ( rule__GDomainElement__NameAssignment_1 ) )
+ {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:532:1: ( ( rule__GDomainElement__NameAssignment_1 ) )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:533:1: ( rule__GDomainElement__NameAssignment_1 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getGDomainElementAccess().getNameAssignment_1());
+ }
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:534:1: ( rule__GDomainElement__NameAssignment_1 )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:534:2: rule__GDomainElement__NameAssignment_1
+ {
+ pushFollow(FOLLOW_rule__GDomainElement__NameAssignment_1_in_rule__GDomainElement__Group__1__Impl1052);
+ rule__GDomainElement__NameAssignment_1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getGDomainElementAccess().getNameAssignment_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__GDomainElement__Group__1__Impl"
+
+
+ // $ANTLR start "rule__GDomainElement__Group__2"
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:544:1: rule__GDomainElement__Group__2 : rule__GDomainElement__Group__2__Impl rule__GDomainElement__Group__3 ;
+ public final void rule__GDomainElement__Group__2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:548:1: ( rule__GDomainElement__Group__2__Impl rule__GDomainElement__Group__3 )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:549:2: rule__GDomainElement__Group__2__Impl rule__GDomainElement__Group__3
+ {
+ pushFollow(FOLLOW_rule__GDomainElement__Group__2__Impl_in_rule__GDomainElement__Group__21082);
+ rule__GDomainElement__Group__2__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FOLLOW_rule__GDomainElement__Group__3_in_rule__GDomainElement__Group__21085);
+ rule__GDomainElement__Group__3();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__GDomainElement__Group__2"
+
+
+ // $ANTLR start "rule__GDomainElement__Group__2__Impl"
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:556:1: rule__GDomainElement__Group__2__Impl : ( ( rule__GDomainElement__Group_2__0 )? ) ;
+ public final void rule__GDomainElement__Group__2__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:560:1: ( ( ( rule__GDomainElement__Group_2__0 )? ) )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:561:1: ( ( rule__GDomainElement__Group_2__0 )? )
+ {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:561:1: ( ( rule__GDomainElement__Group_2__0 )? )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:562:1: ( rule__GDomainElement__Group_2__0 )?
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getGDomainElementAccess().getGroup_2());
+ }
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:563:1: ( rule__GDomainElement__Group_2__0 )?
+ int alt5=2;
+ int LA5_0 = input.LA(1);
+
+ if ( (LA5_0==19) ) {
+ alt5=1;
+ }
+ switch (alt5) {
+ case 1 :
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:563:2: rule__GDomainElement__Group_2__0
+ {
+ pushFollow(FOLLOW_rule__GDomainElement__Group_2__0_in_rule__GDomainElement__Group__2__Impl1112);
+ rule__GDomainElement__Group_2__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+ break;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getGDomainElementAccess().getGroup_2());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__GDomainElement__Group__2__Impl"
+
+
+ // $ANTLR start "rule__GDomainElement__Group__3"
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:573:1: rule__GDomainElement__Group__3 : rule__GDomainElement__Group__3__Impl rule__GDomainElement__Group__4 ;
+ public final void rule__GDomainElement__Group__3() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:577:1: ( rule__GDomainElement__Group__3__Impl rule__GDomainElement__Group__4 )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:578:2: rule__GDomainElement__Group__3__Impl rule__GDomainElement__Group__4
+ {
+ pushFollow(FOLLOW_rule__GDomainElement__Group__3__Impl_in_rule__GDomainElement__Group__31143);
+ rule__GDomainElement__Group__3__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FOLLOW_rule__GDomainElement__Group__4_in_rule__GDomainElement__Group__31146);
+ rule__GDomainElement__Group__4();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__GDomainElement__Group__3"
+
+
+ // $ANTLR start "rule__GDomainElement__Group__3__Impl"
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:585:1: rule__GDomainElement__Group__3__Impl : ( '{' ) ;
+ public final void rule__GDomainElement__Group__3__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:589:1: ( ( '{' ) )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:590:1: ( '{' )
+ {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:590:1: ( '{' )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:591:1: '{'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getGDomainElementAccess().getLeftCurlyBracketKeyword_3());
+ }
+ match(input,16,FOLLOW_16_in_rule__GDomainElement__Group__3__Impl1174); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getGDomainElementAccess().getLeftCurlyBracketKeyword_3());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__GDomainElement__Group__3__Impl"
+
+
+ // $ANTLR start "rule__GDomainElement__Group__4"
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:604:1: rule__GDomainElement__Group__4 : rule__GDomainElement__Group__4__Impl rule__GDomainElement__Group__5 ;
+ public final void rule__GDomainElement__Group__4() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:608:1: ( rule__GDomainElement__Group__4__Impl rule__GDomainElement__Group__5 )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:609:2: rule__GDomainElement__Group__4__Impl rule__GDomainElement__Group__5
+ {
+ pushFollow(FOLLOW_rule__GDomainElement__Group__4__Impl_in_rule__GDomainElement__Group__41205);
+ rule__GDomainElement__Group__4__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FOLLOW_rule__GDomainElement__Group__5_in_rule__GDomainElement__Group__41208);
+ rule__GDomainElement__Group__5();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__GDomainElement__Group__4"
+
+
+ // $ANTLR start "rule__GDomainElement__Group__4__Impl"
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:616:1: rule__GDomainElement__Group__4__Impl : ( ( rule__GDomainElement__PropertyListAssignment_4 )* ) ;
+ public final void rule__GDomainElement__Group__4__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:620:1: ( ( ( rule__GDomainElement__PropertyListAssignment_4 )* ) )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:621:1: ( ( rule__GDomainElement__PropertyListAssignment_4 )* )
+ {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:621:1: ( ( rule__GDomainElement__PropertyListAssignment_4 )* )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:622:1: ( rule__GDomainElement__PropertyListAssignment_4 )*
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getGDomainElementAccess().getPropertyListAssignment_4());
+ }
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:623:1: ( rule__GDomainElement__PropertyListAssignment_4 )*
+ loop6:
+ do {
+ int alt6=2;
+ int LA6_0 = input.LA(1);
+
+ if ( (LA6_0==RULE_ID||(LA6_0>=11 && LA6_0<=14)) ) {
+ alt6=1;
+ }
+
+
+ switch (alt6) {
+ case 1 :
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:623:2: rule__GDomainElement__PropertyListAssignment_4
+ {
+ pushFollow(FOLLOW_rule__GDomainElement__PropertyListAssignment_4_in_rule__GDomainElement__Group__4__Impl1235);
+ rule__GDomainElement__PropertyListAssignment_4();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+ break;
+
+ default :
+ break loop6;
+ }
+ } while (true);
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getGDomainElementAccess().getPropertyListAssignment_4());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__GDomainElement__Group__4__Impl"
+
+
+ // $ANTLR start "rule__GDomainElement__Group__5"
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:633:1: rule__GDomainElement__Group__5 : rule__GDomainElement__Group__5__Impl ;
+ public final void rule__GDomainElement__Group__5() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:637:1: ( rule__GDomainElement__Group__5__Impl )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:638:2: rule__GDomainElement__Group__5__Impl
+ {
+ pushFollow(FOLLOW_rule__GDomainElement__Group__5__Impl_in_rule__GDomainElement__Group__51266);
+ rule__GDomainElement__Group__5__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__GDomainElement__Group__5"
+
+
+ // $ANTLR start "rule__GDomainElement__Group__5__Impl"
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:644:1: rule__GDomainElement__Group__5__Impl : ( '}' ) ;
+ public final void rule__GDomainElement__Group__5__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:648:1: ( ( '}' ) )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:649:1: ( '}' )
+ {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:649:1: ( '}' )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:650:1: '}'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getGDomainElementAccess().getRightCurlyBracketKeyword_5());
+ }
+ match(input,17,FOLLOW_17_in_rule__GDomainElement__Group__5__Impl1294); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getGDomainElementAccess().getRightCurlyBracketKeyword_5());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__GDomainElement__Group__5__Impl"
+
+
+ // $ANTLR start "rule__GDomainElement__Group_2__0"
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:675:1: rule__GDomainElement__Group_2__0 : rule__GDomainElement__Group_2__0__Impl rule__GDomainElement__Group_2__1 ;
+ public final void rule__GDomainElement__Group_2__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:679:1: ( rule__GDomainElement__Group_2__0__Impl rule__GDomainElement__Group_2__1 )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:680:2: rule__GDomainElement__Group_2__0__Impl rule__GDomainElement__Group_2__1
+ {
+ pushFollow(FOLLOW_rule__GDomainElement__Group_2__0__Impl_in_rule__GDomainElement__Group_2__01337);
+ rule__GDomainElement__Group_2__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FOLLOW_rule__GDomainElement__Group_2__1_in_rule__GDomainElement__Group_2__01340);
+ rule__GDomainElement__Group_2__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__GDomainElement__Group_2__0"
+
+
+ // $ANTLR start "rule__GDomainElement__Group_2__0__Impl"
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:687:1: rule__GDomainElement__Group_2__0__Impl : ( 'extends' ) ;
+ public final void rule__GDomainElement__Group_2__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:691:1: ( ( 'extends' ) )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:692:1: ( 'extends' )
+ {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:692:1: ( 'extends' )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:693:1: 'extends'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getGDomainElementAccess().getExtendsKeyword_2_0());
+ }
+ match(input,19,FOLLOW_19_in_rule__GDomainElement__Group_2__0__Impl1368); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getGDomainElementAccess().getExtendsKeyword_2_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__GDomainElement__Group_2__0__Impl"
+
+
+ // $ANTLR start "rule__GDomainElement__Group_2__1"
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:706:1: rule__GDomainElement__Group_2__1 : rule__GDomainElement__Group_2__1__Impl rule__GDomainElement__Group_2__2 ;
+ public final void rule__GDomainElement__Group_2__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:710:1: ( rule__GDomainElement__Group_2__1__Impl rule__GDomainElement__Group_2__2 )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:711:2: rule__GDomainElement__Group_2__1__Impl rule__GDomainElement__Group_2__2
+ {
+ pushFollow(FOLLOW_rule__GDomainElement__Group_2__1__Impl_in_rule__GDomainElement__Group_2__11399);
+ rule__GDomainElement__Group_2__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FOLLOW_rule__GDomainElement__Group_2__2_in_rule__GDomainElement__Group_2__11402);
+ rule__GDomainElement__Group_2__2();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__GDomainElement__Group_2__1"
+
+
+ // $ANTLR start "rule__GDomainElement__Group_2__1__Impl"
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:718:1: rule__GDomainElement__Group_2__1__Impl : ( ( rule__GDomainElement__SuperTypeListAssignment_2_1 ) ) ;
+ public final void rule__GDomainElement__Group_2__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:722:1: ( ( ( rule__GDomainElement__SuperTypeListAssignment_2_1 ) ) )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:723:1: ( ( rule__GDomainElement__SuperTypeListAssignment_2_1 ) )
+ {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:723:1: ( ( rule__GDomainElement__SuperTypeListAssignment_2_1 ) )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:724:1: ( rule__GDomainElement__SuperTypeListAssignment_2_1 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getGDomainElementAccess().getSuperTypeListAssignment_2_1());
+ }
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:725:1: ( rule__GDomainElement__SuperTypeListAssignment_2_1 )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:725:2: rule__GDomainElement__SuperTypeListAssignment_2_1
+ {
+ pushFollow(FOLLOW_rule__GDomainElement__SuperTypeListAssignment_2_1_in_rule__GDomainElement__Group_2__1__Impl1429);
+ rule__GDomainElement__SuperTypeListAssignment_2_1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getGDomainElementAccess().getSuperTypeListAssignment_2_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__GDomainElement__Group_2__1__Impl"
+
+
+ // $ANTLR start "rule__GDomainElement__Group_2__2"
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:735:1: rule__GDomainElement__Group_2__2 : rule__GDomainElement__Group_2__2__Impl ;
+ public final void rule__GDomainElement__Group_2__2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:739:1: ( rule__GDomainElement__Group_2__2__Impl )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:740:2: rule__GDomainElement__Group_2__2__Impl
+ {
+ pushFollow(FOLLOW_rule__GDomainElement__Group_2__2__Impl_in_rule__GDomainElement__Group_2__21459);
+ rule__GDomainElement__Group_2__2__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__GDomainElement__Group_2__2"
+
+
+ // $ANTLR start "rule__GDomainElement__Group_2__2__Impl"
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:746:1: rule__GDomainElement__Group_2__2__Impl : ( ( rule__GDomainElement__Group_2_2__0 )* ) ;
+ public final void rule__GDomainElement__Group_2__2__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:750:1: ( ( ( rule__GDomainElement__Group_2_2__0 )* ) )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:751:1: ( ( rule__GDomainElement__Group_2_2__0 )* )
+ {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:751:1: ( ( rule__GDomainElement__Group_2_2__0 )* )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:752:1: ( rule__GDomainElement__Group_2_2__0 )*
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getGDomainElementAccess().getGroup_2_2());
+ }
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:753:1: ( rule__GDomainElement__Group_2_2__0 )*
+ loop7:
+ do {
+ int alt7=2;
+ int LA7_0 = input.LA(1);
+
+ if ( (LA7_0==20) ) {
+ alt7=1;
+ }
+
+
+ switch (alt7) {
+ case 1 :
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:753:2: rule__GDomainElement__Group_2_2__0
+ {
+ pushFollow(FOLLOW_rule__GDomainElement__Group_2_2__0_in_rule__GDomainElement__Group_2__2__Impl1486);
+ rule__GDomainElement__Group_2_2__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+ break;
+
+ default :
+ break loop7;
+ }
+ } while (true);
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getGDomainElementAccess().getGroup_2_2());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__GDomainElement__Group_2__2__Impl"
+
+
+ // $ANTLR start "rule__GDomainElement__Group_2_2__0"
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:769:1: rule__GDomainElement__Group_2_2__0 : rule__GDomainElement__Group_2_2__0__Impl rule__GDomainElement__Group_2_2__1 ;
+ public final void rule__GDomainElement__Group_2_2__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:773:1: ( rule__GDomainElement__Group_2_2__0__Impl rule__GDomainElement__Group_2_2__1 )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:774:2: rule__GDomainElement__Group_2_2__0__Impl rule__GDomainElement__Group_2_2__1
+ {
+ pushFollow(FOLLOW_rule__GDomainElement__Group_2_2__0__Impl_in_rule__GDomainElement__Group_2_2__01523);
+ rule__GDomainElement__Group_2_2__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FOLLOW_rule__GDomainElement__Group_2_2__1_in_rule__GDomainElement__Group_2_2__01526);
+ rule__GDomainElement__Group_2_2__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__GDomainElement__Group_2_2__0"
+
+
+ // $ANTLR start "rule__GDomainElement__Group_2_2__0__Impl"
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:781:1: rule__GDomainElement__Group_2_2__0__Impl : ( ', ' ) ;
+ public final void rule__GDomainElement__Group_2_2__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:785:1: ( ( ', ' ) )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:786:1: ( ', ' )
+ {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:786:1: ( ', ' )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:787:1: ', '
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getGDomainElementAccess().getCommaSpaceKeyword_2_2_0());
+ }
+ match(input,20,FOLLOW_20_in_rule__GDomainElement__Group_2_2__0__Impl1554); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getGDomainElementAccess().getCommaSpaceKeyword_2_2_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__GDomainElement__Group_2_2__0__Impl"
+
+
+ // $ANTLR start "rule__GDomainElement__Group_2_2__1"
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:800:1: rule__GDomainElement__Group_2_2__1 : rule__GDomainElement__Group_2_2__1__Impl ;
+ public final void rule__GDomainElement__Group_2_2__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:804:1: ( rule__GDomainElement__Group_2_2__1__Impl )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:805:2: rule__GDomainElement__Group_2_2__1__Impl
+ {
+ pushFollow(FOLLOW_rule__GDomainElement__Group_2_2__1__Impl_in_rule__GDomainElement__Group_2_2__11585);
+ rule__GDomainElement__Group_2_2__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__GDomainElement__Group_2_2__1"
+
+
+ // $ANTLR start "rule__GDomainElement__Group_2_2__1__Impl"
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:811:1: rule__GDomainElement__Group_2_2__1__Impl : ( ( rule__GDomainElement__SuperTypeListAssignment_2_2_1 ) ) ;
+ public final void rule__GDomainElement__Group_2_2__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:815:1: ( ( ( rule__GDomainElement__SuperTypeListAssignment_2_2_1 ) ) )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:816:1: ( ( rule__GDomainElement__SuperTypeListAssignment_2_2_1 ) )
+ {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:816:1: ( ( rule__GDomainElement__SuperTypeListAssignment_2_2_1 ) )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:817:1: ( rule__GDomainElement__SuperTypeListAssignment_2_2_1 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getGDomainElementAccess().getSuperTypeListAssignment_2_2_1());
+ }
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:818:1: ( rule__GDomainElement__SuperTypeListAssignment_2_2_1 )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:818:2: rule__GDomainElement__SuperTypeListAssignment_2_2_1
+ {
+ pushFollow(FOLLOW_rule__GDomainElement__SuperTypeListAssignment_2_2_1_in_rule__GDomainElement__Group_2_2__1__Impl1612);
+ rule__GDomainElement__SuperTypeListAssignment_2_2_1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getGDomainElementAccess().getSuperTypeListAssignment_2_2_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__GDomainElement__Group_2_2__1__Impl"
+
+
+ // $ANTLR start "rule__GDomainProperty__Group__0"
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:832:1: rule__GDomainProperty__Group__0 : rule__GDomainProperty__Group__0__Impl rule__GDomainProperty__Group__1 ;
+ public final void rule__GDomainProperty__Group__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:836:1: ( rule__GDomainProperty__Group__0__Impl rule__GDomainProperty__Group__1 )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:837:2: rule__GDomainProperty__Group__0__Impl rule__GDomainProperty__Group__1
+ {
+ pushFollow(FOLLOW_rule__GDomainProperty__Group__0__Impl_in_rule__GDomainProperty__Group__01646);
+ rule__GDomainProperty__Group__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FOLLOW_rule__GDomainProperty__Group__1_in_rule__GDomainProperty__Group__01649);
+ rule__GDomainProperty__Group__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__GDomainProperty__Group__0"
+
+
+ // $ANTLR start "rule__GDomainProperty__Group__0__Impl"
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:844:1: rule__GDomainProperty__Group__0__Impl : ( ( rule__GDomainProperty__Alternatives_0 ) ) ;
+ public final void rule__GDomainProperty__Group__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:848:1: ( ( ( rule__GDomainProperty__Alternatives_0 ) ) )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:849:1: ( ( rule__GDomainProperty__Alternatives_0 ) )
+ {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:849:1: ( ( rule__GDomainProperty__Alternatives_0 ) )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:850:1: ( rule__GDomainProperty__Alternatives_0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getGDomainPropertyAccess().getAlternatives_0());
+ }
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:851:1: ( rule__GDomainProperty__Alternatives_0 )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:851:2: rule__GDomainProperty__Alternatives_0
+ {
+ pushFollow(FOLLOW_rule__GDomainProperty__Alternatives_0_in_rule__GDomainProperty__Group__0__Impl1676);
+ rule__GDomainProperty__Alternatives_0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getGDomainPropertyAccess().getAlternatives_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__GDomainProperty__Group__0__Impl"
+
+
+ // $ANTLR start "rule__GDomainProperty__Group__1"
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:861:1: rule__GDomainProperty__Group__1 : rule__GDomainProperty__Group__1__Impl ;
+ public final void rule__GDomainProperty__Group__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:865:1: ( rule__GDomainProperty__Group__1__Impl )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:866:2: rule__GDomainProperty__Group__1__Impl
+ {
+ pushFollow(FOLLOW_rule__GDomainProperty__Group__1__Impl_in_rule__GDomainProperty__Group__11706);
+ rule__GDomainProperty__Group__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__GDomainProperty__Group__1"
+
+
+ // $ANTLR start "rule__GDomainProperty__Group__1__Impl"
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:872:1: rule__GDomainProperty__Group__1__Impl : ( ';' ) ;
+ public final void rule__GDomainProperty__Group__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:876:1: ( ( ';' ) )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:877:1: ( ';' )
+ {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:877:1: ( ';' )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:878:1: ';'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getGDomainPropertyAccess().getSemicolonKeyword_1());
+ }
+ match(input,21,FOLLOW_21_in_rule__GDomainProperty__Group__1__Impl1734); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getGDomainPropertyAccess().getSemicolonKeyword_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__GDomainProperty__Group__1__Impl"
+
+
+ // $ANTLR start "rule__GDomainProperty__Group_0_0__0"
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:895:1: rule__GDomainProperty__Group_0_0__0 : rule__GDomainProperty__Group_0_0__0__Impl rule__GDomainProperty__Group_0_0__1 ;
+ public final void rule__GDomainProperty__Group_0_0__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:899:1: ( rule__GDomainProperty__Group_0_0__0__Impl rule__GDomainProperty__Group_0_0__1 )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:900:2: rule__GDomainProperty__Group_0_0__0__Impl rule__GDomainProperty__Group_0_0__1
+ {
+ pushFollow(FOLLOW_rule__GDomainProperty__Group_0_0__0__Impl_in_rule__GDomainProperty__Group_0_0__01769);
+ rule__GDomainProperty__Group_0_0__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FOLLOW_rule__GDomainProperty__Group_0_0__1_in_rule__GDomainProperty__Group_0_0__01772);
+ rule__GDomainProperty__Group_0_0__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__GDomainProperty__Group_0_0__0"
+
+
+ // $ANTLR start "rule__GDomainProperty__Group_0_0__0__Impl"
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:907:1: rule__GDomainProperty__Group_0_0__0__Impl : ( ( rule__GDomainProperty__BuiltInAssignment_0_0_0 ) ) ;
+ public final void rule__GDomainProperty__Group_0_0__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:911:1: ( ( ( rule__GDomainProperty__BuiltInAssignment_0_0_0 ) ) )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:912:1: ( ( rule__GDomainProperty__BuiltInAssignment_0_0_0 ) )
+ {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:912:1: ( ( rule__GDomainProperty__BuiltInAssignment_0_0_0 ) )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:913:1: ( rule__GDomainProperty__BuiltInAssignment_0_0_0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getGDomainPropertyAccess().getBuiltInAssignment_0_0_0());
+ }
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:914:1: ( rule__GDomainProperty__BuiltInAssignment_0_0_0 )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:914:2: rule__GDomainProperty__BuiltInAssignment_0_0_0
+ {
+ pushFollow(FOLLOW_rule__GDomainProperty__BuiltInAssignment_0_0_0_in_rule__GDomainProperty__Group_0_0__0__Impl1799);
+ rule__GDomainProperty__BuiltInAssignment_0_0_0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getGDomainPropertyAccess().getBuiltInAssignment_0_0_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__GDomainProperty__Group_0_0__0__Impl"
+
+
+ // $ANTLR start "rule__GDomainProperty__Group_0_0__1"
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:924:1: rule__GDomainProperty__Group_0_0__1 : rule__GDomainProperty__Group_0_0__1__Impl rule__GDomainProperty__Group_0_0__2 ;
+ public final void rule__GDomainProperty__Group_0_0__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:928:1: ( rule__GDomainProperty__Group_0_0__1__Impl rule__GDomainProperty__Group_0_0__2 )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:929:2: rule__GDomainProperty__Group_0_0__1__Impl rule__GDomainProperty__Group_0_0__2
+ {
+ pushFollow(FOLLOW_rule__GDomainProperty__Group_0_0__1__Impl_in_rule__GDomainProperty__Group_0_0__11829);
+ rule__GDomainProperty__Group_0_0__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FOLLOW_rule__GDomainProperty__Group_0_0__2_in_rule__GDomainProperty__Group_0_0__11832);
+ rule__GDomainProperty__Group_0_0__2();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__GDomainProperty__Group_0_0__1"
+
+
+ // $ANTLR start "rule__GDomainProperty__Group_0_0__1__Impl"
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:936:1: rule__GDomainProperty__Group_0_0__1__Impl : ( ( rule__GDomainProperty__ListAssignment_0_0_1 )? ) ;
+ public final void rule__GDomainProperty__Group_0_0__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:940:1: ( ( ( rule__GDomainProperty__ListAssignment_0_0_1 )? ) )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:941:1: ( ( rule__GDomainProperty__ListAssignment_0_0_1 )? )
+ {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:941:1: ( ( rule__GDomainProperty__ListAssignment_0_0_1 )? )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:942:1: ( rule__GDomainProperty__ListAssignment_0_0_1 )?
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getGDomainPropertyAccess().getListAssignment_0_0_1());
+ }
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:943:1: ( rule__GDomainProperty__ListAssignment_0_0_1 )?
+ int alt8=2;
+ int LA8_0 = input.LA(1);
+
+ if ( (LA8_0==24) ) {
+ alt8=1;
+ }
+ switch (alt8) {
+ case 1 :
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:943:2: rule__GDomainProperty__ListAssignment_0_0_1
+ {
+ pushFollow(FOLLOW_rule__GDomainProperty__ListAssignment_0_0_1_in_rule__GDomainProperty__Group_0_0__1__Impl1859);
+ rule__GDomainProperty__ListAssignment_0_0_1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+ break;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getGDomainPropertyAccess().getListAssignment_0_0_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__GDomainProperty__Group_0_0__1__Impl"
+
+
+ // $ANTLR start "rule__GDomainProperty__Group_0_0__2"
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:953:1: rule__GDomainProperty__Group_0_0__2 : rule__GDomainProperty__Group_0_0__2__Impl rule__GDomainProperty__Group_0_0__3 ;
+ public final void rule__GDomainProperty__Group_0_0__2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:957:1: ( rule__GDomainProperty__Group_0_0__2__Impl rule__GDomainProperty__Group_0_0__3 )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:958:2: rule__GDomainProperty__Group_0_0__2__Impl rule__GDomainProperty__Group_0_0__3
+ {
+ pushFollow(FOLLOW_rule__GDomainProperty__Group_0_0__2__Impl_in_rule__GDomainProperty__Group_0_0__21890);
+ rule__GDomainProperty__Group_0_0__2__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FOLLOW_rule__GDomainProperty__Group_0_0__3_in_rule__GDomainProperty__Group_0_0__21893);
+ rule__GDomainProperty__Group_0_0__3();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__GDomainProperty__Group_0_0__2"
+
+
+ // $ANTLR start "rule__GDomainProperty__Group_0_0__2__Impl"
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:965:1: rule__GDomainProperty__Group_0_0__2__Impl : ( ( rule__GDomainProperty__NameAssignment_0_0_2 ) ) ;
+ public final void rule__GDomainProperty__Group_0_0__2__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:969:1: ( ( ( rule__GDomainProperty__NameAssignment_0_0_2 ) ) )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:970:1: ( ( rule__GDomainProperty__NameAssignment_0_0_2 ) )
+ {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:970:1: ( ( rule__GDomainProperty__NameAssignment_0_0_2 ) )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:971:1: ( rule__GDomainProperty__NameAssignment_0_0_2 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getGDomainPropertyAccess().getNameAssignment_0_0_2());
+ }
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:972:1: ( rule__GDomainProperty__NameAssignment_0_0_2 )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:972:2: rule__GDomainProperty__NameAssignment_0_0_2
+ {
+ pushFollow(FOLLOW_rule__GDomainProperty__NameAssignment_0_0_2_in_rule__GDomainProperty__Group_0_0__2__Impl1920);
+ rule__GDomainProperty__NameAssignment_0_0_2();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getGDomainPropertyAccess().getNameAssignment_0_0_2());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__GDomainProperty__Group_0_0__2__Impl"
+
+
+ // $ANTLR start "rule__GDomainProperty__Group_0_0__3"
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:982:1: rule__GDomainProperty__Group_0_0__3 : rule__GDomainProperty__Group_0_0__3__Impl ;
+ public final void rule__GDomainProperty__Group_0_0__3() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:986:1: ( rule__GDomainProperty__Group_0_0__3__Impl )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:987:2: rule__GDomainProperty__Group_0_0__3__Impl
+ {
+ pushFollow(FOLLOW_rule__GDomainProperty__Group_0_0__3__Impl_in_rule__GDomainProperty__Group_0_0__31950);
+ rule__GDomainProperty__Group_0_0__3__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__GDomainProperty__Group_0_0__3"
+
+
+ // $ANTLR start "rule__GDomainProperty__Group_0_0__3__Impl"
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:993:1: rule__GDomainProperty__Group_0_0__3__Impl : ( ( rule__GDomainProperty__Group_0_0_3__0 )? ) ;
+ public final void rule__GDomainProperty__Group_0_0__3__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:997:1: ( ( ( rule__GDomainProperty__Group_0_0_3__0 )? ) )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:998:1: ( ( rule__GDomainProperty__Group_0_0_3__0 )? )
+ {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:998:1: ( ( rule__GDomainProperty__Group_0_0_3__0 )? )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:999:1: ( rule__GDomainProperty__Group_0_0_3__0 )?
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getGDomainPropertyAccess().getGroup_0_0_3());
+ }
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1000:1: ( rule__GDomainProperty__Group_0_0_3__0 )?
+ int alt9=2;
+ int LA9_0 = input.LA(1);
+
+ if ( (LA9_0==22) ) {
+ alt9=1;
+ }
+ switch (alt9) {
+ case 1 :
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1000:2: rule__GDomainProperty__Group_0_0_3__0
+ {
+ pushFollow(FOLLOW_rule__GDomainProperty__Group_0_0_3__0_in_rule__GDomainProperty__Group_0_0__3__Impl1977);
+ rule__GDomainProperty__Group_0_0_3__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+ break;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getGDomainPropertyAccess().getGroup_0_0_3());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__GDomainProperty__Group_0_0__3__Impl"
+
+
+ // $ANTLR start "rule__GDomainProperty__Group_0_0_3__0"
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1018:1: rule__GDomainProperty__Group_0_0_3__0 : rule__GDomainProperty__Group_0_0_3__0__Impl rule__GDomainProperty__Group_0_0_3__1 ;
+ public final void rule__GDomainProperty__Group_0_0_3__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1022:1: ( rule__GDomainProperty__Group_0_0_3__0__Impl rule__GDomainProperty__Group_0_0_3__1 )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1023:2: rule__GDomainProperty__Group_0_0_3__0__Impl rule__GDomainProperty__Group_0_0_3__1
+ {
+ pushFollow(FOLLOW_rule__GDomainProperty__Group_0_0_3__0__Impl_in_rule__GDomainProperty__Group_0_0_3__02016);
+ rule__GDomainProperty__Group_0_0_3__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FOLLOW_rule__GDomainProperty__Group_0_0_3__1_in_rule__GDomainProperty__Group_0_0_3__02019);
+ rule__GDomainProperty__Group_0_0_3__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__GDomainProperty__Group_0_0_3__0"
+
+
+ // $ANTLR start "rule__GDomainProperty__Group_0_0_3__0__Impl"
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1030:1: rule__GDomainProperty__Group_0_0_3__0__Impl : ( '=' ) ;
+ public final void rule__GDomainProperty__Group_0_0_3__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1034:1: ( ( '=' ) )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1035:1: ( '=' )
+ {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1035:1: ( '=' )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1036:1: '='
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getGDomainPropertyAccess().getEqualsSignKeyword_0_0_3_0());
+ }
+ match(input,22,FOLLOW_22_in_rule__GDomainProperty__Group_0_0_3__0__Impl2047); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getGDomainPropertyAccess().getEqualsSignKeyword_0_0_3_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__GDomainProperty__Group_0_0_3__0__Impl"
+
+
+ // $ANTLR start "rule__GDomainProperty__Group_0_0_3__1"
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1049:1: rule__GDomainProperty__Group_0_0_3__1 : rule__GDomainProperty__Group_0_0_3__1__Impl ;
+ public final void rule__GDomainProperty__Group_0_0_3__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1053:1: ( rule__GDomainProperty__Group_0_0_3__1__Impl )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1054:2: rule__GDomainProperty__Group_0_0_3__1__Impl
+ {
+ pushFollow(FOLLOW_rule__GDomainProperty__Group_0_0_3__1__Impl_in_rule__GDomainProperty__Group_0_0_3__12078);
+ rule__GDomainProperty__Group_0_0_3__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__GDomainProperty__Group_0_0_3__1"
+
+
+ // $ANTLR start "rule__GDomainProperty__Group_0_0_3__1__Impl"
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1060:1: rule__GDomainProperty__Group_0_0_3__1__Impl : ( ( rule__GDomainProperty__DefaultValueAssignment_0_0_3_1 ) ) ;
+ public final void rule__GDomainProperty__Group_0_0_3__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1064:1: ( ( ( rule__GDomainProperty__DefaultValueAssignment_0_0_3_1 ) ) )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1065:1: ( ( rule__GDomainProperty__DefaultValueAssignment_0_0_3_1 ) )
+ {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1065:1: ( ( rule__GDomainProperty__DefaultValueAssignment_0_0_3_1 ) )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1066:1: ( rule__GDomainProperty__DefaultValueAssignment_0_0_3_1 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getGDomainPropertyAccess().getDefaultValueAssignment_0_0_3_1());
+ }
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1067:1: ( rule__GDomainProperty__DefaultValueAssignment_0_0_3_1 )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1067:2: rule__GDomainProperty__DefaultValueAssignment_0_0_3_1
+ {
+ pushFollow(FOLLOW_rule__GDomainProperty__DefaultValueAssignment_0_0_3_1_in_rule__GDomainProperty__Group_0_0_3__1__Impl2105);
+ rule__GDomainProperty__DefaultValueAssignment_0_0_3_1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getGDomainPropertyAccess().getDefaultValueAssignment_0_0_3_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__GDomainProperty__Group_0_0_3__1__Impl"
+
+
+ // $ANTLR start "rule__GDomainProperty__Group_0_1__0"
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1081:1: rule__GDomainProperty__Group_0_1__0 : rule__GDomainProperty__Group_0_1__0__Impl rule__GDomainProperty__Group_0_1__1 ;
+ public final void rule__GDomainProperty__Group_0_1__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1085:1: ( rule__GDomainProperty__Group_0_1__0__Impl rule__GDomainProperty__Group_0_1__1 )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1086:2: rule__GDomainProperty__Group_0_1__0__Impl rule__GDomainProperty__Group_0_1__1
+ {
+ pushFollow(FOLLOW_rule__GDomainProperty__Group_0_1__0__Impl_in_rule__GDomainProperty__Group_0_1__02139);
+ rule__GDomainProperty__Group_0_1__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FOLLOW_rule__GDomainProperty__Group_0_1__1_in_rule__GDomainProperty__Group_0_1__02142);
+ rule__GDomainProperty__Group_0_1__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__GDomainProperty__Group_0_1__0"
+
+
+ // $ANTLR start "rule__GDomainProperty__Group_0_1__0__Impl"
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1093:1: rule__GDomainProperty__Group_0_1__0__Impl : ( ( rule__GDomainProperty__RefAssignment_0_1_0 ) ) ;
+ public final void rule__GDomainProperty__Group_0_1__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1097:1: ( ( ( rule__GDomainProperty__RefAssignment_0_1_0 ) ) )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1098:1: ( ( rule__GDomainProperty__RefAssignment_0_1_0 ) )
+ {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1098:1: ( ( rule__GDomainProperty__RefAssignment_0_1_0 ) )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1099:1: ( rule__GDomainProperty__RefAssignment_0_1_0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getGDomainPropertyAccess().getRefAssignment_0_1_0());
+ }
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1100:1: ( rule__GDomainProperty__RefAssignment_0_1_0 )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1100:2: rule__GDomainProperty__RefAssignment_0_1_0
+ {
+ pushFollow(FOLLOW_rule__GDomainProperty__RefAssignment_0_1_0_in_rule__GDomainProperty__Group_0_1__0__Impl2169);
+ rule__GDomainProperty__RefAssignment_0_1_0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getGDomainPropertyAccess().getRefAssignment_0_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__GDomainProperty__Group_0_1__0__Impl"
+
+
+ // $ANTLR start "rule__GDomainProperty__Group_0_1__1"
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1110:1: rule__GDomainProperty__Group_0_1__1 : rule__GDomainProperty__Group_0_1__1__Impl rule__GDomainProperty__Group_0_1__2 ;
+ public final void rule__GDomainProperty__Group_0_1__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1114:1: ( rule__GDomainProperty__Group_0_1__1__Impl rule__GDomainProperty__Group_0_1__2 )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1115:2: rule__GDomainProperty__Group_0_1__1__Impl rule__GDomainProperty__Group_0_1__2
+ {
+ pushFollow(FOLLOW_rule__GDomainProperty__Group_0_1__1__Impl_in_rule__GDomainProperty__Group_0_1__12199);
+ rule__GDomainProperty__Group_0_1__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FOLLOW_rule__GDomainProperty__Group_0_1__2_in_rule__GDomainProperty__Group_0_1__12202);
+ rule__GDomainProperty__Group_0_1__2();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__GDomainProperty__Group_0_1__1"
+
+
+ // $ANTLR start "rule__GDomainProperty__Group_0_1__1__Impl"
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1122:1: rule__GDomainProperty__Group_0_1__1__Impl : ( ( rule__GDomainProperty__ListAssignment_0_1_1 )? ) ;
+ public final void rule__GDomainProperty__Group_0_1__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1126:1: ( ( ( rule__GDomainProperty__ListAssignment_0_1_1 )? ) )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1127:1: ( ( rule__GDomainProperty__ListAssignment_0_1_1 )? )
+ {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1127:1: ( ( rule__GDomainProperty__ListAssignment_0_1_1 )? )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1128:1: ( rule__GDomainProperty__ListAssignment_0_1_1 )?
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getGDomainPropertyAccess().getListAssignment_0_1_1());
+ }
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1129:1: ( rule__GDomainProperty__ListAssignment_0_1_1 )?
+ int alt10=2;
+ int LA10_0 = input.LA(1);
+
+ if ( (LA10_0==24) ) {
+ alt10=1;
+ }
+ switch (alt10) {
+ case 1 :
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1129:2: rule__GDomainProperty__ListAssignment_0_1_1
+ {
+ pushFollow(FOLLOW_rule__GDomainProperty__ListAssignment_0_1_1_in_rule__GDomainProperty__Group_0_1__1__Impl2229);
+ rule__GDomainProperty__ListAssignment_0_1_1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+ break;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getGDomainPropertyAccess().getListAssignment_0_1_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__GDomainProperty__Group_0_1__1__Impl"
+
+
+ // $ANTLR start "rule__GDomainProperty__Group_0_1__2"
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1139:1: rule__GDomainProperty__Group_0_1__2 : rule__GDomainProperty__Group_0_1__2__Impl ;
+ public final void rule__GDomainProperty__Group_0_1__2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1143:1: ( rule__GDomainProperty__Group_0_1__2__Impl )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1144:2: rule__GDomainProperty__Group_0_1__2__Impl
+ {
+ pushFollow(FOLLOW_rule__GDomainProperty__Group_0_1__2__Impl_in_rule__GDomainProperty__Group_0_1__22260);
+ rule__GDomainProperty__Group_0_1__2__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__GDomainProperty__Group_0_1__2"
+
+
+ // $ANTLR start "rule__GDomainProperty__Group_0_1__2__Impl"
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1150:1: rule__GDomainProperty__Group_0_1__2__Impl : ( ( rule__GDomainProperty__NameAssignment_0_1_2 ) ) ;
+ public final void rule__GDomainProperty__Group_0_1__2__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1154:1: ( ( ( rule__GDomainProperty__NameAssignment_0_1_2 ) ) )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1155:1: ( ( rule__GDomainProperty__NameAssignment_0_1_2 ) )
+ {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1155:1: ( ( rule__GDomainProperty__NameAssignment_0_1_2 ) )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1156:1: ( rule__GDomainProperty__NameAssignment_0_1_2 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getGDomainPropertyAccess().getNameAssignment_0_1_2());
+ }
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1157:1: ( rule__GDomainProperty__NameAssignment_0_1_2 )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1157:2: rule__GDomainProperty__NameAssignment_0_1_2
+ {
+ pushFollow(FOLLOW_rule__GDomainProperty__NameAssignment_0_1_2_in_rule__GDomainProperty__Group_0_1__2__Impl2287);
+ rule__GDomainProperty__NameAssignment_0_1_2();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getGDomainPropertyAccess().getNameAssignment_0_1_2());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__GDomainProperty__Group_0_1__2__Impl"
+
+
+ // $ANTLR start "rule__QualifiedName__Group__0"
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1173:1: rule__QualifiedName__Group__0 : rule__QualifiedName__Group__0__Impl rule__QualifiedName__Group__1 ;
+ public final void rule__QualifiedName__Group__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1177:1: ( rule__QualifiedName__Group__0__Impl rule__QualifiedName__Group__1 )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1178:2: rule__QualifiedName__Group__0__Impl rule__QualifiedName__Group__1
+ {
+ pushFollow(FOLLOW_rule__QualifiedName__Group__0__Impl_in_rule__QualifiedName__Group__02323);
+ rule__QualifiedName__Group__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FOLLOW_rule__QualifiedName__Group__1_in_rule__QualifiedName__Group__02326);
+ rule__QualifiedName__Group__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__QualifiedName__Group__0"
+
+
+ // $ANTLR start "rule__QualifiedName__Group__0__Impl"
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1185:1: rule__QualifiedName__Group__0__Impl : ( ruleValidID ) ;
+ public final void rule__QualifiedName__Group__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1189:1: ( ( ruleValidID ) )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1190:1: ( ruleValidID )
+ {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1190:1: ( ruleValidID )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1191:1: ruleValidID
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getQualifiedNameAccess().getValidIDParserRuleCall_0());
+ }
+ pushFollow(FOLLOW_ruleValidID_in_rule__QualifiedName__Group__0__Impl2353);
+ ruleValidID();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getQualifiedNameAccess().getValidIDParserRuleCall_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__QualifiedName__Group__0__Impl"
+
+
+ // $ANTLR start "rule__QualifiedName__Group__1"
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1202:1: rule__QualifiedName__Group__1 : rule__QualifiedName__Group__1__Impl ;
+ public final void rule__QualifiedName__Group__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1206:1: ( rule__QualifiedName__Group__1__Impl )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1207:2: rule__QualifiedName__Group__1__Impl
+ {
+ pushFollow(FOLLOW_rule__QualifiedName__Group__1__Impl_in_rule__QualifiedName__Group__12382);
+ rule__QualifiedName__Group__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__QualifiedName__Group__1"
+
+
+ // $ANTLR start "rule__QualifiedName__Group__1__Impl"
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1213:1: rule__QualifiedName__Group__1__Impl : ( ( rule__QualifiedName__Group_1__0 )* ) ;
+ public final void rule__QualifiedName__Group__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1217:1: ( ( ( rule__QualifiedName__Group_1__0 )* ) )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1218:1: ( ( rule__QualifiedName__Group_1__0 )* )
+ {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1218:1: ( ( rule__QualifiedName__Group_1__0 )* )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1219:1: ( rule__QualifiedName__Group_1__0 )*
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getQualifiedNameAccess().getGroup_1());
+ }
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1220:1: ( rule__QualifiedName__Group_1__0 )*
+ loop11:
+ do {
+ int alt11=2;
+ int LA11_0 = input.LA(1);
+
+ if ( (LA11_0==23) ) {
+ alt11=1;
+ }
+
+
+ switch (alt11) {
+ case 1 :
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1220:2: rule__QualifiedName__Group_1__0
+ {
+ pushFollow(FOLLOW_rule__QualifiedName__Group_1__0_in_rule__QualifiedName__Group__1__Impl2409);
+ rule__QualifiedName__Group_1__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+ break;
+
+ default :
+ break loop11;
+ }
+ } while (true);
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getQualifiedNameAccess().getGroup_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__QualifiedName__Group__1__Impl"
+
+
+ // $ANTLR start "rule__QualifiedName__Group_1__0"
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1234:1: rule__QualifiedName__Group_1__0 : rule__QualifiedName__Group_1__0__Impl rule__QualifiedName__Group_1__1 ;
+ public final void rule__QualifiedName__Group_1__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1238:1: ( rule__QualifiedName__Group_1__0__Impl rule__QualifiedName__Group_1__1 )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1239:2: rule__QualifiedName__Group_1__0__Impl rule__QualifiedName__Group_1__1
+ {
+ pushFollow(FOLLOW_rule__QualifiedName__Group_1__0__Impl_in_rule__QualifiedName__Group_1__02444);
+ rule__QualifiedName__Group_1__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FOLLOW_rule__QualifiedName__Group_1__1_in_rule__QualifiedName__Group_1__02447);
+ rule__QualifiedName__Group_1__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__QualifiedName__Group_1__0"
+
+
+ // $ANTLR start "rule__QualifiedName__Group_1__0__Impl"
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1246:1: rule__QualifiedName__Group_1__0__Impl : ( ( '.' ) ) ;
+ public final void rule__QualifiedName__Group_1__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1250:1: ( ( ( '.' ) ) )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1251:1: ( ( '.' ) )
+ {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1251:1: ( ( '.' ) )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1252:1: ( '.' )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getQualifiedNameAccess().getFullStopKeyword_1_0());
+ }
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1253:1: ( '.' )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1254:2: '.'
+ {
+ match(input,23,FOLLOW_23_in_rule__QualifiedName__Group_1__0__Impl2476); if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getQualifiedNameAccess().getFullStopKeyword_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__QualifiedName__Group_1__0__Impl"
+
+
+ // $ANTLR start "rule__QualifiedName__Group_1__1"
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1265:1: rule__QualifiedName__Group_1__1 : rule__QualifiedName__Group_1__1__Impl ;
+ public final void rule__QualifiedName__Group_1__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1269:1: ( rule__QualifiedName__Group_1__1__Impl )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1270:2: rule__QualifiedName__Group_1__1__Impl
+ {
+ pushFollow(FOLLOW_rule__QualifiedName__Group_1__1__Impl_in_rule__QualifiedName__Group_1__12508);
+ rule__QualifiedName__Group_1__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__QualifiedName__Group_1__1"
+
+
+ // $ANTLR start "rule__QualifiedName__Group_1__1__Impl"
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1276:1: rule__QualifiedName__Group_1__1__Impl : ( ruleValidID ) ;
+ public final void rule__QualifiedName__Group_1__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1280:1: ( ( ruleValidID ) )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1281:1: ( ruleValidID )
+ {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1281:1: ( ruleValidID )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1282:1: ruleValidID
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getQualifiedNameAccess().getValidIDParserRuleCall_1_1());
+ }
+ pushFollow(FOLLOW_ruleValidID_in_rule__QualifiedName__Group_1__1__Impl2535);
+ ruleValidID();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getQualifiedNameAccess().getValidIDParserRuleCall_1_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__QualifiedName__Group_1__1__Impl"
+
+
+ // $ANTLR start "rule__GModel__NameAssignment_1"
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1298:1: rule__GModel__NameAssignment_1 : ( ruleQualifiedName ) ;
+ public final void rule__GModel__NameAssignment_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1302:1: ( ( ruleQualifiedName ) )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1303:1: ( ruleQualifiedName )
+ {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1303:1: ( ruleQualifiedName )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1304:1: ruleQualifiedName
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getGModelAccess().getNameQualifiedNameParserRuleCall_1_0());
+ }
+ pushFollow(FOLLOW_ruleQualifiedName_in_rule__GModel__NameAssignment_12573);
+ ruleQualifiedName();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getGModelAccess().getNameQualifiedNameParserRuleCall_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__GModel__NameAssignment_1"
+
+
+ // $ANTLR start "rule__GModel__TypeListAssignment_3"
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1313:1: rule__GModel__TypeListAssignment_3 : ( ruleGDomainElement ) ;
+ public final void rule__GModel__TypeListAssignment_3() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1317:1: ( ( ruleGDomainElement ) )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1318:1: ( ruleGDomainElement )
+ {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1318:1: ( ruleGDomainElement )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1319:1: ruleGDomainElement
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getGModelAccess().getTypeListGDomainElementParserRuleCall_3_0());
+ }
+ pushFollow(FOLLOW_ruleGDomainElement_in_rule__GModel__TypeListAssignment_32604);
+ ruleGDomainElement();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getGModelAccess().getTypeListGDomainElementParserRuleCall_3_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__GModel__TypeListAssignment_3"
+
+
+ // $ANTLR start "rule__GDomainElement__NameAssignment_1"
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1328:1: rule__GDomainElement__NameAssignment_1 : ( RULE_ID ) ;
+ public final void rule__GDomainElement__NameAssignment_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1332:1: ( ( RULE_ID ) )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1333:1: ( RULE_ID )
+ {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1333:1: ( RULE_ID )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1334:1: RULE_ID
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getGDomainElementAccess().getNameIDTerminalRuleCall_1_0());
+ }
+ match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__GDomainElement__NameAssignment_12635); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getGDomainElementAccess().getNameIDTerminalRuleCall_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__GDomainElement__NameAssignment_1"
+
+
+ // $ANTLR start "rule__GDomainElement__SuperTypeListAssignment_2_1"
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1343:1: rule__GDomainElement__SuperTypeListAssignment_2_1 : ( ( RULE_ID ) ) ;
+ public final void rule__GDomainElement__SuperTypeListAssignment_2_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1347:1: ( ( ( RULE_ID ) ) )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1348:1: ( ( RULE_ID ) )
+ {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1348:1: ( ( RULE_ID ) )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1349:1: ( RULE_ID )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getGDomainElementAccess().getSuperTypeListGDomainElementCrossReference_2_1_0());
+ }
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1350:1: ( RULE_ID )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1351:1: RULE_ID
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getGDomainElementAccess().getSuperTypeListGDomainElementIDTerminalRuleCall_2_1_0_1());
+ }
+ match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__GDomainElement__SuperTypeListAssignment_2_12670); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getGDomainElementAccess().getSuperTypeListGDomainElementIDTerminalRuleCall_2_1_0_1());
+ }
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getGDomainElementAccess().getSuperTypeListGDomainElementCrossReference_2_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__GDomainElement__SuperTypeListAssignment_2_1"
+
+
+ // $ANTLR start "rule__GDomainElement__SuperTypeListAssignment_2_2_1"
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1362:1: rule__GDomainElement__SuperTypeListAssignment_2_2_1 : ( ( RULE_ID ) ) ;
+ public final void rule__GDomainElement__SuperTypeListAssignment_2_2_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1366:1: ( ( ( RULE_ID ) ) )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1367:1: ( ( RULE_ID ) )
+ {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1367:1: ( ( RULE_ID ) )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1368:1: ( RULE_ID )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getGDomainElementAccess().getSuperTypeListGDomainElementCrossReference_2_2_1_0());
+ }
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1369:1: ( RULE_ID )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1370:1: RULE_ID
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getGDomainElementAccess().getSuperTypeListGDomainElementIDTerminalRuleCall_2_2_1_0_1());
+ }
+ match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__GDomainElement__SuperTypeListAssignment_2_2_12709); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getGDomainElementAccess().getSuperTypeListGDomainElementIDTerminalRuleCall_2_2_1_0_1());
+ }
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getGDomainElementAccess().getSuperTypeListGDomainElementCrossReference_2_2_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__GDomainElement__SuperTypeListAssignment_2_2_1"
+
+
+ // $ANTLR start "rule__GDomainElement__PropertyListAssignment_4"
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1381:1: rule__GDomainElement__PropertyListAssignment_4 : ( ruleGDomainProperty ) ;
+ public final void rule__GDomainElement__PropertyListAssignment_4() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1385:1: ( ( ruleGDomainProperty ) )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1386:1: ( ruleGDomainProperty )
+ {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1386:1: ( ruleGDomainProperty )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1387:1: ruleGDomainProperty
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getGDomainElementAccess().getPropertyListGDomainPropertyParserRuleCall_4_0());
+ }
+ pushFollow(FOLLOW_ruleGDomainProperty_in_rule__GDomainElement__PropertyListAssignment_42744);
+ ruleGDomainProperty();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getGDomainElementAccess().getPropertyListGDomainPropertyParserRuleCall_4_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__GDomainElement__PropertyListAssignment_4"
+
+
+ // $ANTLR start "rule__GDomainProperty__BuiltInAssignment_0_0_0"
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1396:1: rule__GDomainProperty__BuiltInAssignment_0_0_0 : ( ( rule__GDomainProperty__BuiltInAlternatives_0_0_0_0 ) ) ;
+ public final void rule__GDomainProperty__BuiltInAssignment_0_0_0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1400:1: ( ( ( rule__GDomainProperty__BuiltInAlternatives_0_0_0_0 ) ) )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1401:1: ( ( rule__GDomainProperty__BuiltInAlternatives_0_0_0_0 ) )
+ {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1401:1: ( ( rule__GDomainProperty__BuiltInAlternatives_0_0_0_0 ) )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1402:1: ( rule__GDomainProperty__BuiltInAlternatives_0_0_0_0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getGDomainPropertyAccess().getBuiltInAlternatives_0_0_0_0());
+ }
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1403:1: ( rule__GDomainProperty__BuiltInAlternatives_0_0_0_0 )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1403:2: rule__GDomainProperty__BuiltInAlternatives_0_0_0_0
+ {
+ pushFollow(FOLLOW_rule__GDomainProperty__BuiltInAlternatives_0_0_0_0_in_rule__GDomainProperty__BuiltInAssignment_0_0_02775);
+ rule__GDomainProperty__BuiltInAlternatives_0_0_0_0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getGDomainPropertyAccess().getBuiltInAlternatives_0_0_0_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__GDomainProperty__BuiltInAssignment_0_0_0"
+
+
+ // $ANTLR start "rule__GDomainProperty__ListAssignment_0_0_1"
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1412:1: rule__GDomainProperty__ListAssignment_0_0_1 : ( ( '[]' ) ) ;
+ public final void rule__GDomainProperty__ListAssignment_0_0_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1416:1: ( ( ( '[]' ) ) )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1417:1: ( ( '[]' ) )
+ {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1417:1: ( ( '[]' ) )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1418:1: ( '[]' )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getGDomainPropertyAccess().getListLeftSquareBracketRightSquareBracketKeyword_0_0_1_0());
+ }
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1419:1: ( '[]' )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1420:1: '[]'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getGDomainPropertyAccess().getListLeftSquareBracketRightSquareBracketKeyword_0_0_1_0());
+ }
+ match(input,24,FOLLOW_24_in_rule__GDomainProperty__ListAssignment_0_0_12813); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getGDomainPropertyAccess().getListLeftSquareBracketRightSquareBracketKeyword_0_0_1_0());
+ }
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getGDomainPropertyAccess().getListLeftSquareBracketRightSquareBracketKeyword_0_0_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__GDomainProperty__ListAssignment_0_0_1"
+
+
+ // $ANTLR start "rule__GDomainProperty__NameAssignment_0_0_2"
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1435:1: rule__GDomainProperty__NameAssignment_0_0_2 : ( RULE_ID ) ;
+ public final void rule__GDomainProperty__NameAssignment_0_0_2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1439:1: ( ( RULE_ID ) )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1440:1: ( RULE_ID )
+ {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1440:1: ( RULE_ID )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1441:1: RULE_ID
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getGDomainPropertyAccess().getNameIDTerminalRuleCall_0_0_2_0());
+ }
+ match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__GDomainProperty__NameAssignment_0_0_22852); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getGDomainPropertyAccess().getNameIDTerminalRuleCall_0_0_2_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__GDomainProperty__NameAssignment_0_0_2"
+
+
+ // $ANTLR start "rule__GDomainProperty__DefaultValueAssignment_0_0_3_1"
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1450:1: rule__GDomainProperty__DefaultValueAssignment_0_0_3_1 : ( ruleGDefault ) ;
+ public final void rule__GDomainProperty__DefaultValueAssignment_0_0_3_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1454:1: ( ( ruleGDefault ) )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1455:1: ( ruleGDefault )
+ {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1455:1: ( ruleGDefault )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1456:1: ruleGDefault
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getGDomainPropertyAccess().getDefaultValueGDefaultParserRuleCall_0_0_3_1_0());
+ }
+ pushFollow(FOLLOW_ruleGDefault_in_rule__GDomainProperty__DefaultValueAssignment_0_0_3_12883);
+ ruleGDefault();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getGDomainPropertyAccess().getDefaultValueGDefaultParserRuleCall_0_0_3_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__GDomainProperty__DefaultValueAssignment_0_0_3_1"
+
+
+ // $ANTLR start "rule__GDomainProperty__RefAssignment_0_1_0"
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1465:1: rule__GDomainProperty__RefAssignment_0_1_0 : ( ( RULE_ID ) ) ;
+ public final void rule__GDomainProperty__RefAssignment_0_1_0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1469:1: ( ( ( RULE_ID ) ) )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1470:1: ( ( RULE_ID ) )
+ {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1470:1: ( ( RULE_ID ) )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1471:1: ( RULE_ID )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getGDomainPropertyAccess().getRefGDomainElementCrossReference_0_1_0_0());
+ }
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1472:1: ( RULE_ID )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1473:1: RULE_ID
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getGDomainPropertyAccess().getRefGDomainElementIDTerminalRuleCall_0_1_0_0_1());
+ }
+ match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__GDomainProperty__RefAssignment_0_1_02918); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getGDomainPropertyAccess().getRefGDomainElementIDTerminalRuleCall_0_1_0_0_1());
+ }
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getGDomainPropertyAccess().getRefGDomainElementCrossReference_0_1_0_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__GDomainProperty__RefAssignment_0_1_0"
+
+
+ // $ANTLR start "rule__GDomainProperty__ListAssignment_0_1_1"
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1484:1: rule__GDomainProperty__ListAssignment_0_1_1 : ( ( '[]' ) ) ;
+ public final void rule__GDomainProperty__ListAssignment_0_1_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1488:1: ( ( ( '[]' ) ) )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1489:1: ( ( '[]' ) )
+ {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1489:1: ( ( '[]' ) )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1490:1: ( '[]' )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getGDomainPropertyAccess().getListLeftSquareBracketRightSquareBracketKeyword_0_1_1_0());
+ }
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1491:1: ( '[]' )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1492:1: '[]'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getGDomainPropertyAccess().getListLeftSquareBracketRightSquareBracketKeyword_0_1_1_0());
+ }
+ match(input,24,FOLLOW_24_in_rule__GDomainProperty__ListAssignment_0_1_12958); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getGDomainPropertyAccess().getListLeftSquareBracketRightSquareBracketKeyword_0_1_1_0());
+ }
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getGDomainPropertyAccess().getListLeftSquareBracketRightSquareBracketKeyword_0_1_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__GDomainProperty__ListAssignment_0_1_1"
+
+
+ // $ANTLR start "rule__GDomainProperty__NameAssignment_0_1_2"
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1507:1: rule__GDomainProperty__NameAssignment_0_1_2 : ( RULE_ID ) ;
+ public final void rule__GDomainProperty__NameAssignment_0_1_2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1511:1: ( ( RULE_ID ) )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1512:1: ( RULE_ID )
+ {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1512:1: ( RULE_ID )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1513:1: RULE_ID
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getGDomainPropertyAccess().getNameIDTerminalRuleCall_0_1_2_0());
+ }
+ match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__GDomainProperty__NameAssignment_0_1_22997); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getGDomainPropertyAccess().getNameIDTerminalRuleCall_0_1_2_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__GDomainProperty__NameAssignment_0_1_2"
+
+
+ // $ANTLR start "rule__GDefault__StringValAssignment_0"
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1522:1: rule__GDefault__StringValAssignment_0 : ( RULE_STRING ) ;
+ public final void rule__GDefault__StringValAssignment_0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1526:1: ( ( RULE_STRING ) )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1527:1: ( RULE_STRING )
+ {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1527:1: ( RULE_STRING )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1528:1: RULE_STRING
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getGDefaultAccess().getStringValSTRINGTerminalRuleCall_0_0());
+ }
+ match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__GDefault__StringValAssignment_03028); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getGDefaultAccess().getStringValSTRINGTerminalRuleCall_0_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__GDefault__StringValAssignment_0"
+
+
+ // $ANTLR start "rule__GDefault__IntValAssignment_1"
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1537:1: rule__GDefault__IntValAssignment_1 : ( RULE_INT ) ;
+ public final void rule__GDefault__IntValAssignment_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1541:1: ( ( RULE_INT ) )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1542:1: ( RULE_INT )
+ {
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1542:1: ( RULE_INT )
+ // ../org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/antlr/internal/InternalGModelDSL.g:1543:1: RULE_INT
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getGDefaultAccess().getIntValINTTerminalRuleCall_1_0());
+ }
+ match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__GDefault__IntValAssignment_13059); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getGDefaultAccess().getIntValINTTerminalRuleCall_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__GDefault__IntValAssignment_1"
+
+ // Delegated rules
+
+
+
+
+ public static final BitSet FOLLOW_ruleGModel_in_entryRuleGModel67 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleGModel74 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__GModel__Group__0_in_ruleGModel100 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleGDomainElement_in_entryRuleGDomainElement127 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleGDomainElement134 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__GDomainElement__Group__0_in_ruleGDomainElement160 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleGDomainProperty_in_entryRuleGDomainProperty187 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleGDomainProperty194 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__GDomainProperty__Group__0_in_ruleGDomainProperty220 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleGDefault_in_entryRuleGDefault247 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleGDefault254 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__GDefault__Alternatives_in_ruleGDefault280 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleValidID_in_entryRuleValidID307 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleValidID314 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_ID_in_ruleValidID340 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleQualifiedName_in_entryRuleQualifiedName366 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleQualifiedName373 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__QualifiedName__Group__0_in_ruleQualifiedName399 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__GDomainProperty__Group_0_0__0_in_rule__GDomainProperty__Alternatives_0435 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__GDomainProperty__Group_0_1__0_in_rule__GDomainProperty__Alternatives_0453 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_11_in_rule__GDomainProperty__BuiltInAlternatives_0_0_0_0487 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_12_in_rule__GDomainProperty__BuiltInAlternatives_0_0_0_0507 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_13_in_rule__GDomainProperty__BuiltInAlternatives_0_0_0_0527 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_14_in_rule__GDomainProperty__BuiltInAlternatives_0_0_0_0547 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__GDefault__StringValAssignment_0_in_rule__GDefault__Alternatives581 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__GDefault__IntValAssignment_1_in_rule__GDefault__Alternatives599 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__GModel__Group__0__Impl_in_rule__GModel__Group__0630 = new BitSet(new long[]{0x0000000000000010L});
+ public static final BitSet FOLLOW_rule__GModel__Group__1_in_rule__GModel__Group__0633 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_15_in_rule__GModel__Group__0__Impl661 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__GModel__Group__1__Impl_in_rule__GModel__Group__1692 = new BitSet(new long[]{0x0000000000010000L});
+ public static final BitSet FOLLOW_rule__GModel__Group__2_in_rule__GModel__Group__1695 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__GModel__NameAssignment_1_in_rule__GModel__Group__1__Impl722 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__GModel__Group__2__Impl_in_rule__GModel__Group__2752 = new BitSet(new long[]{0x0000000000040000L});
+ public static final BitSet FOLLOW_rule__GModel__Group__3_in_rule__GModel__Group__2755 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_16_in_rule__GModel__Group__2__Impl783 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__GModel__Group__3__Impl_in_rule__GModel__Group__3814 = new BitSet(new long[]{0x0000000000020000L});
+ public static final BitSet FOLLOW_rule__GModel__Group__4_in_rule__GModel__Group__3817 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__GModel__TypeListAssignment_3_in_rule__GModel__Group__3__Impl846 = new BitSet(new long[]{0x0000000000040002L});
+ public static final BitSet FOLLOW_rule__GModel__TypeListAssignment_3_in_rule__GModel__Group__3__Impl858 = new BitSet(new long[]{0x0000000000040002L});
+ public static final BitSet FOLLOW_rule__GModel__Group__4__Impl_in_rule__GModel__Group__4891 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_17_in_rule__GModel__Group__4__Impl919 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__GDomainElement__Group__0__Impl_in_rule__GDomainElement__Group__0960 = new BitSet(new long[]{0x0000000000000010L});
+ public static final BitSet FOLLOW_rule__GDomainElement__Group__1_in_rule__GDomainElement__Group__0963 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_18_in_rule__GDomainElement__Group__0__Impl991 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__GDomainElement__Group__1__Impl_in_rule__GDomainElement__Group__11022 = new BitSet(new long[]{0x0000000000090000L});
+ public static final BitSet FOLLOW_rule__GDomainElement__Group__2_in_rule__GDomainElement__Group__11025 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__GDomainElement__NameAssignment_1_in_rule__GDomainElement__Group__1__Impl1052 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__GDomainElement__Group__2__Impl_in_rule__GDomainElement__Group__21082 = new BitSet(new long[]{0x0000000000090000L});
+ public static final BitSet FOLLOW_rule__GDomainElement__Group__3_in_rule__GDomainElement__Group__21085 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__GDomainElement__Group_2__0_in_rule__GDomainElement__Group__2__Impl1112 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__GDomainElement__Group__3__Impl_in_rule__GDomainElement__Group__31143 = new BitSet(new long[]{0x0000000000027810L});
+ public static final BitSet FOLLOW_rule__GDomainElement__Group__4_in_rule__GDomainElement__Group__31146 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_16_in_rule__GDomainElement__Group__3__Impl1174 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__GDomainElement__Group__4__Impl_in_rule__GDomainElement__Group__41205 = new BitSet(new long[]{0x0000000000027810L});
+ public static final BitSet FOLLOW_rule__GDomainElement__Group__5_in_rule__GDomainElement__Group__41208 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__GDomainElement__PropertyListAssignment_4_in_rule__GDomainElement__Group__4__Impl1235 = new BitSet(new long[]{0x0000000000007812L});
+ public static final BitSet FOLLOW_rule__GDomainElement__Group__5__Impl_in_rule__GDomainElement__Group__51266 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_17_in_rule__GDomainElement__Group__5__Impl1294 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__GDomainElement__Group_2__0__Impl_in_rule__GDomainElement__Group_2__01337 = new BitSet(new long[]{0x0000000000000010L});
+ public static final BitSet FOLLOW_rule__GDomainElement__Group_2__1_in_rule__GDomainElement__Group_2__01340 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_19_in_rule__GDomainElement__Group_2__0__Impl1368 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__GDomainElement__Group_2__1__Impl_in_rule__GDomainElement__Group_2__11399 = new BitSet(new long[]{0x0000000000100000L});
+ public static final BitSet FOLLOW_rule__GDomainElement__Group_2__2_in_rule__GDomainElement__Group_2__11402 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__GDomainElement__SuperTypeListAssignment_2_1_in_rule__GDomainElement__Group_2__1__Impl1429 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__GDomainElement__Group_2__2__Impl_in_rule__GDomainElement__Group_2__21459 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__GDomainElement__Group_2_2__0_in_rule__GDomainElement__Group_2__2__Impl1486 = new BitSet(new long[]{0x0000000000100002L});
+ public static final BitSet FOLLOW_rule__GDomainElement__Group_2_2__0__Impl_in_rule__GDomainElement__Group_2_2__01523 = new BitSet(new long[]{0x0000000000000010L});
+ public static final BitSet FOLLOW_rule__GDomainElement__Group_2_2__1_in_rule__GDomainElement__Group_2_2__01526 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_20_in_rule__GDomainElement__Group_2_2__0__Impl1554 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__GDomainElement__Group_2_2__1__Impl_in_rule__GDomainElement__Group_2_2__11585 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__GDomainElement__SuperTypeListAssignment_2_2_1_in_rule__GDomainElement__Group_2_2__1__Impl1612 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__GDomainProperty__Group__0__Impl_in_rule__GDomainProperty__Group__01646 = new BitSet(new long[]{0x0000000000200000L});
+ public static final BitSet FOLLOW_rule__GDomainProperty__Group__1_in_rule__GDomainProperty__Group__01649 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__GDomainProperty__Alternatives_0_in_rule__GDomainProperty__Group__0__Impl1676 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__GDomainProperty__Group__1__Impl_in_rule__GDomainProperty__Group__11706 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_21_in_rule__GDomainProperty__Group__1__Impl1734 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__GDomainProperty__Group_0_0__0__Impl_in_rule__GDomainProperty__Group_0_0__01769 = new BitSet(new long[]{0x0000000001000010L});
+ public static final BitSet FOLLOW_rule__GDomainProperty__Group_0_0__1_in_rule__GDomainProperty__Group_0_0__01772 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__GDomainProperty__BuiltInAssignment_0_0_0_in_rule__GDomainProperty__Group_0_0__0__Impl1799 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__GDomainProperty__Group_0_0__1__Impl_in_rule__GDomainProperty__Group_0_0__11829 = new BitSet(new long[]{0x0000000001000010L});
+ public static final BitSet FOLLOW_rule__GDomainProperty__Group_0_0__2_in_rule__GDomainProperty__Group_0_0__11832 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__GDomainProperty__ListAssignment_0_0_1_in_rule__GDomainProperty__Group_0_0__1__Impl1859 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__GDomainProperty__Group_0_0__2__Impl_in_rule__GDomainProperty__Group_0_0__21890 = new BitSet(new long[]{0x0000000000400000L});
+ public static final BitSet FOLLOW_rule__GDomainProperty__Group_0_0__3_in_rule__GDomainProperty__Group_0_0__21893 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__GDomainProperty__NameAssignment_0_0_2_in_rule__GDomainProperty__Group_0_0__2__Impl1920 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__GDomainProperty__Group_0_0__3__Impl_in_rule__GDomainProperty__Group_0_0__31950 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__GDomainProperty__Group_0_0_3__0_in_rule__GDomainProperty__Group_0_0__3__Impl1977 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__GDomainProperty__Group_0_0_3__0__Impl_in_rule__GDomainProperty__Group_0_0_3__02016 = new BitSet(new long[]{0x0000000000000060L});
+ public static final BitSet FOLLOW_rule__GDomainProperty__Group_0_0_3__1_in_rule__GDomainProperty__Group_0_0_3__02019 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_22_in_rule__GDomainProperty__Group_0_0_3__0__Impl2047 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__GDomainProperty__Group_0_0_3__1__Impl_in_rule__GDomainProperty__Group_0_0_3__12078 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__GDomainProperty__DefaultValueAssignment_0_0_3_1_in_rule__GDomainProperty__Group_0_0_3__1__Impl2105 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__GDomainProperty__Group_0_1__0__Impl_in_rule__GDomainProperty__Group_0_1__02139 = new BitSet(new long[]{0x0000000001000010L});
+ public static final BitSet FOLLOW_rule__GDomainProperty__Group_0_1__1_in_rule__GDomainProperty__Group_0_1__02142 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__GDomainProperty__RefAssignment_0_1_0_in_rule__GDomainProperty__Group_0_1__0__Impl2169 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__GDomainProperty__Group_0_1__1__Impl_in_rule__GDomainProperty__Group_0_1__12199 = new BitSet(new long[]{0x0000000001000010L});
+ public static final BitSet FOLLOW_rule__GDomainProperty__Group_0_1__2_in_rule__GDomainProperty__Group_0_1__12202 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__GDomainProperty__ListAssignment_0_1_1_in_rule__GDomainProperty__Group_0_1__1__Impl2229 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__GDomainProperty__Group_0_1__2__Impl_in_rule__GDomainProperty__Group_0_1__22260 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__GDomainProperty__NameAssignment_0_1_2_in_rule__GDomainProperty__Group_0_1__2__Impl2287 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__QualifiedName__Group__0__Impl_in_rule__QualifiedName__Group__02323 = new BitSet(new long[]{0x0000000000800000L});
+ public static final BitSet FOLLOW_rule__QualifiedName__Group__1_in_rule__QualifiedName__Group__02326 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleValidID_in_rule__QualifiedName__Group__0__Impl2353 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__QualifiedName__Group__1__Impl_in_rule__QualifiedName__Group__12382 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__QualifiedName__Group_1__0_in_rule__QualifiedName__Group__1__Impl2409 = new BitSet(new long[]{0x0000000000800002L});
+ public static final BitSet FOLLOW_rule__QualifiedName__Group_1__0__Impl_in_rule__QualifiedName__Group_1__02444 = new BitSet(new long[]{0x0000000000000010L});
+ public static final BitSet FOLLOW_rule__QualifiedName__Group_1__1_in_rule__QualifiedName__Group_1__02447 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_23_in_rule__QualifiedName__Group_1__0__Impl2476 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__QualifiedName__Group_1__1__Impl_in_rule__QualifiedName__Group_1__12508 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleValidID_in_rule__QualifiedName__Group_1__1__Impl2535 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleQualifiedName_in_rule__GModel__NameAssignment_12573 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleGDomainElement_in_rule__GModel__TypeListAssignment_32604 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_ID_in_rule__GDomainElement__NameAssignment_12635 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_ID_in_rule__GDomainElement__SuperTypeListAssignment_2_12670 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_ID_in_rule__GDomainElement__SuperTypeListAssignment_2_2_12709 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleGDomainProperty_in_rule__GDomainElement__PropertyListAssignment_42744 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__GDomainProperty__BuiltInAlternatives_0_0_0_0_in_rule__GDomainProperty__BuiltInAssignment_0_0_02775 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_24_in_rule__GDomainProperty__ListAssignment_0_0_12813 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_ID_in_rule__GDomainProperty__NameAssignment_0_0_22852 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleGDefault_in_rule__GDomainProperty__DefaultValueAssignment_0_0_3_12883 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_ID_in_rule__GDomainProperty__RefAssignment_0_1_02918 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_24_in_rule__GDomainProperty__ListAssignment_0_1_12958 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_ID_in_rule__GDomainProperty__NameAssignment_0_1_22997 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_STRING_in_rule__GDefault__StringValAssignment_03028 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_INT_in_rule__GDefault__IntValAssignment_13059 = new BitSet(new long[]{0x0000000000000002L});
+
+} \ No newline at end of file
diff --git a/bundles/tooling/org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/internal/GModelDSLActivator.java b/bundles/tooling/org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/internal/GModelDSLActivator.java
new file mode 100644
index 000000000..03f26252b
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.gmodel.ui/src-gen/org/eclipse/fx/ide/gmodel/ui/internal/GModelDSLActivator.java
@@ -0,0 +1,95 @@
+/*
+ * generated by Xtext
+ */
+package org.eclipse.fx.ide.gmodel.ui.internal;
+
+import java.util.Collections;
+import java.util.Map;
+
+import org.apache.log4j.Logger;
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+import org.eclipse.xtext.ui.shared.SharedStateModule;
+import org.eclipse.xtext.util.Modules2;
+import org.osgi.framework.BundleContext;
+
+import com.google.common.collect.Maps;
+import com.google.inject.Guice;
+import com.google.inject.Injector;
+import com.google.inject.Module;
+
+/**
+ * This class was generated. Customizations should only happen in a newly
+ * introduced subclass.
+ */
+public class GModelDSLActivator extends AbstractUIPlugin {
+
+ public static final String ORG_ECLIPSE_FX_IDE_GMODEL_GMODELDSL = "org.eclipse.fx.ide.gmodel.GModelDSL";
+
+ private static final Logger logger = Logger.getLogger(GModelDSLActivator.class);
+
+ private static GModelDSLActivator INSTANCE;
+
+ private Map<String, Injector> injectors = Collections.synchronizedMap(Maps.<String, Injector> newHashMapWithExpectedSize(1));
+
+ @Override
+ public void start(BundleContext context) throws Exception {
+ super.start(context);
+ INSTANCE = this;
+ }
+
+ @Override
+ public void stop(BundleContext context) throws Exception {
+ injectors.clear();
+ INSTANCE = null;
+ super.stop(context);
+ }
+
+ public static GModelDSLActivator getInstance() {
+ return INSTANCE;
+ }
+
+ public Injector getInjector(String language) {
+ synchronized (injectors) {
+ Injector injector = injectors.get(language);
+ if (injector == null) {
+ injectors.put(language, injector = createInjector(language));
+ }
+ return injector;
+ }
+ }
+
+ protected Injector createInjector(String language) {
+ try {
+ Module runtimeModule = getRuntimeModule(language);
+ Module sharedStateModule = getSharedStateModule();
+ Module uiModule = getUiModule(language);
+ Module mergedModule = Modules2.mixin(runtimeModule, sharedStateModule, uiModule);
+ return Guice.createInjector(mergedModule);
+ } catch (Exception e) {
+ logger.error("Failed to create injector for " + language);
+ logger.error(e.getMessage(), e);
+ throw new RuntimeException("Failed to create injector for " + language, e);
+ }
+ }
+
+ protected Module getRuntimeModule(String grammar) {
+ if (ORG_ECLIPSE_FX_IDE_GMODEL_GMODELDSL.equals(grammar)) {
+ return new org.eclipse.fx.ide.gmodel.GModelDSLRuntimeModule();
+ }
+
+ throw new IllegalArgumentException(grammar);
+ }
+
+ protected Module getUiModule(String grammar) {
+ if (ORG_ECLIPSE_FX_IDE_GMODEL_GMODELDSL.equals(grammar)) {
+ return new org.eclipse.fx.ide.gmodel.ui.GModelDSLUiModule(this);
+ }
+
+ throw new IllegalArgumentException(grammar);
+ }
+
+ protected Module getSharedStateModule() {
+ return new SharedStateModule();
+ }
+
+}
diff --git a/bundles/tooling/org.eclipse.fx.ide.gmodel.ui/src/org/eclipse/fx/ide/gmodel/ui/GModelDSLUiModule.java b/bundles/tooling/org.eclipse.fx.ide.gmodel.ui/src/org/eclipse/fx/ide/gmodel/ui/GModelDSLUiModule.java
new file mode 100644
index 000000000..1a2bd916a
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.gmodel.ui/src/org/eclipse/fx/ide/gmodel/ui/GModelDSLUiModule.java
@@ -0,0 +1,15 @@
+/*
+ * generated by Xtext
+ */
+package org.eclipse.fx.ide.gmodel.ui;
+
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+
+/**
+ * Use this class to register components to be used within the IDE.
+ */
+public class GModelDSLUiModule extends org.eclipse.fx.ide.gmodel.ui.AbstractGModelDSLUiModule {
+ public GModelDSLUiModule(AbstractUIPlugin plugin) {
+ super(plugin);
+ }
+}
diff --git a/bundles/tooling/org.eclipse.fx.ide.gmodel.ui/src/org/eclipse/fx/ide/gmodel/ui/contentassist/GModelDSLProposalProvider.xtend b/bundles/tooling/org.eclipse.fx.ide.gmodel.ui/src/org/eclipse/fx/ide/gmodel/ui/contentassist/GModelDSLProposalProvider.xtend
new file mode 100644
index 000000000..d1a67d072
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.gmodel.ui/src/org/eclipse/fx/ide/gmodel/ui/contentassist/GModelDSLProposalProvider.xtend
@@ -0,0 +1,13 @@
+/*
+ * generated by Xtext
+ */
+package org.eclipse.fx.ide.gmodel.ui.contentassist
+
+import org.eclipse.fx.ide.gmodel.ui.contentassist.AbstractGModelDSLProposalProvider
+
+/**
+ * See https://www.eclipse.org/Xtext/documentation/304_ide_concepts.html#content-assist
+ * on how to customize the content assistant.
+ */
+class GModelDSLProposalProvider extends AbstractGModelDSLProposalProvider {
+}
diff --git a/bundles/tooling/org.eclipse.fx.ide.gmodel.ui/src/org/eclipse/fx/ide/gmodel/ui/labeling/GModelDSLDescriptionLabelProvider.xtend b/bundles/tooling/org.eclipse.fx.ide.gmodel.ui/src/org/eclipse/fx/ide/gmodel/ui/labeling/GModelDSLDescriptionLabelProvider.xtend
new file mode 100644
index 000000000..a5cacec62
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.gmodel.ui/src/org/eclipse/fx/ide/gmodel/ui/labeling/GModelDSLDescriptionLabelProvider.xtend
@@ -0,0 +1,24 @@
+/*
+ * generated by Xtext
+ */
+package org.eclipse.fx.ide.gmodel.ui.labeling
+
+//import org.eclipse.xtext.resource.IEObjectDescription
+
+/**
+ * Provides labels for IEObjectDescriptions and IResourceDescriptions.
+ *
+ * See https://www.eclipse.org/Xtext/documentation/304_ide_concepts.html#label-provider
+ */
+class GModelDSLDescriptionLabelProvider extends org.eclipse.xtext.ui.label.DefaultDescriptionLabelProvider {
+
+ // Labels and icons can be computed like this:
+
+// override text(IEObjectDescription ele) {
+// ele.name.toString
+// }
+//
+// override image(IEObjectDescription ele) {
+// ele.EClass.name + '.gif'
+// }
+}
diff --git a/bundles/tooling/org.eclipse.fx.ide.gmodel.ui/src/org/eclipse/fx/ide/gmodel/ui/labeling/GModelDSLLabelProvider.xtend b/bundles/tooling/org.eclipse.fx.ide.gmodel.ui/src/org/eclipse/fx/ide/gmodel/ui/labeling/GModelDSLLabelProvider.xtend
new file mode 100644
index 000000000..40b5e417e
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.gmodel.ui/src/org/eclipse/fx/ide/gmodel/ui/labeling/GModelDSLLabelProvider.xtend
@@ -0,0 +1,29 @@
+/*
+ * generated by Xtext
+ */
+package org.eclipse.fx.ide.gmodel.ui.labeling
+
+import com.google.inject.Inject
+
+/**
+ * Provides labels for EObjects.
+ *
+ * See https://www.eclipse.org/Xtext/documentation/304_ide_concepts.html#label-provider
+ */
+class GModelDSLLabelProvider extends org.eclipse.xtext.ui.label.DefaultEObjectLabelProvider {
+
+ @Inject
+ new(org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider delegate) {
+ super(delegate);
+ }
+
+ // Labels and icons can be computed like this:
+
+// def text(Greeting ele) {
+// 'A greeting to ' + ele.name
+// }
+//
+// def image(Greeting ele) {
+// 'Greeting.gif'
+// }
+}
diff --git a/bundles/tooling/org.eclipse.fx.ide.gmodel.ui/src/org/eclipse/fx/ide/gmodel/ui/outline/GModelDSLOutlineTreeProvider.xtend b/bundles/tooling/org.eclipse.fx.ide.gmodel.ui/src/org/eclipse/fx/ide/gmodel/ui/outline/GModelDSLOutlineTreeProvider.xtend
new file mode 100644
index 000000000..b56eb6aa3
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.gmodel.ui/src/org/eclipse/fx/ide/gmodel/ui/outline/GModelDSLOutlineTreeProvider.xtend
@@ -0,0 +1,13 @@
+/*
+ * generated by Xtext
+ */
+package org.eclipse.fx.ide.gmodel.ui.outline
+
+/**
+ * Customization of the default outline structure.
+ *
+ * See https://www.eclipse.org/Xtext/documentation/304_ide_concepts.html#outline
+ */
+class GModelDSLOutlineTreeProvider extends org.eclipse.xtext.ui.editor.outline.impl.DefaultOutlineTreeProvider {
+
+}
diff --git a/bundles/tooling/org.eclipse.fx.ide.gmodel.ui/src/org/eclipse/fx/ide/gmodel/ui/quickfix/GModelDSLQuickfixProvider.xtend b/bundles/tooling/org.eclipse.fx.ide.gmodel.ui/src/org/eclipse/fx/ide/gmodel/ui/quickfix/GModelDSLQuickfixProvider.xtend
new file mode 100644
index 000000000..39f38f8e8
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.gmodel.ui/src/org/eclipse/fx/ide/gmodel/ui/quickfix/GModelDSLQuickfixProvider.xtend
@@ -0,0 +1,26 @@
+/*
+ * generated by Xtext
+ */
+package org.eclipse.fx.ide.gmodel.ui.quickfix
+
+//import org.eclipse.xtext.ui.editor.quickfix.Fix
+//import org.eclipse.xtext.ui.editor.quickfix.IssueResolutionAcceptor
+//import org.eclipse.xtext.validation.Issue
+
+/**
+ * Custom quickfixes.
+ *
+ * See https://www.eclipse.org/Xtext/documentation/304_ide_concepts.html#quick-fixes
+ */
+class GModelDSLQuickfixProvider extends org.eclipse.xtext.ui.editor.quickfix.DefaultQuickfixProvider {
+
+// @Fix(MyDslValidator::INVALID_NAME)
+// def capitalizeName(Issue issue, IssueResolutionAcceptor acceptor) {
+// acceptor.accept(issue, 'Capitalize name', 'Capitalize the name.', 'upcase.png') [
+// context |
+// val xtextDocument = context.xtextDocument
+// val firstLetter = xtextDocument.get(issue.offset, 1)
+// xtextDocument.replace(issue.offset, 1, firstLetter.toUpperCase)
+// ]
+// }
+}
diff --git a/bundles/tooling/org.eclipse.fx.ide.gmodel.ui/xtend-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/.gitignore b/bundles/tooling/org.eclipse.fx.ide.gmodel.ui/xtend-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/.gitignore
new file mode 100644
index 000000000..4f54672a7
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.gmodel.ui/xtend-gen/org/eclipse/fx/ide/gmodel/ui/contentassist/.gitignore
@@ -0,0 +1,3 @@
+/.GModelDSLProposalProvider.java._trace
+/.GModelDSLProposalProvider.xtendbin
+/GModelDSLProposalProvider.java
diff --git a/bundles/tooling/org.eclipse.fx.ide.gmodel.ui/xtend-gen/org/eclipse/fx/ide/gmodel/ui/labeling/.gitignore b/bundles/tooling/org.eclipse.fx.ide.gmodel.ui/xtend-gen/org/eclipse/fx/ide/gmodel/ui/labeling/.gitignore
new file mode 100644
index 000000000..bb8d21c80
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.gmodel.ui/xtend-gen/org/eclipse/fx/ide/gmodel/ui/labeling/.gitignore
@@ -0,0 +1,6 @@
+/.GModelDSLDescriptionLabelProvider.java._trace
+/.GModelDSLDescriptionLabelProvider.xtendbin
+/.GModelDSLLabelProvider.java._trace
+/.GModelDSLLabelProvider.xtendbin
+/GModelDSLDescriptionLabelProvider.java
+/GModelDSLLabelProvider.java
diff --git a/bundles/tooling/org.eclipse.fx.ide.gmodel.ui/xtend-gen/org/eclipse/fx/ide/gmodel/ui/outline/.gitignore b/bundles/tooling/org.eclipse.fx.ide.gmodel.ui/xtend-gen/org/eclipse/fx/ide/gmodel/ui/outline/.gitignore
new file mode 100644
index 000000000..eeb4de02d
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.gmodel.ui/xtend-gen/org/eclipse/fx/ide/gmodel/ui/outline/.gitignore
@@ -0,0 +1,3 @@
+/.GModelDSLOutlineTreeProvider.java._trace
+/.GModelDSLOutlineTreeProvider.xtendbin
+/GModelDSLOutlineTreeProvider.java
diff --git a/bundles/tooling/org.eclipse.fx.ide.gmodel.ui/xtend-gen/org/eclipse/fx/ide/gmodel/ui/quickfix/.gitignore b/bundles/tooling/org.eclipse.fx.ide.gmodel.ui/xtend-gen/org/eclipse/fx/ide/gmodel/ui/quickfix/.gitignore
new file mode 100644
index 000000000..d85b22c6e
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.gmodel.ui/xtend-gen/org/eclipse/fx/ide/gmodel/ui/quickfix/.gitignore
@@ -0,0 +1,3 @@
+/.GModelDSLQuickfixProvider.java._trace
+/.GModelDSLQuickfixProvider.xtendbin
+/GModelDSLQuickfixProvider.java
diff --git a/bundles/tooling/org.eclipse.fx.ide.gmodel/.antlr-generator-3.2.0-patch.jar b/bundles/tooling/org.eclipse.fx.ide.gmodel/.antlr-generator-3.2.0-patch.jar
new file mode 100644
index 000000000..90516fd7a
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.gmodel/.antlr-generator-3.2.0-patch.jar
Binary files differ
diff --git a/bundles/tooling/org.eclipse.fx.ide.gmodel/.classpath b/bundles/tooling/org.eclipse.fx.ide.gmodel/.classpath
new file mode 100644
index 000000000..9081d4f70
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.gmodel/.classpath
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="src" path="src-gen"/>
+ <classpathentry kind="src" path="xtend-gen"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/bundles/tooling/org.eclipse.fx.ide.gmodel/.gitignore b/bundles/tooling/org.eclipse.fx.ide.gmodel/.gitignore
new file mode 100644
index 000000000..ae3c17260
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.gmodel/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/bundles/tooling/org.eclipse.fx.ide.gmodel/.launch/Generate Language Infrastructure (org.eclipse.fx.ide.gmodel).launch b/bundles/tooling/org.eclipse.fx.ide.gmodel/.launch/Generate Language Infrastructure (org.eclipse.fx.ide.gmodel).launch
new file mode 100644
index 000000000..b7700c5cd
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.gmodel/.launch/Generate Language Infrastructure (org.eclipse.fx.ide.gmodel).launch
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.emf.mwe2.launch.Mwe2LaunchConfigurationType">
+<stringAttribute key="org.eclipse.debug.core.ATTR_REFRESH_SCOPE" value="${working_set:&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;launchConfigurationWorkingSet factoryID=&quot;org.eclipse.ui.internal.WorkingSetFactory&quot; id=&quot;1299248699643_13&quot; label=&quot;working set&quot; name=&quot;working set&quot;&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/org.eclipse.fx.ide.gmodel&quot; type=&quot;4&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/org.eclipse.fx.ide.gmodel.generator&quot; type=&quot;4&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/org.eclipse.fx.ide.gmodel.tests&quot; type=&quot;4&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/org.eclipse.fx.ide.gmodel.ui&quot; type=&quot;4&quot;/&gt;&#10;&lt;/launchConfigurationWorkingSet&gt;}"/>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/org.eclipse.fx.ide.gmodel"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+<listEntry value="4"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.ui.favoriteGroups">
+<listEntry value="org.eclipse.debug.ui.launchGroup.debug"/>
+<listEntry value="org.eclipse.debug.ui.launchGroup.run"/>
+</listAttribute>
+<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="src/org/eclipse/fx/ide/gmodel/GenerateGModelDSL.mwe2"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.fx.ide.gmodel"/>
+<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xmx512m"/>
+</launchConfiguration>
diff --git a/bundles/tooling/org.eclipse.fx.ide.gmodel/.project b/bundles/tooling/org.eclipse.fx.ide.gmodel/.project
new file mode 100644
index 000000000..0907f91bf
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.gmodel/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.fx.ide.gmodel</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.xtext.ui.shared.xtextBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
+ </natures>
+</projectDescription>
diff --git a/bundles/tooling/org.eclipse.fx.ide.gmodel/.settings/org.eclipse.core.resources.prefs b/bundles/tooling/org.eclipse.fx.ide.gmodel/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 000000000..99f26c020
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.gmodel/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/bundles/tooling/org.eclipse.fx.ide.gmodel/.settings/org.eclipse.jdt.core.prefs b/bundles/tooling/org.eclipse.fx.ide.gmodel/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 000000000..0c68a61dc
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.gmodel/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.8
diff --git a/bundles/tooling/org.eclipse.fx.ide.gmodel/META-INF/MANIFEST.MF b/bundles/tooling/org.eclipse.fx.ide.gmodel/META-INF/MANIFEST.MF
new file mode 100644
index 000000000..f780ff1dd
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.gmodel/META-INF/MANIFEST.MF
@@ -0,0 +1,30 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: org.eclipse.fx.ide.gmodel
+Bundle-Vendor: My Company
+Bundle-Version: 1.0.0.qualifier
+Bundle-SymbolicName: org.eclipse.fx.ide.gmodel; singleton:=true
+Bundle-ActivationPolicy: lazy
+Require-Bundle: org.eclipse.xtext;visibility:=reexport,
+ org.eclipse.equinox.common;bundle-version="3.5.0",
+ org.eclipse.xtext.util,
+ org.eclipse.emf.ecore,
+ org.eclipse.emf.common,
+ org.eclipse.xtext.xbase.lib,
+ org.antlr.runtime,
+ org.eclipse.xtext.common.types,
+ org.objectweb.asm;bundle-version="[5.0.1,6.0.0)";resolution:=optional
+Import-Package: org.apache.log4j
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Export-Package: org.eclipse.fx.ide.gmodel,
+ org.eclipse.fx.ide.gmodel.services,
+ org.eclipse.fx.ide.gmodel.gModelDSL,
+ org.eclipse.fx.ide.gmodel.gModelDSL.impl,
+ org.eclipse.fx.ide.gmodel.gModelDSL.util,
+ org.eclipse.fx.ide.gmodel.serializer,
+ org.eclipse.fx.ide.gmodel.parser.antlr,
+ org.eclipse.fx.ide.gmodel.parser.antlr.internal,
+ org.eclipse.fx.ide.gmodel.validation,
+ org.eclipse.fx.ide.gmodel.scoping,
+ org.eclipse.fx.ide.gmodel.generator,
+ org.eclipse.fx.ide.gmodel.formatting
diff --git a/bundles/tooling/org.eclipse.fx.ide.gmodel/build.properties b/bundles/tooling/org.eclipse.fx.ide.gmodel/build.properties
new file mode 100644
index 000000000..f9e12dbbb
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.gmodel/build.properties
@@ -0,0 +1,15 @@
+source.. = src/,\
+ src-gen/,\
+ xtend-gen/
+bin.includes = model/,\
+ META-INF/,\
+ .,\
+ plugin.xml
+additional.bundles = org.eclipse.xtext.xbase,\
+ org.eclipse.xtext.generator,\
+ org.apache.commons.logging,\
+ org.eclipse.emf.codegen.ecore,\
+ org.eclipse.emf.mwe.utils,\
+ org.eclipse.emf.mwe2.launch,\
+ org.eclipse.xtext.common.types,\
+ org.objectweb.asm \ No newline at end of file
diff --git a/bundles/tooling/org.eclipse.fx.ide.gmodel/model/generated/GModelDSL.ecore b/bundles/tooling/org.eclipse.fx.ide.gmodel/model/generated/GModelDSL.ecore
new file mode 100644
index 000000000..e347a5111
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.gmodel/model/generated/GModelDSL.ecore
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ecore:EPackage 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" name="gModelDSL" nsURI="http://www.eclipse.org/fx/ide/gmodel/GModelDSL"
+ nsPrefix="gModelDSL">
+ <eClassifiers xsi:type="ecore:EClass" name="GModel">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="typeList" upperBound="-1"
+ eType="#//GDomainElement" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="GDomainElement">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="superTypeList" unique="false"
+ upperBound="-1" eType="#//GDomainElement"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="propertyList" upperBound="-1"
+ eType="#//GDomainProperty" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="GDomainProperty">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="builtIn" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="list" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="defaultValue" eType="#//GDefault"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="ref" eType="#//GDomainElement"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="GDefault">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="stringVal" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="intVal" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
+ </eClassifiers>
+</ecore:EPackage>
diff --git a/bundles/tooling/org.eclipse.fx.ide.gmodel/model/generated/GModelDSL.genmodel b/bundles/tooling/org.eclipse.fx.ide.gmodel/model/generated/GModelDSL.genmodel
new file mode 100644
index 000000000..64acd307b
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.gmodel/model/generated/GModelDSL.genmodel
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<genmodel:GenModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
+ xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" modelDirectory="/org.eclipse.fx.ide.gmodel/src-gen" editDirectory="/org.eclipse.fx.ide.gmodel.edit/src"
+ editorDirectory="/org.eclipse.fx.ide.gmodel.editor/src" modelPluginID="org.eclipse.fx.ide.gmodel"
+ forceOverwrite="true" modelName="GModelDSL" updateClasspath="false" rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container"
+ complianceLevel="6.0" copyrightFields="false" editPluginID="org.eclipse.fx.ide.gmodel.edit"
+ editorPluginID="org.eclipse.fx.ide.gmodel.editor" runtimeVersion="2.11">
+ <genPackages prefix="GModelDSL" basePackage="org.eclipse.fx.ide.gmodel" disposableProviderFactory="true"
+ fileExtensions="gmod" ecorePackage="GModelDSL.ecore#/">
+ <genClasses ecoreClass="GModelDSL.ecore#//GModel">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute GModelDSL.ecore#//GModel/name"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference GModelDSL.ecore#//GModel/typeList"/>
+ </genClasses>
+ <genClasses ecoreClass="GModelDSL.ecore#//GDomainElement">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute GModelDSL.ecore#//GDomainElement/name"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference GModelDSL.ecore#//GDomainElement/superTypeList"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference GModelDSL.ecore#//GDomainElement/propertyList"/>
+ </genClasses>
+ <genClasses ecoreClass="GModelDSL.ecore#//GDomainProperty">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute GModelDSL.ecore#//GDomainProperty/builtIn"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute GModelDSL.ecore#//GDomainProperty/list"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute GModelDSL.ecore#//GDomainProperty/name"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference GModelDSL.ecore#//GDomainProperty/defaultValue"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference GModelDSL.ecore#//GDomainProperty/ref"/>
+ </genClasses>
+ <genClasses ecoreClass="GModelDSL.ecore#//GDefault">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute GModelDSL.ecore#//GDefault/stringVal"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute GModelDSL.ecore#//GDefault/intVal"/>
+ </genClasses>
+ </genPackages>
+</genmodel:GenModel>
diff --git a/bundles/tooling/org.eclipse.fx.ide.gmodel/plugin.xml b/bundles/tooling/org.eclipse.fx.ide.gmodel/plugin.xml
new file mode 100644
index 000000000..3e5105bfe
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.gmodel/plugin.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<plugin>
+
+ <extension point="org.eclipse.emf.ecore.generated_package">
+ <package
+ uri = "http://www.eclipse.org/fx/ide/gmodel/GModelDSL"
+ class = "org.eclipse.fx.ide.gmodel.gModelDSL.GModelDSLPackage"
+ genModel = "model/generated/GModelDSL.genmodel" />
+
+ </extension>
+
+
+
+</plugin>
diff --git a/bundles/tooling/org.eclipse.fx.ide.gmodel/plugin.xml_gen b/bundles/tooling/org.eclipse.fx.ide.gmodel/plugin.xml_gen
new file mode 100644
index 000000000..3e5105bfe
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.gmodel/plugin.xml_gen
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<plugin>
+
+ <extension point="org.eclipse.emf.ecore.generated_package">
+ <package
+ uri = "http://www.eclipse.org/fx/ide/gmodel/GModelDSL"
+ class = "org.eclipse.fx.ide.gmodel.gModelDSL.GModelDSLPackage"
+ genModel = "model/generated/GModelDSL.genmodel" />
+
+ </extension>
+
+
+
+</plugin>
diff --git a/bundles/tooling/org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/AbstractGModelDSLRuntimeModule.java b/bundles/tooling/org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/AbstractGModelDSLRuntimeModule.java
new file mode 100644
index 000000000..89431b112
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/AbstractGModelDSLRuntimeModule.java
@@ -0,0 +1,156 @@
+/*
+ * generated by Xtext
+ */
+package org.eclipse.fx.ide.gmodel;
+
+import java.util.Properties;
+
+import org.eclipse.xtext.Constants;
+
+import com.google.inject.Binder;
+import com.google.inject.name.Names;
+
+/**
+ * Manual modifications go to {org.eclipse.fx.ide.gmodel.GModelDSLRuntimeModule}
+ */
+@SuppressWarnings("all")
+public abstract class AbstractGModelDSLRuntimeModule extends org.eclipse.xtext.common.types.DefaultCommonTypesRuntimeModule {
+
+ protected Properties properties = null;
+
+ @Override
+ public void configure(Binder binder) {
+ properties = tryBindProperties(binder, "org/eclipse/fx/ide/gmodel/GModelDSL.properties");
+ super.configure(binder);
+ }
+
+ public void configureLanguageName(Binder binder) {
+ binder.bind(String.class).annotatedWith(Names.named(Constants.LANGUAGE_NAME)).toInstance("org.eclipse.fx.ide.gmodel.GModelDSL");
+ }
+
+ public void configureFileExtensions(Binder binder) {
+ if (properties == null || properties.getProperty(Constants.FILE_EXTENSIONS) == null)
+ binder.bind(String.class).annotatedWith(Names.named(Constants.FILE_EXTENSIONS)).toInstance("gmod");
+ }
+
+ // contributed by org.eclipse.xtext.generator.grammarAccess.GrammarAccessFragment
+ public java.lang.ClassLoader bindClassLoaderToInstance() {
+ return getClass().getClassLoader();
+ }
+
+ // contributed by org.eclipse.xtext.generator.grammarAccess.GrammarAccessFragment
+ public Class<? extends org.eclipse.xtext.IGrammarAccess> bindIGrammarAccess() {
+ return org.eclipse.fx.ide.gmodel.services.GModelDSLGrammarAccess.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.serializer.SerializerFragment
+ public Class<? extends org.eclipse.xtext.serializer.sequencer.ISemanticSequencer> bindISemanticSequencer() {
+ return org.eclipse.fx.ide.gmodel.serializer.GModelDSLSemanticSequencer.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.serializer.SerializerFragment
+ public Class<? extends org.eclipse.xtext.serializer.sequencer.ISyntacticSequencer> bindISyntacticSequencer() {
+ return org.eclipse.fx.ide.gmodel.serializer.GModelDSLSyntacticSequencer.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.serializer.SerializerFragment
+ public Class<? extends org.eclipse.xtext.serializer.ISerializer> bindISerializer() {
+ return org.eclipse.xtext.serializer.impl.Serializer.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
+ public Class<? extends org.eclipse.xtext.parser.IParser> bindIParser() {
+ return org.eclipse.fx.ide.gmodel.parser.antlr.GModelDSLParser.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
+ public Class<? extends org.eclipse.xtext.parser.ITokenToStringConverter> bindITokenToStringConverter() {
+ return org.eclipse.xtext.parser.antlr.AntlrTokenToStringConverter.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
+ public Class<? extends org.eclipse.xtext.parser.antlr.IAntlrTokenFileProvider> bindIAntlrTokenFileProvider() {
+ return org.eclipse.fx.ide.gmodel.parser.antlr.GModelDSLAntlrTokenFileProvider.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
+ public Class<? extends org.eclipse.xtext.parser.antlr.Lexer> bindLexer() {
+ return org.eclipse.fx.ide.gmodel.parser.antlr.internal.InternalGModelDSLLexer.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
+ public com.google.inject.Provider<org.eclipse.fx.ide.gmodel.parser.antlr.internal.InternalGModelDSLLexer> provideInternalGModelDSLLexer() {
+ return org.eclipse.xtext.parser.antlr.LexerProvider.create(org.eclipse.fx.ide.gmodel.parser.antlr.internal.InternalGModelDSLLexer.class);
+ }
+
+ // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
+ public void configureRuntimeLexer(com.google.inject.Binder binder) {
+ binder.bind(org.eclipse.xtext.parser.antlr.Lexer.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.parser.antlr.LexerBindings.RUNTIME)).to(org.eclipse.fx.ide.gmodel.parser.antlr.internal.InternalGModelDSLLexer.class);
+ }
+
+ // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
+ public Class<? extends org.eclipse.xtext.parser.antlr.ITokenDefProvider> bindITokenDefProvider() {
+ return org.eclipse.xtext.parser.antlr.AntlrTokenDefProvider.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.validation.ValidatorFragment
+ @org.eclipse.xtext.service.SingletonBinding(eager=true) public Class<? extends org.eclipse.fx.ide.gmodel.validation.GModelDSLValidator> bindGModelDSLValidator() {
+ return org.eclipse.fx.ide.gmodel.validation.GModelDSLValidator.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.scoping.AbstractScopingFragment
+ public Class<? extends org.eclipse.xtext.scoping.IScopeProvider> bindIScopeProvider() {
+ return org.eclipse.fx.ide.gmodel.scoping.GModelDSLScopeProvider.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.scoping.AbstractScopingFragment
+ public void configureIScopeProviderDelegate(com.google.inject.Binder binder) {
+ binder.bind(org.eclipse.xtext.scoping.IScopeProvider.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.scoping.impl.AbstractDeclarativeScopeProvider.NAMED_DELEGATE)).to(org.eclipse.xtext.scoping.impl.ImportedNamespaceAwareLocalScopeProvider.class);
+ }
+
+ // contributed by org.eclipse.xtext.generator.scoping.AbstractScopingFragment
+ public void configureIgnoreCaseLinking(com.google.inject.Binder binder) {
+ binder.bindConstant().annotatedWith(org.eclipse.xtext.scoping.IgnoreCaseLinking.class).to(false);
+ }
+
+ // contributed by org.eclipse.xtext.generator.exporting.QualifiedNamesFragment
+ public Class<? extends org.eclipse.xtext.naming.IQualifiedNameProvider> bindIQualifiedNameProvider() {
+ return org.eclipse.xtext.naming.DefaultDeclarativeQualifiedNameProvider.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.builder.BuilderIntegrationFragment
+ public Class<? extends org.eclipse.xtext.resource.IContainer.Manager> bindIContainer$Manager() {
+ return org.eclipse.xtext.resource.containers.StateBasedContainerManager.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.builder.BuilderIntegrationFragment
+ public Class<? extends org.eclipse.xtext.resource.containers.IAllContainersState.Provider> bindIAllContainersState$Provider() {
+ return org.eclipse.xtext.resource.containers.ResourceSetBasedAllContainersStateProvider.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.builder.BuilderIntegrationFragment
+ public void configureIResourceDescriptions(com.google.inject.Binder binder) {
+ binder.bind(org.eclipse.xtext.resource.IResourceDescriptions.class).to(org.eclipse.xtext.resource.impl.ResourceSetBasedResourceDescriptions.class);
+ }
+
+ // contributed by org.eclipse.xtext.generator.builder.BuilderIntegrationFragment
+ public void configureIResourceDescriptionsPersisted(com.google.inject.Binder binder) {
+ binder.bind(org.eclipse.xtext.resource.IResourceDescriptions.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.resource.impl.ResourceDescriptionsProvider.PERSISTED_DESCRIPTIONS)).to(org.eclipse.xtext.resource.impl.ResourceSetBasedResourceDescriptions.class);
+ }
+
+ // contributed by org.eclipse.xtext.generator.generator.GeneratorFragment
+ public Class<? extends org.eclipse.xtext.generator.IGenerator> bindIGenerator() {
+ return org.eclipse.fx.ide.gmodel.generator.GModelDSLGenerator.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.formatting.FormatterFragment
+ public Class<? extends org.eclipse.xtext.formatting.IFormatter> bindIFormatter() {
+ return org.eclipse.fx.ide.gmodel.formatting.GModelDSLFormatter.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
+ public Class<? extends org.eclipse.xtext.scoping.IGlobalScopeProvider> bindIGlobalScopeProvider() {
+ return org.eclipse.xtext.common.types.xtext.TypesAwareDefaultGlobalScopeProvider.class;
+ }
+
+}
diff --git a/bundles/tooling/org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/GModelDSL.xtextbin b/bundles/tooling/org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/GModelDSL.xtextbin
new file mode 100644
index 000000000..dacf65529
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/GModelDSL.xtextbin
Binary files differ
diff --git a/bundles/tooling/org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/GModelDSLStandaloneSetupGenerated.java b/bundles/tooling/org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/GModelDSLStandaloneSetupGenerated.java
new file mode 100644
index 000000000..fc272cec2
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/GModelDSLStandaloneSetupGenerated.java
@@ -0,0 +1,45 @@
+/*
+ * generated by Xtext
+ */
+package org.eclipse.fx.ide.gmodel;
+
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.xtext.ISetup;
+import org.eclipse.emf.ecore.resource.Resource;
+
+import com.google.inject.Guice;
+import com.google.inject.Injector;
+
+/**
+ * Generated from StandaloneSetup.xpt!
+ */
+@SuppressWarnings("all")
+public class GModelDSLStandaloneSetupGenerated implements ISetup {
+
+ @Override
+ public Injector createInjectorAndDoEMFRegistration() {
+ org.eclipse.xtext.common.TerminalsStandaloneSetup.doSetup();
+
+ Injector injector = createInjector();
+ register(injector);
+ return injector;
+ }
+
+ public Injector createInjector() {
+ return Guice.createInjector(new org.eclipse.fx.ide.gmodel.GModelDSLRuntimeModule());
+ }
+
+ public void register(Injector injector) {
+ if (!EPackage.Registry.INSTANCE.containsKey("http://www.eclipse.org/fx/ide/gmodel/GModelDSL")) {
+ EPackage.Registry.INSTANCE.put("http://www.eclipse.org/fx/ide/gmodel/GModelDSL", org.eclipse.fx.ide.gmodel.gModelDSL.GModelDSLPackage.eINSTANCE);
+ }
+
+ org.eclipse.xtext.resource.IResourceFactory resourceFactory = injector.getInstance(org.eclipse.xtext.resource.IResourceFactory.class);
+ org.eclipse.xtext.resource.IResourceServiceProvider serviceProvider = injector.getInstance(org.eclipse.xtext.resource.IResourceServiceProvider.class);
+ Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap().put("gmod", resourceFactory);
+ org.eclipse.xtext.resource.IResourceServiceProvider.Registry.INSTANCE.getExtensionToFactoryMap().put("gmod", serviceProvider);
+
+
+
+ }
+}
diff --git a/bundles/tooling/org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/gModelDSL/GDefault.java b/bundles/tooling/org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/gModelDSL/GDefault.java
new file mode 100644
index 000000000..377f6759d
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/gModelDSL/GDefault.java
@@ -0,0 +1,78 @@
+/**
+ */
+package org.eclipse.fx.ide.gmodel.gModelDSL;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>GDefault</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.fx.ide.gmodel.gModelDSL.GDefault#getStringVal <em>String Val</em>}</li>
+ * <li>{@link org.eclipse.fx.ide.gmodel.gModelDSL.GDefault#getIntVal <em>Int Val</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.fx.ide.gmodel.gModelDSL.GModelDSLPackage#getGDefault()
+ * @model
+ * @generated
+ */
+public interface GDefault extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>String Val</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>String Val</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>String Val</em>' attribute.
+ * @see #setStringVal(String)
+ * @see org.eclipse.fx.ide.gmodel.gModelDSL.GModelDSLPackage#getGDefault_StringVal()
+ * @model
+ * @generated
+ */
+ String getStringVal();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.fx.ide.gmodel.gModelDSL.GDefault#getStringVal <em>String Val</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>String Val</em>' attribute.
+ * @see #getStringVal()
+ * @generated
+ */
+ void setStringVal(String value);
+
+ /**
+ * Returns the value of the '<em><b>Int Val</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Int Val</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Int Val</em>' attribute.
+ * @see #setIntVal(int)
+ * @see org.eclipse.fx.ide.gmodel.gModelDSL.GModelDSLPackage#getGDefault_IntVal()
+ * @model
+ * @generated
+ */
+ int getIntVal();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.fx.ide.gmodel.gModelDSL.GDefault#getIntVal <em>Int Val</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Int Val</em>' attribute.
+ * @see #getIntVal()
+ * @generated
+ */
+ void setIntVal(int value);
+
+} // GDefault
diff --git a/bundles/tooling/org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/gModelDSL/GDomainElement.java b/bundles/tooling/org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/gModelDSL/GDomainElement.java
new file mode 100644
index 000000000..6064ee07f
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/gModelDSL/GDomainElement.java
@@ -0,0 +1,87 @@
+/**
+ */
+package org.eclipse.fx.ide.gmodel.gModelDSL;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>GDomain Element</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.fx.ide.gmodel.gModelDSL.GDomainElement#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.fx.ide.gmodel.gModelDSL.GDomainElement#getSuperTypeList <em>Super Type List</em>}</li>
+ * <li>{@link org.eclipse.fx.ide.gmodel.gModelDSL.GDomainElement#getPropertyList <em>Property List</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.fx.ide.gmodel.gModelDSL.GModelDSLPackage#getGDomainElement()
+ * @model
+ * @generated
+ */
+public interface GDomainElement extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.fx.ide.gmodel.gModelDSL.GModelDSLPackage#getGDomainElement_Name()
+ * @model
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.fx.ide.gmodel.gModelDSL.GDomainElement#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Super Type List</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.fx.ide.gmodel.gModelDSL.GDomainElement}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Super Type List</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Super Type List</em>' reference list.
+ * @see org.eclipse.fx.ide.gmodel.gModelDSL.GModelDSLPackage#getGDomainElement_SuperTypeList()
+ * @model
+ * @generated
+ */
+ EList<GDomainElement> getSuperTypeList();
+
+ /**
+ * Returns the value of the '<em><b>Property List</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.fx.ide.gmodel.gModelDSL.GDomainProperty}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Property List</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Property List</em>' containment reference list.
+ * @see org.eclipse.fx.ide.gmodel.gModelDSL.GModelDSLPackage#getGDomainElement_PropertyList()
+ * @model containment="true"
+ * @generated
+ */
+ EList<GDomainProperty> getPropertyList();
+
+} // GDomainElement
diff --git a/bundles/tooling/org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/gModelDSL/GDomainProperty.java b/bundles/tooling/org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/gModelDSL/GDomainProperty.java
new file mode 100644
index 000000000..744086752
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/gModelDSL/GDomainProperty.java
@@ -0,0 +1,159 @@
+/**
+ */
+package org.eclipse.fx.ide.gmodel.gModelDSL;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>GDomain Property</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.fx.ide.gmodel.gModelDSL.GDomainProperty#getBuiltIn <em>Built In</em>}</li>
+ * <li>{@link org.eclipse.fx.ide.gmodel.gModelDSL.GDomainProperty#isList <em>List</em>}</li>
+ * <li>{@link org.eclipse.fx.ide.gmodel.gModelDSL.GDomainProperty#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.fx.ide.gmodel.gModelDSL.GDomainProperty#getDefaultValue <em>Default Value</em>}</li>
+ * <li>{@link org.eclipse.fx.ide.gmodel.gModelDSL.GDomainProperty#getRef <em>Ref</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.fx.ide.gmodel.gModelDSL.GModelDSLPackage#getGDomainProperty()
+ * @model
+ * @generated
+ */
+public interface GDomainProperty extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Built In</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Built In</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Built In</em>' attribute.
+ * @see #setBuiltIn(String)
+ * @see org.eclipse.fx.ide.gmodel.gModelDSL.GModelDSLPackage#getGDomainProperty_BuiltIn()
+ * @model
+ * @generated
+ */
+ String getBuiltIn();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.fx.ide.gmodel.gModelDSL.GDomainProperty#getBuiltIn <em>Built In</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Built In</em>' attribute.
+ * @see #getBuiltIn()
+ * @generated
+ */
+ void setBuiltIn(String value);
+
+ /**
+ * Returns the value of the '<em><b>List</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>List</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>List</em>' attribute.
+ * @see #setList(boolean)
+ * @see org.eclipse.fx.ide.gmodel.gModelDSL.GModelDSLPackage#getGDomainProperty_List()
+ * @model
+ * @generated
+ */
+ boolean isList();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.fx.ide.gmodel.gModelDSL.GDomainProperty#isList <em>List</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>List</em>' attribute.
+ * @see #isList()
+ * @generated
+ */
+ void setList(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.fx.ide.gmodel.gModelDSL.GModelDSLPackage#getGDomainProperty_Name()
+ * @model
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.fx.ide.gmodel.gModelDSL.GDomainProperty#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Default Value</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Default Value</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Default Value</em>' containment reference.
+ * @see #setDefaultValue(GDefault)
+ * @see org.eclipse.fx.ide.gmodel.gModelDSL.GModelDSLPackage#getGDomainProperty_DefaultValue()
+ * @model containment="true"
+ * @generated
+ */
+ GDefault getDefaultValue();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.fx.ide.gmodel.gModelDSL.GDomainProperty#getDefaultValue <em>Default Value</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Default Value</em>' containment reference.
+ * @see #getDefaultValue()
+ * @generated
+ */
+ void setDefaultValue(GDefault value);
+
+ /**
+ * Returns the value of the '<em><b>Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Ref</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Ref</em>' reference.
+ * @see #setRef(GDomainElement)
+ * @see org.eclipse.fx.ide.gmodel.gModelDSL.GModelDSLPackage#getGDomainProperty_Ref()
+ * @model
+ * @generated
+ */
+ GDomainElement getRef();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.fx.ide.gmodel.gModelDSL.GDomainProperty#getRef <em>Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Ref</em>' reference.
+ * @see #getRef()
+ * @generated
+ */
+ void setRef(GDomainElement value);
+
+} // GDomainProperty
diff --git a/bundles/tooling/org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/gModelDSL/GModel.java b/bundles/tooling/org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/gModelDSL/GModel.java
new file mode 100644
index 000000000..450f65d78
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/gModelDSL/GModel.java
@@ -0,0 +1,70 @@
+/**
+ */
+package org.eclipse.fx.ide.gmodel.gModelDSL;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>GModel</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.fx.ide.gmodel.gModelDSL.GModel#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.fx.ide.gmodel.gModelDSL.GModel#getTypeList <em>Type List</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.fx.ide.gmodel.gModelDSL.GModelDSLPackage#getGModel()
+ * @model
+ * @generated
+ */
+public interface GModel extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.fx.ide.gmodel.gModelDSL.GModelDSLPackage#getGModel_Name()
+ * @model
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.fx.ide.gmodel.gModelDSL.GModel#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Type List</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.fx.ide.gmodel.gModelDSL.GDomainElement}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Type List</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Type List</em>' containment reference list.
+ * @see org.eclipse.fx.ide.gmodel.gModelDSL.GModelDSLPackage#getGModel_TypeList()
+ * @model containment="true"
+ * @generated
+ */
+ EList<GDomainElement> getTypeList();
+
+} // GModel
diff --git a/bundles/tooling/org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/gModelDSL/GModelDSLFactory.java b/bundles/tooling/org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/gModelDSL/GModelDSLFactory.java
new file mode 100644
index 000000000..a581c544a
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/gModelDSL/GModelDSLFactory.java
@@ -0,0 +1,70 @@
+/**
+ */
+package org.eclipse.fx.ide.gmodel.gModelDSL;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.fx.ide.gmodel.gModelDSL.GModelDSLPackage
+ * @generated
+ */
+public interface GModelDSLFactory extends EFactory
+{
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ GModelDSLFactory eINSTANCE = org.eclipse.fx.ide.gmodel.gModelDSL.impl.GModelDSLFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>GModel</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>GModel</em>'.
+ * @generated
+ */
+ GModel createGModel();
+
+ /**
+ * Returns a new object of class '<em>GDomain Element</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>GDomain Element</em>'.
+ * @generated
+ */
+ GDomainElement createGDomainElement();
+
+ /**
+ * Returns a new object of class '<em>GDomain Property</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>GDomain Property</em>'.
+ * @generated
+ */
+ GDomainProperty createGDomainProperty();
+
+ /**
+ * Returns a new object of class '<em>GDefault</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>GDefault</em>'.
+ * @generated
+ */
+ GDefault createGDefault();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ GModelDSLPackage getGModelDSLPackage();
+
+} //GModelDSLFactory
diff --git a/bundles/tooling/org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/gModelDSL/GModelDSLPackage.java b/bundles/tooling/org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/gModelDSL/GModelDSLPackage.java
new file mode 100644
index 000000000..a50943c98
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/gModelDSL/GModelDSLPackage.java
@@ -0,0 +1,577 @@
+/**
+ */
+package org.eclipse.fx.ide.gmodel.gModelDSL;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see org.eclipse.fx.ide.gmodel.gModelDSL.GModelDSLFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface GModelDSLPackage extends EPackage
+{
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "gModelDSL";
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "http://www.eclipse.org/fx/ide/gmodel/GModelDSL";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "gModelDSL";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ GModelDSLPackage eINSTANCE = org.eclipse.fx.ide.gmodel.gModelDSL.impl.GModelDSLPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.fx.ide.gmodel.gModelDSL.impl.GModelImpl <em>GModel</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.fx.ide.gmodel.gModelDSL.impl.GModelImpl
+ * @see org.eclipse.fx.ide.gmodel.gModelDSL.impl.GModelDSLPackageImpl#getGModel()
+ * @generated
+ */
+ int GMODEL = 0;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GMODEL__NAME = 0;
+
+ /**
+ * The feature id for the '<em><b>Type List</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GMODEL__TYPE_LIST = 1;
+
+ /**
+ * The number of structural features of the '<em>GModel</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GMODEL_FEATURE_COUNT = 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.fx.ide.gmodel.gModelDSL.impl.GDomainElementImpl <em>GDomain Element</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.fx.ide.gmodel.gModelDSL.impl.GDomainElementImpl
+ * @see org.eclipse.fx.ide.gmodel.gModelDSL.impl.GModelDSLPackageImpl#getGDomainElement()
+ * @generated
+ */
+ int GDOMAIN_ELEMENT = 1;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GDOMAIN_ELEMENT__NAME = 0;
+
+ /**
+ * The feature id for the '<em><b>Super Type List</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GDOMAIN_ELEMENT__SUPER_TYPE_LIST = 1;
+
+ /**
+ * The feature id for the '<em><b>Property List</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GDOMAIN_ELEMENT__PROPERTY_LIST = 2;
+
+ /**
+ * The number of structural features of the '<em>GDomain Element</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GDOMAIN_ELEMENT_FEATURE_COUNT = 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.fx.ide.gmodel.gModelDSL.impl.GDomainPropertyImpl <em>GDomain Property</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.fx.ide.gmodel.gModelDSL.impl.GDomainPropertyImpl
+ * @see org.eclipse.fx.ide.gmodel.gModelDSL.impl.GModelDSLPackageImpl#getGDomainProperty()
+ * @generated
+ */
+ int GDOMAIN_PROPERTY = 2;
+
+ /**
+ * The feature id for the '<em><b>Built In</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GDOMAIN_PROPERTY__BUILT_IN = 0;
+
+ /**
+ * The feature id for the '<em><b>List</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GDOMAIN_PROPERTY__LIST = 1;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GDOMAIN_PROPERTY__NAME = 2;
+
+ /**
+ * The feature id for the '<em><b>Default Value</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GDOMAIN_PROPERTY__DEFAULT_VALUE = 3;
+
+ /**
+ * The feature id for the '<em><b>Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GDOMAIN_PROPERTY__REF = 4;
+
+ /**
+ * The number of structural features of the '<em>GDomain Property</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GDOMAIN_PROPERTY_FEATURE_COUNT = 5;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.fx.ide.gmodel.gModelDSL.impl.GDefaultImpl <em>GDefault</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.fx.ide.gmodel.gModelDSL.impl.GDefaultImpl
+ * @see org.eclipse.fx.ide.gmodel.gModelDSL.impl.GModelDSLPackageImpl#getGDefault()
+ * @generated
+ */
+ int GDEFAULT = 3;
+
+ /**
+ * The feature id for the '<em><b>String Val</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GDEFAULT__STRING_VAL = 0;
+
+ /**
+ * The feature id for the '<em><b>Int Val</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GDEFAULT__INT_VAL = 1;
+
+ /**
+ * The number of structural features of the '<em>GDefault</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GDEFAULT_FEATURE_COUNT = 2;
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.fx.ide.gmodel.gModelDSL.GModel <em>GModel</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>GModel</em>'.
+ * @see org.eclipse.fx.ide.gmodel.gModelDSL.GModel
+ * @generated
+ */
+ EClass getGModel();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.fx.ide.gmodel.gModelDSL.GModel#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.fx.ide.gmodel.gModelDSL.GModel#getName()
+ * @see #getGModel()
+ * @generated
+ */
+ EAttribute getGModel_Name();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.fx.ide.gmodel.gModelDSL.GModel#getTypeList <em>Type List</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Type List</em>'.
+ * @see org.eclipse.fx.ide.gmodel.gModelDSL.GModel#getTypeList()
+ * @see #getGModel()
+ * @generated
+ */
+ EReference getGModel_TypeList();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.fx.ide.gmodel.gModelDSL.GDomainElement <em>GDomain Element</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>GDomain Element</em>'.
+ * @see org.eclipse.fx.ide.gmodel.gModelDSL.GDomainElement
+ * @generated
+ */
+ EClass getGDomainElement();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.fx.ide.gmodel.gModelDSL.GDomainElement#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.fx.ide.gmodel.gModelDSL.GDomainElement#getName()
+ * @see #getGDomainElement()
+ * @generated
+ */
+ EAttribute getGDomainElement_Name();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.fx.ide.gmodel.gModelDSL.GDomainElement#getSuperTypeList <em>Super Type List</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Super Type List</em>'.
+ * @see org.eclipse.fx.ide.gmodel.gModelDSL.GDomainElement#getSuperTypeList()
+ * @see #getGDomainElement()
+ * @generated
+ */
+ EReference getGDomainElement_SuperTypeList();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.fx.ide.gmodel.gModelDSL.GDomainElement#getPropertyList <em>Property List</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Property List</em>'.
+ * @see org.eclipse.fx.ide.gmodel.gModelDSL.GDomainElement#getPropertyList()
+ * @see #getGDomainElement()
+ * @generated
+ */
+ EReference getGDomainElement_PropertyList();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.fx.ide.gmodel.gModelDSL.GDomainProperty <em>GDomain Property</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>GDomain Property</em>'.
+ * @see org.eclipse.fx.ide.gmodel.gModelDSL.GDomainProperty
+ * @generated
+ */
+ EClass getGDomainProperty();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.fx.ide.gmodel.gModelDSL.GDomainProperty#getBuiltIn <em>Built In</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Built In</em>'.
+ * @see org.eclipse.fx.ide.gmodel.gModelDSL.GDomainProperty#getBuiltIn()
+ * @see #getGDomainProperty()
+ * @generated
+ */
+ EAttribute getGDomainProperty_BuiltIn();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.fx.ide.gmodel.gModelDSL.GDomainProperty#isList <em>List</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>List</em>'.
+ * @see org.eclipse.fx.ide.gmodel.gModelDSL.GDomainProperty#isList()
+ * @see #getGDomainProperty()
+ * @generated
+ */
+ EAttribute getGDomainProperty_List();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.fx.ide.gmodel.gModelDSL.GDomainProperty#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.fx.ide.gmodel.gModelDSL.GDomainProperty#getName()
+ * @see #getGDomainProperty()
+ * @generated
+ */
+ EAttribute getGDomainProperty_Name();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.fx.ide.gmodel.gModelDSL.GDomainProperty#getDefaultValue <em>Default Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Default Value</em>'.
+ * @see org.eclipse.fx.ide.gmodel.gModelDSL.GDomainProperty#getDefaultValue()
+ * @see #getGDomainProperty()
+ * @generated
+ */
+ EReference getGDomainProperty_DefaultValue();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.fx.ide.gmodel.gModelDSL.GDomainProperty#getRef <em>Ref</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Ref</em>'.
+ * @see org.eclipse.fx.ide.gmodel.gModelDSL.GDomainProperty#getRef()
+ * @see #getGDomainProperty()
+ * @generated
+ */
+ EReference getGDomainProperty_Ref();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.fx.ide.gmodel.gModelDSL.GDefault <em>GDefault</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>GDefault</em>'.
+ * @see org.eclipse.fx.ide.gmodel.gModelDSL.GDefault
+ * @generated
+ */
+ EClass getGDefault();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.fx.ide.gmodel.gModelDSL.GDefault#getStringVal <em>String Val</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>String Val</em>'.
+ * @see org.eclipse.fx.ide.gmodel.gModelDSL.GDefault#getStringVal()
+ * @see #getGDefault()
+ * @generated
+ */
+ EAttribute getGDefault_StringVal();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.fx.ide.gmodel.gModelDSL.GDefault#getIntVal <em>Int Val</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Int Val</em>'.
+ * @see org.eclipse.fx.ide.gmodel.gModelDSL.GDefault#getIntVal()
+ * @see #getGDefault()
+ * @generated
+ */
+ EAttribute getGDefault_IntVal();
+
+ /**
+ * Returns the factory that creates the instances of the model.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the factory that creates the instances of the model.
+ * @generated
+ */
+ GModelDSLFactory getGModelDSLFactory();
+
+ /**
+ * <!-- begin-user-doc -->
+ * Defines literals for the meta objects that represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ interface Literals
+ {
+ /**
+ * The meta object literal for the '{@link org.eclipse.fx.ide.gmodel.gModelDSL.impl.GModelImpl <em>GModel</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.fx.ide.gmodel.gModelDSL.impl.GModelImpl
+ * @see org.eclipse.fx.ide.gmodel.gModelDSL.impl.GModelDSLPackageImpl#getGModel()
+ * @generated
+ */
+ EClass GMODEL = eINSTANCE.getGModel();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute GMODEL__NAME = eINSTANCE.getGModel_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Type List</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference GMODEL__TYPE_LIST = eINSTANCE.getGModel_TypeList();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.fx.ide.gmodel.gModelDSL.impl.GDomainElementImpl <em>GDomain Element</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.fx.ide.gmodel.gModelDSL.impl.GDomainElementImpl
+ * @see org.eclipse.fx.ide.gmodel.gModelDSL.impl.GModelDSLPackageImpl#getGDomainElement()
+ * @generated
+ */
+ EClass GDOMAIN_ELEMENT = eINSTANCE.getGDomainElement();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute GDOMAIN_ELEMENT__NAME = eINSTANCE.getGDomainElement_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Super Type List</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference GDOMAIN_ELEMENT__SUPER_TYPE_LIST = eINSTANCE.getGDomainElement_SuperTypeList();
+
+ /**
+ * The meta object literal for the '<em><b>Property List</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference GDOMAIN_ELEMENT__PROPERTY_LIST = eINSTANCE.getGDomainElement_PropertyList();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.fx.ide.gmodel.gModelDSL.impl.GDomainPropertyImpl <em>GDomain Property</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.fx.ide.gmodel.gModelDSL.impl.GDomainPropertyImpl
+ * @see org.eclipse.fx.ide.gmodel.gModelDSL.impl.GModelDSLPackageImpl#getGDomainProperty()
+ * @generated
+ */
+ EClass GDOMAIN_PROPERTY = eINSTANCE.getGDomainProperty();
+
+ /**
+ * The meta object literal for the '<em><b>Built In</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute GDOMAIN_PROPERTY__BUILT_IN = eINSTANCE.getGDomainProperty_BuiltIn();
+
+ /**
+ * The meta object literal for the '<em><b>List</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute GDOMAIN_PROPERTY__LIST = eINSTANCE.getGDomainProperty_List();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute GDOMAIN_PROPERTY__NAME = eINSTANCE.getGDomainProperty_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Default Value</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference GDOMAIN_PROPERTY__DEFAULT_VALUE = eINSTANCE.getGDomainProperty_DefaultValue();
+
+ /**
+ * The meta object literal for the '<em><b>Ref</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference GDOMAIN_PROPERTY__REF = eINSTANCE.getGDomainProperty_Ref();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.fx.ide.gmodel.gModelDSL.impl.GDefaultImpl <em>GDefault</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.fx.ide.gmodel.gModelDSL.impl.GDefaultImpl
+ * @see org.eclipse.fx.ide.gmodel.gModelDSL.impl.GModelDSLPackageImpl#getGDefault()
+ * @generated
+ */
+ EClass GDEFAULT = eINSTANCE.getGDefault();
+
+ /**
+ * The meta object literal for the '<em><b>String Val</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute GDEFAULT__STRING_VAL = eINSTANCE.getGDefault_StringVal();
+
+ /**
+ * The meta object literal for the '<em><b>Int Val</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute GDEFAULT__INT_VAL = eINSTANCE.getGDefault_IntVal();
+
+ }
+
+} //GModelDSLPackage
diff --git a/bundles/tooling/org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/gModelDSL/impl/GDefaultImpl.java b/bundles/tooling/org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/gModelDSL/impl/GDefaultImpl.java
new file mode 100644
index 000000000..6cc6a2ca6
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/gModelDSL/impl/GDefaultImpl.java
@@ -0,0 +1,233 @@
+/**
+ */
+package org.eclipse.fx.ide.gmodel.gModelDSL.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.fx.ide.gmodel.gModelDSL.GDefault;
+import org.eclipse.fx.ide.gmodel.gModelDSL.GModelDSLPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>GDefault</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.fx.ide.gmodel.gModelDSL.impl.GDefaultImpl#getStringVal <em>String Val</em>}</li>
+ * <li>{@link org.eclipse.fx.ide.gmodel.gModelDSL.impl.GDefaultImpl#getIntVal <em>Int Val</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class GDefaultImpl extends MinimalEObjectImpl.Container implements GDefault
+{
+ /**
+ * The default value of the '{@link #getStringVal() <em>String Val</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getStringVal()
+ * @generated
+ * @ordered
+ */
+ protected static final String STRING_VAL_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getStringVal() <em>String Val</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getStringVal()
+ * @generated
+ * @ordered
+ */
+ protected String stringVal = STRING_VAL_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getIntVal() <em>Int Val</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getIntVal()
+ * @generated
+ * @ordered
+ */
+ protected static final int INT_VAL_EDEFAULT = 0;
+
+ /**
+ * The cached value of the '{@link #getIntVal() <em>Int Val</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getIntVal()
+ * @generated
+ * @ordered
+ */
+ protected int intVal = INT_VAL_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected GDefaultImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return GModelDSLPackage.Literals.GDEFAULT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getStringVal()
+ {
+ return stringVal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setStringVal(String newStringVal)
+ {
+ String oldStringVal = stringVal;
+ stringVal = newStringVal;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, GModelDSLPackage.GDEFAULT__STRING_VAL, oldStringVal, stringVal));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getIntVal()
+ {
+ return intVal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIntVal(int newIntVal)
+ {
+ int oldIntVal = intVal;
+ intVal = newIntVal;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, GModelDSLPackage.GDEFAULT__INT_VAL, oldIntVal, intVal));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case GModelDSLPackage.GDEFAULT__STRING_VAL:
+ return getStringVal();
+ case GModelDSLPackage.GDEFAULT__INT_VAL:
+ return getIntVal();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case GModelDSLPackage.GDEFAULT__STRING_VAL:
+ setStringVal((String)newValue);
+ return;
+ case GModelDSLPackage.GDEFAULT__INT_VAL:
+ setIntVal((Integer)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case GModelDSLPackage.GDEFAULT__STRING_VAL:
+ setStringVal(STRING_VAL_EDEFAULT);
+ return;
+ case GModelDSLPackage.GDEFAULT__INT_VAL:
+ setIntVal(INT_VAL_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case GModelDSLPackage.GDEFAULT__STRING_VAL:
+ return STRING_VAL_EDEFAULT == null ? stringVal != null : !STRING_VAL_EDEFAULT.equals(stringVal);
+ case GModelDSLPackage.GDEFAULT__INT_VAL:
+ return intVal != INT_VAL_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (stringVal: ");
+ result.append(stringVal);
+ result.append(", intVal: ");
+ result.append(intVal);
+ result.append(')');
+ return result.toString();
+ }
+
+} //GDefaultImpl
diff --git a/bundles/tooling/org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/gModelDSL/impl/GDomainElementImpl.java b/bundles/tooling/org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/gModelDSL/impl/GDomainElementImpl.java
new file mode 100644
index 000000000..ffe887383
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/gModelDSL/impl/GDomainElementImpl.java
@@ -0,0 +1,277 @@
+/**
+ */
+package org.eclipse.fx.ide.gmodel.gModelDSL.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.fx.ide.gmodel.gModelDSL.GDomainElement;
+import org.eclipse.fx.ide.gmodel.gModelDSL.GDomainProperty;
+import org.eclipse.fx.ide.gmodel.gModelDSL.GModelDSLPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>GDomain Element</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.fx.ide.gmodel.gModelDSL.impl.GDomainElementImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.fx.ide.gmodel.gModelDSL.impl.GDomainElementImpl#getSuperTypeList <em>Super Type List</em>}</li>
+ * <li>{@link org.eclipse.fx.ide.gmodel.gModelDSL.impl.GDomainElementImpl#getPropertyList <em>Property List</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class GDomainElementImpl extends MinimalEObjectImpl.Container implements GDomainElement
+{
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getSuperTypeList() <em>Super Type List</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSuperTypeList()
+ * @generated
+ * @ordered
+ */
+ protected EList<GDomainElement> superTypeList;
+
+ /**
+ * The cached value of the '{@link #getPropertyList() <em>Property List</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPropertyList()
+ * @generated
+ * @ordered
+ */
+ protected EList<GDomainProperty> propertyList;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected GDomainElementImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return GModelDSLPackage.Literals.GDOMAIN_ELEMENT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName()
+ {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName)
+ {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, GModelDSLPackage.GDOMAIN_ELEMENT__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<GDomainElement> getSuperTypeList()
+ {
+ if (superTypeList == null)
+ {
+ superTypeList = new EObjectResolvingEList<GDomainElement>(GDomainElement.class, this, GModelDSLPackage.GDOMAIN_ELEMENT__SUPER_TYPE_LIST);
+ }
+ return superTypeList;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<GDomainProperty> getPropertyList()
+ {
+ if (propertyList == null)
+ {
+ propertyList = new EObjectContainmentEList<GDomainProperty>(GDomainProperty.class, this, GModelDSLPackage.GDOMAIN_ELEMENT__PROPERTY_LIST);
+ }
+ return propertyList;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case GModelDSLPackage.GDOMAIN_ELEMENT__PROPERTY_LIST:
+ return ((InternalEList<?>)getPropertyList()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case GModelDSLPackage.GDOMAIN_ELEMENT__NAME:
+ return getName();
+ case GModelDSLPackage.GDOMAIN_ELEMENT__SUPER_TYPE_LIST:
+ return getSuperTypeList();
+ case GModelDSLPackage.GDOMAIN_ELEMENT__PROPERTY_LIST:
+ return getPropertyList();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case GModelDSLPackage.GDOMAIN_ELEMENT__NAME:
+ setName((String)newValue);
+ return;
+ case GModelDSLPackage.GDOMAIN_ELEMENT__SUPER_TYPE_LIST:
+ getSuperTypeList().clear();
+ getSuperTypeList().addAll((Collection<? extends GDomainElement>)newValue);
+ return;
+ case GModelDSLPackage.GDOMAIN_ELEMENT__PROPERTY_LIST:
+ getPropertyList().clear();
+ getPropertyList().addAll((Collection<? extends GDomainProperty>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case GModelDSLPackage.GDOMAIN_ELEMENT__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case GModelDSLPackage.GDOMAIN_ELEMENT__SUPER_TYPE_LIST:
+ getSuperTypeList().clear();
+ return;
+ case GModelDSLPackage.GDOMAIN_ELEMENT__PROPERTY_LIST:
+ getPropertyList().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case GModelDSLPackage.GDOMAIN_ELEMENT__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case GModelDSLPackage.GDOMAIN_ELEMENT__SUPER_TYPE_LIST:
+ return superTypeList != null && !superTypeList.isEmpty();
+ case GModelDSLPackage.GDOMAIN_ELEMENT__PROPERTY_LIST:
+ return propertyList != null && !propertyList.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (name: ");
+ result.append(name);
+ result.append(')');
+ return result.toString();
+ }
+
+} //GDomainElementImpl
diff --git a/bundles/tooling/org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/gModelDSL/impl/GDomainPropertyImpl.java b/bundles/tooling/org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/gModelDSL/impl/GDomainPropertyImpl.java
new file mode 100644
index 000000000..fd9d01ef3
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/gModelDSL/impl/GDomainPropertyImpl.java
@@ -0,0 +1,443 @@
+/**
+ */
+package org.eclipse.fx.ide.gmodel.gModelDSL.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.fx.ide.gmodel.gModelDSL.GDefault;
+import org.eclipse.fx.ide.gmodel.gModelDSL.GDomainElement;
+import org.eclipse.fx.ide.gmodel.gModelDSL.GDomainProperty;
+import org.eclipse.fx.ide.gmodel.gModelDSL.GModelDSLPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>GDomain Property</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.fx.ide.gmodel.gModelDSL.impl.GDomainPropertyImpl#getBuiltIn <em>Built In</em>}</li>
+ * <li>{@link org.eclipse.fx.ide.gmodel.gModelDSL.impl.GDomainPropertyImpl#isList <em>List</em>}</li>
+ * <li>{@link org.eclipse.fx.ide.gmodel.gModelDSL.impl.GDomainPropertyImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.fx.ide.gmodel.gModelDSL.impl.GDomainPropertyImpl#getDefaultValue <em>Default Value</em>}</li>
+ * <li>{@link org.eclipse.fx.ide.gmodel.gModelDSL.impl.GDomainPropertyImpl#getRef <em>Ref</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class GDomainPropertyImpl extends MinimalEObjectImpl.Container implements GDomainProperty
+{
+ /**
+ * The default value of the '{@link #getBuiltIn() <em>Built In</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBuiltIn()
+ * @generated
+ * @ordered
+ */
+ protected static final String BUILT_IN_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getBuiltIn() <em>Built In</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBuiltIn()
+ * @generated
+ * @ordered
+ */
+ protected String builtIn = BUILT_IN_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #isList() <em>List</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isList()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean LIST_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isList() <em>List</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isList()
+ * @generated
+ * @ordered
+ */
+ protected boolean list = LIST_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getDefaultValue() <em>Default Value</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDefaultValue()
+ * @generated
+ * @ordered
+ */
+ protected GDefault defaultValue;
+
+ /**
+ * The cached value of the '{@link #getRef() <em>Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRef()
+ * @generated
+ * @ordered
+ */
+ protected GDomainElement ref;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected GDomainPropertyImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return GModelDSLPackage.Literals.GDOMAIN_PROPERTY;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getBuiltIn()
+ {
+ return builtIn;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBuiltIn(String newBuiltIn)
+ {
+ String oldBuiltIn = builtIn;
+ builtIn = newBuiltIn;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, GModelDSLPackage.GDOMAIN_PROPERTY__BUILT_IN, oldBuiltIn, builtIn));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isList()
+ {
+ return list;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setList(boolean newList)
+ {
+ boolean oldList = list;
+ list = newList;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, GModelDSLPackage.GDOMAIN_PROPERTY__LIST, oldList, list));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName()
+ {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName)
+ {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, GModelDSLPackage.GDOMAIN_PROPERTY__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public GDefault getDefaultValue()
+ {
+ return defaultValue;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetDefaultValue(GDefault newDefaultValue, NotificationChain msgs)
+ {
+ GDefault oldDefaultValue = defaultValue;
+ defaultValue = newDefaultValue;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, GModelDSLPackage.GDOMAIN_PROPERTY__DEFAULT_VALUE, oldDefaultValue, newDefaultValue);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setDefaultValue(GDefault newDefaultValue)
+ {
+ if (newDefaultValue != defaultValue)
+ {
+ NotificationChain msgs = null;
+ if (defaultValue != null)
+ msgs = ((InternalEObject)defaultValue).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - GModelDSLPackage.GDOMAIN_PROPERTY__DEFAULT_VALUE, null, msgs);
+ if (newDefaultValue != null)
+ msgs = ((InternalEObject)newDefaultValue).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - GModelDSLPackage.GDOMAIN_PROPERTY__DEFAULT_VALUE, null, msgs);
+ msgs = basicSetDefaultValue(newDefaultValue, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, GModelDSLPackage.GDOMAIN_PROPERTY__DEFAULT_VALUE, newDefaultValue, newDefaultValue));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public GDomainElement getRef()
+ {
+ if (ref != null && ref.eIsProxy())
+ {
+ InternalEObject oldRef = (InternalEObject)ref;
+ ref = (GDomainElement)eResolveProxy(oldRef);
+ if (ref != oldRef)
+ {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, GModelDSLPackage.GDOMAIN_PROPERTY__REF, oldRef, ref));
+ }
+ }
+ return ref;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public GDomainElement basicGetRef()
+ {
+ return ref;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setRef(GDomainElement newRef)
+ {
+ GDomainElement oldRef = ref;
+ ref = newRef;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, GModelDSLPackage.GDOMAIN_PROPERTY__REF, oldRef, ref));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case GModelDSLPackage.GDOMAIN_PROPERTY__DEFAULT_VALUE:
+ return basicSetDefaultValue(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case GModelDSLPackage.GDOMAIN_PROPERTY__BUILT_IN:
+ return getBuiltIn();
+ case GModelDSLPackage.GDOMAIN_PROPERTY__LIST:
+ return isList();
+ case GModelDSLPackage.GDOMAIN_PROPERTY__NAME:
+ return getName();
+ case GModelDSLPackage.GDOMAIN_PROPERTY__DEFAULT_VALUE:
+ return getDefaultValue();
+ case GModelDSLPackage.GDOMAIN_PROPERTY__REF:
+ if (resolve) return getRef();
+ return basicGetRef();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case GModelDSLPackage.GDOMAIN_PROPERTY__BUILT_IN:
+ setBuiltIn((String)newValue);
+ return;
+ case GModelDSLPackage.GDOMAIN_PROPERTY__LIST:
+ setList((Boolean)newValue);
+ return;
+ case GModelDSLPackage.GDOMAIN_PROPERTY__NAME:
+ setName((String)newValue);
+ return;
+ case GModelDSLPackage.GDOMAIN_PROPERTY__DEFAULT_VALUE:
+ setDefaultValue((GDefault)newValue);
+ return;
+ case GModelDSLPackage.GDOMAIN_PROPERTY__REF:
+ setRef((GDomainElement)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case GModelDSLPackage.GDOMAIN_PROPERTY__BUILT_IN:
+ setBuiltIn(BUILT_IN_EDEFAULT);
+ return;
+ case GModelDSLPackage.GDOMAIN_PROPERTY__LIST:
+ setList(LIST_EDEFAULT);
+ return;
+ case GModelDSLPackage.GDOMAIN_PROPERTY__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case GModelDSLPackage.GDOMAIN_PROPERTY__DEFAULT_VALUE:
+ setDefaultValue((GDefault)null);
+ return;
+ case GModelDSLPackage.GDOMAIN_PROPERTY__REF:
+ setRef((GDomainElement)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case GModelDSLPackage.GDOMAIN_PROPERTY__BUILT_IN:
+ return BUILT_IN_EDEFAULT == null ? builtIn != null : !BUILT_IN_EDEFAULT.equals(builtIn);
+ case GModelDSLPackage.GDOMAIN_PROPERTY__LIST:
+ return list != LIST_EDEFAULT;
+ case GModelDSLPackage.GDOMAIN_PROPERTY__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case GModelDSLPackage.GDOMAIN_PROPERTY__DEFAULT_VALUE:
+ return defaultValue != null;
+ case GModelDSLPackage.GDOMAIN_PROPERTY__REF:
+ return ref != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (builtIn: ");
+ result.append(builtIn);
+ result.append(", list: ");
+ result.append(list);
+ result.append(", name: ");
+ result.append(name);
+ result.append(')');
+ return result.toString();
+ }
+
+} //GDomainPropertyImpl
diff --git a/bundles/tooling/org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/gModelDSL/impl/GModelDSLFactoryImpl.java b/bundles/tooling/org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/gModelDSL/impl/GModelDSLFactoryImpl.java
new file mode 100644
index 000000000..cfa719267
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/gModelDSL/impl/GModelDSLFactoryImpl.java
@@ -0,0 +1,142 @@
+/**
+ */
+package org.eclipse.fx.ide.gmodel.gModelDSL.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.fx.ide.gmodel.gModelDSL.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class GModelDSLFactoryImpl extends EFactoryImpl implements GModelDSLFactory
+{
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static GModelDSLFactory init()
+ {
+ try
+ {
+ GModelDSLFactory theGModelDSLFactory = (GModelDSLFactory)EPackage.Registry.INSTANCE.getEFactory(GModelDSLPackage.eNS_URI);
+ if (theGModelDSLFactory != null)
+ {
+ return theGModelDSLFactory;
+ }
+ }
+ catch (Exception exception)
+ {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new GModelDSLFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public GModelDSLFactoryImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass)
+ {
+ switch (eClass.getClassifierID())
+ {
+ case GModelDSLPackage.GMODEL: return createGModel();
+ case GModelDSLPackage.GDOMAIN_ELEMENT: return createGDomainElement();
+ case GModelDSLPackage.GDOMAIN_PROPERTY: return createGDomainProperty();
+ case GModelDSLPackage.GDEFAULT: return createGDefault();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public GModel createGModel()
+ {
+ GModelImpl gModel = new GModelImpl();
+ return gModel;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public GDomainElement createGDomainElement()
+ {
+ GDomainElementImpl gDomainElement = new GDomainElementImpl();
+ return gDomainElement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public GDomainProperty createGDomainProperty()
+ {
+ GDomainPropertyImpl gDomainProperty = new GDomainPropertyImpl();
+ return gDomainProperty;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public GDefault createGDefault()
+ {
+ GDefaultImpl gDefault = new GDefaultImpl();
+ return gDefault;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public GModelDSLPackage getGModelDSLPackage()
+ {
+ return (GModelDSLPackage)getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static GModelDSLPackage getPackage()
+ {
+ return GModelDSLPackage.eINSTANCE;
+ }
+
+} //GModelDSLFactoryImpl
diff --git a/bundles/tooling/org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/gModelDSL/impl/GModelDSLPackageImpl.java b/bundles/tooling/org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/gModelDSL/impl/GModelDSLPackageImpl.java
new file mode 100644
index 000000000..384920e45
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/gModelDSL/impl/GModelDSLPackageImpl.java
@@ -0,0 +1,384 @@
+/**
+ */
+package org.eclipse.fx.ide.gmodel.gModelDSL.impl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+
+import org.eclipse.fx.ide.gmodel.gModelDSL.GDefault;
+import org.eclipse.fx.ide.gmodel.gModelDSL.GDomainElement;
+import org.eclipse.fx.ide.gmodel.gModelDSL.GDomainProperty;
+import org.eclipse.fx.ide.gmodel.gModelDSL.GModel;
+import org.eclipse.fx.ide.gmodel.gModelDSL.GModelDSLFactory;
+import org.eclipse.fx.ide.gmodel.gModelDSL.GModelDSLPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class GModelDSLPackageImpl extends EPackageImpl implements GModelDSLPackage
+{
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass gModelEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass gDomainElementEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass gDomainPropertyEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass gDefaultEClass = null;
+
+ /**
+ * Creates an instance of the model <b>Package</b>, registered with
+ * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+ * package URI value.
+ * <p>Note: the correct way to create the package is via the static
+ * factory method {@link #init init()}, which also performs
+ * initialization of the package, or returns the registered package,
+ * if one already exists.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.ecore.EPackage.Registry
+ * @see org.eclipse.fx.ide.gmodel.gModelDSL.GModelDSLPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private GModelDSLPackageImpl()
+ {
+ super(eNS_URI, GModelDSLFactory.eINSTANCE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static boolean isInited = false;
+
+ /**
+ * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+ *
+ * <p>This method is used to initialize {@link GModelDSLPackage#eINSTANCE} when that field is accessed.
+ * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #eNS_URI
+ * @see #createPackageContents()
+ * @see #initializePackageContents()
+ * @generated
+ */
+ public static GModelDSLPackage init()
+ {
+ if (isInited) return (GModelDSLPackage)EPackage.Registry.INSTANCE.getEPackage(GModelDSLPackage.eNS_URI);
+
+ // Obtain or create and register package
+ GModelDSLPackageImpl theGModelDSLPackage = (GModelDSLPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof GModelDSLPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new GModelDSLPackageImpl());
+
+ isInited = true;
+
+ // Create package meta-data objects
+ theGModelDSLPackage.createPackageContents();
+
+ // Initialize created meta-data
+ theGModelDSLPackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theGModelDSLPackage.freeze();
+
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(GModelDSLPackage.eNS_URI, theGModelDSLPackage);
+ return theGModelDSLPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getGModel()
+ {
+ return gModelEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getGModel_Name()
+ {
+ return (EAttribute)gModelEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getGModel_TypeList()
+ {
+ return (EReference)gModelEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getGDomainElement()
+ {
+ return gDomainElementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getGDomainElement_Name()
+ {
+ return (EAttribute)gDomainElementEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getGDomainElement_SuperTypeList()
+ {
+ return (EReference)gDomainElementEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getGDomainElement_PropertyList()
+ {
+ return (EReference)gDomainElementEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getGDomainProperty()
+ {
+ return gDomainPropertyEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getGDomainProperty_BuiltIn()
+ {
+ return (EAttribute)gDomainPropertyEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getGDomainProperty_List()
+ {
+ return (EAttribute)gDomainPropertyEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getGDomainProperty_Name()
+ {
+ return (EAttribute)gDomainPropertyEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getGDomainProperty_DefaultValue()
+ {
+ return (EReference)gDomainPropertyEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getGDomainProperty_Ref()
+ {
+ return (EReference)gDomainPropertyEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getGDefault()
+ {
+ return gDefaultEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getGDefault_StringVal()
+ {
+ return (EAttribute)gDefaultEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getGDefault_IntVal()
+ {
+ return (EAttribute)gDefaultEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public GModelDSLFactory getGModelDSLFactory()
+ {
+ return (GModelDSLFactory)getEFactoryInstance();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isCreated = false;
+
+ /**
+ * Creates the meta-model objects for the package. This method is
+ * guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void createPackageContents()
+ {
+ if (isCreated) return;
+ isCreated = true;
+
+ // Create classes and their features
+ gModelEClass = createEClass(GMODEL);
+ createEAttribute(gModelEClass, GMODEL__NAME);
+ createEReference(gModelEClass, GMODEL__TYPE_LIST);
+
+ gDomainElementEClass = createEClass(GDOMAIN_ELEMENT);
+ createEAttribute(gDomainElementEClass, GDOMAIN_ELEMENT__NAME);
+ createEReference(gDomainElementEClass, GDOMAIN_ELEMENT__SUPER_TYPE_LIST);
+ createEReference(gDomainElementEClass, GDOMAIN_ELEMENT__PROPERTY_LIST);
+
+ gDomainPropertyEClass = createEClass(GDOMAIN_PROPERTY);
+ createEAttribute(gDomainPropertyEClass, GDOMAIN_PROPERTY__BUILT_IN);
+ createEAttribute(gDomainPropertyEClass, GDOMAIN_PROPERTY__LIST);
+ createEAttribute(gDomainPropertyEClass, GDOMAIN_PROPERTY__NAME);
+ createEReference(gDomainPropertyEClass, GDOMAIN_PROPERTY__DEFAULT_VALUE);
+ createEReference(gDomainPropertyEClass, GDOMAIN_PROPERTY__REF);
+
+ gDefaultEClass = createEClass(GDEFAULT);
+ createEAttribute(gDefaultEClass, GDEFAULT__STRING_VAL);
+ createEAttribute(gDefaultEClass, GDEFAULT__INT_VAL);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * Complete the initialization of the package and its meta-model. This
+ * method is guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void initializePackageContents()
+ {
+ if (isInitialized) return;
+ isInitialized = true;
+
+ // Initialize package
+ setName(eNAME);
+ setNsPrefix(eNS_PREFIX);
+ setNsURI(eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+
+ // Initialize classes and features; add operations and parameters
+ initEClass(gModelEClass, GModel.class, "GModel", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getGModel_Name(), ecorePackage.getEString(), "name", null, 0, 1, GModel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getGModel_TypeList(), this.getGDomainElement(), null, "typeList", null, 0, -1, GModel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(gDomainElementEClass, GDomainElement.class, "GDomainElement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getGDomainElement_Name(), ecorePackage.getEString(), "name", null, 0, 1, GDomainElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getGDomainElement_SuperTypeList(), this.getGDomainElement(), null, "superTypeList", null, 0, -1, GDomainElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getGDomainElement_PropertyList(), this.getGDomainProperty(), null, "propertyList", null, 0, -1, GDomainElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(gDomainPropertyEClass, GDomainProperty.class, "GDomainProperty", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getGDomainProperty_BuiltIn(), ecorePackage.getEString(), "builtIn", null, 0, 1, GDomainProperty.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getGDomainProperty_List(), ecorePackage.getEBoolean(), "list", null, 0, 1, GDomainProperty.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getGDomainProperty_Name(), ecorePackage.getEString(), "name", null, 0, 1, GDomainProperty.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getGDomainProperty_DefaultValue(), this.getGDefault(), null, "defaultValue", null, 0, 1, GDomainProperty.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getGDomainProperty_Ref(), this.getGDomainElement(), null, "ref", null, 0, 1, GDomainProperty.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(gDefaultEClass, GDefault.class, "GDefault", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getGDefault_StringVal(), ecorePackage.getEString(), "stringVal", null, 0, 1, GDefault.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getGDefault_IntVal(), ecorePackage.getEInt(), "intVal", null, 0, 1, GDefault.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ // Create resource
+ createResource(eNS_URI);
+ }
+
+} //GModelDSLPackageImpl
diff --git a/bundles/tooling/org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/gModelDSL/impl/GModelImpl.java b/bundles/tooling/org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/gModelDSL/impl/GModelImpl.java
new file mode 100644
index 000000000..ecec4e0ed
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/gModelDSL/impl/GModelImpl.java
@@ -0,0 +1,240 @@
+/**
+ */
+package org.eclipse.fx.ide.gmodel.gModelDSL.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.fx.ide.gmodel.gModelDSL.GDomainElement;
+import org.eclipse.fx.ide.gmodel.gModelDSL.GModel;
+import org.eclipse.fx.ide.gmodel.gModelDSL.GModelDSLPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>GModel</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.fx.ide.gmodel.gModelDSL.impl.GModelImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.fx.ide.gmodel.gModelDSL.impl.GModelImpl#getTypeList <em>Type List</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class GModelImpl extends MinimalEObjectImpl.Container implements GModel
+{
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getTypeList() <em>Type List</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTypeList()
+ * @generated
+ * @ordered
+ */
+ protected EList<GDomainElement> typeList;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected GModelImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return GModelDSLPackage.Literals.GMODEL;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName()
+ {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName)
+ {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, GModelDSLPackage.GMODEL__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<GDomainElement> getTypeList()
+ {
+ if (typeList == null)
+ {
+ typeList = new EObjectContainmentEList<GDomainElement>(GDomainElement.class, this, GModelDSLPackage.GMODEL__TYPE_LIST);
+ }
+ return typeList;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case GModelDSLPackage.GMODEL__TYPE_LIST:
+ return ((InternalEList<?>)getTypeList()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case GModelDSLPackage.GMODEL__NAME:
+ return getName();
+ case GModelDSLPackage.GMODEL__TYPE_LIST:
+ return getTypeList();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case GModelDSLPackage.GMODEL__NAME:
+ setName((String)newValue);
+ return;
+ case GModelDSLPackage.GMODEL__TYPE_LIST:
+ getTypeList().clear();
+ getTypeList().addAll((Collection<? extends GDomainElement>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case GModelDSLPackage.GMODEL__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case GModelDSLPackage.GMODEL__TYPE_LIST:
+ getTypeList().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case GModelDSLPackage.GMODEL__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case GModelDSLPackage.GMODEL__TYPE_LIST:
+ return typeList != null && !typeList.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (name: ");
+ result.append(name);
+ result.append(')');
+ return result.toString();
+ }
+
+} //GModelImpl
diff --git a/bundles/tooling/org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/gModelDSL/util/GModelDSLAdapterFactory.java b/bundles/tooling/org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/gModelDSL/util/GModelDSLAdapterFactory.java
new file mode 100644
index 000000000..a4b6621e1
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/gModelDSL/util/GModelDSLAdapterFactory.java
@@ -0,0 +1,192 @@
+/**
+ */
+package org.eclipse.fx.ide.gmodel.gModelDSL.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.fx.ide.gmodel.gModelDSL.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.fx.ide.gmodel.gModelDSL.GModelDSLPackage
+ * @generated
+ */
+public class GModelDSLAdapterFactory extends AdapterFactoryImpl
+{
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static GModelDSLPackage modelPackage;
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public GModelDSLAdapterFactory()
+ {
+ if (modelPackage == null)
+ {
+ modelPackage = GModelDSLPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Returns whether this factory is applicable for the type of the object.
+ * <!-- begin-user-doc -->
+ * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+ * <!-- end-user-doc -->
+ * @return whether this factory is applicable for the type of the object.
+ * @generated
+ */
+ @Override
+ public boolean isFactoryForType(Object object)
+ {
+ if (object == modelPackage)
+ {
+ return true;
+ }
+ if (object instanceof EObject)
+ {
+ return ((EObject)object).eClass().getEPackage() == modelPackage;
+ }
+ return false;
+ }
+
+ /**
+ * The switch that delegates to the <code>createXXX</code> methods.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected GModelDSLSwitch<Adapter> modelSwitch =
+ new GModelDSLSwitch<Adapter>()
+ {
+ @Override
+ public Adapter caseGModel(GModel object)
+ {
+ return createGModelAdapter();
+ }
+ @Override
+ public Adapter caseGDomainElement(GDomainElement object)
+ {
+ return createGDomainElementAdapter();
+ }
+ @Override
+ public Adapter caseGDomainProperty(GDomainProperty object)
+ {
+ return createGDomainPropertyAdapter();
+ }
+ @Override
+ public Adapter caseGDefault(GDefault object)
+ {
+ return createGDefaultAdapter();
+ }
+ @Override
+ public Adapter defaultCase(EObject object)
+ {
+ return createEObjectAdapter();
+ }
+ };
+
+ /**
+ * Creates an adapter for the <code>target</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param target the object to adapt.
+ * @return the adapter for the <code>target</code>.
+ * @generated
+ */
+ @Override
+ public Adapter createAdapter(Notifier target)
+ {
+ return modelSwitch.doSwitch((EObject)target);
+ }
+
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.fx.ide.gmodel.gModelDSL.GModel <em>GModel</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.fx.ide.gmodel.gModelDSL.GModel
+ * @generated
+ */
+ public Adapter createGModelAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.fx.ide.gmodel.gModelDSL.GDomainElement <em>GDomain Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.fx.ide.gmodel.gModelDSL.GDomainElement
+ * @generated
+ */
+ public Adapter createGDomainElementAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.fx.ide.gmodel.gModelDSL.GDomainProperty <em>GDomain Property</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.fx.ide.gmodel.gModelDSL.GDomainProperty
+ * @generated
+ */
+ public Adapter createGDomainPropertyAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.fx.ide.gmodel.gModelDSL.GDefault <em>GDefault</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.fx.ide.gmodel.gModelDSL.GDefault
+ * @generated
+ */
+ public Adapter createGDefaultAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for the default case.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @generated
+ */
+ public Adapter createEObjectAdapter()
+ {
+ return null;
+ }
+
+} //GModelDSLAdapterFactory
diff --git a/bundles/tooling/org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/gModelDSL/util/GModelDSLSwitch.java b/bundles/tooling/org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/gModelDSL/util/GModelDSLSwitch.java
new file mode 100644
index 000000000..afe0e9f24
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/gModelDSL/util/GModelDSLSwitch.java
@@ -0,0 +1,188 @@
+/**
+ */
+package org.eclipse.fx.ide.gmodel.gModelDSL.util;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.util.Switch;
+
+import org.eclipse.fx.ide.gmodel.gModelDSL.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.fx.ide.gmodel.gModelDSL.GModelDSLPackage
+ * @generated
+ */
+public class GModelDSLSwitch<T> extends Switch<T>
+{
+ /**
+ * The cached model package
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static GModelDSLPackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public GModelDSLSwitch()
+ {
+ if (modelPackage == null)
+ {
+ modelPackage = GModelDSLPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Checks whether this is a switch for the given package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param ePackage the package in question.
+ * @return whether this is a switch for the given package.
+ * @generated
+ */
+ @Override
+ protected boolean isSwitchFor(EPackage ePackage)
+ {
+ return ePackage == modelPackage;
+ }
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the first non-null result returned by a <code>caseXXX</code> call.
+ * @generated
+ */
+ @Override
+ protected T doSwitch(int classifierID, EObject theEObject)
+ {
+ switch (classifierID)
+ {
+ case GModelDSLPackage.GMODEL:
+ {
+ GModel gModel = (GModel)theEObject;
+ T result = caseGModel(gModel);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case GModelDSLPackage.GDOMAIN_ELEMENT:
+ {
+ GDomainElement gDomainElement = (GDomainElement)theEObject;
+ T result = caseGDomainElement(gDomainElement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case GModelDSLPackage.GDOMAIN_PROPERTY:
+ {
+ GDomainProperty gDomainProperty = (GDomainProperty)theEObject;
+ T result = caseGDomainProperty(gDomainProperty);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case GModelDSLPackage.GDEFAULT:
+ {
+ GDefault gDefault = (GDefault)theEObject;
+ T result = caseGDefault(gDefault);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ default: return defaultCase(theEObject);
+ }
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>GModel</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>GModel</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseGModel(GModel object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>GDomain Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>GDomain Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseGDomainElement(GDomainElement object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>GDomain Property</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>GDomain Property</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseGDomainProperty(GDomainProperty object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>GDefault</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>GDefault</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseGDefault(GDefault object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch, but this is the last case anyway.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+ * @generated
+ */
+ @Override
+ public T defaultCase(EObject object)
+ {
+ return null;
+ }
+
+} //GModelDSLSwitch
diff --git a/bundles/tooling/org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/GModelDSLAntlrTokenFileProvider.java b/bundles/tooling/org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/GModelDSLAntlrTokenFileProvider.java
new file mode 100644
index 000000000..b869f86e0
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/GModelDSLAntlrTokenFileProvider.java
@@ -0,0 +1,16 @@
+/*
+ * generated by Xtext
+ */
+package org.eclipse.fx.ide.gmodel.parser.antlr;
+
+import java.io.InputStream;
+import org.eclipse.xtext.parser.antlr.IAntlrTokenFileProvider;
+
+public class GModelDSLAntlrTokenFileProvider implements IAntlrTokenFileProvider {
+
+ @Override
+ public InputStream getAntlrTokenFile() {
+ ClassLoader classLoader = getClass().getClassLoader();
+ return classLoader.getResourceAsStream("org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.tokens");
+ }
+}
diff --git a/bundles/tooling/org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/GModelDSLParser.java b/bundles/tooling/org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/GModelDSLParser.java
new file mode 100644
index 000000000..7b14df474
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/GModelDSLParser.java
@@ -0,0 +1,39 @@
+/*
+ * generated by Xtext
+ */
+package org.eclipse.fx.ide.gmodel.parser.antlr;
+
+import com.google.inject.Inject;
+
+import org.eclipse.xtext.parser.antlr.XtextTokenStream;
+import org.eclipse.fx.ide.gmodel.services.GModelDSLGrammarAccess;
+
+public class GModelDSLParser extends org.eclipse.xtext.parser.antlr.AbstractAntlrParser {
+
+ @Inject
+ private GModelDSLGrammarAccess grammarAccess;
+
+ @Override
+ protected void setInitialHiddenTokens(XtextTokenStream tokenStream) {
+ tokenStream.setInitialHiddenTokens("RULE_WS", "RULE_ML_COMMENT", "RULE_SL_COMMENT");
+ }
+
+ @Override
+ protected org.eclipse.fx.ide.gmodel.parser.antlr.internal.InternalGModelDSLParser createParser(XtextTokenStream stream) {
+ return new org.eclipse.fx.ide.gmodel.parser.antlr.internal.InternalGModelDSLParser(stream, getGrammarAccess());
+ }
+
+ @Override
+ protected String getDefaultRuleName() {
+ return "GModel";
+ }
+
+ public GModelDSLGrammarAccess getGrammarAccess() {
+ return this.grammarAccess;
+ }
+
+ public void setGrammarAccess(GModelDSLGrammarAccess grammarAccess) {
+ this.grammarAccess = grammarAccess;
+ }
+
+}
diff --git a/bundles/tooling/org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g b/bundles/tooling/org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g
new file mode 100644
index 000000000..5efa00b77
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g
@@ -0,0 +1,570 @@
+/*
+ * generated by Xtext
+ */
+grammar InternalGModelDSL;
+
+options {
+ superClass=AbstractInternalAntlrParser;
+
+}
+
+@lexer::header {
+package org.eclipse.fx.ide.gmodel.parser.antlr.internal;
+
+// Hack: Use our own Lexer superclass by means of import.
+// Currently there is no other way to specify the superclass for the lexer.
+import org.eclipse.xtext.parser.antlr.Lexer;
+}
+
+@parser::header {
+package org.eclipse.fx.ide.gmodel.parser.antlr.internal;
+
+import org.eclipse.xtext.*;
+import org.eclipse.xtext.parser.*;
+import org.eclipse.xtext.parser.impl.*;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.xtext.parser.antlr.AbstractInternalAntlrParser;
+import org.eclipse.xtext.parser.antlr.XtextTokenStream;
+import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
+import org.eclipse.xtext.parser.antlr.AntlrDatatypeRuleToken;
+import org.eclipse.fx.ide.gmodel.services.GModelDSLGrammarAccess;
+
+}
+
+@parser::members {
+
+ private GModelDSLGrammarAccess grammarAccess;
+
+ public InternalGModelDSLParser(TokenStream input, GModelDSLGrammarAccess grammarAccess) {
+ this(input);
+ this.grammarAccess = grammarAccess;
+ registerRules(grammarAccess.getGrammar());
+ }
+
+ @Override
+ protected String getFirstRuleName() {
+ return "GModel";
+ }
+
+ @Override
+ protected GModelDSLGrammarAccess getGrammarAccess() {
+ return grammarAccess;
+ }
+}
+
+@rulecatch {
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+}
+
+
+
+
+// Entry rule entryRuleGModel
+entryRuleGModel returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getGModelRule()); }
+ iv_ruleGModel=ruleGModel
+ { $current=$iv_ruleGModel.current; }
+ EOF
+;
+
+// Rule GModel
+ruleGModel returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0='package'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getGModelAccess().getPackageKeyword_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getGModelAccess().getNameQualifiedNameParserRuleCall_1_0());
+ }
+ lv_name_1_0=ruleQualifiedName {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getGModelRule());
+ }
+ set(
+ $current,
+ "name",
+ lv_name_1_0,
+ "QualifiedName");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+) otherlv_2='{'
+ {
+ newLeafNode(otherlv_2, grammarAccess.getGModelAccess().getLeftCurlyBracketKeyword_2());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getGModelAccess().getTypeListGDomainElementParserRuleCall_3_0());
+ }
+ lv_typeList_3_0=ruleGDomainElement {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getGModelRule());
+ }
+ add(
+ $current,
+ "typeList",
+ lv_typeList_3_0,
+ "GDomainElement");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)+ otherlv_4='}'
+ {
+ newLeafNode(otherlv_4, grammarAccess.getGModelAccess().getRightCurlyBracketKeyword_4());
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleGDomainElement
+entryRuleGDomainElement returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getGDomainElementRule()); }
+ iv_ruleGDomainElement=ruleGDomainElement
+ { $current=$iv_ruleGDomainElement.current; }
+ EOF
+;
+
+// Rule GDomainElement
+ruleGDomainElement returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0='type'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getGDomainElementAccess().getTypeKeyword_0());
+ }
+(
+(
+ lv_name_1_0=RULE_ID
+ {
+ newLeafNode(lv_name_1_0, grammarAccess.getGDomainElementAccess().getNameIDTerminalRuleCall_1_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getGDomainElementRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "name",
+ lv_name_1_0,
+ "ID");
+ }
+
+)
+)( otherlv_2='extends'
+ {
+ newLeafNode(otherlv_2, grammarAccess.getGDomainElementAccess().getExtendsKeyword_2_0());
+ }
+(
+(
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getGDomainElementRule());
+ }
+ }
+ otherlv_3=RULE_ID
+ {
+ newLeafNode(otherlv_3, grammarAccess.getGDomainElementAccess().getSuperTypeListGDomainElementCrossReference_2_1_0());
+ }
+
+)
+)( otherlv_4=', '
+ {
+ newLeafNode(otherlv_4, grammarAccess.getGDomainElementAccess().getCommaSpaceKeyword_2_2_0());
+ }
+(
+(
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getGDomainElementRule());
+ }
+ }
+ otherlv_5=RULE_ID
+ {
+ newLeafNode(otherlv_5, grammarAccess.getGDomainElementAccess().getSuperTypeListGDomainElementCrossReference_2_2_1_0());
+ }
+
+)
+))*)? otherlv_6='{'
+ {
+ newLeafNode(otherlv_6, grammarAccess.getGDomainElementAccess().getLeftCurlyBracketKeyword_3());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getGDomainElementAccess().getPropertyListGDomainPropertyParserRuleCall_4_0());
+ }
+ lv_propertyList_7_0=ruleGDomainProperty {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getGDomainElementRule());
+ }
+ add(
+ $current,
+ "propertyList",
+ lv_propertyList_7_0,
+ "GDomainProperty");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)* otherlv_8='}'
+ {
+ newLeafNode(otherlv_8, grammarAccess.getGDomainElementAccess().getRightCurlyBracketKeyword_5());
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleGDomainProperty
+entryRuleGDomainProperty returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getGDomainPropertyRule()); }
+ iv_ruleGDomainProperty=ruleGDomainProperty
+ { $current=$iv_ruleGDomainProperty.current; }
+ EOF
+;
+
+// Rule GDomainProperty
+ruleGDomainProperty returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((((
+(
+(
+ lv_builtIn_0_1= 'Int'
+ {
+ newLeafNode(lv_builtIn_0_1, grammarAccess.getGDomainPropertyAccess().getBuiltInIntKeyword_0_0_0_0_0());
+ }
+
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getGDomainPropertyRule());
+ }
+ setWithLastConsumed($current, "builtIn", lv_builtIn_0_1, null);
+ }
+
+ | lv_builtIn_0_2= 'Double'
+ {
+ newLeafNode(lv_builtIn_0_2, grammarAccess.getGDomainPropertyAccess().getBuiltInDoubleKeyword_0_0_0_0_1());
+ }
+
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getGDomainPropertyRule());
+ }
+ setWithLastConsumed($current, "builtIn", lv_builtIn_0_2, null);
+ }
+
+ | lv_builtIn_0_3= 'String'
+ {
+ newLeafNode(lv_builtIn_0_3, grammarAccess.getGDomainPropertyAccess().getBuiltInStringKeyword_0_0_0_0_2());
+ }
+
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getGDomainPropertyRule());
+ }
+ setWithLastConsumed($current, "builtIn", lv_builtIn_0_3, null);
+ }
+
+ | lv_builtIn_0_4= 'Boolean'
+ {
+ newLeafNode(lv_builtIn_0_4, grammarAccess.getGDomainPropertyAccess().getBuiltInBooleanKeyword_0_0_0_0_3());
+ }
+
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getGDomainPropertyRule());
+ }
+ setWithLastConsumed($current, "builtIn", lv_builtIn_0_4, null);
+ }
+
+)
+
+)
+)(
+(
+ lv_list_1_0= '[]'
+ {
+ newLeafNode(lv_list_1_0, grammarAccess.getGDomainPropertyAccess().getListLeftSquareBracketRightSquareBracketKeyword_0_0_1_0());
+ }
+
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getGDomainPropertyRule());
+ }
+ setWithLastConsumed($current, "list", true, "[]");
+ }
+
+)
+)?(
+(
+ lv_name_2_0=RULE_ID
+ {
+ newLeafNode(lv_name_2_0, grammarAccess.getGDomainPropertyAccess().getNameIDTerminalRuleCall_0_0_2_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getGDomainPropertyRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "name",
+ lv_name_2_0,
+ "ID");
+ }
+
+)
+)( otherlv_3='='
+ {
+ newLeafNode(otherlv_3, grammarAccess.getGDomainPropertyAccess().getEqualsSignKeyword_0_0_3_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getGDomainPropertyAccess().getDefaultValueGDefaultParserRuleCall_0_0_3_1_0());
+ }
+ lv_defaultValue_4_0=ruleGDefault {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getGDomainPropertyRule());
+ }
+ set(
+ $current,
+ "defaultValue",
+ lv_defaultValue_4_0,
+ "GDefault");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))?)
+ |((
+(
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getGDomainPropertyRule());
+ }
+ }
+ otherlv_5=RULE_ID
+ {
+ newLeafNode(otherlv_5, grammarAccess.getGDomainPropertyAccess().getRefGDomainElementCrossReference_0_1_0_0());
+ }
+
+)
+)(
+(
+ lv_list_6_0= '[]'
+ {
+ newLeafNode(lv_list_6_0, grammarAccess.getGDomainPropertyAccess().getListLeftSquareBracketRightSquareBracketKeyword_0_1_1_0());
+ }
+
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getGDomainPropertyRule());
+ }
+ setWithLastConsumed($current, "list", true, "[]");
+ }
+
+)
+)?(
+(
+ lv_name_7_0=RULE_ID
+ {
+ newLeafNode(lv_name_7_0, grammarAccess.getGDomainPropertyAccess().getNameIDTerminalRuleCall_0_1_2_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getGDomainPropertyRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "name",
+ lv_name_7_0,
+ "ID");
+ }
+
+)
+))) otherlv_8=';'
+ {
+ newLeafNode(otherlv_8, grammarAccess.getGDomainPropertyAccess().getSemicolonKeyword_1());
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleGDefault
+entryRuleGDefault returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getGDefaultRule()); }
+ iv_ruleGDefault=ruleGDefault
+ { $current=$iv_ruleGDefault.current; }
+ EOF
+;
+
+// Rule GDefault
+ruleGDefault returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+(
+ lv_stringVal_0_0=RULE_STRING
+ {
+ newLeafNode(lv_stringVal_0_0, grammarAccess.getGDefaultAccess().getStringValSTRINGTerminalRuleCall_0_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getGDefaultRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "stringVal",
+ lv_stringVal_0_0,
+ "STRING");
+ }
+
+)
+)
+ |(
+(
+ lv_intVal_1_0=RULE_INT
+ {
+ newLeafNode(lv_intVal_1_0, grammarAccess.getGDefaultAccess().getIntValINTTerminalRuleCall_1_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getGDefaultRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "intVal",
+ lv_intVal_1_0,
+ "INT");
+ }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleValidID
+entryRuleValidID returns [String current=null]
+ :
+ { newCompositeNode(grammarAccess.getValidIDRule()); }
+ iv_ruleValidID=ruleValidID
+ { $current=$iv_ruleValidID.current.getText(); }
+ EOF
+;
+
+// Rule ValidID
+ruleValidID returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+ this_ID_0=RULE_ID {
+ $current.merge(this_ID_0);
+ }
+
+ {
+ newLeafNode(this_ID_0, grammarAccess.getValidIDAccess().getIDTerminalRuleCall());
+ }
+
+ ;
+
+
+
+
+
+// Entry rule entryRuleQualifiedName
+entryRuleQualifiedName returns [String current=null]
+ :
+ { newCompositeNode(grammarAccess.getQualifiedNameRule()); }
+ iv_ruleQualifiedName=ruleQualifiedName
+ { $current=$iv_ruleQualifiedName.current.getText(); }
+ EOF
+;
+
+// Rule QualifiedName
+ruleQualifiedName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+ {
+ newCompositeNode(grammarAccess.getQualifiedNameAccess().getValidIDParserRuleCall_0());
+ }
+ this_ValidID_0=ruleValidID {
+ $current.merge(this_ValidID_0);
+ }
+
+ {
+ afterParserOrEnumRuleCall();
+ }
+(((
+ '.'
+)=>
+ kw='.'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getQualifiedNameAccess().getFullStopKeyword_1_0());
+ }
+)
+ {
+ newCompositeNode(grammarAccess.getQualifiedNameAccess().getValidIDParserRuleCall_1_1());
+ }
+ this_ValidID_2=ruleValidID {
+ $current.merge(this_ValidID_2);
+ }
+
+ {
+ afterParserOrEnumRuleCall();
+ }
+)*)
+ ;
+
+
+
+
+
+RULE_ID : '^'? ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*;
+
+RULE_INT : ('0'..'9')+;
+
+RULE_STRING : ('"' ('\\' .|~(('\\'|'"')))* '"'|'\'' ('\\' .|~(('\\'|'\'')))* '\'');
+
+RULE_ML_COMMENT : '/*' ( options {greedy=false;} : . )*'*/';
+
+RULE_SL_COMMENT : '//' ~(('\n'|'\r'))* ('\r'? '\n')?;
+
+RULE_WS : (' '|'\t'|'\r'|'\n')+;
+
+RULE_ANY_OTHER : .;
+
+
diff --git a/bundles/tooling/org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.tokens b/bundles/tooling/org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.tokens
new file mode 100644
index 000000000..298d04d97
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.tokens
@@ -0,0 +1,35 @@
+', '=16
+'.'=24
+';'=23
+'='=22
+'Boolean'=20
+'Double'=18
+'Int'=17
+'String'=19
+'[]'=21
+'extends'=15
+'package'=11
+'type'=14
+'{'=12
+'}'=13
+RULE_ANY_OTHER=10
+RULE_ID=4
+RULE_INT=6
+RULE_ML_COMMENT=7
+RULE_SL_COMMENT=8
+RULE_STRING=5
+RULE_WS=9
+T__11=11
+T__12=12
+T__13=13
+T__14=14
+T__15=15
+T__16=16
+T__17=17
+T__18=18
+T__19=19
+T__20=20
+T__21=21
+T__22=22
+T__23=23
+T__24=24
diff --git a/bundles/tooling/org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSLLexer.java b/bundles/tooling/org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSLLexer.java
new file mode 100644
index 000000000..215d33efb
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSLLexer.java
@@ -0,0 +1,1203 @@
+package org.eclipse.fx.ide.gmodel.parser.antlr.internal;
+
+// Hack: Use our own Lexer superclass by means of import.
+// Currently there is no other way to specify the superclass for the lexer.
+import org.eclipse.xtext.parser.antlr.Lexer;
+
+
+import org.antlr.runtime.*;
+import java.util.Stack;
+import java.util.List;
+import java.util.ArrayList;
+
+@SuppressWarnings("all")
+public class InternalGModelDSLLexer extends Lexer {
+ public static final int RULE_STRING=5;
+ public static final int RULE_SL_COMMENT=8;
+ public static final int T__19=19;
+ public static final int T__15=15;
+ public static final int T__16=16;
+ public static final int T__17=17;
+ public static final int T__18=18;
+ public static final int T__11=11;
+ public static final int T__12=12;
+ public static final int T__13=13;
+ public static final int T__14=14;
+ public static final int EOF=-1;
+ public static final int RULE_ID=4;
+ public static final int RULE_WS=9;
+ public static final int RULE_ANY_OTHER=10;
+ public static final int RULE_INT=6;
+ public static final int T__22=22;
+ public static final int RULE_ML_COMMENT=7;
+ public static final int T__23=23;
+ public static final int T__24=24;
+ public static final int T__20=20;
+ public static final int T__21=21;
+
+ // delegates
+ // delegators
+
+ public InternalGModelDSLLexer() {;}
+ public InternalGModelDSLLexer(CharStream input) {
+ this(input, new RecognizerSharedState());
+ }
+ public InternalGModelDSLLexer(CharStream input, RecognizerSharedState state) {
+ super(input,state);
+
+ }
+ public String getGrammarFileName() { return "../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g"; }
+
+ // $ANTLR start "T__11"
+ public final void mT__11() throws RecognitionException {
+ try {
+ int _type = T__11;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:11:7: ( 'package' )
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:11:9: 'package'
+ {
+ match("package");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__11"
+
+ // $ANTLR start "T__12"
+ public final void mT__12() throws RecognitionException {
+ try {
+ int _type = T__12;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:12:7: ( '{' )
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:12:9: '{'
+ {
+ match('{');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__12"
+
+ // $ANTLR start "T__13"
+ public final void mT__13() throws RecognitionException {
+ try {
+ int _type = T__13;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:13:7: ( '}' )
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:13:9: '}'
+ {
+ match('}');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__13"
+
+ // $ANTLR start "T__14"
+ public final void mT__14() throws RecognitionException {
+ try {
+ int _type = T__14;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:14:7: ( 'type' )
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:14:9: 'type'
+ {
+ match("type");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__14"
+
+ // $ANTLR start "T__15"
+ public final void mT__15() throws RecognitionException {
+ try {
+ int _type = T__15;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:15:7: ( 'extends' )
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:15:9: 'extends'
+ {
+ match("extends");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__15"
+
+ // $ANTLR start "T__16"
+ public final void mT__16() throws RecognitionException {
+ try {
+ int _type = T__16;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:16:7: ( ', ' )
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:16:9: ', '
+ {
+ match(", ");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__16"
+
+ // $ANTLR start "T__17"
+ public final void mT__17() throws RecognitionException {
+ try {
+ int _type = T__17;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:17:7: ( 'Int' )
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:17:9: 'Int'
+ {
+ match("Int");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__17"
+
+ // $ANTLR start "T__18"
+ public final void mT__18() throws RecognitionException {
+ try {
+ int _type = T__18;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:18:7: ( 'Double' )
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:18:9: 'Double'
+ {
+ match("Double");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__18"
+
+ // $ANTLR start "T__19"
+ public final void mT__19() throws RecognitionException {
+ try {
+ int _type = T__19;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:19:7: ( 'String' )
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:19:9: 'String'
+ {
+ match("String");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__19"
+
+ // $ANTLR start "T__20"
+ public final void mT__20() throws RecognitionException {
+ try {
+ int _type = T__20;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:20:7: ( 'Boolean' )
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:20:9: 'Boolean'
+ {
+ match("Boolean");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__20"
+
+ // $ANTLR start "T__21"
+ public final void mT__21() throws RecognitionException {
+ try {
+ int _type = T__21;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:21:7: ( '[]' )
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:21:9: '[]'
+ {
+ match("[]");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__21"
+
+ // $ANTLR start "T__22"
+ public final void mT__22() throws RecognitionException {
+ try {
+ int _type = T__22;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:22:7: ( '=' )
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:22:9: '='
+ {
+ match('=');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__22"
+
+ // $ANTLR start "T__23"
+ public final void mT__23() throws RecognitionException {
+ try {
+ int _type = T__23;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:23:7: ( ';' )
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:23:9: ';'
+ {
+ match(';');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__23"
+
+ // $ANTLR start "T__24"
+ public final void mT__24() throws RecognitionException {
+ try {
+ int _type = T__24;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:24:7: ( '.' )
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:24:9: '.'
+ {
+ match('.');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__24"
+
+ // $ANTLR start "RULE_ID"
+ public final void mRULE_ID() throws RecognitionException {
+ try {
+ int _type = RULE_ID;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:556:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:556:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
+ {
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:556:11: ( '^' )?
+ int alt1=2;
+ int LA1_0 = input.LA(1);
+
+ if ( (LA1_0=='^') ) {
+ alt1=1;
+ }
+ switch (alt1) {
+ case 1 :
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:556:11: '^'
+ {
+ match('^');
+
+ }
+ break;
+
+ }
+
+ if ( (input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:556:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
+ loop2:
+ do {
+ int alt2=2;
+ int LA2_0 = input.LA(1);
+
+ if ( ((LA2_0>='0' && LA2_0<='9')||(LA2_0>='A' && LA2_0<='Z')||LA2_0=='_'||(LA2_0>='a' && LA2_0<='z')) ) {
+ alt2=1;
+ }
+
+
+ switch (alt2) {
+ case 1 :
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:
+ {
+ if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+
+ }
+ break;
+
+ default :
+ break loop2;
+ }
+ } while (true);
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_ID"
+
+ // $ANTLR start "RULE_INT"
+ public final void mRULE_INT() throws RecognitionException {
+ try {
+ int _type = RULE_INT;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:558:10: ( ( '0' .. '9' )+ )
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:558:12: ( '0' .. '9' )+
+ {
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:558:12: ( '0' .. '9' )+
+ int cnt3=0;
+ loop3:
+ do {
+ int alt3=2;
+ int LA3_0 = input.LA(1);
+
+ if ( ((LA3_0>='0' && LA3_0<='9')) ) {
+ alt3=1;
+ }
+
+
+ switch (alt3) {
+ case 1 :
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:558:13: '0' .. '9'
+ {
+ matchRange('0','9');
+
+ }
+ break;
+
+ default :
+ if ( cnt3 >= 1 ) break loop3;
+ EarlyExitException eee =
+ new EarlyExitException(3, input);
+ throw eee;
+ }
+ cnt3++;
+ } while (true);
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_INT"
+
+ // $ANTLR start "RULE_STRING"
+ public final void mRULE_STRING() throws RecognitionException {
+ try {
+ int _type = RULE_STRING;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:560:13: ( ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) )
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:560:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
+ {
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:560:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
+ int alt6=2;
+ int LA6_0 = input.LA(1);
+
+ if ( (LA6_0=='\"') ) {
+ alt6=1;
+ }
+ else if ( (LA6_0=='\'') ) {
+ alt6=2;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 6, 0, input);
+
+ throw nvae;
+ }
+ switch (alt6) {
+ case 1 :
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:560:16: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
+ {
+ match('\"');
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:560:20: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )*
+ loop4:
+ do {
+ int alt4=3;
+ int LA4_0 = input.LA(1);
+
+ if ( (LA4_0=='\\') ) {
+ alt4=1;
+ }
+ else if ( ((LA4_0>='\u0000' && LA4_0<='!')||(LA4_0>='#' && LA4_0<='[')||(LA4_0>=']' && LA4_0<='\uFFFF')) ) {
+ alt4=2;
+ }
+
+
+ switch (alt4) {
+ case 1 :
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:560:21: '\\\\' .
+ {
+ match('\\');
+ matchAny();
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:560:28: ~ ( ( '\\\\' | '\"' ) )
+ {
+ if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+
+ }
+ break;
+
+ default :
+ break loop4;
+ }
+ } while (true);
+
+ match('\"');
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:560:48: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
+ {
+ match('\'');
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:560:53: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )*
+ loop5:
+ do {
+ int alt5=3;
+ int LA5_0 = input.LA(1);
+
+ if ( (LA5_0=='\\') ) {
+ alt5=1;
+ }
+ else if ( ((LA5_0>='\u0000' && LA5_0<='&')||(LA5_0>='(' && LA5_0<='[')||(LA5_0>=']' && LA5_0<='\uFFFF')) ) {
+ alt5=2;
+ }
+
+
+ switch (alt5) {
+ case 1 :
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:560:54: '\\\\' .
+ {
+ match('\\');
+ matchAny();
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:560:61: ~ ( ( '\\\\' | '\\'' ) )
+ {
+ if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+
+ }
+ break;
+
+ default :
+ break loop5;
+ }
+ } while (true);
+
+ match('\'');
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_STRING"
+
+ // $ANTLR start "RULE_ML_COMMENT"
+ public final void mRULE_ML_COMMENT() throws RecognitionException {
+ try {
+ int _type = RULE_ML_COMMENT;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:562:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:562:19: '/*' ( options {greedy=false; } : . )* '*/'
+ {
+ match("/*");
+
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:562:24: ( options {greedy=false; } : . )*
+ loop7:
+ do {
+ int alt7=2;
+ int LA7_0 = input.LA(1);
+
+ if ( (LA7_0=='*') ) {
+ int LA7_1 = input.LA(2);
+
+ if ( (LA7_1=='/') ) {
+ alt7=2;
+ }
+ else if ( ((LA7_1>='\u0000' && LA7_1<='.')||(LA7_1>='0' && LA7_1<='\uFFFF')) ) {
+ alt7=1;
+ }
+
+
+ }
+ else if ( ((LA7_0>='\u0000' && LA7_0<=')')||(LA7_0>='+' && LA7_0<='\uFFFF')) ) {
+ alt7=1;
+ }
+
+
+ switch (alt7) {
+ case 1 :
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:562:52: .
+ {
+ matchAny();
+
+ }
+ break;
+
+ default :
+ break loop7;
+ }
+ } while (true);
+
+ match("*/");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_ML_COMMENT"
+
+ // $ANTLR start "RULE_SL_COMMENT"
+ public final void mRULE_SL_COMMENT() throws RecognitionException {
+ try {
+ int _type = RULE_SL_COMMENT;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:564:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:564:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
+ {
+ match("//");
+
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:564:24: (~ ( ( '\\n' | '\\r' ) ) )*
+ loop8:
+ do {
+ int alt8=2;
+ int LA8_0 = input.LA(1);
+
+ if ( ((LA8_0>='\u0000' && LA8_0<='\t')||(LA8_0>='\u000B' && LA8_0<='\f')||(LA8_0>='\u000E' && LA8_0<='\uFFFF')) ) {
+ alt8=1;
+ }
+
+
+ switch (alt8) {
+ case 1 :
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:564: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)<='\uFFFF') ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+
+ }
+ break;
+
+ default :
+ break loop8;
+ }
+ } while (true);
+
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:564:40: ( ( '\\r' )? '\\n' )?
+ int alt10=2;
+ int LA10_0 = input.LA(1);
+
+ if ( (LA10_0=='\n'||LA10_0=='\r') ) {
+ alt10=1;
+ }
+ switch (alt10) {
+ case 1 :
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:564:41: ( '\\r' )? '\\n'
+ {
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:564:41: ( '\\r' )?
+ int alt9=2;
+ int LA9_0 = input.LA(1);
+
+ if ( (LA9_0=='\r') ) {
+ alt9=1;
+ }
+ switch (alt9) {
+ case 1 :
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:564:41: '\\r'
+ {
+ match('\r');
+
+ }
+ break;
+
+ }
+
+ match('\n');
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_SL_COMMENT"
+
+ // $ANTLR start "RULE_WS"
+ public final void mRULE_WS() throws RecognitionException {
+ try {
+ int _type = RULE_WS;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:566:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:566:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
+ {
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:566:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
+ int cnt11=0;
+ loop11:
+ do {
+ int alt11=2;
+ int LA11_0 = input.LA(1);
+
+ if ( ((LA11_0>='\t' && LA11_0<='\n')||LA11_0=='\r'||LA11_0==' ') ) {
+ alt11=1;
+ }
+
+
+ switch (alt11) {
+ case 1 :
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:
+ {
+ if ( (input.LA(1)>='\t' && input.LA(1)<='\n')||input.LA(1)=='\r'||input.LA(1)==' ' ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+
+ }
+ break;
+
+ default :
+ if ( cnt11 >= 1 ) break loop11;
+ EarlyExitException eee =
+ new EarlyExitException(11, input);
+ throw eee;
+ }
+ cnt11++;
+ } while (true);
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_WS"
+
+ // $ANTLR start "RULE_ANY_OTHER"
+ public final void mRULE_ANY_OTHER() throws RecognitionException {
+ try {
+ int _type = RULE_ANY_OTHER;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:568:16: ( . )
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:568:18: .
+ {
+ matchAny();
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_ANY_OTHER"
+
+ public void mTokens() throws RecognitionException {
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:1:8: ( T__11 | T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER )
+ int alt12=21;
+ alt12 = dfa12.predict(input);
+ switch (alt12) {
+ case 1 :
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:1:10: T__11
+ {
+ mT__11();
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:1:16: T__12
+ {
+ mT__12();
+
+ }
+ break;
+ case 3 :
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:1:22: T__13
+ {
+ mT__13();
+
+ }
+ break;
+ case 4 :
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:1:28: T__14
+ {
+ mT__14();
+
+ }
+ break;
+ case 5 :
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:1:34: T__15
+ {
+ mT__15();
+
+ }
+ break;
+ case 6 :
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:1:40: T__16
+ {
+ mT__16();
+
+ }
+ break;
+ case 7 :
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:1:46: T__17
+ {
+ mT__17();
+
+ }
+ break;
+ case 8 :
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:1:52: T__18
+ {
+ mT__18();
+
+ }
+ break;
+ case 9 :
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:1:58: T__19
+ {
+ mT__19();
+
+ }
+ break;
+ case 10 :
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:1:64: T__20
+ {
+ mT__20();
+
+ }
+ break;
+ case 11 :
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:1:70: T__21
+ {
+ mT__21();
+
+ }
+ break;
+ case 12 :
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:1:76: T__22
+ {
+ mT__22();
+
+ }
+ break;
+ case 13 :
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:1:82: T__23
+ {
+ mT__23();
+
+ }
+ break;
+ case 14 :
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:1:88: T__24
+ {
+ mT__24();
+
+ }
+ break;
+ case 15 :
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:1:94: RULE_ID
+ {
+ mRULE_ID();
+
+ }
+ break;
+ case 16 :
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:1:102: RULE_INT
+ {
+ mRULE_INT();
+
+ }
+ break;
+ case 17 :
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:1:111: RULE_STRING
+ {
+ mRULE_STRING();
+
+ }
+ break;
+ case 18 :
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:1:123: RULE_ML_COMMENT
+ {
+ mRULE_ML_COMMENT();
+
+ }
+ break;
+ case 19 :
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:1:139: RULE_SL_COMMENT
+ {
+ mRULE_SL_COMMENT();
+
+ }
+ break;
+ case 20 :
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:1:155: RULE_WS
+ {
+ mRULE_WS();
+
+ }
+ break;
+ case 21 :
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:1:163: RULE_ANY_OTHER
+ {
+ mRULE_ANY_OTHER();
+
+ }
+ break;
+
+ }
+
+ }
+
+
+ protected DFA12 dfa12 = new DFA12(this);
+ static final String DFA12_eotS =
+ "\1\uffff\1\30\2\uffff\2\30\1\26\4\30\1\26\3\uffff\1\26\2\uffff\3\26\2\uffff\1\30\3\uffff\2\30\1\uffff\4\30\11\uffff\3\30\1\65\4\30\1\72\1\30\1\uffff\4\30\1\uffff\6\30\1\106\1\107\1\30\1\111\1\112\2\uffff\1\113\3\uffff";
+ static final String DFA12_eofS =
+ "\114\uffff";
+ static final String DFA12_minS =
+ "\1\0\1\141\2\uffff\1\171\1\170\1\40\1\156\1\157\1\164\1\157\1\135\3\uffff\1\101\2\uffff\2\0\1\52\2\uffff\1\143\3\uffff\1\160\1\164\1\uffff\1\164\1\165\1\162\1\157\11\uffff\1\153\2\145\1\60\1\142\1\151\1\154\1\141\1\60\1\156\1\uffff\1\154\1\156\1\145\1\147\1\uffff\1\144\1\145\1\147\1\141\1\145\1\163\2\60\1\156\2\60\2\uffff\1\60\3\uffff";
+ static final String DFA12_maxS =
+ "\1\uffff\1\141\2\uffff\1\171\1\170\1\40\1\156\1\157\1\164\1\157\1\135\3\uffff\1\172\2\uffff\2\uffff\1\57\2\uffff\1\143\3\uffff\1\160\1\164\1\uffff\1\164\1\165\1\162\1\157\11\uffff\1\153\2\145\1\172\1\142\1\151\1\154\1\141\1\172\1\156\1\uffff\1\154\1\156\1\145\1\147\1\uffff\1\144\1\145\1\147\1\141\1\145\1\163\2\172\1\156\2\172\2\uffff\1\172\3\uffff";
+ static final String DFA12_acceptS =
+ "\2\uffff\1\2\1\3\10\uffff\1\14\1\15\1\16\1\uffff\1\17\1\20\3\uffff\1\24\1\25\1\uffff\1\17\1\2\1\3\2\uffff\1\6\4\uffff\1\13\1\14\1\15\1\16\1\20\1\21\1\22\1\23\1\24\12\uffff\1\7\4\uffff\1\4\13\uffff\1\10\1\11\1\uffff\1\1\1\5\1\12";
+ static final String DFA12_specialS =
+ "\1\1\21\uffff\1\0\1\2\70\uffff}>";
+ static final String[] DFA12_transitionS = {
+ "\11\26\2\25\2\26\1\25\22\26\1\25\1\26\1\22\4\26\1\23\4\26\1\6\1\26\1\16\1\24\12\21\1\26\1\15\1\26\1\14\3\26\1\20\1\12\1\20\1\10\4\20\1\7\11\20\1\11\7\20\1\13\2\26\1\17\1\20\1\26\4\20\1\5\12\20\1\1\3\20\1\4\6\20\1\2\1\26\1\3\uff82\26",
+ "\1\27",
+ "",
+ "",
+ "\1\33",
+ "\1\34",
+ "\1\35",
+ "\1\36",
+ "\1\37",
+ "\1\40",
+ "\1\41",
+ "\1\42",
+ "",
+ "",
+ "",
+ "\32\30\4\uffff\1\30\1\uffff\32\30",
+ "",
+ "",
+ "\0\47",
+ "\0\47",
+ "\1\50\4\uffff\1\51",
+ "",
+ "",
+ "\1\53",
+ "",
+ "",
+ "",
+ "\1\54",
+ "\1\55",
+ "",
+ "\1\56",
+ "\1\57",
+ "\1\60",
+ "\1\61",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "\1\62",
+ "\1\63",
+ "\1\64",
+ "\12\30\7\uffff\32\30\4\uffff\1\30\1\uffff\32\30",
+ "\1\66",
+ "\1\67",
+ "\1\70",
+ "\1\71",
+ "\12\30\7\uffff\32\30\4\uffff\1\30\1\uffff\32\30",
+ "\1\73",
+ "",
+ "\1\74",
+ "\1\75",
+ "\1\76",
+ "\1\77",
+ "",
+ "\1\100",
+ "\1\101",
+ "\1\102",
+ "\1\103",
+ "\1\104",
+ "\1\105",
+ "\12\30\7\uffff\32\30\4\uffff\1\30\1\uffff\32\30",
+ "\12\30\7\uffff\32\30\4\uffff\1\30\1\uffff\32\30",
+ "\1\110",
+ "\12\30\7\uffff\32\30\4\uffff\1\30\1\uffff\32\30",
+ "\12\30\7\uffff\32\30\4\uffff\1\30\1\uffff\32\30",
+ "",
+ "",
+ "\12\30\7\uffff\32\30\4\uffff\1\30\1\uffff\32\30",
+ "",
+ "",
+ ""
+ };
+
+ static final short[] DFA12_eot = DFA.unpackEncodedString(DFA12_eotS);
+ static final short[] DFA12_eof = DFA.unpackEncodedString(DFA12_eofS);
+ static final char[] DFA12_min = DFA.unpackEncodedStringToUnsignedChars(DFA12_minS);
+ static final char[] DFA12_max = DFA.unpackEncodedStringToUnsignedChars(DFA12_maxS);
+ static final short[] DFA12_accept = DFA.unpackEncodedString(DFA12_acceptS);
+ static final short[] DFA12_special = DFA.unpackEncodedString(DFA12_specialS);
+ static final short[][] DFA12_transition;
+
+ static {
+ int numStates = DFA12_transitionS.length;
+ DFA12_transition = new short[numStates][];
+ for (int i=0; i<numStates; i++) {
+ DFA12_transition[i] = DFA.unpackEncodedString(DFA12_transitionS[i]);
+ }
+ }
+
+ class DFA12 extends DFA {
+
+ public DFA12(BaseRecognizer recognizer) {
+ this.recognizer = recognizer;
+ this.decisionNumber = 12;
+ this.eot = DFA12_eot;
+ this.eof = DFA12_eof;
+ this.min = DFA12_min;
+ this.max = DFA12_max;
+ this.accept = DFA12_accept;
+ this.special = DFA12_special;
+ this.transition = DFA12_transition;
+ }
+ public String getDescription() {
+ return "1:1: Tokens : ( T__11 | T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );";
+ }
+ public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+ IntStream input = _input;
+ int _s = s;
+ switch ( s ) {
+ case 0 :
+ int LA12_18 = input.LA(1);
+
+ s = -1;
+ if ( ((LA12_18>='\u0000' && LA12_18<='\uFFFF')) ) {s = 39;}
+
+ else s = 22;
+
+ if ( s>=0 ) return s;
+ break;
+ case 1 :
+ int LA12_0 = input.LA(1);
+
+ s = -1;
+ if ( (LA12_0=='p') ) {s = 1;}
+
+ else if ( (LA12_0=='{') ) {s = 2;}
+
+ else if ( (LA12_0=='}') ) {s = 3;}
+
+ else if ( (LA12_0=='t') ) {s = 4;}
+
+ else if ( (LA12_0=='e') ) {s = 5;}
+
+ else if ( (LA12_0==',') ) {s = 6;}
+
+ else if ( (LA12_0=='I') ) {s = 7;}
+
+ else if ( (LA12_0=='D') ) {s = 8;}
+
+ else if ( (LA12_0=='S') ) {s = 9;}
+
+ else if ( (LA12_0=='B') ) {s = 10;}
+
+ else if ( (LA12_0=='[') ) {s = 11;}
+
+ else if ( (LA12_0=='=') ) {s = 12;}
+
+ else if ( (LA12_0==';') ) {s = 13;}
+
+ else if ( (LA12_0=='.') ) {s = 14;}
+
+ else if ( (LA12_0=='^') ) {s = 15;}
+
+ else if ( (LA12_0=='A'||LA12_0=='C'||(LA12_0>='E' && LA12_0<='H')||(LA12_0>='J' && LA12_0<='R')||(LA12_0>='T' && LA12_0<='Z')||LA12_0=='_'||(LA12_0>='a' && LA12_0<='d')||(LA12_0>='f' && LA12_0<='o')||(LA12_0>='q' && LA12_0<='s')||(LA12_0>='u' && LA12_0<='z')) ) {s = 16;}
+
+ else if ( ((LA12_0>='0' && LA12_0<='9')) ) {s = 17;}
+
+ else if ( (LA12_0=='\"') ) {s = 18;}
+
+ else if ( (LA12_0=='\'') ) {s = 19;}
+
+ else if ( (LA12_0=='/') ) {s = 20;}
+
+ else if ( ((LA12_0>='\t' && LA12_0<='\n')||LA12_0=='\r'||LA12_0==' ') ) {s = 21;}
+
+ else if ( ((LA12_0>='\u0000' && LA12_0<='\b')||(LA12_0>='\u000B' && LA12_0<='\f')||(LA12_0>='\u000E' && LA12_0<='\u001F')||LA12_0=='!'||(LA12_0>='#' && LA12_0<='&')||(LA12_0>='(' && LA12_0<='+')||LA12_0=='-'||LA12_0==':'||LA12_0=='<'||(LA12_0>='>' && LA12_0<='@')||(LA12_0>='\\' && LA12_0<=']')||LA12_0=='`'||LA12_0=='|'||(LA12_0>='~' && LA12_0<='\uFFFF')) ) {s = 22;}
+
+ if ( s>=0 ) return s;
+ break;
+ case 2 :
+ int LA12_19 = input.LA(1);
+
+ s = -1;
+ if ( ((LA12_19>='\u0000' && LA12_19<='\uFFFF')) ) {s = 39;}
+
+ else s = 22;
+
+ if ( s>=0 ) return s;
+ break;
+ }
+ NoViableAltException nvae =
+ new NoViableAltException(getDescription(), 12, _s, input);
+ error(nvae);
+ throw nvae;
+ }
+ }
+
+
+} \ No newline at end of file
diff --git a/bundles/tooling/org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSLParser.java b/bundles/tooling/org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSLParser.java
new file mode 100644
index 000000000..cfdf8bcf9
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSLParser.java
@@ -0,0 +1,1544 @@
+package org.eclipse.fx.ide.gmodel.parser.antlr.internal;
+
+import org.eclipse.xtext.*;
+import org.eclipse.xtext.parser.*;
+import org.eclipse.xtext.parser.impl.*;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.xtext.parser.antlr.AbstractInternalAntlrParser;
+import org.eclipse.xtext.parser.antlr.XtextTokenStream;
+import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
+import org.eclipse.xtext.parser.antlr.AntlrDatatypeRuleToken;
+import org.eclipse.fx.ide.gmodel.services.GModelDSLGrammarAccess;
+
+
+
+import org.antlr.runtime.*;
+import java.util.Stack;
+import java.util.List;
+import java.util.ArrayList;
+import java.util.Map;
+import java.util.HashMap;
+@SuppressWarnings("all")
+public class InternalGModelDSLParser extends AbstractInternalAntlrParser {
+ public static final String[] tokenNames = new String[] {
+ "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_ID", "RULE_STRING", "RULE_INT", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'package'", "'{'", "'}'", "'type'", "'extends'", "', '", "'Int'", "'Double'", "'String'", "'Boolean'", "'[]'", "'='", "';'", "'.'"
+ };
+ public static final int RULE_STRING=5;
+ public static final int RULE_SL_COMMENT=8;
+ public static final int T__19=19;
+ public static final int T__15=15;
+ public static final int T__16=16;
+ public static final int T__17=17;
+ public static final int T__18=18;
+ public static final int T__11=11;
+ public static final int T__12=12;
+ public static final int T__13=13;
+ public static final int T__14=14;
+ public static final int EOF=-1;
+ public static final int RULE_ID=4;
+ public static final int RULE_WS=9;
+ public static final int RULE_ANY_OTHER=10;
+ public static final int RULE_INT=6;
+ public static final int T__22=22;
+ public static final int RULE_ML_COMMENT=7;
+ public static final int T__23=23;
+ public static final int T__24=24;
+ public static final int T__20=20;
+ public static final int T__21=21;
+
+ // delegates
+ // delegators
+
+
+ public InternalGModelDSLParser(TokenStream input) {
+ this(input, new RecognizerSharedState());
+ }
+ public InternalGModelDSLParser(TokenStream input, RecognizerSharedState state) {
+ super(input, state);
+
+ }
+
+
+ public String[] getTokenNames() { return InternalGModelDSLParser.tokenNames; }
+ public String getGrammarFileName() { return "../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g"; }
+
+
+
+ private GModelDSLGrammarAccess grammarAccess;
+
+ public InternalGModelDSLParser(TokenStream input, GModelDSLGrammarAccess grammarAccess) {
+ this(input);
+ this.grammarAccess = grammarAccess;
+ registerRules(grammarAccess.getGrammar());
+ }
+
+ @Override
+ protected String getFirstRuleName() {
+ return "GModel";
+ }
+
+ @Override
+ protected GModelDSLGrammarAccess getGrammarAccess() {
+ return grammarAccess;
+ }
+
+
+
+ // $ANTLR start "entryRuleGModel"
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:67:1: entryRuleGModel returns [EObject current=null] : iv_ruleGModel= ruleGModel EOF ;
+ public final EObject entryRuleGModel() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleGModel = null;
+
+
+ try {
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:68:2: (iv_ruleGModel= ruleGModel EOF )
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:69:2: iv_ruleGModel= ruleGModel EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getGModelRule());
+ }
+ pushFollow(FOLLOW_ruleGModel_in_entryRuleGModel75);
+ iv_ruleGModel=ruleGModel();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleGModel;
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleGModel85); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleGModel"
+
+
+ // $ANTLR start "ruleGModel"
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:76:1: ruleGModel returns [EObject current=null] : (otherlv_0= 'package' ( (lv_name_1_0= ruleQualifiedName ) ) otherlv_2= '{' ( (lv_typeList_3_0= ruleGDomainElement ) )+ otherlv_4= '}' ) ;
+ public final EObject ruleGModel() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_0=null;
+ Token otherlv_2=null;
+ Token otherlv_4=null;
+ AntlrDatatypeRuleToken lv_name_1_0 = null;
+
+ EObject lv_typeList_3_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:79:28: ( (otherlv_0= 'package' ( (lv_name_1_0= ruleQualifiedName ) ) otherlv_2= '{' ( (lv_typeList_3_0= ruleGDomainElement ) )+ otherlv_4= '}' ) )
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:80:1: (otherlv_0= 'package' ( (lv_name_1_0= ruleQualifiedName ) ) otherlv_2= '{' ( (lv_typeList_3_0= ruleGDomainElement ) )+ otherlv_4= '}' )
+ {
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:80:1: (otherlv_0= 'package' ( (lv_name_1_0= ruleQualifiedName ) ) otherlv_2= '{' ( (lv_typeList_3_0= ruleGDomainElement ) )+ otherlv_4= '}' )
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:80:3: otherlv_0= 'package' ( (lv_name_1_0= ruleQualifiedName ) ) otherlv_2= '{' ( (lv_typeList_3_0= ruleGDomainElement ) )+ otherlv_4= '}'
+ {
+ otherlv_0=(Token)match(input,11,FOLLOW_11_in_ruleGModel122); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_0, grammarAccess.getGModelAccess().getPackageKeyword_0());
+
+ }
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:84:1: ( (lv_name_1_0= ruleQualifiedName ) )
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:85:1: (lv_name_1_0= ruleQualifiedName )
+ {
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:85:1: (lv_name_1_0= ruleQualifiedName )
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:86:3: lv_name_1_0= ruleQualifiedName
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getGModelAccess().getNameQualifiedNameParserRuleCall_1_0());
+
+ }
+ pushFollow(FOLLOW_ruleQualifiedName_in_ruleGModel143);
+ lv_name_1_0=ruleQualifiedName();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getGModelRule());
+ }
+ set(
+ current,
+ "name",
+ lv_name_1_0,
+ "QualifiedName");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+ otherlv_2=(Token)match(input,12,FOLLOW_12_in_ruleGModel155); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_2, grammarAccess.getGModelAccess().getLeftCurlyBracketKeyword_2());
+
+ }
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:106:1: ( (lv_typeList_3_0= ruleGDomainElement ) )+
+ int cnt1=0;
+ loop1:
+ do {
+ int alt1=2;
+ int LA1_0 = input.LA(1);
+
+ if ( (LA1_0==14) ) {
+ alt1=1;
+ }
+
+
+ switch (alt1) {
+ case 1 :
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:107:1: (lv_typeList_3_0= ruleGDomainElement )
+ {
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:107:1: (lv_typeList_3_0= ruleGDomainElement )
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:108:3: lv_typeList_3_0= ruleGDomainElement
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getGModelAccess().getTypeListGDomainElementParserRuleCall_3_0());
+
+ }
+ pushFollow(FOLLOW_ruleGDomainElement_in_ruleGModel176);
+ lv_typeList_3_0=ruleGDomainElement();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getGModelRule());
+ }
+ add(
+ current,
+ "typeList",
+ lv_typeList_3_0,
+ "GDomainElement");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+ break;
+
+ default :
+ if ( cnt1 >= 1 ) break loop1;
+ if (state.backtracking>0) {state.failed=true; return current;}
+ EarlyExitException eee =
+ new EarlyExitException(1, input);
+ throw eee;
+ }
+ cnt1++;
+ } while (true);
+
+ otherlv_4=(Token)match(input,13,FOLLOW_13_in_ruleGModel189); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_4, grammarAccess.getGModelAccess().getRightCurlyBracketKeyword_4());
+
+ }
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleGModel"
+
+
+ // $ANTLR start "entryRuleGDomainElement"
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:136:1: entryRuleGDomainElement returns [EObject current=null] : iv_ruleGDomainElement= ruleGDomainElement EOF ;
+ public final EObject entryRuleGDomainElement() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleGDomainElement = null;
+
+
+ try {
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:137:2: (iv_ruleGDomainElement= ruleGDomainElement EOF )
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:138:2: iv_ruleGDomainElement= ruleGDomainElement EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getGDomainElementRule());
+ }
+ pushFollow(FOLLOW_ruleGDomainElement_in_entryRuleGDomainElement225);
+ iv_ruleGDomainElement=ruleGDomainElement();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleGDomainElement;
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleGDomainElement235); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleGDomainElement"
+
+
+ // $ANTLR start "ruleGDomainElement"
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:145:1: ruleGDomainElement returns [EObject current=null] : (otherlv_0= 'type' ( (lv_name_1_0= RULE_ID ) ) (otherlv_2= 'extends' ( (otherlv_3= RULE_ID ) ) (otherlv_4= ', ' ( (otherlv_5= RULE_ID ) ) )* )? otherlv_6= '{' ( (lv_propertyList_7_0= ruleGDomainProperty ) )* otherlv_8= '}' ) ;
+ public final EObject ruleGDomainElement() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_0=null;
+ Token lv_name_1_0=null;
+ Token otherlv_2=null;
+ Token otherlv_3=null;
+ Token otherlv_4=null;
+ Token otherlv_5=null;
+ Token otherlv_6=null;
+ Token otherlv_8=null;
+ EObject lv_propertyList_7_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:148:28: ( (otherlv_0= 'type' ( (lv_name_1_0= RULE_ID ) ) (otherlv_2= 'extends' ( (otherlv_3= RULE_ID ) ) (otherlv_4= ', ' ( (otherlv_5= RULE_ID ) ) )* )? otherlv_6= '{' ( (lv_propertyList_7_0= ruleGDomainProperty ) )* otherlv_8= '}' ) )
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:149:1: (otherlv_0= 'type' ( (lv_name_1_0= RULE_ID ) ) (otherlv_2= 'extends' ( (otherlv_3= RULE_ID ) ) (otherlv_4= ', ' ( (otherlv_5= RULE_ID ) ) )* )? otherlv_6= '{' ( (lv_propertyList_7_0= ruleGDomainProperty ) )* otherlv_8= '}' )
+ {
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:149:1: (otherlv_0= 'type' ( (lv_name_1_0= RULE_ID ) ) (otherlv_2= 'extends' ( (otherlv_3= RULE_ID ) ) (otherlv_4= ', ' ( (otherlv_5= RULE_ID ) ) )* )? otherlv_6= '{' ( (lv_propertyList_7_0= ruleGDomainProperty ) )* otherlv_8= '}' )
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:149:3: otherlv_0= 'type' ( (lv_name_1_0= RULE_ID ) ) (otherlv_2= 'extends' ( (otherlv_3= RULE_ID ) ) (otherlv_4= ', ' ( (otherlv_5= RULE_ID ) ) )* )? otherlv_6= '{' ( (lv_propertyList_7_0= ruleGDomainProperty ) )* otherlv_8= '}'
+ {
+ otherlv_0=(Token)match(input,14,FOLLOW_14_in_ruleGDomainElement272); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_0, grammarAccess.getGDomainElementAccess().getTypeKeyword_0());
+
+ }
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:153:1: ( (lv_name_1_0= RULE_ID ) )
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:154:1: (lv_name_1_0= RULE_ID )
+ {
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:154:1: (lv_name_1_0= RULE_ID )
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:155:3: lv_name_1_0= RULE_ID
+ {
+ lv_name_1_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleGDomainElement289); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(lv_name_1_0, grammarAccess.getGDomainElementAccess().getNameIDTerminalRuleCall_1_0());
+
+ }
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getGDomainElementRule());
+ }
+ setWithLastConsumed(
+ current,
+ "name",
+ lv_name_1_0,
+ "ID");
+
+ }
+
+ }
+
+
+ }
+
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:171:2: (otherlv_2= 'extends' ( (otherlv_3= RULE_ID ) ) (otherlv_4= ', ' ( (otherlv_5= RULE_ID ) ) )* )?
+ int alt3=2;
+ int LA3_0 = input.LA(1);
+
+ if ( (LA3_0==15) ) {
+ alt3=1;
+ }
+ switch (alt3) {
+ case 1 :
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:171:4: otherlv_2= 'extends' ( (otherlv_3= RULE_ID ) ) (otherlv_4= ', ' ( (otherlv_5= RULE_ID ) ) )*
+ {
+ otherlv_2=(Token)match(input,15,FOLLOW_15_in_ruleGDomainElement307); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_2, grammarAccess.getGDomainElementAccess().getExtendsKeyword_2_0());
+
+ }
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:175:1: ( (otherlv_3= RULE_ID ) )
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:176:1: (otherlv_3= RULE_ID )
+ {
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:176:1: (otherlv_3= RULE_ID )
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:177:3: otherlv_3= RULE_ID
+ {
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getGDomainElementRule());
+ }
+
+ }
+ otherlv_3=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleGDomainElement327); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_3, grammarAccess.getGDomainElementAccess().getSuperTypeListGDomainElementCrossReference_2_1_0());
+
+ }
+
+ }
+
+
+ }
+
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:188:2: (otherlv_4= ', ' ( (otherlv_5= RULE_ID ) ) )*
+ loop2:
+ do {
+ int alt2=2;
+ int LA2_0 = input.LA(1);
+
+ if ( (LA2_0==16) ) {
+ alt2=1;
+ }
+
+
+ switch (alt2) {
+ case 1 :
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:188:4: otherlv_4= ', ' ( (otherlv_5= RULE_ID ) )
+ {
+ otherlv_4=(Token)match(input,16,FOLLOW_16_in_ruleGDomainElement340); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_4, grammarAccess.getGDomainElementAccess().getCommaSpaceKeyword_2_2_0());
+
+ }
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:192:1: ( (otherlv_5= RULE_ID ) )
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:193:1: (otherlv_5= RULE_ID )
+ {
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:193:1: (otherlv_5= RULE_ID )
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:194:3: otherlv_5= RULE_ID
+ {
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getGDomainElementRule());
+ }
+
+ }
+ otherlv_5=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleGDomainElement360); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_5, grammarAccess.getGDomainElementAccess().getSuperTypeListGDomainElementCrossReference_2_2_1_0());
+
+ }
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop2;
+ }
+ } while (true);
+
+
+ }
+ break;
+
+ }
+
+ otherlv_6=(Token)match(input,12,FOLLOW_12_in_ruleGDomainElement376); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_6, grammarAccess.getGDomainElementAccess().getLeftCurlyBracketKeyword_3());
+
+ }
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:209:1: ( (lv_propertyList_7_0= ruleGDomainProperty ) )*
+ loop4:
+ do {
+ int alt4=2;
+ int LA4_0 = input.LA(1);
+
+ if ( (LA4_0==RULE_ID||(LA4_0>=17 && LA4_0<=20)) ) {
+ alt4=1;
+ }
+
+
+ switch (alt4) {
+ case 1 :
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:210:1: (lv_propertyList_7_0= ruleGDomainProperty )
+ {
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:210:1: (lv_propertyList_7_0= ruleGDomainProperty )
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:211:3: lv_propertyList_7_0= ruleGDomainProperty
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getGDomainElementAccess().getPropertyListGDomainPropertyParserRuleCall_4_0());
+
+ }
+ pushFollow(FOLLOW_ruleGDomainProperty_in_ruleGDomainElement397);
+ lv_propertyList_7_0=ruleGDomainProperty();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getGDomainElementRule());
+ }
+ add(
+ current,
+ "propertyList",
+ lv_propertyList_7_0,
+ "GDomainProperty");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop4;
+ }
+ } while (true);
+
+ otherlv_8=(Token)match(input,13,FOLLOW_13_in_ruleGDomainElement410); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_8, grammarAccess.getGDomainElementAccess().getRightCurlyBracketKeyword_5());
+
+ }
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleGDomainElement"
+
+
+ // $ANTLR start "entryRuleGDomainProperty"
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:239:1: entryRuleGDomainProperty returns [EObject current=null] : iv_ruleGDomainProperty= ruleGDomainProperty EOF ;
+ public final EObject entryRuleGDomainProperty() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleGDomainProperty = null;
+
+
+ try {
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:240:2: (iv_ruleGDomainProperty= ruleGDomainProperty EOF )
+ // ../org.eclipse.fx.ide.gmodel/src-gen/org/eclipse/fx/ide/gmodel/parser/antlr/internal/InternalGModelDSL.g:241:2: iv_ruleGDomainProperty= ruleGDomainProperty EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getGDomainPropertyRule());
+ }
+ pushFollow(FOLLOW_ruleGDomainProperty_in_entryRuleGDomainProperty446);
+ iv_ruleGDomainProperty=ruleGDomainProperty();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ c