Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHenrik Rentz-Reichert2013-07-01 07:07:35 -0400
committerHenrik Rentz-Reichert2013-07-01 07:07:35 -0400
commit68075560780792ec33b403db643c045664353ff4 (patch)
tree0f0a445a76f1c5e84e4d0ca87b42eb550a01f843
parent45aef58d075ac4b62a4176111a2f428a8df721c8 (diff)
downloadorg.eclipse.etrice-68075560780792ec33b403db643c045664353ff4.tar.gz
org.eclipse.etrice-68075560780792ec33b403db643c045664353ff4.tar.xz
org.eclipse.etrice-68075560780792ec33b403db643c045664353ff4.zip
[*] bug 411983: make transition to Kepler
https://bugs.eclipse.org/bugs/show_bug.cgi?id=411983
-rw-r--r--features/org.eclipse.etrice.feature/feature.xml1
-rw-r--r--features/org.eclipse.etrice.tests.feature/feature.xml2
-rw-r--r--plugins/org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/AbstractConfigProposalProvider.java2
-rw-r--r--plugins/org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/PartialConfigContentAssistParser.java1
-rw-r--r--plugins/org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfigLexer.java2
-rw-r--r--plugins/org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfigParser.java2
-rw-r--r--plugins/org.eclipse.etrice.core.config/.launch/Generate Language Infrastructure (org.eclipse.etrice.core.config).launch2
-rw-r--r--plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/Config.genmodel2
-rw-r--r--plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/Config.xmi786
-rw-r--r--plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/impl/ConfigFactoryImpl.java2
-rw-r--r--plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfigLexer.java2
-rw-r--r--plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfigParser.java2
-rw-r--r--plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/serializer/ConfigSemanticSequencer.java70
-rw-r--r--plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/serializer/ConfigSyntacticSequencer.java32
-rw-r--r--plugins/org.eclipse.etrice.core.config/src/org/eclipse/etrice/core/Config.xtext2
-rw-r--r--plugins/org.eclipse.etrice.core.config/src/org/eclipse/etrice/core/GenerateConfig.mwe21
-rw-r--r--plugins/org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/AbstractETMapProposalProvider.java2
-rw-r--r--plugins/org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/PartialETMapContentAssistParser.java1
-rw-r--r--plugins/org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMapLexer.java4
-rw-r--r--plugins/org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMapParser.java2
-rw-r--r--plugins/org.eclipse.etrice.core.etmap/.gitignore1
-rw-r--r--plugins/org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/ETMap.genmodel2
-rw-r--r--plugins/org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/ETMap.xmi317
-rw-r--r--plugins/org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/eTMap/impl/ETMapFactoryImpl.java2
-rw-r--r--plugins/org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMapLexer.java4
-rw-r--r--plugins/org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMapParser.java2
-rw-r--r--plugins/org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/serializer/ETMapSemanticSequencer.java46
-rw-r--r--plugins/org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/serializer/ETMapSyntacticSequencer.java32
-rw-r--r--plugins/org.eclipse.etrice.core.etmap/src/org/eclipse/etrice/core/etmap/ETMap.xtext4
-rw-r--r--plugins/org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/AbstractETPhysProposalProvider.java2
-rw-r--r--plugins/org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/PartialETPhysContentAssistParser.java1
-rw-r--r--plugins/org.eclipse.etrice.core.etphys/.gitignore1
-rw-r--r--plugins/org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/ETPhys.genmodel2
-rw-r--r--plugins/org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/ETPhys.xmi465
-rw-r--r--plugins/org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/eTPhys/impl/ETPhysFactoryImpl.java2
-rw-r--r--plugins/org.eclipse.etrice.core.genmodel/META-INF/MANIFEST.MF2
-rw-r--r--plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/ETriceGenFactoryImpl.java2
-rw-r--r--plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/util/ETriceGenSwitch.java12
-rw-r--r--plugins/org.eclipse.etrice.core.room.ui/eTrice-rt.launch1
-rw-r--r--plugins/org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/AbstractRoomProposalProvider.java2
-rw-r--r--plugins/org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoomLexer.java4
-rw-r--r--plugins/org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoomParser.java2
-rw-r--r--plugins/org.eclipse.etrice.core.room/gen_room.launch1
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.genmodel2
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.xmi2207
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoomLexer.java2
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoomParser.java2
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/impl/RoomFactoryImpl.java2
-rw-r--r--plugins/org.eclipse.etrice.generator.c/xtend-gen/org/eclipse/etrice/generator/c/gen/NodeGen.java10
-rw-r--r--plugins/org.eclipse.etrice.generator.config/xtend-gen/org/eclipse/etrice/generator/config/DataConfiguration.java187
-rw-r--r--plugins/org.eclipse.etrice.generator.cpp/src/org/eclipse/etrice/generator/cpp/gen/ActorClassGen.xtend8
-rw-r--r--plugins/org.eclipse.etrice.generator.cpp/src/org/eclipse/etrice/generator/cpp/gen/ConfigGenAddon.xtend4
-rw-r--r--plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/ActorClassGen.java710
-rw-r--r--plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/ConfigGenAddon.java58
-rw-r--r--plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/ConfigGenAddon.java6
-rw-r--r--plugins/org.eclipse.etrice.generator/xtend-gen/org/eclipse/etrice/generator/generic/GenericStateMachineGenerator.java6
-rw-r--r--plugins/org.eclipse.etrice.logging/META-INF/MANIFEST.MF2
-rw-r--r--plugins/org.eclipse.etrice.ui.behavior/src/org/eclipse/etrice/ui/behavior/ProviderDispatcher.java21
-rw-r--r--plugins/org.eclipse.etrice.ui.behavior/src/org/eclipse/etrice/ui/behavior/editor/BehaviorEditor.java2
-rw-r--r--plugins/org.eclipse.etrice.ui.behavior/src/org/eclipse/etrice/ui/behavior/support/ChoicePointSupport.java2
-rw-r--r--plugins/org.eclipse.etrice.ui.behavior/src/org/eclipse/etrice/ui/behavior/support/DiagramUpdateFeature.java8
-rw-r--r--plugins/org.eclipse.etrice.ui.behavior/src/org/eclipse/etrice/ui/behavior/support/StateGraphSupport.java2
-rw-r--r--plugins/org.eclipse.etrice.ui.behavior/src/org/eclipse/etrice/ui/behavior/support/StateSupport.java8
-rw-r--r--plugins/org.eclipse.etrice.ui.behavior/src/org/eclipse/etrice/ui/behavior/support/TransitionSupport.java2
-rw-r--r--plugins/org.eclipse.etrice.ui.common/src/org/eclipse/etrice/ui/common/editor/DiagramExporter.java96
-rw-r--r--plugins/org.eclipse.etrice.ui.common/src/org/eclipse/etrice/ui/common/editor/RoomDiagramEditor.java2
-rw-r--r--plugins/org.eclipse.etrice.ui.layout/src/org/eclipse/etrice/ui/layout/ETriceDiagramLayoutManager.java2
-rw-r--r--plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.modellib.c.zipbin159287 -> 150731 bytes
-rw-r--r--plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.modellib.cpp.zipbin18444 -> 18428 bytes
-rw-r--r--plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.modellib.java.zipbin271303 -> 41068 bytes
-rw-r--r--plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.runtime.c.zipbin6208030 -> 103740 bytes
-rw-r--r--plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.runtime.cpp.zipbin48761 -> 48761 bytes
-rw-r--r--plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.runtime.java.zipbin48306 -> 48302 bytes
-rw-r--r--plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.tutorials.c.zipbin41464 -> 38311 bytes
-rw-r--r--plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.tutorials.java.zipbin98555 -> 98409 bytes
-rw-r--r--plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/ProviderDispatcher.java21
-rw-r--r--plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/support/BindingSupport.java8
-rw-r--r--plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/support/InterfaceItemSupport.java2
-rw-r--r--releng/org.eclipse.etrice.releng/build.rmap18
-rw-r--r--tests/org.eclipse.etrice.core.config.tests/META-INF/MANIFEST.MF2
-rw-r--r--tests/org.eclipse.etrice.core.genmodel.tests/META-INF/MANIFEST.MF2
-rw-r--r--tests/org.eclipse.etrice.core.room.tests/META-INF/MANIFEST.MF2
-rw-r--r--tests/org.eclipse.etrice.generator.fsmtest.tests/.classpath1
-rw-r--r--tests/org.eclipse.etrice.generator.fsmtest.tests/build.properties3
-rw-r--r--tests/org.eclipse.etrice.generator.tests/META-INF/MANIFEST.MF2
-rw-r--r--tests/org.eclipse.etrice.ui.behavior.tests/META-INF/MANIFEST.MF2
-rw-r--r--tests/org.eclipse.etrice.ui.structure.tests/META-INF/MANIFEST.MF2
-rw-r--r--tests/org.eclipse.etrice.ui.tests.base/META-INF/MANIFEST.MF2
88 files changed, 819 insertions, 4428 deletions
diff --git a/features/org.eclipse.etrice.feature/feature.xml b/features/org.eclipse.etrice.feature/feature.xml
index 8ee8d337f..aa31bedac 100644
--- a/features/org.eclipse.etrice.feature/feature.xml
+++ b/features/org.eclipse.etrice.feature/feature.xml
@@ -104,7 +104,6 @@ http://www.eclipse.org/legal/epl-v10.html
<import plugin="org.apache.commons.logging"/>
<import plugin="org.eclipse.xtext.junit4"/>
<import plugin="org.eclipse.xtext.ui.junit"/>
- <import plugin="org.junit4"/>
<import plugin="org.junit"/>
<import plugin="org.hamcrest.core"/>
<import plugin="org.eclipse.xtext.common.types.ui" version="2.1.1" match="greaterOrEqual"/>
diff --git a/features/org.eclipse.etrice.tests.feature/feature.xml b/features/org.eclipse.etrice.tests.feature/feature.xml
index d8d699fd5..6bdc472fc 100644
--- a/features/org.eclipse.etrice.tests.feature/feature.xml
+++ b/features/org.eclipse.etrice.tests.feature/feature.xml
@@ -36,7 +36,7 @@ http://www.eclipse.org/legal/epl-v10.html
<import plugin="org.eclipse.jface.text" version="3.6.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.jdt.core" version="3.6.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.core.resources" version="3.6.0" match="greaterOrEqual"/>
- <import plugin="org.junit4" version="4.8.1" match="greaterOrEqual"/>
+ <import plugin="org.junit" version="4.8.1" match="greaterOrEqual"/>
<import plugin="org.eclipse.xtext.generator" version="2.0.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.etrice.ui.behavior" version="0.1.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.etrice.ui.common" version="0.1.0" match="greaterOrEqual"/>
diff --git a/plugins/org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/AbstractConfigProposalProvider.java b/plugins/org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/AbstractConfigProposalProvider.java
index c4b2fcdd0..f6fdac579 100644
--- a/plugins/org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/AbstractConfigProposalProvider.java
+++ b/plugins/org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/AbstractConfigProposalProvider.java
@@ -9,7 +9,7 @@ import org.eclipse.xtext.ui.editor.contentassist.ICompletionProposalAcceptor;
import org.eclipse.xtext.ui.editor.contentassist.ContentAssistContext;
/**
- * Represents a generated, default implementation of interface {@link IProposalProvider}.
+ * Represents a generated, default implementation of superclass {@link org.eclipse.xtext.common.ui.contentassist.TerminalsProposalProvider}.
* Methods are dynamically dispatched on the first parameter, i.e., you can override them
* with a more concrete subtype.
*/
diff --git a/plugins/org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/PartialConfigContentAssistParser.java b/plugins/org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/PartialConfigContentAssistParser.java
index 4d2604f3e..b207162fb 100644
--- a/plugins/org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/PartialConfigContentAssistParser.java
+++ b/plugins/org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/PartialConfigContentAssistParser.java
@@ -15,6 +15,7 @@ import org.eclipse.xtext.util.PolymorphicDispatcher;
/**
* @author Sebastian Zarnekow - Initial contribution and API
*/
+@SuppressWarnings("restriction")
public class PartialConfigContentAssistParser extends ConfigParser implements IPartialContentAssistParser {
private AbstractRule rule;
diff --git a/plugins/org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfigLexer.java b/plugins/org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfigLexer.java
index fd63c7280..b8660d902 100644
--- a/plugins/org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfigLexer.java
+++ b/plugins/org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfigLexer.java
@@ -10,7 +10,7 @@ import java.util.Stack;
import java.util.List;
import java.util.ArrayList;
-@SuppressWarnings("all")
+@SuppressWarnings("all")
public class InternalConfigLexer extends Lexer {
public static final int RULE_ID=5;
public static final int RULE_EXP=7;
diff --git a/plugins/org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfigParser.java b/plugins/org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfigParser.java
index a705493cd..cbaf7cf28 100644
--- a/plugins/org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfigParser.java
+++ b/plugins/org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfigParser.java
@@ -20,7 +20,7 @@ import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.util.HashMap;
-@SuppressWarnings("all")
+@SuppressWarnings("all")
public class InternalConfigParser extends AbstractInternalContentAssistParser {
public static final String[] tokenNames = new String[] {
"<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_HEX", "RULE_ID", "RULE_INT", "RULE_EXP", "RULE_STRING", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'write'", "'model'", "'false'", "'+'", "'-'", "'ConfigModel'", "'{'", "'}'", "'SubSystemConfig'", "'/'", "'dynamic configuration'", "'file path'", "'user import'", "'user constructor'", "'polling timer [ms]'", "'ActorClassConfig'", "'ActorInstanceConfig'", "'ProtocolClassConfig'", "'regular'", "'conjugate'", "'Port'", "'InterfaceItem'", "'Attr'", "'='", "'min'", "'max'", "'import'", "'from'", "'.*'", "'.'", "','", "'read'", "'true'"
diff --git a/plugins/org.eclipse.etrice.core.config/.launch/Generate Language Infrastructure (org.eclipse.etrice.core.config).launch b/plugins/org.eclipse.etrice.core.config/.launch/Generate Language Infrastructure (org.eclipse.etrice.core.config).launch
index dcafc05a4..caf00be2c 100644
--- a/plugins/org.eclipse.etrice.core.config/.launch/Generate Language Infrastructure (org.eclipse.etrice.core.config).launch
+++ b/plugins/org.eclipse.etrice.core.config/.launch/Generate Language Infrastructure (org.eclipse.etrice.core.config).launch
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<launchConfiguration type="org.eclipse.emf.mwe2.launch.Mwe2LaunchConfigurationType">
-<stringAttribute key="org.eclipse.debug.core.ATTR_REFRESH_SCOPE" value="${working_set:&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;launchConfigurationWorkingSet factoryID=&quot;org.eclipse.ui.internal.WorkingSetFactory&quot; id=&quot;1299248699643_13&quot; label=&quot;working set&quot; name=&quot;working set&quot;&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/org.eclipse.etrice.core.config&quot; type=&quot;4&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/org.eclipse.etrice.core.config.generator&quot; type=&quot;4&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/org.eclipse.etrice.core.config.tests&quot; type=&quot;4&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/org.eclipse.etrice.core.config.ui&quot; type=&quot;4&quot;/&gt;&#10;&lt;/launchConfigurationWorkingSet&gt;}"/>
+<stringAttribute key="org.eclipse.debug.core.ATTR_REFRESH_SCOPE" value="${working_set:&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#13;&#10;&lt;resources&gt;&#13;&#10;&lt;item path=&quot;/org.eclipse.etrice.core.config&quot; type=&quot;4&quot;/&gt;&#13;&#10;&lt;item path=&quot;/org.eclipse.etrice.core.config.generator&quot; type=&quot;4&quot;/&gt;&#13;&#10;&lt;item path=&quot;/org.eclipse.etrice.core.config.tests&quot; type=&quot;4&quot;/&gt;&#13;&#10;&lt;item path=&quot;/org.eclipse.etrice.core.config.ui&quot; type=&quot;4&quot;/&gt;&#13;&#10;&lt;/resources&gt;}"/>
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
<listEntry value="/org.eclipse.etrice.core.config"/>
</listAttribute>
diff --git a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/Config.genmodel b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/Config.genmodel
index f4bb6ca8e..90307b612 100644
--- a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/Config.genmodel
+++ b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/Config.genmodel
@@ -4,7 +4,7 @@
editorDirectory="/org.eclipse.etrice.core.config.editor/src" modelPluginID="org.eclipse.etrice.core.config"
forceOverwrite="true" modelName="Config" updateClasspath="false" rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container"
complianceLevel="5.0" copyrightFields="false" editPluginID="org.eclipse.etrice.core.config.edit"
- editorPluginID="org.eclipse.etrice.core.config.editor" runtimeVersion="2.8" usedGenPackages="../../../../../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.genmodel#//room">
+ editorPluginID="org.eclipse.etrice.core.config.editor" runtimeVersion="2.9" usedGenPackages="../../../../../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.genmodel#//room">
<genPackages prefix="Config" basePackage="org.eclipse.etrice.core" disposableProviderFactory="true"
ecorePackage="Config.ecore#/">
<genClasses ecoreClass="Config.ecore#//ConfigModel">
diff --git a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/Config.xmi b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/Config.xmi
deleted file mode 100644
index 53c631187..000000000
--- a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/Config.xmi
+++ /dev/null
@@ -1,786 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:xtext="http://www.eclipse.org/2008/Xtext">
- <xtext:Grammar name="org.eclipse.etrice.core.Config" usedGrammars="/1">
- <metamodelDeclarations xsi:type="xtext:GeneratedMetamodel" name="config">
- <ePackage href="http://www.eclipse.org/etrice/core/Config#/"/>
- </metamodelDeclarations>
- <metamodelDeclarations xsi:type="xtext:ReferencedMetamodel" alias="ecore">
- <ePackage href="http://www.eclipse.org/emf/2002/Ecore#/"/>
- </metamodelDeclarations>
- <metamodelDeclarations xsi:type="xtext:ReferencedMetamodel" alias="room">
- <ePackage href="http://www.eclipse.org/etrice/Room#/"/>
- </metamodelDeclarations>
- <rules xsi:type="xtext:ParserRule" name="ConfigModel">
- <type metamodel="/0/@metamodelDeclarations.0">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/core/Config#//ConfigModel"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Keyword" value="ConfigModel"/>
- <elements xsi:type="xtext:Assignment" feature="name" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.15"/>
- </elements>
- <elements xsi:type="xtext:Keyword" value="{"/>
- <elements xsi:type="xtext:Assignment" cardinality="*" feature="imports" operator="+=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
- </elements>
- <elements xsi:type="xtext:Assignment" cardinality="*" feature="configElements" operator="+=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.1"/>
- </elements>
- <elements xsi:type="xtext:Keyword" value="}"/>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="ConfigElement">
- <type metamodel="/0/@metamodelDeclarations.0">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/core/Config#//ConfigElement"/>
- </type>
- <alternatives xsi:type="xtext:Alternatives">
- <elements xsi:type="xtext:RuleCall" rule="/0/@rules.2"/>
- <elements xsi:type="xtext:RuleCall" rule="/0/@rules.4"/>
- <elements xsi:type="xtext:RuleCall" rule="/0/@rules.5"/>
- <elements xsi:type="xtext:RuleCall" rule="/0/@rules.6"/>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="SubSystemConfig">
- <type metamodel="/0/@metamodelDeclarations.0">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/core/Config#//SubSystemConfig"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Keyword" value="SubSystemConfig"/>
- <elements xsi:type="xtext:Assignment" feature="root" operator="=">
- <terminal xsi:type="xtext:CrossReference">
- <type metamodel="/0/@metamodelDeclarations.2">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//LogicalSystem"/>
- </type>
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.15"/>
- </terminal>
- </elements>
- <elements xsi:type="xtext:Keyword" value="/"/>
- <elements xsi:type="xtext:Assignment" feature="subSystem" operator="=">
- <terminal xsi:type="xtext:CrossReference">
- <type metamodel="/0/@metamodelDeclarations.2">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//SubSystemRef"/>
- </type>
- <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
- </terminal>
- </elements>
- <elements xsi:type="xtext:Keyword" value="{"/>
- <elements xsi:type="xtext:Assignment" feature="dynConfig" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.3"/>
- </elements>
- <elements xsi:type="xtext:Keyword" value="}"/>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="DynamicConfig">
- <type metamodel="/0/@metamodelDeclarations.0">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/core/Config#//DynamicConfig"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Keyword" value="dynamic configuration"/>
- <elements xsi:type="xtext:Keyword" value="{"/>
- <elements xsi:type="xtext:UnorderedGroup">
- <elements xsi:type="xtext:Alternatives">
- <elements xsi:type="xtext:Group">
- <elements xsi:type="xtext:Keyword" value="file path"/>
- <elements xsi:type="xtext:Assignment" feature="filePath" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.2"/>
- </elements>
- </elements>
- <elements xsi:type="xtext:Group">
- <elements xsi:type="xtext:Group">
- <elements xsi:type="xtext:Keyword" value="user import"/>
- <elements xsi:type="xtext:Assignment" feature="userCode1" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.2"/>
- </elements>
- </elements>
- <elements xsi:type="xtext:Group">
- <elements xsi:type="xtext:Keyword" value="user constructor"/>
- <elements xsi:type="xtext:Assignment" feature="userCode2" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.2"/>
- </elements>
- </elements>
- </elements>
- </elements>
- <elements xsi:type="xtext:Group" cardinality="?">
- <elements xsi:type="xtext:Keyword" value="polling timer [ms]"/>
- <elements xsi:type="xtext:Assignment" feature="polling" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.1"/>
- </elements>
- </elements>
- </elements>
- <elements xsi:type="xtext:Keyword" value="}"/>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="ActorClassConfig">
- <type metamodel="/0/@metamodelDeclarations.0">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/core/Config#//ActorClassConfig"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Keyword" value="ActorClassConfig"/>
- <elements xsi:type="xtext:Assignment" feature="actor" operator="=">
- <terminal xsi:type="xtext:CrossReference">
- <type metamodel="/0/@metamodelDeclarations.2">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//ActorClass"/>
- </type>
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.15"/>
- </terminal>
- </elements>
- <elements xsi:type="xtext:Keyword" value="{"/>
- <elements xsi:type="xtext:Assignment" cardinality="*" feature="attributes" operator="+=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.10"/>
- </elements>
- <elements xsi:type="xtext:Keyword" value="}"/>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="ActorInstanceConfig">
- <type metamodel="/0/@metamodelDeclarations.0">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/core/Config#//ActorInstanceConfig"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Keyword" value="ActorInstanceConfig"/>
- <elements xsi:type="xtext:Assignment" feature="root" operator="=">
- <terminal xsi:type="xtext:CrossReference">
- <type metamodel="/0/@metamodelDeclarations.2">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//LogicalSystem"/>
- </type>
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.15"/>
- </terminal>
- </elements>
- <elements xsi:type="xtext:Keyword" value="/"/>
- <elements xsi:type="xtext:Assignment" feature="subSystem" operator="=">
- <terminal xsi:type="xtext:CrossReference">
- <type metamodel="/0/@metamodelDeclarations.2">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//SubSystemRef"/>
- </type>
- <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
- </terminal>
- </elements>
- <elements xsi:type="xtext:Keyword" value="/"/>
- <elements xsi:type="xtext:Assignment" feature="path" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.12"/>
- </elements>
- <elements xsi:type="xtext:Keyword" value="{"/>
- <elements xsi:type="xtext:UnorderedGroup">
- <elements xsi:type="xtext:Assignment" cardinality="*" feature="attributes" operator="+=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.11"/>
- </elements>
- <elements xsi:type="xtext:Assignment" cardinality="*" feature="ports" operator="+=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.8"/>
- </elements>
- </elements>
- <elements xsi:type="xtext:Keyword" value="}"/>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="ProtocolClassConfig">
- <type metamodel="/0/@metamodelDeclarations.0">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/core/Config#//ProtocolClassConfig"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Keyword" value="ProtocolClassConfig"/>
- <elements xsi:type="xtext:Assignment" feature="protocol" operator="=">
- <terminal xsi:type="xtext:CrossReference">
- <type metamodel="/0/@metamodelDeclarations.2">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//ProtocolClass"/>
- </type>
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.15"/>
- </terminal>
- </elements>
- <elements xsi:type="xtext:Keyword" value="{"/>
- <elements xsi:type="xtext:UnorderedGroup">
- <elements xsi:type="xtext:Group" cardinality="?">
- <elements xsi:type="xtext:Keyword" value="regular"/>
- <elements xsi:type="xtext:Assignment" feature="regular" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.7"/>
- </elements>
- </elements>
- <elements xsi:type="xtext:Group" cardinality="?">
- <elements xsi:type="xtext:Keyword" value="conjugate"/>
- <elements xsi:type="xtext:Assignment" feature="conjugated" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.7"/>
- </elements>
- </elements>
- </elements>
- <elements xsi:type="xtext:Keyword" value="}"/>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="PortClassConfig">
- <type metamodel="/0/@metamodelDeclarations.0">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/core/Config#//PortClassConfig"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Action">
- <type metamodel="/0/@metamodelDeclarations.0">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/core/Config#//PortClassConfig"/>
- </type>
- </elements>
- <elements xsi:type="xtext:Keyword" value="Port"/>
- <elements xsi:type="xtext:Keyword" value="{"/>
- <elements xsi:type="xtext:Assignment" cardinality="*" feature="attributes" operator="+=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.10"/>
- </elements>
- <elements xsi:type="xtext:Keyword" value="}"/>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="PortInstanceConfig">
- <type metamodel="/0/@metamodelDeclarations.0">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/core/Config#//PortInstanceConfig"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Keyword" value="InterfaceItem"/>
- <elements xsi:type="xtext:Assignment" feature="item" operator="=">
- <terminal xsi:type="xtext:CrossReference">
- <type metamodel="/0/@metamodelDeclarations.2">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//InterfaceItem"/>
- </type>
- <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
- </terminal>
- </elements>
- <elements xsi:type="xtext:Keyword" value="{"/>
- <elements xsi:type="xtext:Assignment" cardinality="*" feature="attributes" operator="+=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.11"/>
- </elements>
- <elements xsi:type="xtext:Keyword" value="}"/>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="AttrConfig">
- <type metamodel="/0/@metamodelDeclarations.0">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/core/Config#//AttrConfig"/>
- </type>
- <alternatives xsi:type="xtext:Alternatives">
- <elements xsi:type="xtext:RuleCall" rule="/0/@rules.10"/>
- <elements xsi:type="xtext:RuleCall" rule="/0/@rules.11"/>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="AttrClassConfig">
- <type metamodel="/0/@metamodelDeclarations.0">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/core/Config#//AttrClassConfig"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Keyword" value="Attr"/>
- <elements xsi:type="xtext:Assignment" feature="attribute" operator="=">
- <terminal xsi:type="xtext:CrossReference">
- <type metamodel="/0/@metamodelDeclarations.2">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//Attribute"/>
- </type>
- <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
- </terminal>
- </elements>
- <elements xsi:type="xtext:Group" cardinality="?">
- <elements xsi:type="xtext:Keyword" value="="/>
- <elements xsi:type="xtext:Assignment" feature="value" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.16"/>
- </elements>
- </elements>
- <elements xsi:type="xtext:Group" cardinality="?">
- <elements xsi:type="xtext:Keyword" value="{"/>
- <elements xsi:type="xtext:Group">
- <elements xsi:type="xtext:Group" cardinality="?">
- <elements xsi:type="xtext:Keyword" value="min"/>
- <elements xsi:type="xtext:Keyword" value="="/>
- <elements xsi:type="xtext:Assignment" feature="min" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.19"/>
- </elements>
- </elements>
- <elements xsi:type="xtext:Group" cardinality="?">
- <elements xsi:type="xtext:Keyword" value="max"/>
- <elements xsi:type="xtext:Keyword" value="="/>
- <elements xsi:type="xtext:Assignment" feature="max" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.19"/>
- </elements>
- </elements>
- <elements xsi:type="xtext:Assignment" cardinality="*" feature="attributes" operator="+=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.10"/>
- </elements>
- </elements>
- <elements xsi:type="xtext:Keyword" value="}"/>
- </elements>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="AttrInstanceConfig">
- <type metamodel="/0/@metamodelDeclarations.0">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/core/Config#//AttrInstanceConfig"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Keyword" value="Attr"/>
- <elements xsi:type="xtext:Assignment" feature="attribute" operator="=">
- <terminal xsi:type="xtext:CrossReference">
- <type metamodel="/0/@metamodelDeclarations.2">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//Attribute"/>
- </type>
- <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
- </terminal>
- </elements>
- <elements xsi:type="xtext:Group" cardinality="?">
- <elements xsi:type="xtext:Keyword" value="="/>
- <elements xsi:type="xtext:Assignment" feature="value" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.16"/>
- </elements>
- </elements>
- <elements xsi:type="xtext:Group" cardinality="?">
- <elements xsi:type="xtext:Keyword" value="{"/>
- <elements xsi:type="xtext:Group">
- <elements xsi:type="xtext:Group" cardinality="?">
- <elements xsi:type="xtext:Assignment" feature="dynConfig" operator="?=">
- <terminal xsi:type="xtext:Keyword" value="dynamic configuration"/>
- </elements>
- <elements xsi:type="xtext:Alternatives">
- <elements xsi:type="xtext:Assignment" feature="readOnly" operator="?=">
- <terminal xsi:type="xtext:Keyword" value="read"/>
- </elements>
- <elements xsi:type="xtext:Keyword" value="write"/>
- </elements>
- </elements>
- <elements xsi:type="xtext:Assignment" cardinality="*" feature="attributes" operator="+=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.11"/>
- </elements>
- </elements>
- <elements xsi:type="xtext:Keyword" value="}"/>
- </elements>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="RefPath">
- <type metamodel="/0/@metamodelDeclarations.0">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/core/Config#//RefPath"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Assignment" feature="refs" operator="+=">
- <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
- </elements>
- <elements xsi:type="xtext:Group" cardinality="*">
- <elements xsi:type="xtext:Keyword" value="/"/>
- <elements xsi:type="xtext:Assignment" feature="refs" operator="+=">
- <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
- </elements>
- </elements>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="Import">
- <type metamodel="/0/@metamodelDeclarations.0">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/core/Config#//Import"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Keyword" value="import"/>
- <elements xsi:type="xtext:Alternatives">
- <elements xsi:type="xtext:Group">
- <elements xsi:type="xtext:Assignment" feature="importedNamespace" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.14"/>
- </elements>
- <elements xsi:type="xtext:Keyword" value="from"/>
- </elements>
- <elements xsi:type="xtext:Keyword" value="model"/>
- </elements>
- <elements xsi:type="xtext:Assignment" feature="importURI" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.2"/>
- </elements>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="ImportedFQN">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:RuleCall" rule="/0/@rules.15"/>
- <elements xsi:type="xtext:Keyword" cardinality="?" value=".*"/>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="FQN">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
- <elements xsi:type="xtext:Group" cardinality="*">
- <elements xsi:type="xtext:Keyword" value="."/>
- <elements xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
- </elements>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="LiteralArray">
- <type metamodel="/0/@metamodelDeclarations.0">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/core/Config#//LiteralArray"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Assignment" feature="literals" operator="+=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.17"/>
- </elements>
- <elements xsi:type="xtext:Group" cardinality="*">
- <elements xsi:type="xtext:Keyword" value=","/>
- <elements xsi:type="xtext:Assignment" feature="literals" operator="+=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.17"/>
- </elements>
- </elements>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="Literal">
- <type metamodel="/0/@metamodelDeclarations.0">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/core/Config#//Literal"/>
- </type>
- <alternatives xsi:type="xtext:Alternatives">
- <elements xsi:type="xtext:RuleCall" rule="/0/@rules.18"/>
- <elements xsi:type="xtext:RuleCall" rule="/0/@rules.19"/>
- <elements xsi:type="xtext:RuleCall" rule="/0/@rules.22"/>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="BooleanLiteral">
- <type metamodel="/0/@metamodelDeclarations.0">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/core/Config#//BooleanLiteral"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Action">
- <type metamodel="/0/@metamodelDeclarations.0">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/core/Config#//BooleanLiteral"/>
- </type>
- </elements>
- <elements xsi:type="xtext:Alternatives">
- <elements xsi:type="xtext:Keyword" value="false"/>
- <elements xsi:type="xtext:Assignment" feature="isTrue" operator="?=">
- <terminal xsi:type="xtext:Keyword" value="true"/>
- </elements>
- </elements>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="NumberLiteral">
- <type metamodel="/0/@metamodelDeclarations.0">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/core/Config#//NumberLiteral"/>
- </type>
- <alternatives xsi:type="xtext:Alternatives">
- <elements xsi:type="xtext:RuleCall" rule="/0/@rules.21"/>
- <elements xsi:type="xtext:RuleCall" rule="/0/@rules.20"/>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="RealLiteral">
- <type metamodel="/0/@metamodelDeclarations.0">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/core/Config#//RealLiteral"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Action">
- <type metamodel="/0/@metamodelDeclarations.0">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/core/Config#//RealLiteral"/>
- </type>
- </elements>
- <elements xsi:type="xtext:Assignment" feature="value" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.26"/>
- </elements>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="IntLiteral">
- <type metamodel="/0/@metamodelDeclarations.0">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/core/Config#//IntLiteral"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Action">
- <type metamodel="/0/@metamodelDeclarations.0">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/core/Config#//IntLiteral"/>
- </type>
- </elements>
- <elements xsi:type="xtext:Assignment" feature="value" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.23"/>
- </elements>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="StringLiteral">
- <type metamodel="/0/@metamodelDeclarations.0">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/core/Config#//StringLiteral"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Action">
- <type metamodel="/0/@metamodelDeclarations.0">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/core/Config#//StringLiteral"/>
- </type>
- </elements>
- <elements xsi:type="xtext:Assignment" feature="value" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.2"/>
- </elements>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="Integer">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//ELong"/>
- </type>
- <alternatives xsi:type="xtext:Alternatives">
- <elements xsi:type="xtext:RuleCall" rule="/0/@rules.24"/>
- <elements xsi:type="xtext:RuleCall" rule="/0/@rules.25"/>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="SignedInteger" definesHiddenTokens="true">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Alternatives" cardinality="?">
- <elements xsi:type="xtext:Keyword" value="+"/>
- <elements xsi:type="xtext:Keyword" value="-"/>
- </elements>
- <elements xsi:type="xtext:RuleCall" rule="/1/@rules.1"/>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="Hexadecimal" definesHiddenTokens="true">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- </type>
- <alternatives xsi:type="xtext:RuleCall" rule="/0/@rules.32"/>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="Real">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
- </type>
- <alternatives xsi:type="xtext:Alternatives">
- <elements xsi:type="xtext:RuleCall" rule="/0/@rules.27"/>
- <elements xsi:type="xtext:RuleCall" rule="/0/@rules.28"/>
- <elements xsi:type="xtext:RuleCall" rule="/0/@rules.29"/>
- <elements xsi:type="xtext:RuleCall" rule="/0/@rules.30"/>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="Decimal" definesHiddenTokens="true">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Alternatives" cardinality="?">
- <elements xsi:type="xtext:Keyword" value="+"/>
- <elements xsi:type="xtext:Keyword" value="-"/>
- </elements>
- <elements xsi:type="xtext:RuleCall" rule="/1/@rules.1"/>
- <elements xsi:type="xtext:Keyword" value="."/>
- <elements xsi:type="xtext:RuleCall" rule="/1/@rules.1"/>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="DotDecimal" definesHiddenTokens="true">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Alternatives" cardinality="?">
- <elements xsi:type="xtext:Keyword" value="+"/>
- <elements xsi:type="xtext:Keyword" value="-"/>
- </elements>
- <elements xsi:type="xtext:Keyword" value="."/>
- <elements xsi:type="xtext:RuleCall" rule="/1/@rules.1"/>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="DecimalDot" definesHiddenTokens="true">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Alternatives" cardinality="?">
- <elements xsi:type="xtext:Keyword" value="+"/>
- <elements xsi:type="xtext:Keyword" value="-"/>
- </elements>
- <elements xsi:type="xtext:RuleCall" rule="/1/@rules.1"/>
- <elements xsi:type="xtext:Keyword" value="."/>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="DecimalExp" definesHiddenTokens="true">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Alternatives" cardinality="?">
- <elements xsi:type="xtext:Keyword" value="+"/>
- <elements xsi:type="xtext:Keyword" value="-"/>
- </elements>
- <elements xsi:type="xtext:RuleCall" rule="/1/@rules.1"/>
- <elements xsi:type="xtext:Keyword" value="."/>
- <elements xsi:type="xtext:RuleCall" rule="/1/@rules.1"/>
- <elements xsi:type="xtext:RuleCall" rule="/0/@rules.31"/>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:TerminalRule" name="EXP">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Alternatives">
- <elements xsi:type="xtext:Keyword" value="e"/>
- <elements xsi:type="xtext:Keyword" value="E"/>
- </elements>
- <elements xsi:type="xtext:Alternatives" cardinality="?">
- <elements xsi:type="xtext:Keyword" value="+"/>
- <elements xsi:type="xtext:Keyword" value="-"/>
- </elements>
- <elements xsi:type="xtext:CharacterRange" cardinality="+">
- <left value="0"/>
- <right value="9"/>
- </elements>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:TerminalRule" name="HEX">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Alternatives">
- <elements xsi:type="xtext:Keyword" value="0x"/>
- <elements xsi:type="xtext:Keyword" value="0X"/>
- </elements>
- <elements xsi:type="xtext:Alternatives" cardinality="+">
- <elements xsi:type="xtext:CharacterRange">
- <left value="0"/>
- <right value="9"/>
- </elements>
- <elements xsi:type="xtext:CharacterRange">
- <left value="a"/>
- <right value="f"/>
- </elements>
- <elements xsi:type="xtext:CharacterRange">
- <left value="A"/>
- <right value="F"/>
- </elements>
- </elements>
- </alternatives>
- </rules>
- </xtext:Grammar>
- <xtext:Grammar name="org.eclipse.xtext.common.Terminals" definesHiddenTokens="true" hiddenTokens="/1/@rules.5 /1/@rules.3 /1/@rules.4">
- <metamodelDeclarations xsi:type="xtext:ReferencedMetamodel" alias="ecore">
- <ePackage href="http://www.eclipse.org/emf/2002/Ecore#/"/>
- </metamodelDeclarations>
- <rules xsi:type="xtext:TerminalRule" name="ID">
- <type metamodel="/1/@metamodelDeclarations.0">
- <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Keyword" cardinality="?" value="^"/>
- <elements xsi:type="xtext:Alternatives">
- <elements xsi:type="xtext:CharacterRange">
- <left value="a"/>
- <right value="z"/>
- </elements>
- <elements xsi:type="xtext:CharacterRange">
- <left value="A"/>
- <right value="Z"/>
- </elements>
- <elements xsi:type="xtext:Keyword" value="_"/>
- </elements>
- <elements xsi:type="xtext:Alternatives" cardinality="*">
- <elements xsi:type="xtext:CharacterRange">
- <left value="a"/>
- <right value="z"/>
- </elements>
- <elements xsi:type="xtext:CharacterRange">
- <left value="A"/>
- <right value="Z"/>
- </elements>
- <elements xsi:type="xtext:Keyword" value="_"/>
- <elements xsi:type="xtext:CharacterRange">
- <left value="0"/>
- <right value="9"/>
- </elements>
- </elements>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:TerminalRule" name="INT">
- <type metamodel="/1/@metamodelDeclarations.0">
- <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
- </type>
- <alternatives xsi:type="xtext:CharacterRange" cardinality="+">
- <left value="0"/>
- <right value="9"/>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:TerminalRule" name="STRING">
- <type metamodel="/1/@metamodelDeclarations.0">
- <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- </type>
- <alternatives xsi:type="xtext:Alternatives">
- <elements xsi:type="xtext:Group">
- <elements xsi:type="xtext:Keyword" value="&quot;"/>
- <elements xsi:type="xtext:Alternatives" cardinality="*">
- <elements xsi:type="xtext:Group">
- <elements xsi:type="xtext:Keyword" value="\"/>
- <elements xsi:type="xtext:Alternatives">
- <elements xsi:type="xtext:Keyword" value="b"/>
- <elements xsi:type="xtext:Keyword" value="t"/>
- <elements xsi:type="xtext:Keyword" value="n"/>
- <elements xsi:type="xtext:Keyword" value="f"/>
- <elements xsi:type="xtext:Keyword" value="r"/>
- <elements xsi:type="xtext:Keyword" value="u"/>
- <elements xsi:type="xtext:Keyword" value="&quot;"/>
- <elements xsi:type="xtext:Keyword" value="'"/>
- <elements xsi:type="xtext:Keyword" value="\"/>
- </elements>
- </elements>
- <elements xsi:type="xtext:NegatedToken">
- <terminal xsi:type="xtext:Alternatives">
- <elements xsi:type="xtext:Keyword" value="\"/>
- <elements xsi:type="xtext:Keyword" value="&quot;"/>
- </terminal>
- </elements>
- </elements>
- <elements xsi:type="xtext:Keyword" value="&quot;"/>
- </elements>
- <elements xsi:type="xtext:Group">
- <elements xsi:type="xtext:Keyword" value="'"/>
- <elements xsi:type="xtext:Alternatives" cardinality="*">
- <elements xsi:type="xtext:Group">
- <elements xsi:type="xtext:Keyword" value="\"/>
- <elements xsi:type="xtext:Alternatives">
- <elements xsi:type="xtext:Keyword" value="b"/>
- <elements xsi:type="xtext:Keyword" value="t"/>
- <elements xsi:type="xtext:Keyword" value="n"/>
- <elements xsi:type="xtext:Keyword" value="f"/>
- <elements xsi:type="xtext:Keyword" value="r"/>
- <elements xsi:type="xtext:Keyword" value="u"/>
- <elements xsi:type="xtext:Keyword" value="&quot;"/>
- <elements xsi:type="xtext:Keyword" value="'"/>
- <elements xsi:type="xtext:Keyword" value="\"/>
- </elements>
- </elements>
- <elements xsi:type="xtext:NegatedToken">
- <terminal xsi:type="xtext:Alternatives">
- <elements xsi:type="xtext:Keyword" value="\"/>
- <elements xsi:type="xtext:Keyword" value="'"/>
- </terminal>
- </elements>
- </elements>
- <elements xsi:type="xtext:Keyword" value="'"/>
- </elements>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:TerminalRule" name="ML_COMMENT">
- <type metamodel="/1/@metamodelDeclarations.0">
- <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Keyword" value="/*"/>
- <elements xsi:type="xtext:UntilToken">
- <terminal xsi:type="xtext:Keyword" value="*/"/>
- </elements>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:TerminalRule" name="SL_COMMENT">
- <type metamodel="/1/@metamodelDeclarations.0">
- <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Keyword" value="//"/>
- <elements xsi:type="xtext:NegatedToken" cardinality="*">
- <terminal xsi:type="xtext:Alternatives">
- <elements xsi:type="xtext:Keyword" value="&#xA;"/>
- <elements xsi:type="xtext:Keyword" value="&#xD;"/>
- </terminal>
- </elements>
- <elements xsi:type="xtext:Group" cardinality="?">
- <elements xsi:type="xtext:Keyword" cardinality="?" value="&#xD;"/>
- <elements xsi:type="xtext:Keyword" value="&#xA;"/>
- </elements>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:TerminalRule" name="WS">
- <type metamodel="/1/@metamodelDeclarations.0">
- <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- </type>
- <alternatives xsi:type="xtext:Alternatives" cardinality="+">
- <elements xsi:type="xtext:Keyword" value=" "/>
- <elements xsi:type="xtext:Keyword" value="&#x9;"/>
- <elements xsi:type="xtext:Keyword" value="&#xD;"/>
- <elements xsi:type="xtext:Keyword" value="&#xA;"/>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:TerminalRule" name="ANY_OTHER">
- <type metamodel="/1/@metamodelDeclarations.0">
- <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- </type>
- <alternatives xsi:type="xtext:Wildcard"/>
- </rules>
- </xtext:Grammar>
-</xmi:XMI>
diff --git a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/impl/ConfigFactoryImpl.java b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/impl/ConfigFactoryImpl.java
index d737efbb0..c14b32d73 100644
--- a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/impl/ConfigFactoryImpl.java
+++ b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/impl/ConfigFactoryImpl.java
@@ -30,7 +30,7 @@ public class ConfigFactoryImpl extends EFactoryImpl implements ConfigFactory
{
try
{
- ConfigFactory theConfigFactory = (ConfigFactory)EPackage.Registry.INSTANCE.getEFactory("http://www.eclipse.org/etrice/core/Config");
+ ConfigFactory theConfigFactory = (ConfigFactory)EPackage.Registry.INSTANCE.getEFactory(ConfigPackage.eNS_URI);
if (theConfigFactory != null)
{
return theConfigFactory;
diff --git a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfigLexer.java b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfigLexer.java
index 16ac087c5..bb99e0ed5 100644
--- a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfigLexer.java
+++ b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfigLexer.java
@@ -10,7 +10,7 @@ import java.util.Stack;
import java.util.List;
import java.util.ArrayList;
-@SuppressWarnings("all")
+@SuppressWarnings("all")
public class InternalConfigLexer extends Lexer {
public static final int RULE_ID=4;
public static final int RULE_EXP=8;
diff --git a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfigParser.java b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfigParser.java
index 1f9fd3b07..3ebd511e4 100644
--- a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfigParser.java
+++ b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfigParser.java
@@ -18,7 +18,7 @@ import java.util.Stack;
import java.util.List;
import java.util.ArrayList;
-@SuppressWarnings("all")
+@SuppressWarnings("all")
public class InternalConfigParser extends AbstractInternalAntlrParser {
public static final String[] tokenNames = new String[] {
"<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_ID", "RULE_STRING", "RULE_INT", "RULE_HEX", "RULE_EXP", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'ConfigModel'", "'{'", "'}'", "'SubSystemConfig'", "'/'", "'dynamic configuration'", "'file path'", "'user import'", "'user constructor'", "'polling timer [ms]'", "'ActorClassConfig'", "'ActorInstanceConfig'", "'ProtocolClassConfig'", "'regular'", "'conjugate'", "'Port'", "'InterfaceItem'", "'Attr'", "'='", "'min'", "'max'", "'read'", "'write'", "'import'", "'from'", "'model'", "'.*'", "'.'", "','", "'false'", "'true'", "'+'", "'-'"
diff --git a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/serializer/ConfigSemanticSequencer.java b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/serializer/ConfigSemanticSequencer.java
index 49039f43b..77107ec79 100644
--- a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/serializer/ConfigSemanticSequencer.java
+++ b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/serializer/ConfigSemanticSequencer.java
@@ -1,38 +1,38 @@
-package org.eclipse.etrice.core.serializer;
-
-import com.google.inject.Inject;
-import com.google.inject.Provider;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.etrice.core.config.ActorClassConfig;
-import org.eclipse.etrice.core.config.ActorInstanceConfig;
-import org.eclipse.etrice.core.config.AttrClassConfig;
-import org.eclipse.etrice.core.config.AttrInstanceConfig;
-import org.eclipse.etrice.core.config.BooleanLiteral;
-import org.eclipse.etrice.core.config.ConfigModel;
-import org.eclipse.etrice.core.config.ConfigPackage;
-import org.eclipse.etrice.core.config.DynamicConfig;
-import org.eclipse.etrice.core.config.Import;
-import org.eclipse.etrice.core.config.IntLiteral;
-import org.eclipse.etrice.core.config.LiteralArray;
-import org.eclipse.etrice.core.config.PortClassConfig;
-import org.eclipse.etrice.core.config.PortInstanceConfig;
-import org.eclipse.etrice.core.config.ProtocolClassConfig;
-import org.eclipse.etrice.core.config.RealLiteral;
-import org.eclipse.etrice.core.config.RefPath;
-import org.eclipse.etrice.core.config.StringLiteral;
-import org.eclipse.etrice.core.config.SubSystemConfig;
-import org.eclipse.etrice.core.services.ConfigGrammarAccess;
-import org.eclipse.xtext.serializer.acceptor.ISemanticSequenceAcceptor;
-import org.eclipse.xtext.serializer.acceptor.SequenceFeeder;
-import org.eclipse.xtext.serializer.diagnostic.ISemanticSequencerDiagnosticProvider;
-import org.eclipse.xtext.serializer.diagnostic.ISerializationDiagnostic.Acceptor;
-import org.eclipse.xtext.serializer.sequencer.AbstractDelegatingSemanticSequencer;
-import org.eclipse.xtext.serializer.sequencer.GenericSequencer;
-import org.eclipse.xtext.serializer.sequencer.ISemanticNodeProvider.INodesForEObjectProvider;
-import org.eclipse.xtext.serializer.sequencer.ISemanticSequencer;
-import org.eclipse.xtext.serializer.sequencer.ITransientValueService;
-import org.eclipse.xtext.serializer.sequencer.ITransientValueService.ValueTransient;
-
+package org.eclipse.etrice.core.serializer;
+
+import com.google.inject.Inject;
+import com.google.inject.Provider;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.etrice.core.config.ActorClassConfig;
+import org.eclipse.etrice.core.config.ActorInstanceConfig;
+import org.eclipse.etrice.core.config.AttrClassConfig;
+import org.eclipse.etrice.core.config.AttrInstanceConfig;
+import org.eclipse.etrice.core.config.BooleanLiteral;
+import org.eclipse.etrice.core.config.ConfigModel;
+import org.eclipse.etrice.core.config.ConfigPackage;
+import org.eclipse.etrice.core.config.DynamicConfig;
+import org.eclipse.etrice.core.config.Import;
+import org.eclipse.etrice.core.config.IntLiteral;
+import org.eclipse.etrice.core.config.LiteralArray;
+import org.eclipse.etrice.core.config.PortClassConfig;
+import org.eclipse.etrice.core.config.PortInstanceConfig;
+import org.eclipse.etrice.core.config.ProtocolClassConfig;
+import org.eclipse.etrice.core.config.RealLiteral;
+import org.eclipse.etrice.core.config.RefPath;
+import org.eclipse.etrice.core.config.StringLiteral;
+import org.eclipse.etrice.core.config.SubSystemConfig;
+import org.eclipse.etrice.core.services.ConfigGrammarAccess;
+import org.eclipse.xtext.serializer.acceptor.ISemanticSequenceAcceptor;
+import org.eclipse.xtext.serializer.acceptor.SequenceFeeder;
+import org.eclipse.xtext.serializer.diagnostic.ISemanticSequencerDiagnosticProvider;
+import org.eclipse.xtext.serializer.diagnostic.ISerializationDiagnostic.Acceptor;
+import org.eclipse.xtext.serializer.sequencer.AbstractDelegatingSemanticSequencer;
+import org.eclipse.xtext.serializer.sequencer.GenericSequencer;
+import org.eclipse.xtext.serializer.sequencer.ISemanticNodeProvider.INodesForEObjectProvider;
+import org.eclipse.xtext.serializer.sequencer.ISemanticSequencer;
+import org.eclipse.xtext.serializer.sequencer.ITransientValueService;
+import org.eclipse.xtext.serializer.sequencer.ITransientValueService.ValueTransient;
+
@SuppressWarnings("all")
public class ConfigSemanticSequencer extends AbstractDelegatingSemanticSequencer {
diff --git a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/serializer/ConfigSyntacticSequencer.java b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/serializer/ConfigSyntacticSequencer.java
index b115af100..760fda4f3 100644
--- a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/serializer/ConfigSyntacticSequencer.java
+++ b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/serializer/ConfigSyntacticSequencer.java
@@ -1,19 +1,19 @@
-package org.eclipse.etrice.core.serializer;
-
-import com.google.inject.Inject;
-import java.util.List;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.etrice.core.services.ConfigGrammarAccess;
-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.GrammarAlias.GroupAlias;
-import org.eclipse.xtext.serializer.analysis.GrammarAlias.TokenAlias;
-import org.eclipse.xtext.serializer.analysis.ISyntacticSequencerPDAProvider.ISynNavigable;
-import org.eclipse.xtext.serializer.analysis.ISyntacticSequencerPDAProvider.ISynTransition;
-import org.eclipse.xtext.serializer.sequencer.AbstractSyntacticSequencer;
-
+package org.eclipse.etrice.core.serializer;
+
+import com.google.inject.Inject;
+import java.util.List;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.etrice.core.services.ConfigGrammarAccess;
+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.GrammarAlias.GroupAlias;
+import org.eclipse.xtext.serializer.analysis.GrammarAlias.TokenAlias;
+import org.eclipse.xtext.serializer.analysis.ISyntacticSequencerPDAProvider.ISynNavigable;
+import org.eclipse.xtext.serializer.analysis.ISyntacticSequencerPDAProvider.ISynTransition;
+import org.eclipse.xtext.serializer.sequencer.AbstractSyntacticSequencer;
+
@SuppressWarnings("all")
public class ConfigSyntacticSequencer extends AbstractSyntacticSequencer {
diff --git a/plugins/org.eclipse.etrice.core.config/src/org/eclipse/etrice/core/Config.xtext b/plugins/org.eclipse.etrice.core.config/src/org/eclipse/etrice/core/Config.xtext
index fbf69c2d4..0bda121fb 100644
--- a/plugins/org.eclipse.etrice.core.config/src/org/eclipse/etrice/core/Config.xtext
+++ b/plugins/org.eclipse.etrice.core.config/src/org/eclipse/etrice/core/Config.xtext
@@ -13,7 +13,7 @@ grammar org.eclipse.etrice.core.Config with org.eclipse.xtext.common.Terminals
generate config "http://www.eclipse.org/etrice/core/Config"
import "http://www.eclipse.org/emf/2002/Ecore" as ecore
-import "platform:/resource/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore" as room
+import "http://www.eclipse.org/etrice/Room" as room
ConfigModel:
'ConfigModel' name=FQN '{'
diff --git a/plugins/org.eclipse.etrice.core.config/src/org/eclipse/etrice/core/GenerateConfig.mwe2 b/plugins/org.eclipse.etrice.core.config/src/org/eclipse/etrice/core/GenerateConfig.mwe2
index 330f1320c..7cffbe35d 100644
--- a/plugins/org.eclipse.etrice.core.config/src/org/eclipse/etrice/core/GenerateConfig.mwe2
+++ b/plugins/org.eclipse.etrice.core.config/src/org/eclipse/etrice/core/GenerateConfig.mwe2
@@ -26,6 +26,7 @@ Workflow {
scanClassPath = true
platformUri = "${runtimeProject}/.."
registerGenModelFile = "platform:/resource/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.genmodel"
+ registerGeneratedEPackage = "org.eclipse.etrice.core.room.RoomPackage"
}
component = DirectoryCleaner {
diff --git a/plugins/org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/AbstractETMapProposalProvider.java b/plugins/org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/AbstractETMapProposalProvider.java
index 10fb2bc5b..9769736b2 100644
--- a/plugins/org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/AbstractETMapProposalProvider.java
+++ b/plugins/org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/AbstractETMapProposalProvider.java
@@ -9,7 +9,7 @@ import org.eclipse.xtext.ui.editor.contentassist.ICompletionProposalAcceptor;
import org.eclipse.xtext.ui.editor.contentassist.ContentAssistContext;
/**
- * Represents a generated, default implementation of interface {@link IProposalProvider}.
+ * Represents a generated, default implementation of superclass {@link org.eclipse.xtext.common.ui.contentassist.TerminalsProposalProvider}.
* Methods are dynamically dispatched on the first parameter, i.e., you can override them
* with a more concrete subtype.
*/
diff --git a/plugins/org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/PartialETMapContentAssistParser.java b/plugins/org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/PartialETMapContentAssistParser.java
index c401ba08b..3c965f155 100644
--- a/plugins/org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/PartialETMapContentAssistParser.java
+++ b/plugins/org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/PartialETMapContentAssistParser.java
@@ -15,6 +15,7 @@ import org.eclipse.xtext.util.PolymorphicDispatcher;
/**
* @author Sebastian Zarnekow - Initial contribution and API
*/
+@SuppressWarnings("restriction")
public class PartialETMapContentAssistParser extends ETMapParser implements IPartialContentAssistParser {
private AbstractRule rule;
diff --git a/plugins/org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMapLexer.java b/plugins/org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMapLexer.java
index ec6d50371..b387734cb 100644
--- a/plugins/org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMapLexer.java
+++ b/plugins/org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMapLexer.java
@@ -10,7 +10,7 @@ import java.util.Stack;
import java.util.List;
import java.util.ArrayList;
-@SuppressWarnings("all")
+@SuppressWarnings("all")
public class InternalETMapLexer extends Lexer {
public static final int RULE_ID=4;
public static final int T__22=22;
@@ -1185,4 +1185,4 @@ public class InternalETMapLexer extends Lexer {
}
-}
+} \ No newline at end of file
diff --git a/plugins/org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMapParser.java b/plugins/org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMapParser.java
index 3e444783b..abb8bb561 100644
--- a/plugins/org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMapParser.java
+++ b/plugins/org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMapParser.java
@@ -19,7 +19,7 @@ import java.util.Stack;
import java.util.List;
import java.util.ArrayList;
-@SuppressWarnings("all")
+@SuppressWarnings("all")
public class InternalETMapParser extends AbstractInternalContentAssistParser {
public static final String[] tokenNames = new String[] {
"<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_ID", "RULE_STRING", "RULE_INT", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'model'", "'MappingModel'", "'{'", "'}'", "'Mapping'", "'->'", "'SubSystemMapping'", "'ThreadMapping'", "'import'", "'from'", "'.*'", "'.'"
diff --git a/plugins/org.eclipse.etrice.core.etmap/.gitignore b/plugins/org.eclipse.etrice.core.etmap/.gitignore
index 079929515..e947eae63 100644
--- a/plugins/org.eclipse.etrice.core.etmap/.gitignore
+++ b/plugins/org.eclipse.etrice.core.etmap/.gitignore
@@ -1,3 +1,4 @@
bin
*._trace
*.smap
+/.antlr-generator-3.2.0.jar
diff --git a/plugins/org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/ETMap.genmodel b/plugins/org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/ETMap.genmodel
index 719d78a52..87db6d6d3 100644
--- a/plugins/org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/ETMap.genmodel
+++ b/plugins/org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/ETMap.genmodel
@@ -4,7 +4,7 @@
editorDirectory="/org.eclipse.etrice.core.etmap.editor/src" modelPluginID="org.eclipse.etrice.core.etmap"
forceOverwrite="true" modelName="ETMap" updateClasspath="false" rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container"
complianceLevel="5.0" copyrightFields="false" editPluginID="org.eclipse.etrice.core.etmap.edit"
- editorPluginID="org.eclipse.etrice.core.etmap.editor" runtimeVersion="2.8" usedGenPackages="../../../../../../../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/ETPhys.genmodel#//eTPhys ../../../../../../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.genmodel#//room">
+ editorPluginID="org.eclipse.etrice.core.etmap.editor" runtimeVersion="2.9" usedGenPackages="../../../../../../../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/ETPhys.genmodel#//eTPhys ../../../../../../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.genmodel#//room">
<genPackages prefix="ETMap" basePackage="org.eclipse.etrice.core.etmap" disposableProviderFactory="true"
ecorePackage="ETMap.ecore#/">
<genClasses ecoreClass="ETMap.ecore#//MappingModel">
diff --git a/plugins/org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/ETMap.xmi b/plugins/org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/ETMap.xmi
deleted file mode 100644
index 6292a1945..000000000
--- a/plugins/org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/ETMap.xmi
+++ /dev/null
@@ -1,317 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:xtext="http://www.eclipse.org/2008/Xtext">
- <xtext:Grammar name="org.eclipse.etrice.core.etmap.ETMap" usedGrammars="/1">
- <metamodelDeclarations xsi:type="xtext:GeneratedMetamodel" name="eTMap">
- <ePackage href="http://www.eclipse.org/etrice/core/etmap/ETMap#/"/>
- </metamodelDeclarations>
- <metamodelDeclarations xsi:type="xtext:ReferencedMetamodel" alias="ecore">
- <ePackage href="http://www.eclipse.org/emf/2002/Ecore#/"/>
- </metamodelDeclarations>
- <metamodelDeclarations xsi:type="xtext:ReferencedMetamodel" alias="room">
- <ePackage href="http://www.eclipse.org/etrice/Room#/"/>
- </metamodelDeclarations>
- <metamodelDeclarations xsi:type="xtext:ReferencedMetamodel" alias="phys">
- <ePackage href="http://www.eclipse.org/etrice/core/etphys/ETPhys#/"/>
- </metamodelDeclarations>
- <rules xsi:type="xtext:ParserRule" name="MappingModel">
- <type metamodel="/0/@metamodelDeclarations.0">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/core/etmap/ETMap#//MappingModel"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Keyword" value="MappingModel"/>
- <elements xsi:type="xtext:Assignment" feature="name" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.6"/>
- </elements>
- <elements xsi:type="xtext:Keyword" value="{"/>
- <elements xsi:type="xtext:Assignment" cardinality="*" feature="imports" operator="+=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/>
- </elements>
- <elements xsi:type="xtext:Assignment" cardinality="*" feature="mappings" operator="+=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.1"/>
- </elements>
- <elements xsi:type="xtext:Keyword" value="}"/>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="Mapping">
- <type metamodel="/0/@metamodelDeclarations.0">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/core/etmap/ETMap#//Mapping"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Keyword" value="Mapping"/>
- <elements xsi:type="xtext:Assignment" feature="logicalSys" operator="=">
- <terminal xsi:type="xtext:CrossReference">
- <type metamodel="/0/@metamodelDeclarations.2">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//LogicalSystem"/>
- </type>
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.6"/>
- </terminal>
- </elements>
- <elements xsi:type="xtext:Keyword" value="->"/>
- <elements xsi:type="xtext:Assignment" feature="physicalSys" operator="=">
- <terminal xsi:type="xtext:CrossReference">
- <type metamodel="/0/@metamodelDeclarations.3">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/core/etphys/ETPhys#//PhysicalSystem"/>
- </type>
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.6"/>
- </terminal>
- </elements>
- <elements xsi:type="xtext:Keyword" value="{"/>
- <elements xsi:type="xtext:Assignment" cardinality="*" feature="subsysMappings" operator="+=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.2"/>
- </elements>
- <elements xsi:type="xtext:Keyword" value="}"/>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="SubSystemMapping">
- <type metamodel="/0/@metamodelDeclarations.0">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/core/etmap/ETMap#//SubSystemMapping"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Keyword" value="SubSystemMapping"/>
- <elements xsi:type="xtext:Assignment" feature="logicalSubSys" operator="=">
- <terminal xsi:type="xtext:CrossReference">
- <type metamodel="/0/@metamodelDeclarations.2">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//SubSystemRef"/>
- </type>
- <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
- </terminal>
- </elements>
- <elements xsi:type="xtext:Keyword" value="->"/>
- <elements xsi:type="xtext:Assignment" feature="node" operator="=">
- <terminal xsi:type="xtext:CrossReference">
- <type metamodel="/0/@metamodelDeclarations.3">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/core/etphys/ETPhys#//NodeRef"/>
- </type>
- <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
- </terminal>
- </elements>
- <elements xsi:type="xtext:Group" cardinality="?">
- <elements xsi:type="xtext:Keyword" value="{"/>
- <elements xsi:type="xtext:Assignment" cardinality="*" feature="threadMappings" operator="+=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.3"/>
- </elements>
- <elements xsi:type="xtext:Keyword" value="}"/>
- </elements>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="ThreadMapping">
- <type metamodel="/0/@metamodelDeclarations.0">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/core/etmap/ETMap#//ThreadMapping"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Keyword" value="ThreadMapping"/>
- <elements xsi:type="xtext:Assignment" feature="logicalThread" operator="=">
- <terminal xsi:type="xtext:CrossReference">
- <type metamodel="/0/@metamodelDeclarations.2">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//LogicalThread"/>
- </type>
- <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
- </terminal>
- </elements>
- <elements xsi:type="xtext:Keyword" value="->"/>
- <elements xsi:type="xtext:Assignment" feature="physicalThread" operator="=">
- <terminal xsi:type="xtext:CrossReference">
- <type metamodel="/0/@metamodelDeclarations.3">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/core/etphys/ETPhys#//PhysicalThread"/>
- </type>
- <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
- </terminal>
- </elements>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="Import">
- <type metamodel="/0/@metamodelDeclarations.0">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/core/etmap/ETMap#//Import"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Keyword" value="import"/>
- <elements xsi:type="xtext:Alternatives">
- <elements xsi:type="xtext:Group">
- <elements xsi:type="xtext:Assignment" feature="importedNamespace" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.5"/>
- </elements>
- <elements xsi:type="xtext:Keyword" value="from"/>
- </elements>
- <elements xsi:type="xtext:Keyword" value="model"/>
- </elements>
- <elements xsi:type="xtext:Assignment" feature="importURI" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.2"/>
- </elements>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="ImportedFQN">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:RuleCall" rule="/0/@rules.6"/>
- <elements xsi:type="xtext:Keyword" cardinality="?" value=".*"/>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="FQN">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
- <elements xsi:type="xtext:Group" cardinality="*">
- <elements xsi:type="xtext:Keyword" value="."/>
- <elements xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
- </elements>
- </alternatives>
- </rules>
- </xtext:Grammar>
- <xtext:Grammar name="org.eclipse.xtext.common.Terminals" definesHiddenTokens="true" hiddenTokens="/1/@rules.5 /1/@rules.3 /1/@rules.4">
- <metamodelDeclarations xsi:type="xtext:ReferencedMetamodel" alias="ecore">
- <ePackage href="http://www.eclipse.org/emf/2002/Ecore#/"/>
- </metamodelDeclarations>
- <rules xsi:type="xtext:TerminalRule" name="ID">
- <type metamodel="/1/@metamodelDeclarations.0">
- <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Keyword" cardinality="?" value="^"/>
- <elements xsi:type="xtext:Alternatives">
- <elements xsi:type="xtext:CharacterRange">
- <left value="a"/>
- <right value="z"/>
- </elements>
- <elements xsi:type="xtext:CharacterRange">
- <left value="A"/>
- <right value="Z"/>
- </elements>
- <elements xsi:type="xtext:Keyword" value="_"/>
- </elements>
- <elements xsi:type="xtext:Alternatives" cardinality="*">
- <elements xsi:type="xtext:CharacterRange">
- <left value="a"/>
- <right value="z"/>
- </elements>
- <elements xsi:type="xtext:CharacterRange">
- <left value="A"/>
- <right value="Z"/>
- </elements>
- <elements xsi:type="xtext:Keyword" value="_"/>
- <elements xsi:type="xtext:CharacterRange">
- <left value="0"/>
- <right value="9"/>
- </elements>
- </elements>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:TerminalRule" name="INT">
- <type metamodel="/1/@metamodelDeclarations.0">
- <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
- </type>
- <alternatives xsi:type="xtext:CharacterRange" cardinality="+">
- <left value="0"/>
- <right value="9"/>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:TerminalRule" name="STRING">
- <type metamodel="/1/@metamodelDeclarations.0">
- <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- </type>
- <alternatives xsi:type="xtext:Alternatives">
- <elements xsi:type="xtext:Group">
- <elements xsi:type="xtext:Keyword" value="&quot;"/>
- <elements xsi:type="xtext:Alternatives" cardinality="*">
- <elements xsi:type="xtext:Group">
- <elements xsi:type="xtext:Keyword" value="\"/>
- <elements xsi:type="xtext:Alternatives">
- <elements xsi:type="xtext:Keyword" value="b"/>
- <elements xsi:type="xtext:Keyword" value="t"/>
- <elements xsi:type="xtext:Keyword" value="n"/>
- <elements xsi:type="xtext:Keyword" value="f"/>
- <elements xsi:type="xtext:Keyword" value="r"/>
- <elements xsi:type="xtext:Keyword" value="u"/>
- <elements xsi:type="xtext:Keyword" value="&quot;"/>
- <elements xsi:type="xtext:Keyword" value="'"/>
- <elements xsi:type="xtext:Keyword" value="\"/>
- </elements>
- </elements>
- <elements xsi:type="xtext:NegatedToken">
- <terminal xsi:type="xtext:Alternatives">
- <elements xsi:type="xtext:Keyword" value="\"/>
- <elements xsi:type="xtext:Keyword" value="&quot;"/>
- </terminal>
- </elements>
- </elements>
- <elements xsi:type="xtext:Keyword" value="&quot;"/>
- </elements>
- <elements xsi:type="xtext:Group">
- <elements xsi:type="xtext:Keyword" value="'"/>
- <elements xsi:type="xtext:Alternatives" cardinality="*">
- <elements xsi:type="xtext:Group">
- <elements xsi:type="xtext:Keyword" value="\"/>
- <elements xsi:type="xtext:Alternatives">
- <elements xsi:type="xtext:Keyword" value="b"/>
- <elements xsi:type="xtext:Keyword" value="t"/>
- <elements xsi:type="xtext:Keyword" value="n"/>
- <elements xsi:type="xtext:Keyword" value="f"/>
- <elements xsi:type="xtext:Keyword" value="r"/>
- <elements xsi:type="xtext:Keyword" value="u"/>
- <elements xsi:type="xtext:Keyword" value="&quot;"/>
- <elements xsi:type="xtext:Keyword" value="'"/>
- <elements xsi:type="xtext:Keyword" value="\"/>
- </elements>
- </elements>
- <elements xsi:type="xtext:NegatedToken">
- <terminal xsi:type="xtext:Alternatives">
- <elements xsi:type="xtext:Keyword" value="\"/>
- <elements xsi:type="xtext:Keyword" value="'"/>
- </terminal>
- </elements>
- </elements>
- <elements xsi:type="xtext:Keyword" value="'"/>
- </elements>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:TerminalRule" name="ML_COMMENT">
- <type metamodel="/1/@metamodelDeclarations.0">
- <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Keyword" value="/*"/>
- <elements xsi:type="xtext:UntilToken">
- <terminal xsi:type="xtext:Keyword" value="*/"/>
- </elements>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:TerminalRule" name="SL_COMMENT">
- <type metamodel="/1/@metamodelDeclarations.0">
- <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Keyword" value="//"/>
- <elements xsi:type="xtext:NegatedToken" cardinality="*">
- <terminal xsi:type="xtext:Alternatives">
- <elements xsi:type="xtext:Keyword" value="&#xA;"/>
- <elements xsi:type="xtext:Keyword" value="&#xD;"/>
- </terminal>
- </elements>
- <elements xsi:type="xtext:Group" cardinality="?">
- <elements xsi:type="xtext:Keyword" cardinality="?" value="&#xD;"/>
- <elements xsi:type="xtext:Keyword" value="&#xA;"/>
- </elements>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:TerminalRule" name="WS">
- <type metamodel="/1/@metamodelDeclarations.0">
- <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- </type>
- <alternatives xsi:type="xtext:Alternatives" cardinality="+">
- <elements xsi:type="xtext:Keyword" value=" "/>
- <elements xsi:type="xtext:Keyword" value="&#x9;"/>
- <elements xsi:type="xtext:Keyword" value="&#xD;"/>
- <elements xsi:type="xtext:Keyword" value="&#xA;"/>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:TerminalRule" name="ANY_OTHER">
- <type metamodel="/1/@metamodelDeclarations.0">
- <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- </type>
- <alternatives xsi:type="xtext:Wildcard"/>
- </rules>
- </xtext:Grammar>
-</xmi:XMI>
diff --git a/plugins/org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/eTMap/impl/ETMapFactoryImpl.java b/plugins/org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/eTMap/impl/ETMapFactoryImpl.java
index e138ffb3b..2627d3288 100644
--- a/plugins/org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/eTMap/impl/ETMapFactoryImpl.java
+++ b/plugins/org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/eTMap/impl/ETMapFactoryImpl.java
@@ -30,7 +30,7 @@ public class ETMapFactoryImpl extends EFactoryImpl implements ETMapFactory
{
try
{
- ETMapFactory theETMapFactory = (ETMapFactory)EPackage.Registry.INSTANCE.getEFactory("http://www.eclipse.org/etrice/core/etmap/ETMap");
+ ETMapFactory theETMapFactory = (ETMapFactory)EPackage.Registry.INSTANCE.getEFactory(ETMapPackage.eNS_URI);
if (theETMapFactory != null)
{
return theETMapFactory;
diff --git a/plugins/org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMapLexer.java b/plugins/org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMapLexer.java
index 9d03ca3c3..55512a327 100644
--- a/plugins/org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMapLexer.java
+++ b/plugins/org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMapLexer.java
@@ -10,7 +10,7 @@ import java.util.Stack;
import java.util.List;
import java.util.ArrayList;
-@SuppressWarnings("all")
+@SuppressWarnings("all")
public class InternalETMapLexer extends Lexer {
public static final int RULE_ID=4;
public static final int T__22=22;
@@ -1186,4 +1186,4 @@ public class InternalETMapLexer extends Lexer {
}
-}
+} \ No newline at end of file
diff --git a/plugins/org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMapParser.java b/plugins/org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMapParser.java
index 8b8dc1739..1f0f08fef 100644
--- a/plugins/org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMapParser.java
+++ b/plugins/org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMapParser.java
@@ -18,7 +18,7 @@ import java.util.Stack;
import java.util.List;
import java.util.ArrayList;
-@SuppressWarnings("all")
+@SuppressWarnings("all")
public class InternalETMapParser extends AbstractInternalAntlrParser {
public static final String[] tokenNames = new String[] {
"<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_ID", "RULE_STRING", "RULE_INT", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'MappingModel'", "'{'", "'}'", "'Mapping'", "'->'", "'SubSystemMapping'", "'ThreadMapping'", "'import'", "'from'", "'model'", "'.*'", "'.'"
diff --git a/plugins/org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/serializer/ETMapSemanticSequencer.java b/plugins/org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/serializer/ETMapSemanticSequencer.java
index 5fccd12c1..b56684c8b 100644
--- a/plugins/org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/serializer/ETMapSemanticSequencer.java
+++ b/plugins/org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/serializer/ETMapSemanticSequencer.java
@@ -1,26 +1,26 @@
-package org.eclipse.etrice.core.etmap.serializer;
-
-import com.google.inject.Inject;
-import com.google.inject.Provider;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.etrice.core.etmap.eTMap.ETMapPackage;
-import org.eclipse.etrice.core.etmap.eTMap.Import;
-import org.eclipse.etrice.core.etmap.eTMap.Mapping;
-import org.eclipse.etrice.core.etmap.eTMap.MappingModel;
-import org.eclipse.etrice.core.etmap.eTMap.SubSystemMapping;
-import org.eclipse.etrice.core.etmap.eTMap.ThreadMapping;
-import org.eclipse.etrice.core.etmap.services.ETMapGrammarAccess;
-import org.eclipse.xtext.serializer.acceptor.ISemanticSequenceAcceptor;
-import org.eclipse.xtext.serializer.acceptor.SequenceFeeder;
-import org.eclipse.xtext.serializer.diagnostic.ISemanticSequencerDiagnosticProvider;
-import org.eclipse.xtext.serializer.diagnostic.ISerializationDiagnostic.Acceptor;
-import org.eclipse.xtext.serializer.sequencer.AbstractDelegatingSemanticSequencer;
-import org.eclipse.xtext.serializer.sequencer.GenericSequencer;
-import org.eclipse.xtext.serializer.sequencer.ISemanticNodeProvider.INodesForEObjectProvider;
-import org.eclipse.xtext.serializer.sequencer.ISemanticSequencer;
-import org.eclipse.xtext.serializer.sequencer.ITransientValueService;
-import org.eclipse.xtext.serializer.sequencer.ITransientValueService.ValueTransient;
-
+package org.eclipse.etrice.core.etmap.serializer;
+
+import com.google.inject.Inject;
+import com.google.inject.Provider;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.etrice.core.etmap.eTMap.ETMapPackage;
+import org.eclipse.etrice.core.etmap.eTMap.Import;
+import org.eclipse.etrice.core.etmap.eTMap.Mapping;
+import org.eclipse.etrice.core.etmap.eTMap.MappingModel;
+import org.eclipse.etrice.core.etmap.eTMap.SubSystemMapping;
+import org.eclipse.etrice.core.etmap.eTMap.ThreadMapping;
+import org.eclipse.etrice.core.etmap.services.ETMapGrammarAccess;
+import org.eclipse.xtext.serializer.acceptor.ISemanticSequenceAcceptor;
+import org.eclipse.xtext.serializer.acceptor.SequenceFeeder;
+import org.eclipse.xtext.serializer.diagnostic.ISemanticSequencerDiagnosticProvider;
+import org.eclipse.xtext.serializer.diagnostic.ISerializationDiagnostic.Acceptor;
+import org.eclipse.xtext.serializer.sequencer.AbstractDelegatingSemanticSequencer;
+import org.eclipse.xtext.serializer.sequencer.GenericSequencer;
+import org.eclipse.xtext.serializer.sequencer.ISemanticNodeProvider.INodesForEObjectProvider;
+import org.eclipse.xtext.serializer.sequencer.ISemanticSequencer;
+import org.eclipse.xtext.serializer.sequencer.ITransientValueService;
+import org.eclipse.xtext.serializer.sequencer.ITransientValueService.ValueTransient;
+
@SuppressWarnings("all")
public class ETMapSemanticSequencer extends AbstractDelegatingSemanticSequencer {
diff --git a/plugins/org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/serializer/ETMapSyntacticSequencer.java b/plugins/org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/serializer/ETMapSyntacticSequencer.java
index 61e7867a1..b9ee06b20 100644
--- a/plugins/org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/serializer/ETMapSyntacticSequencer.java
+++ b/plugins/org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/serializer/ETMapSyntacticSequencer.java
@@ -1,19 +1,19 @@
-package org.eclipse.etrice.core.etmap.serializer;
-
-import com.google.inject.Inject;
-import java.util.List;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.etrice.core.etmap.services.ETMapGrammarAccess;
-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.GrammarAlias.GroupAlias;
-import org.eclipse.xtext.serializer.analysis.GrammarAlias.TokenAlias;
-import org.eclipse.xtext.serializer.analysis.ISyntacticSequencerPDAProvider.ISynNavigable;
-import org.eclipse.xtext.serializer.analysis.ISyntacticSequencerPDAProvider.ISynTransition;
-import org.eclipse.xtext.serializer.sequencer.AbstractSyntacticSequencer;
-
+package org.eclipse.etrice.core.etmap.serializer;
+
+import com.google.inject.Inject;
+import java.util.List;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.etrice.core.etmap.services.ETMapGrammarAccess;
+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.GrammarAlias.GroupAlias;
+import org.eclipse.xtext.serializer.analysis.GrammarAlias.TokenAlias;
+import org.eclipse.xtext.serializer.analysis.ISyntacticSequencerPDAProvider.ISynNavigable;
+import org.eclipse.xtext.serializer.analysis.ISyntacticSequencerPDAProvider.ISynTransition;
+import org.eclipse.xtext.serializer.sequencer.AbstractSyntacticSequencer;
+
@SuppressWarnings("all")
public class ETMapSyntacticSequencer extends AbstractSyntacticSequencer {
diff --git a/plugins/org.eclipse.etrice.core.etmap/src/org/eclipse/etrice/core/etmap/ETMap.xtext b/plugins/org.eclipse.etrice.core.etmap/src/org/eclipse/etrice/core/etmap/ETMap.xtext
index f1d970c48..3da23f852 100644
--- a/plugins/org.eclipse.etrice.core.etmap/src/org/eclipse/etrice/core/etmap/ETMap.xtext
+++ b/plugins/org.eclipse.etrice.core.etmap/src/org/eclipse/etrice/core/etmap/ETMap.xtext
@@ -15,8 +15,8 @@ grammar org.eclipse.etrice.core.etmap.ETMap with org.eclipse.xtext.common.Termin
generate eTMap "http://www.eclipse.org/etrice/core/etmap/ETMap"
import "http://www.eclipse.org/emf/2002/Ecore" as ecore
-import "platform:/resource/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore" as room
-import "platform:/resource/org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/ETPhys.ecore" as phys
+import "http://www.eclipse.org/etrice/Room" as room
+import "http://www.eclipse.org/etrice/core/etphys/ETPhys" as phys
MappingModel:
'MappingModel' name=FQN '{'
diff --git a/plugins/org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/AbstractETPhysProposalProvider.java b/plugins/org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/AbstractETPhysProposalProvider.java
index 39cd2e87f..c78a6fea4 100644
--- a/plugins/org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/AbstractETPhysProposalProvider.java
+++ b/plugins/org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/AbstractETPhysProposalProvider.java
@@ -9,7 +9,7 @@ import org.eclipse.xtext.ui.editor.contentassist.ICompletionProposalAcceptor;
import org.eclipse.xtext.ui.editor.contentassist.ContentAssistContext;
/**
- * Represents a generated, default implementation of interface {@link IProposalProvider}.
+ * Represents a generated, default implementation of superclass {@link org.eclipse.xtext.common.ui.contentassist.TerminalsProposalProvider}.
* Methods are dynamically dispatched on the first parameter, i.e., you can override them
* with a more concrete subtype.
*/
diff --git a/plugins/org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/PartialETPhysContentAssistParser.java b/plugins/org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/PartialETPhysContentAssistParser.java
index b2db90bbc..7baa8a49b 100644
--- a/plugins/org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/PartialETPhysContentAssistParser.java
+++ b/plugins/org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/PartialETPhysContentAssistParser.java
@@ -15,6 +15,7 @@ import org.eclipse.xtext.util.PolymorphicDispatcher;
/**
* @author Sebastian Zarnekow - Initial contribution and API
*/
+@SuppressWarnings("restriction")
public class PartialETPhysContentAssistParser extends ETPhysParser implements IPartialContentAssistParser {
private AbstractRule rule;
diff --git a/plugins/org.eclipse.etrice.core.etphys/.gitignore b/plugins/org.eclipse.etrice.core.etphys/.gitignore
index d1b2f933f..ffd5ca501 100644
--- a/plugins/org.eclipse.etrice.core.etphys/.gitignore
+++ b/plugins/org.eclipse.etrice.core.etphys/.gitignore
@@ -1,2 +1,3 @@
bin
*._trace
+/.antlr-generator-3.2.0.jar
diff --git a/plugins/org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/ETPhys.genmodel b/plugins/org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/ETPhys.genmodel
index ab454721e..625649045 100644
--- a/plugins/org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/ETPhys.genmodel
+++ b/plugins/org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/ETPhys.genmodel
@@ -4,7 +4,7 @@
editorDirectory="/org.eclipse.etrice.core.etphys.editor/src" modelPluginID="org.eclipse.etrice.core.etphys"
forceOverwrite="true" modelName="ETPhys" updateClasspath="false" rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container"
complianceLevel="5.0" copyrightFields="false" editPluginID="org.eclipse.etrice.core.etphys.edit"
- editorPluginID="org.eclipse.etrice.core.etphys.editor" runtimeVersion="2.8">
+ editorPluginID="org.eclipse.etrice.core.etphys.editor" runtimeVersion="2.9">
<genPackages prefix="ETPhys" basePackage="org.eclipse.etrice.core.etphys" disposableProviderFactory="true"
ecorePackage="ETPhys.ecore#/">
<genEnums typeSafeEnumCompatible="false" ecoreEnum="ETPhys.ecore#//ExecMode">
diff --git a/plugins/org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/ETPhys.xmi b/plugins/org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/ETPhys.xmi
deleted file mode 100644
index 9726f2919..000000000
--- a/plugins/org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/ETPhys.xmi
+++ /dev/null
@@ -1,465 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:xtext="http://www.eclipse.org/2008/Xtext">
- <xtext:Grammar name="org.eclipse.etrice.core.etphys.ETPhys" usedGrammars="/1">
- <metamodelDeclarations xsi:type="xtext:GeneratedMetamodel" name="eTPhys">
- <ePackage href="http://www.eclipse.org/etrice/core/etphys/ETPhys#/"/>
- </metamodelDeclarations>
- <metamodelDeclarations xsi:type="xtext:ReferencedMetamodel" alias="ecore">
- <ePackage href="http://www.eclipse.org/emf/2002/Ecore#/"/>
- </metamodelDeclarations>
- <rules xsi:type="xtext:ParserRule" name="PhysicalModel">
- <type metamodel="/0/@metamodelDeclarations.0">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/core/etphys/ETPhys#//PhysicalModel"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Keyword" value="PhysicalModel"/>
- <elements xsi:type="xtext:Assignment" feature="name" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.12"/>
- </elements>
- <elements xsi:type="xtext:Keyword" value="{"/>
- <elements xsi:type="xtext:Assignment" cardinality="*" feature="imports" operator="+=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.10"/>
- </elements>
- <elements xsi:type="xtext:Alternatives" cardinality="*">
- <elements xsi:type="xtext:Assignment" feature="systems" operator="+=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.1"/>
- </elements>
- <elements xsi:type="xtext:Assignment" feature="nodeClasses" operator="+=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.3"/>
- </elements>
- <elements xsi:type="xtext:Assignment" feature="runtimeClasses" operator="+=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.6"/>
- </elements>
- </elements>
- <elements xsi:type="xtext:Keyword" value="}"/>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="PhysicalSystem">
- <type metamodel="/0/@metamodelDeclarations.0">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/core/etphys/ETPhys#//PhysicalSystem"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Keyword" value="PhysicalSystem"/>
- <elements xsi:type="xtext:Assignment" feature="name" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
- </elements>
- <elements xsi:type="xtext:Assignment" cardinality="?" feature="docu" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.8"/>
- </elements>
- <elements xsi:type="xtext:Keyword" value="{"/>
- <elements xsi:type="xtext:Assignment" cardinality="*" feature="nodeRefs" operator="+=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.2"/>
- </elements>
- <elements xsi:type="xtext:Keyword" value="}"/>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="NodeRef">
- <type metamodel="/0/@metamodelDeclarations.0">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/core/etphys/ETPhys#//NodeRef"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Keyword" value="NodeRef"/>
- <elements xsi:type="xtext:Assignment" feature="name" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
- </elements>
- <elements xsi:type="xtext:Keyword" value=":"/>
- <elements xsi:type="xtext:Assignment" feature="type" operator="=">
- <terminal xsi:type="xtext:CrossReference">
- <type metamodel="/0/@metamodelDeclarations.0">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/core/etphys/ETPhys#//NodeClass"/>
- </type>
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.12"/>
- </terminal>
- </elements>
- <elements xsi:type="xtext:Assignment" cardinality="?" feature="docu" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.8"/>
- </elements>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="NodeClass">
- <type metamodel="/0/@metamodelDeclarations.0">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/core/etphys/ETPhys#//NodeClass"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Keyword" value="NodeClass"/>
- <elements xsi:type="xtext:Assignment" feature="name" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
- </elements>
- <elements xsi:type="xtext:Assignment" cardinality="?" feature="docu" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.8"/>
- </elements>
- <elements xsi:type="xtext:Keyword" value="{"/>
- <elements xsi:type="xtext:Keyword" value="runtime"/>
- <elements xsi:type="xtext:Keyword" value="="/>
- <elements xsi:type="xtext:Assignment" feature="runtime" operator="=">
- <terminal xsi:type="xtext:CrossReference">
- <type metamodel="/0/@metamodelDeclarations.0">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/core/etphys/ETPhys#//RuntimeClass"/>
- </type>
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.12"/>
- </terminal>
- </elements>
- <elements xsi:type="xtext:Keyword" value="priomin"/>
- <elements xsi:type="xtext:Keyword" value="="/>
- <elements xsi:type="xtext:Assignment" feature="priomin" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.9"/>
- </elements>
- <elements xsi:type="xtext:Keyword" value="priomax"/>
- <elements xsi:type="xtext:Keyword" value="="/>
- <elements xsi:type="xtext:Assignment" feature="priomax" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.9"/>
- </elements>
- <elements xsi:type="xtext:Assignment" cardinality="*" feature="threads" operator="+=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/>
- </elements>
- <elements xsi:type="xtext:Keyword" value="}"/>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="PhysicalThread">
- <type metamodel="/0/@metamodelDeclarations.0">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/core/etphys/ETPhys#//PhysicalThread"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Alternatives">
- <elements xsi:type="xtext:Assignment" feature="default" operator="?=">
- <terminal xsi:type="xtext:Keyword" value="DefaultThread"/>
- </elements>
- <elements xsi:type="xtext:Keyword" value="Thread"/>
- </elements>
- <elements xsi:type="xtext:Assignment" feature="name" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
- </elements>
- <elements xsi:type="xtext:Keyword" value="{"/>
- <elements xsi:type="xtext:Keyword" value="execmode"/>
- <elements xsi:type="xtext:Keyword" value="="/>
- <elements xsi:type="xtext:Assignment" feature="execmode" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.5"/>
- </elements>
- <elements xsi:type="xtext:Group" cardinality="?">
- <elements xsi:type="xtext:Keyword" value="interval"/>
- <elements xsi:type="xtext:Keyword" value="="/>
- <elements xsi:type="xtext:Assignment" feature="time" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
- </elements>
- </elements>
- <elements xsi:type="xtext:Keyword" value="prio"/>
- <elements xsi:type="xtext:Keyword" value="="/>
- <elements xsi:type="xtext:Assignment" feature="prio" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.9"/>
- </elements>
- <elements xsi:type="xtext:Keyword" value="stacksize"/>
- <elements xsi:type="xtext:Keyword" value="="/>
- <elements xsi:type="xtext:Assignment" feature="stacksize" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.1"/>
- </elements>
- <elements xsi:type="xtext:Keyword" value="msgblocksize"/>
- <elements xsi:type="xtext:Keyword" value="="/>
- <elements xsi:type="xtext:Assignment" feature="msgblocksize" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.1"/>
- </elements>
- <elements xsi:type="xtext:Keyword" value="msgpoolsize"/>
- <elements xsi:type="xtext:Keyword" value="="/>
- <elements xsi:type="xtext:Assignment" feature="msgpoolsize" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.1"/>
- </elements>
- <elements xsi:type="xtext:Keyword" value="}"/>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:EnumRule" name="ExecMode">
- <type metamodel="/0/@metamodelDeclarations.0">
- <classifier xsi:type="ecore:EEnum" href="http://www.eclipse.org/etrice/core/etphys/ETPhys#//ExecMode"/>
- </type>
- <alternatives xsi:type="xtext:Alternatives">
- <elements xsi:type="xtext:EnumLiteralDeclaration">
- <enumLiteral href="http://www.eclipse.org/etrice/core/etphys/ETPhys#//ExecMode/POLLED"/>
- <literal value="polled"/>
- </elements>
- <elements xsi:type="xtext:EnumLiteralDeclaration">
- <enumLiteral href="http://www.eclipse.org/etrice/core/etphys/ETPhys#//ExecMode/BLOCKED"/>
- <literal value="blocked"/>
- </elements>
- <elements xsi:type="xtext:EnumLiteralDeclaration">
- <enumLiteral href="http://www.eclipse.org/etrice/core/etphys/ETPhys#//ExecMode/MIXED"/>
- <literal value="mixed"/>
- </elements>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="RuntimeClass">
- <type metamodel="/0/@metamodelDeclarations.0">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/core/etphys/ETPhys#//RuntimeClass"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Keyword" value="RuntimeClass"/>
- <elements xsi:type="xtext:Assignment" feature="name" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
- </elements>
- <elements xsi:type="xtext:Assignment" cardinality="?" feature="docu" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.8"/>
- </elements>
- <elements xsi:type="xtext:Keyword" value="{"/>
- <elements xsi:type="xtext:Keyword" value="model"/>
- <elements xsi:type="xtext:Keyword" value="="/>
- <elements xsi:type="xtext:Assignment" feature="threadModel" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.7"/>
- </elements>
- <elements xsi:type="xtext:Keyword" value="}"/>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:EnumRule" name="ThreadModel">
- <type metamodel="/0/@metamodelDeclarations.0">
- <classifier xsi:type="ecore:EEnum" href="http://www.eclipse.org/etrice/core/etphys/ETPhys#//ThreadModel"/>
- </type>
- <alternatives xsi:type="xtext:Alternatives">
- <elements xsi:type="xtext:EnumLiteralDeclaration">
- <enumLiteral href="http://www.eclipse.org/etrice/core/etphys/ETPhys#//ThreadModel/SINGLE_THREADED"/>
- <literal value="singleThreaded"/>
- </elements>
- <elements xsi:type="xtext:EnumLiteralDeclaration">
- <enumLiteral href="http://www.eclipse.org/etrice/core/etphys/ETPhys#//ThreadModel/MULTI_THREADED"/>
- <literal value="multiThreaded"/>
- </elements>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="Documentation">
- <type metamodel="/0/@metamodelDeclarations.0">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/core/etphys/ETPhys#//Documentation"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Keyword" value="["/>
- <elements xsi:type="xtext:Assignment" cardinality="+" feature="text" operator="+=">
- <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.2"/>
- </elements>
- <elements xsi:type="xtext:Keyword" value="]"/>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="PRIO" definesHiddenTokens="true">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Alternatives" cardinality="?">
- <elements xsi:type="xtext:Keyword" value="+"/>
- <elements xsi:type="xtext:Keyword" value="-"/>
- </elements>
- <elements xsi:type="xtext:RuleCall" rule="/1/@rules.1"/>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="Import">
- <type metamodel="/0/@metamodelDeclarations.0">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/core/etphys/ETPhys#//Import"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Keyword" value="import"/>
- <elements xsi:type="xtext:Alternatives">
- <elements xsi:type="xtext:Group">
- <elements xsi:type="xtext:Assignment" feature="importedNamespace" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.11"/>
- </elements>
- <elements xsi:type="xtext:Keyword" value="from"/>
- </elements>
- <elements xsi:type="xtext:Keyword" value="model"/>
- </elements>
- <elements xsi:type="xtext:Assignment" feature="importURI" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.2"/>
- </elements>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="ImportedFQN">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:RuleCall" rule="/0/@rules.12"/>
- <elements xsi:type="xtext:Keyword" cardinality="?" value=".*"/>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="FQN">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
- <elements xsi:type="xtext:Group" cardinality="*">
- <elements xsi:type="xtext:Keyword" value="."/>
- <elements xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
- </elements>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="TIME">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
- </type>
- <alternatives xsi:type="xtext:Alternatives">
- <elements xsi:type="xtext:Group">
- <elements xsi:type="xtext:RuleCall" rule="/1/@rules.1"/>
- <elements xsi:type="xtext:Keyword" value="s"/>
- </elements>
- <elements xsi:type="xtext:Group">
- <elements xsi:type="xtext:RuleCall" rule="/1/@rules.1"/>
- <elements xsi:type="xtext:Keyword" value="ms"/>
- </elements>
- <elements xsi:type="xtext:Group">
- <elements xsi:type="xtext:RuleCall" rule="/1/@rules.1"/>
- <elements xsi:type="xtext:Keyword" value="us"/>
- </elements>
- <elements xsi:type="xtext:Group">
- <elements xsi:type="xtext:RuleCall" rule="/1/@rules.1"/>
- <elements xsi:type="xtext:Keyword" value="ns"/>
- </elements>
- </alternatives>
- </rules>
- </xtext:Grammar>
- <xtext:Grammar name="org.eclipse.xtext.common.Terminals" definesHiddenTokens="true" hiddenTokens="/1/@rules.5 /1/@rules.3 /1/@rules.4">
- <metamodelDeclarations xsi:type="xtext:ReferencedMetamodel" alias="ecore">
- <ePackage href="http://www.eclipse.org/emf/2002/Ecore#/"/>
- </metamodelDeclarations>
- <rules xsi:type="xtext:TerminalRule" name="ID">
- <type metamodel="/1/@metamodelDeclarations.0">
- <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Keyword" cardinality="?" value="^"/>
- <elements xsi:type="xtext:Alternatives">
- <elements xsi:type="xtext:CharacterRange">
- <left value="a"/>
- <right value="z"/>
- </elements>
- <elements xsi:type="xtext:CharacterRange">
- <left value="A"/>
- <right value="Z"/>
- </elements>
- <elements xsi:type="xtext:Keyword" value="_"/>
- </elements>
- <elements xsi:type="xtext:Alternatives" cardinality="*">
- <elements xsi:type="xtext:CharacterRange">
- <left value="a"/>
- <right value="z"/>
- </elements>
- <elements xsi:type="xtext:CharacterRange">
- <left value="A"/>
- <right value="Z"/>
- </elements>
- <elements xsi:type="xtext:Keyword" value="_"/>
- <elements xsi:type="xtext:CharacterRange">
- <left value="0"/>
- <right value="9"/>
- </elements>
- </elements>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:TerminalRule" name="INT">
- <type metamodel="/1/@metamodelDeclarations.0">
- <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
- </type>
- <alternatives xsi:type="xtext:CharacterRange" cardinality="+">
- <left value="0"/>
- <right value="9"/>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:TerminalRule" name="STRING">
- <type metamodel="/1/@metamodelDeclarations.0">
- <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- </type>
- <alternatives xsi:type="xtext:Alternatives">
- <elements xsi:type="xtext:Group">
- <elements xsi:type="xtext:Keyword" value="&quot;"/>
- <elements xsi:type="xtext:Alternatives" cardinality="*">
- <elements xsi:type="xtext:Group">
- <elements xsi:type="xtext:Keyword" value="\"/>
- <elements xsi:type="xtext:Alternatives">
- <elements xsi:type="xtext:Keyword" value="b"/>
- <elements xsi:type="xtext:Keyword" value="t"/>
- <elements xsi:type="xtext:Keyword" value="n"/>
- <elements xsi:type="xtext:Keyword" value="f"/>
- <elements xsi:type="xtext:Keyword" value="r"/>
- <elements xsi:type="xtext:Keyword" value="u"/>
- <elements xsi:type="xtext:Keyword" value="&quot;"/>
- <elements xsi:type="xtext:Keyword" value="'"/>
- <elements xsi:type="xtext:Keyword" value="\"/>
- </elements>
- </elements>
- <elements xsi:type="xtext:NegatedToken">
- <terminal xsi:type="xtext:Alternatives">
- <elements xsi:type="xtext:Keyword" value="\"/>
- <elements xsi:type="xtext:Keyword" value="&quot;"/>
- </terminal>
- </elements>
- </elements>
- <elements xsi:type="xtext:Keyword" value="&quot;"/>
- </elements>
- <elements xsi:type="xtext:Group">
- <elements xsi:type="xtext:Keyword" value="'"/>
- <elements xsi:type="xtext:Alternatives" cardinality="*">
- <elements xsi:type="xtext:Group">
- <elements xsi:type="xtext:Keyword" value="\"/>
- <elements xsi:type="xtext:Alternatives">
- <elements xsi:type="xtext:Keyword" value="b"/>
- <elements xsi:type="xtext:Keyword" value="t"/>
- <elements xsi:type="xtext:Keyword" value="n"/>
- <elements xsi:type="xtext:Keyword" value="f"/>
- <elements xsi:type="xtext:Keyword" value="r"/>
- <elements xsi:type="xtext:Keyword" value="u"/>
- <elements xsi:type="xtext:Keyword" value="&quot;"/>
- <elements xsi:type="xtext:Keyword" value="'"/>
- <elements xsi:type="xtext:Keyword" value="\"/>
- </elements>
- </elements>
- <elements xsi:type="xtext:NegatedToken">
- <terminal xsi:type="xtext:Alternatives">
- <elements xsi:type="xtext:Keyword" value="\"/>
- <elements xsi:type="xtext:Keyword" value="'"/>
- </terminal>
- </elements>
- </elements>
- <elements xsi:type="xtext:Keyword" value="'"/>
- </elements>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:TerminalRule" name="ML_COMMENT">
- <type metamodel="/1/@metamodelDeclarations.0">
- <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Keyword" value="/*"/>
- <elements xsi:type="xtext:UntilToken">
- <terminal xsi:type="xtext:Keyword" value="*/"/>
- </elements>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:TerminalRule" name="SL_COMMENT">
- <type metamodel="/1/@metamodelDeclarations.0">
- <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Keyword" value="//"/>
- <elements xsi:type="xtext:NegatedToken" cardinality="*">
- <terminal xsi:type="xtext:Alternatives">
- <elements xsi:type="xtext:Keyword" value="&#xA;"/>
- <elements xsi:type="xtext:Keyword" value="&#xD;"/>
- </terminal>
- </elements>
- <elements xsi:type="xtext:Group" cardinality="?">
- <elements xsi:type="xtext:Keyword" cardinality="?" value="&#xD;"/>
- <elements xsi:type="xtext:Keyword" value="&#xA;"/>
- </elements>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:TerminalRule" name="WS">
- <type metamodel="/1/@metamodelDeclarations.0">
- <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- </type>
- <alternatives xsi:type="xtext:Alternatives" cardinality="+">
- <elements xsi:type="xtext:Keyword" value=" "/>
- <elements xsi:type="xtext:Keyword" value="&#x9;"/>
- <elements xsi:type="xtext:Keyword" value="&#xD;"/>
- <elements xsi:type="xtext:Keyword" value="&#xA;"/>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:TerminalRule" name="ANY_OTHER">
- <type metamodel="/1/@metamodelDeclarations.0">
- <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- </type>
- <alternatives xsi:type="xtext:Wildcard"/>
- </rules>
- </xtext:Grammar>
-</xmi:XMI>
diff --git a/plugins/org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/eTPhys/impl/ETPhysFactoryImpl.java b/plugins/org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/eTPhys/impl/ETPhysFactoryImpl.java
index bbcb288c6..f6b312562 100644
--- a/plugins/org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/eTPhys/impl/ETPhysFactoryImpl.java
+++ b/plugins/org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/eTPhys/impl/ETPhysFactoryImpl.java
@@ -31,7 +31,7 @@ public class ETPhysFactoryImpl extends EFactoryImpl implements ETPhysFactory
{
try
{
- ETPhysFactory theETPhysFactory = (ETPhysFactory)EPackage.Registry.INSTANCE.getEFactory("http://www.eclipse.org/etrice/core/etphys/ETPhys");
+ ETPhysFactory theETPhysFactory = (ETPhysFactory)EPackage.Registry.INSTANCE.getEFactory(ETPhysPackage.eNS_URI);
if (theETPhysFactory != null)
{
return theETPhysFactory;
diff --git a/plugins/org.eclipse.etrice.core.genmodel/META-INF/MANIFEST.MF b/plugins/org.eclipse.etrice.core.genmodel/META-INF/MANIFEST.MF
index 4d5df4afa..2f9a7f0aa 100644
--- a/plugins/org.eclipse.etrice.core.genmodel/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.etrice.core.genmodel/META-INF/MANIFEST.MF
@@ -13,7 +13,7 @@ Export-Package: org.eclipse.etrice.core.genmodel,
org.eclipse.etrice.core.genmodel.etricegen,
org.eclipse.etrice.core.genmodel.etricegen.impl,
org.eclipse.etrice.core.genmodel.etricegen.util
-Require-Bundle: org.eclipse.etrice.core.room;bundle-version="0.3.0";visibility:=reexport,
+Require-Bundle: org.eclipse.etrice.core.room;visibility:=reexport;bundle-version="0.3.0",
org.eclipse.core.runtime,
org.eclipse.emf.ecore;visibility:=reexport,
org.eclipse.emf.ecore.xmi;visibility:=reexport
diff --git a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/ETriceGenFactoryImpl.java b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/ETriceGenFactoryImpl.java
index 034872476..6dd03cc1d 100644
--- a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/ETriceGenFactoryImpl.java
+++ b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/ETriceGenFactoryImpl.java
@@ -38,7 +38,7 @@ public class ETriceGenFactoryImpl extends EFactoryImpl implements ETriceGenFacto
*/
public static ETriceGenFactory init() {
try {
- ETriceGenFactory theETriceGenFactory = (ETriceGenFactory)EPackage.Registry.INSTANCE.getEFactory("http://www.eclipse.org/etrice/generator");
+ ETriceGenFactory theETriceGenFactory = (ETriceGenFactory)EPackage.Registry.INSTANCE.getEFactory(ETriceGenPackage.eNS_URI);
if (theETriceGenFactory != null) {
return theETriceGenFactory;
}
diff --git a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/util/ETriceGenSwitch.java b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/util/ETriceGenSwitch.java
index a4c619bb1..ddad57bc5 100644
--- a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/util/ETriceGenSwitch.java
+++ b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/util/ETriceGenSwitch.java
@@ -201,6 +201,18 @@ public class ETriceGenSwitch<T> extends Switch<T> {
if (result == null) result = defaultCase(theEObject);
return result;
}
+ case ETriceGenPackage.ITRANSITION_CHAIN_VISITOR: {
+ ITransitionChainVisitor iTransitionChainVisitor = (ITransitionChainVisitor)theEObject;
+ T result = caseITransitionChainVisitor(iTransitionChainVisitor);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ETriceGenPackage.IDIAGNOSTICIAN: {
+ IDiagnostician iDiagnostician = (IDiagnostician)theEObject;
+ T result = caseIDiagnostician(iDiagnostician);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
case ETriceGenPackage.EXPANDED_ACTOR_CLASS: {
ExpandedActorClass expandedActorClass = (ExpandedActorClass)theEObject;
T result = caseExpandedActorClass(expandedActorClass);
diff --git a/plugins/org.eclipse.etrice.core.room.ui/eTrice-rt.launch b/plugins/org.eclipse.etrice.core.room.ui/eTrice-rt.launch
index cb41a187a..7ac63ba7a 100644
--- a/plugins/org.eclipse.etrice.core.room.ui/eTrice-rt.launch
+++ b/plugins/org.eclipse.etrice.core.room.ui/eTrice-rt.launch
@@ -17,6 +17,7 @@
<listAttribute key="org.eclipse.debug.ui.favoriteGroups">
<listEntry value="org.eclipse.debug.ui.launchGroup.debug"/>
</listAttribute>
+<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/jdk1.6.0_17"/>
<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="-Dosgi.requiredJavaVersion=1.5 -Xms40m -Xmx512m -XX:MaxPermSize=256m -ea"/>
diff --git a/plugins/org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/AbstractRoomProposalProvider.java b/plugins/org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/AbstractRoomProposalProvider.java
index 31827a97a..815ffbdaf 100644
--- a/plugins/org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/AbstractRoomProposalProvider.java
+++ b/plugins/org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/AbstractRoomProposalProvider.java
@@ -9,7 +9,7 @@ import org.eclipse.xtext.ui.editor.contentassist.ICompletionProposalAcceptor;
import org.eclipse.xtext.ui.editor.contentassist.ContentAssistContext;
/**
- * Represents a generated, default implementation of interface {@link IProposalProvider}.
+ * Represents a generated, default implementation of superclass {@link org.eclipse.xtext.common.ui.contentassist.TerminalsProposalProvider}.
* Methods are dynamically dispatched on the first parameter, i.e., you can override them
* with a more concrete subtype.
*/
diff --git a/plugins/org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoomLexer.java b/plugins/org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoomLexer.java
index b810d2b9d..5fbc65796 100644
--- a/plugins/org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoomLexer.java
+++ b/plugins/org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoomLexer.java
@@ -10,7 +10,7 @@ import java.util.Stack;
import java.util.List;
import java.util.ArrayList;
-@SuppressWarnings("all")
+@SuppressWarnings("all")
public class InternalRoomLexer extends Lexer {
public static final int RULE_ID=5;
public static final int T__29=29;
@@ -4699,4 +4699,4 @@ public class InternalRoomLexer extends Lexer {
}
-}
+} \ No newline at end of file
diff --git a/plugins/org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoomParser.java b/plugins/org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoomParser.java
index f411907f5..9e6e0864b 100644
--- a/plugins/org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoomParser.java
+++ b/plugins/org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoomParser.java
@@ -19,7 +19,7 @@ import java.util.Stack;
import java.util.List;
import java.util.ArrayList;
-@SuppressWarnings("all")
+@SuppressWarnings("all")
public class InternalRoomParser extends AbstractInternalContentAssistParser {
public static final String[] tokenNames = new String[] {
"<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_INT", "RULE_ID", "RULE_STRING", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'void'", "'model'", "'*'", "'ptBoolean'", "'ptInteger'", "'ptReal'", "'ptCharacter'", "'eventdriven'", "'datadriven'", "'sync'", "'async'", "'RoomModel'", "'{'", "'}'", "':'", "'PrimitiveType'", "'->'", "'default'", "'('", "')'", "'ExternalType'", "'DataClass'", "'extends'", "'usercode1'", "'usercode2'", "'usercode3'", "'Attribute'", "'['", "']'", "'='", "'Operation'", "','", "'sends'", "'ProtocolClass'", "'incoming'", "'outgoing'", "'regular'", "'PortClass'", "'conjugate'", "'CompoundProtocolClass'", "'SubProtocol'", "'Message'", "'usercode'", "'handle'", "'semantics'", "'in'", "'out'", "'ActorClass'", "'Interface'", "'Structure'", "'Behavior'", "'Port'", "'external'", "'SAP'", "'SPP'", "'ServiceImplementation'", "'of'", "'LogicalSystem'", "'SubSystemRef'", "'SubSystemClass'", "'LogicalThread'", "'ActorInstanceMapping'", "'/'", "'Binding'", "'and'", "'.'", "'sub'", "'LayerConnection'", "'satisfied_by'", "'ref'", "'relay_sap'", "'ActorRef'", "'StateMachine'", "'State'", "'entry'", "'exit'", "'do'", "'subgraph'", "'RefinedState'", "'TransitionPoint'", "'EntryPoint'", "'ExitPoint'", "'ChoicePoint'", "'Transition'", "'initial'", "'action'", "'triggers'", "'or'", "'guard'", "'cond'", "'RefinedTransition'", "'my'", "'cp'", "'<'", "'>'", "'|'", "'@'", "'import'", "'from'", "'.*'", "'~'", "'private'", "'abstract'", "'conjugated'", "'handler'"
diff --git a/plugins/org.eclipse.etrice.core.room/gen_room.launch b/plugins/org.eclipse.etrice.core.room/gen_room.launch
index 041054485..dcf775a39 100644
--- a/plugins/org.eclipse.etrice.core.room/gen_room.launch
+++ b/plugins/org.eclipse.etrice.core.room/gen_room.launch
@@ -10,6 +10,7 @@
<listAttribute key="org.eclipse.debug.ui.favoriteGroups">
<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/jre7"/>
<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher"/>
<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="src/org/eclipse/etrice/core/GenerateRoom.mwe2"/>
<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.etrice.core.room"/>
diff --git a/plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.genmodel b/plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.genmodel
index 076f2cb20..d48e7718d 100644
--- a/plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.genmodel
+++ b/plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.genmodel
@@ -4,7 +4,7 @@
editorDirectory="/org.eclipse.etrice.core.room.editor/src" modelPluginID="org.eclipse.etrice.core.room"
forceOverwrite="true" modelName="Room" updateClasspath="false" rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container"
complianceLevel="5.0" copyrightFields="false" editPluginID="org.eclipse.etrice.core.room.edit"
- editorPluginID="org.eclipse.etrice.core.room.editor" runtimeVersion="2.8">
+ editorPluginID="org.eclipse.etrice.core.room.editor" runtimeVersion="2.9">
<genPackages prefix="Room" basePackage="org.eclipse.etrice.core" disposableProviderFactory="true"
ecorePackage="Room.ecore#/">
<genEnums typeSafeEnumCompatible="false" ecoreEnum="Room.ecore#//LiteralType">
diff --git a/plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.xmi b/plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.xmi
deleted file mode 100644
index b3e79f829..000000000
--- a/plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.xmi
+++ /dev/null
@@ -1,2207 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:xtext="http://www.eclipse.org/2008/Xtext">
- <xtext:Grammar name="org.eclipse.etrice.core.Room" usedGrammars="/1">
- <metamodelDeclarations xsi:type="xtext:ReferencedMetamodel" alias="ecore">
- <ePackage href="http://www.eclipse.org/emf/2002/Ecore#/"/>
- </metamodelDeclarations>
- <metamodelDeclarations xsi:type="xtext:GeneratedMetamodel" name="room">
- <ePackage href="http://www.eclipse.org/etrice/Room#/"/>
- </metamodelDeclarations>
- <rules xsi:type="xtext:ParserRule" name="RoomModel">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//RoomModel"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Keyword" value="RoomModel"/>
- <elements xsi:type="xtext:Assignment" feature="name" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.88"/>
- </elements>
- <elements xsi:type="xtext:Assignment" cardinality="?" feature="docu" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.83"/>
- </elements>
- <elements xsi:type="xtext:Keyword" value="{"/>
- <elements xsi:type="xtext:Assignment" cardinality="*" feature="imports" operator="+=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.86"/>
- </elements>
- <elements xsi:type="xtext:Alternatives" cardinality="*">
- <elements xsi:type="xtext:Assignment" feature="primitiveTypes" operator="+=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.9"/>
- </elements>
- <elements xsi:type="xtext:Assignment" feature="externalTypes" operator="+=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.10"/>
- </elements>
- <elements xsi:type="xtext:Assignment" feature="dataClasses" operator="+=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.11"/>
- </elements>
- <elements xsi:type="xtext:Assignment" feature="protocolClasses" operator="+=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.17"/>
- </elements>
- <elements xsi:type="xtext:Assignment" feature="actorClasses" operator="+=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.31"/>
- </elements>
- <elements xsi:type="xtext:Assignment" feature="subSystemClasses" operator="+=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.41"/>
- </elements>
- <elements xsi:type="xtext:Assignment" feature="systems" operator="+=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.38"/>
- </elements>
- </elements>
- <elements xsi:type="xtext:Keyword" value="}"/>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="RoomClass">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//RoomClass"/>
- </type>
- <alternatives xsi:type="xtext:Alternatives">
- <elements xsi:type="xtext:RuleCall" rule="/0/@rules.7"/>
- <elements xsi:type="xtext:RuleCall" rule="/0/@rules.17"/>
- <elements xsi:type="xtext:RuleCall" rule="/0/@rules.2"/>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="StructureClass">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//StructureClass"/>
- </type>
- <alternatives xsi:type="xtext:Alternatives">
- <elements xsi:type="xtext:RuleCall" rule="/0/@rules.3"/>
- <elements xsi:type="xtext:RuleCall" rule="/0/@rules.38"/>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="ActorContainerClass">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//ActorContainerClass"/>
- </type>
- <alternatives xsi:type="xtext:Alternatives">
- <elements xsi:type="xtext:RuleCall" rule="/0/@rules.31"/>
- <elements xsi:type="xtext:RuleCall" rule="/0/@rules.41"/>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="VarDecl">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//VarDecl"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Assignment" feature="name" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
- </elements>
- <elements xsi:type="xtext:Keyword" value=":"/>
- <elements xsi:type="xtext:Assignment" feature="refType" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.5"/>
- </elements>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="RefableType">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//RefableType"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Assignment" feature="type" operator="=">
- <terminal xsi:type="xtext:CrossReference">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//DataType"/>
- </type>
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.88"/>
- </terminal>
- </elements>
- <elements xsi:type="xtext:Assignment" cardinality="?" feature="ref" operator="?=">
- <terminal xsi:type="xtext:Keyword" value="ref"/>
- </elements>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:EnumRule" name="LiteralType">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EEnum" href="http://www.eclipse.org/etrice/Room#//LiteralType"/>
- </type>
- <alternatives xsi:type="xtext:Alternatives">
- <elements xsi:type="xtext:EnumLiteralDeclaration">
- <enumLiteral href="http://www.eclipse.org/etrice/Room#//LiteralType/BOOL"/>
- <literal value="ptBoolean"/>
- </elements>
- <elements xsi:type="xtext:EnumLiteralDeclaration">
- <enumLiteral href="http://www.eclipse.org/etrice/Room#//LiteralType/INT"/>
- <literal value="ptInteger"/>
- </elements>
- <elements xsi:type="xtext:EnumLiteralDeclaration">
- <enumLiteral href="http://www.eclipse.org/etrice/Room#//LiteralType/REAL"/>
- <literal value="ptReal"/>
- </elements>
- <elements xsi:type="xtext:EnumLiteralDeclaration">
- <enumLiteral href="http://www.eclipse.org/etrice/Room#//LiteralType/CHAR"/>
- <literal value="ptCharacter"/>
- </elements>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="DataType">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//DataType"/>
- </type>
- <alternatives xsi:type="xtext:Alternatives">
- <elements xsi:type="xtext:RuleCall" rule="/0/@rules.9"/>
- <elements xsi:type="xtext:RuleCall" rule="/0/@rules.8"/>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="ComplexType">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//ComplexType"/>
- </type>
- <alternatives xsi:type="xtext:Alternatives">
- <elements xsi:type="xtext:RuleCall" rule="/0/@rules.11"/>
- <elements xsi:type="xtext:RuleCall" rule="/0/@rules.10"/>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="PrimitiveType">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//PrimitiveType"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Keyword" value="PrimitiveType"/>
- <elements xsi:type="xtext:Assignment" feature="name" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
- </elements>
- <elements xsi:type="xtext:Keyword" value=":"/>
- <elements xsi:type="xtext:Assignment" feature="type" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.6"/>
- </elements>
- <elements xsi:type="xtext:Keyword" value="->"/>
- <elements xsi:type="xtext:Assignment" feature="targetName" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.88"/>
- </elements>
- <elements xsi:type="xtext:Group" cardinality="?">
- <elements xsi:type="xtext:Keyword" value="("/>
- <elements xsi:type="xtext:Assignment" feature="castName" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.88"/>
- </elements>
- <elements xsi:type="xtext:Keyword" value=")"/>
- </elements>
- <elements xsi:type="xtext:Keyword" value="default"/>
- <elements xsi:type="xtext:Assignment" feature="defaultValueLiteral" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.2"/>
- </elements>
- <elements xsi:type="xtext:Assignment" cardinality="?" feature="docu" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.83"/>
- </elements>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="ExternalType">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//ExternalType"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Keyword" value="ExternalType"/>
- <elements xsi:type="xtext:Assignment" feature="name" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
- </elements>
- <elements xsi:type="xtext:Keyword" value="->"/>
- <elements xsi:type="xtext:Assignment" feature="targetName" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.88"/>
- </elements>
- <elements xsi:type="xtext:Group" cardinality="?">
- <elements xsi:type="xtext:Keyword" value="default"/>
- <elements xsi:type="xtext:Assignment" feature="defaultValueLiteral" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.2"/>
- </elements>
- </elements>
- <elements xsi:type="xtext:Assignment" cardinality="?" feature="docu" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.83"/>
- </elements>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="DataClass">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//DataClass"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Keyword" value="DataClass"/>
- <elements xsi:type="xtext:Assignment" feature="name" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
- </elements>
- <elements xsi:type="xtext:Assignment" cardinality="?" feature="docu" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.83"/>
- </elements>
- <elements xsi:type="xtext:Group" cardinality="?">
- <elements xsi:type="xtext:Keyword" value="extends"/>
- <elements xsi:type="xtext:Assignment" feature="base" operator="=">
- <terminal xsi:type="xtext:CrossReference">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//DataClass"/>
- </type>
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.88"/>
- </terminal>
- </elements>
- </elements>
- <elements xsi:type="xtext:Keyword" value="{"/>
- <elements xsi:type="xtext:Assignment" cardinality="*" feature="annotations" operator="+=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.84"/>
- </elements>
- <elements xsi:type="xtext:Group" cardinality="?">
- <elements xsi:type="xtext:Keyword" value="usercode1"/>
- <elements xsi:type="xtext:Assignment" feature="userCode1" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.60"/>
- </elements>
- </elements>
- <elements xsi:type="xtext:Group" cardinality="?">
- <elements xsi:type="xtext:Keyword" value="usercode2"/>
- <elements xsi:type="xtext:Assignment" feature="userCode2" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.60"/>
- </elements>
- </elements>
- <elements xsi:type="xtext:Group" cardinality="?">
- <elements xsi:type="xtext:Keyword" value="usercode3"/>
- <elements xsi:type="xtext:Assignment" feature="userCode3" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.60"/>
- </elements>
- </elements>
- <elements xsi:type="xtext:Assignment" cardinality="*" feature="attributes" operator="+=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.12"/>
- </elements>
- <elements xsi:type="xtext:Assignment" cardinality="*" feature="operations" operator="+=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.14"/>
- </elements>
- <elements xsi:type="xtext:Keyword" value="}"/>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="Attribute">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//Attribute"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Keyword" value="Attribute"/>
- <elements xsi:type="xtext:Assignment" feature="name" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
- </elements>
- <elements xsi:type="xtext:Group" cardinality="?">
- <elements xsi:type="xtext:Keyword" value="["/>
- <elements xsi:type="xtext:Assignment" feature="size" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.1"/>
- </elements>
- <elements xsi:type="xtext:Keyword" value="]"/>
- </elements>
- <elements xsi:type="xtext:Keyword" value=":"/>
- <elements xsi:type="xtext:Assignment" feature="refType" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.5"/>
- </elements>
- <elements xsi:type="xtext:Group" cardinality="?">
- <elements xsi:type="xtext:Keyword" value="="/>
- <elements xsi:type="xtext:Assignment" feature="defaultValueLiteral" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.2"/>
- </elements>
- </elements>
- <elements xsi:type="xtext:Assignment" cardinality="?" feature="docu" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.83"/>
- </elements>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="Operation">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//Operation"/>
- </type>
- <alternatives xsi:type="xtext:Alternatives">
- <elements xsi:type="xtext:RuleCall" rule="/0/@rules.14"/>
- <elements xsi:type="xtext:RuleCall" rule="/0/@rules.15"/>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="StandardOperation">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//StandardOperation"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Keyword" value="Operation"/>
- <elements xsi:type="xtext:Assignment" cardinality="?" feature="destructor" operator="?=">
- <terminal xsi:type="xtext:Keyword" value="~"/>
- </elements>
- <elements xsi:type="xtext:Assignment" feature="name" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
- </elements>
- <elements xsi:type="xtext:Keyword" value="("/>
- <elements xsi:type="xtext:Group" cardinality="?">
- <elements xsi:type="xtext:Assignment" feature="arguments" operator="+=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/>
- </elements>
- <elements xsi:type="xtext:Group" cardinality="*">
- <elements xsi:type="xtext:Keyword" value=","/>
- <elements xsi:type="xtext:Assignment" feature="arguments" operator="+=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/>
- </elements>
- </elements>
- </elements>
- <elements xsi:type="xtext:Keyword" value=")"/>
- <elements xsi:type="xtext:Group" cardinality="?">
- <elements xsi:type="xtext:Keyword" value=":"/>
- <elements xsi:type="xtext:Alternatives">
- <elements xsi:type="xtext:Keyword" value="void"/>
- <elements xsi:type="xtext:Assignment" feature="returntype" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.5"/>
- </elements>
- </elements>
- </elements>
- <elements xsi:type="xtext:Assignment" cardinality="?" feature="docu" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.83"/>
- </elements>
- <elements xsi:type="xtext:Assignment" feature="detailCode" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.60"/>
- </elements>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="PortOperation">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//PortOperation"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Keyword" value="Operation"/>
- <elements xsi:type="xtext:Assignment" feature="name" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
- </elements>
- <elements xsi:type="xtext:Keyword" value="("/>
- <elements xsi:type="xtext:Group" cardinality="?">
- <elements xsi:type="xtext:Assignment" feature="arguments" operator="+=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/>
- </elements>
- <elements xsi:type="xtext:Group" cardinality="*">
- <elements xsi:type="xtext:Keyword" value=","/>
- <elements xsi:type="xtext:Assignment" feature="arguments" operator="+=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/>
- </elements>
- </elements>
- </elements>
- <elements xsi:type="xtext:Keyword" value=")"/>
- <elements xsi:type="xtext:Alternatives" cardinality="?">
- <elements xsi:type="xtext:Group">
- <elements xsi:type="xtext:Keyword" value=":"/>
- <elements xsi:type="xtext:Alternatives">
- <elements xsi:type="xtext:Keyword" value="void"/>
- <elements xsi:type="xtext:Assignment" feature="returntype" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.5"/>
- </elements>
- </elements>
- </elements>
- <elements xsi:type="xtext:Group">
- <elements xsi:type="xtext:Keyword" value="sends"/>
- <elements xsi:type="xtext:Assignment" feature="sendsMsg" operator="=">
- <terminal xsi:type="xtext:CrossReference">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//Message"/>
- </type>
- <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
- </terminal>
- </elements>
- </elements>
- </elements>
- <elements xsi:type="xtext:Assignment" cardinality="?" feature="docu" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.83"/>
- </elements>
- <elements xsi:type="xtext:Assignment" feature="detailCode" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.60"/>
- </elements>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:EnumRule" name="CommunicationType">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EEnum" href="http://www.eclipse.org/etrice/Room#//CommunicationType"/>
- </type>
- <alternatives xsi:type="xtext:Alternatives">
- <elements xsi:type="xtext:EnumLiteralDeclaration">
- <enumLiteral href="http://www.eclipse.org/etrice/Room#//CommunicationType/EVENT_DRIVEN"/>
- <literal value="eventdriven"/>
- </elements>
- <elements xsi:type="xtext:EnumLiteralDeclaration">
- <enumLiteral href="http://www.eclipse.org/etrice/Room#//CommunicationType/DATA_DRIVEN"/>
- <literal value="datadriven"/>
- </elements>
- <elements xsi:type="xtext:EnumLiteralDeclaration">
- <enumLiteral href="http://www.eclipse.org/etrice/Room#//CommunicationType/SYNCHRONOUS"/>
- <literal value="sync"/>
- </elements>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="GeneralProtocolClass">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//GeneralProtocolClass"/>
- </type>
- <alternatives xsi:type="xtext:Alternatives">
- <elements xsi:type="xtext:RuleCall" rule="/0/@rules.18"/>
- <elements xsi:type="xtext:RuleCall" rule="/0/@rules.19"/>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="ProtocolClass">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//ProtocolClass"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Assignment" cardinality="?" feature="commType" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.16"/>
- </elements>
- <elements xsi:type="xtext:Keyword" value="ProtocolClass"/>
- <elements xsi:type="xtext:Assignment" feature="name" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
- </elements>
- <elements xsi:type="xtext:Assignment" cardinality="?" feature="docu" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.83"/>
- </elements>
- <elements xsi:type="xtext:Group" cardinality="?">
- <elements xsi:type="xtext:Keyword" value="extends"/>
- <elements xsi:type="xtext:Assignment" feature="base" operator="=">
- <terminal xsi:type="xtext:CrossReference">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//ProtocolClass"/>
- </type>
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.88"/>
- </terminal>
- </elements>
- </elements>
- <elements xsi:type="xtext:Keyword" value="{"/>
- <elements xsi:type="xtext:Assignment" cardinality="*" feature="annotations" operator="+=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.84"/>
- </elements>
- <elements xsi:type="xtext:Group" cardinality="?">
- <elements xsi:type="xtext:Keyword" value="usercode1"/>
- <elements xsi:type="xtext:Assignment" feature="userCode1" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.60"/>
- </elements>
- </elements>
- <elements xsi:type="xtext:Group" cardinality="?">
- <elements xsi:type="xtext:Keyword" value="usercode2"/>
- <elements xsi:type="xtext:Assignment" feature="userCode2" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.60"/>
- </elements>
- </elements>
- <elements xsi:type="xtext:Group" cardinality="?">
- <elements xsi:type="xtext:Keyword" value="usercode3"/>
- <elements xsi:type="xtext:Assignment" feature="userCode3" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.60"/>
- </elements>
- </elements>
- <elements xsi:type="xtext:Group" cardinality="?">
- <elements xsi:type="xtext:Keyword" value="incoming"/>
- <elements xsi:type="xtext:Keyword" value="{"/>
- <elements xsi:type="xtext:Assignment" cardinality="*" feature="incomingMessages" operator="+=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.21"/>
- </elements>
- <elements xsi:type="xtext:Keyword" value="}"/>
- </elements>
- <elements xsi:type="xtext:Group" cardinality="?">
- <elements xsi:type="xtext:Keyword" value="outgoing"/>
- <elements xsi:type="xtext:Keyword" value="{"/>
- <elements xsi:type="xtext:Assignment" cardinality="*" feature="outgoingMessages" operator="+=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.21"/>
- </elements>
- <elements xsi:type="xtext:Keyword" value="}"/>
- </elements>
- <elements xsi:type="xtext:Group" cardinality="?">
- <elements xsi:type="xtext:Keyword" value="regular"/>
- <elements xsi:type="xtext:Keyword" value="PortClass"/>
- <elements xsi:type="xtext:Assignment" feature="regular" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.22"/>
- </elements>
- </elements>
- <elements xsi:type="xtext:Group" cardinality="?">
- <elements xsi:type="xtext:Keyword" value="conjugate"/>
- <elements xsi:type="xtext:Keyword" value="PortClass"/>
- <elements xsi:type="xtext:Assignment" feature="conjugate" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.22"/>
- </elements>
- </elements>
- <elements xsi:type="xtext:Assignment" cardinality="?" feature="semantics" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.26"/>
- </elements>
- <elements xsi:type="xtext:Keyword" value="}"/>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="CompoundProtocolClass">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//CompoundProtocolClass"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Keyword" value="CompoundProtocolClass"/>
- <elements xsi:type="xtext:Assignment" feature="name" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
- </elements>
- <elements xsi:type="xtext:Assignment" cardinality="?" feature="docu" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.83"/>
- </elements>
- <elements xsi:type="xtext:Keyword" value="{"/>
- <elements xsi:type="xtext:Assignment" cardinality="*" feature="annotations" operator="+=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.84"/>
- </elements>
- <elements xsi:type="xtext:Assignment" cardinality="+" feature="subProtocols" operator="+=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.20"/>
- </elements>
- <elements xsi:type="xtext:Keyword" value="}"/>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="SubProtocol">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//SubProtocol"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Keyword" value="SubProtocol"/>
- <elements xsi:type="xtext:Assignment" feature="name" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
- </elements>
- <elements xsi:type="xtext:Keyword" value=":"/>
- <elements xsi:type="xtext:Assignment" feature="protocol" operator="=">
- <terminal xsi:type="xtext:CrossReference">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//GeneralProtocolClass"/>
- </type>
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.88"/>
- </terminal>
- </elements>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="Message">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//Message"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Assignment" cardinality="?" feature="priv" operator="?=">
- <terminal xsi:type="xtext:Keyword" value="private"/>
- </elements>
- <elements xsi:type="xtext:Keyword" value="Message"/>
- <elements xsi:type="xtext:Assignment" feature="name" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
- </elements>
- <elements xsi:type="xtext:Keyword" value="("/>
- <elements xsi:type="xtext:Assignment" cardinality="?" feature="data" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/>
- </elements>
- <elements xsi:type="xtext:Keyword" value=")"/>
- <elements xsi:type="xtext:Assignment" cardinality="?" feature="docu" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.83"/>
- </elements>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="PortClass">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//PortClass"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Keyword" value="{"/>
- <elements xsi:type="xtext:Group" cardinality="?">
- <elements xsi:type="xtext:Keyword" value="usercode"/>
- <elements xsi:type="xtext:Assignment" feature="userCode" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.60"/>
- </elements>
- </elements>
- <elements xsi:type="xtext:Alternatives" cardinality="+">
- <elements xsi:type="xtext:Assignment" feature="attributes" operator="+=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.12"/>
- </elements>
- <elements xsi:type="xtext:Assignment" feature="operations" operator="+=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.15"/>
- </elements>
- <elements xsi:type="xtext:Assignment" feature="msgHandlers" operator="+=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.23"/>
- </elements>
- </elements>
- <elements xsi:type="xtext:Keyword" value="}"/>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="MessageHandler">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//MessageHandler"/>
- </type>
- <alternatives xsi:type="xtext:Alternatives">
- <elements xsi:type="xtext:RuleCall" rule="/0/@rules.24"/>
- <elements xsi:type="xtext:RuleCall" rule="/0/@rules.25"/>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="InMessageHandler">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//InMessageHandler"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Keyword" value="handle"/>
- <elements xsi:type="xtext:Keyword" value="incoming"/>
- <elements xsi:type="xtext:Assignment" feature="msg" operator="=">
- <terminal xsi:type="xtext:CrossReference">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//Message"/>
- </type>
- <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
- </terminal>
- </elements>
- <elements xsi:type="xtext:Assignment" feature="detailCode" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.60"/>
- </elements>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="OutMessageHandler">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//OutMessageHandler"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Keyword" value="handle"/>
- <elements xsi:type="xtext:Keyword" value="outgoing"/>
- <elements xsi:type="xtext:Assignment" feature="msg" operator="=">
- <terminal xsi:type="xtext:CrossReference">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//Message"/>
- </type>
- <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
- </terminal>
- </elements>
- <elements xsi:type="xtext:Assignment" feature="detailCode" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.60"/>
- </elements>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="ProtocolSemantics">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//ProtocolSemantics"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Action">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//ProtocolSemantics"/>
- </type>
- </elements>
- <elements xsi:type="xtext:Keyword" value="semantics"/>
- <elements xsi:type="xtext:Keyword" value="{"/>
- <elements xsi:type="xtext:Assignment" cardinality="*" feature="rules" operator="+=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.27"/>
- </elements>
- <elements xsi:type="xtext:Keyword" value="}"/>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="SemanticsRule">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//SemanticsRule"/>
- </type>
- <alternatives xsi:type="xtext:Alternatives">
- <elements xsi:type="xtext:RuleCall" rule="/0/@rules.28"/>
- <elements xsi:type="xtext:RuleCall" rule="/0/@rules.29"/>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="InSemanticsRule">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//InSemanticsRule"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Keyword" value="in"/>
- <elements xsi:type="xtext:Keyword" value=":"/>
- <elements xsi:type="xtext:Assignment" feature="msg" operator="=">
- <terminal xsi:type="xtext:CrossReference">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//Message"/>
- </type>
- <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
- </terminal>
- </elements>
- <elements xsi:type="xtext:Group" cardinality="?">
- <elements xsi:type="xtext:Keyword" value="->"/>
- <elements xsi:type="xtext:Alternatives">
- <elements xsi:type="xtext:Assignment" feature="followUps" operator="+=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.27"/>
- </elements>
- <elements xsi:type="xtext:Group">
- <elements xsi:type="xtext:Keyword" value="("/>
- <elements xsi:type="xtext:Assignment" feature="followUps" operator="+=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.27"/>
- </elements>
- <elements xsi:type="xtext:Group" cardinality="+">
- <elements xsi:type="xtext:Keyword" value=","/>
- <elements xsi:type="xtext:Assignment" feature="followUps" operator="+=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.27"/>
- </elements>
- </elements>
- <elements xsi:type="xtext:Keyword" value=")"/>
- </elements>
- </elements>
- </elements>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="OutSemanticsRule">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//OutSemanticsRule"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Keyword" value="out"/>
- <elements xsi:type="xtext:Keyword" value=":"/>
- <elements xsi:type="xtext:Assignment" feature="msg" operator="=">
- <terminal xsi:type="xtext:CrossReference">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//Message"/>
- </type>
- <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
- </terminal>
- </elements>
- <elements xsi:type="xtext:Group" cardinality="?">
- <elements xsi:type="xtext:Keyword" value="->"/>
- <elements xsi:type="xtext:Alternatives">
- <elements xsi:type="xtext:Assignment" feature="followUps" operator="+=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.27"/>
- </elements>
- <elements xsi:type="xtext:Group">
- <elements xsi:type="xtext:Keyword" value="("/>
- <elements xsi:type="xtext:Assignment" feature="followUps" operator="+=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.27"/>
- </elements>
- <elements xsi:type="xtext:Group" cardinality="+">
- <elements xsi:type="xtext:Keyword" value=","/>
- <elements xsi:type="xtext:Assignment" feature="followUps" operator="+=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.27"/>
- </elements>
- </elements>
- <elements xsi:type="xtext:Keyword" value=")"/>
- </elements>
- </elements>
- </elements>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:EnumRule" name="ActorCommunicationType">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EEnum" href="http://www.eclipse.org/etrice/Room#//ActorCommunicationType"/>
- </type>
- <alternatives xsi:type="xtext:Alternatives">
- <elements xsi:type="xtext:EnumLiteralDeclaration">
- <enumLiteral href="http://www.eclipse.org/etrice/Room#//ActorCommunicationType/EVENT_DRIVEN"/>
- <literal value="eventdriven"/>
- </elements>
- <elements xsi:type="xtext:EnumLiteralDeclaration">
- <enumLiteral href="http://www.eclipse.org/etrice/Room#//ActorCommunicationType/DATA_DRIVEN"/>
- <literal value="datadriven"/>
- </elements>
- <elements xsi:type="xtext:EnumLiteralDeclaration">
- <enumLiteral href="http://www.eclipse.org/etrice/Room#//ActorCommunicationType/ASYNCHRONOUS"/>
- <literal value="async"/>
- </elements>
- <elements xsi:type="xtext:EnumLiteralDeclaration">
- <enumLiteral href="http://www.eclipse.org/etrice/Room#//ActorCommunicationType/SYNCHRONOUS"/>
- <literal value="sync"/>
- </elements>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="ActorClass">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//ActorClass"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:UnorderedGroup">
- <elements xsi:type="xtext:Assignment" cardinality="?" feature="abstract" operator="?=">
- <terminal xsi:type="xtext:Keyword" value="abstract"/>
- </elements>
- <elements xsi:type="xtext:Assignment" cardinality="?" feature="commType" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.30"/>
- </elements>
- </elements>
- <elements xsi:type="xtext:Keyword" value="ActorClass"/>
- <elements xsi:type="xtext:Assignment" feature="name" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
- </elements>
- <elements xsi:type="xtext:Assignment" cardinality="?" feature="docu" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.83"/>
- </elements>
- <elements xsi:type="xtext:Group" cardinality="?">
- <elements xsi:type="xtext:Keyword" value="extends"/>
- <elements xsi:type="xtext:Assignment" feature="base" operator="=">
- <terminal xsi:type="xtext:CrossReference">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//ActorClass"/>
- </type>
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.88"/>
- </terminal>
- </elements>
- </elements>
- <elements xsi:type="xtext:Keyword" value="{"/>
- <elements xsi:type="xtext:Assignment" cardinality="*" feature="annotations" operator="+=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.84"/>
- </elements>
- <elements xsi:type="xtext:Group" cardinality="?">
- <elements xsi:type="xtext:Keyword" value="Interface"/>
- <elements xsi:type="xtext:Keyword" value="{"/>
- <elements xsi:type="xtext:Assignment" cardinality="*" feature="ifPorts" operator="+=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.33"/>
- </elements>
- <elements xsi:type="xtext:Assignment" cardinality="*" feature="ifSPPs" operator="+=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.36"/>
- </elements>
- <elements xsi:type="xtext:Keyword" value="}"/>
- </elements>
- <elements xsi:type="xtext:Group" cardinality="?">
- <elements xsi:type="xtext:Keyword" value="Structure"/>
- <elements xsi:type="xtext:Assignment" cardinality="?" feature="structureDocu" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.83"/>
- </elements>
- <elements xsi:type="xtext:Keyword" value="{"/>
- <elements xsi:type="xtext:Group" cardinality="?">
- <elements xsi:type="xtext:Keyword" value="usercode1"/>
- <elements xsi:type="xtext:Assignment" feature="userCode1" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.60"/>
- </elements>
- </elements>
- <elements xsi:type="xtext:Group" cardinality="?">
- <elements xsi:type="xtext:Keyword" value="usercode2"/>
- <elements xsi:type="xtext:Assignment" feature="userCode2" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.60"/>
- </elements>
- </elements>
- <elements xsi:type="xtext:Group" cardinality="?">
- <elements xsi:type="xtext:Keyword" value="usercode3"/>
- <elements xsi:type="xtext:Assignment" feature="userCode3" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.60"/>
- </elements>
- </elements>
- <elements xsi:type="xtext:Alternatives" cardinality="*">
- <elements xsi:type="xtext:Assignment" feature="intPorts" operator="+=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.33"/>
- </elements>
- <elements xsi:type="xtext:Assignment" feature="extPorts" operator="+=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.34"/>
- </elements>
- </elements>
- <elements xsi:type="xtext:Assignment" cardinality="*" feature="serviceImplementations" operator="+=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.37"/>
- </elements>
- <elements xsi:type="xtext:Assignment" cardinality="*" feature="strSAPs" operator="+=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.35"/>
- </elements>
- <elements xsi:type="xtext:Assignment" cardinality="*" feature="attributes" operator="+=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.12"/>
- </elements>
- <elements xsi:type="xtext:Assignment" cardinality="*" feature="actorRefs" operator="+=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.52"/>
- </elements>
- <elements xsi:type="xtext:Assignment" cardinality="*" feature="bindings" operator="+=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.45"/>
- </elements>
- <elements xsi:type="xtext:Assignment" cardinality="*" feature="connections" operator="+=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.47"/>
- </elements>
- <elements xsi:type="xtext:Keyword" value="}"/>
- </elements>
- <elements xsi:type="xtext:Group" cardinality="?">
- <elements xsi:type="xtext:Keyword" value="Behavior"/>
- <elements xsi:type="xtext:Assignment" cardinality="?" feature="behaviorDocu" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.83"/>
- </elements>
- <elements xsi:type="xtext:Keyword" value="{"/>
- <elements xsi:type="xtext:Assignment" cardinality="*" feature="behaviorAnnotations" operator="+=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.84"/>
- </elements>
- <elements xsi:type="xtext:Assignment" cardinality="*" feature="operations" operator="+=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.14"/>
- </elements>
- <elements xsi:type="xtext:Assignment" cardinality="?" feature="stateMachine" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.57"/>
- </elements>
- <elements xsi:type="xtext:Keyword" value="}"/>
- </elements>
- <elements xsi:type="xtext:Keyword" value="}"/>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="InterfaceItem">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//InterfaceItem"/>
- </type>
- <alternatives xsi:type="xtext:Alternatives">
- <elements xsi:type="xtext:RuleCall" rule="/0/@rules.33"/>
- <elements xsi:type="xtext:RuleCall" rule="/0/@rules.35"/>
- <elements xsi:type="xtext:RuleCall" rule="/0/@rules.36"/>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="Port">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//Port"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Assignment" cardinality="?" feature="conjugated" operator="?=">
- <terminal xsi:type="xtext:Keyword" value="conjugated"/>
- </elements>
- <elements xsi:type="xtext:Keyword" value="Port"/>
- <elements xsi:type="xtext:Assignment" feature="name" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
- </elements>
- <elements xsi:type="xtext:Assignment" cardinality="?" feature="multiplicity" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.89"/>
- </elements>
- <elements xsi:type="xtext:Keyword" value=":"/>
- <elements xsi:type="xtext:Assignment" feature="protocol" operator="=">
- <terminal xsi:type="xtext:CrossReference">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//GeneralProtocolClass"/>
- </type>
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.88"/>
- </terminal>
- </elements>
- <elements xsi:type="xtext:Assignment" cardinality="?" feature="docu" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.83"/>
- </elements>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="ExternalPort">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//ExternalPort"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Keyword" value="external"/>
- <elements xsi:type="xtext:Keyword" value="Port"/>
- <elements xsi:type="xtext:Assignment" feature="ifport" operator="=">
- <terminal xsi:type="xtext:CrossReference">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//Port"/>
- </type>
- <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
- </terminal>
- </elements>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="SAPRef">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//SAPRef"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Keyword" value="SAP"/>
- <elements xsi:type="xtext:Assignment" feature="name" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
- </elements>
- <elements xsi:type="xtext:Keyword" value=":"/>
- <elements xsi:type="xtext:Assignment" feature="protocol" operator="=">
- <terminal xsi:type="xtext:CrossReference">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//ProtocolClass"/>
- </type>
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.88"/>
- </terminal>
- </elements>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="SPPRef">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//SPPRef"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Keyword" value="SPP"/>
- <elements xsi:type="xtext:Assignment" feature="name" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
- </elements>
- <elements xsi:type="xtext:Keyword" value=":"/>
- <elements xsi:type="xtext:Assignment" feature="protocol" operator="=">
- <terminal xsi:type="xtext:CrossReference">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//ProtocolClass"/>
- </type>
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.88"/>
- </terminal>
- </elements>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="ServiceImplementation">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//ServiceImplementation"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Keyword" value="ServiceImplementation"/>
- <elements xsi:type="xtext:Keyword" value="of"/>
- <elements xsi:type="xtext:Assignment" feature="spp" operator="=">
- <terminal xsi:type="xtext:CrossReference">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//SPPRef"/>
- </type>
- <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
- </terminal>
- </elements>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="LogicalSystem">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//LogicalSystem"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Keyword" value="LogicalSystem"/>
- <elements xsi:type="xtext:Assignment" feature="name" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
- </elements>
- <elements xsi:type="xtext:Assignment" cardinality="?" feature="docu" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.83"/>
- </elements>
- <elements xsi:type="xtext:Keyword" value="{"/>
- <elements xsi:type="xtext:Assignment" cardinality="*" feature="annotations" operator="+=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.84"/>
- </elements>
- <elements xsi:type="xtext:Assignment" cardinality="*" feature="subSystems" operator="+=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.40"/>
- </elements>
- <elements xsi:type="xtext:Assignment" cardinality="*" feature="bindings" operator="+=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.45"/>
- </elements>
- <elements xsi:type="xtext:Assignment" cardinality="*" feature="connections" operator="+=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.47"/>
- </elements>
- <elements xsi:type="xtext:Keyword" value="}"/>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="ActorContainerRef">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//ActorContainerRef"/>
- </type>
- <alternatives xsi:type="xtext:Alternatives">
- <elements xsi:type="xtext:RuleCall" rule="/0/@rules.40"/>
- <elements xsi:type="xtext:RuleCall" rule="/0/@rules.52"/>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="SubSystemRef">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//SubSystemRef"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Keyword" value="SubSystemRef"/>
- <elements xsi:type="xtext:Assignment" feature="name" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
- </elements>
- <elements xsi:type="xtext:Keyword" value=":"/>
- <elements xsi:type="xtext:Assignment" feature="type" operator="=">
- <terminal xsi:type="xtext:CrossReference">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//SubSystemClass"/>
- </type>
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.88"/>
- </terminal>
- </elements>
- <elements xsi:type="xtext:Assignment" cardinality="?" feature="docu" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.83"/>
- </elements>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="SubSystemClass">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//SubSystemClass"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Keyword" value="SubSystemClass"/>
- <elements xsi:type="xtext:Assignment" feature="name" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
- </elements>
- <elements xsi:type="xtext:Assignment" cardinality="?" feature="docu" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.83"/>
- </elements>
- <elements xsi:type="xtext:Keyword" value="{"/>
- <elements xsi:type="xtext:Assignment" cardinality="*" feature="annotations" operator="+=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.84"/>
- </elements>
- <elements xsi:type="xtext:Group" cardinality="?">
- <elements xsi:type="xtext:Keyword" value="usercode1"/>
- <elements xsi:type="xtext:Assignment" feature="userCode1" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.60"/>
- </elements>
- </elements>
- <elements xsi:type="xtext:Group" cardinality="?">
- <elements xsi:type="xtext:Keyword" value="usercode2"/>
- <elements xsi:type="xtext:Assignment" feature="userCode2" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.60"/>
- </elements>
- </elements>
- <elements xsi:type="xtext:Group" cardinality="?">
- <elements xsi:type="xtext:Keyword" value="usercode3"/>
- <elements xsi:type="xtext:Assignment" feature="userCode3" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.60"/>
- </elements>
- </elements>
- <elements xsi:type="xtext:Assignment" cardinality="*" feature="relayPorts" operator="+=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.33"/>
- </elements>
- <elements xsi:type="xtext:Assignment" cardinality="*" feature="ifSPPs" operator="+=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.36"/>
- </elements>
- <elements xsi:type="xtext:Assignment" cardinality="*" feature="actorRefs" operator="+=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.52"/>
- </elements>
- <elements xsi:type="xtext:Assignment" cardinality="*" feature="bindings" operator="+=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.45"/>
- </elements>
- <elements xsi:type="xtext:Assignment" cardinality="*" feature="connections" operator="+=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.47"/>
- </elements>
- <elements xsi:type="xtext:Assignment" cardinality="*" feature="threads" operator="+=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.42"/>
- </elements>
- <elements xsi:type="xtext:Assignment" cardinality="*" feature="actorInstanceMappings" operator="+=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.43"/>
- </elements>
- <elements xsi:type="xtext:Keyword" value="}"/>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="LogicalThread">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//LogicalThread"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Keyword" value="LogicalThread"/>
- <elements xsi:type="xtext:Assignment" feature="name" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
- </elements>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="ActorInstanceMapping">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//ActorInstanceMapping"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Keyword" value="ActorInstanceMapping"/>
- <elements xsi:type="xtext:Assignment" feature="path" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.44"/>
- </elements>
- <elements xsi:type="xtext:Keyword" value="->"/>
- <elements xsi:type="xtext:Assignment" feature="thread" operator="=">
- <terminal xsi:type="xtext:CrossReference">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//LogicalThread"/>
- </type>
- <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
- </terminal>
- </elements>
- <elements xsi:type="xtext:Group" cardinality="?">
- <elements xsi:type="xtext:Keyword" value="{"/>
- <elements xsi:type="xtext:Assignment" cardinality="*" feature="actorInstanceMappings" operator="+=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.43"/>
- </elements>
- <elements xsi:type="xtext:Keyword" value="}"/>
- </elements>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="RefPath">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//RefPath"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Assignment" feature="refs" operator="+=">
- <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
- </elements>
- <elements xsi:type="xtext:Group" cardinality="*">
- <elements xsi:type="xtext:Keyword" value="/"/>
- <elements xsi:type="xtext:Assignment" feature="refs" operator="+=">
- <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
- </elements>
- </elements>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="Binding">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//Binding"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Keyword" value="Binding"/>
- <elements xsi:type="xtext:Assignment" feature="endpoint1" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.46"/>
- </elements>
- <elements xsi:type="xtext:Keyword" value="and"/>
- <elements xsi:type="xtext:Assignment" feature="endpoint2" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.46"/>
- </elements>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="BindingEndPoint">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//BindingEndPoint"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Group" cardinality="?">
- <elements xsi:type="xtext:Assignment" feature="actorRef" operator="=">
- <terminal xsi:type="xtext:CrossReference">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//ActorContainerRef"/>
- </type>
- <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
- </terminal>
- </elements>
- <elements xsi:type="xtext:Keyword" value="."/>
- </elements>
- <elements xsi:type="xtext:Assignment" feature="port" operator="=">
- <terminal xsi:type="xtext:CrossReference">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//Port"/>
- </type>
- <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
- </terminal>
- </elements>
- <elements xsi:type="xtext:Group" cardinality="?">
- <elements xsi:type="xtext:Keyword" value="sub"/>
- <elements xsi:type="xtext:Assignment" feature="sub" operator="=">
- <terminal xsi:type="xtext:CrossReference">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//SubProtocol"/>
- </type>
- <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
- </terminal>
- </elements>
- </elements>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="LayerConnection">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//LayerConnection"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Keyword" value="LayerConnection"/>
- <elements xsi:type="xtext:Assignment" feature="from" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.48"/>
- </elements>
- <elements xsi:type="xtext:Keyword" value="satisfied_by"/>
- <elements xsi:type="xtext:Assignment" feature="to" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.51"/>
- </elements>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="SAPoint">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//SAPoint"/>
- </type>
- <alternatives xsi:type="xtext:Alternatives">
- <elements xsi:type="xtext:RuleCall" rule="/0/@rules.49"/>
- <elements xsi:type="xtext:RuleCall" rule="/0/@rules.50"/>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="RefSAPoint">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//RefSAPoint"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Keyword" value="ref"/>
- <elements xsi:type="xtext:Assignment" feature="ref" operator="=">
- <terminal xsi:type="xtext:CrossReference">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//ActorContainerRef"/>
- </type>
- <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
- </terminal>
- </elements>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="RelaySAPoint">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//RelaySAPoint"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Keyword" value="relay_sap"/>
- <elements xsi:type="xtext:Assignment" feature="relay" operator="=">
- <terminal xsi:type="xtext:CrossReference">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//SPPRef"/>
- </type>
- <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
- </terminal>
- </elements>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="SPPoint">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//SPPoint"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Assignment" feature="ref" operator="=">
- <terminal xsi:type="xtext:CrossReference">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//ActorContainerRef"/>
- </type>
- <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
- </terminal>
- </elements>
- <elements xsi:type="xtext:Keyword" value="."/>
- <elements xsi:type="xtext:Assignment" feature="service" operator="=">
- <terminal xsi:type="xtext:CrossReference">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//SPPRef"/>
- </type>
- <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
- </terminal>
- </elements>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="ActorRef">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//ActorRef"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Keyword" value="ActorRef"/>
- <elements xsi:type="xtext:Assignment" feature="name" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
- </elements>
- <elements xsi:type="xtext:Group" cardinality="?">
- <elements xsi:type="xtext:Keyword" value="["/>
- <elements xsi:type="xtext:Assignment" feature="size" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.1"/>
- </elements>
- <elements xsi:type="xtext:Keyword" value="]"/>
- </elements>
- <elements xsi:type="xtext:Keyword" value=":"/>
- <elements xsi:type="xtext:Assignment" feature="type" operator="=">
- <terminal xsi:type="xtext:CrossReference">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//ActorClass"/>
- </type>
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.88"/>
- </terminal>
- </elements>
- <elements xsi:type="xtext:Assignment" cardinality="?" feature="docu" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.83"/>
- </elements>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="StateGraphNode">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//StateGraphNode"/>
- </type>
- <alternatives xsi:type="xtext:Alternatives">
- <elements xsi:type="xtext:RuleCall" rule="/0/@rules.55"/>
- <elements xsi:type="xtext:RuleCall" rule="/0/@rules.65"/>
- <elements xsi:type="xtext:RuleCall" rule="/0/@rules.61"/>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="StateGraphItem">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//StateGraphItem"/>
- </type>
- <alternatives xsi:type="xtext:Alternatives">
- <elements xsi:type="xtext:RuleCall" rule="/0/@rules.53"/>
- <elements xsi:type="xtext:RuleCall" rule="/0/@rules.66"/>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="State">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//State"/>
- </type>
- <alternatives xsi:type="xtext:Alternatives">
- <elements xsi:type="xtext:RuleCall" rule="/0/@rules.58"/>
- <elements xsi:type="xtext:RuleCall" rule="/0/@rules.59"/>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="StateGraph">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//StateGraph"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Action">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//StateGraph"/>
- </type>
- </elements>
- <elements xsi:type="xtext:Keyword" value="{"/>
- <elements xsi:type="xtext:Alternatives" cardinality="*">
- <elements xsi:type="xtext:Assignment" feature="states" operator="+=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.55"/>
- </elements>
- <elements xsi:type="xtext:Assignment" feature="trPoints" operator="+=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.61"/>
- </elements>
- <elements xsi:type="xtext:Assignment" feature="chPoints" operator="+=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.65"/>
- </elements>
- <elements xsi:type="xtext:Assignment" feature="transitions" operator="+=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.66"/>
- </elements>
- <elements xsi:type="xtext:Assignment" feature="refinedTransitions" operator="+=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.74"/>
- </elements>
- </elements>
- <elements xsi:type="xtext:Keyword" value="}"/>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="StateMachine">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//StateGraph"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Action">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//StateGraph"/>
- </type>
- </elements>
- <elements xsi:type="xtext:Keyword" value="StateMachine"/>
- <elements xsi:type="xtext:Keyword" value="{"/>
- <elements xsi:type="xtext:Alternatives" cardinality="*">
- <elements xsi:type="xtext:Assignment" feature="states" operator="+=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.55"/>
- </elements>
- <elements xsi:type="xtext:Assignment" feature="trPoints" operator="+=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.61"/>
- </elements>
- <elements xsi:type="xtext:Assignment" feature="chPoints" operator="+=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.65"/>
- </elements>
- <elements xsi:type="xtext:Assignment" feature="transitions" operator="+=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.66"/>
- </elements>
- <elements xsi:type="xtext:Assignment" feature="refinedTransitions" operator="+=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.74"/>
- </elements>
- </elements>
- <elements xsi:type="xtext:Keyword" value="}"/>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="SimpleState">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//SimpleState"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Keyword" value="State"/>
- <elements xsi:type="xtext:Assignment" feature="name" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
- </elements>
- <elements xsi:type="xtext:Assignment" cardinality="?" feature="docu" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.83"/>
- </elements>
- <elements xsi:type="xtext:Group" cardinality="?">
- <elements xsi:type="xtext:Keyword" value="{"/>
- <elements xsi:type="xtext:Group" cardinality="?">
- <elements xsi:type="xtext:Keyword" value="entry"/>
- <elements xsi:type="xtext:Assignment" feature="entryCode" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.60"/>
- </elements>
- </elements>
- <elements xsi:type="xtext:Group" cardinality="?">
- <elements xsi:type="xtext:Keyword" value="exit"/>
- <elements xsi:type="xtext:Assignment" feature="exitCode" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.60"/>
- </elements>
- </elements>
- <elements xsi:type="xtext:Group" cardinality="?">
- <elements xsi:type="xtext:Keyword" value="do"/>
- <elements xsi:type="xtext:Assignment" feature="doCode" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.60"/>
- </elements>
- </elements>
- <elements xsi:type="xtext:Group" cardinality="?">
- <elements xsi:type="xtext:Keyword" value="subgraph"/>
- <elements xsi:type="xtext:Assignment" feature="subgraph" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.56"/>
- </elements>
- </elements>
- <elements xsi:type="xtext:Keyword" value="}"/>
- </elements>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="RefinedState">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//RefinedState"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Keyword" value="RefinedState"/>
- <elements xsi:type="xtext:Assignment" feature="target" operator="=">
- <terminal xsi:type="xtext:CrossReference">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//State"/>
- </type>
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.88"/>
- </terminal>
- </elements>
- <elements xsi:type="xtext:Assignment" cardinality="?" feature="docu" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.83"/>
- </elements>
- <elements xsi:type="xtext:Keyword" value="{"/>
- <elements xsi:type="xtext:Group" cardinality="?">
- <elements xsi:type="xtext:Keyword" value="entry"/>
- <elements xsi:type="xtext:Assignment" feature="entryCode" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.60"/>
- </elements>
- </elements>
- <elements xsi:type="xtext:Group" cardinality="?">
- <elements xsi:type="xtext:Keyword" value="exit"/>
- <elements xsi:type="xtext:Assignment" feature="exitCode" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.60"/>
- </elements>
- </elements>
- <elements xsi:type="xtext:Group" cardinality="?">
- <elements xsi:type="xtext:Keyword" value="do"/>
- <elements xsi:type="xtext:Assignment" feature="doCode" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.60"/>
- </elements>
- </elements>
- <elements xsi:type="xtext:Group" cardinality="?">
- <elements xsi:type="xtext:Keyword" value="subgraph"/>
- <elements xsi:type="xtext:Assignment" feature="subgraph" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.56"/>
- </elements>
- </elements>
- <elements xsi:type="xtext:Keyword" value="}"/>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="DetailCode">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//DetailCode"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Keyword" value="{"/>
- <elements xsi:type="xtext:Assignment" cardinality="+" feature="commands" operator="+=">
- <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.2"/>
- </elements>
- <elements xsi:type="xtext:Keyword" value="}"/>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="TrPoint">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//TrPoint"/>
- </type>
- <alternatives xsi:type="xtext:Alternatives">
- <elements xsi:type="xtext:RuleCall" rule="/0/@rules.62"/>
- <elements xsi:type="xtext:RuleCall" rule="/0/@rules.63"/>
- <elements xsi:type="xtext:RuleCall" rule="/0/@rules.64"/>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="TransitionPoint">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//TransitionPoint"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Assignment" cardinality="?" feature="handler" operator="?=">
- <terminal xsi:type="xtext:Keyword" value="handler"/>
- </elements>
- <elements xsi:type="xtext:Keyword" value="TransitionPoint"/>
- <elements xsi:type="xtext:Assignment" feature="name" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
- </elements>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="EntryPoint">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//EntryPoint"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Keyword" value="EntryPoint"/>
- <elements xsi:type="xtext:Assignment" feature="name" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
- </elements>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="ExitPoint">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//ExitPoint"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Keyword" value="ExitPoint"/>
- <elements xsi:type="xtext:Assignment" feature="name" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
- </elements>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="ChoicePoint">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//ChoicePoint"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Keyword" value="ChoicePoint"/>
- <elements xsi:type="xtext:Assignment" feature="name" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
- </elements>
- <elements xsi:type="xtext:Assignment" cardinality="?" feature="docu" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.83"/>
- </elements>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="Transition">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//Transition"/>
- </type>
- <alternatives xsi:type="xtext:Alternatives">
- <elements xsi:type="xtext:RuleCall" rule="/0/@rules.69"/>
- <elements xsi:type="xtext:RuleCall" rule="/0/@rules.67"/>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="NonInitialTransition">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//NonInitialTransition"/>
- </type>
- <alternatives xsi:type="xtext:Alternatives">
- <elements xsi:type="xtext:RuleCall" rule="/0/@rules.68"/>
- <elements xsi:type="xtext:RuleCall" rule="/0/@rules.70"/>
- <elements xsi:type="xtext:RuleCall" rule="/0/@rules.73"/>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="TransitionChainStartTransition">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//TransitionChainStartTransition"/>
- </type>
- <alternatives xsi:type="xtext:Alternatives">
- <elements xsi:type="xtext:RuleCall" rule="/0/@rules.71"/>
- <elements xsi:type="xtext:RuleCall" rule="/0/@rules.72"/>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="InitialTransition">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//InitialTransition"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Keyword" value="Transition"/>
- <elements xsi:type="xtext:Assignment" cardinality="?" feature="name" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
- </elements>
- <elements xsi:type="xtext:Keyword" value=":"/>
- <elements xsi:type="xtext:Keyword" value="initial"/>
- <elements xsi:type="xtext:Keyword" value="->"/>
- <elements xsi:type="xtext:Assignment" feature="to" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.75"/>
- </elements>
- <elements xsi:type="xtext:Assignment" cardinality="?" feature="docu" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.83"/>
- </elements>
- <elements xsi:type="xtext:Keyword" value="{"/>
- <elements xsi:type="xtext:Group" cardinality="?">
- <elements xsi:type="xtext:Keyword" value="action"/>
- <elements xsi:type="xtext:Assignment" feature="action" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.60"/>
- </elements>
- </elements>
- <elements xsi:type="xtext:Keyword" value="}"/>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="ContinuationTransition">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//ContinuationTransition"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Keyword" value="Transition"/>
- <elements xsi:type="xtext:Assignment" cardinality="?" feature="name" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
- </elements>
- <elements xsi:type="xtext:Keyword" value=":"/>
- <elements xsi:type="xtext:Assignment" feature="from" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.75"/>
- </elements>
- <elements xsi:type="xtext:Keyword" value="->"/>
- <elements xsi:type="xtext:Assignment" feature="to" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.75"/>
- </elements>
- <elements xsi:type="xtext:Assignment" cardinality="?" feature="docu" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.83"/>
- </elements>
- <elements xsi:type="xtext:Group" cardinality="?">
- <elements xsi:type="xtext:Keyword" value="{"/>
- <elements xsi:type="xtext:Group" cardinality="?">
- <elements xsi:type="xtext:Keyword" value="action"/>
- <elements xsi:type="xtext:Assignment" feature="action" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.60"/>
- </elements>
- </elements>
- <elements xsi:type="xtext:Keyword" value="}"/>
- </elements>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="TriggeredTransition">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//TriggeredTransition"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Keyword" value="Transition"/>
- <elements xsi:type="xtext:Assignment" cardinality="?" feature="name" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
- </elements>
- <elements xsi:type="xtext:Keyword" value=":"/>
- <elements xsi:type="xtext:Assignment" feature="from" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.75"/>
- </elements>
- <elements xsi:type="xtext:Keyword" value="->"/>
- <elements xsi:type="xtext:Assignment" feature="to" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.75"/>
- </elements>
- <elements xsi:type="xtext:Assignment" cardinality="?" feature="docu" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.83"/>
- </elements>
- <elements xsi:type="xtext:Keyword" value="{"/>
- <elements xsi:type="xtext:Keyword" value="triggers"/>
- <elements xsi:type="xtext:Keyword" value="{"/>
- <elements xsi:type="xtext:Assignment" feature="triggers" operator="+=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.80"/>
- </elements>
- <elements xsi:type="xtext:Group" cardinality="*">
- <elements xsi:type="xtext:Keyword" value="or"/>
- <elements xsi:type="xtext:Assignment" feature="triggers" operator="+=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.80"/>
- </elements>
- </elements>
- <elements xsi:type="xtext:Keyword" value="}"/>
- <elements xsi:type="xtext:Group" cardinality="?">
- <elements xsi:type="xtext:Keyword" value="action"/>
- <elements xsi:type="xtext:Assignment" feature="action" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.60"/>
- </elements>
- </elements>
- <elements xsi:type="xtext:Keyword" value="}"/>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="GuardedTransition">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//GuardedTransition"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Keyword" value="Transition"/>
- <elements xsi:type="xtext:Assignment" cardinality="?" feature="name" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
- </elements>
- <elements xsi:type="xtext:Keyword" value=":"/>
- <elements xsi:type="xtext:Assignment" feature="from" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.75"/>
- </elements>
- <elements xsi:type="xtext:Keyword" value="->"/>
- <elements xsi:type="xtext:Assignment" feature="to" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.75"/>
- </elements>
- <elements xsi:type="xtext:Assignment" cardinality="?" feature="docu" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.83"/>
- </elements>
- <elements xsi:type="xtext:Keyword" value="{"/>
- <elements xsi:type="xtext:Keyword" value="guard"/>
- <elements xsi:type="xtext:Assignment" feature="guard" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.60"/>
- </elements>
- <elements xsi:type="xtext:Group" cardinality="?">
- <elements xsi:type="xtext:Keyword" value="action"/>
- <elements xsi:type="xtext:Assignment" feature="action" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.60"/>
- </elements>
- </elements>
- <elements xsi:type="xtext:Keyword" value="}"/>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="CPBranchTransition">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//CPBranchTransition"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Keyword" value="Transition"/>
- <elements xsi:type="xtext:Assignment" cardinality="?" feature="name" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
- </elements>
- <elements xsi:type="xtext:Keyword" value=":"/>
- <elements xsi:type="xtext:Assignment" feature="from" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.75"/>
- </elements>
- <elements xsi:type="xtext:Keyword" value="->"/>
- <elements xsi:type="xtext:Assignment" feature="to" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.75"/>
- </elements>
- <elements xsi:type="xtext:Assignment" cardinality="?" feature="docu" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.83"/>
- </elements>
- <elements xsi:type="xtext:Keyword" value="{"/>
- <elements xsi:type="xtext:Keyword" value="cond"/>
- <elements xsi:type="xtext:Assignment" feature="condition" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.60"/>
- </elements>
- <elements xsi:type="xtext:Group" cardinality="?">
- <elements xsi:type="xtext:Keyword" value="action"/>
- <elements xsi:type="xtext:Assignment" feature="action" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.60"/>
- </elements>
- </elements>
- <elements xsi:type="xtext:Keyword" value="}"/>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="RefinedTransition">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//RefinedTransition"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Keyword" value="RefinedTransition"/>
- <elements xsi:type="xtext:Assignment" feature="target" operator="=">
- <terminal xsi:type="xtext:CrossReference">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//Transition"/>
- </type>
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.88"/>
- </terminal>
- </elements>
- <elements xsi:type="xtext:Assignment" cardinality="?" feature="docu" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.83"/>
- </elements>
- <elements xsi:type="xtext:Keyword" value="{"/>
- <elements xsi:type="xtext:Keyword" value="action"/>
- <elements xsi:type="xtext:Assignment" feature="action" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.60"/>
- </elements>
- <elements xsi:type="xtext:Keyword" value="}"/>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="TransitionTerminal">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//TransitionTerminal"/>
- </type>
- <alternatives xsi:type="xtext:Alternatives">
- <elements xsi:type="xtext:RuleCall" rule="/0/@rules.76"/>
- <elements xsi:type="xtext:RuleCall" rule="/0/@rules.77"/>
- <elements xsi:type="xtext:RuleCall" rule="/0/@rules.78"/>
- <elements xsi:type="xtext:RuleCall" rule="/0/@rules.79"/>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="StateTerminal">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//StateTerminal"/>
- </type>
- <alternatives xsi:type="xtext:Assignment" feature="state" operator="=">
- <terminal xsi:type="xtext:CrossReference">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//State"/>
- </type>
- <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
- </terminal>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="TrPointTerminal">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//TrPointTerminal"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Keyword" value="my"/>
- <elements xsi:type="xtext:Assignment" feature="trPoint" operator="=">
- <terminal xsi:type="xtext:CrossReference">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//TrPoint"/>
- </type>
- <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
- </terminal>
- </elements>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="SubStateTrPointTerminal">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//SubStateTrPointTerminal"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Assignment" feature="trPoint" operator="=">
- <terminal xsi:type="xtext:CrossReference">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//TrPoint"/>
- </type>
- <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
- </terminal>
- </elements>
- <elements xsi:type="xtext:Keyword" value="of"/>
- <elements xsi:type="xtext:Assignment" feature="state" operator="=">
- <terminal xsi:type="xtext:CrossReference">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//State"/>
- </type>
- <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
- </terminal>
- </elements>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="ChoicepointTerminal">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//ChoicepointTerminal"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Keyword" value="cp"/>
- <elements xsi:type="xtext:Assignment" feature="cp" operator="=">
- <terminal xsi:type="xtext:CrossReference">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//ChoicePoint"/>
- </type>
- <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
- </terminal>
- </elements>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="Trigger">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//Trigger"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Keyword" value="&lt;"/>
- <elements xsi:type="xtext:Assignment" feature="msgFromIfPairs" operator="+=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.81"/>
- </elements>
- <elements xsi:type="xtext:Group" cardinality="*">
- <elements xsi:type="xtext:Keyword" value="|"/>
- <elements xsi:type="xtext:Assignment" feature="msgFromIfPairs" operator="+=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.81"/>
- </elements>
- </elements>
- <elements xsi:type="xtext:Assignment" cardinality="?" feature="guard" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.82"/>
- </elements>
- <elements xsi:type="xtext:Keyword" value=">"/>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="MessageFromIf">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//MessageFromIf"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Assignment" feature="message" operator="=">
- <terminal xsi:type="xtext:CrossReference">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//Message"/>
- </type>
- <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
- </terminal>
- </elements>
- <elements xsi:type="xtext:Keyword" value=":"/>
- <elements xsi:type="xtext:Assignment" feature="from" operator="=">
- <terminal xsi:type="xtext:CrossReference">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//InterfaceItem"/>
- </type>
- <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
- </terminal>
- </elements>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="Guard">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//Guard"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Keyword" value="guard"/>
- <elements xsi:type="xtext:Assignment" feature="guard" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.60"/>
- </elements>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="Documentation">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//Documentation"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Keyword" value="["/>
- <elements xsi:type="xtext:Assignment" cardinality="+" feature="text" operator="+=">
- <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.2"/>
- </elements>
- <elements xsi:type="xtext:Keyword" value="]"/>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="Annotation">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//Annotation"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Keyword" value="@"/>
- <elements xsi:type="xtext:Assignment" feature="name" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
- </elements>
- <elements xsi:type="xtext:Group" cardinality="?">
- <elements xsi:type="xtext:Keyword" value="("/>
- <elements xsi:type="xtext:Assignment" feature="attributes" operator="+=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.85"/>
- </elements>
- <elements xsi:type="xtext:Group" cardinality="*">
- <elements xsi:type="xtext:Keyword" value=","/>
- <elements xsi:type="xtext:Assignment" feature="attributes" operator="+=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.85"/>
- </elements>
- </elements>
- <elements xsi:type="xtext:Keyword" value=")"/>
- </elements>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="KeyValue">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//KeyValue"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Assignment" feature="key" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
- </elements>
- <elements xsi:type="xtext:Keyword" value="="/>
- <elements xsi:type="xtext:Assignment" feature="value" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.2"/>
- </elements>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="Import">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//Import"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Keyword" value="import"/>
- <elements xsi:type="xtext:Alternatives">
- <elements xsi:type="xtext:Group">
- <elements xsi:type="xtext:Assignment" feature="importedNamespace" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.87"/>
- </elements>
- <elements xsi:type="xtext:Keyword" value="from"/>
- </elements>
- <elements xsi:type="xtext:Keyword" value="model"/>
- </elements>
- <elements xsi:type="xtext:Assignment" feature="importURI" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.2"/>
- </elements>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="ImportedFQN">
- <type metamodel="/0/@metamodelDeclarations.0">
- <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:RuleCall" rule="/0/@rules.88"/>
- <elements xsi:type="xtext:Keyword" cardinality="?" value=".*"/>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="FQN">
- <type metamodel="/0/@metamodelDeclarations.0">
- <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
- <elements xsi:type="xtext:Group" cardinality="*">
- <elements xsi:type="xtext:Keyword" value="."/>
- <elements xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
- </elements>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="MULTIPLICITY">
- <type metamodel="/0/@metamodelDeclarations.0">
- <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Keyword" value="["/>
- <elements xsi:type="xtext:Alternatives">
- <elements xsi:type="xtext:Keyword" value="*"/>
- <elements xsi:type="xtext:RuleCall" rule="/1/@rules.1"/>
- </elements>
- <elements xsi:type="xtext:Keyword" value="]"/>
- </alternatives>
- </rules>
- </xtext:Grammar>
- <xtext:Grammar name="org.eclipse.xtext.common.Terminals" definesHiddenTokens="true" hiddenTokens="/1/@rules.5 /1/@rules.3 /1/@rules.4">
- <metamodelDeclarations xsi:type="xtext:ReferencedMetamodel" alias="ecore">
- <ePackage href="http://www.eclipse.org/emf/2002/Ecore#/"/>
- </metamodelDeclarations>
- <rules xsi:type="xtext:TerminalRule" name="ID">
- <type metamodel="/1/@metamodelDeclarations.0">
- <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Keyword" cardinality="?" value="^"/>
- <elements xsi:type="xtext:Alternatives">
- <elements xsi:type="xtext:CharacterRange">
- <left value="a"/>
- <right value="z"/>
- </elements>
- <elements xsi:type="xtext:CharacterRange">
- <left value="A"/>
- <right value="Z"/>
- </elements>
- <elements xsi:type="xtext:Keyword" value="_"/>
- </elements>
- <elements xsi:type="xtext:Alternatives" cardinality="*">
- <elements xsi:type="xtext:CharacterRange">
- <left value="a"/>
- <right value="z"/>
- </elements>
- <elements xsi:type="xtext:CharacterRange">
- <left value="A"/>
- <right value="Z"/>
- </elements>
- <elements xsi:type="xtext:Keyword" value="_"/>
- <elements xsi:type="xtext:CharacterRange">
- <left value="0"/>
- <right value="9"/>
- </elements>
- </elements>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:TerminalRule" name="INT">
- <type metamodel="/1/@metamodelDeclarations.0">
- <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
- </type>
- <alternatives xsi:type="xtext:CharacterRange" cardinality="+">
- <left value="0"/>
- <right value="9"/>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:TerminalRule" name="STRING">
- <type metamodel="/1/@metamodelDeclarations.0">
- <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- </type>
- <alternatives xsi:type="xtext:Alternatives">
- <elements xsi:type="xtext:Group">
- <elements xsi:type="xtext:Keyword" value="&quot;"/>
- <elements xsi:type="xtext:Alternatives" cardinality="*">
- <elements xsi:type="xtext:Group">
- <elements xsi:type="xtext:Keyword" value="\"/>
- <elements xsi:type="xtext:Alternatives">
- <elements xsi:type="xtext:Keyword" value="b"/>
- <elements xsi:type="xtext:Keyword" value="t"/>
- <elements xsi:type="xtext:Keyword" value="n"/>
- <elements xsi:type="xtext:Keyword" value="f"/>
- <elements xsi:type="xtext:Keyword" value="r"/>
- <elements xsi:type="xtext:Keyword" value="u"/>
- <elements xsi:type="xtext:Keyword" value="&quot;"/>
- <elements xsi:type="xtext:Keyword" value="'"/>
- <elements xsi:type="xtext:Keyword" value="\"/>
- </elements>
- </elements>
- <elements xsi:type="xtext:NegatedToken">
- <terminal xsi:type="xtext:Alternatives">
- <elements xsi:type="xtext:Keyword" value="\"/>
- <elements xsi:type="xtext:Keyword" value="&quot;"/>
- </terminal>
- </elements>
- </elements>
- <elements xsi:type="xtext:Keyword" value="&quot;"/>
- </elements>
- <elements xsi:type="xtext:Group">
- <elements xsi:type="xtext:Keyword" value="'"/>
- <elements xsi:type="xtext:Alternatives" cardinality="*">
- <elements xsi:type="xtext:Group">
- <elements xsi:type="xtext:Keyword" value="\"/>
- <elements xsi:type="xtext:Alternatives">
- <elements xsi:type="xtext:Keyword" value="b"/>
- <elements xsi:type="xtext:Keyword" value="t"/>
- <elements xsi:type="xtext:Keyword" value="n"/>
- <elements xsi:type="xtext:Keyword" value="f"/>
- <elements xsi:type="xtext:Keyword" value="r"/>
- <elements xsi:type="xtext:Keyword" value="u"/>
- <elements xsi:type="xtext:Keyword" value="&quot;"/>
- <elements xsi:type="xtext:Keyword" value="'"/>
- <elements xsi:type="xtext:Keyword" value="\"/>
- </elements>
- </elements>
- <elements xsi:type="xtext:NegatedToken">
- <terminal xsi:type="xtext:Alternatives">
- <elements xsi:type="xtext:Keyword" value="\"/>
- <elements xsi:type="xtext:Keyword" value="'"/>
- </terminal>
- </elements>
- </elements>
- <elements xsi:type="xtext:Keyword" value="'"/>
- </elements>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:TerminalRule" name="ML_COMMENT">
- <type metamodel="/1/@metamodelDeclarations.0">
- <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Keyword" value="/*"/>
- <elements xsi:type="xtext:UntilToken">
- <terminal xsi:type="xtext:Keyword" value="*/"/>
- </elements>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:TerminalRule" name="SL_COMMENT">
- <type metamodel="/1/@metamodelDeclarations.0">
- <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Keyword" value="//"/>
- <elements xsi:type="xtext:NegatedToken" cardinality="*">
- <terminal xsi:type="xtext:Alternatives">
- <elements xsi:type="xtext:Keyword" value="&#xA;"/>
- <elements xsi:type="xtext:Keyword" value="&#xD;"/>
- </terminal>
- </elements>
- <elements xsi:type="xtext:Group" cardinality="?">
- <elements xsi:type="xtext:Keyword" cardinality="?" value="&#xD;"/>
- <elements xsi:type="xtext:Keyword" value="&#xA;"/>
- </elements>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:TerminalRule" name="WS">
- <type metamodel="/1/@metamodelDeclarations.0">
- <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- </type>
- <alternatives xsi:type="xtext:Alternatives" cardinality="+">
- <elements xsi:type="xtext:Keyword" value=" "/>
- <elements xsi:type="xtext:Keyword" value="&#x9;"/>
- <elements xsi:type="xtext:Keyword" value="&#xD;"/>
- <elements xsi:type="xtext:Keyword" value="&#xA;"/>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:TerminalRule" name="ANY_OTHER">
- <type metamodel="/1/@metamodelDeclarations.0">
- <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- </type>
- <alternatives xsi:type="xtext:Wildcard"/>
- </rules>
- </xtext:Grammar>
-</xmi:XMI>
diff --git a/plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoomLexer.java b/plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoomLexer.java
index 2a078fccd..41aad65d8 100644
--- a/plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoomLexer.java
+++ b/plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoomLexer.java
@@ -10,7 +10,7 @@ import java.util.Stack;
import java.util.List;
import java.util.ArrayList;
-@SuppressWarnings("all")
+@SuppressWarnings("all")
public class InternalRoomLexer extends Lexer {
public static final int RULE_ID=4;
public static final int T__29=29;
diff --git a/plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoomParser.java b/plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoomParser.java
index faaae0c0b..917dea354 100644
--- a/plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoomParser.java
+++ b/plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoomParser.java
@@ -19,7 +19,7 @@ import java.util.Stack;
import java.util.List;
import java.util.ArrayList;
-@SuppressWarnings("all")
+@SuppressWarnings("all")
public class InternalRoomParser extends AbstractInternalAntlrParser {
public static final String[] tokenNames = new String[] {
"<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_ID", "RULE_STRING", "RULE_INT", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'RoomModel'", "'{'", "'}'", "':'", "'ref'", "'PrimitiveType'", "'->'", "'('", "')'", "'default'", "'ExternalType'", "'DataClass'", "'extends'", "'usercode1'", "'usercode2'", "'usercode3'", "'Attribute'", "'['", "']'", "'='", "'Operation'", "'~'", "','", "'void'", "'sends'", "'ProtocolClass'", "'incoming'", "'outgoing'", "'regular'", "'PortClass'", "'conjugate'", "'CompoundProtocolClass'", "'SubProtocol'", "'private'", "'Message'", "'usercode'", "'handle'", "'semantics'", "'in'", "'out'", "'abstract'", "'ActorClass'", "'Interface'", "'Structure'", "'Behavior'", "'conjugated'", "'Port'", "'external'", "'SAP'", "'SPP'", "'ServiceImplementation'", "'of'", "'LogicalSystem'", "'SubSystemRef'", "'SubSystemClass'", "'LogicalThread'", "'ActorInstanceMapping'", "'/'", "'Binding'", "'and'", "'.'", "'sub'", "'LayerConnection'", "'satisfied_by'", "'relay_sap'", "'ActorRef'", "'StateMachine'", "'State'", "'entry'", "'exit'", "'do'", "'subgraph'", "'RefinedState'", "'handler'", "'TransitionPoint'", "'EntryPoint'", "'ExitPoint'", "'ChoicePoint'", "'Transition'", "'initial'", "'action'", "'triggers'", "'or'", "'guard'", "'cond'", "'RefinedTransition'", "'my'", "'cp'", "'<'", "'|'", "'>'", "'@'", "'import'", "'from'", "'model'", "'.*'", "'*'", "'ptBoolean'", "'ptInteger'", "'ptReal'", "'ptCharacter'", "'eventdriven'", "'datadriven'", "'sync'", "'async'"
diff --git a/plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/impl/RoomFactoryImpl.java b/plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/impl/RoomFactoryImpl.java
index 340749e41..7b679ed7e 100644
--- a/plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/impl/RoomFactoryImpl.java
+++ b/plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/impl/RoomFactoryImpl.java
@@ -31,7 +31,7 @@ public class RoomFactoryImpl extends EFactoryImpl implements RoomFactory
{
try
{
- RoomFactory theRoomFactory = (RoomFactory)EPackage.Registry.INSTANCE.getEFactory("http://www.eclipse.org/etrice/Room");
+ RoomFactory theRoomFactory = (RoomFactory)EPackage.Registry.INSTANCE.getEFactory(RoomPackage.eNS_URI);
if (theRoomFactory != null)
{
return theRoomFactory;
diff --git a/plugins/org.eclipse.etrice.generator.c/xtend-gen/org/eclipse/etrice/generator/c/gen/NodeGen.java b/plugins/org.eclipse.etrice.generator.c/xtend-gen/org/eclipse/etrice/generator/c/gen/NodeGen.java
index a4159a57d..bf06130c3 100644
--- a/plugins/org.eclipse.etrice.generator.c/xtend-gen/org/eclipse/etrice/generator/c/gen/NodeGen.java
+++ b/plugins/org.eclipse.etrice.generator.c/xtend-gen/org/eclipse/etrice/generator/c/gen/NodeGen.java
@@ -1122,8 +1122,14 @@ public class NodeGen {
ProtocolClass _protocol = pi.getProtocol();
boolean _isConjugated = this._roomExtensions.isConjugated(pi);
PortClass _portClass = this._roomExtensions.getPortClass(_protocol, _isConjugated);
- EList<Attribute> _attributes = _portClass==null?(EList<Attribute>)null:_portClass.getAttributes();
- int _size = _attributes==null?0:_attributes.size();
+ EList<Attribute> _attributes = null;
+ if (_portClass!=null) {
+ _attributes=_portClass.getAttributes();
+ }
+ int _size = 0;
+ if (_attributes!=null) {
+ _size=_attributes.size();
+ }
boolean _greaterThan = (_size > 0);
if (_greaterThan) {
_builder.append("static ");
diff --git a/plugins/org.eclipse.etrice.generator.config/xtend-gen/org/eclipse/etrice/generator/config/DataConfiguration.java b/plugins/org.eclipse.etrice.generator.config/xtend-gen/org/eclipse/etrice/generator/config/DataConfiguration.java
index f81989c15..ca5d0ab39 100644
--- a/plugins/org.eclipse.etrice.generator.config/xtend-gen/org/eclipse/etrice/generator/config/DataConfiguration.java
+++ b/plugins/org.eclipse.etrice.generator.config/xtend-gen/org/eclipse/etrice/generator/config/DataConfiguration.java
@@ -68,23 +68,41 @@ public class DataConfiguration implements IDataConfiguration {
}
public String getAttrClassConfigValue(final ActorClass actor, final List<Attribute> path) {
+ String _stringExpr = null;
AttrClassConfig _attrClassConfig = this.getAttrClassConfig(actor, path);
- LiteralArray _value = _attrClassConfig==null?(LiteralArray)null:_attrClassConfig.getValue();
- String _stringExpr = _value==null?(String)null:this.toStringExpr(_value);
+ LiteralArray _value = null;
+ if (_attrClassConfig!=null) {
+ _value=_attrClassConfig.getValue();
+ }
+ if (_value!=null) {
+ _stringExpr=this.toStringExpr(_value);
+ }
return _stringExpr;
}
public String getAttrClassConfigMaxValue(final ActorClass actor, final List<Attribute> path) {
+ String _stringExpr = null;
AttrClassConfig _attrClassConfig = this.getAttrClassConfig(actor, path);
- NumberLiteral _max = _attrClassConfig==null?(NumberLiteral)null:_attrClassConfig.getMax();
- String _stringExpr = _max==null?(String)null:this.toStringExpr(_max);
+ NumberLiteral _max = null;
+ if (_attrClassConfig!=null) {
+ _max=_attrClassConfig.getMax();
+ }
+ if (_max!=null) {
+ _stringExpr=this.toStringExpr(_max);
+ }
return _stringExpr;
}
public String getAttrClassConfigMinValue(final ActorClass actor, final List<Attribute> path) {
+ String _stringExpr = null;
AttrClassConfig _attrClassConfig = this.getAttrClassConfig(actor, path);
- NumberLiteral _min = _attrClassConfig==null?(NumberLiteral)null:_attrClassConfig.getMin();
- String _stringExpr = _min==null?(String)null:this.toStringExpr(_min);
+ NumberLiteral _min = null;
+ if (_attrClassConfig!=null) {
+ _min=_attrClassConfig.getMin();
+ }
+ if (_min!=null) {
+ _stringExpr=this.toStringExpr(_min);
+ }
return _stringExpr;
}
@@ -124,9 +142,15 @@ public class DataConfiguration implements IDataConfiguration {
String _stringPath = this.toStringPath(path);
_builder.append(_stringPath, "");
String id = _builder.toString();
+ String _stringExpr = null;
AttrClassConfig _get = DataConfigurationHelper.protocolClassAttrMap.get(id);
- LiteralArray _value = _get==null?(LiteralArray)null:_get.getValue();
- String _stringExpr = _value==null?(String)null:this.toStringExpr(_value);
+ LiteralArray _value = null;
+ if (_get!=null) {
+ _value=_get.getValue();
+ }
+ if (_value!=null) {
+ _stringExpr=this.toStringExpr(_value);
+ }
_xblockexpression = (_stringExpr);
}
return _xblockexpression;
@@ -157,22 +181,34 @@ public class DataConfiguration implements IDataConfiguration {
String _plus = (_path + "/");
String _stringPath = this.toStringPath(path);
String id = (_plus + _stringPath);
+ String _stringExpr = null;
AttrInstanceConfig _get = DataConfigurationHelper.actorInstanceAttrMap.get(id);
- LiteralArray _value = _get==null?(LiteralArray)null:_get.getValue();
- String _stringExpr = _value==null?(String)null:this.toStringExpr(_value);
+ LiteralArray _value = null;
+ if (_get!=null) {
+ _value=_get.getValue();
+ }
+ if (_value!=null) {
+ _stringExpr=this.toStringExpr(_value);
+ }
_xblockexpression = (_stringExpr);
}
return _xblockexpression;
}
public String getAttrInstanceConfigValue(final InterfaceItemInstance item, final List<Attribute> path) {
+ String _stringExpr = null;
String _path = item.getPath();
String _plus = (_path + "/");
String _stringPath = this.toStringPath(path);
String _plus_1 = (_plus + _stringPath);
AttrInstanceConfig _get = DataConfigurationHelper.actorInstanceAttrMap.get(_plus_1);
- LiteralArray _value = _get==null?(LiteralArray)null:_get.getValue();
- String _stringExpr = _value==null?(String)null:this.toStringExpr(_value);
+ LiteralArray _value = null;
+ if (_get!=null) {
+ _value=_get.getValue();
+ }
+ if (_value!=null) {
+ _stringExpr=this.toStringExpr(_value);
+ }
return _stringExpr;
}
@@ -180,7 +216,11 @@ public class DataConfiguration implements IDataConfiguration {
int _xblockexpression = (int) 0;
{
SubSystemConfig _config = this.getConfig(subsystem);
- final DynamicConfig dynConf = _config==null?(DynamicConfig)null:_config.getDynConfig();
+ DynamicConfig _dynConfig = null;
+ if (_config!=null) {
+ _dynConfig=_config.getDynConfig();
+ }
+ final DynamicConfig dynConf = _dynConfig;
int _xifexpression = (int) 0;
boolean _equals = Objects.equal(dynConf, null);
if (_equals) {
@@ -196,14 +236,24 @@ public class DataConfiguration implements IDataConfiguration {
public String getUserCode1(final SubSystemInstance subsystem) {
SubSystemConfig _config = this.getConfig(subsystem);
- DynamicConfig dynConfig = _config==null?(DynamicConfig)null:_config.getDynConfig();
+ DynamicConfig _dynConfig = null;
+ if (_config!=null) {
+ _dynConfig=_config.getDynConfig();
+ }
+ DynamicConfig dynConfig = _dynConfig;
String _xifexpression = null;
- String _filePath = dynConfig==null?(String)null:dynConfig.getFilePath();
+ String _filePath = null;
+ if (dynConfig!=null) {
+ _filePath=dynConfig.getFilePath();
+ }
boolean _notEquals = (!Objects.equal(_filePath, null));
if (_notEquals) {
_xifexpression = "import org.eclipse.etrice.runtime.java.config.ConfigSourceFile;";
} else {
- String _userCode1 = dynConfig==null?(String)null:dynConfig.getUserCode1();
+ String _userCode1 = null;
+ if (dynConfig!=null) {
+ _userCode1=dynConfig.getUserCode1();
+ }
_xifexpression = _userCode1;
}
return _xifexpression;
@@ -211,9 +261,16 @@ public class DataConfiguration implements IDataConfiguration {
public String getUserCode2(final SubSystemInstance subsystem) {
SubSystemConfig _config = this.getConfig(subsystem);
- DynamicConfig dynConfig = _config==null?(DynamicConfig)null:_config.getDynConfig();
+ DynamicConfig _dynConfig = null;
+ if (_config!=null) {
+ _dynConfig=_config.getDynConfig();
+ }
+ DynamicConfig dynConfig = _dynConfig;
String _xifexpression = null;
- String _filePath = dynConfig==null?(String)null:dynConfig.getFilePath();
+ String _filePath = null;
+ if (dynConfig!=null) {
+ _filePath=dynConfig.getFilePath();
+ }
boolean _notEquals = (!Objects.equal(_filePath, null));
if (_notEquals) {
StringConcatenation _builder = new StringConcatenation();
@@ -223,7 +280,10 @@ public class DataConfiguration implements IDataConfiguration {
_builder.append("\")");
_xifexpression = _builder.toString();
} else {
- String _userCode2 = dynConfig==null?(String)null:dynConfig.getUserCode2();
+ String _userCode2 = null;
+ if (dynConfig!=null) {
+ _userCode2=dynConfig.getUserCode2();
+ }
_xifexpression = _userCode2;
}
return _xifexpression;
@@ -234,16 +294,18 @@ public class DataConfiguration implements IDataConfiguration {
final ArrayList<Attribute> result = _arrayList;
String _path = ai.getPath();
List<AttrInstanceConfig> configs = DataConfigurationHelper.dynActorInstanceAttrMap.get(_path);
- final Procedure1<AttrInstanceConfig> _function = new Procedure1<AttrInstanceConfig>() {
- public void apply(final AttrInstanceConfig c) {
- boolean _isReadOnly = c.isReadOnly();
- if (_isReadOnly) {
- Attribute _attribute = c.getAttribute();
- result.add(_attribute);
+ if (configs!=null) {
+ final Procedure1<AttrInstanceConfig> _function = new Procedure1<AttrInstanceConfig>() {
+ public void apply(final AttrInstanceConfig c) {
+ boolean _isReadOnly = c.isReadOnly();
+ if (_isReadOnly) {
+ Attribute _attribute = c.getAttribute();
+ result.add(_attribute);
+ }
}
- }
- };
- if (configs!=null) IterableExtensions.<AttrInstanceConfig>forEach(configs, _function);
+ };
+ IterableExtensions.<AttrInstanceConfig>forEach(configs, _function);
+ }
return result;
}
@@ -252,23 +314,28 @@ public class DataConfiguration implements IDataConfiguration {
final ArrayList<Attribute> result = _arrayList;
String _path = ai.getPath();
List<AttrInstanceConfig> configs = DataConfigurationHelper.dynActorInstanceAttrMap.get(_path);
- final Procedure1<AttrInstanceConfig> _function = new Procedure1<AttrInstanceConfig>() {
- public void apply(final AttrInstanceConfig c) {
- boolean _isReadOnly = c.isReadOnly();
- boolean _not = (!_isReadOnly);
- if (_not) {
- Attribute _attribute = c.getAttribute();
- result.add(_attribute);
+ if (configs!=null) {
+ final Procedure1<AttrInstanceConfig> _function = new Procedure1<AttrInstanceConfig>() {
+ public void apply(final AttrInstanceConfig c) {
+ boolean _isReadOnly = c.isReadOnly();
+ boolean _not = (!_isReadOnly);
+ if (_not) {
+ Attribute _attribute = c.getAttribute();
+ result.add(_attribute);
+ }
}
- }
- };
- if (configs!=null) IterableExtensions.<AttrInstanceConfig>forEach(configs, _function);
+ };
+ IterableExtensions.<AttrInstanceConfig>forEach(configs, _function);
+ }
return result;
}
public boolean hasVariableService(final SubSystemInstance subsystem) {
SubSystemConfig _config = this.getConfig(subsystem);
- DynamicConfig _dynConfig = _config==null?(DynamicConfig)null:_config.getDynConfig();
+ DynamicConfig _dynConfig = null;
+ if (_config!=null) {
+ _dynConfig=_config.getDynConfig();
+ }
boolean _notEquals = (!Objects.equal(_dynConfig, null));
return _notEquals;
}
@@ -344,16 +411,18 @@ public class DataConfiguration implements IDataConfiguration {
ArrayList<Attribute> _arrayList = new ArrayList<Attribute>();
final ArrayList<Attribute> result = _arrayList;
List<AttrInstanceConfig> configs = DataConfigurationHelper.dynActorClassAttrMap.get(actor);
- final Procedure1<AttrInstanceConfig> _function = new Procedure1<AttrInstanceConfig>() {
- public void apply(final AttrInstanceConfig c) {
- boolean _isReadOnly = c.isReadOnly();
- if (_isReadOnly) {
- Attribute _attribute = c.getAttribute();
- result.add(_attribute);
+ if (configs!=null) {
+ final Procedure1<AttrInstanceConfig> _function = new Procedure1<AttrInstanceConfig>() {
+ public void apply(final AttrInstanceConfig c) {
+ boolean _isReadOnly = c.isReadOnly();
+ if (_isReadOnly) {
+ Attribute _attribute = c.getAttribute();
+ result.add(_attribute);
+ }
}
- }
- };
- if (configs!=null) IterableExtensions.<AttrInstanceConfig>forEach(configs, _function);
+ };
+ IterableExtensions.<AttrInstanceConfig>forEach(configs, _function);
+ }
return result;
}
@@ -361,17 +430,19 @@ public class DataConfiguration implements IDataConfiguration {
ArrayList<Attribute> _arrayList = new ArrayList<Attribute>();
final ArrayList<Attribute> result = _arrayList;
List<AttrInstanceConfig> configs = DataConfigurationHelper.dynActorClassAttrMap.get(actor);
- final Procedure1<AttrInstanceConfig> _function = new Procedure1<AttrInstanceConfig>() {
- public void apply(final AttrInstanceConfig c) {
- boolean _isReadOnly = c.isReadOnly();
- boolean _not = (!_isReadOnly);
- if (_not) {
- Attribute _attribute = c.getAttribute();
- result.add(_attribute);
+ if (configs!=null) {
+ final Procedure1<AttrInstanceConfig> _function = new Procedure1<AttrInstanceConfig>() {
+ public void apply(final AttrInstanceConfig c) {
+ boolean _isReadOnly = c.isReadOnly();
+ boolean _not = (!_isReadOnly);
+ if (_not) {
+ Attribute _attribute = c.getAttribute();
+ result.add(_attribute);
+ }
}
- }
- };
- if (configs!=null) IterableExtensions.<AttrInstanceConfig>forEach(configs, _function);
+ };
+ IterableExtensions.<AttrInstanceConfig>forEach(configs, _function);
+ }
return result;
}
diff --git a/plugins/org.eclipse.etrice.generator.cpp/src/org/eclipse/etrice/generator/cpp/gen/ActorClassGen.xtend b/plugins/org.eclipse.etrice.generator.cpp/src/org/eclipse/etrice/generator/cpp/gen/ActorClassGen.xtend
index 120b6db44..570580bfb 100644
--- a/plugins/org.eclipse.etrice.generator.cpp/src/org/eclipse/etrice/generator/cpp/gen/ActorClassGen.xtend
+++ b/plugins/org.eclipse.etrice.generator.cpp/src/org/eclipse/etrice/generator/cpp/gen/ActorClassGen.xtend
@@ -58,8 +58,8 @@ class ActorClassGen extends GenericActorClassGenerator {
}
def private generateHeaderFile(Root root, ExpandedActorClass xpac, ActorClass ac) {
- val ctor = ac.operations.filter(op|op.constructor).head
- val dtor = ac.operations.filter(op|op.destructor).head
+// val ctor = ac.operations.filter(op|op.constructor).head
+// val dtor = ac.operations.filter(op|op.destructor).head
'''
/**
@@ -238,11 +238,11 @@ class ActorClassGen extends GenericActorClassGenerator {
void «ac.name»::init(){
initUser();
}
-
+
void «ac.name»::start(){
startUser();
}
-
+
«IF !ac.overridesStop()»
void «ac.name»::stop(){
stopUser();
diff --git a/plugins/org.eclipse.etrice.generator.cpp/src/org/eclipse/etrice/generator/cpp/gen/ConfigGenAddon.xtend b/plugins/org.eclipse.etrice.generator.cpp/src/org/eclipse/etrice/generator/cpp/gen/ConfigGenAddon.xtend
index 3dd1cb1d5..282301704 100644
--- a/plugins/org.eclipse.etrice.generator.cpp/src/org/eclipse/etrice/generator/cpp/gen/ConfigGenAddon.xtend
+++ b/plugins/org.eclipse.etrice.generator.cpp/src/org/eclipse/etrice/generator/cpp/gen/ConfigGenAddon.xtend
@@ -67,7 +67,7 @@ class ConfigGenAddon {
// return result
// }
- def private applyInstanceConfig(InstanceBase instance, String invokes, List<Attribute> path){
+ def private String applyInstanceConfig(InstanceBase instance, String invokes, List<Attribute> path){
var a = path.last
var aType = a.refType.type
if(aType.primitive){
@@ -136,7 +136,7 @@ class ConfigGenAddon {
return result
}
- def private genMinMaxConstantsRec(ActorClass ac, String varNamePath, List<Attribute> path){
+ def private String genMinMaxConstantsRec(ActorClass ac, String varNamePath, List<Attribute> path){
var temp = null as String
if (path.last.refType.type.dataClass)
'''
diff --git a/plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/ActorClassGen.java b/plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/ActorClassGen.java
index 78e1f7e0e..74c05a10c 100644
--- a/plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/ActorClassGen.java
+++ b/plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/ActorClassGen.java
@@ -119,388 +119,366 @@ public class ActorClassGen extends GenericActorClassGenerator {
}
private CharSequence generateHeaderFile(final Root root, final ExpandedActorClass xpac, final ActorClass ac) {
- CharSequence _xblockexpression = null;
+ StringConcatenation _builder = new StringConcatenation();
+ _builder.append("\t");
+ _builder.append("/**");
+ _builder.newLine();
+ _builder.append("\t ");
+ _builder.append("* @author generated by eTrice");
+ _builder.newLine();
+ _builder.append("\t ");
+ _builder.append("*");
+ _builder.newLine();
+ _builder.append("\t ");
+ _builder.append("* Header File of ActorClass ");
+ String _name = ac.getName();
+ _builder.append(_name, " ");
+ _builder.newLineIfNotEmpty();
+ _builder.append("\t ");
+ _builder.append("* ");
+ _builder.newLine();
+ _builder.append("\t ");
+ _builder.append("*/");
+ _builder.newLine();
+ _builder.newLine();
+ _builder.append("\t");
+ String _name_1 = ac.getName();
+ CharSequence _generateIncludeGuardBegin = this._cppExtensions.generateIncludeGuardBegin(_name_1);
+ _builder.append(_generateIncludeGuardBegin, " ");
+ _builder.newLineIfNotEmpty();
+ _builder.newLine();
+ _builder.append("\t");
+ _builder.append("#include \"platforms/generic/etDatatypes.h\"");
+ _builder.newLine();
+ _builder.append("\t");
+ _builder.append("#include \"common/messaging/IRTObject.h\"");
+ _builder.newLine();
+ _builder.append("\t");
+ _builder.append("#include \"common/modelbase/PortBase.h\"");
+ _builder.newLine();
+ _builder.append("\t");
+ _builder.append("#include \"common/modelbase/InterfaceItemBase.h\"");
+ _builder.newLine();
+ _builder.append("\t");
+ _builder.append("#include \"common/modelbase/ActorClassBase.h\"");
+ _builder.newLine();
+ _builder.append("\t");
+ _builder.append("#include \"common/modelbase/SubSystemClassBase.h\"");
+ _builder.newLine();
+ _builder.append("\t");
+ _builder.append("#include \"common/messaging/Address.h\"");
+ _builder.newLine();
+ _builder.append("\t");
+ _builder.append("#include \"common/messaging/IMessageReceiver.h\"");
+ _builder.newLine();
+ _builder.append("\t");
+ _builder.append("#include \"common/debugging/DebuggingService.h\"");
+ _builder.newLine();
{
- EList<StandardOperation> _operations = ac.getOperations();
- final Function1<StandardOperation,Boolean> _function = new Function1<StandardOperation,Boolean>() {
- public Boolean apply(final StandardOperation op) {
- boolean _isConstructor = RoomHelpers.isConstructor(op);
- return Boolean.valueOf(_isConstructor);
- }
- };
- Iterable<StandardOperation> _filter = IterableExtensions.<StandardOperation>filter(_operations, _function);
- final StandardOperation ctor = IterableExtensions.<StandardOperation>head(_filter);
- EList<StandardOperation> _operations_1 = ac.getOperations();
- final Function1<StandardOperation,Boolean> _function_1 = new Function1<StandardOperation,Boolean>() {
- public Boolean apply(final StandardOperation op) {
- boolean _isDestructor = op.isDestructor();
- return Boolean.valueOf(_isDestructor);
- }
- };
- Iterable<StandardOperation> _filter_1 = IterableExtensions.<StandardOperation>filter(_operations_1, _function_1);
- final StandardOperation dtor = IterableExtensions.<StandardOperation>head(_filter_1);
- StringConcatenation _builder = new StringConcatenation();
- _builder.append("\t");
- _builder.append("/**");
- _builder.newLine();
- _builder.append("\t ");
- _builder.append("* @author generated by eTrice");
- _builder.newLine();
- _builder.append("\t ");
- _builder.append("*");
- _builder.newLine();
- _builder.append("\t ");
- _builder.append("* Header File of ActorClass ");
- String _name = ac.getName();
- _builder.append(_name, " ");
- _builder.newLineIfNotEmpty();
- _builder.append("\t ");
- _builder.append("* ");
- _builder.newLine();
- _builder.append("\t ");
- _builder.append("*/");
- _builder.newLine();
- _builder.newLine();
- _builder.append("\t");
- String _name_1 = ac.getName();
- CharSequence _generateIncludeGuardBegin = this._cppExtensions.generateIncludeGuardBegin(_name_1);
- _builder.append(_generateIncludeGuardBegin, " ");
- _builder.newLineIfNotEmpty();
- _builder.newLine();
- _builder.append("\t");
- _builder.append("#include \"platforms/generic/etDatatypes.h\"");
- _builder.newLine();
- _builder.append("\t");
- _builder.append("#include \"common/messaging/IRTObject.h\"");
- _builder.newLine();
- _builder.append("\t");
- _builder.append("#include \"common/modelbase/PortBase.h\"");
- _builder.newLine();
- _builder.append("\t");
- _builder.append("#include \"common/modelbase/InterfaceItemBase.h\"");
- _builder.newLine();
- _builder.append("\t");
- _builder.append("#include \"common/modelbase/ActorClassBase.h\"");
- _builder.newLine();
- _builder.append("\t");
- _builder.append("#include \"common/modelbase/SubSystemClassBase.h\"");
- _builder.newLine();
- _builder.append("\t");
- _builder.append("#include \"common/messaging/Address.h\"");
- _builder.newLine();
- _builder.append("\t");
- _builder.append("#include \"common/messaging/IMessageReceiver.h\"");
- _builder.newLine();
- _builder.append("\t");
- _builder.append("#include \"common/debugging/DebuggingService.h\"");
- _builder.newLine();
- {
- boolean _isUseEtUnit = GeneratorOptions.isUseEtUnit();
- if (_isUseEtUnit) {
- _builder.append("\t");
- _builder.append("extern \"C\" {");
- _builder.newLine();
- _builder.append("\t");
- _builder.append("\t");
- _builder.append("#include \"etUnit.h\"");
- _builder.newLine();
- _builder.append("\t");
- _builder.append("}");
- _builder.newLine();
- }
+ boolean _isUseEtUnit = GeneratorOptions.isUseEtUnit();
+ if (_isUseEtUnit) {
+ _builder.append("\t");
+ _builder.append("extern \"C\" {");
+ _builder.newLine();
+ _builder.append("\t");
+ _builder.append("\t");
+ _builder.append("#include \"etUnit.h\"");
+ _builder.newLine();
+ _builder.append("\t");
+ _builder.append("}");
+ _builder.newLine();
}
- _builder.append("\t");
- _builder.append("#include <string>");
- _builder.newLine();
- _builder.append("\t");
- _builder.append("#include <vector>");
- _builder.newLine();
- _builder.append("\t");
- _builder.newLine();
- {
- EList<RoomModel> _referencedModels = root.getReferencedModels(ac);
- for(final RoomModel model : _referencedModels) {
- }
+ }
+ _builder.append("\t");
+ _builder.append("#include <string>");
+ _builder.newLine();
+ _builder.append("\t");
+ _builder.append("#include <vector>");
+ _builder.newLine();
+ _builder.append("\t");
+ _builder.newLine();
+ {
+ EList<RoomModel> _referencedModels = root.getReferencedModels(ac);
+ for(final RoomModel model : _referencedModels) {
}
- _builder.append("\t");
- _builder.newLine();
- {
- EList<ProtocolClass> _referencedProtocolClasses = root.getReferencedProtocolClasses(ac);
- for(final ProtocolClass pc : _referencedProtocolClasses) {
- _builder.append("\t");
- _builder.append("#include \"");
- String _path = this._roomExtensions.getPath(pc);
- _builder.append(_path, " ");
- String _name_2 = pc.getName();
- _builder.append(_name_2, " ");
- _builder.append(".h\"");
- _builder.newLineIfNotEmpty();
- }
+ }
+ _builder.append("\t");
+ _builder.newLine();
+ {
+ EList<ProtocolClass> _referencedProtocolClasses = root.getReferencedProtocolClasses(ac);
+ for(final ProtocolClass pc : _referencedProtocolClasses) {
+ _builder.append("\t");
+ _builder.append("#include \"");
+ String _path = this._roomExtensions.getPath(pc);
+ _builder.append(_path, " ");
+ String _name_2 = pc.getName();
+ _builder.append(_name_2, " ");
+ _builder.append(".h\"");
+ _builder.newLineIfNotEmpty();
}
- {
- EList<DataClass> _referencedDataClasses = root.getReferencedDataClasses(ac);
- for(final DataClass dc : _referencedDataClasses) {
- _builder.append("\t");
- _builder.append("#include \"");
- String _path_1 = this._roomExtensions.getPath(dc);
- _builder.append(_path_1, " ");
- String _name_3 = dc.getName();
- _builder.append(_name_3, " ");
- _builder.append(".h\"");
- _builder.newLineIfNotEmpty();
- }
+ }
+ {
+ EList<DataClass> _referencedDataClasses = root.getReferencedDataClasses(ac);
+ for(final DataClass dc : _referencedDataClasses) {
+ _builder.append("\t");
+ _builder.append("#include \"");
+ String _path_1 = this._roomExtensions.getPath(dc);
+ _builder.append(_path_1, " ");
+ String _name_3 = dc.getName();
+ _builder.append(_name_3, " ");
+ _builder.append(".h\"");
+ _builder.newLineIfNotEmpty();
}
- _builder.newLine();
- _builder.append("\t");
- _builder.newLine();
- _builder.append("\t");
- CharSequence _userCode = this._procedureHelpers.userCode(ac, 1);
- _builder.append(_userCode, " ");
- _builder.newLineIfNotEmpty();
- _builder.append("\t");
- _builder.newLine();
- _builder.append("\t");
- _builder.newLine();
- _builder.append("\t");
- _builder.append("class ");
- String _name_4 = ac.getName();
- _builder.append(_name_4, " ");
- _builder.append(" : public ");
- {
- ActorClass _base = ac.getBase();
- boolean _notEquals = (!Objects.equal(_base, null));
- if (_notEquals) {
- ActorClass _base_1 = ac.getBase();
- String _name_5 = _base_1.getName();
- _builder.append(_name_5, " ");
- } else {
- _builder.append("etRuntime::ActorClassBase");
- }
+ }
+ _builder.newLine();
+ _builder.append("\t");
+ _builder.newLine();
+ _builder.append("\t");
+ CharSequence _userCode = this._procedureHelpers.userCode(ac, 1);
+ _builder.append(_userCode, " ");
+ _builder.newLineIfNotEmpty();
+ _builder.append("\t");
+ _builder.newLine();
+ _builder.append("\t");
+ _builder.newLine();
+ _builder.append("\t");
+ _builder.append("class ");
+ String _name_4 = ac.getName();
+ _builder.append(_name_4, " ");
+ _builder.append(" : public ");
+ {
+ ActorClass _base = ac.getBase();
+ boolean _notEquals = (!Objects.equal(_base, null));
+ if (_notEquals) {
+ ActorClass _base_1 = ac.getBase();
+ String _name_5 = _base_1.getName();
+ _builder.append(_name_5, " ");
+ } else {
+ _builder.append("etRuntime::ActorClassBase");
}
- _builder.append(" {");
- _builder.newLineIfNotEmpty();
- _builder.append("\t");
- _builder.newLine();
- _builder.append("\t\t");
- _builder.newLine();
- _builder.append("\t\t");
- _builder.append("protected:");
- _builder.newLine();
- _builder.append("\t\t\t");
- _builder.append("//--------------------- ports");
- _builder.newLine();
- _builder.append("\t\t\t");
- List<Port> _endPorts = RoomHelpers.getEndPorts(ac);
- final Function1<Port,String> _function_2 = new Function1<Port,String>() {
- public String apply(final Port port) {
- StringConcatenation _builder = new StringConcatenation();
- String _portClassName = ActorClassGen.this._roomExtensions.getPortClassName(port);
- _builder.append(_portClassName, "");
- _builder.append(" ");
- String _name = port.getName();
- _builder.append(_name, "");
- _builder.append(";");
- return _builder.toString();
- }
- };
- List<String> _map = ListExtensions.<Port, String>map(_endPorts, _function_2);
- String _join = IterableExtensions.join(_map, "\n");
- _builder.append(_join, " ");
- _builder.newLineIfNotEmpty();
- _builder.append("\t\t\t");
- _builder.append("//--------------------- saps");
- _builder.newLine();
- _builder.append("\t\t\t");
- EList<SAPRef> _strSAPs = ac.getStrSAPs();
- final Function1<SAPRef,String> _function_3 = new Function1<SAPRef,String>() {
- public String apply(final SAPRef sap) {
- StringConcatenation _builder = new StringConcatenation();
- String _portClassName = ActorClassGen.this._roomExtensions.getPortClassName(sap);
- _builder.append(_portClassName, "");
- _builder.append(" ");
- String _name = sap.getName();
- _builder.append(_name, "");
- _builder.append(";");
- return _builder.toString();
- }
- };
- List<String> _map_1 = ListExtensions.<SAPRef, String>map(_strSAPs, _function_3);
- String _join_1 = IterableExtensions.join(_map_1, "\n");
- _builder.append(_join_1, " ");
- _builder.newLineIfNotEmpty();
- _builder.append("\t\t\t");
- _builder.append("//--------------------- services");
- _builder.newLine();
- _builder.append("\t\t\t");
- EList<ServiceImplementation> _serviceImplementations = ac.getServiceImplementations();
- final Function1<ServiceImplementation,String> _function_4 = new Function1<ServiceImplementation,String>() {
- public String apply(final ServiceImplementation svc) {
- StringConcatenation _builder = new StringConcatenation();
- String _portClassName = ActorClassGen.this._roomExtensions.getPortClassName(svc);
- _builder.append(_portClassName, "");
- _builder.append(" ");
- SPPRef _spp = svc.getSpp();
- String _name = _spp.getName();
- _builder.append(_name, "");
- _builder.append(";");
- return _builder.toString();
- }
- };
- List<String> _map_2 = ListExtensions.<ServiceImplementation, String>map(_serviceImplementations, _function_4);
- String _join_2 = IterableExtensions.join(_map_2, "\n");
- _builder.append(_join_2, " ");
- _builder.newLineIfNotEmpty();
- _builder.append("\t\t");
- _builder.newLine();
- _builder.append("\t\t\t");
- _builder.append("//--------------------- interface item IDs");
- _builder.newLine();
- _builder.append("\t\t\t");
- String _genInterfaceItemConstants = this.genInterfaceItemConstants(xpac);
- _builder.append(_genInterfaceItemConstants, " ");
- _builder.newLineIfNotEmpty();
- _builder.append("\t\t\t\t");
- _builder.newLine();
- _builder.append("\t\t\t");
- EList<Attribute> _attributes = ac.getAttributes();
- CharSequence _attributes_1 = this._procedureHelpers.attributes(_attributes);
- _builder.append(_attributes_1, " ");
- _builder.newLineIfNotEmpty();
- _builder.newLine();
- _builder.append("\t\t\t");
- CharSequence _operationsImplementation = this._procedureHelpers.operationsImplementation(ac);
- _builder.append(_operationsImplementation, " ");
- _builder.newLineIfNotEmpty();
- _builder.append("\t");
- _builder.newLine();
- _builder.append("\t\t");
- _builder.append("public:");
- _builder.newLine();
- _builder.append("\t\t\t");
- _builder.append("//--------------------- construction");
- _builder.newLine();
- _builder.append("\t\t\t");
- String _name_6 = ac.getName();
- _builder.append(_name_6, " ");
- _builder.append("(etRuntime::IRTObject* parent, std::string name, const std::vector<std::vector<etRuntime::Address> >& port_addr, ");
- _builder.newLineIfNotEmpty();
- _builder.append("\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t ");
- _builder.append("const std::vector<std::vector<etRuntime::Address> >& peer_addr);");
- _builder.newLine();
- _builder.newLine();
- _builder.append("\t\t\t");
- _builder.append("//--------------------- port getters");
- _builder.newLine();
- {
- List<Port> _endPorts_1 = RoomHelpers.getEndPorts(ac);
- for(final Port ep : _endPorts_1) {
- _builder.append("\t\t");
- String _portClassName = this._roomExtensions.getPortClassName(ep);
- String _name_7 = ep.getName();
- String _name_8 = ac.getName();
- CharSequence _terImplementation = this._procedureHelpers.getterImplementation(_portClassName, _name_7, _name_8);
- _builder.append(_terImplementation, " ");
- _builder.newLineIfNotEmpty();
+ }
+ _builder.append(" {");
+ _builder.newLineIfNotEmpty();
+ _builder.append("\t");
+ _builder.newLine();
+ _builder.append("\t\t");
+ _builder.newLine();
+ _builder.append("\t\t");
+ _builder.append("protected:");
+ _builder.newLine();
+ _builder.append("\t\t\t");
+ _builder.append("//--------------------- ports");
+ _builder.newLine();
+ _builder.append("\t\t\t");
+ List<Port> _endPorts = RoomHelpers.getEndPorts(ac);
+ final Function1<Port,String> _function = new Function1<Port,String>() {
+ public String apply(final Port port) {
+ StringConcatenation _builder = new StringConcatenation();
+ String _portClassName = ActorClassGen.this._roomExtensions.getPortClassName(port);
+ _builder.append(_portClassName, "");
+ _builder.append(" ");
+ String _name = port.getName();
+ _builder.append(_name, "");
+ _builder.append(";");
+ return _builder.toString();
}
- }
- {
- EList<SAPRef> _strSAPs_1 = ac.getStrSAPs();
- for(final SAPRef sap : _strSAPs_1) {
- _builder.append("\t\t");
- String _portClassName_1 = this._roomExtensions.getPortClassName(sap);
- String _name_9 = sap.getName();
- String _name_10 = ac.getName();
- CharSequence _terImplementation_1 = this._procedureHelpers.getterImplementation(_portClassName_1, _name_9, _name_10);
- _builder.append(_terImplementation_1, " ");
- _builder.newLineIfNotEmpty();
+ };
+ List<String> _map = ListExtensions.<Port, String>map(_endPorts, _function);
+ String _join = IterableExtensions.join(_map, "\n");
+ _builder.append(_join, " ");
+ _builder.newLineIfNotEmpty();
+ _builder.append("\t\t\t");
+ _builder.append("//--------------------- saps");
+ _builder.newLine();
+ _builder.append("\t\t\t");
+ EList<SAPRef> _strSAPs = ac.getStrSAPs();
+ final Function1<SAPRef,String> _function_1 = new Function1<SAPRef,String>() {
+ public String apply(final SAPRef sap) {
+ StringConcatenation _builder = new StringConcatenation();
+ String _portClassName = ActorClassGen.this._roomExtensions.getPortClassName(sap);
+ _builder.append(_portClassName, "");
+ _builder.append(" ");
+ String _name = sap.getName();
+ _builder.append(_name, "");
+ _builder.append(";");
+ return _builder.toString();
}
- }
- {
- EList<ServiceImplementation> _serviceImplementations_1 = ac.getServiceImplementations();
- for(final ServiceImplementation svc : _serviceImplementations_1) {
- _builder.append("\t\t");
- String _portClassName_2 = this._roomExtensions.getPortClassName(svc);
+ };
+ List<String> _map_1 = ListExtensions.<SAPRef, String>map(_strSAPs, _function_1);
+ String _join_1 = IterableExtensions.join(_map_1, "\n");
+ _builder.append(_join_1, " ");
+ _builder.newLineIfNotEmpty();
+ _builder.append("\t\t\t");
+ _builder.append("//--------------------- services");
+ _builder.newLine();
+ _builder.append("\t\t\t");
+ EList<ServiceImplementation> _serviceImplementations = ac.getServiceImplementations();
+ final Function1<ServiceImplementation,String> _function_2 = new Function1<ServiceImplementation,String>() {
+ public String apply(final ServiceImplementation svc) {
+ StringConcatenation _builder = new StringConcatenation();
+ String _portClassName = ActorClassGen.this._roomExtensions.getPortClassName(svc);
+ _builder.append(_portClassName, "");
+ _builder.append(" ");
SPPRef _spp = svc.getSpp();
- String _name_11 = _spp.getName();
- String _name_12 = ac.getName();
- CharSequence _terImplementation_2 = this._procedureHelpers.getterImplementation(_portClassName_2, _name_11, _name_12);
- _builder.append(_terImplementation_2, " ");
- _builder.newLineIfNotEmpty();
+ String _name = _spp.getName();
+ _builder.append(_name, "");
+ _builder.append(";");
+ return _builder.toString();
}
+ };
+ List<String> _map_2 = ListExtensions.<ServiceImplementation, String>map(_serviceImplementations, _function_2);
+ String _join_2 = IterableExtensions.join(_map_2, "\n");
+ _builder.append(_join_2, " ");
+ _builder.newLineIfNotEmpty();
+ _builder.append("\t\t");
+ _builder.newLine();
+ _builder.append("\t\t\t");
+ _builder.append("//--------------------- interface item IDs");
+ _builder.newLine();
+ _builder.append("\t\t\t");
+ String _genInterfaceItemConstants = this.genInterfaceItemConstants(xpac);
+ _builder.append(_genInterfaceItemConstants, " ");
+ _builder.newLineIfNotEmpty();
+ _builder.append("\t\t\t\t");
+ _builder.newLine();
+ _builder.append("\t\t\t");
+ EList<Attribute> _attributes = ac.getAttributes();
+ CharSequence _attributes_1 = this._procedureHelpers.attributes(_attributes);
+ _builder.append(_attributes_1, " ");
+ _builder.newLineIfNotEmpty();
+ _builder.newLine();
+ _builder.append("\t\t\t");
+ CharSequence _operationsImplementation = this._procedureHelpers.operationsImplementation(ac);
+ _builder.append(_operationsImplementation, " ");
+ _builder.newLineIfNotEmpty();
+ _builder.append("\t");
+ _builder.newLine();
+ _builder.append("\t\t");
+ _builder.append("public:");
+ _builder.newLine();
+ _builder.append("\t\t\t");
+ _builder.append("//--------------------- construction");
+ _builder.newLine();
+ _builder.append("\t\t\t");
+ String _name_6 = ac.getName();
+ _builder.append(_name_6, " ");
+ _builder.append("(etRuntime::IRTObject* parent, std::string name, const std::vector<std::vector<etRuntime::Address> >& port_addr, ");
+ _builder.newLineIfNotEmpty();
+ _builder.append("\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t ");
+ _builder.append("const std::vector<std::vector<etRuntime::Address> >& peer_addr);");
+ _builder.newLine();
+ _builder.newLine();
+ _builder.append("\t\t\t");
+ _builder.append("//--------------------- port getters");
+ _builder.newLine();
+ {
+ List<Port> _endPorts_1 = RoomHelpers.getEndPorts(ac);
+ for(final Port ep : _endPorts_1) {
+ _builder.append("\t\t");
+ String _portClassName = this._roomExtensions.getPortClassName(ep);
+ String _name_7 = ep.getName();
+ String _name_8 = ac.getName();
+ CharSequence _terImplementation = this._procedureHelpers.getterImplementation(_portClassName, _name_7, _name_8);
+ _builder.append(_terImplementation, " ");
+ _builder.newLineIfNotEmpty();
}
- _builder.append("\t");
- _builder.newLine();
- _builder.append("\t\t");
- _builder.append("//--------------------- lifecycle functions");
- _builder.newLine();
- _builder.append("\t\t\t");
- _builder.append("virtual void init();");
- _builder.newLine();
- _builder.append("\t\t\t");
- _builder.append("virtual void start();");
- _builder.newLine();
- {
- boolean _overridesStop = this._roomExtensions.overridesStop(ac);
- boolean _not = (!_overridesStop);
- if (_not) {
+ }
+ {
+ EList<SAPRef> _strSAPs_1 = ac.getStrSAPs();
+ for(final SAPRef sap : _strSAPs_1) {
+ _builder.append("\t\t");
+ String _portClassName_1 = this._roomExtensions.getPortClassName(sap);
+ String _name_9 = sap.getName();
+ String _name_10 = ac.getName();
+ CharSequence _terImplementation_1 = this._procedureHelpers.getterImplementation(_portClassName_1, _name_9, _name_10);
+ _builder.append(_terImplementation_1, " ");
+ _builder.newLineIfNotEmpty();
+ }
+ }
+ {
+ EList<ServiceImplementation> _serviceImplementations_1 = ac.getServiceImplementations();
+ for(final ServiceImplementation svc : _serviceImplementations_1) {
+ _builder.append("\t\t");
+ String _portClassName_2 = this._roomExtensions.getPortClassName(svc);
+ SPPRef _spp = svc.getSpp();
+ String _name_11 = _spp.getName();
+ String _name_12 = ac.getName();
+ CharSequence _terImplementation_2 = this._procedureHelpers.getterImplementation(_portClassName_2, _name_11, _name_12);
+ _builder.append(_terImplementation_2, " ");
+ _builder.newLineIfNotEmpty();
+ }
+ }
+ _builder.append("\t");
+ _builder.newLine();
+ _builder.append("\t\t");
+ _builder.append("//--------------------- lifecycle functions");
+ _builder.newLine();
+ _builder.append("\t\t\t");
+ _builder.append("virtual void init();");
+ _builder.newLine();
+ _builder.append("\t\t\t");
+ _builder.append("virtual void start();");
+ _builder.newLine();
+ {
+ boolean _overridesStop = this._roomExtensions.overridesStop(ac);
+ boolean _not = (!_overridesStop);
+ if (_not) {
+ _builder.append("\t\t");
+ _builder.append("virtual void stop();");
+ _builder.newLine();
+ }
+ }
+ _builder.append("\t\t\t");
+ _builder.append("virtual void destroy();\t\t\t");
+ _builder.newLine();
+ {
+ boolean _hasNonEmptyStateMachine = RoomHelpers.hasNonEmptyStateMachine(ac);
+ if (_hasNonEmptyStateMachine) {
+ _builder.append("\t\t");
+ CharSequence _genStateMachineMethodDeclarations = this._stateMachineGen.genStateMachineMethodDeclarations(xpac);
+ _builder.append(_genStateMachineMethodDeclarations, " ");
+ _builder.newLineIfNotEmpty();
+ } else {
+ boolean _hasStateMachine = xpac.hasStateMachine();
+ boolean _not_1 = (!_hasStateMachine);
+ if (_not_1) {
_builder.append("\t\t");
- _builder.append("virtual void stop();");
+ _builder.append("public: ");
_builder.newLine();
- }
- }
- _builder.append("\t\t\t");
- _builder.append("virtual void destroy();\t\t\t");
- _builder.newLine();
- {
- boolean _hasNonEmptyStateMachine = RoomHelpers.hasNonEmptyStateMachine(ac);
- if (_hasNonEmptyStateMachine) {
_builder.append("\t\t");
- CharSequence _genStateMachineMethodDeclarations = this._stateMachineGen.genStateMachineMethodDeclarations(xpac);
- _builder.append(_genStateMachineMethodDeclarations, " ");
- _builder.newLineIfNotEmpty();
- } else {
- boolean _hasStateMachine = xpac.hasStateMachine();
- boolean _not_1 = (!_hasStateMachine);
- if (_not_1) {
- _builder.append("\t\t");
- _builder.append("public: ");
- _builder.newLine();
- _builder.append("\t\t");
- _builder.append("\t");
- _builder.append("//--------------------- no state machine");
- _builder.newLine();
- _builder.append("\t\t");
- _builder.append("\t");
- _builder.append("virtual void receiveEvent(etRuntime::InterfaceItemBase* ifitem, int evt, void* data);");
- _builder.newLine();
- _builder.append("\t\t");
- _builder.append("\t");
- _builder.append("virtual void executeInitTransition();");
- _builder.newLine();
- }
+ _builder.append("\t");
+ _builder.append("//--------------------- no state machine");
+ _builder.newLine();
+ _builder.append("\t\t");
+ _builder.append("\t");
+ _builder.append("virtual void receiveEvent(etRuntime::InterfaceItemBase* ifitem, int evt, void* data);");
+ _builder.newLine();
+ _builder.append("\t\t");
+ _builder.append("\t");
+ _builder.append("virtual void executeInitTransition();");
+ _builder.newLine();
}
}
- _builder.newLine();
- _builder.append("\t\t");
- CharSequence _userCode_1 = this._procedureHelpers.userCode(ac, 2);
- _builder.append(_userCode_1, " ");
- _builder.newLineIfNotEmpty();
- _builder.newLine();
- _builder.append("\t");
- _builder.append("};");
- _builder.newLine();
- _builder.append("\t");
- _builder.newLine();
- _builder.append("\t");
- _builder.newLine();
- _builder.append("\t");
- String _name_13 = ac.getName();
- CharSequence _generateIncludeGuardEnd = this._cppExtensions.generateIncludeGuardEnd(_name_13);
- _builder.append(_generateIncludeGuardEnd, " ");
- _builder.newLineIfNotEmpty();
- _xblockexpression = (_builder);
}
- return _xblockexpression;
+ _builder.newLine();
+ _builder.append("\t\t");
+ CharSequence _userCode_1 = this._procedureHelpers.userCode(ac, 2);
+ _builder.append(_userCode_1, " ");
+ _builder.newLineIfNotEmpty();
+ _builder.newLine();
+ _builder.append("\t");
+ _builder.append("};");
+ _builder.newLine();
+ _builder.append("\t");
+ _builder.newLine();
+ _builder.append("\t");
+ _builder.newLine();
+ _builder.append("\t");
+ String _name_13 = ac.getName();
+ CharSequence _generateIncludeGuardEnd = this._cppExtensions.generateIncludeGuardEnd(_name_13);
+ _builder.append(_generateIncludeGuardEnd, " ");
+ _builder.newLineIfNotEmpty();
+ return _builder;
}
private String generateConstructorInitalizerList(final ActorClass ac) {
@@ -760,7 +738,6 @@ public class ActorClassGen extends GenericActorClassGenerator {
_builder.newLine();
_builder.append("}");
_builder.newLine();
- _builder.append("\t");
_builder.newLine();
_builder.append("void ");
String _name_5 = ac.getName();
@@ -772,7 +749,6 @@ public class ActorClassGen extends GenericActorClassGenerator {
_builder.newLine();
_builder.append("}");
_builder.newLine();
- _builder.append("\t");
_builder.newLine();
{
boolean _overridesStop = this._roomExtensions.overridesStop(ac);
diff --git a/plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/ConfigGenAddon.java b/plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/ConfigGenAddon.java
index 8154f1169..0ba4e0b34 100644
--- a/plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/ConfigGenAddon.java
+++ b/plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/ConfigGenAddon.java
@@ -69,7 +69,7 @@ public class ConfigGenAddon {
for(final Attribute a : _allAttributes) {
ArrayList<Attribute> _arrayList = new ArrayList<Attribute>();
List<Attribute> _union = this._roomExtensions.<Attribute>union(_arrayList, a);
- CharSequence _applyInstanceConfig = this.applyInstanceConfig(ai, aiVariableName, _union);
+ String _applyInstanceConfig = this.applyInstanceConfig(ai, aiVariableName, _union);
_builder.append(_applyInstanceConfig, "");
_builder.newLineIfNotEmpty();
}
@@ -79,7 +79,11 @@ public class ConfigGenAddon {
for(final InterfaceItemInstance pi : _orderedIfItemInstances) {
InterfaceItem _interfaceItem = pi.getInterfaceItem();
PortClass _portClass = RoomHelpers.getPortClass(_interfaceItem);
- EList<Attribute> attribs = _portClass==null?(EList<Attribute>)null:_portClass.getAttributes();
+ EList<Attribute> _attributes = null;
+ if (_portClass!=null) {
+ _attributes=_portClass.getAttributes();
+ }
+ EList<Attribute> attribs = _attributes;
_builder.newLineIfNotEmpty();
{
boolean _notEquals = (!Objects.equal(attribs, null));
@@ -92,7 +96,7 @@ public class ConfigGenAddon {
String _plus_1 = (_plus + _invokeGetter);
ArrayList<Attribute> _arrayList_1 = new ArrayList<Attribute>();
List<Attribute> _union_1 = this._roomExtensions.<Attribute>union(_arrayList_1, a_1);
- CharSequence _applyInstanceConfig_1 = this.applyInstanceConfig(pi, _plus_1, _union_1);
+ String _applyInstanceConfig_1 = this.applyInstanceConfig(pi, _plus_1, _union_1);
_builder.append(_applyInstanceConfig_1, "");
_builder.newLineIfNotEmpty();
}
@@ -104,25 +108,25 @@ public class ConfigGenAddon {
return _builder;
}
- private CharSequence applyInstanceConfig(final InstanceBase instance, final String invokes, final List<Attribute> path) {
- CharSequence _xblockexpression = null;
+ private String applyInstanceConfig(final InstanceBase instance, final String invokes, final List<Attribute> path) {
+ String _xblockexpression = null;
{
Attribute a = IterableExtensions.<Attribute>last(path);
RefableType _refType = a.getRefType();
DataType aType = _refType.getType();
- CharSequence _xifexpression = null;
+ String _xifexpression = null;
boolean _isPrimitive = this.typeHelpers.isPrimitive(aType);
if (_isPrimitive) {
- CharSequence _xblockexpression_1 = null;
+ String _xblockexpression_1 = null;
{
String value = this.typeHelpers.getAttrInstanceConfigValue(path, instance);
- CharSequence _xifexpression_1 = null;
+ String _xifexpression_1 = null;
boolean _equals = Objects.equal(value, null);
if (_equals) {
StringConcatenation _builder = new StringConcatenation();
- _xifexpression_1 = _builder;
+ _xifexpression_1 = _builder.toString();
} else {
- CharSequence _xifexpression_2 = null;
+ String _xifexpression_2 = null;
boolean _or = false;
int _size = a.getSize();
boolean _equals_1 = (_size == 0);
@@ -141,15 +145,15 @@ public class ConfigGenAddon {
CharSequence _invokeSetter = this.helpers.invokeSetter(_name, null, _valueLiteral);
_builder_1.append(_invokeSetter, "");
_builder_1.append(";");
- _xifexpression_2 = _builder_1;
+ _xifexpression_2 = _builder_1.toString();
} else {
- CharSequence _xifexpression_3 = null;
+ String _xifexpression_3 = null;
int _size_1 = a.getSize();
String[] _split = value.split(",");
int _size_2 = ((List<String>)Conversions.doWrapArray(_split)).size();
boolean _equals_2 = (_size_1 == _size_2);
if (_equals_2) {
- CharSequence _xblockexpression_2 = null;
+ String _xblockexpression_2 = null;
{
StringConcatenation _builder_2 = new StringConcatenation();
_builder_2.append("{ ");
@@ -183,7 +187,7 @@ public class ConfigGenAddon {
CharSequence _invokeSetter_1 = this.helpers.invokeSetter(_name_1, null, _string);
_builder_3.append(_invokeSetter_1, "");
_builder_3.append(";");
- _xblockexpression_2 = (_builder_3);
+ _xblockexpression_2 = (_builder_3.toString());
}
_xifexpression_3 = _xblockexpression_2;
} else {
@@ -214,7 +218,7 @@ public class ConfigGenAddon {
_builder_2.append(";");
_builder_2.newLineIfNotEmpty();
_builder_2.append("}");
- _xifexpression_3 = _builder_2;
+ _xifexpression_3 = _builder_2.toString();
}
_xifexpression_2 = _xifexpression_3;
}
@@ -224,7 +228,7 @@ public class ConfigGenAddon {
}
_xifexpression = _xblockexpression_1;
} else {
- CharSequence _xifexpression_1 = null;
+ String _xifexpression_1 = null;
boolean _isDataClass = this.typeHelpers.isDataClass(aType);
if (_isDataClass) {
StringConcatenation _builder = new StringConcatenation();
@@ -236,12 +240,12 @@ public class ConfigGenAddon {
CharSequence _invokeGetter = this.helpers.invokeGetter(_name, null);
String _plus_1 = (_plus + _invokeGetter);
List<Attribute> _union = this._roomExtensions.<Attribute>union(path, e);
- Object _applyInstanceConfig = this.applyInstanceConfig(instance, _plus_1, _union);
+ String _applyInstanceConfig = this.applyInstanceConfig(instance, _plus_1, _union);
_builder.append(_applyInstanceConfig, "");
_builder.newLineIfNotEmpty();
}
}
- _xifexpression_1 = _builder;
+ _xifexpression_1 = _builder.toString();
}
_xifexpression = _xifexpression_1;
}
@@ -438,7 +442,7 @@ public class ConfigGenAddon {
String _name = a.getName();
ArrayList<Attribute> _arrayList = new ArrayList<Attribute>();
List<Attribute> _union = this._roomExtensions.<Attribute>union(_arrayList, a);
- CharSequence _genMinMaxConstantsRec = this.genMinMaxConstantsRec(ac, _name, _union);
+ String _genMinMaxConstantsRec = this.genMinMaxConstantsRec(ac, _name, _union);
_builder.append(_genMinMaxConstantsRec, "");
_builder.newLineIfNotEmpty();
}
@@ -455,11 +459,11 @@ public class ConfigGenAddon {
return result;
}
- private CharSequence genMinMaxConstantsRec(final ActorClass ac, final String varNamePath, final List<Attribute> path) {
- CharSequence _xblockexpression = null;
+ private String genMinMaxConstantsRec(final ActorClass ac, final String varNamePath, final List<Attribute> path) {
+ String _xblockexpression = null;
{
String temp = ((String) null);
- CharSequence _xifexpression = null;
+ String _xifexpression = null;
Attribute _last = IterableExtensions.<Attribute>last(path);
RefableType _refType = _last.getRefType();
DataType _type = _refType.getType();
@@ -476,21 +480,21 @@ public class ConfigGenAddon {
String _name = e.getName();
String _plus_1 = (_plus + _name);
List<Attribute> _union = this._roomExtensions.<Attribute>union(path, e);
- Object _genMinMaxConstantsRec = this.genMinMaxConstantsRec(ac, _plus_1, _union);
+ String _genMinMaxConstantsRec = this.genMinMaxConstantsRec(ac, _plus_1, _union);
_builder.append(_genMinMaxConstantsRec, "");
_builder.newLineIfNotEmpty();
}
}
- _xifexpression = _builder;
+ _xifexpression = _builder.toString();
} else {
- CharSequence _xifexpression_1 = null;
+ String _xifexpression_1 = null;
Attribute _last_2 = IterableExtensions.<Attribute>last(path);
RefableType _refType_2 = _last_2.getRefType();
DataType _type_2 = _refType_2.getType();
if ((_type_2 instanceof ExternalType)) {
_xifexpression_1 = null;
} else {
- CharSequence _xblockexpression_1 = null;
+ String _xblockexpression_1 = null;
{
Attribute _last_3 = IterableExtensions.<Attribute>last(path);
RefableType _refType_3 = _last_3.getRefType();
@@ -531,7 +535,7 @@ public class ConfigGenAddon {
_builder_1.newLineIfNotEmpty();
}
}
- _xblockexpression_1 = (_builder_1);
+ _xblockexpression_1 = (_builder_1.toString());
}
_xifexpression_1 = _xblockexpression_1;
}
diff --git a/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/ConfigGenAddon.java b/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/ConfigGenAddon.java
index 829facf56..539480c36 100644
--- a/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/ConfigGenAddon.java
+++ b/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/ConfigGenAddon.java
@@ -80,7 +80,11 @@ public class ConfigGenAddon {
for(final InterfaceItemInstance pi : _orderedIfItemInstances) {
InterfaceItem _interfaceItem = pi.getInterfaceItem();
PortClass _portClass = RoomHelpers.getPortClass(_interfaceItem);
- EList<Attribute> attribs = _portClass==null?(EList<Attribute>)null:_portClass.getAttributes();
+ EList<Attribute> _attributes = null;
+ if (_portClass!=null) {
+ _attributes=_portClass.getAttributes();
+ }
+ EList<Attribute> attribs = _attributes;
_builder.newLineIfNotEmpty();
{
boolean _notEquals = (!Objects.equal(attribs, null));
diff --git a/plugins/org.eclipse.etrice.generator/xtend-gen/org/eclipse/etrice/generator/generic/GenericStateMachineGenerator.java b/plugins/org.eclipse.etrice.generator/xtend-gen/org/eclipse/etrice/generator/generic/GenericStateMachineGenerator.java
index 475c83401..6023f7aaa 100644
--- a/plugins/org.eclipse.etrice.generator/xtend-gen/org/eclipse/etrice/generator/generic/GenericStateMachineGenerator.java
+++ b/plugins/org.eclipse.etrice.generator/xtend-gen/org/eclipse/etrice/generator/generic/GenericStateMachineGenerator.java
@@ -375,7 +375,11 @@ public class GenericStateMachineGenerator {
}
if (_and) {
TransitionChain _chain = xpac.getChain(tr);
- Transition start = _chain==null?(Transition)null:_chain.getTransition();
+ Transition _transition = null;
+ if (_chain!=null) {
+ _transition=_chain.getTransition();
+ }
+ Transition start = _transition;
_builder.newLineIfNotEmpty();
boolean _and_1 = false;
if (!(start instanceof NonInitialTransition)) {
diff --git a/plugins/org.eclipse.etrice.logging/META-INF/MANIFEST.MF b/plugins/org.eclipse.etrice.logging/META-INF/MANIFEST.MF
index bfc228afc..209a45fff 100644
--- a/plugins/org.eclipse.etrice.logging/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.etrice.logging/META-INF/MANIFEST.MF
@@ -4,5 +4,5 @@ Bundle-Name: eTrice Logging Fragment
Bundle-SymbolicName: org.eclipse.etrice.logging
Bundle-Version: 0.3.0.qualifier
Bundle-Vendor: Eclipse eTrice (Incubation)
-Fragment-Host: org.apache.log4j;bundle-version="1.2.15.v201012070815"
+Fragment-Host: org.apache.log4j;bundle-version="1.2.15"
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
diff --git a/plugins/org.eclipse.etrice.ui.behavior/src/org/eclipse/etrice/ui/behavior/ProviderDispatcher.java b/plugins/org.eclipse.etrice.ui.behavior/src/org/eclipse/etrice/ui/behavior/ProviderDispatcher.java
index b205bbdd3..a1e92f0f9 100644
--- a/plugins/org.eclipse.etrice.ui.behavior/src/org/eclipse/etrice/ui/behavior/ProviderDispatcher.java
+++ b/plugins/org.eclipse.etrice.ui.behavior/src/org/eclipse/etrice/ui/behavior/ProviderDispatcher.java
@@ -66,9 +66,9 @@ import org.eclipse.graphiti.mm.pictograms.PictogramElement;
import org.eclipse.graphiti.mm.pictograms.Shape;
import org.eclipse.graphiti.tb.DefaultToolBehaviorProvider;
import org.eclipse.graphiti.tb.IContextButtonPadData;
-import org.eclipse.graphiti.tb.ISelectionInfo;
+import org.eclipse.graphiti.tb.IShapeSelectionInfo;
import org.eclipse.graphiti.tb.IToolBehaviorProvider;
-import org.eclipse.graphiti.tb.SelectionInfoImpl;
+import org.eclipse.graphiti.tb.ShapeSelectionInfoImpl;
import org.eclipse.graphiti.ui.features.DefaultFeatureProvider;
import org.eclipse.graphiti.util.IColorConstant;
@@ -442,16 +442,19 @@ public class ProviderDispatcher {
return bp.getContextButtonPad(context);
}
- public ISelectionInfo getSelectionInfoForShape(Shape shape) {
- ISelectionInfo si = new SelectionInfoImpl(IColorConstant.SHAPE_SELECTION_FG, IColorConstant.HANDLE_FG, IColorConstant.HANDLE_BG,
- LineStyle.DASH);
- si.setPrimarySelectionBackgroundColor(IColorConstant.LIGHT_ORANGE);
- si.setSecondarySelectionBackgroundColor(IColorConstant.LIGHT_ORANGE);
- return si;
+ public IShapeSelectionInfo getSelectionInfoForShape(Shape shape) {
+ IShapeSelectionInfo ssi = new ShapeSelectionInfoImpl();
+ ssi.setColor(IColorConstant.SHAPE_SELECTION_FG);
+ ssi.setPrimarySelectionHandleForegroundColor(IColorConstant.HANDLE_FG);
+ ssi.setPrimarySelectionHandleBackgroundColor(IColorConstant.HANDLE_BG);
+ ssi.setLineStyle(LineStyle.DASH);
+ ssi.setPrimarySelectionBackgroundColor(IColorConstant.LIGHT_ORANGE);
+ ssi.setSecondarySelectionBackgroundColor(IColorConstant.LIGHT_ORANGE);
+ return ssi;
}
@Override
- public String getToolTip(GraphicsAlgorithm ga) {
+ public Object getToolTip(GraphicsAlgorithm ga) {
IToolBehaviorProvider bp = getToolBehaviorProvider(ga.getPictogramElement());
if (bp==null)
return super.getToolTip(ga);
diff --git a/plugins/org.eclipse.etrice.ui.behavior/src/org/eclipse/etrice/ui/behavior/editor/BehaviorEditor.java b/plugins/org.eclipse.etrice.ui.behavior/src/org/eclipse/etrice/ui/behavior/editor/BehaviorEditor.java
index 47a16eba5..b95797ec6 100644
--- a/plugins/org.eclipse.etrice.ui.behavior/src/org/eclipse/etrice/ui/behavior/editor/BehaviorEditor.java
+++ b/plugins/org.eclipse.etrice.ui.behavior/src/org/eclipse/etrice/ui/behavior/editor/BehaviorEditor.java
@@ -48,7 +48,7 @@ public class BehaviorEditor extends RoomDiagramEditor {
}
@Override
- protected void initializeGraphicalViewer() {
+ public void initializeGraphicalViewer() {
super.initializeGraphicalViewer();
Command cmd = new RecordingCommand(getEditingDomain()) {
diff --git a/plugins/org.eclipse.etrice.ui.behavior/src/org/eclipse/etrice/ui/behavior/support/ChoicePointSupport.java b/plugins/org.eclipse.etrice.ui.behavior/src/org/eclipse/etrice/ui/behavior/support/ChoicePointSupport.java
index b2e69f814..fd148d28b 100644
--- a/plugins/org.eclipse.etrice.ui.behavior/src/org/eclipse/etrice/ui/behavior/support/ChoicePointSupport.java
+++ b/plugins/org.eclipse.etrice.ui.behavior/src/org/eclipse/etrice/ui/behavior/support/ChoicePointSupport.java
@@ -542,7 +542,7 @@ public class ChoicePointSupport {
}
@Override
- public String getToolTip(GraphicsAlgorithm ga) {
+ public Object getToolTip(GraphicsAlgorithm ga) {
PictogramElement pe = ga.getPictogramElement();
EObject bo = Graphiti.getLinkService().getBusinessObjectForLinkedPictogramElement(pe);
if (bo instanceof ChoicePoint) {
diff --git a/plugins/org.eclipse.etrice.ui.behavior/src/org/eclipse/etrice/ui/behavior/support/DiagramUpdateFeature.java b/plugins/org.eclipse.etrice.ui.behavior/src/org/eclipse/etrice/ui/behavior/support/DiagramUpdateFeature.java
index 61c5c2879..fc832e9aa 100644
--- a/plugins/org.eclipse.etrice.ui.behavior/src/org/eclipse/etrice/ui/behavior/support/DiagramUpdateFeature.java
+++ b/plugins/org.eclipse.etrice.ui.behavior/src/org/eclipse/etrice/ui/behavior/support/DiagramUpdateFeature.java
@@ -30,7 +30,7 @@ import org.eclipse.graphiti.features.impl.Reason;
import org.eclipse.graphiti.mm.pictograms.Connection;
import org.eclipse.graphiti.mm.pictograms.ContainerShape;
import org.eclipse.graphiti.mm.pictograms.Shape;
-import org.eclipse.graphiti.platform.IDiagramEditor;
+import org.eclipse.graphiti.platform.IDiagramBehavior;
/**
* @author Henrik Rentz-Reichert (initial contribution)
@@ -148,9 +148,9 @@ public class DiagramUpdateFeature extends AbstractUpdateFeature {
}
// if we inserted states they have been selected: reset the selection
- IDiagramEditor diagramEditor = getFeatureProvider().getDiagramTypeProvider().getDiagramEditor();
- if (diagramEditor != null)
- diagramEditor.setPictogramElementForSelection(null);
+ IDiagramBehavior diagramBehavior = getFeatureProvider().getDiagramTypeProvider().getDiagramBehavior();
+ if (diagramBehavior != null)
+ diagramBehavior.getDiagramContainer().setPictogramElementForSelection(null);
return changed;
}
diff --git a/plugins/org.eclipse.etrice.ui.behavior/src/org/eclipse/etrice/ui/behavior/support/StateGraphSupport.java b/plugins/org.eclipse.etrice.ui.behavior/src/org/eclipse/etrice/ui/behavior/support/StateGraphSupport.java
index 55a70abe1..d7dbc6c59 100644
--- a/plugins/org.eclipse.etrice.ui.behavior/src/org/eclipse/etrice/ui/behavior/support/StateGraphSupport.java
+++ b/plugins/org.eclipse.etrice.ui.behavior/src/org/eclipse/etrice/ui/behavior/support/StateGraphSupport.java
@@ -265,7 +265,7 @@ public class StateGraphSupport {
Object bo = getBusinessObjectForPictogramElement(container);
if (bo instanceof StateGraph) {
StateGraph sg = (StateGraph) bo;
- getDiagramEditor().selectPictogramElements(new PictogramElement[] {});
+ getDiagramBehavior().getDiagramContainer().selectPictogramElements(new PictogramElement[] {});
ContextSwitcher.goUp(getDiagram(), sg);
}
}
diff --git a/plugins/org.eclipse.etrice.ui.behavior/src/org/eclipse/etrice/ui/behavior/support/StateSupport.java b/plugins/org.eclipse.etrice.ui.behavior/src/org/eclipse/etrice/ui/behavior/support/StateSupport.java
index 99bff5172..0a9999c68 100644
--- a/plugins/org.eclipse.etrice.ui.behavior/src/org/eclipse/etrice/ui/behavior/support/StateSupport.java
+++ b/plugins/org.eclipse.etrice.ui.behavior/src/org/eclipse/etrice/ui/behavior/support/StateSupport.java
@@ -463,7 +463,7 @@ public class StateSupport {
@Override
public void execute(ICustomContext context) {
- getDiagramEditor().selectPictogramElements(new PictogramElement[] {});
+ getDiagramBehavior().getDiagramContainer().selectPictogramElements(new PictogramElement[] {});
ContainerShape container = (ContainerShape)context.getPictogramElements()[0];
Object bo = getBusinessObjectForPictogramElement(container);
if (bo instanceof State) {
@@ -518,7 +518,7 @@ public class StateSupport {
@Override
public void execute(ICustomContext context) {
- getDiagramEditor().selectPictogramElements(new PictogramElement[] {});
+ getDiagramBehavior().getDiagramContainer().selectPictogramElements(new PictogramElement[] {});
ContainerShape container = (ContainerShape)context.getPictogramElements()[0];
Object bo = getBusinessObjectForPictogramElement(container);
@@ -587,7 +587,7 @@ public class StateSupport {
@Override
public void execute(ICustomContext context) {
- getDiagramEditor().selectPictogramElements(new PictogramElement[] {});
+ getDiagramBehavior().getDiagramContainer().selectPictogramElements(new PictogramElement[] {});
ContainerShape container = (ContainerShape)context.getPictogramElements()[0];
Object bo = getBusinessObjectForPictogramElement(container);
@@ -968,7 +968,7 @@ public class StateSupport {
}
@Override
- public String getToolTip(GraphicsAlgorithm ga) {
+ public Object getToolTip(GraphicsAlgorithm ga) {
// if this is called we know there is a business object!=null
PictogramElement pe = ga.getPictogramElement();
diff --git a/plugins/org.eclipse.etrice.ui.behavior/src/org/eclipse/etrice/ui/behavior/support/TransitionSupport.java b/plugins/org.eclipse.etrice.ui.behavior/src/org/eclipse/etrice/ui/behavior/support/TransitionSupport.java
index dfea4c509..67b79c86f 100644
--- a/plugins/org.eclipse.etrice.ui.behavior/src/org/eclipse/etrice/ui/behavior/support/TransitionSupport.java
+++ b/plugins/org.eclipse.etrice.ui.behavior/src/org/eclipse/etrice/ui/behavior/support/TransitionSupport.java
@@ -879,7 +879,7 @@ public class TransitionSupport {
}
@Override
- public String getToolTip(GraphicsAlgorithm ga) {
+ public Object getToolTip(GraphicsAlgorithm ga) {
// if this is called we know there is a business object!=null
PictogramElement pe = ga.getPictogramElement();
if (pe instanceof ConnectionDecorator)
diff --git a/plugins/org.eclipse.etrice.ui.common/src/org/eclipse/etrice/ui/common/editor/DiagramExporter.java b/plugins/org.eclipse.etrice.ui.common/src/org/eclipse/etrice/ui/common/editor/DiagramExporter.java
index 74dc08fef..c8f9603bd 100644
--- a/plugins/org.eclipse.etrice.ui.common/src/org/eclipse/etrice/ui/common/editor/DiagramExporter.java
+++ b/plugins/org.eclipse.etrice.ui.common/src/org/eclipse/etrice/ui/common/editor/DiagramExporter.java
@@ -12,7 +12,9 @@
package org.eclipse.etrice.ui.common.editor;
+import java.io.ByteArrayOutputStream;
import java.io.FileOutputStream;
+import java.util.ArrayList;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IProgressMonitor;
@@ -29,12 +31,16 @@ import org.eclipse.gef.GraphicalViewer;
import org.eclipse.gef.LayerConstants;
import org.eclipse.gef.editparts.LayerManager;
import org.eclipse.graphiti.ui.internal.fixed.FixedScaledGraphics;
-import org.eclipse.graphiti.ui.internal.services.GraphitiUiInternal;
import org.eclipse.jface.dialogs.ProgressMonitorDialog;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.swt.SWT;
+import org.eclipse.swt.SWTException;
import org.eclipse.swt.graphics.GC;
import org.eclipse.swt.graphics.Image;
+import org.eclipse.swt.graphics.ImageData;
+import org.eclipse.swt.graphics.ImageLoader;
+import org.eclipse.swt.graphics.PaletteData;
+import org.eclipse.swt.graphics.RGB;
import org.eclipse.swt.widgets.Display;
import org.eclipse.ui.PlatformUI;
import org.eclipse.ui.actions.WorkspaceModifyOperation;
@@ -76,7 +82,7 @@ public class DiagramExporter {
Image image = createImage(viewer, 1.0d, 3000.0d);
if (image!=null) {
try {
- final byte[] imgData = GraphitiUiInternal.getUiService().createImage(image, fmt);
+ final byte[] imgData = convertImageToBytes(image, fmt);
WorkspaceModifyOperation operation = new WorkspaceModifyOperation() {
@Override
@@ -139,4 +145,90 @@ public class DiagramExporter {
return scaledImage;
}
+
+ /* copied from DefaultSaveImageFeature */
+ /* TODO: use DefaultSaveImageFeature directly? */
+ private static byte[] convertImageToBytes(Image image, int format) {
+ ByteArrayOutputStream result = new ByteArrayOutputStream();
+
+ try {
+ ImageData imDat = null;
+ // Save as GIF is only working if not more than 256 colors are used
+ // in the image
+ if (format == SWT.IMAGE_GIF) {
+ imDat = create8BitIndexedPaletteImage(image);
+ }
+
+ if (imDat == null) {
+ imDat = image.getImageData();
+ }
+
+ ImageLoader imageLoader = new ImageLoader();
+ imageLoader.data = new ImageData[] { imDat };
+ try {
+ imageLoader.save(result, format);
+ } catch (SWTException e) {
+ String error = "Depth: " + Integer.toString(image.getImageData().depth) + "\n" + "X: " //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ + Integer.toString(image.getImageData().x)
+ + "\n" + "Y: " + Integer.toString(image.getImageData().y); //$NON-NLS-1$ //$NON-NLS-2$
+ throw new IllegalStateException(error, e);
+ }
+ } catch (Exception e) {
+ throw new IllegalStateException(e);
+ } finally {
+ image.dispose();
+ }
+
+ return result.toByteArray();
+ }
+
+ private static ImageData create8BitIndexedPaletteImage(Image image) {
+ int upperboundWidth = image.getBounds().width;
+ int upperboundHeight = image.getBounds().height;
+ ImageData imageData = image.getImageData();
+
+ // determine number of used colors
+ ArrayList<Integer> colors = new ArrayList<Integer>();
+ for (int x = 0; x < upperboundWidth; x++) {
+ for (int y = 0; y < upperboundHeight; y++) {
+ int color = imageData.getPixel(x, y);
+ Integer colorInteger = new Integer(color);
+ if (!colors.contains(colorInteger))
+ colors.add(colorInteger);
+ }
+ }
+
+ // at the moment this is only working if not more than 256 colors are
+ // used in the image
+ if (colors.size() > 256) {
+ throw new IllegalStateException(
+ "Image contains more than 256 colors. \n Automated color reduction is currently not supported."); //$NON-NLS-1$
+ }
+
+ // create an indexed palette
+ RGB[] rgbs = new RGB[256];
+ for (int i = 0; i < 256; i++)
+ rgbs[i] = new RGB(255, 255, 255);
+ for (int i = 0; i < colors.size(); i++) {
+ int pixelValue = ((colors.get(i))).intValue();
+ int red = (pixelValue & imageData.palette.redMask) >>> Math.abs(imageData.palette.redShift);
+ int green = (pixelValue & imageData.palette.greenMask) >>> Math.abs(imageData.palette.greenShift);
+ int blue = (pixelValue & imageData.palette.blueMask) >>> Math.abs(imageData.palette.blueShift);
+ rgbs[i] = new RGB(red, green, blue);
+ }
+
+ // create new imageData
+ PaletteData palette = new PaletteData(rgbs);
+ ImageData newImageData = new ImageData(imageData.width, imageData.height, 8, palette);
+
+ // adjust imageData with regard to the palette
+ for (int x = 0; x < upperboundWidth; x++) {
+ for (int y = 0; y < upperboundHeight; y++) {
+ int color = imageData.getPixel(x, y);
+ newImageData.setPixel(x, y, colors.indexOf(new Integer(color)));
+ }
+ }
+
+ return newImageData;
+ }
}
diff --git a/plugins/org.eclipse.etrice.ui.common/src/org/eclipse/etrice/ui/common/editor/RoomDiagramEditor.java b/plugins/org.eclipse.etrice.ui.common/src/org/eclipse/etrice/ui/common/editor/RoomDiagramEditor.java
index de418656c..d16e17904 100644
--- a/plugins/org.eclipse.etrice.ui.common/src/org/eclipse/etrice/ui/common/editor/RoomDiagramEditor.java
+++ b/plugins/org.eclipse.etrice.ui.common/src/org/eclipse/etrice/ui/common/editor/RoomDiagramEditor.java
@@ -63,7 +63,7 @@ public class RoomDiagramEditor extends DiagramEditor {
}
@Override
- protected void initializeGraphicalViewer() {
+ public void initializeGraphicalViewer() {
super.initializeGraphicalViewer();
Map<EObject, Collection<Setting>> result = EcoreUtil.UnresolvedProxyCrossReferencer.find(getEditingDomain().getResourceSet());
diff --git a/plugins/org.eclipse.etrice.ui.layout/src/org/eclipse/etrice/ui/layout/ETriceDiagramLayoutManager.java b/plugins/org.eclipse.etrice.ui.layout/src/org/eclipse/etrice/ui/layout/ETriceDiagramLayoutManager.java
index cc9d6b408..aeab7bb3d 100644
--- a/plugins/org.eclipse.etrice.ui.layout/src/org/eclipse/etrice/ui/layout/ETriceDiagramLayoutManager.java
+++ b/plugins/org.eclipse.etrice.ui.layout/src/org/eclipse/etrice/ui/layout/ETriceDiagramLayoutManager.java
@@ -126,7 +126,7 @@ public abstract class ETriceDiagramLayoutManager extends
return ((DiagramEditor) object).getEditingDomain();
} else if (object instanceof IPictogramElementEditPart) {
return ((IPictogramElementEditPart) object)
- .getConfigurationProvider().getDiagramEditor()
+ .getConfigurationProvider().getDiagramBehavior()
.getEditingDomain();
}
}
diff --git a/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.modellib.c.zip b/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.modellib.c.zip
index d2520cae1..6eb62f247 100644
--- a/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.modellib.c.zip
+++ b/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.modellib.c.zip
Binary files differ
diff --git a/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.modellib.cpp.zip b/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.modellib.cpp.zip
index 3bfeb9ee7..5f24848e0 100644
--- a/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.modellib.cpp.zip
+++ b/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.modellib.cpp.zip
Binary files differ
diff --git a/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.modellib.java.zip b/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.modellib.java.zip
index 4dab5804c..65e9e6464 100644
--- a/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.modellib.java.zip
+++ b/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.modellib.java.zip
Binary files differ
diff --git a/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.runtime.c.zip b/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.runtime.c.zip
index bc18bdea5..806541f3f 100644
--- a/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.runtime.c.zip
+++ b/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.runtime.c.zip
Binary files differ
diff --git a/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.runtime.cpp.zip b/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.runtime.cpp.zip
index f9ffcd7d6..3fa28c0d7 100644
--- a/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.runtime.cpp.zip
+++ b/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.runtime.cpp.zip
Binary files differ
diff --git a/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.runtime.java.zip b/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.runtime.java.zip
index 1fa12fa6f..9c91d2118 100644
--- a/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.runtime.java.zip
+++ b/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.runtime.java.zip
Binary files differ
diff --git a/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.tutorials.c.zip b/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.tutorials.c.zip
index cde4b4df1..09936f2a2 100644
--- a/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.tutorials.c.zip
+++ b/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.tutorials.c.zip
Binary files differ
diff --git a/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.tutorials.java.zip b/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.tutorials.java.zip
index 660110904..723e8a995 100644
--- a/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.tutorials.java.zip
+++ b/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.tutorials.java.zip
Binary files differ
diff --git a/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/ProviderDispatcher.java b/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/ProviderDispatcher.java
index ad1e803bc..d62f20ed4 100644
--- a/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/ProviderDispatcher.java
+++ b/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/ProviderDispatcher.java
@@ -66,9 +66,9 @@ import org.eclipse.graphiti.mm.pictograms.Shape;
import org.eclipse.graphiti.tb.DefaultToolBehaviorProvider;
import org.eclipse.graphiti.tb.IContextButtonPadData;
import org.eclipse.graphiti.tb.IDecorator;
-import org.eclipse.graphiti.tb.ISelectionInfo;
+import org.eclipse.graphiti.tb.IShapeSelectionInfo;
import org.eclipse.graphiti.tb.IToolBehaviorProvider;
-import org.eclipse.graphiti.tb.SelectionInfoImpl;
+import org.eclipse.graphiti.tb.ShapeSelectionInfoImpl;
import org.eclipse.graphiti.ui.features.DefaultFeatureProvider;
import org.eclipse.graphiti.util.IColorConstant;
@@ -408,7 +408,7 @@ public class ProviderDispatcher {
}
@Override
- public String getToolTip(GraphicsAlgorithm context) {
+ public Object getToolTip(GraphicsAlgorithm context) {
IToolBehaviorProvider bp = getToolBehaviorProvider(context.getPictogramElement());
if (bp==null)
return super.getToolTip(context);
@@ -416,12 +416,15 @@ public class ProviderDispatcher {
return bp.getToolTip(context);
}
- public ISelectionInfo getSelectionInfoForShape(Shape shape) {
- ISelectionInfo si = new SelectionInfoImpl(IColorConstant.SHAPE_SELECTION_FG, IColorConstant.HANDLE_FG, IColorConstant.HANDLE_BG,
- LineStyle.DASH);
- si.setPrimarySelectionBackgroundColor(IColorConstant.LIGHT_ORANGE);
- si.setSecondarySelectionBackgroundColor(IColorConstant.LIGHT_ORANGE);
- return si;
+ public IShapeSelectionInfo getSelectionInfoForShape(Shape shape) {
+ IShapeSelectionInfo ssi = new ShapeSelectionInfoImpl();
+ ssi.setColor(IColorConstant.SHAPE_SELECTION_FG);
+ ssi.setPrimarySelectionHandleForegroundColor(IColorConstant.HANDLE_FG);
+ ssi.setPrimarySelectionHandleBackgroundColor(IColorConstant.HANDLE_BG);
+ ssi.setLineStyle(LineStyle.DASH);
+ ssi.setPrimarySelectionBackgroundColor(IColorConstant.LIGHT_ORANGE);
+ ssi.setSecondarySelectionBackgroundColor(IColorConstant.LIGHT_ORANGE);
+ return ssi;
}
}
diff --git a/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/support/BindingSupport.java b/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/support/BindingSupport.java
index 96d4d52d5..daf37a691 100644
--- a/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/support/BindingSupport.java
+++ b/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/support/BindingSupport.java
@@ -215,7 +215,7 @@ public class BindingSupport {
if (bo instanceof Port) {
if (ValidationUtil.isConnectable(src, srcRef, null, (Port) bo, null, null, sc, null, false).isOk()) {
DecorationProvider.addAllowedPortShape(subShape);
- getDiagramEditor().refreshRenderingDecorators(subShape);
+ getDiagramBehavior().refreshRenderingDecorators(subShape);
}
}
else if (bo instanceof ActorContainerRef) {
@@ -225,7 +225,7 @@ public class BindingSupport {
if (bo instanceof Port) {
if (ValidationUtil.isConnectable(src, srcRef, null, (Port) bo, tgtRef, null, sc, null, false).isOk()) {
DecorationProvider.addAllowedPortShape(subSubShape);
- getDiagramEditor().refreshRenderingDecorators(subSubShape);
+ getDiagramBehavior().refreshRenderingDecorators(subSubShape);
}
}
}
@@ -236,7 +236,7 @@ public class BindingSupport {
private void endHighLightMatches() {
DecorationProvider.clearAllowedPortShapes();
- getDiagramEditor().refresh();
+ getDiagramBehavior().refresh();
}
@Override
@@ -552,7 +552,7 @@ public class BindingSupport {
class BehaviorProvider extends DefaultToolBehaviorProvider {
@Override
- public String getToolTip(GraphicsAlgorithm ga) {
+ public Object getToolTip(GraphicsAlgorithm ga) {
// if this is called we know there is a business object!=null
PictogramElement pe = ga.getPictogramElement();
if (pe instanceof ConnectionDecorator)
diff --git a/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/support/InterfaceItemSupport.java b/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/support/InterfaceItemSupport.java
index e1a2f543a..4befc71c4 100644
--- a/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/support/InterfaceItemSupport.java
+++ b/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/support/InterfaceItemSupport.java
@@ -687,7 +687,7 @@ public class InterfaceItemSupport {
}
@Override
- public String getToolTip(GraphicsAlgorithm ga) {
+ public Object getToolTip(GraphicsAlgorithm ga) {
// if this is called we know there is a business object!=null
PictogramElement pe = ga.getPictogramElement();
diff --git a/releng/org.eclipse.etrice.releng/build.rmap b/releng/org.eclipse.etrice.releng/build.rmap
index 652b8778a..9ef7bc0ea 100644
--- a/releng/org.eclipse.etrice.releng/build.rmap
+++ b/releng/org.eclipse.etrice.releng/build.rmap
@@ -58,7 +58,7 @@
<rm:provider componentTypes="eclipse.feature,osgi.bundle" readerType="p2" source="false" mutable="false">
<rm:property key="buckminster.source" value="false"/>
<rm:property key="buckminster.mutable" value="false"/>
- <rm:uri format="{0}/releases/juno">
+ <rm:uri format="{0}/releases/kepler">
<bc:propertyRef key="eclipse.downloads"/>
</rm:uri>
</rm:provider>
@@ -76,21 +76,7 @@
<rm:provider componentTypes="eclipse.feature,osgi.bundle" readerType="p2" source="false" mutable="false">
<rm:property key="buckminster.source" value="false"/>
<rm:property key="buckminster.mutable" value="false"/>
- <rm:uri format="{0}/releases/juno">
- <bc:propertyRef key="eclipse.downloads"/>
- </rm:uri>
- </rm:provider>
- <rm:provider componentTypes="osgi.bundle" readerType="p2" source="false" mutable="false">
- <rm:property key="buckminster.source" value="false"/>
- <rm:property key="buckminster.mutable" value="false"/>
- <rm:uri format="{0}/modeling/tmf/xtext/updates/composite/releases/">
- <bc:propertyRef key="eclipse.downloads"/>
- </rm:uri>
- </rm:provider>
- <rm:provider componentTypes="osgi.bundle" readerType="p2" source="false" mutable="false">
- <rm:property key="buckminster.mutable" value="false"/>
- <rm:property key="buckminster.source" value="false"/>
- <rm:uri format="{0}/modeling/emf/emf/updates/milestones/">
+ <rm:uri format="{0}/releases/kepler">
<bc:propertyRef key="eclipse.downloads"/>
</rm:uri>
</rm:provider>
diff --git a/tests/org.eclipse.etrice.core.config.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.etrice.core.config.tests/META-INF/MANIFEST.MF
index f118b0f93..112634468 100644
--- a/tests/org.eclipse.etrice.core.config.tests/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.etrice.core.config.tests/META-INF/MANIFEST.MF
@@ -11,7 +11,7 @@ Require-Bundle: org.eclipse.etrice.core.config;bundle-version="0.3.0",
org.eclipse.xtext,
org.eclipse.xtext.junit4,
org.eclipse.xtext.ui.junit,
- org.junit4,
+ org.junit,
org.eclipse.ui.workbench;resolution:=optional
Import-Package: org.apache.log4j,
org.apache.commons.logging,
diff --git a/tests/org.eclipse.etrice.core.genmodel.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.etrice.core.genmodel.tests/META-INF/MANIFEST.MF
index 6feda5513..9470db1c8 100644
--- a/tests/org.eclipse.etrice.core.genmodel.tests/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.etrice.core.genmodel.tests/META-INF/MANIFEST.MF
@@ -7,7 +7,7 @@ Bundle-Vendor: Eclipse eTrice (Incubation)
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Require-Bundle: org.eclipse.etrice.core.room;bundle-version="0.3.0",
org.eclipse.etrice.core.genmodel;bundle-version="0.3.0",
- org.junit4;bundle-version="4.8.1",
+ org.junit;bundle-version="4.8.1",
org.eclipse.xtext;bundle-version="2.1.1",
org.eclipse.core.runtime;bundle-version="3.7.0"
Bundle-Activator: org.eclipse.etrice.core.genmodel.GenmodelTestsActivator
diff --git a/tests/org.eclipse.etrice.core.room.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.etrice.core.room.tests/META-INF/MANIFEST.MF
index 70c8161b3..f20223226 100644
--- a/tests/org.eclipse.etrice.core.room.tests/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.etrice.core.room.tests/META-INF/MANIFEST.MF
@@ -7,7 +7,7 @@ Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-Vendor: Eclipse eTrice (Incubation)
Require-Bundle: org.eclipse.etrice.core.room;bundle-version="0.1.0",
org.eclipse.etrice.core.room.ui;bundle-version="0.1.0",
- org.junit4;bundle-version="[4.8.1,4.9.0)",
+ org.junit;bundle-version="4.8.1",
org.eclipse.osgi;bundle-version="3.6.0",
org.eclipse.xtext;bundle-version="2.1.1",
org.eclipse.core.runtime;bundle-version="3.6.0",
diff --git a/tests/org.eclipse.etrice.generator.fsmtest.tests/.classpath b/tests/org.eclipse.etrice.generator.fsmtest.tests/.classpath
index 814539a72..26834e72e 100644
--- a/tests/org.eclipse.etrice.generator.fsmtest.tests/.classpath
+++ b/tests/org.eclipse.etrice.generator.fsmtest.tests/.classpath
@@ -1,6 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
- <classpathentry kind="src" path="src"/>
<classpathentry kind="src" path="src-gen"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
diff --git a/tests/org.eclipse.etrice.generator.fsmtest.tests/build.properties b/tests/org.eclipse.etrice.generator.fsmtest.tests/build.properties
index 972e6c542..c591a97d9 100644
--- a/tests/org.eclipse.etrice.generator.fsmtest.tests/build.properties
+++ b/tests/org.eclipse.etrice.generator.fsmtest.tests/build.properties
@@ -1,5 +1,4 @@
-source.. = src/,\
- src-gen/
+source.. = src-gen/
bin.includes = META-INF/,\
.
diff --git a/tests/org.eclipse.etrice.generator.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.etrice.generator.tests/META-INF/MANIFEST.MF
index 99a68c208..ab7c512bc 100644
--- a/tests/org.eclipse.etrice.generator.tests/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.etrice.generator.tests/META-INF/MANIFEST.MF
@@ -7,7 +7,7 @@ Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-Vendor: Eclipse eTrice (Incubation)
Require-Bundle: org.eclipse.etrice.core.room;bundle-version="0.3.0",
org.eclipse.etrice.generator;bundle-version="0.1.0",
- org.junit4;bundle-version="[4.8.1,4.9.0)",
+ org.junit;bundle-version="4.8.1",
org.eclipse.osgi;bundle-version="3.6.0",
org.eclipse.xtext;bundle-version="2.1.1",
org.eclipse.core.runtime;bundle-version="3.6.0"
diff --git a/tests/org.eclipse.etrice.ui.behavior.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.etrice.ui.behavior.tests/META-INF/MANIFEST.MF
index 8e999bc29..202a36210 100644
--- a/tests/org.eclipse.etrice.ui.behavior.tests/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.etrice.ui.behavior.tests/META-INF/MANIFEST.MF
@@ -11,7 +11,7 @@ Require-Bundle: org.eclipse.etrice.core.room;bundle-version="0.3.0",
org.eclipse.etrice.ui.tests.base;bundle-version="0.3.0",
org.eclipse.ui,
org.eclipse.core.runtime,
- org.junit4;bundle-version="[4.8.1,4.9.0)",
+ org.junit;bundle-version="4.8.1",
org.eclipse.xtext;bundle-version="2.1.1",
org.eclipse.graphiti;bundle-version="0.8.0"
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
diff --git a/tests/org.eclipse.etrice.ui.structure.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.etrice.ui.structure.tests/META-INF/MANIFEST.MF
index 6520a317c..466f87aaf 100644
--- a/tests/org.eclipse.etrice.ui.structure.tests/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.etrice.ui.structure.tests/META-INF/MANIFEST.MF
@@ -9,7 +9,7 @@ Require-Bundle: org.eclipse.etrice.core.room;bundle-version="0.3.0",
org.eclipse.etrice.ui.tests.base;bundle-version="0.3.0",
org.eclipse.ui,
org.eclipse.core.runtime,
- org.junit4;bundle-version="[4.8.1,4.9.0)",
+ org.junit;bundle-version="4.8.1",
org.eclipse.xtext;bundle-version="2.1.1",
org.eclipse.graphiti;bundle-version="0.8.0"
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
diff --git a/tests/org.eclipse.etrice.ui.tests.base/META-INF/MANIFEST.MF b/tests/org.eclipse.etrice.ui.tests.base/META-INF/MANIFEST.MF
index c7d50b72a..b92cadd9d 100644
--- a/tests/org.eclipse.etrice.ui.tests.base/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.etrice.ui.tests.base/META-INF/MANIFEST.MF
@@ -3,7 +3,7 @@ Bundle-ManifestVersion: 2
Bundle-Name: eTrice Diagram Test Base Classes
Bundle-SymbolicName: org.eclipse.etrice.ui.tests.base
Bundle-Version: 0.3.0.qualifier
-Require-Bundle: org.junit4;bundle-version="[4.8.1,4.9.0)",
+Require-Bundle: org.junit;bundle-version="4.8.1",
org.eclipse.core.runtime,
org.eclipse.etrice.core.room;bundle-version="0.3.0",
org.eclipse.etrice.ui.structure;bundle-version="0.3.0",

Back to the top