mirror of
http://172.16.200.102/MOISE/Pattern-Instanciation-On-System-Engineering-Model.git
synced 2025-11-26 00:27:59 +01:00
Added mapping xtext editor
This commit is contained in:
@@ -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>
|
||||
@@ -0,0 +1,34 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>com.irtsaintexupery.xtext.pseim.mapping.ide</name>
|
||||
<comment></comment>
|
||||
<projects>
|
||||
</projects>
|
||||
<buildSpec>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.xtext.ui.shared.xtextBuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<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>
|
||||
</buildSpec>
|
||||
<natures>
|
||||
<nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
|
||||
<nature>org.eclipse.jdt.core.javanature</nature>
|
||||
<nature>org.eclipse.pde.PluginNature</nature>
|
||||
</natures>
|
||||
</projectDescription>
|
||||
@@ -0,0 +1,2 @@
|
||||
eclipse.preferences.version=1
|
||||
encoding/<project>=UTF-8
|
||||
@@ -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
|
||||
@@ -0,0 +1,16 @@
|
||||
Manifest-Version: 1.0
|
||||
Bundle-ManifestVersion: 2
|
||||
Bundle-Name: com.irtsaintexupery.xtext.pseim.mapping.ide
|
||||
Bundle-Vendor: My Company
|
||||
Bundle-Version: 1.0.0.qualifier
|
||||
Bundle-SymbolicName: com.irtsaintexupery.xtext.pseim.mapping.ide; singleton:=true
|
||||
Bundle-ActivationPolicy: lazy
|
||||
Require-Bundle: com.irtsaintexupery.xtext.pseim.mapping,
|
||||
com.irtsaintexupery.pseim,
|
||||
org.eclipse.xtext.ide,
|
||||
org.eclipse.xtext.xbase.ide,
|
||||
org.antlr.runtime
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
|
||||
Export-Package: com.irtsaintexupery.xtext.pseim.ide.contentassist.antlr.internal,
|
||||
com.irtsaintexupery.xtext.pseim.ide.contentassist.antlr
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
source.. = src/,\
|
||||
src-gen/,\
|
||||
xtend-gen/
|
||||
bin.includes = .,\
|
||||
META-INF/
|
||||
bin.excludes = **/*.xtend
|
||||
@@ -0,0 +1 @@
|
||||
com.irtsaintexupery.xtext.pseim.ide.MappingIdeSetup
|
||||
@@ -0,0 +1,47 @@
|
||||
/*
|
||||
* generated by Xtext 2.12.0
|
||||
*/
|
||||
package com.irtsaintexupery.xtext.pseim.ide;
|
||||
|
||||
import com.google.inject.Binder;
|
||||
import com.google.inject.name.Names;
|
||||
import com.irtsaintexupery.xtext.pseim.ide.contentassist.antlr.MappingParser;
|
||||
import com.irtsaintexupery.xtext.pseim.ide.contentassist.antlr.internal.InternalMappingLexer;
|
||||
import org.eclipse.xtext.ide.DefaultIdeModule;
|
||||
import org.eclipse.xtext.ide.LexerIdeBindings;
|
||||
import org.eclipse.xtext.ide.editor.contentassist.FQNPrefixMatcher;
|
||||
import org.eclipse.xtext.ide.editor.contentassist.IPrefixMatcher;
|
||||
import org.eclipse.xtext.ide.editor.contentassist.IProposalConflictHelper;
|
||||
import org.eclipse.xtext.ide.editor.contentassist.antlr.AntlrProposalConflictHelper;
|
||||
import org.eclipse.xtext.ide.editor.contentassist.antlr.IContentAssistParser;
|
||||
import org.eclipse.xtext.ide.editor.contentassist.antlr.internal.Lexer;
|
||||
|
||||
/**
|
||||
* Manual modifications go to {@link MappingIdeModule}.
|
||||
*/
|
||||
@SuppressWarnings("all")
|
||||
public abstract class AbstractMappingIdeModule extends DefaultIdeModule {
|
||||
|
||||
// contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2
|
||||
public void configureContentAssistLexer(Binder binder) {
|
||||
binder.bind(Lexer.class)
|
||||
.annotatedWith(Names.named(LexerIdeBindings.CONTENT_ASSIST))
|
||||
.to(InternalMappingLexer.class);
|
||||
}
|
||||
|
||||
// contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2
|
||||
public Class<? extends IContentAssistParser> bindIContentAssistParser() {
|
||||
return MappingParser.class;
|
||||
}
|
||||
|
||||
// contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2
|
||||
public Class<? extends IProposalConflictHelper> bindIProposalConflictHelper() {
|
||||
return AntlrProposalConflictHelper.class;
|
||||
}
|
||||
|
||||
// contributed by org.eclipse.xtext.xtext.generator.exporting.QualifiedNamesFragment2
|
||||
public Class<? extends IPrefixMatcher> bindIPrefixMatcher() {
|
||||
return FQNPrefixMatcher.class;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,80 @@
|
||||
/*
|
||||
* generated by Xtext 2.12.0
|
||||
*/
|
||||
package com.irtsaintexupery.xtext.pseim.ide.contentassist.antlr;
|
||||
|
||||
import com.google.inject.Inject;
|
||||
import com.irtsaintexupery.xtext.pseim.ide.contentassist.antlr.internal.InternalMappingParser;
|
||||
import com.irtsaintexupery.xtext.pseim.services.MappingGrammarAccess;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import org.eclipse.xtext.AbstractElement;
|
||||
import org.eclipse.xtext.ide.editor.contentassist.antlr.AbstractContentAssistParser;
|
||||
|
||||
public class MappingParser extends AbstractContentAssistParser {
|
||||
|
||||
@Inject
|
||||
private MappingGrammarAccess grammarAccess;
|
||||
|
||||
private Map<AbstractElement, String> nameMappings;
|
||||
|
||||
@Override
|
||||
protected InternalMappingParser createParser() {
|
||||
InternalMappingParser result = new InternalMappingParser(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.getPatternApplicationAccess().getGroup(), "rule__PatternApplication__Group__0");
|
||||
put(grammarAccess.getPatternApplicationAccess().getGroup_5(), "rule__PatternApplication__Group_5__0");
|
||||
put(grammarAccess.getPatternApplicationAccess().getGroup_6(), "rule__PatternApplication__Group_6__0");
|
||||
put(grammarAccess.getPatternApplicationAccess().getGroup_7(), "rule__PatternApplication__Group_7__0");
|
||||
put(grammarAccess.getCardinalityValueAccess().getGroup(), "rule__CardinalityValue__Group__0");
|
||||
put(grammarAccess.getPortMappingAccess().getGroup(), "rule__PortMapping__Group__0");
|
||||
put(grammarAccess.getPortMappingAccess().getGroup_1(), "rule__PortMapping__Group_1__0");
|
||||
put(grammarAccess.getGraphElementMappingAccess().getGroup(), "rule__GraphElementMapping__Group__0");
|
||||
put(grammarAccess.getGraphElementMappingAccess().getGroup_1(), "rule__GraphElementMapping__Group_1__0");
|
||||
put(grammarAccess.getEIntAccess().getGroup(), "rule__EInt__Group__0");
|
||||
put(grammarAccess.getQualifiedIDAccess().getGroup(), "rule__QualifiedID__Group__0");
|
||||
put(grammarAccess.getQualifiedIDAccess().getGroup_1(), "rule__QualifiedID__Group_1__0");
|
||||
put(grammarAccess.getPatternApplicationAccess().getModelAssignment_1(), "rule__PatternApplication__ModelAssignment_1");
|
||||
put(grammarAccess.getPatternApplicationAccess().getPatternAssignment_3(), "rule__PatternApplication__PatternAssignment_3");
|
||||
put(grammarAccess.getPatternApplicationAccess().getCardinalityValuesAssignment_5_1(), "rule__PatternApplication__CardinalityValuesAssignment_5_1");
|
||||
put(grammarAccess.getPatternApplicationAccess().getCardinalityValuesAssignment_5_2(), "rule__PatternApplication__CardinalityValuesAssignment_5_2");
|
||||
put(grammarAccess.getPatternApplicationAccess().getModelElementAssignment_6_1(), "rule__PatternApplication__ModelElementAssignment_6_1");
|
||||
put(grammarAccess.getPatternApplicationAccess().getModelElementAssignment_6_2(), "rule__PatternApplication__ModelElementAssignment_6_2");
|
||||
put(grammarAccess.getPatternApplicationAccess().getPortMappingAssignment_7_1(), "rule__PatternApplication__PortMappingAssignment_7_1");
|
||||
put(grammarAccess.getPatternApplicationAccess().getPortMappingAssignment_7_2(), "rule__PatternApplication__PortMappingAssignment_7_2");
|
||||
put(grammarAccess.getCardinalityValueAccess().getCardinalityElementAssignment_0(), "rule__CardinalityValue__CardinalityElementAssignment_0");
|
||||
put(grammarAccess.getCardinalityValueAccess().getValueAssignment_2(), "rule__CardinalityValue__ValueAssignment_2");
|
||||
put(grammarAccess.getPortMappingAccess().getModelPortAssignment_0(), "rule__PortMapping__ModelPortAssignment_0");
|
||||
put(grammarAccess.getPortMappingAccess().getModelPortAssignment_1_1(), "rule__PortMapping__ModelPortAssignment_1_1");
|
||||
put(grammarAccess.getPortMappingAccess().getPatternPortAssignment_3(), "rule__PortMapping__PatternPortAssignment_3");
|
||||
put(grammarAccess.getGraphElementMappingAccess().getModelGraphElementAssignment_0(), "rule__GraphElementMapping__ModelGraphElementAssignment_0");
|
||||
put(grammarAccess.getGraphElementMappingAccess().getModelGraphElementAssignment_1_1(), "rule__GraphElementMapping__ModelGraphElementAssignment_1_1");
|
||||
put(grammarAccess.getGraphElementMappingAccess().getPatternGraphElementAssignment_3(), "rule__GraphElementMapping__PatternGraphElementAssignment_3");
|
||||
}
|
||||
};
|
||||
}
|
||||
return nameMappings.get(element);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String[] getInitialHiddenTokens() {
|
||||
return new String[] { "RULE_WS", "RULE_ML_COMMENT", "RULE_SL_COMMENT" };
|
||||
}
|
||||
|
||||
public MappingGrammarAccess getGrammarAccess() {
|
||||
return this.grammarAccess;
|
||||
}
|
||||
|
||||
public void setGrammarAccess(MappingGrammarAccess grammarAccess) {
|
||||
this.grammarAccess = grammarAccess;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
/*
|
||||
* generated by Xtext 2.12.0
|
||||
*/
|
||||
package com.irtsaintexupery.xtext.pseim.ide.contentassist.antlr;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import org.eclipse.xtext.AbstractRule;
|
||||
import org.eclipse.xtext.ide.editor.contentassist.antlr.FollowElement;
|
||||
import org.eclipse.xtext.ide.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser;
|
||||
import org.eclipse.xtext.ide.editor.partialEditing.IPartialEditingContentAssistParser;
|
||||
import org.eclipse.xtext.util.PolymorphicDispatcher;
|
||||
|
||||
public class PartialMappingContentAssistParser extends MappingParser implements IPartialEditingContentAssistParser {
|
||||
|
||||
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();
|
||||
}
|
||||
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,29 @@
|
||||
','=19
|
||||
'-'=20
|
||||
'->'=18
|
||||
'.'=21
|
||||
'components'=16
|
||||
'multiplicity'=15
|
||||
'ports'=17
|
||||
'transform'=11
|
||||
'using'=12
|
||||
'{'=13
|
||||
'}'=14
|
||||
RULE_ANY_OTHER=10
|
||||
RULE_ID=5
|
||||
RULE_INT=4
|
||||
RULE_ML_COMMENT=7
|
||||
RULE_SL_COMMENT=8
|
||||
RULE_STRING=6
|
||||
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
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,11 @@
|
||||
/*
|
||||
* generated by Xtext 2.12.0
|
||||
*/
|
||||
package com.irtsaintexupery.xtext.pseim.ide
|
||||
|
||||
|
||||
/**
|
||||
* Use this class to register ide components.
|
||||
*/
|
||||
class MappingIdeModule extends AbstractMappingIdeModule {
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
/*
|
||||
* generated by Xtext 2.12.0
|
||||
*/
|
||||
package com.irtsaintexupery.xtext.pseim.ide
|
||||
|
||||
import com.google.inject.Guice
|
||||
import com.irtsaintexupery.xtext.pseim.MappingRuntimeModule
|
||||
import com.irtsaintexupery.xtext.pseim.MappingStandaloneSetup
|
||||
import org.eclipse.xtext.util.Modules2
|
||||
|
||||
/**
|
||||
* Initialization support for running Xtext languages as language servers.
|
||||
*/
|
||||
class MappingIdeSetup extends MappingStandaloneSetup {
|
||||
|
||||
override createInjector() {
|
||||
Guice.createInjector(Modules2.mixin(new MappingRuntimeModule, new MappingIdeModule))
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
/.MappingIdeModule.java._trace
|
||||
/.MappingIdeSetup.java._trace
|
||||
/.MappingIdeModule.xtendbin
|
||||
/.MappingIdeSetup.xtendbin
|
||||
/MappingIdeModule.java
|
||||
/MappingIdeSetup.java
|
||||
@@ -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>
|
||||
@@ -0,0 +1,34 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>com.irtsaintexupery.xtext.pseim.mapping.ui</name>
|
||||
<comment></comment>
|
||||
<projects>
|
||||
</projects>
|
||||
<buildSpec>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.xtext.ui.shared.xtextBuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<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>
|
||||
</buildSpec>
|
||||
<natures>
|
||||
<nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
|
||||
<nature>org.eclipse.jdt.core.javanature</nature>
|
||||
<nature>org.eclipse.pde.PluginNature</nature>
|
||||
</natures>
|
||||
</projectDescription>
|
||||
@@ -0,0 +1,2 @@
|
||||
eclipse.preferences.version=1
|
||||
encoding/<project>=UTF-8
|
||||
@@ -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
|
||||
@@ -0,0 +1,26 @@
|
||||
Manifest-Version: 1.0
|
||||
Bundle-ManifestVersion: 2
|
||||
Bundle-Name: com.irtsaintexupery.xtext.pseim.mapping.ui
|
||||
Bundle-Vendor: My Company
|
||||
Bundle-Version: 1.0.0.qualifier
|
||||
Bundle-SymbolicName: com.irtsaintexupery.xtext.pseim.mapping.ui; singleton:=true
|
||||
Bundle-ActivationPolicy: lazy
|
||||
Require-Bundle: com.irtsaintexupery.xtext.pseim.mapping,
|
||||
com.irtsaintexupery.xtext.pseim.mapping.ide,
|
||||
com.irtsaintexupery.pseim,
|
||||
org.eclipse.xtext.ui,
|
||||
org.eclipse.xtext.ui.shared,
|
||||
org.eclipse.xtext.ui.codetemplates.ui,
|
||||
org.eclipse.ui.editors;bundle-version="3.5.0",
|
||||
org.eclipse.ui.ide;bundle-version="3.5.0",
|
||||
org.eclipse.ui,
|
||||
org.eclipse.compare,
|
||||
org.eclipse.xtext.builder,
|
||||
org.eclipse.xtend.lib;resolution:=optional,
|
||||
org.eclipse.xtext.xbase.lib
|
||||
Import-Package: org.apache.log4j
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
|
||||
Export-Package: com.irtsaintexupery.xtext.pseim.ui.contentassist,
|
||||
com.irtsaintexupery.xtext.pseim.mapping.ui.internal,
|
||||
com.irtsaintexupery.xtext.pseim.ui.quickfix
|
||||
Bundle-Activator: com.irtsaintexupery.xtext.pseim.mapping.ui.internal.MappingActivator
|
||||
@@ -0,0 +1,7 @@
|
||||
source.. = src/,\
|
||||
src-gen/,\
|
||||
xtend-gen/
|
||||
bin.includes = .,\
|
||||
META-INF/,\
|
||||
plugin.xml
|
||||
bin.excludes = **/*.xtend
|
||||
@@ -0,0 +1,410 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<?eclipse version="3.0"?>
|
||||
<plugin>
|
||||
<extension
|
||||
point="org.eclipse.ui.editors">
|
||||
<editor
|
||||
class="com.irtsaintexupery.xtext.pseim.ui.MappingExecutableExtensionFactory:org.eclipse.xtext.ui.editor.XtextEditor"
|
||||
contributorClass="org.eclipse.ui.editors.text.TextEditorActionContributor"
|
||||
default="true"
|
||||
extensions="mapping"
|
||||
id="com.irtsaintexupery.xtext.pseim.Mapping"
|
||||
name="Mapping Editor">
|
||||
</editor>
|
||||
</extension>
|
||||
<extension
|
||||
point="org.eclipse.ui.handlers">
|
||||
<handler
|
||||
class="com.irtsaintexupery.xtext.pseim.ui.MappingExecutableExtensionFactory:org.eclipse.xtext.ui.editor.hyperlinking.OpenDeclarationHandler"
|
||||
commandId="org.eclipse.xtext.ui.editor.hyperlinking.OpenDeclaration">
|
||||
<activeWhen>
|
||||
<reference
|
||||
definitionId="com.irtsaintexupery.xtext.pseim.Mapping.Editor.opened">
|
||||
</reference>
|
||||
</activeWhen>
|
||||
</handler>
|
||||
<handler
|
||||
class="com.irtsaintexupery.xtext.pseim.ui.MappingExecutableExtensionFactory:org.eclipse.xtext.ui.editor.handler.ValidateActionHandler"
|
||||
commandId="com.irtsaintexupery.xtext.pseim.Mapping.validate">
|
||||
<activeWhen>
|
||||
<reference
|
||||
definitionId="com.irtsaintexupery.xtext.pseim.Mapping.Editor.opened">
|
||||
</reference>
|
||||
</activeWhen>
|
||||
</handler>
|
||||
<!-- copy qualified name -->
|
||||
<handler
|
||||
class="com.irtsaintexupery.xtext.pseim.ui.MappingExecutableExtensionFactory:org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedNameHandler"
|
||||
commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedName">
|
||||
<activeWhen>
|
||||
<reference definitionId="com.irtsaintexupery.xtext.pseim.Mapping.Editor.opened" />
|
||||
</activeWhen>
|
||||
</handler>
|
||||
<handler
|
||||
class="com.irtsaintexupery.xtext.pseim.ui.MappingExecutableExtensionFactory:org.eclipse.xtext.ui.editor.copyqualifiedname.OutlineCopyQualifiedNameHandler"
|
||||
commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.OutlineCopyQualifiedName">
|
||||
<activeWhen>
|
||||
<and>
|
||||
<reference definitionId="com.irtsaintexupery.xtext.pseim.Mapping.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="com.irtsaintexupery.xtext.pseim.Mapping.Editor.opened">
|
||||
<and>
|
||||
<reference definitionId="isActiveEditorAnInstanceOfXtextEditor"/>
|
||||
<with variable="activeEditor">
|
||||
<test property="org.eclipse.xtext.ui.editor.XtextEditor.languageName"
|
||||
value="com.irtsaintexupery.xtext.pseim.Mapping"
|
||||
forcePluginActivation="true"/>
|
||||
</with>
|
||||
</and>
|
||||
</definition>
|
||||
<definition id="com.irtsaintexupery.xtext.pseim.Mapping.XtextEditor.opened">
|
||||
<and>
|
||||
<reference definitionId="isXtextEditorActive"/>
|
||||
<with variable="activeEditor">
|
||||
<test property="org.eclipse.xtext.ui.editor.XtextEditor.languageName"
|
||||
value="com.irtsaintexupery.xtext.pseim.Mapping"
|
||||
forcePluginActivation="true"/>
|
||||
</with>
|
||||
</and>
|
||||
</definition>
|
||||
</extension>
|
||||
<extension
|
||||
point="org.eclipse.ui.preferencePages">
|
||||
<page
|
||||
class="com.irtsaintexupery.xtext.pseim.ui.MappingExecutableExtensionFactory:org.eclipse.xtext.ui.editor.preferences.LanguageRootPreferencePage"
|
||||
id="com.irtsaintexupery.xtext.pseim.Mapping"
|
||||
name="Mapping">
|
||||
<keywordReference id="com.irtsaintexupery.xtext.pseim.ui.keyword_Mapping"/>
|
||||
</page>
|
||||
<page
|
||||
category="com.irtsaintexupery.xtext.pseim.Mapping"
|
||||
class="com.irtsaintexupery.xtext.pseim.ui.MappingExecutableExtensionFactory:org.eclipse.xtext.ui.editor.syntaxcoloring.SyntaxColoringPreferencePage"
|
||||
id="com.irtsaintexupery.xtext.pseim.Mapping.coloring"
|
||||
name="Syntax Coloring">
|
||||
<keywordReference id="com.irtsaintexupery.xtext.pseim.ui.keyword_Mapping"/>
|
||||
</page>
|
||||
<page
|
||||
category="com.irtsaintexupery.xtext.pseim.Mapping"
|
||||
class="com.irtsaintexupery.xtext.pseim.ui.MappingExecutableExtensionFactory:org.eclipse.xtext.ui.editor.templates.XtextTemplatePreferencePage"
|
||||
id="com.irtsaintexupery.xtext.pseim.Mapping.templates"
|
||||
name="Templates">
|
||||
<keywordReference id="com.irtsaintexupery.xtext.pseim.ui.keyword_Mapping"/>
|
||||
</page>
|
||||
</extension>
|
||||
<extension
|
||||
point="org.eclipse.ui.propertyPages">
|
||||
<page
|
||||
class="com.irtsaintexupery.xtext.pseim.ui.MappingExecutableExtensionFactory:org.eclipse.xtext.ui.editor.preferences.LanguageRootPreferencePage"
|
||||
id="com.irtsaintexupery.xtext.pseim.Mapping"
|
||||
name="Mapping">
|
||||
<keywordReference id="com.irtsaintexupery.xtext.pseim.ui.keyword_Mapping"/>
|
||||
<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="com.irtsaintexupery.xtext.pseim.ui.keyword_Mapping"
|
||||
label="Mapping"/>
|
||||
</extension>
|
||||
<extension
|
||||
point="org.eclipse.ui.commands">
|
||||
<command
|
||||
description="Trigger expensive validation"
|
||||
id="com.irtsaintexupery.xtext.pseim.Mapping.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="com.irtsaintexupery.xtext.pseim.Mapping.validate"
|
||||
style="push"
|
||||
tooltip="Trigger expensive validation">
|
||||
<visibleWhen checkEnabled="false">
|
||||
<reference
|
||||
definitionId="com.irtsaintexupery.xtext.pseim.Mapping.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="com.irtsaintexupery.xtext.pseim.Mapping.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="com.irtsaintexupery.xtext.pseim.Mapping.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="com.irtsaintexupery.xtext.pseim.Mapping.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="com.irtsaintexupery.xtext.pseim.Mapping.Editor.opened">
|
||||
</reference>
|
||||
</visibleWhen>
|
||||
</command>
|
||||
</menuContribution>
|
||||
</extension>
|
||||
<extension point="org.eclipse.ui.handlers">
|
||||
<handler
|
||||
class="com.irtsaintexupery.xtext.pseim.ui.MappingExecutableExtensionFactory:org.eclipse.xtext.ui.editor.findrefs.FindReferencesHandler"
|
||||
commandId="org.eclipse.xtext.ui.editor.FindReferences">
|
||||
<activeWhen>
|
||||
<reference
|
||||
definitionId="com.irtsaintexupery.xtext.pseim.Mapping.Editor.opened">
|
||||
</reference>
|
||||
</activeWhen>
|
||||
</handler>
|
||||
</extension>
|
||||
<!-- adding resource factories -->
|
||||
<extension
|
||||
point="org.eclipse.emf.ecore.extension_parser">
|
||||
<parser
|
||||
class="com.irtsaintexupery.xtext.pseim.ui.MappingExecutableExtensionFactory:org.eclipse.xtext.resource.IResourceFactory"
|
||||
type="mapping">
|
||||
</parser>
|
||||
</extension>
|
||||
<extension point="org.eclipse.xtext.extension_resourceServiceProvider">
|
||||
<resourceServiceProvider
|
||||
class="com.irtsaintexupery.xtext.pseim.ui.MappingExecutableExtensionFactory:org.eclipse.xtext.ui.resource.IResourceUIServiceProvider"
|
||||
uriExtension="mapping">
|
||||
</resourceServiceProvider>
|
||||
</extension>
|
||||
<!-- marker definitions for com.irtsaintexupery.xtext.pseim.Mapping -->
|
||||
<extension
|
||||
id="mapping.check.fast"
|
||||
name="Mapping Problem"
|
||||
point="org.eclipse.core.resources.markers">
|
||||
<super type="org.eclipse.xtext.ui.check.fast"/>
|
||||
<persistent value="true"/>
|
||||
</extension>
|
||||
<extension
|
||||
id="mapping.check.normal"
|
||||
name="Mapping Problem"
|
||||
point="org.eclipse.core.resources.markers">
|
||||
<super type="org.eclipse.xtext.ui.check.normal"/>
|
||||
<persistent value="true"/>
|
||||
</extension>
|
||||
<extension
|
||||
id="mapping.check.expensive"
|
||||
name="Mapping 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="com.irtsaintexupery.xtext.pseim.ui.MappingExecutableExtensionFactory:org.eclipse.xtext.builder.IXtextBuilderParticipant"
|
||||
fileExtensions="mapping"/>
|
||||
</extension>
|
||||
<extension point="org.eclipse.ui.preferencePages">
|
||||
<page
|
||||
category="com.irtsaintexupery.xtext.pseim.Mapping"
|
||||
class="com.irtsaintexupery.xtext.pseim.ui.MappingExecutableExtensionFactory:org.eclipse.xtext.builder.preferences.BuilderPreferencePage"
|
||||
id="com.irtsaintexupery.xtext.pseim.Mapping.compiler.preferencePage"
|
||||
name="Compiler">
|
||||
<keywordReference id="com.irtsaintexupery.xtext.pseim.ui.keyword_Mapping"/>
|
||||
</page>
|
||||
</extension>
|
||||
<extension point="org.eclipse.ui.propertyPages">
|
||||
<page
|
||||
category="com.irtsaintexupery.xtext.pseim.Mapping"
|
||||
class="com.irtsaintexupery.xtext.pseim.ui.MappingExecutableExtensionFactory:org.eclipse.xtext.builder.preferences.BuilderPreferencePage"
|
||||
id="com.irtsaintexupery.xtext.pseim.Mapping.compiler.propertyPage"
|
||||
name="Compiler">
|
||||
<keywordReference id="com.irtsaintexupery.xtext.pseim.ui.keyword_Mapping"/>
|
||||
<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="com.irtsaintexupery.xtext.pseim.Mapping.OpenGeneratedCode"
|
||||
style="push">
|
||||
<visibleWhen checkEnabled="false">
|
||||
<reference definitionId="com.irtsaintexupery.xtext.pseim.Mapping.Editor.opened" />
|
||||
</visibleWhen>
|
||||
</command>
|
||||
</menuContribution>
|
||||
</extension>
|
||||
<extension point="org.eclipse.ui.handlers">
|
||||
<handler
|
||||
class="com.irtsaintexupery.xtext.pseim.ui.MappingExecutableExtensionFactory:org.eclipse.xtext.ui.generator.trace.OpenGeneratedFileHandler"
|
||||
commandId="org.eclipse.xtext.ui.OpenGeneratedFileCommand">
|
||||
<activeWhen>
|
||||
<reference definitionId="com.irtsaintexupery.xtext.pseim.Mapping.Editor.opened" />
|
||||
</activeWhen>
|
||||
</handler>
|
||||
</extension>
|
||||
<!-- Quick Outline -->
|
||||
<extension
|
||||
point="org.eclipse.ui.handlers">
|
||||
<handler
|
||||
class="com.irtsaintexupery.xtext.pseim.ui.MappingExecutableExtensionFactory:org.eclipse.xtext.ui.editor.outline.quickoutline.ShowQuickOutlineActionHandler"
|
||||
commandId="org.eclipse.xtext.ui.editor.outline.QuickOutline">
|
||||
<activeWhen>
|
||||
<reference
|
||||
definitionId="com.irtsaintexupery.xtext.pseim.Mapping.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="com.irtsaintexupery.xtext.pseim.Mapping.Editor.opened"/>
|
||||
</visibleWhen>
|
||||
</command>
|
||||
</menuContribution>
|
||||
</extension>
|
||||
<!-- quickfix marker resolution generator for com.irtsaintexupery.xtext.pseim.Mapping -->
|
||||
<extension
|
||||
point="org.eclipse.ui.ide.markerResolution">
|
||||
<markerResolutionGenerator
|
||||
class="com.irtsaintexupery.xtext.pseim.ui.MappingExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator"
|
||||
markerType="com.irtsaintexupery.xtext.pseim.mapping.ui.mapping.check.fast">
|
||||
<attribute
|
||||
name="FIXABLE_KEY"
|
||||
value="true">
|
||||
</attribute>
|
||||
</markerResolutionGenerator>
|
||||
<markerResolutionGenerator
|
||||
class="com.irtsaintexupery.xtext.pseim.ui.MappingExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator"
|
||||
markerType="com.irtsaintexupery.xtext.pseim.mapping.ui.mapping.check.normal">
|
||||
<attribute
|
||||
name="FIXABLE_KEY"
|
||||
value="true">
|
||||
</attribute>
|
||||
</markerResolutionGenerator>
|
||||
<markerResolutionGenerator
|
||||
class="com.irtsaintexupery.xtext.pseim.ui.MappingExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator"
|
||||
markerType="com.irtsaintexupery.xtext.pseim.mapping.ui.mapping.check.expensive">
|
||||
<attribute
|
||||
name="FIXABLE_KEY"
|
||||
value="true">
|
||||
</attribute>
|
||||
</markerResolutionGenerator>
|
||||
</extension>
|
||||
<!-- Rename Refactoring -->
|
||||
<extension point="org.eclipse.ui.handlers">
|
||||
<handler
|
||||
class="com.irtsaintexupery.xtext.pseim.ui.MappingExecutableExtensionFactory:org.eclipse.xtext.ui.refactoring.ui.DefaultRenameElementHandler"
|
||||
commandId="org.eclipse.xtext.ui.refactoring.RenameElement">
|
||||
<activeWhen>
|
||||
<reference
|
||||
definitionId="com.irtsaintexupery.xtext.pseim.Mapping.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="com.irtsaintexupery.xtext.pseim.Mapping.Editor.opened">
|
||||
</reference>
|
||||
</visibleWhen>
|
||||
</command>
|
||||
</menuContribution>
|
||||
</extension>
|
||||
<extension point="org.eclipse.ui.preferencePages">
|
||||
<page
|
||||
category="com.irtsaintexupery.xtext.pseim.Mapping"
|
||||
class="com.irtsaintexupery.xtext.pseim.ui.MappingExecutableExtensionFactory:org.eclipse.xtext.ui.refactoring.ui.RefactoringPreferencePage"
|
||||
id="com.irtsaintexupery.xtext.pseim.Mapping.refactoring"
|
||||
name="Refactoring">
|
||||
<keywordReference id="com.irtsaintexupery.xtext.pseim.ui.keyword_Mapping"/>
|
||||
</page>
|
||||
</extension>
|
||||
<extension point="org.eclipse.compare.contentViewers">
|
||||
<viewer id="com.irtsaintexupery.xtext.pseim.Mapping.compare.contentViewers"
|
||||
class="com.irtsaintexupery.xtext.pseim.ui.MappingExecutableExtensionFactory:org.eclipse.xtext.ui.compare.InjectableViewerCreator"
|
||||
extensions="mapping">
|
||||
</viewer>
|
||||
</extension>
|
||||
<extension point="org.eclipse.compare.contentMergeViewers">
|
||||
<viewer id="com.irtsaintexupery.xtext.pseim.Mapping.compare.contentMergeViewers"
|
||||
class="com.irtsaintexupery.xtext.pseim.ui.MappingExecutableExtensionFactory:org.eclipse.xtext.ui.compare.InjectableViewerCreator"
|
||||
extensions="mapping" label="Mapping Compare">
|
||||
</viewer>
|
||||
</extension>
|
||||
<extension point="org.eclipse.ui.editors.documentProviders">
|
||||
<provider id="com.irtsaintexupery.xtext.pseim.Mapping.editors.documentProviders"
|
||||
class="com.irtsaintexupery.xtext.pseim.ui.MappingExecutableExtensionFactory:org.eclipse.xtext.ui.editor.model.XtextDocumentProvider"
|
||||
extensions="mapping">
|
||||
</provider>
|
||||
</extension>
|
||||
<extension point="org.eclipse.team.core.fileTypes">
|
||||
<fileTypes
|
||||
extension="mapping"
|
||||
type="text">
|
||||
</fileTypes>
|
||||
</extension>
|
||||
</plugin>
|
||||
@@ -0,0 +1,93 @@
|
||||
/*
|
||||
* generated by Xtext 2.12.0
|
||||
*/
|
||||
package com.irtsaintexupery.xtext.pseim.mapping.ui.internal;
|
||||
|
||||
import com.google.common.collect.Maps;
|
||||
import com.google.inject.Guice;
|
||||
import com.google.inject.Injector;
|
||||
import com.google.inject.Module;
|
||||
import com.irtsaintexupery.xtext.pseim.MappingRuntimeModule;
|
||||
import com.irtsaintexupery.xtext.pseim.ui.MappingUiModule;
|
||||
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;
|
||||
|
||||
/**
|
||||
* This class was generated. Customizations should only happen in a newly
|
||||
* introduced subclass.
|
||||
*/
|
||||
public class MappingActivator extends AbstractUIPlugin {
|
||||
|
||||
public static final String COM_IRTSAINTEXUPERY_XTEXT_PSEIM_MAPPING = "com.irtsaintexupery.xtext.pseim.Mapping";
|
||||
|
||||
private static final Logger logger = Logger.getLogger(MappingActivator.class);
|
||||
|
||||
private static MappingActivator 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 MappingActivator 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 (COM_IRTSAINTEXUPERY_XTEXT_PSEIM_MAPPING.equals(grammar)) {
|
||||
return new MappingRuntimeModule();
|
||||
}
|
||||
throw new IllegalArgumentException(grammar);
|
||||
}
|
||||
|
||||
protected Module getUiModule(String grammar) {
|
||||
if (COM_IRTSAINTEXUPERY_XTEXT_PSEIM_MAPPING.equals(grammar)) {
|
||||
return new MappingUiModule(this);
|
||||
}
|
||||
throw new IllegalArgumentException(grammar);
|
||||
}
|
||||
|
||||
protected Module getSharedStateModule() {
|
||||
return new SharedStateModule();
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,293 @@
|
||||
/*
|
||||
* generated by Xtext 2.12.0
|
||||
*/
|
||||
package com.irtsaintexupery.xtext.pseim.ui;
|
||||
|
||||
import com.google.inject.Binder;
|
||||
import com.google.inject.Provider;
|
||||
import com.google.inject.name.Names;
|
||||
import com.irtsaintexupery.xtext.pseim.ide.contentassist.antlr.MappingParser;
|
||||
import com.irtsaintexupery.xtext.pseim.ide.contentassist.antlr.PartialMappingContentAssistParser;
|
||||
import com.irtsaintexupery.xtext.pseim.ide.contentassist.antlr.internal.InternalMappingLexer;
|
||||
import com.irtsaintexupery.xtext.pseim.ui.contentassist.MappingProposalProvider;
|
||||
import com.irtsaintexupery.xtext.pseim.ui.labeling.MappingDescriptionLabelProvider;
|
||||
import com.irtsaintexupery.xtext.pseim.ui.labeling.MappingLabelProvider;
|
||||
import com.irtsaintexupery.xtext.pseim.ui.outline.MappingOutlineTreeProvider;
|
||||
import com.irtsaintexupery.xtext.pseim.ui.quickfix.MappingQuickfixProvider;
|
||||
import org.eclipse.compare.IViewerCreator;
|
||||
import org.eclipse.core.resources.IWorkspaceRoot;
|
||||
import org.eclipse.core.resources.ResourcesPlugin;
|
||||
import org.eclipse.jface.viewers.ILabelProvider;
|
||||
import org.eclipse.ui.plugin.AbstractUIPlugin;
|
||||
import org.eclipse.xtext.builder.BuilderParticipant;
|
||||
import org.eclipse.xtext.builder.EclipseOutputConfigurationProvider;
|
||||
import org.eclipse.xtext.builder.IXtextBuilderParticipant;
|
||||
import org.eclipse.xtext.builder.builderState.IBuilderState;
|
||||
import org.eclipse.xtext.builder.clustering.CurrentDescriptions;
|
||||
import org.eclipse.xtext.builder.impl.PersistentDataAwareDirtyResource;
|
||||
import org.eclipse.xtext.builder.nature.NatureAddingEditorCallback;
|
||||
import org.eclipse.xtext.builder.preferences.BuilderPreferenceAccess;
|
||||
import org.eclipse.xtext.generator.IContextualOutputConfigurationProvider;
|
||||
import org.eclipse.xtext.ide.LexerIdeBindings;
|
||||
import org.eclipse.xtext.ide.editor.contentassist.antlr.IContentAssistParser;
|
||||
import org.eclipse.xtext.ide.editor.contentassist.antlr.internal.Lexer;
|
||||
import org.eclipse.xtext.ide.editor.partialEditing.IPartialEditingContentAssistParser;
|
||||
import org.eclipse.xtext.parser.antlr.AntlrTokenDefProvider;
|
||||
import org.eclipse.xtext.parser.antlr.ITokenDefProvider;
|
||||
import org.eclipse.xtext.parser.antlr.LexerProvider;
|
||||
import org.eclipse.xtext.resource.IResourceDescriptions;
|
||||
import org.eclipse.xtext.resource.containers.IAllContainersState;
|
||||
import org.eclipse.xtext.resource.impl.ResourceDescriptionsProvider;
|
||||
import org.eclipse.xtext.service.SingletonBinding;
|
||||
import org.eclipse.xtext.ui.DefaultUiModule;
|
||||
import org.eclipse.xtext.ui.UIBindings;
|
||||
import org.eclipse.xtext.ui.codetemplates.ui.AccessibleCodetemplatesActivator;
|
||||
import org.eclipse.xtext.ui.codetemplates.ui.partialEditing.IPartialEditingContentAssistContextFactory;
|
||||
import org.eclipse.xtext.ui.codetemplates.ui.partialEditing.PartialEditingContentAssistContextFactory;
|
||||
import org.eclipse.xtext.ui.codetemplates.ui.preferences.AdvancedTemplatesPreferencePage;
|
||||
import org.eclipse.xtext.ui.codetemplates.ui.preferences.TemplatesLanguageConfiguration;
|
||||
import org.eclipse.xtext.ui.codetemplates.ui.registry.LanguageRegistrar;
|
||||
import org.eclipse.xtext.ui.codetemplates.ui.registry.LanguageRegistry;
|
||||
import org.eclipse.xtext.ui.compare.DefaultViewerCreator;
|
||||
import org.eclipse.xtext.ui.editor.DocumentBasedDirtyResource;
|
||||
import org.eclipse.xtext.ui.editor.IXtextEditorCallback;
|
||||
import org.eclipse.xtext.ui.editor.contentassist.ContentAssistContext;
|
||||
import org.eclipse.xtext.ui.editor.contentassist.FQNPrefixMatcher;
|
||||
import org.eclipse.xtext.ui.editor.contentassist.IContentProposalProvider;
|
||||
import org.eclipse.xtext.ui.editor.contentassist.IProposalConflictHelper;
|
||||
import org.eclipse.xtext.ui.editor.contentassist.PrefixMatcher;
|
||||
import org.eclipse.xtext.ui.editor.contentassist.antlr.AntlrProposalConflictHelper;
|
||||
import org.eclipse.xtext.ui.editor.contentassist.antlr.DelegatingContentAssistContextFactory;
|
||||
import org.eclipse.xtext.ui.editor.formatting.IContentFormatterFactory;
|
||||
import org.eclipse.xtext.ui.editor.formatting2.ContentFormatterFactory;
|
||||
import org.eclipse.xtext.ui.editor.outline.IOutlineTreeProvider;
|
||||
import org.eclipse.xtext.ui.editor.outline.impl.IOutlineTreeStructureProvider;
|
||||
import org.eclipse.xtext.ui.editor.preferences.IPreferenceStoreInitializer;
|
||||
import org.eclipse.xtext.ui.editor.quickfix.IssueResolutionProvider;
|
||||
import org.eclipse.xtext.ui.editor.templates.XtextTemplatePreferencePage;
|
||||
import org.eclipse.xtext.ui.refactoring.IDependentElementsCalculator;
|
||||
import org.eclipse.xtext.ui.refactoring.IReferenceUpdater;
|
||||
import org.eclipse.xtext.ui.refactoring.IRenameRefactoringProvider;
|
||||
import org.eclipse.xtext.ui.refactoring.IRenameStrategy;
|
||||
import org.eclipse.xtext.ui.refactoring.impl.DefaultDependentElementsCalculator;
|
||||
import org.eclipse.xtext.ui.refactoring.impl.DefaultReferenceUpdater;
|
||||
import org.eclipse.xtext.ui.refactoring.impl.DefaultRenameRefactoringProvider;
|
||||
import org.eclipse.xtext.ui.refactoring.impl.DefaultRenameStrategy;
|
||||
import org.eclipse.xtext.ui.refactoring.ui.DefaultRenameSupport;
|
||||
import org.eclipse.xtext.ui.refactoring.ui.IRenameSupport;
|
||||
import org.eclipse.xtext.ui.refactoring.ui.RefactoringPreferences;
|
||||
import org.eclipse.xtext.ui.resource.ResourceServiceDescriptionLabelProvider;
|
||||
import org.eclipse.xtext.ui.shared.Access;
|
||||
|
||||
/**
|
||||
* Manual modifications go to {@link MappingUiModule}.
|
||||
*/
|
||||
@SuppressWarnings("all")
|
||||
public abstract class AbstractMappingUiModule extends DefaultUiModule {
|
||||
|
||||
public AbstractMappingUiModule(AbstractUIPlugin plugin) {
|
||||
super(plugin);
|
||||
}
|
||||
|
||||
// contributed by org.eclipse.xtext.xtext.generator.ImplicitFragment
|
||||
public Provider<? extends IAllContainersState> provideIAllContainersState() {
|
||||
return Access.getJavaProjectsState();
|
||||
}
|
||||
|
||||
// contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2
|
||||
public Class<? extends IProposalConflictHelper> bindIProposalConflictHelper() {
|
||||
return AntlrProposalConflictHelper.class;
|
||||
}
|
||||
|
||||
// contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2
|
||||
public void configureContentAssistLexer(Binder binder) {
|
||||
binder.bind(Lexer.class)
|
||||
.annotatedWith(Names.named(LexerIdeBindings.CONTENT_ASSIST))
|
||||
.to(InternalMappingLexer.class);
|
||||
}
|
||||
|
||||
// contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2
|
||||
public void configureHighlightingLexer(Binder binder) {
|
||||
binder.bind(org.eclipse.xtext.parser.antlr.Lexer.class)
|
||||
.annotatedWith(Names.named(LexerIdeBindings.HIGHLIGHTING))
|
||||
.to(com.irtsaintexupery.xtext.pseim.parser.antlr.internal.InternalMappingLexer.class);
|
||||
}
|
||||
|
||||
// contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2
|
||||
public void configureHighlightingTokenDefProvider(Binder binder) {
|
||||
binder.bind(ITokenDefProvider.class)
|
||||
.annotatedWith(Names.named(LexerIdeBindings.HIGHLIGHTING))
|
||||
.to(AntlrTokenDefProvider.class);
|
||||
}
|
||||
|
||||
// contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2
|
||||
public Class<? extends ContentAssistContext.Factory> bindContentAssistContext$Factory() {
|
||||
return DelegatingContentAssistContextFactory.class;
|
||||
}
|
||||
|
||||
// contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2
|
||||
public Class<? extends IContentAssistParser> bindIContentAssistParser() {
|
||||
return MappingParser.class;
|
||||
}
|
||||
|
||||
// contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2
|
||||
public void configureContentAssistLexerProvider(Binder binder) {
|
||||
binder.bind(InternalMappingLexer.class).toProvider(LexerProvider.create(InternalMappingLexer.class));
|
||||
}
|
||||
|
||||
// contributed by org.eclipse.xtext.xtext.generator.exporting.QualifiedNamesFragment2
|
||||
public Class<? extends PrefixMatcher> bindPrefixMatcher() {
|
||||
return FQNPrefixMatcher.class;
|
||||
}
|
||||
|
||||
// contributed by org.eclipse.xtext.xtext.generator.exporting.QualifiedNamesFragment2
|
||||
public Class<? extends IDependentElementsCalculator> bindIDependentElementsCalculator() {
|
||||
return DefaultDependentElementsCalculator.class;
|
||||
}
|
||||
|
||||
// contributed by org.eclipse.xtext.xtext.generator.builder.BuilderIntegrationFragment2
|
||||
public void configureIResourceDescriptionsBuilderScope(Binder binder) {
|
||||
binder.bind(IResourceDescriptions.class).annotatedWith(Names.named(ResourceDescriptionsProvider.NAMED_BUILDER_SCOPE)).to(CurrentDescriptions.ResourceSetAware.class);
|
||||
}
|
||||
|
||||
// contributed by org.eclipse.xtext.xtext.generator.builder.BuilderIntegrationFragment2
|
||||
public Class<? extends IXtextEditorCallback> bindIXtextEditorCallback() {
|
||||
return NatureAddingEditorCallback.class;
|
||||
}
|
||||
|
||||
// contributed by org.eclipse.xtext.xtext.generator.builder.BuilderIntegrationFragment2
|
||||
public Class<? extends IContextualOutputConfigurationProvider> bindIContextualOutputConfigurationProvider() {
|
||||
return EclipseOutputConfigurationProvider.class;
|
||||
}
|
||||
|
||||
// contributed by org.eclipse.xtext.xtext.generator.builder.BuilderIntegrationFragment2
|
||||
public void configureIResourceDescriptionsPersisted(Binder binder) {
|
||||
binder.bind(IResourceDescriptions.class).annotatedWith(Names.named(ResourceDescriptionsProvider.PERSISTED_DESCRIPTIONS)).to(IBuilderState.class);
|
||||
}
|
||||
|
||||
// contributed by org.eclipse.xtext.xtext.generator.builder.BuilderIntegrationFragment2
|
||||
public Class<? extends DocumentBasedDirtyResource> bindDocumentBasedDirtyResource() {
|
||||
return PersistentDataAwareDirtyResource.class;
|
||||
}
|
||||
|
||||
// contributed by org.eclipse.xtext.xtext.generator.generator.GeneratorFragment2
|
||||
public Class<? extends IXtextBuilderParticipant> bindIXtextBuilderParticipant() {
|
||||
return BuilderParticipant.class;
|
||||
}
|
||||
|
||||
// contributed by org.eclipse.xtext.xtext.generator.generator.GeneratorFragment2
|
||||
public IWorkspaceRoot bindIWorkspaceRootToInstance() {
|
||||
return ResourcesPlugin.getWorkspace().getRoot();
|
||||
}
|
||||
|
||||
// contributed by org.eclipse.xtext.xtext.generator.generator.GeneratorFragment2
|
||||
public void configureBuilderPreferenceStoreInitializer(Binder binder) {
|
||||
binder.bind(IPreferenceStoreInitializer.class)
|
||||
.annotatedWith(Names.named("builderPreferenceInitializer"))
|
||||
.to(BuilderPreferenceAccess.Initializer.class);
|
||||
}
|
||||
|
||||
// contributed by org.eclipse.xtext.xtext.generator.formatting.Formatter2Fragment2
|
||||
public Class<? extends IContentFormatterFactory> bindIContentFormatterFactory() {
|
||||
return ContentFormatterFactory.class;
|
||||
}
|
||||
|
||||
// contributed by org.eclipse.xtext.xtext.generator.ui.labeling.LabelProviderFragment2
|
||||
public Class<? extends ILabelProvider> bindILabelProvider() {
|
||||
return MappingLabelProvider.class;
|
||||
}
|
||||
|
||||
// contributed by org.eclipse.xtext.xtext.generator.ui.labeling.LabelProviderFragment2
|
||||
public void configureResourceUIServiceLabelProvider(Binder binder) {
|
||||
binder.bind(ILabelProvider.class).annotatedWith(ResourceServiceDescriptionLabelProvider.class).to(MappingDescriptionLabelProvider.class);
|
||||
}
|
||||
|
||||
// contributed by org.eclipse.xtext.xtext.generator.ui.outline.OutlineTreeProviderFragment2
|
||||
public Class<? extends IOutlineTreeProvider> bindIOutlineTreeProvider() {
|
||||
return MappingOutlineTreeProvider.class;
|
||||
}
|
||||
|
||||
// contributed by org.eclipse.xtext.xtext.generator.ui.outline.OutlineTreeProviderFragment2
|
||||
public Class<? extends IOutlineTreeStructureProvider> bindIOutlineTreeStructureProvider() {
|
||||
return MappingOutlineTreeProvider.class;
|
||||
}
|
||||
|
||||
// contributed by org.eclipse.xtext.xtext.generator.ui.quickfix.QuickfixProviderFragment2
|
||||
public Class<? extends IssueResolutionProvider> bindIssueResolutionProvider() {
|
||||
return MappingQuickfixProvider.class;
|
||||
}
|
||||
|
||||
// contributed by org.eclipse.xtext.xtext.generator.ui.contentAssist.ContentAssistFragment2
|
||||
public Class<? extends IContentProposalProvider> bindIContentProposalProvider() {
|
||||
return MappingProposalProvider.class;
|
||||
}
|
||||
|
||||
// contributed by org.eclipse.xtext.xtext.generator.ui.refactoring.RefactorElementNameFragment2
|
||||
public Class<? extends IRenameStrategy> bindIRenameStrategy() {
|
||||
return DefaultRenameStrategy.class;
|
||||
}
|
||||
|
||||
// contributed by org.eclipse.xtext.xtext.generator.ui.refactoring.RefactorElementNameFragment2
|
||||
public Class<? extends IReferenceUpdater> bindIReferenceUpdater() {
|
||||
return DefaultReferenceUpdater.class;
|
||||
}
|
||||
|
||||
// contributed by org.eclipse.xtext.xtext.generator.ui.refactoring.RefactorElementNameFragment2
|
||||
public void configureIPreferenceStoreInitializer(Binder binder) {
|
||||
binder.bind(IPreferenceStoreInitializer.class)
|
||||
.annotatedWith(Names.named("RefactoringPreferences"))
|
||||
.to(RefactoringPreferences.Initializer.class);
|
||||
}
|
||||
|
||||
// contributed by org.eclipse.xtext.xtext.generator.ui.refactoring.RefactorElementNameFragment2
|
||||
public Class<? extends IRenameRefactoringProvider> bindIRenameRefactoringProvider() {
|
||||
return DefaultRenameRefactoringProvider.class;
|
||||
}
|
||||
|
||||
// contributed by org.eclipse.xtext.xtext.generator.ui.refactoring.RefactorElementNameFragment2
|
||||
public Class<? extends IRenameSupport.Factory> bindIRenameSupport$Factory() {
|
||||
return DefaultRenameSupport.Factory.class;
|
||||
}
|
||||
|
||||
// contributed by org.eclipse.xtext.xtext.generator.ui.templates.CodetemplatesGeneratorFragment2
|
||||
public Provider<? extends TemplatesLanguageConfiguration> provideTemplatesLanguageConfiguration() {
|
||||
return AccessibleCodetemplatesActivator.getTemplatesLanguageConfigurationProvider();
|
||||
}
|
||||
|
||||
// contributed by org.eclipse.xtext.xtext.generator.ui.templates.CodetemplatesGeneratorFragment2
|
||||
public Provider<? extends LanguageRegistry> provideLanguageRegistry() {
|
||||
return AccessibleCodetemplatesActivator.getLanguageRegistry();
|
||||
}
|
||||
|
||||
// contributed by org.eclipse.xtext.xtext.generator.ui.templates.CodetemplatesGeneratorFragment2
|
||||
@SingletonBinding(eager=true)
|
||||
public Class<? extends LanguageRegistrar> bindLanguageRegistrar() {
|
||||
return LanguageRegistrar.class;
|
||||
}
|
||||
|
||||
// contributed by org.eclipse.xtext.xtext.generator.ui.templates.CodetemplatesGeneratorFragment2
|
||||
public Class<? extends XtextTemplatePreferencePage> bindXtextTemplatePreferencePage() {
|
||||
return AdvancedTemplatesPreferencePage.class;
|
||||
}
|
||||
|
||||
// contributed by org.eclipse.xtext.xtext.generator.ui.templates.CodetemplatesGeneratorFragment2
|
||||
public Class<? extends IPartialEditingContentAssistParser> bindIPartialEditingContentAssistParser() {
|
||||
return PartialMappingContentAssistParser.class;
|
||||
}
|
||||
|
||||
// contributed by org.eclipse.xtext.xtext.generator.ui.templates.CodetemplatesGeneratorFragment2
|
||||
public Class<? extends IPartialEditingContentAssistContextFactory> bindIPartialEditingContentAssistContextFactory() {
|
||||
return PartialEditingContentAssistContextFactory.class;
|
||||
}
|
||||
|
||||
// contributed by org.eclipse.xtext.xtext.generator.ui.compare.CompareFragment2
|
||||
public Class<? extends IViewerCreator> bindIViewerCreator() {
|
||||
return DefaultViewerCreator.class;
|
||||
}
|
||||
|
||||
// contributed by org.eclipse.xtext.xtext.generator.ui.compare.CompareFragment2
|
||||
public void configureCompareViewerTitle(Binder binder) {
|
||||
binder.bind(String.class).annotatedWith(Names.named(UIBindings.COMPARE_VIEWER_TITLE)).toInstance("Mapping Compare");
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
/*
|
||||
* generated by Xtext 2.12.0
|
||||
*/
|
||||
package com.irtsaintexupery.xtext.pseim.ui;
|
||||
|
||||
import com.google.inject.Injector;
|
||||
import com.irtsaintexupery.xtext.pseim.mapping.ui.internal.MappingActivator;
|
||||
import org.eclipse.xtext.ui.guice.AbstractGuiceAwareExecutableExtensionFactory;
|
||||
import org.osgi.framework.Bundle;
|
||||
|
||||
/**
|
||||
* This class was generated. Customizations should only happen in a newly
|
||||
* introduced subclass.
|
||||
*/
|
||||
public class MappingExecutableExtensionFactory extends AbstractGuiceAwareExecutableExtensionFactory {
|
||||
|
||||
@Override
|
||||
protected Bundle getBundle() {
|
||||
return MappingActivator.getInstance().getBundle();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Injector getInjector() {
|
||||
return MappingActivator.getInstance().getInjector(MappingActivator.COM_IRTSAINTEXUPERY_XTEXT_PSEIM_MAPPING);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,73 @@
|
||||
/*
|
||||
* generated by Xtext 2.12.0
|
||||
*/
|
||||
package com.irtsaintexupery.xtext.pseim.ui.contentassist;
|
||||
|
||||
import org.eclipse.emf.ecore.EObject;
|
||||
import org.eclipse.xtext.Assignment;
|
||||
import org.eclipse.xtext.CrossReference;
|
||||
import org.eclipse.xtext.RuleCall;
|
||||
import org.eclipse.xtext.common.ui.contentassist.TerminalsProposalProvider;
|
||||
import org.eclipse.xtext.ui.editor.contentassist.ContentAssistContext;
|
||||
import org.eclipse.xtext.ui.editor.contentassist.ICompletionProposalAcceptor;
|
||||
|
||||
/**
|
||||
* Represents a generated, default implementation of superclass {@link TerminalsProposalProvider}.
|
||||
* Methods are dynamically dispatched on the first parameter, i.e., you can override them
|
||||
* with a more concrete subtype.
|
||||
*/
|
||||
public abstract class AbstractMappingProposalProvider extends TerminalsProposalProvider {
|
||||
|
||||
public void completePatternApplication_Model(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
|
||||
lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
|
||||
}
|
||||
public void completePatternApplication_Pattern(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
|
||||
lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
|
||||
}
|
||||
public void completePatternApplication_CardinalityValues(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
|
||||
completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
|
||||
}
|
||||
public void completePatternApplication_ModelElement(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
|
||||
completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
|
||||
}
|
||||
public void completePatternApplication_PortMapping(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
|
||||
completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
|
||||
}
|
||||
public void completeCardinalityValue_CardinalityElement(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
|
||||
lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
|
||||
}
|
||||
public void completeCardinalityValue_Value(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
|
||||
completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
|
||||
}
|
||||
public void completePortMapping_ModelPort(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
|
||||
lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
|
||||
}
|
||||
public void completePortMapping_PatternPort(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
|
||||
lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
|
||||
}
|
||||
public void completeGraphElementMapping_ModelGraphElement(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
|
||||
lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
|
||||
}
|
||||
public void completeGraphElementMapping_PatternGraphElement(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
|
||||
lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
|
||||
}
|
||||
|
||||
public void complete_PatternApplication(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
|
||||
// subclasses may override
|
||||
}
|
||||
public void complete_CardinalityValue(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
|
||||
// subclasses may override
|
||||
}
|
||||
public void complete_PortMapping(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
|
||||
// subclasses may override
|
||||
}
|
||||
public void complete_GraphElementMapping(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
|
||||
// subclasses may override
|
||||
}
|
||||
public void complete_EInt(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
|
||||
// subclasses may override
|
||||
}
|
||||
public void complete_QualifiedID(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
|
||||
// subclasses may override
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
/*
|
||||
* generated by Xtext 2.12.0
|
||||
*/
|
||||
package com.irtsaintexupery.xtext.pseim.ui
|
||||
|
||||
import org.eclipse.xtend.lib.annotations.FinalFieldsConstructor
|
||||
|
||||
/**
|
||||
* Use this class to register components to be used within the Eclipse IDE.
|
||||
*/
|
||||
@FinalFieldsConstructor
|
||||
class MappingUiModule extends AbstractMappingUiModule {
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
/*
|
||||
* generated by Xtext 2.12.0
|
||||
*/
|
||||
package com.irtsaintexupery.xtext.pseim.ui.contentassist
|
||||
|
||||
|
||||
/**
|
||||
* See https://www.eclipse.org/Xtext/documentation/304_ide_concepts.html#content-assist
|
||||
* on how to customize the content assistant.
|
||||
*/
|
||||
class MappingProposalProvider extends AbstractMappingProposalProvider {
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
/*
|
||||
* generated by Xtext 2.12.0
|
||||
*/
|
||||
package com.irtsaintexupery.xtext.pseim.ui.labeling
|
||||
|
||||
import org.eclipse.xtext.ui.label.DefaultDescriptionLabelProvider
|
||||
|
||||
/**
|
||||
* Provides labels for IEObjectDescriptions and IResourceDescriptions.
|
||||
*
|
||||
* See https://www.eclipse.org/Xtext/documentation/304_ide_concepts.html#label-provider
|
||||
*/
|
||||
class MappingDescriptionLabelProvider extends DefaultDescriptionLabelProvider {
|
||||
|
||||
// Labels and icons can be computed like this:
|
||||
|
||||
// override text(IEObjectDescription ele) {
|
||||
// ele.name.toString
|
||||
// }
|
||||
//
|
||||
// override image(IEObjectDescription ele) {
|
||||
// ele.EClass.name + '.gif'
|
||||
// }
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
/*
|
||||
* generated by Xtext 2.12.0
|
||||
*/
|
||||
package com.irtsaintexupery.xtext.pseim.ui.labeling
|
||||
|
||||
import com.google.inject.Inject
|
||||
import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider
|
||||
import org.eclipse.xtext.ui.label.DefaultEObjectLabelProvider
|
||||
|
||||
/**
|
||||
* Provides labels for EObjects.
|
||||
*
|
||||
* See https://www.eclipse.org/Xtext/documentation/304_ide_concepts.html#label-provider
|
||||
*/
|
||||
class MappingLabelProvider extends DefaultEObjectLabelProvider {
|
||||
|
||||
@Inject
|
||||
new(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'
|
||||
// }
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
/*
|
||||
* generated by Xtext 2.12.0
|
||||
*/
|
||||
package com.irtsaintexupery.xtext.pseim.ui.outline
|
||||
|
||||
import org.eclipse.xtext.ui.editor.outline.impl.DefaultOutlineTreeProvider
|
||||
|
||||
/**
|
||||
* Customization of the default outline structure.
|
||||
*
|
||||
* See https://www.eclipse.org/Xtext/documentation/310_eclipse_support.html#outline
|
||||
*/
|
||||
class MappingOutlineTreeProvider extends DefaultOutlineTreeProvider {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
/*
|
||||
* generated by Xtext 2.12.0
|
||||
*/
|
||||
package com.irtsaintexupery.xtext.pseim.ui.quickfix
|
||||
|
||||
import org.eclipse.xtext.ui.editor.quickfix.DefaultQuickfixProvider
|
||||
|
||||
/**
|
||||
* Custom quickfixes.
|
||||
*
|
||||
* See https://www.eclipse.org/Xtext/documentation/310_eclipse_support.html#quick-fixes
|
||||
*/
|
||||
class MappingQuickfixProvider extends DefaultQuickfixProvider {
|
||||
|
||||
// @Fix(MappingValidator.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)
|
||||
// ]
|
||||
// }
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
/.MappingUiModule.java._trace
|
||||
/.MappingUiModule.xtendbin
|
||||
/MappingUiModule.java
|
||||
@@ -0,0 +1,3 @@
|
||||
/.MappingProposalProvider.java._trace
|
||||
/.MappingProposalProvider.xtendbin
|
||||
/MappingProposalProvider.java
|
||||
@@ -0,0 +1,6 @@
|
||||
/.MappingDescriptionLabelProvider.java._trace
|
||||
/.MappingLabelProvider.java._trace
|
||||
/.MappingDescriptionLabelProvider.xtendbin
|
||||
/.MappingLabelProvider.xtendbin
|
||||
/MappingDescriptionLabelProvider.java
|
||||
/MappingLabelProvider.java
|
||||
@@ -0,0 +1,3 @@
|
||||
/.MappingOutlineTreeProvider.java._trace
|
||||
/.MappingOutlineTreeProvider.xtendbin
|
||||
/MappingOutlineTreeProvider.java
|
||||
@@ -0,0 +1,3 @@
|
||||
/.MappingQuickfixProvider.java._trace
|
||||
/.MappingQuickfixProvider.xtendbin
|
||||
/MappingQuickfixProvider.java
|
||||
Binary file not shown.
@@ -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>
|
||||
@@ -0,0 +1,18 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<launchConfiguration type="org.eclipse.emf.mwe2.launch.Mwe2LaunchConfigurationType">
|
||||
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
|
||||
<listEntry value="/com.irtsaintexupery.xtext.pseim.mapping"/>
|
||||
</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.debug.core.ATTR_REFRESH_SCOPE" value="${working_set:<?xml version="1.0" encoding="UTF-8"?> <resources> <item path="/com.irtsaintexupery.xtext.pseim.mapping" type="4"/> <item path="/com.irtsaintexupery.xtext.pseim.mapping.ide" type="4"/> <item path="/com.irtsaintexupery.xtext.pseim.mapping.ui" type="4"/> ;</resources>}"/>
|
||||
<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="com.irtsaintexupery.xtext.pseim.GenerateMapping"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="com.irtsaintexupery.xtext.pseim.mapping"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xmx512m"/>
|
||||
</launchConfiguration>
|
||||
@@ -0,0 +1,34 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<launchConfiguration type="org.eclipse.pde.ui.RuntimeWorkbench">
|
||||
<booleanAttribute key="append.args" value="true"/>
|
||||
<booleanAttribute key="askclear" value="true"/>
|
||||
<booleanAttribute key="automaticAdd" value="true"/>
|
||||
<booleanAttribute key="automaticValidate" value="false"/>
|
||||
<stringAttribute key="bad_container_name" value="/com.irtsaintexupery.xtext.pseim.mapping/.launch/"/>
|
||||
<stringAttribute key="bootstrap" value=""/>
|
||||
<stringAttribute key="checked" value="[NONE]"/>
|
||||
<booleanAttribute key="clearConfig" value="false"/>
|
||||
<booleanAttribute key="clearws" value="false"/>
|
||||
<booleanAttribute key="clearwslog" value="false"/>
|
||||
<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/Launch Runtime Eclipse"/>
|
||||
<booleanAttribute key="default" value="true"/>
|
||||
<booleanAttribute key="includeOptional" value="true"/>
|
||||
<stringAttribute key="location" value="${workspace_loc}/../runtime-EclipseXtext"/>
|
||||
<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.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl}"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xms40m -Xmx512m"/>
|
||||
<stringAttribute key="pde.version" value="3.3"/>
|
||||
<stringAttribute key="product" value="org.eclipse.platform.ide"/>
|
||||
<booleanAttribute key="show_selected_only" value="false"/>
|
||||
<stringAttribute key="templateConfig" value="${target_home}/configuration/config.ini"/>
|
||||
<booleanAttribute key="tracing" value="false"/>
|
||||
<booleanAttribute key="useDefaultConfig" value="true"/>
|
||||
<booleanAttribute key="useDefaultConfigArea" value="true"/>
|
||||
<booleanAttribute key="useProduct" value="true"/>
|
||||
<booleanAttribute key="usefeatures" value="false"/>
|
||||
</launchConfiguration>
|
||||
@@ -0,0 +1,34 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>com.irtsaintexupery.xtext.pseim.mapping</name>
|
||||
<comment></comment>
|
||||
<projects>
|
||||
</projects>
|
||||
<buildSpec>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.xtext.ui.shared.xtextBuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<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>
|
||||
</buildSpec>
|
||||
<natures>
|
||||
<nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
|
||||
<nature>org.eclipse.jdt.core.javanature</nature>
|
||||
<nature>org.eclipse.pde.PluginNature</nature>
|
||||
</natures>
|
||||
</projectDescription>
|
||||
@@ -0,0 +1,2 @@
|
||||
eclipse.preferences.version=1
|
||||
encoding/<project>=UTF-8
|
||||
@@ -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
|
||||
@@ -0,0 +1,26 @@
|
||||
Manifest-Version: 1.0
|
||||
Bundle-ManifestVersion: 2
|
||||
Bundle-Name: com.irtsaintexupery.xtext.pseim.mapping
|
||||
Bundle-Vendor: My Company
|
||||
Bundle-Version: 1.0.0.qualifier
|
||||
Bundle-SymbolicName: com.irtsaintexupery.xtext.pseim.mapping; singleton:=true
|
||||
Bundle-ActivationPolicy: lazy
|
||||
Require-Bundle: com.irtsaintexupery.pseim,
|
||||
org.eclipse.xtext,
|
||||
org.eclipse.xtext.xbase,
|
||||
org.eclipse.equinox.common;bundle-version="3.5.0",
|
||||
org.eclipse.xtext.xbase.lib,
|
||||
org.eclipse.xtext.util,
|
||||
org.eclipse.xtend.lib,
|
||||
org.antlr.runtime
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
|
||||
Export-Package: com.irtsaintexupery.xtext.pseim.serializer,
|
||||
com.irtsaintexupery.xtext.pseim.scoping,
|
||||
com.irtsaintexupery.xtext.pseim.formatting2,
|
||||
com.irtsaintexupery.xtext.pseim.services,
|
||||
com.irtsaintexupery.xtext.pseim,
|
||||
com.irtsaintexupery.xtext.pseim.generator,
|
||||
com.irtsaintexupery.xtext.pseim.validation,
|
||||
com.irtsaintexupery.xtext.pseim.parser.antlr,
|
||||
com.irtsaintexupery.xtext.pseim.parser.antlr.internal
|
||||
Import-Package: org.apache.log4j
|
||||
@@ -0,0 +1,19 @@
|
||||
source.. = src/,\
|
||||
src-gen/,\
|
||||
xtend-gen/
|
||||
bin.includes = .,\
|
||||
META-INF/
|
||||
bin.excludes = **/*.mwe2,\
|
||||
**/*.xtend
|
||||
additional.bundles = org.eclipse.xtext.xbase,\
|
||||
org.eclipse.xtext.common.types,\
|
||||
org.eclipse.xtext.xtext.generator,\
|
||||
org.eclipse.emf.codegen.ecore,\
|
||||
org.eclipse.emf.mwe.utils,\
|
||||
org.eclipse.emf.mwe2.launch,\
|
||||
org.eclipse.emf.mwe2.lib,\
|
||||
org.objectweb.asm,\
|
||||
org.apache.commons.logging,\
|
||||
org.apache.log4j,\
|
||||
com.ibm.icu,\
|
||||
org.eclipse.xtext.generator
|
||||
@@ -0,0 +1,216 @@
|
||||
/*
|
||||
* generated by Xtext 2.12.0
|
||||
*/
|
||||
package com.irtsaintexupery.xtext.pseim;
|
||||
|
||||
import com.google.inject.Binder;
|
||||
import com.google.inject.Provider;
|
||||
import com.google.inject.name.Names;
|
||||
import com.irtsaintexupery.xtext.pseim.formatting2.MappingFormatter;
|
||||
import com.irtsaintexupery.xtext.pseim.generator.MappingGenerator;
|
||||
import com.irtsaintexupery.xtext.pseim.parser.antlr.MappingAntlrTokenFileProvider;
|
||||
import com.irtsaintexupery.xtext.pseim.parser.antlr.MappingParser;
|
||||
import com.irtsaintexupery.xtext.pseim.parser.antlr.internal.InternalMappingLexer;
|
||||
import com.irtsaintexupery.xtext.pseim.scoping.MappingScopeProvider;
|
||||
import com.irtsaintexupery.xtext.pseim.serializer.MappingSemanticSequencer;
|
||||
import com.irtsaintexupery.xtext.pseim.serializer.MappingSyntacticSequencer;
|
||||
import com.irtsaintexupery.xtext.pseim.services.MappingGrammarAccess;
|
||||
import com.irtsaintexupery.xtext.pseim.validation.MappingValidator;
|
||||
import java.util.Properties;
|
||||
import org.eclipse.xtext.Constants;
|
||||
import org.eclipse.xtext.IGrammarAccess;
|
||||
import org.eclipse.xtext.common.services.Ecore2XtextTerminalConverters;
|
||||
import org.eclipse.xtext.conversion.IValueConverterService;
|
||||
import org.eclipse.xtext.formatting2.FormatterPreferenceValuesProvider;
|
||||
import org.eclipse.xtext.formatting2.FormatterPreferences;
|
||||
import org.eclipse.xtext.formatting2.IFormatter2;
|
||||
import org.eclipse.xtext.generator.IGenerator2;
|
||||
import org.eclipse.xtext.naming.DefaultDeclarativeQualifiedNameProvider;
|
||||
import org.eclipse.xtext.naming.IQualifiedNameProvider;
|
||||
import org.eclipse.xtext.parser.IParser;
|
||||
import org.eclipse.xtext.parser.ITokenToStringConverter;
|
||||
import org.eclipse.xtext.parser.antlr.AntlrTokenDefProvider;
|
||||
import org.eclipse.xtext.parser.antlr.AntlrTokenToStringConverter;
|
||||
import org.eclipse.xtext.parser.antlr.IAntlrTokenFileProvider;
|
||||
import org.eclipse.xtext.parser.antlr.ITokenDefProvider;
|
||||
import org.eclipse.xtext.parser.antlr.Lexer;
|
||||
import org.eclipse.xtext.parser.antlr.LexerBindings;
|
||||
import org.eclipse.xtext.parser.antlr.LexerProvider;
|
||||
import org.eclipse.xtext.preferences.IPreferenceValuesProvider;
|
||||
import org.eclipse.xtext.resource.IContainer;
|
||||
import org.eclipse.xtext.resource.IResourceDescriptions;
|
||||
import org.eclipse.xtext.resource.containers.IAllContainersState;
|
||||
import org.eclipse.xtext.resource.containers.ResourceSetBasedAllContainersStateProvider;
|
||||
import org.eclipse.xtext.resource.containers.StateBasedContainerManager;
|
||||
import org.eclipse.xtext.resource.impl.ResourceDescriptionsProvider;
|
||||
import org.eclipse.xtext.resource.impl.ResourceSetBasedResourceDescriptions;
|
||||
import org.eclipse.xtext.scoping.IGlobalScopeProvider;
|
||||
import org.eclipse.xtext.scoping.IScopeProvider;
|
||||
import org.eclipse.xtext.scoping.IgnoreCaseLinking;
|
||||
import org.eclipse.xtext.scoping.impl.AbstractDeclarativeScopeProvider;
|
||||
import org.eclipse.xtext.scoping.impl.DefaultGlobalScopeProvider;
|
||||
import org.eclipse.xtext.scoping.impl.ImportedNamespaceAwareLocalScopeProvider;
|
||||
import org.eclipse.xtext.serializer.ISerializer;
|
||||
import org.eclipse.xtext.serializer.impl.Serializer;
|
||||
import org.eclipse.xtext.serializer.sequencer.ISemanticSequencer;
|
||||
import org.eclipse.xtext.serializer.sequencer.ISyntacticSequencer;
|
||||
import org.eclipse.xtext.service.DefaultRuntimeModule;
|
||||
import org.eclipse.xtext.service.SingletonBinding;
|
||||
|
||||
/**
|
||||
* Manual modifications go to {@link MappingRuntimeModule}.
|
||||
*/
|
||||
@SuppressWarnings("all")
|
||||
public abstract class AbstractMappingRuntimeModule extends DefaultRuntimeModule {
|
||||
|
||||
protected Properties properties = null;
|
||||
|
||||
@Override
|
||||
public void configure(Binder binder) {
|
||||
properties = tryBindProperties(binder, "com/irtsaintexupery/xtext/pseim/Mapping.properties");
|
||||
super.configure(binder);
|
||||
}
|
||||
|
||||
public void configureLanguageName(Binder binder) {
|
||||
binder.bind(String.class).annotatedWith(Names.named(Constants.LANGUAGE_NAME)).toInstance("com.irtsaintexupery.xtext.pseim.Mapping");
|
||||
}
|
||||
|
||||
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("mapping");
|
||||
}
|
||||
|
||||
// contributed by org.eclipse.xtext.xtext.generator.grammarAccess.GrammarAccessFragment2
|
||||
public ClassLoader bindClassLoaderToInstance() {
|
||||
return getClass().getClassLoader();
|
||||
}
|
||||
|
||||
// contributed by org.eclipse.xtext.xtext.generator.grammarAccess.GrammarAccessFragment2
|
||||
public Class<? extends IGrammarAccess> bindIGrammarAccess() {
|
||||
return MappingGrammarAccess.class;
|
||||
}
|
||||
|
||||
// contributed by org.eclipse.xtext.xtext.generator.serializer.SerializerFragment2
|
||||
public Class<? extends ISemanticSequencer> bindISemanticSequencer() {
|
||||
return MappingSemanticSequencer.class;
|
||||
}
|
||||
|
||||
// contributed by org.eclipse.xtext.xtext.generator.serializer.SerializerFragment2
|
||||
public Class<? extends ISyntacticSequencer> bindISyntacticSequencer() {
|
||||
return MappingSyntacticSequencer.class;
|
||||
}
|
||||
|
||||
// contributed by org.eclipse.xtext.xtext.generator.serializer.SerializerFragment2
|
||||
public Class<? extends ISerializer> bindISerializer() {
|
||||
return Serializer.class;
|
||||
}
|
||||
|
||||
// contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2
|
||||
public Class<? extends IParser> bindIParser() {
|
||||
return MappingParser.class;
|
||||
}
|
||||
|
||||
// contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2
|
||||
public Class<? extends ITokenToStringConverter> bindITokenToStringConverter() {
|
||||
return AntlrTokenToStringConverter.class;
|
||||
}
|
||||
|
||||
// contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2
|
||||
public Class<? extends IAntlrTokenFileProvider> bindIAntlrTokenFileProvider() {
|
||||
return MappingAntlrTokenFileProvider.class;
|
||||
}
|
||||
|
||||
// contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2
|
||||
public Class<? extends Lexer> bindLexer() {
|
||||
return InternalMappingLexer.class;
|
||||
}
|
||||
|
||||
// contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2
|
||||
public Class<? extends ITokenDefProvider> bindITokenDefProvider() {
|
||||
return AntlrTokenDefProvider.class;
|
||||
}
|
||||
|
||||
// contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2
|
||||
public Provider<? extends InternalMappingLexer> provideInternalMappingLexer() {
|
||||
return LexerProvider.create(InternalMappingLexer.class);
|
||||
}
|
||||
|
||||
// contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2
|
||||
public void configureRuntimeLexer(Binder binder) {
|
||||
binder.bind(Lexer.class)
|
||||
.annotatedWith(Names.named(LexerBindings.RUNTIME))
|
||||
.to(InternalMappingLexer.class);
|
||||
}
|
||||
|
||||
// contributed by org.eclipse.xtext.xtext.generator.validation.ValidatorFragment2
|
||||
@SingletonBinding(eager=true)
|
||||
public Class<? extends MappingValidator> bindMappingValidator() {
|
||||
return MappingValidator.class;
|
||||
}
|
||||
|
||||
// contributed by org.eclipse.xtext.xtext.generator.scoping.ImportNamespacesScopingFragment2
|
||||
public Class<? extends IScopeProvider> bindIScopeProvider() {
|
||||
return MappingScopeProvider.class;
|
||||
}
|
||||
|
||||
// contributed by org.eclipse.xtext.xtext.generator.scoping.ImportNamespacesScopingFragment2
|
||||
public void configureIScopeProviderDelegate(Binder binder) {
|
||||
binder.bind(IScopeProvider.class).annotatedWith(Names.named(AbstractDeclarativeScopeProvider.NAMED_DELEGATE)).to(ImportedNamespaceAwareLocalScopeProvider.class);
|
||||
}
|
||||
|
||||
// contributed by org.eclipse.xtext.xtext.generator.scoping.ImportNamespacesScopingFragment2
|
||||
public Class<? extends IGlobalScopeProvider> bindIGlobalScopeProvider() {
|
||||
return DefaultGlobalScopeProvider.class;
|
||||
}
|
||||
|
||||
// contributed by org.eclipse.xtext.xtext.generator.scoping.ImportNamespacesScopingFragment2
|
||||
public void configureIgnoreCaseLinking(Binder binder) {
|
||||
binder.bindConstant().annotatedWith(IgnoreCaseLinking.class).to(false);
|
||||
}
|
||||
|
||||
// contributed by org.eclipse.xtext.xtext.generator.exporting.QualifiedNamesFragment2
|
||||
public Class<? extends IQualifiedNameProvider> bindIQualifiedNameProvider() {
|
||||
return DefaultDeclarativeQualifiedNameProvider.class;
|
||||
}
|
||||
|
||||
// contributed by org.eclipse.xtext.xtext.generator.builder.BuilderIntegrationFragment2
|
||||
public Class<? extends IContainer.Manager> bindIContainer$Manager() {
|
||||
return StateBasedContainerManager.class;
|
||||
}
|
||||
|
||||
// contributed by org.eclipse.xtext.xtext.generator.builder.BuilderIntegrationFragment2
|
||||
public Class<? extends IAllContainersState.Provider> bindIAllContainersState$Provider() {
|
||||
return ResourceSetBasedAllContainersStateProvider.class;
|
||||
}
|
||||
|
||||
// contributed by org.eclipse.xtext.xtext.generator.builder.BuilderIntegrationFragment2
|
||||
public void configureIResourceDescriptions(Binder binder) {
|
||||
binder.bind(IResourceDescriptions.class).to(ResourceSetBasedResourceDescriptions.class);
|
||||
}
|
||||
|
||||
// contributed by org.eclipse.xtext.xtext.generator.builder.BuilderIntegrationFragment2
|
||||
public void configureIResourceDescriptionsPersisted(Binder binder) {
|
||||
binder.bind(IResourceDescriptions.class).annotatedWith(Names.named(ResourceDescriptionsProvider.PERSISTED_DESCRIPTIONS)).to(ResourceSetBasedResourceDescriptions.class);
|
||||
}
|
||||
|
||||
// contributed by org.eclipse.xtext.xtext.generator.generator.GeneratorFragment2
|
||||
public Class<? extends IGenerator2> bindIGenerator2() {
|
||||
return MappingGenerator.class;
|
||||
}
|
||||
|
||||
// contributed by org.eclipse.xtext.xtext.generator.formatting.Formatter2Fragment2
|
||||
public Class<? extends IFormatter2> bindIFormatter2() {
|
||||
return MappingFormatter.class;
|
||||
}
|
||||
|
||||
// contributed by org.eclipse.xtext.xtext.generator.formatting.Formatter2Fragment2
|
||||
public void configureFormatterPreferences(Binder binder) {
|
||||
binder.bind(IPreferenceValuesProvider.class).annotatedWith(FormatterPreferences.class).to(FormatterPreferenceValuesProvider.class);
|
||||
}
|
||||
|
||||
// contributed by org.eclipse.xtext.xtext.generator.ecore2xtext.Ecore2XtextValueConverterServiceFragment2
|
||||
public Class<? extends IValueConverterService> bindIValueConverterService() {
|
||||
return Ecore2XtextTerminalConverters.class;
|
||||
}
|
||||
|
||||
}
|
||||
Binary file not shown.
@@ -0,0 +1,37 @@
|
||||
/*
|
||||
* generated by Xtext 2.12.0
|
||||
*/
|
||||
package com.irtsaintexupery.xtext.pseim;
|
||||
|
||||
import com.google.inject.Guice;
|
||||
import com.google.inject.Injector;
|
||||
import org.eclipse.emf.ecore.resource.Resource;
|
||||
import org.eclipse.xtext.ISetup;
|
||||
import org.eclipse.xtext.common.TerminalsStandaloneSetup;
|
||||
import org.eclipse.xtext.resource.IResourceFactory;
|
||||
import org.eclipse.xtext.resource.IResourceServiceProvider;
|
||||
|
||||
@SuppressWarnings("all")
|
||||
public class MappingStandaloneSetupGenerated implements ISetup {
|
||||
|
||||
@Override
|
||||
public Injector createInjectorAndDoEMFRegistration() {
|
||||
TerminalsStandaloneSetup.doSetup();
|
||||
|
||||
Injector injector = createInjector();
|
||||
register(injector);
|
||||
return injector;
|
||||
}
|
||||
|
||||
public Injector createInjector() {
|
||||
return Guice.createInjector(new MappingRuntimeModule());
|
||||
}
|
||||
|
||||
public void register(Injector injector) {
|
||||
IResourceFactory resourceFactory = injector.getInstance(IResourceFactory.class);
|
||||
IResourceServiceProvider serviceProvider = injector.getInstance(IResourceServiceProvider.class);
|
||||
|
||||
Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap().put("mapping", resourceFactory);
|
||||
IResourceServiceProvider.Registry.INSTANCE.getExtensionToFactoryMap().put("mapping", serviceProvider);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
/*
|
||||
* generated by Xtext 2.12.0
|
||||
*/
|
||||
package com.irtsaintexupery.xtext.pseim.parser.antlr;
|
||||
|
||||
import java.io.InputStream;
|
||||
import org.eclipse.xtext.parser.antlr.IAntlrTokenFileProvider;
|
||||
|
||||
public class MappingAntlrTokenFileProvider implements IAntlrTokenFileProvider {
|
||||
|
||||
@Override
|
||||
public InputStream getAntlrTokenFile() {
|
||||
ClassLoader classLoader = getClass().getClassLoader();
|
||||
return classLoader.getResourceAsStream("com/irtsaintexupery/xtext/pseim/parser/antlr/internal/InternalMapping.tokens");
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
/*
|
||||
* generated by Xtext 2.12.0
|
||||
*/
|
||||
package com.irtsaintexupery.xtext.pseim.parser.antlr;
|
||||
|
||||
import com.google.inject.Inject;
|
||||
import com.irtsaintexupery.xtext.pseim.parser.antlr.internal.InternalMappingParser;
|
||||
import com.irtsaintexupery.xtext.pseim.services.MappingGrammarAccess;
|
||||
import org.eclipse.xtext.parser.antlr.AbstractAntlrParser;
|
||||
import org.eclipse.xtext.parser.antlr.XtextTokenStream;
|
||||
|
||||
public class MappingParser extends AbstractAntlrParser {
|
||||
|
||||
@Inject
|
||||
private MappingGrammarAccess grammarAccess;
|
||||
|
||||
@Override
|
||||
protected void setInitialHiddenTokens(XtextTokenStream tokenStream) {
|
||||
tokenStream.setInitialHiddenTokens("RULE_WS", "RULE_ML_COMMENT", "RULE_SL_COMMENT");
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
protected InternalMappingParser createParser(XtextTokenStream stream) {
|
||||
return new InternalMappingParser(stream, getGrammarAccess());
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String getDefaultRuleName() {
|
||||
return "PatternApplication";
|
||||
}
|
||||
|
||||
public MappingGrammarAccess getGrammarAccess() {
|
||||
return this.grammarAccess;
|
||||
}
|
||||
|
||||
public void setGrammarAccess(MappingGrammarAccess grammarAccess) {
|
||||
this.grammarAccess = grammarAccess;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,553 @@
|
||||
/*
|
||||
* generated by Xtext 2.12.0
|
||||
*/
|
||||
grammar InternalMapping;
|
||||
|
||||
options {
|
||||
superClass=AbstractInternalAntlrParser;
|
||||
}
|
||||
|
||||
@lexer::header {
|
||||
package com.irtsaintexupery.xtext.pseim.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 com.irtsaintexupery.xtext.pseim.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 com.irtsaintexupery.xtext.pseim.services.MappingGrammarAccess;
|
||||
|
||||
}
|
||||
|
||||
@parser::members {
|
||||
|
||||
private MappingGrammarAccess grammarAccess;
|
||||
|
||||
public InternalMappingParser(TokenStream input, MappingGrammarAccess grammarAccess) {
|
||||
this(input);
|
||||
this.grammarAccess = grammarAccess;
|
||||
registerRules(grammarAccess.getGrammar());
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String getFirstRuleName() {
|
||||
return "PatternApplication";
|
||||
}
|
||||
|
||||
@Override
|
||||
protected MappingGrammarAccess getGrammarAccess() {
|
||||
return grammarAccess;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@rulecatch {
|
||||
catch (RecognitionException re) {
|
||||
recover(input,re);
|
||||
appendSkippedTokens();
|
||||
}
|
||||
}
|
||||
|
||||
// Entry rule entryRulePatternApplication
|
||||
entryRulePatternApplication returns [EObject current=null]:
|
||||
{ newCompositeNode(grammarAccess.getPatternApplicationRule()); }
|
||||
iv_rulePatternApplication=rulePatternApplication
|
||||
{ $current=$iv_rulePatternApplication.current; }
|
||||
EOF;
|
||||
|
||||
// Rule PatternApplication
|
||||
rulePatternApplication returns [EObject current=null]
|
||||
@init {
|
||||
enterRule();
|
||||
}
|
||||
@after {
|
||||
leaveRule();
|
||||
}:
|
||||
(
|
||||
otherlv_0='transform'
|
||||
{
|
||||
newLeafNode(otherlv_0, grammarAccess.getPatternApplicationAccess().getTransformKeyword_0());
|
||||
}
|
||||
(
|
||||
(
|
||||
{
|
||||
if ($current==null) {
|
||||
$current = createModelElement(grammarAccess.getPatternApplicationRule());
|
||||
}
|
||||
}
|
||||
otherlv_1=RULE_ID
|
||||
{
|
||||
newLeafNode(otherlv_1, grammarAccess.getPatternApplicationAccess().getModelModelCrossReference_1_0());
|
||||
}
|
||||
)
|
||||
)
|
||||
otherlv_2='using'
|
||||
{
|
||||
newLeafNode(otherlv_2, grammarAccess.getPatternApplicationAccess().getUsingKeyword_2());
|
||||
}
|
||||
(
|
||||
(
|
||||
{
|
||||
if ($current==null) {
|
||||
$current = createModelElement(grammarAccess.getPatternApplicationRule());
|
||||
}
|
||||
}
|
||||
otherlv_3=RULE_ID
|
||||
{
|
||||
newLeafNode(otherlv_3, grammarAccess.getPatternApplicationAccess().getPatternPatternCrossReference_3_0());
|
||||
}
|
||||
)
|
||||
)
|
||||
otherlv_4='{'
|
||||
{
|
||||
newLeafNode(otherlv_4, grammarAccess.getPatternApplicationAccess().getLeftCurlyBracketKeyword_4());
|
||||
}
|
||||
(
|
||||
otherlv_5='multiplicity'
|
||||
{
|
||||
newLeafNode(otherlv_5, grammarAccess.getPatternApplicationAccess().getMultiplicityKeyword_5_0());
|
||||
}
|
||||
(
|
||||
(
|
||||
{
|
||||
newCompositeNode(grammarAccess.getPatternApplicationAccess().getCardinalityValuesCardinalityValueParserRuleCall_5_1_0());
|
||||
}
|
||||
lv_cardinalityValues_6_0=ruleCardinalityValue
|
||||
{
|
||||
if ($current==null) {
|
||||
$current = createModelElementForParent(grammarAccess.getPatternApplicationRule());
|
||||
}
|
||||
add(
|
||||
$current,
|
||||
"cardinalityValues",
|
||||
lv_cardinalityValues_6_0,
|
||||
"com.irtsaintexupery.xtext.pseim.Mapping.CardinalityValue");
|
||||
afterParserOrEnumRuleCall();
|
||||
}
|
||||
)
|
||||
)
|
||||
(
|
||||
(
|
||||
{
|
||||
newCompositeNode(grammarAccess.getPatternApplicationAccess().getCardinalityValuesCardinalityValueParserRuleCall_5_2_0());
|
||||
}
|
||||
lv_cardinalityValues_7_0=ruleCardinalityValue
|
||||
{
|
||||
if ($current==null) {
|
||||
$current = createModelElementForParent(grammarAccess.getPatternApplicationRule());
|
||||
}
|
||||
add(
|
||||
$current,
|
||||
"cardinalityValues",
|
||||
lv_cardinalityValues_7_0,
|
||||
"com.irtsaintexupery.xtext.pseim.Mapping.CardinalityValue");
|
||||
afterParserOrEnumRuleCall();
|
||||
}
|
||||
)
|
||||
)*
|
||||
)?
|
||||
(
|
||||
otherlv_8='components'
|
||||
{
|
||||
newLeafNode(otherlv_8, grammarAccess.getPatternApplicationAccess().getComponentsKeyword_6_0());
|
||||
}
|
||||
(
|
||||
(
|
||||
{
|
||||
newCompositeNode(grammarAccess.getPatternApplicationAccess().getModelElementGraphElementMappingParserRuleCall_6_1_0());
|
||||
}
|
||||
lv_modelElement_9_0=ruleGraphElementMapping
|
||||
{
|
||||
if ($current==null) {
|
||||
$current = createModelElementForParent(grammarAccess.getPatternApplicationRule());
|
||||
}
|
||||
add(
|
||||
$current,
|
||||
"modelElement",
|
||||
lv_modelElement_9_0,
|
||||
"com.irtsaintexupery.xtext.pseim.Mapping.GraphElementMapping");
|
||||
afterParserOrEnumRuleCall();
|
||||
}
|
||||
)
|
||||
)
|
||||
(
|
||||
(
|
||||
{
|
||||
newCompositeNode(grammarAccess.getPatternApplicationAccess().getModelElementGraphElementMappingParserRuleCall_6_2_0());
|
||||
}
|
||||
lv_modelElement_10_0=ruleGraphElementMapping
|
||||
{
|
||||
if ($current==null) {
|
||||
$current = createModelElementForParent(grammarAccess.getPatternApplicationRule());
|
||||
}
|
||||
add(
|
||||
$current,
|
||||
"modelElement",
|
||||
lv_modelElement_10_0,
|
||||
"com.irtsaintexupery.xtext.pseim.Mapping.GraphElementMapping");
|
||||
afterParserOrEnumRuleCall();
|
||||
}
|
||||
)
|
||||
)*
|
||||
)?
|
||||
(
|
||||
otherlv_11='ports'
|
||||
{
|
||||
newLeafNode(otherlv_11, grammarAccess.getPatternApplicationAccess().getPortsKeyword_7_0());
|
||||
}
|
||||
(
|
||||
(
|
||||
{
|
||||
newCompositeNode(grammarAccess.getPatternApplicationAccess().getPortMappingPortMappingParserRuleCall_7_1_0());
|
||||
}
|
||||
lv_portMapping_12_0=rulePortMapping
|
||||
{
|
||||
if ($current==null) {
|
||||
$current = createModelElementForParent(grammarAccess.getPatternApplicationRule());
|
||||
}
|
||||
add(
|
||||
$current,
|
||||
"portMapping",
|
||||
lv_portMapping_12_0,
|
||||
"com.irtsaintexupery.xtext.pseim.Mapping.PortMapping");
|
||||
afterParserOrEnumRuleCall();
|
||||
}
|
||||
)
|
||||
)
|
||||
(
|
||||
(
|
||||
{
|
||||
newCompositeNode(grammarAccess.getPatternApplicationAccess().getPortMappingPortMappingParserRuleCall_7_2_0());
|
||||
}
|
||||
lv_portMapping_13_0=rulePortMapping
|
||||
{
|
||||
if ($current==null) {
|
||||
$current = createModelElementForParent(grammarAccess.getPatternApplicationRule());
|
||||
}
|
||||
add(
|
||||
$current,
|
||||
"portMapping",
|
||||
lv_portMapping_13_0,
|
||||
"com.irtsaintexupery.xtext.pseim.Mapping.PortMapping");
|
||||
afterParserOrEnumRuleCall();
|
||||
}
|
||||
)
|
||||
)*
|
||||
)?
|
||||
otherlv_14='}'
|
||||
{
|
||||
newLeafNode(otherlv_14, grammarAccess.getPatternApplicationAccess().getRightCurlyBracketKeyword_8());
|
||||
}
|
||||
)
|
||||
;
|
||||
|
||||
// Entry rule entryRuleCardinalityValue
|
||||
entryRuleCardinalityValue returns [EObject current=null]:
|
||||
{ newCompositeNode(grammarAccess.getCardinalityValueRule()); }
|
||||
iv_ruleCardinalityValue=ruleCardinalityValue
|
||||
{ $current=$iv_ruleCardinalityValue.current; }
|
||||
EOF;
|
||||
|
||||
// Rule CardinalityValue
|
||||
ruleCardinalityValue returns [EObject current=null]
|
||||
@init {
|
||||
enterRule();
|
||||
}
|
||||
@after {
|
||||
leaveRule();
|
||||
}:
|
||||
(
|
||||
(
|
||||
(
|
||||
{
|
||||
if ($current==null) {
|
||||
$current = createModelElement(grammarAccess.getCardinalityValueRule());
|
||||
}
|
||||
}
|
||||
{
|
||||
newCompositeNode(grammarAccess.getCardinalityValueAccess().getCardinalityElementCardinalityElementCrossReference_0_0());
|
||||
}
|
||||
ruleQualifiedID
|
||||
{
|
||||
afterParserOrEnumRuleCall();
|
||||
}
|
||||
)
|
||||
)
|
||||
otherlv_1='->'
|
||||
{
|
||||
newLeafNode(otherlv_1, grammarAccess.getCardinalityValueAccess().getHyphenMinusGreaterThanSignKeyword_1());
|
||||
}
|
||||
(
|
||||
(
|
||||
{
|
||||
newCompositeNode(grammarAccess.getCardinalityValueAccess().getValueEIntParserRuleCall_2_0());
|
||||
}
|
||||
lv_value_2_0=ruleEInt
|
||||
{
|
||||
if ($current==null) {
|
||||
$current = createModelElementForParent(grammarAccess.getCardinalityValueRule());
|
||||
}
|
||||
set(
|
||||
$current,
|
||||
"value",
|
||||
lv_value_2_0,
|
||||
"com.irtsaintexupery.xtext.pseim.Mapping.EInt");
|
||||
afterParserOrEnumRuleCall();
|
||||
}
|
||||
)
|
||||
)
|
||||
)
|
||||
;
|
||||
|
||||
// Entry rule entryRulePortMapping
|
||||
entryRulePortMapping returns [EObject current=null]:
|
||||
{ newCompositeNode(grammarAccess.getPortMappingRule()); }
|
||||
iv_rulePortMapping=rulePortMapping
|
||||
{ $current=$iv_rulePortMapping.current; }
|
||||
EOF;
|
||||
|
||||
// Rule PortMapping
|
||||
rulePortMapping returns [EObject current=null]
|
||||
@init {
|
||||
enterRule();
|
||||
}
|
||||
@after {
|
||||
leaveRule();
|
||||
}:
|
||||
(
|
||||
(
|
||||
(
|
||||
{
|
||||
if ($current==null) {
|
||||
$current = createModelElement(grammarAccess.getPortMappingRule());
|
||||
}
|
||||
}
|
||||
{
|
||||
newCompositeNode(grammarAccess.getPortMappingAccess().getModelPortBorderElementCrossReference_0_0());
|
||||
}
|
||||
ruleQualifiedID
|
||||
{
|
||||
afterParserOrEnumRuleCall();
|
||||
}
|
||||
)
|
||||
)
|
||||
(
|
||||
otherlv_1=','
|
||||
{
|
||||
newLeafNode(otherlv_1, grammarAccess.getPortMappingAccess().getCommaKeyword_1_0());
|
||||
}
|
||||
(
|
||||
(
|
||||
{
|
||||
if ($current==null) {
|
||||
$current = createModelElement(grammarAccess.getPortMappingRule());
|
||||
}
|
||||
}
|
||||
{
|
||||
newCompositeNode(grammarAccess.getPortMappingAccess().getModelPortBorderElementCrossReference_1_1_0());
|
||||
}
|
||||
ruleQualifiedID
|
||||
{
|
||||
afterParserOrEnumRuleCall();
|
||||
}
|
||||
)
|
||||
)
|
||||
)*
|
||||
otherlv_3='->'
|
||||
{
|
||||
newLeafNode(otherlv_3, grammarAccess.getPortMappingAccess().getHyphenMinusGreaterThanSignKeyword_2());
|
||||
}
|
||||
(
|
||||
(
|
||||
{
|
||||
if ($current==null) {
|
||||
$current = createModelElement(grammarAccess.getPortMappingRule());
|
||||
}
|
||||
}
|
||||
{
|
||||
newCompositeNode(grammarAccess.getPortMappingAccess().getPatternPortBorderElementCrossReference_3_0());
|
||||
}
|
||||
ruleQualifiedID
|
||||
{
|
||||
afterParserOrEnumRuleCall();
|
||||
}
|
||||
)
|
||||
)
|
||||
)
|
||||
;
|
||||
|
||||
// Entry rule entryRuleGraphElementMapping
|
||||
entryRuleGraphElementMapping returns [EObject current=null]:
|
||||
{ newCompositeNode(grammarAccess.getGraphElementMappingRule()); }
|
||||
iv_ruleGraphElementMapping=ruleGraphElementMapping
|
||||
{ $current=$iv_ruleGraphElementMapping.current; }
|
||||
EOF;
|
||||
|
||||
// Rule GraphElementMapping
|
||||
ruleGraphElementMapping returns [EObject current=null]
|
||||
@init {
|
||||
enterRule();
|
||||
}
|
||||
@after {
|
||||
leaveRule();
|
||||
}:
|
||||
(
|
||||
(
|
||||
(
|
||||
{
|
||||
if ($current==null) {
|
||||
$current = createModelElement(grammarAccess.getGraphElementMappingRule());
|
||||
}
|
||||
}
|
||||
{
|
||||
newCompositeNode(grammarAccess.getGraphElementMappingAccess().getModelGraphElementGraphElementCrossReference_0_0());
|
||||
}
|
||||
ruleQualifiedID
|
||||
{
|
||||
afterParserOrEnumRuleCall();
|
||||
}
|
||||
)
|
||||
)
|
||||
(
|
||||
otherlv_1=','
|
||||
{
|
||||
newLeafNode(otherlv_1, grammarAccess.getGraphElementMappingAccess().getCommaKeyword_1_0());
|
||||
}
|
||||
(
|
||||
(
|
||||
{
|
||||
if ($current==null) {
|
||||
$current = createModelElement(grammarAccess.getGraphElementMappingRule());
|
||||
}
|
||||
}
|
||||
{
|
||||
newCompositeNode(grammarAccess.getGraphElementMappingAccess().getModelGraphElementGraphElementCrossReference_1_1_0());
|
||||
}
|
||||
ruleQualifiedID
|
||||
{
|
||||
afterParserOrEnumRuleCall();
|
||||
}
|
||||
)
|
||||
)
|
||||
)*
|
||||
otherlv_3='->'
|
||||
{
|
||||
newLeafNode(otherlv_3, grammarAccess.getGraphElementMappingAccess().getHyphenMinusGreaterThanSignKeyword_2());
|
||||
}
|
||||
(
|
||||
(
|
||||
{
|
||||
if ($current==null) {
|
||||
$current = createModelElement(grammarAccess.getGraphElementMappingRule());
|
||||
}
|
||||
}
|
||||
{
|
||||
newCompositeNode(grammarAccess.getGraphElementMappingAccess().getPatternGraphElementGraphElementCrossReference_3_0());
|
||||
}
|
||||
ruleQualifiedID
|
||||
{
|
||||
afterParserOrEnumRuleCall();
|
||||
}
|
||||
)
|
||||
)
|
||||
)
|
||||
;
|
||||
|
||||
// Entry rule entryRuleEInt
|
||||
entryRuleEInt returns [String current=null]:
|
||||
{ newCompositeNode(grammarAccess.getEIntRule()); }
|
||||
iv_ruleEInt=ruleEInt
|
||||
{ $current=$iv_ruleEInt.current.getText(); }
|
||||
EOF;
|
||||
|
||||
// Rule EInt
|
||||
ruleEInt returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
|
||||
@init {
|
||||
enterRule();
|
||||
}
|
||||
@after {
|
||||
leaveRule();
|
||||
}:
|
||||
(
|
||||
(
|
||||
kw='-'
|
||||
{
|
||||
$current.merge(kw);
|
||||
newLeafNode(kw, grammarAccess.getEIntAccess().getHyphenMinusKeyword_0());
|
||||
}
|
||||
)?
|
||||
this_INT_1=RULE_INT
|
||||
{
|
||||
$current.merge(this_INT_1);
|
||||
}
|
||||
{
|
||||
newLeafNode(this_INT_1, grammarAccess.getEIntAccess().getINTTerminalRuleCall_1());
|
||||
}
|
||||
)
|
||||
;
|
||||
|
||||
// Entry rule entryRuleQualifiedID
|
||||
entryRuleQualifiedID returns [String current=null]:
|
||||
{ newCompositeNode(grammarAccess.getQualifiedIDRule()); }
|
||||
iv_ruleQualifiedID=ruleQualifiedID
|
||||
{ $current=$iv_ruleQualifiedID.current.getText(); }
|
||||
EOF;
|
||||
|
||||
// Rule QualifiedID
|
||||
ruleQualifiedID returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
|
||||
@init {
|
||||
enterRule();
|
||||
}
|
||||
@after {
|
||||
leaveRule();
|
||||
}:
|
||||
(
|
||||
this_ID_0=RULE_ID
|
||||
{
|
||||
$current.merge(this_ID_0);
|
||||
}
|
||||
{
|
||||
newLeafNode(this_ID_0, grammarAccess.getQualifiedIDAccess().getIDTerminalRuleCall_0());
|
||||
}
|
||||
(
|
||||
kw='.'
|
||||
{
|
||||
$current.merge(kw);
|
||||
newLeafNode(kw, grammarAccess.getQualifiedIDAccess().getFullStopKeyword_1_0());
|
||||
}
|
||||
this_ID_2=RULE_ID
|
||||
{
|
||||
$current.merge(this_ID_2);
|
||||
}
|
||||
{
|
||||
newLeafNode(this_ID_2, grammarAccess.getQualifiedIDAccess().getIDTerminalRuleCall_1_1());
|
||||
}
|
||||
)*
|
||||
)
|
||||
;
|
||||
|
||||
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 : .;
|
||||
@@ -0,0 +1,29 @@
|
||||
','=19
|
||||
'-'=20
|
||||
'->'=18
|
||||
'.'=21
|
||||
'components'=15
|
||||
'multiplicity'=14
|
||||
'ports'=16
|
||||
'transform'=11
|
||||
'using'=12
|
||||
'{'=13
|
||||
'}'=17
|
||||
RULE_ANY_OTHER=10
|
||||
RULE_ID=4
|
||||
RULE_INT=5
|
||||
RULE_ML_COMMENT=7
|
||||
RULE_SL_COMMENT=8
|
||||
RULE_STRING=6
|
||||
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
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,9 @@
|
||||
/*
|
||||
* generated by Xtext 2.12.0
|
||||
*/
|
||||
package com.irtsaintexupery.xtext.pseim.scoping;
|
||||
|
||||
import org.eclipse.xtext.scoping.impl.DelegatingScopeProvider;
|
||||
|
||||
public abstract class AbstractMappingScopeProvider extends DelegatingScopeProvider {
|
||||
}
|
||||
@@ -0,0 +1,118 @@
|
||||
/*
|
||||
* generated by Xtext 2.12.0
|
||||
*/
|
||||
package com.irtsaintexupery.xtext.pseim.serializer;
|
||||
|
||||
import com.google.inject.Inject;
|
||||
import com.irtsaintexupery.pseim.mapping.CardinalityValue;
|
||||
import com.irtsaintexupery.pseim.mapping.GraphElementMapping;
|
||||
import com.irtsaintexupery.pseim.mapping.MappingPackage;
|
||||
import com.irtsaintexupery.pseim.mapping.PatternApplication;
|
||||
import com.irtsaintexupery.pseim.mapping.PortMapping;
|
||||
import com.irtsaintexupery.xtext.pseim.services.MappingGrammarAccess;
|
||||
import java.util.Set;
|
||||
import org.eclipse.emf.ecore.EObject;
|
||||
import org.eclipse.emf.ecore.EPackage;
|
||||
import org.eclipse.xtext.Action;
|
||||
import org.eclipse.xtext.Parameter;
|
||||
import org.eclipse.xtext.ParserRule;
|
||||
import org.eclipse.xtext.serializer.ISerializationContext;
|
||||
import org.eclipse.xtext.serializer.acceptor.SequenceFeeder;
|
||||
import org.eclipse.xtext.serializer.sequencer.AbstractDelegatingSemanticSequencer;
|
||||
import org.eclipse.xtext.serializer.sequencer.ITransientValueService.ValueTransient;
|
||||
|
||||
@SuppressWarnings("all")
|
||||
public class MappingSemanticSequencer extends AbstractDelegatingSemanticSequencer {
|
||||
|
||||
@Inject
|
||||
private MappingGrammarAccess grammarAccess;
|
||||
|
||||
@Override
|
||||
public void sequence(ISerializationContext context, EObject semanticObject) {
|
||||
EPackage epackage = semanticObject.eClass().getEPackage();
|
||||
ParserRule rule = context.getParserRule();
|
||||
Action action = context.getAssignedAction();
|
||||
Set<Parameter> parameters = context.getEnabledBooleanParameters();
|
||||
if (epackage == MappingPackage.eINSTANCE)
|
||||
switch (semanticObject.eClass().getClassifierID()) {
|
||||
case MappingPackage.CARDINALITY_VALUE:
|
||||
sequence_CardinalityValue(context, (CardinalityValue) semanticObject);
|
||||
return;
|
||||
case MappingPackage.GRAPH_ELEMENT_MAPPING:
|
||||
sequence_GraphElementMapping(context, (GraphElementMapping) semanticObject);
|
||||
return;
|
||||
case MappingPackage.PATTERN_APPLICATION:
|
||||
sequence_PatternApplication(context, (PatternApplication) semanticObject);
|
||||
return;
|
||||
case MappingPackage.PORT_MAPPING:
|
||||
sequence_PortMapping(context, (PortMapping) semanticObject);
|
||||
return;
|
||||
}
|
||||
if (errorAcceptor != null)
|
||||
errorAcceptor.accept(diagnosticProvider.createInvalidContextOrTypeDiagnostic(semanticObject, context));
|
||||
}
|
||||
|
||||
/**
|
||||
* Contexts:
|
||||
* CardinalityValue returns CardinalityValue
|
||||
*
|
||||
* Constraint:
|
||||
* (cardinalityElement=[CardinalityElement|QualifiedID] value=EInt)
|
||||
*/
|
||||
protected void sequence_CardinalityValue(ISerializationContext context, CardinalityValue semanticObject) {
|
||||
if (errorAcceptor != null) {
|
||||
if (transientValues.isValueTransient(semanticObject, MappingPackage.Literals.CARDINALITY_VALUE__CARDINALITY_ELEMENT) == ValueTransient.YES)
|
||||
errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, MappingPackage.Literals.CARDINALITY_VALUE__CARDINALITY_ELEMENT));
|
||||
if (transientValues.isValueTransient(semanticObject, MappingPackage.Literals.CARDINALITY_VALUE__VALUE) == ValueTransient.YES)
|
||||
errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, MappingPackage.Literals.CARDINALITY_VALUE__VALUE));
|
||||
}
|
||||
SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
|
||||
feeder.accept(grammarAccess.getCardinalityValueAccess().getCardinalityElementCardinalityElementQualifiedIDParserRuleCall_0_0_1(), semanticObject.eGet(MappingPackage.Literals.CARDINALITY_VALUE__CARDINALITY_ELEMENT, false));
|
||||
feeder.accept(grammarAccess.getCardinalityValueAccess().getValueEIntParserRuleCall_2_0(), semanticObject.getValue());
|
||||
feeder.finish();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Contexts:
|
||||
* GraphElementMapping returns GraphElementMapping
|
||||
*
|
||||
* Constraint:
|
||||
* (modelGraphElement+=[GraphElement|QualifiedID] modelGraphElement+=[GraphElement|QualifiedID]* patternGraphElement=[GraphElement|QualifiedID])
|
||||
*/
|
||||
protected void sequence_GraphElementMapping(ISerializationContext context, GraphElementMapping semanticObject) {
|
||||
genericSequencer.createSequence(context, semanticObject);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Contexts:
|
||||
* PatternApplication returns PatternApplication
|
||||
*
|
||||
* Constraint:
|
||||
* (
|
||||
* model=[Model|ID]
|
||||
* pattern=[Pattern|ID]
|
||||
* (cardinalityValues+=CardinalityValue cardinalityValues+=CardinalityValue*)?
|
||||
* (modelElement+=GraphElementMapping modelElement+=GraphElementMapping*)?
|
||||
* (portMapping+=PortMapping portMapping+=PortMapping*)?
|
||||
* )
|
||||
*/
|
||||
protected void sequence_PatternApplication(ISerializationContext context, PatternApplication semanticObject) {
|
||||
genericSequencer.createSequence(context, semanticObject);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Contexts:
|
||||
* PortMapping returns PortMapping
|
||||
*
|
||||
* Constraint:
|
||||
* (modelPort+=[BorderElement|QualifiedID] modelPort+=[BorderElement|QualifiedID]* patternPort=[BorderElement|QualifiedID])
|
||||
*/
|
||||
protected void sequence_PortMapping(ISerializationContext context, PortMapping semanticObject) {
|
||||
genericSequencer.createSequence(context, semanticObject);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
/*
|
||||
* generated by Xtext 2.12.0
|
||||
*/
|
||||
package com.irtsaintexupery.xtext.pseim.serializer;
|
||||
|
||||
import com.google.inject.Inject;
|
||||
import com.irtsaintexupery.xtext.pseim.services.MappingGrammarAccess;
|
||||
import java.util.List;
|
||||
import org.eclipse.emf.ecore.EObject;
|
||||
import org.eclipse.xtext.IGrammarAccess;
|
||||
import org.eclipse.xtext.RuleCall;
|
||||
import org.eclipse.xtext.nodemodel.INode;
|
||||
import org.eclipse.xtext.serializer.analysis.GrammarAlias.AbstractElementAlias;
|
||||
import org.eclipse.xtext.serializer.analysis.ISyntacticSequencerPDAProvider.ISynTransition;
|
||||
import org.eclipse.xtext.serializer.sequencer.AbstractSyntacticSequencer;
|
||||
|
||||
@SuppressWarnings("all")
|
||||
public class MappingSyntacticSequencer extends AbstractSyntacticSequencer {
|
||||
|
||||
protected MappingGrammarAccess grammarAccess;
|
||||
|
||||
@Inject
|
||||
protected void init(IGrammarAccess access) {
|
||||
grammarAccess = (MappingGrammarAccess) access;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String getUnassignedRuleCallToken(EObject semanticObject, RuleCall ruleCall, INode node) {
|
||||
return "";
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
protected void emitUnassignedTokens(EObject semanticObject, ISynTransition transition, INode fromNode, INode toNode) {
|
||||
if (transition.getAmbiguousSyntaxes().isEmpty()) return;
|
||||
List<INode> transitionNodes = collectNodes(fromNode, toNode);
|
||||
for (AbstractElementAlias syntax : transition.getAmbiguousSyntaxes()) {
|
||||
List<INode> syntaxNodes = getNodesFor(transitionNodes, syntax);
|
||||
acceptNodes(getLastNavigableState(), syntaxNodes);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,522 @@
|
||||
/*
|
||||
* generated by Xtext 2.12.0
|
||||
*/
|
||||
package com.irtsaintexupery.xtext.pseim.services;
|
||||
|
||||
import com.google.inject.Inject;
|
||||
import com.google.inject.Singleton;
|
||||
import java.util.List;
|
||||
import org.eclipse.xtext.Assignment;
|
||||
import org.eclipse.xtext.CrossReference;
|
||||
import org.eclipse.xtext.Grammar;
|
||||
import org.eclipse.xtext.GrammarUtil;
|
||||
import org.eclipse.xtext.Group;
|
||||
import org.eclipse.xtext.Keyword;
|
||||
import org.eclipse.xtext.ParserRule;
|
||||
import org.eclipse.xtext.RuleCall;
|
||||
import org.eclipse.xtext.TerminalRule;
|
||||
import org.eclipse.xtext.common.services.TerminalsGrammarAccess;
|
||||
import org.eclipse.xtext.service.AbstractElementFinder.AbstractGrammarElementFinder;
|
||||
import org.eclipse.xtext.service.GrammarProvider;
|
||||
|
||||
@Singleton
|
||||
public class MappingGrammarAccess extends AbstractGrammarElementFinder {
|
||||
|
||||
public class PatternApplicationElements extends AbstractParserRuleElementFinder {
|
||||
private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "com.irtsaintexupery.xtext.pseim.Mapping.PatternApplication");
|
||||
private final Group cGroup = (Group)rule.eContents().get(1);
|
||||
private final Keyword cTransformKeyword_0 = (Keyword)cGroup.eContents().get(0);
|
||||
private final Assignment cModelAssignment_1 = (Assignment)cGroup.eContents().get(1);
|
||||
private final CrossReference cModelModelCrossReference_1_0 = (CrossReference)cModelAssignment_1.eContents().get(0);
|
||||
private final RuleCall cModelModelIDTerminalRuleCall_1_0_1 = (RuleCall)cModelModelCrossReference_1_0.eContents().get(1);
|
||||
private final Keyword cUsingKeyword_2 = (Keyword)cGroup.eContents().get(2);
|
||||
private final Assignment cPatternAssignment_3 = (Assignment)cGroup.eContents().get(3);
|
||||
private final CrossReference cPatternPatternCrossReference_3_0 = (CrossReference)cPatternAssignment_3.eContents().get(0);
|
||||
private final RuleCall cPatternPatternIDTerminalRuleCall_3_0_1 = (RuleCall)cPatternPatternCrossReference_3_0.eContents().get(1);
|
||||
private final Keyword cLeftCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4);
|
||||
private final Group cGroup_5 = (Group)cGroup.eContents().get(5);
|
||||
private final Keyword cMultiplicityKeyword_5_0 = (Keyword)cGroup_5.eContents().get(0);
|
||||
private final Assignment cCardinalityValuesAssignment_5_1 = (Assignment)cGroup_5.eContents().get(1);
|
||||
private final RuleCall cCardinalityValuesCardinalityValueParserRuleCall_5_1_0 = (RuleCall)cCardinalityValuesAssignment_5_1.eContents().get(0);
|
||||
private final Assignment cCardinalityValuesAssignment_5_2 = (Assignment)cGroup_5.eContents().get(2);
|
||||
private final RuleCall cCardinalityValuesCardinalityValueParserRuleCall_5_2_0 = (RuleCall)cCardinalityValuesAssignment_5_2.eContents().get(0);
|
||||
private final Group cGroup_6 = (Group)cGroup.eContents().get(6);
|
||||
private final Keyword cComponentsKeyword_6_0 = (Keyword)cGroup_6.eContents().get(0);
|
||||
private final Assignment cModelElementAssignment_6_1 = (Assignment)cGroup_6.eContents().get(1);
|
||||
private final RuleCall cModelElementGraphElementMappingParserRuleCall_6_1_0 = (RuleCall)cModelElementAssignment_6_1.eContents().get(0);
|
||||
private final Assignment cModelElementAssignment_6_2 = (Assignment)cGroup_6.eContents().get(2);
|
||||
private final RuleCall cModelElementGraphElementMappingParserRuleCall_6_2_0 = (RuleCall)cModelElementAssignment_6_2.eContents().get(0);
|
||||
private final Group cGroup_7 = (Group)cGroup.eContents().get(7);
|
||||
private final Keyword cPortsKeyword_7_0 = (Keyword)cGroup_7.eContents().get(0);
|
||||
private final Assignment cPortMappingAssignment_7_1 = (Assignment)cGroup_7.eContents().get(1);
|
||||
private final RuleCall cPortMappingPortMappingParserRuleCall_7_1_0 = (RuleCall)cPortMappingAssignment_7_1.eContents().get(0);
|
||||
private final Assignment cPortMappingAssignment_7_2 = (Assignment)cGroup_7.eContents().get(2);
|
||||
private final RuleCall cPortMappingPortMappingParserRuleCall_7_2_0 = (RuleCall)cPortMappingAssignment_7_2.eContents().get(0);
|
||||
private final Keyword cRightCurlyBracketKeyword_8 = (Keyword)cGroup.eContents().get(8);
|
||||
|
||||
//PatternApplication mapping::PatternApplication:
|
||||
// 'transform' model=[seim::Model] 'using' pattern=[pseim::Pattern] '{' ('multiplicity'
|
||||
// cardinalityValues+=CardinalityValue cardinalityValues+=CardinalityValue*)? ('components'
|
||||
// modelElement+=GraphElementMapping modelElement+=GraphElementMapping*)? ('ports' portMapping+=PortMapping
|
||||
// portMapping+=PortMapping*)?
|
||||
// '}';
|
||||
@Override public ParserRule getRule() { return rule; }
|
||||
|
||||
//'transform' model=[seim::Model] 'using' pattern=[pseim::Pattern] '{' ('multiplicity' cardinalityValues+=CardinalityValue
|
||||
//cardinalityValues+=CardinalityValue*)? ('components' modelElement+=GraphElementMapping
|
||||
//modelElement+=GraphElementMapping*)? ('ports' portMapping+=PortMapping portMapping+=PortMapping*)? '}'
|
||||
public Group getGroup() { return cGroup; }
|
||||
|
||||
//'transform'
|
||||
public Keyword getTransformKeyword_0() { return cTransformKeyword_0; }
|
||||
|
||||
//model=[seim::Model]
|
||||
public Assignment getModelAssignment_1() { return cModelAssignment_1; }
|
||||
|
||||
//[seim::Model]
|
||||
public CrossReference getModelModelCrossReference_1_0() { return cModelModelCrossReference_1_0; }
|
||||
|
||||
//ID
|
||||
public RuleCall getModelModelIDTerminalRuleCall_1_0_1() { return cModelModelIDTerminalRuleCall_1_0_1; }
|
||||
|
||||
//'using'
|
||||
public Keyword getUsingKeyword_2() { return cUsingKeyword_2; }
|
||||
|
||||
//pattern=[pseim::Pattern]
|
||||
public Assignment getPatternAssignment_3() { return cPatternAssignment_3; }
|
||||
|
||||
//[pseim::Pattern]
|
||||
public CrossReference getPatternPatternCrossReference_3_0() { return cPatternPatternCrossReference_3_0; }
|
||||
|
||||
//ID
|
||||
public RuleCall getPatternPatternIDTerminalRuleCall_3_0_1() { return cPatternPatternIDTerminalRuleCall_3_0_1; }
|
||||
|
||||
//'{'
|
||||
public Keyword getLeftCurlyBracketKeyword_4() { return cLeftCurlyBracketKeyword_4; }
|
||||
|
||||
//('multiplicity' cardinalityValues+=CardinalityValue cardinalityValues+=CardinalityValue*)?
|
||||
public Group getGroup_5() { return cGroup_5; }
|
||||
|
||||
//'multiplicity'
|
||||
public Keyword getMultiplicityKeyword_5_0() { return cMultiplicityKeyword_5_0; }
|
||||
|
||||
//cardinalityValues+=CardinalityValue
|
||||
public Assignment getCardinalityValuesAssignment_5_1() { return cCardinalityValuesAssignment_5_1; }
|
||||
|
||||
//CardinalityValue
|
||||
public RuleCall getCardinalityValuesCardinalityValueParserRuleCall_5_1_0() { return cCardinalityValuesCardinalityValueParserRuleCall_5_1_0; }
|
||||
|
||||
//cardinalityValues+=CardinalityValue*
|
||||
public Assignment getCardinalityValuesAssignment_5_2() { return cCardinalityValuesAssignment_5_2; }
|
||||
|
||||
//CardinalityValue
|
||||
public RuleCall getCardinalityValuesCardinalityValueParserRuleCall_5_2_0() { return cCardinalityValuesCardinalityValueParserRuleCall_5_2_0; }
|
||||
|
||||
//('components' modelElement+=GraphElementMapping modelElement+=GraphElementMapping*)?
|
||||
public Group getGroup_6() { return cGroup_6; }
|
||||
|
||||
//'components'
|
||||
public Keyword getComponentsKeyword_6_0() { return cComponentsKeyword_6_0; }
|
||||
|
||||
//modelElement+=GraphElementMapping
|
||||
public Assignment getModelElementAssignment_6_1() { return cModelElementAssignment_6_1; }
|
||||
|
||||
//GraphElementMapping
|
||||
public RuleCall getModelElementGraphElementMappingParserRuleCall_6_1_0() { return cModelElementGraphElementMappingParserRuleCall_6_1_0; }
|
||||
|
||||
//modelElement+=GraphElementMapping*
|
||||
public Assignment getModelElementAssignment_6_2() { return cModelElementAssignment_6_2; }
|
||||
|
||||
//GraphElementMapping
|
||||
public RuleCall getModelElementGraphElementMappingParserRuleCall_6_2_0() { return cModelElementGraphElementMappingParserRuleCall_6_2_0; }
|
||||
|
||||
//('ports' portMapping+=PortMapping portMapping+=PortMapping*)?
|
||||
public Group getGroup_7() { return cGroup_7; }
|
||||
|
||||
//'ports'
|
||||
public Keyword getPortsKeyword_7_0() { return cPortsKeyword_7_0; }
|
||||
|
||||
//portMapping+=PortMapping
|
||||
public Assignment getPortMappingAssignment_7_1() { return cPortMappingAssignment_7_1; }
|
||||
|
||||
//PortMapping
|
||||
public RuleCall getPortMappingPortMappingParserRuleCall_7_1_0() { return cPortMappingPortMappingParserRuleCall_7_1_0; }
|
||||
|
||||
//portMapping+=PortMapping*
|
||||
public Assignment getPortMappingAssignment_7_2() { return cPortMappingAssignment_7_2; }
|
||||
|
||||
//PortMapping
|
||||
public RuleCall getPortMappingPortMappingParserRuleCall_7_2_0() { return cPortMappingPortMappingParserRuleCall_7_2_0; }
|
||||
|
||||
//'}'
|
||||
public Keyword getRightCurlyBracketKeyword_8() { return cRightCurlyBracketKeyword_8; }
|
||||
}
|
||||
public class CardinalityValueElements extends AbstractParserRuleElementFinder {
|
||||
private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "com.irtsaintexupery.xtext.pseim.Mapping.CardinalityValue");
|
||||
private final Group cGroup = (Group)rule.eContents().get(1);
|
||||
private final Assignment cCardinalityElementAssignment_0 = (Assignment)cGroup.eContents().get(0);
|
||||
private final CrossReference cCardinalityElementCardinalityElementCrossReference_0_0 = (CrossReference)cCardinalityElementAssignment_0.eContents().get(0);
|
||||
private final RuleCall cCardinalityElementCardinalityElementQualifiedIDParserRuleCall_0_0_1 = (RuleCall)cCardinalityElementCardinalityElementCrossReference_0_0.eContents().get(1);
|
||||
private final Keyword cHyphenMinusGreaterThanSignKeyword_1 = (Keyword)cGroup.eContents().get(1);
|
||||
private final Assignment cValueAssignment_2 = (Assignment)cGroup.eContents().get(2);
|
||||
private final RuleCall cValueEIntParserRuleCall_2_0 = (RuleCall)cValueAssignment_2.eContents().get(0);
|
||||
|
||||
//CardinalityValue mapping::CardinalityValue:
|
||||
// cardinalityElement=[pseim::CardinalityElement|QualifiedID] '->' value=EInt;
|
||||
@Override public ParserRule getRule() { return rule; }
|
||||
|
||||
//cardinalityElement=[pseim::CardinalityElement|QualifiedID] '->' value=EInt
|
||||
public Group getGroup() { return cGroup; }
|
||||
|
||||
//cardinalityElement=[pseim::CardinalityElement|QualifiedID]
|
||||
public Assignment getCardinalityElementAssignment_0() { return cCardinalityElementAssignment_0; }
|
||||
|
||||
//[pseim::CardinalityElement|QualifiedID]
|
||||
public CrossReference getCardinalityElementCardinalityElementCrossReference_0_0() { return cCardinalityElementCardinalityElementCrossReference_0_0; }
|
||||
|
||||
//QualifiedID
|
||||
public RuleCall getCardinalityElementCardinalityElementQualifiedIDParserRuleCall_0_0_1() { return cCardinalityElementCardinalityElementQualifiedIDParserRuleCall_0_0_1; }
|
||||
|
||||
//'->'
|
||||
public Keyword getHyphenMinusGreaterThanSignKeyword_1() { return cHyphenMinusGreaterThanSignKeyword_1; }
|
||||
|
||||
//value=EInt
|
||||
public Assignment getValueAssignment_2() { return cValueAssignment_2; }
|
||||
|
||||
//EInt
|
||||
public RuleCall getValueEIntParserRuleCall_2_0() { return cValueEIntParserRuleCall_2_0; }
|
||||
}
|
||||
public class PortMappingElements extends AbstractParserRuleElementFinder {
|
||||
private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "com.irtsaintexupery.xtext.pseim.Mapping.PortMapping");
|
||||
private final Group cGroup = (Group)rule.eContents().get(1);
|
||||
private final Assignment cModelPortAssignment_0 = (Assignment)cGroup.eContents().get(0);
|
||||
private final CrossReference cModelPortBorderElementCrossReference_0_0 = (CrossReference)cModelPortAssignment_0.eContents().get(0);
|
||||
private final RuleCall cModelPortBorderElementQualifiedIDParserRuleCall_0_0_1 = (RuleCall)cModelPortBorderElementCrossReference_0_0.eContents().get(1);
|
||||
private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
|
||||
private final Keyword cCommaKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0);
|
||||
private final Assignment cModelPortAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1);
|
||||
private final CrossReference cModelPortBorderElementCrossReference_1_1_0 = (CrossReference)cModelPortAssignment_1_1.eContents().get(0);
|
||||
private final RuleCall cModelPortBorderElementQualifiedIDParserRuleCall_1_1_0_1 = (RuleCall)cModelPortBorderElementCrossReference_1_1_0.eContents().get(1);
|
||||
private final Keyword cHyphenMinusGreaterThanSignKeyword_2 = (Keyword)cGroup.eContents().get(2);
|
||||
private final Assignment cPatternPortAssignment_3 = (Assignment)cGroup.eContents().get(3);
|
||||
private final CrossReference cPatternPortBorderElementCrossReference_3_0 = (CrossReference)cPatternPortAssignment_3.eContents().get(0);
|
||||
private final RuleCall cPatternPortBorderElementQualifiedIDParserRuleCall_3_0_1 = (RuleCall)cPatternPortBorderElementCrossReference_3_0.eContents().get(1);
|
||||
|
||||
//PortMapping mapping::PortMapping:
|
||||
// modelPort+=[seim::BorderElement|QualifiedID] (',' modelPort+=[seim::BorderElement|QualifiedID])*
|
||||
// '->'
|
||||
// patternPort=[seim::BorderElement|QualifiedID];
|
||||
@Override public ParserRule getRule() { return rule; }
|
||||
|
||||
//modelPort+=[seim::BorderElement|QualifiedID] (',' modelPort+=[seim::BorderElement|QualifiedID])* '->'
|
||||
//patternPort=[seim::BorderElement|QualifiedID]
|
||||
public Group getGroup() { return cGroup; }
|
||||
|
||||
//modelPort+=[seim::BorderElement|QualifiedID]
|
||||
public Assignment getModelPortAssignment_0() { return cModelPortAssignment_0; }
|
||||
|
||||
//[seim::BorderElement|QualifiedID]
|
||||
public CrossReference getModelPortBorderElementCrossReference_0_0() { return cModelPortBorderElementCrossReference_0_0; }
|
||||
|
||||
//QualifiedID
|
||||
public RuleCall getModelPortBorderElementQualifiedIDParserRuleCall_0_0_1() { return cModelPortBorderElementQualifiedIDParserRuleCall_0_0_1; }
|
||||
|
||||
//(',' modelPort+=[seim::BorderElement|QualifiedID])*
|
||||
public Group getGroup_1() { return cGroup_1; }
|
||||
|
||||
//','
|
||||
public Keyword getCommaKeyword_1_0() { return cCommaKeyword_1_0; }
|
||||
|
||||
//modelPort+=[seim::BorderElement|QualifiedID]
|
||||
public Assignment getModelPortAssignment_1_1() { return cModelPortAssignment_1_1; }
|
||||
|
||||
//[seim::BorderElement|QualifiedID]
|
||||
public CrossReference getModelPortBorderElementCrossReference_1_1_0() { return cModelPortBorderElementCrossReference_1_1_0; }
|
||||
|
||||
//QualifiedID
|
||||
public RuleCall getModelPortBorderElementQualifiedIDParserRuleCall_1_1_0_1() { return cModelPortBorderElementQualifiedIDParserRuleCall_1_1_0_1; }
|
||||
|
||||
//'->'
|
||||
public Keyword getHyphenMinusGreaterThanSignKeyword_2() { return cHyphenMinusGreaterThanSignKeyword_2; }
|
||||
|
||||
//patternPort=[seim::BorderElement|QualifiedID]
|
||||
public Assignment getPatternPortAssignment_3() { return cPatternPortAssignment_3; }
|
||||
|
||||
//[seim::BorderElement|QualifiedID]
|
||||
public CrossReference getPatternPortBorderElementCrossReference_3_0() { return cPatternPortBorderElementCrossReference_3_0; }
|
||||
|
||||
//QualifiedID
|
||||
public RuleCall getPatternPortBorderElementQualifiedIDParserRuleCall_3_0_1() { return cPatternPortBorderElementQualifiedIDParserRuleCall_3_0_1; }
|
||||
}
|
||||
public class GraphElementMappingElements extends AbstractParserRuleElementFinder {
|
||||
private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "com.irtsaintexupery.xtext.pseim.Mapping.GraphElementMapping");
|
||||
private final Group cGroup = (Group)rule.eContents().get(1);
|
||||
private final Assignment cModelGraphElementAssignment_0 = (Assignment)cGroup.eContents().get(0);
|
||||
private final CrossReference cModelGraphElementGraphElementCrossReference_0_0 = (CrossReference)cModelGraphElementAssignment_0.eContents().get(0);
|
||||
private final RuleCall cModelGraphElementGraphElementQualifiedIDParserRuleCall_0_0_1 = (RuleCall)cModelGraphElementGraphElementCrossReference_0_0.eContents().get(1);
|
||||
private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
|
||||
private final Keyword cCommaKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0);
|
||||
private final Assignment cModelGraphElementAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1);
|
||||
private final CrossReference cModelGraphElementGraphElementCrossReference_1_1_0 = (CrossReference)cModelGraphElementAssignment_1_1.eContents().get(0);
|
||||
private final RuleCall cModelGraphElementGraphElementQualifiedIDParserRuleCall_1_1_0_1 = (RuleCall)cModelGraphElementGraphElementCrossReference_1_1_0.eContents().get(1);
|
||||
private final Keyword cHyphenMinusGreaterThanSignKeyword_2 = (Keyword)cGroup.eContents().get(2);
|
||||
private final Assignment cPatternGraphElementAssignment_3 = (Assignment)cGroup.eContents().get(3);
|
||||
private final CrossReference cPatternGraphElementGraphElementCrossReference_3_0 = (CrossReference)cPatternGraphElementAssignment_3.eContents().get(0);
|
||||
private final RuleCall cPatternGraphElementGraphElementQualifiedIDParserRuleCall_3_0_1 = (RuleCall)cPatternGraphElementGraphElementCrossReference_3_0.eContents().get(1);
|
||||
|
||||
//GraphElementMapping mapping::GraphElementMapping:
|
||||
// modelGraphElement+=[seim::GraphElement|QualifiedID] (',' modelGraphElement+=[seim::GraphElement|QualifiedID])*
|
||||
// '->'
|
||||
// patternGraphElement=[seim::GraphElement|QualifiedID];
|
||||
@Override public ParserRule getRule() { return rule; }
|
||||
|
||||
//modelGraphElement+=[seim::GraphElement|QualifiedID] (',' modelGraphElement+=[seim::GraphElement|QualifiedID])* '->'
|
||||
//patternGraphElement=[seim::GraphElement|QualifiedID]
|
||||
public Group getGroup() { return cGroup; }
|
||||
|
||||
//modelGraphElement+=[seim::GraphElement|QualifiedID]
|
||||
public Assignment getModelGraphElementAssignment_0() { return cModelGraphElementAssignment_0; }
|
||||
|
||||
//[seim::GraphElement|QualifiedID]
|
||||
public CrossReference getModelGraphElementGraphElementCrossReference_0_0() { return cModelGraphElementGraphElementCrossReference_0_0; }
|
||||
|
||||
//QualifiedID
|
||||
public RuleCall getModelGraphElementGraphElementQualifiedIDParserRuleCall_0_0_1() { return cModelGraphElementGraphElementQualifiedIDParserRuleCall_0_0_1; }
|
||||
|
||||
//(',' modelGraphElement+=[seim::GraphElement|QualifiedID])*
|
||||
public Group getGroup_1() { return cGroup_1; }
|
||||
|
||||
//','
|
||||
public Keyword getCommaKeyword_1_0() { return cCommaKeyword_1_0; }
|
||||
|
||||
//modelGraphElement+=[seim::GraphElement|QualifiedID]
|
||||
public Assignment getModelGraphElementAssignment_1_1() { return cModelGraphElementAssignment_1_1; }
|
||||
|
||||
//[seim::GraphElement|QualifiedID]
|
||||
public CrossReference getModelGraphElementGraphElementCrossReference_1_1_0() { return cModelGraphElementGraphElementCrossReference_1_1_0; }
|
||||
|
||||
//QualifiedID
|
||||
public RuleCall getModelGraphElementGraphElementQualifiedIDParserRuleCall_1_1_0_1() { return cModelGraphElementGraphElementQualifiedIDParserRuleCall_1_1_0_1; }
|
||||
|
||||
//'->'
|
||||
public Keyword getHyphenMinusGreaterThanSignKeyword_2() { return cHyphenMinusGreaterThanSignKeyword_2; }
|
||||
|
||||
//patternGraphElement=[seim::GraphElement|QualifiedID]
|
||||
public Assignment getPatternGraphElementAssignment_3() { return cPatternGraphElementAssignment_3; }
|
||||
|
||||
//[seim::GraphElement|QualifiedID]
|
||||
public CrossReference getPatternGraphElementGraphElementCrossReference_3_0() { return cPatternGraphElementGraphElementCrossReference_3_0; }
|
||||
|
||||
//QualifiedID
|
||||
public RuleCall getPatternGraphElementGraphElementQualifiedIDParserRuleCall_3_0_1() { return cPatternGraphElementGraphElementQualifiedIDParserRuleCall_3_0_1; }
|
||||
}
|
||||
public class EIntElements extends AbstractParserRuleElementFinder {
|
||||
private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "com.irtsaintexupery.xtext.pseim.Mapping.EInt");
|
||||
private final Group cGroup = (Group)rule.eContents().get(1);
|
||||
private final Keyword cHyphenMinusKeyword_0 = (Keyword)cGroup.eContents().get(0);
|
||||
private final RuleCall cINTTerminalRuleCall_1 = (RuleCall)cGroup.eContents().get(1);
|
||||
|
||||
//EInt ecore::EInt:
|
||||
// '-'? INT;
|
||||
@Override public ParserRule getRule() { return rule; }
|
||||
|
||||
//'-'? INT
|
||||
public Group getGroup() { return cGroup; }
|
||||
|
||||
//'-'?
|
||||
public Keyword getHyphenMinusKeyword_0() { return cHyphenMinusKeyword_0; }
|
||||
|
||||
//INT
|
||||
public RuleCall getINTTerminalRuleCall_1() { return cINTTerminalRuleCall_1; }
|
||||
}
|
||||
public class QualifiedIDElements extends AbstractParserRuleElementFinder {
|
||||
private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "com.irtsaintexupery.xtext.pseim.Mapping.QualifiedID");
|
||||
private final Group cGroup = (Group)rule.eContents().get(1);
|
||||
private final RuleCall cIDTerminalRuleCall_0 = (RuleCall)cGroup.eContents().get(0);
|
||||
private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
|
||||
private final Keyword cFullStopKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0);
|
||||
private final RuleCall cIDTerminalRuleCall_1_1 = (RuleCall)cGroup_1.eContents().get(1);
|
||||
|
||||
//QualifiedID:
|
||||
// ID ('.' ID)*;
|
||||
@Override public ParserRule getRule() { return rule; }
|
||||
|
||||
//ID ('.' ID)*
|
||||
public Group getGroup() { return cGroup; }
|
||||
|
||||
//ID
|
||||
public RuleCall getIDTerminalRuleCall_0() { return cIDTerminalRuleCall_0; }
|
||||
|
||||
//('.' ID)*
|
||||
public Group getGroup_1() { return cGroup_1; }
|
||||
|
||||
//'.'
|
||||
public Keyword getFullStopKeyword_1_0() { return cFullStopKeyword_1_0; }
|
||||
|
||||
//ID
|
||||
public RuleCall getIDTerminalRuleCall_1_1() { return cIDTerminalRuleCall_1_1; }
|
||||
}
|
||||
|
||||
|
||||
private final PatternApplicationElements pPatternApplication;
|
||||
private final CardinalityValueElements pCardinalityValue;
|
||||
private final PortMappingElements pPortMapping;
|
||||
private final GraphElementMappingElements pGraphElementMapping;
|
||||
private final EIntElements pEInt;
|
||||
private final QualifiedIDElements pQualifiedID;
|
||||
|
||||
private final Grammar grammar;
|
||||
|
||||
private final TerminalsGrammarAccess gaTerminals;
|
||||
|
||||
@Inject
|
||||
public MappingGrammarAccess(GrammarProvider grammarProvider,
|
||||
TerminalsGrammarAccess gaTerminals) {
|
||||
this.grammar = internalFindGrammar(grammarProvider);
|
||||
this.gaTerminals = gaTerminals;
|
||||
this.pPatternApplication = new PatternApplicationElements();
|
||||
this.pCardinalityValue = new CardinalityValueElements();
|
||||
this.pPortMapping = new PortMappingElements();
|
||||
this.pGraphElementMapping = new GraphElementMappingElements();
|
||||
this.pEInt = new EIntElements();
|
||||
this.pQualifiedID = new QualifiedIDElements();
|
||||
}
|
||||
|
||||
protected Grammar internalFindGrammar(GrammarProvider grammarProvider) {
|
||||
Grammar grammar = grammarProvider.getGrammar(this);
|
||||
while (grammar != null) {
|
||||
if ("com.irtsaintexupery.xtext.pseim.Mapping".equals(grammar.getName())) {
|
||||
return grammar;
|
||||
}
|
||||
List<Grammar> grammars = grammar.getUsedGrammars();
|
||||
if (!grammars.isEmpty()) {
|
||||
grammar = grammars.iterator().next();
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
return grammar;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Grammar getGrammar() {
|
||||
return grammar;
|
||||
}
|
||||
|
||||
|
||||
public TerminalsGrammarAccess getTerminalsGrammarAccess() {
|
||||
return gaTerminals;
|
||||
}
|
||||
|
||||
|
||||
//PatternApplication mapping::PatternApplication:
|
||||
// 'transform' model=[seim::Model] 'using' pattern=[pseim::Pattern] '{' ('multiplicity'
|
||||
// cardinalityValues+=CardinalityValue cardinalityValues+=CardinalityValue*)? ('components'
|
||||
// modelElement+=GraphElementMapping modelElement+=GraphElementMapping*)? ('ports' portMapping+=PortMapping
|
||||
// portMapping+=PortMapping*)?
|
||||
// '}';
|
||||
public PatternApplicationElements getPatternApplicationAccess() {
|
||||
return pPatternApplication;
|
||||
}
|
||||
|
||||
public ParserRule getPatternApplicationRule() {
|
||||
return getPatternApplicationAccess().getRule();
|
||||
}
|
||||
|
||||
//CardinalityValue mapping::CardinalityValue:
|
||||
// cardinalityElement=[pseim::CardinalityElement|QualifiedID] '->' value=EInt;
|
||||
public CardinalityValueElements getCardinalityValueAccess() {
|
||||
return pCardinalityValue;
|
||||
}
|
||||
|
||||
public ParserRule getCardinalityValueRule() {
|
||||
return getCardinalityValueAccess().getRule();
|
||||
}
|
||||
|
||||
//PortMapping mapping::PortMapping:
|
||||
// modelPort+=[seim::BorderElement|QualifiedID] (',' modelPort+=[seim::BorderElement|QualifiedID])*
|
||||
// '->'
|
||||
// patternPort=[seim::BorderElement|QualifiedID];
|
||||
public PortMappingElements getPortMappingAccess() {
|
||||
return pPortMapping;
|
||||
}
|
||||
|
||||
public ParserRule getPortMappingRule() {
|
||||
return getPortMappingAccess().getRule();
|
||||
}
|
||||
|
||||
//GraphElementMapping mapping::GraphElementMapping:
|
||||
// modelGraphElement+=[seim::GraphElement|QualifiedID] (',' modelGraphElement+=[seim::GraphElement|QualifiedID])*
|
||||
// '->'
|
||||
// patternGraphElement=[seim::GraphElement|QualifiedID];
|
||||
public GraphElementMappingElements getGraphElementMappingAccess() {
|
||||
return pGraphElementMapping;
|
||||
}
|
||||
|
||||
public ParserRule getGraphElementMappingRule() {
|
||||
return getGraphElementMappingAccess().getRule();
|
||||
}
|
||||
|
||||
//EInt ecore::EInt:
|
||||
// '-'? INT;
|
||||
public EIntElements getEIntAccess() {
|
||||
return pEInt;
|
||||
}
|
||||
|
||||
public ParserRule getEIntRule() {
|
||||
return getEIntAccess().getRule();
|
||||
}
|
||||
|
||||
//QualifiedID:
|
||||
// ID ('.' ID)*;
|
||||
public QualifiedIDElements getQualifiedIDAccess() {
|
||||
return pQualifiedID;
|
||||
}
|
||||
|
||||
public ParserRule getQualifiedIDRule() {
|
||||
return getQualifiedIDAccess().getRule();
|
||||
}
|
||||
|
||||
//terminal ID:
|
||||
// '^'? ('a'..'z' | 'A'..'Z' | '_') ('a'..'z' | 'A'..'Z' | '_' | '0'..'9')*;
|
||||
public TerminalRule getIDRule() {
|
||||
return gaTerminals.getIDRule();
|
||||
}
|
||||
|
||||
//terminal INT returns ecore::EInt:
|
||||
// '0'..'9'+;
|
||||
public TerminalRule getINTRule() {
|
||||
return gaTerminals.getINTRule();
|
||||
}
|
||||
|
||||
//terminal STRING:
|
||||
// '"' ('\\' . | !('\\' | '"'))* '"' |
|
||||
// "'" ('\\' . | !('\\' | "'"))* "'";
|
||||
public TerminalRule getSTRINGRule() {
|
||||
return gaTerminals.getSTRINGRule();
|
||||
}
|
||||
|
||||
//terminal ML_COMMENT:
|
||||
// '/*'->'*/';
|
||||
public TerminalRule getML_COMMENTRule() {
|
||||
return gaTerminals.getML_COMMENTRule();
|
||||
}
|
||||
|
||||
//terminal SL_COMMENT:
|
||||
// '//' !('\n' | '\r')* ('\r'? '\n')?;
|
||||
public TerminalRule getSL_COMMENTRule() {
|
||||
return gaTerminals.getSL_COMMENTRule();
|
||||
}
|
||||
|
||||
//terminal WS:
|
||||
// ' ' | '\t' | '\r' | '\n'+;
|
||||
public TerminalRule getWSRule() {
|
||||
return gaTerminals.getWSRule();
|
||||
}
|
||||
|
||||
//terminal ANY_OTHER:
|
||||
// .;
|
||||
public TerminalRule getANY_OTHERRule() {
|
||||
return gaTerminals.getANY_OTHERRule();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
/*
|
||||
* generated by Xtext 2.12.0
|
||||
*/
|
||||
package com.irtsaintexupery.xtext.pseim.validation;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import org.eclipse.emf.ecore.EPackage;
|
||||
import org.eclipse.xtext.validation.AbstractDeclarativeValidator;
|
||||
|
||||
public abstract class AbstractMappingValidator extends AbstractDeclarativeValidator {
|
||||
|
||||
@Override
|
||||
protected List<EPackage> getEPackages() {
|
||||
List<EPackage> result = new ArrayList<EPackage>();
|
||||
result.add(EPackage.Registry.INSTANCE.getEPackage("http://www.irit.fr/patterns/mapping/0.1"));
|
||||
return result;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,47 @@
|
||||
module com.irtsaintexupery.xtext.pseim.GenerateMapping
|
||||
|
||||
import org.eclipse.xtext.xtext.generator.*
|
||||
import org.eclipse.xtext.xtext.generator.model.project.*
|
||||
|
||||
var rootPath = ".."
|
||||
|
||||
Workflow {
|
||||
|
||||
component = XtextGenerator {
|
||||
configuration = {
|
||||
project = StandardProjectConfig {
|
||||
baseName = "com.irtsaintexupery.xtext.pseim.mapping"
|
||||
rootPath = rootPath
|
||||
eclipsePlugin = {
|
||||
enabled = true
|
||||
}
|
||||
createEclipseMetaData = true
|
||||
}
|
||||
code = {
|
||||
encoding = "UTF-8"
|
||||
lineDelimiter = "\n"
|
||||
fileHeader = "/*\n * generated by Xtext \${version}\n */"
|
||||
}
|
||||
}
|
||||
language = StandardLanguage {
|
||||
name = "com.irtsaintexupery.xtext.pseim.Mapping"
|
||||
fileExtensions = "mapping"
|
||||
referencedResource = "platform:/resource/com.irtsaintexupery.pseim/model/seim.genmodel"
|
||||
referencedResource = "platform:/resource/com.irtsaintexupery.pseim/model/mapping.genmodel"
|
||||
referencedResource = "platform:/resource/com.irtsaintexupery.pseim/model/pseim.genmodel"
|
||||
|
||||
fragment = ecore2xtext.Ecore2XtextValueConverterServiceFragment2 auto-inject {}
|
||||
|
||||
formatter = {
|
||||
generateStub = true
|
||||
}
|
||||
|
||||
serializer = {
|
||||
generateStub = false
|
||||
}
|
||||
validator = {
|
||||
// composedCheck = "org.eclipse.xtext.validation.NamesAreUniqueValidator"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
// automatically generated by Xtext
|
||||
grammar com.irtsaintexupery.xtext.pseim.Mapping with org.eclipse.xtext.common.Terminals
|
||||
|
||||
import "http://www.eclipse.org/emf/2002/Ecore" as ecore
|
||||
import "http://www.irit.fr/patterns/mapping/0.1" as mapping
|
||||
import "http://www.irt-saintexupery.com/pseim/0.1" as pseim
|
||||
import "http://www.irt-saintexupery.com/seim/0.1" as seim
|
||||
|
||||
PatternApplication returns mapping::PatternApplication:
|
||||
'transform' model=[seim::Model|ID] 'using' pattern=[pseim::Pattern|ID] '{'
|
||||
('multiplicity' cardinalityValues+=CardinalityValue (cardinalityValues+=CardinalityValue)* )?
|
||||
('components' modelElement+=GraphElementMapping (modelElement+=GraphElementMapping)*)?
|
||||
('ports' portMapping+=PortMapping (portMapping+=PortMapping)*)?
|
||||
'}';
|
||||
|
||||
CardinalityValue returns mapping::CardinalityValue:
|
||||
cardinalityElement=[pseim::CardinalityElement|QualifiedID] '->' value=EInt;
|
||||
|
||||
PortMapping returns mapping::PortMapping:
|
||||
modelPort+=[seim::BorderElement|QualifiedID] (',' modelPort+=[seim::BorderElement|QualifiedID])*
|
||||
'->'
|
||||
patternPort=[seim::BorderElement|QualifiedID];
|
||||
|
||||
GraphElementMapping returns mapping::GraphElementMapping:
|
||||
modelGraphElement+=[seim::GraphElement|QualifiedID] (',' modelGraphElement+=[seim::GraphElement|QualifiedID])*
|
||||
'->'
|
||||
patternGraphElement=[seim::GraphElement|QualifiedID];
|
||||
|
||||
EInt returns ecore::EInt:
|
||||
'-'? INT;
|
||||
|
||||
QualifiedID:
|
||||
ID('.'ID)*
|
||||
;
|
||||
@@ -0,0 +1,11 @@
|
||||
/*
|
||||
* generated by Xtext 2.12.0
|
||||
*/
|
||||
package com.irtsaintexupery.xtext.pseim
|
||||
|
||||
|
||||
/**
|
||||
* Use this class to register components to be used at runtime / without the Equinox extension registry.
|
||||
*/
|
||||
class MappingRuntimeModule extends AbstractMappingRuntimeModule {
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
/*
|
||||
* generated by Xtext 2.12.0
|
||||
*/
|
||||
package com.irtsaintexupery.xtext.pseim
|
||||
|
||||
|
||||
/**
|
||||
* Initialization support for running Xtext languages without Equinox extension registry.
|
||||
*/
|
||||
class MappingStandaloneSetup extends MappingStandaloneSetupGenerated {
|
||||
|
||||
def static void doSetup() {
|
||||
new MappingStandaloneSetup().createInjectorAndDoEMFRegistration()
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
/*
|
||||
* generated by Xtext 2.12.0
|
||||
*/
|
||||
package com.irtsaintexupery.xtext.pseim.formatting2
|
||||
|
||||
import com.google.inject.Inject
|
||||
import com.irtsaintexupery.pseim.mapping.CardinalityValue
|
||||
import com.irtsaintexupery.pseim.mapping.GraphElementMapping
|
||||
import com.irtsaintexupery.pseim.mapping.PatternApplication
|
||||
import com.irtsaintexupery.pseim.mapping.PortMapping
|
||||
import com.irtsaintexupery.xtext.pseim.services.MappingGrammarAccess
|
||||
import org.eclipse.xtext.formatting2.AbstractFormatter2
|
||||
import org.eclipse.xtext.formatting2.IFormattableDocument
|
||||
|
||||
class MappingFormatter extends AbstractFormatter2 {
|
||||
|
||||
@Inject extension MappingGrammarAccess
|
||||
|
||||
def dispatch void format(PatternApplication patternApplication, extension IFormattableDocument document) {
|
||||
// TODO: format HiddenRegions around keywords, attributes, cross references, etc.
|
||||
for (CardinalityValue cardinalityValue : patternApplication.getCardinalityValues()) {
|
||||
cardinalityValue.format;
|
||||
}
|
||||
for (PortMapping portMapping : patternApplication.getPortMapping()) {
|
||||
portMapping.format;
|
||||
}
|
||||
for (GraphElementMapping graphElementMapping : patternApplication.getModelElement()) {
|
||||
graphElementMapping.format;
|
||||
}
|
||||
}
|
||||
|
||||
// TODO: implement for
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
/*
|
||||
* generated by Xtext 2.12.0
|
||||
*/
|
||||
package com.irtsaintexupery.xtext.pseim.generator
|
||||
|
||||
import org.eclipse.emf.ecore.resource.Resource
|
||||
import org.eclipse.xtext.generator.AbstractGenerator
|
||||
import org.eclipse.xtext.generator.IFileSystemAccess2
|
||||
import org.eclipse.xtext.generator.IGeneratorContext
|
||||
|
||||
/**
|
||||
* Generates code from your model files on save.
|
||||
*
|
||||
* See https://www.eclipse.org/Xtext/documentation/303_runtime_concepts.html#code-generation
|
||||
*/
|
||||
class MappingGenerator extends AbstractGenerator {
|
||||
|
||||
override void doGenerate(Resource resource, IFileSystemAccess2 fsa, IGeneratorContext context) {
|
||||
// fsa.generateFile('greetings.txt', 'People to greet: ' +
|
||||
// resource.allContents
|
||||
// .filter(Greeting)
|
||||
// .map[name]
|
||||
// .join(', '))
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
/*
|
||||
* generated by Xtext 2.12.0
|
||||
*/
|
||||
package com.irtsaintexupery.xtext.pseim.scoping
|
||||
|
||||
|
||||
/**
|
||||
* This class contains custom scoping description.
|
||||
*
|
||||
* See https://www.eclipse.org/Xtext/documentation/303_runtime_concepts.html#scoping
|
||||
* on how and when to use it.
|
||||
*/
|
||||
class MappingScopeProvider extends AbstractMappingScopeProvider {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
/*
|
||||
* generated by Xtext 2.12.0
|
||||
*/
|
||||
package com.irtsaintexupery.xtext.pseim.validation
|
||||
|
||||
|
||||
/**
|
||||
* This class contains custom validation rules.
|
||||
*
|
||||
* See https://www.eclipse.org/Xtext/documentation/303_runtime_concepts.html#validation
|
||||
*/
|
||||
class MappingValidator extends AbstractMappingValidator {
|
||||
|
||||
// public static val INVALID_NAME = 'invalidName'
|
||||
//
|
||||
// @Check
|
||||
// def checkGreetingStartsWithCapital(Greeting greeting) {
|
||||
// if (!Character.isUpperCase(greeting.name.charAt(0))) {
|
||||
// warning('Name should start with a capital',
|
||||
// MappingPackage.Literals.GREETING__NAME,
|
||||
// INVALID_NAME)
|
||||
// }
|
||||
// }
|
||||
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
/.MappingRuntimeModule.java._trace
|
||||
/.MappingStandaloneSetup.java._trace
|
||||
/.MappingRuntimeModule.xtendbin
|
||||
/.MappingStandaloneSetup.xtendbin
|
||||
/MappingRuntimeModule.java
|
||||
/MappingStandaloneSetup.java
|
||||
@@ -0,0 +1,3 @@
|
||||
/.MappingFormatter.java._trace
|
||||
/.MappingFormatter.xtendbin
|
||||
/MappingFormatter.java
|
||||
@@ -0,0 +1,3 @@
|
||||
/.MappingGenerator.java._trace
|
||||
/.MappingGenerator.xtendbin
|
||||
/MappingGenerator.java
|
||||
@@ -0,0 +1,3 @@
|
||||
/.MappingScopeProvider.java._trace
|
||||
/.MappingScopeProvider.xtendbin
|
||||
/MappingScopeProvider.java
|
||||
@@ -0,0 +1,3 @@
|
||||
/.MappingValidator.java._trace
|
||||
/.MappingValidator.xtendbin
|
||||
/MappingValidator.java
|
||||
Reference in New Issue
Block a user