Merge branch 'develop'

This commit is contained in:
Eyck Jentzsch 2018-06-03 10:52:03 +02:00
commit 661a40c5d4
181 changed files with 2697 additions and 1120 deletions

View File

@ -2,31 +2,8 @@
<feature
id="com.minres.rdl.feature"
label="RDL Feature "
version="1.0.0.qualifier">
<requires>
<import plugin="org.eclipse.xtext"/>
<import plugin="org.eclipse.xtext.xbase"/>
<import plugin="org.eclipse.equinox.common" version="3.5.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.emf.ecore"/>
<import plugin="org.eclipse.xtext.xbase.lib"/>
<import plugin="org.antlr.runtime"/>
<import plugin="org.eclipse.xtext.util"/>
<import plugin="org.eclipse.xtend.lib"/>
<import plugin="org.eclipse.emf.common"/>
<import plugin="org.eclipse.equinox.preferences"/>
<import plugin="org.apache.log4j"/>
<import plugin="org.eclipse.xtext.ide"/>
<import plugin="org.eclipse.xtext.xbase.ide"/>
<import plugin="org.eclipse.xtext.ui"/>
<import plugin="org.eclipse.xtext.ui.shared"/>
<import plugin="org.eclipse.xtext.ui.codetemplates.ui"/>
<import plugin="org.eclipse.ui.editors" version="3.5.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.ui.ide" version="3.5.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.ui"/>
<import plugin="org.eclipse.compare"/>
<import plugin="org.eclipse.xtext.builder"/>
</requires>
version="1.0.0.qualifier"
provider-name="MINRES Technologies GmbH">
<plugin
id="com.minres.rdl"

View File

@ -1,4 +1,5 @@
Manifest-Version: 1.0
Automatic-Module-Name: com.minres.rdl.ide
Bundle-ManifestVersion: 2
Bundle-Name: com.minres.rdl.ide
Bundle-Vendor: My Company

View File

@ -9,12 +9,182 @@
<artifactId>com.minres.rdl.ide</artifactId>
<packaging>eclipse-plugin</packaging>
<dependencies>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.16</version>
</dependency>
<dependency>
<groupId>org.eclipse.lsp4j</groupId>
<artifactId>org.eclipse.lsp4j</artifactId>
<version>0.4.0</version>
</dependency>
<dependency>
<groupId>org.ow2.asm</groupId>
<artifactId>asm</artifactId>
<version>6.1.1</version>
</dependency>
<dependency>
<groupId>org.ow2.asm</groupId>
<artifactId>asm-commons</artifactId>
<version>6.1.1</version>
</dependency>
<dependency>
<groupId>org.ow2.asm</groupId>
<artifactId>asm-tree</artifactId>
<version>6.1.1</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.eclipse.xtend</groupId>
<artifactId>xtend-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>target-platform-configuration</artifactId>
<configuration>
<pomDependencies>consider</pomDependencies>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>3.0.1</version>
<executions>
<execution>
<id>copy-dependencies</id>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/libs</outputDirectory>
<overWriteReleases>false</overWriteReleases>
<overWriteSnapshots>false</overWriteSnapshots>
<overWriteIfNewer>true</overWriteIfNewer>
<excludeTransitive>true</excludeTransitive>
<excludeArtifactIds>
com.ibm.icu,
org.apache.ant,
org.apache.commons.lang,
org.apache.commons.logging,
org.eclipse.core.commands,
org.eclipse.core.contenttype,
org.eclipse.core.expressions,
org.eclipse.core.filesystem,
org.eclipse.core.jobs,
org.eclipse.core.resources,
org.eclipse.core.runtime,
org.eclipse.core.variables,
org.eclipse.debug.core,
org.eclipse.emf.codegen.ecore,
org.eclipse.emf.codegen,
org.eclipse.emf.mwe.core,
org.eclipse.emf.mwe.utils,
org.eclipse.emf.mwe2.lib,
org.eclipse.emf.mwe2.runtime,
org.eclipse.equinox.app,
org.eclipse.equinox.preferences,
org.eclipse.equinox.registry,
org.eclipse.jdt.core,
org.eclipse.jdt.debug,
org.eclipse.jdt.launching,
org.eclipse.text,
org.eclipse.xtend.typesystem.emf,
org.eclipse.xtend,
</excludeArtifactIds>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>com.googlecode.addjars-maven-plugin</groupId>
<artifactId>addjars-maven-plugin</artifactId>
<version>1.0.5</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>add-jars</goal>
</goals>
<configuration>
<resources>
<resource>
<directory>${project.build.directory}/libs</directory>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.0.0</version>
<configuration>
<transformers>
<transformer
implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>org.eclipse.xtext.ide.server.ServerLauncher</mainClass>
</transformer>
<transformer
implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
<resource>plugin.properties</resource>
</transformer>
</transformers>
<artifactSet>
<excludes><!-- avoid duplicate inclusion due to addjars plugin -->
<exclude>*:com.minres.rdl.ide-org.eclipse.lsp4j*</exclude>
<exclude>*:com.minres.rdl.ide-org.eclipse.xtext.xbase.lib*</exclude>
<exclude>*:com.minres.rdl.ide-org.eclipse.xtend.lib*</exclude>
<exclude>*:com.minres.rdl.ide-com.google.guava*</exclude>
<exclude>*:com.minres.rdl.ide-asm*</exclude>
<exclude>*:com.minres.rdl.ide-log4j*</exclude>
<exclude>*:com.minres.rdl.ide-org.objectweb.asm*</exclude>
<exclude>*:com.minres.rdl.ide-org.apache.log4j*</exclude>
</excludes>
</artifactSet>
<filters>
<filter>
<artifact>*:*</artifact>
<excludes>
<exclude>META-INF/INDEX.LIST</exclude>
<exclude>META-INF/*.SF</exclude>
<exclude>META-INF/*.DSA</exclude>
<exclude>META-INF/*.RSA</exclude>
<exclude>.options</exclude>
<exclude>.api_description</exclude>
<exclude>*.profile</exclude>
<exclude>*.html</exclude>
<exclude>about.*</exclude>
<exclude>about_files/*</exclude>
<exclude>plugin.xml</exclude>
<exclude>modeling32.png</exclude>
<exclude>systembundle.properties</exclude>
<exclude>profile.list</exclude>
<exclude>**/*._trace</exclude>
<exclude>**/*.g</exclude>
<exclude>**/*.mwe2</exclude>
<exclude>**/*.xtext</exclude>
</excludes>
</filter>
</filters>
<shadedArtifactAttached>true</shadedArtifactAttached>
<shadedClassifierName>ls</shadedClassifierName>
<minimizeJar>false</minimizeJar>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>

View File

@ -1,5 +1,5 @@
/*
* generated by Xtext 2.12.0
* generated by Xtext 2.14.0
*/
package com.minres.rdl.ide;
@ -15,6 +15,9 @@ import org.eclipse.xtext.ide.editor.contentassist.IProposalConflictHelper;
import org.eclipse.xtext.ide.editor.contentassist.antlr.AntlrProposalConflictHelper;
import org.eclipse.xtext.ide.editor.contentassist.antlr.IContentAssistParser;
import org.eclipse.xtext.ide.editor.contentassist.antlr.internal.Lexer;
import org.eclipse.xtext.ide.refactoring.IRenameStrategy2;
import org.eclipse.xtext.ide.server.rename.IRenameService;
import org.eclipse.xtext.ide.server.rename.RenameService;
/**
* Manual modifications go to {@link RDLIdeModule}.
@ -44,4 +47,14 @@ public abstract class AbstractRDLIdeModule extends DefaultIdeModule {
return FQNPrefixMatcher.class;
}
// contributed by org.eclipse.xtext.xtext.generator.ui.refactoring.RefactorElementNameFragment2
public Class<? extends IRenameService> bindIRenameService() {
return RenameService.class;
}
// contributed by org.eclipse.xtext.xtext.generator.ui.refactoring.RefactorElementNameFragment2
public Class<? extends IRenameStrategy2> bindIRenameStrategy2() {
return IRenameStrategy2.DefaultImpl.class;
}
}

View File

@ -1,5 +1,5 @@
/*
* generated by Xtext 2.12.0
* generated by Xtext 2.14.0
*/
package com.minres.rdl.ide.contentassist.antlr;

View File

@ -1,23 +1,222 @@
/*
* generated by Xtext 2.12.0
* generated by Xtext 2.14.0
*/
package com.minres.rdl.ide.contentassist.antlr;
import com.google.common.collect.ImmutableMap;
import com.google.inject.Inject;
import com.google.inject.Singleton;
import com.minres.rdl.ide.contentassist.antlr.internal.InternalRDLParser;
import com.minres.rdl.services.RDLGrammarAccess;
import java.util.HashMap;
import java.util.Map;
import org.eclipse.xtext.AbstractElement;
import org.eclipse.xtext.ide.editor.contentassist.antlr.AbstractContentAssistParser;
public class RDLParser extends AbstractContentAssistParser {
@Singleton
public static final class NameMappings {
private final Map<AbstractElement, String> mappings;
@Inject
public NameMappings(RDLGrammarAccess grammarAccess) {
ImmutableMap.Builder<AbstractElement, String> builder = ImmutableMap.builder();
init(builder, grammarAccess);
this.mappings = builder.build();
}
public String getRuleName(AbstractElement element) {
return mappings.get(element);
}
private static void init(ImmutableMap.Builder<AbstractElement, String> builder, RDLGrammarAccess grammarAccess) {
builder.put(grammarAccess.getRootAccess().getAlternatives(), "rule__Root__Alternatives");
builder.put(grammarAccess.getPropertyDefinitionAccess().getAlternatives_3(), "rule__PropertyDefinition__Alternatives_3");
builder.put(grammarAccess.getPropertyDefinitionAccess().getAlternatives_3_0_4(), "rule__PropertyDefinition__Alternatives_3_0_4");
builder.put(grammarAccess.getPropertyDefinitionAccess().getAlternatives_3_1_1(), "rule__PropertyDefinition__Alternatives_3_1_1");
builder.put(grammarAccess.getPropertyDefinitionAccess().getAlternatives_3_2_1(), "rule__PropertyDefinition__Alternatives_3_2_1");
builder.put(grammarAccess.getPropertyDefaultAccess().getAlternatives_2(), "rule__PropertyDefault__Alternatives_2");
builder.put(grammarAccess.getComponentDefinitionAccess().getAlternatives_3(), "rule__ComponentDefinition__Alternatives_3");
builder.put(grammarAccess.getInstantiationAccess().getAlternatives_0(), "rule__Instantiation__Alternatives_0");
builder.put(grammarAccess.getRangeAccess().getAlternatives_1(), "rule__Range__Alternatives_1");
builder.put(grammarAccess.getPropertyAssignmentAccess().getAlternatives(), "rule__PropertyAssignment__Alternatives");
builder.put(grammarAccess.getExplicitPropertyAssignmentAccess().getAlternatives(), "rule__ExplicitPropertyAssignment__Alternatives");
builder.put(grammarAccess.getPostPropertyAssignmentAccess().getAlternatives_0(), "rule__PostPropertyAssignment__Alternatives_0");
builder.put(grammarAccess.getPostPropertyAssignmentAccess().getAlternatives_0_0_2(), "rule__PostPropertyAssignment__Alternatives_0_0_2");
builder.put(grammarAccess.getInstancePropertyRefAccess().getAlternatives_1_1(), "rule__InstancePropertyRef__Alternatives_1_1");
builder.put(grammarAccess.getEntityAccess().getAlternatives(), "rule__Entity__Alternatives");
builder.put(grammarAccess.getPropertyAssignmentRhsAccess().getAlternatives(), "rule__PropertyAssignmentRhs__Alternatives");
builder.put(grammarAccess.getConcatElemAccess().getAlternatives(), "rule__ConcatElem__Alternatives");
builder.put(grammarAccess.getPropertyRvalueConstantAccess().getAlternatives(), "rule__PropertyRvalueConstant__Alternatives");
builder.put(grammarAccess.getEnumPropertyAccess().getAlternatives_0(), "rule__EnumProperty__Alternatives_0");
builder.put(grammarAccess.getEnumInstanceTypeAccess().getAlternatives(), "rule__EnumInstanceType__Alternatives");
builder.put(grammarAccess.getPropertyTypeNameAccess().getAlternatives(), "rule__PropertyTypeName__Alternatives");
builder.put(grammarAccess.getPropertyComponentAccess().getAlternatives(), "rule__PropertyComponent__Alternatives");
builder.put(grammarAccess.getComponentDefinitionTypeAccess().getAlternatives(), "rule__ComponentDefinitionType__Alternatives");
builder.put(grammarAccess.getPropertyEnumAccess().getAlternatives(), "rule__PropertyEnum__Alternatives");
builder.put(grammarAccess.getPropertyAccess().getAlternatives(), "rule__Property__Alternatives");
builder.put(grammarAccess.getRValueConstantAccess().getAlternatives(), "rule__RValueConstant__Alternatives");
builder.put(grammarAccess.getPropertyModifierAccess().getAlternatives(), "rule__PropertyModifier__Alternatives");
builder.put(grammarAccess.getRootAccess().getGroup_1(), "rule__Root__Group_1__0");
builder.put(grammarAccess.getRootAccess().getGroup_2(), "rule__Root__Group_2__0");
builder.put(grammarAccess.getRootAccess().getGroup_3(), "rule__Root__Group_3__0");
builder.put(grammarAccess.getRootAccess().getGroup_4(), "rule__Root__Group_4__0");
builder.put(grammarAccess.getRootAccess().getGroup_5(), "rule__Root__Group_5__0");
builder.put(grammarAccess.getIncludeAccess().getGroup(), "rule__Include__Group__0");
builder.put(grammarAccess.getPropertyDefinitionAccess().getGroup(), "rule__PropertyDefinition__Group__0");
builder.put(grammarAccess.getPropertyDefinitionAccess().getGroup_3_0(), "rule__PropertyDefinition__Group_3_0__0");
builder.put(grammarAccess.getPropertyDefinitionAccess().getGroup_3_0_4_0(), "rule__PropertyDefinition__Group_3_0_4_0__0");
builder.put(grammarAccess.getPropertyDefinitionAccess().getGroup_3_0_4_1(), "rule__PropertyDefinition__Group_3_0_4_1__0");
builder.put(grammarAccess.getPropertyDefinitionAccess().getGroup_3_1(), "rule__PropertyDefinition__Group_3_1__0");
builder.put(grammarAccess.getPropertyDefinitionAccess().getGroup_3_1_1_0(), "rule__PropertyDefinition__Group_3_1_1_0__0");
builder.put(grammarAccess.getPropertyDefinitionAccess().getGroup_3_1_1_1(), "rule__PropertyDefinition__Group_3_1_1_1__0");
builder.put(grammarAccess.getPropertyDefinitionAccess().getGroup_3_2(), "rule__PropertyDefinition__Group_3_2__0");
builder.put(grammarAccess.getPropertyDefinitionAccess().getGroup_3_2_1_0(), "rule__PropertyDefinition__Group_3_2_1_0__0");
builder.put(grammarAccess.getPropertyDefinitionAccess().getGroup_3_2_1_1(), "rule__PropertyDefinition__Group_3_2_1_1__0");
builder.put(grammarAccess.getPropertyDefaultAccess().getGroup(), "rule__PropertyDefault__Group__0");
builder.put(grammarAccess.getPropertyUsageAccess().getGroup(), "rule__PropertyUsage__Group__0");
builder.put(grammarAccess.getPropertyUsageAccess().getGroup_3(), "rule__PropertyUsage__Group_3__0");
builder.put(grammarAccess.getComponentDefinitionAccess().getGroup(), "rule__ComponentDefinition__Group__0");
builder.put(grammarAccess.getComponentDefinitionAccess().getGroup_3_0(), "rule__ComponentDefinition__Group_3_0__0");
builder.put(grammarAccess.getComponentDefinitionAccess().getGroup_3_1(), "rule__ComponentDefinition__Group_3_1__0");
builder.put(grammarAccess.getComponentDefinitionAccess().getGroup_3_2(), "rule__ComponentDefinition__Group_3_2__0");
builder.put(grammarAccess.getComponentDefinitionAccess().getGroup_3_3(), "rule__ComponentDefinition__Group_3_3__0");
builder.put(grammarAccess.getInstantiationAccess().getGroup(), "rule__Instantiation__Group__0");
builder.put(grammarAccess.getInstantiationAccess().getGroup_0_0(), "rule__Instantiation__Group_0_0__0");
builder.put(grammarAccess.getInstantiationAccess().getGroup_0_0_1(), "rule__Instantiation__Group_0_0_1__0");
builder.put(grammarAccess.getInstantiationAccess().getGroup_0_1(), "rule__Instantiation__Group_0_1__0");
builder.put(grammarAccess.getInstantiationAccess().getGroup_2(), "rule__Instantiation__Group_2__0");
builder.put(grammarAccess.getComponentInstanceAccess().getGroup(), "rule__ComponentInstance__Group__0");
builder.put(grammarAccess.getComponentInstanceAccess().getGroup_2(), "rule__ComponentInstance__Group_2__0");
builder.put(grammarAccess.getComponentInstanceAccess().getGroup_3(), "rule__ComponentInstance__Group_3__0");
builder.put(grammarAccess.getComponentInstanceAccess().getGroup_4(), "rule__ComponentInstance__Group_4__0");
builder.put(grammarAccess.getComponentInstanceAccess().getGroup_5(), "rule__ComponentInstance__Group_5__0");
builder.put(grammarAccess.getRangeAccess().getGroup(), "rule__Range__Group__0");
builder.put(grammarAccess.getRangeAccess().getGroup_1_0(), "rule__Range__Group_1_0__0");
builder.put(grammarAccess.getDefaultProperyAssignmentAccess().getGroup(), "rule__DefaultProperyAssignment__Group__0");
builder.put(grammarAccess.getExplicitPropertyAssignmentAccess().getGroup_0(), "rule__ExplicitPropertyAssignment__Group_0__0");
builder.put(grammarAccess.getExplicitPropertyAssignmentAccess().getGroup_1(), "rule__ExplicitPropertyAssignment__Group_1__0");
builder.put(grammarAccess.getExplicitPropertyAssignmentAccess().getGroup_1_1(), "rule__ExplicitPropertyAssignment__Group_1_1__0");
builder.put(grammarAccess.getPostPropertyAssignmentAccess().getGroup(), "rule__PostPropertyAssignment__Group__0");
builder.put(grammarAccess.getPostPropertyAssignmentAccess().getGroup_0_0(), "rule__PostPropertyAssignment__Group_0_0__0");
builder.put(grammarAccess.getPostPropertyAssignmentAccess().getGroup_1(), "rule__PostPropertyAssignment__Group_1__0");
builder.put(grammarAccess.getInstancePropertyRefAccess().getGroup(), "rule__InstancePropertyRef__Group__0");
builder.put(grammarAccess.getInstancePropertyRefAccess().getGroup_1(), "rule__InstancePropertyRef__Group_1__0");
builder.put(grammarAccess.getInstanceRefAccess().getGroup(), "rule__InstanceRef__Group__0");
builder.put(grammarAccess.getInstanceRefAccess().getGroup_1(), "rule__InstanceRef__Group_1__0");
builder.put(grammarAccess.getHierInstanceRefAccess().getGroup(), "rule__HierInstanceRef__Group__0");
builder.put(grammarAccess.getHierInstanceRefAccess().getGroup_1(), "rule__HierInstanceRef__Group_1__0");
builder.put(grammarAccess.getPropertyAssignmentRhsAccess().getGroup_2(), "rule__PropertyAssignmentRhs__Group_2__0");
builder.put(grammarAccess.getConcatAccess().getGroup(), "rule__Concat__Group__0");
builder.put(grammarAccess.getConcatAccess().getGroup_2(), "rule__Concat__Group_2__0");
builder.put(grammarAccess.getEnumDefinitionAccess().getGroup(), "rule__EnumDefinition__Group__0");
builder.put(grammarAccess.getEnumBodyAccess().getGroup(), "rule__EnumBody__Group__0");
builder.put(grammarAccess.getEnumEntryAccess().getGroup(), "rule__EnumEntry__Group__0");
builder.put(grammarAccess.getEnumEntryAccess().getGroup_3(), "rule__EnumEntry__Group_3__0");
builder.put(grammarAccess.getEnumPropertyAccess().getGroup(), "rule__EnumProperty__Group__0");
builder.put(grammarAccess.getEnumPropertyAccess().getGroup_0_0(), "rule__EnumProperty__Group_0_0__0");
builder.put(grammarAccess.getEnumPropertyAccess().getGroup_0_1(), "rule__EnumProperty__Group_0_1__0");
builder.put(grammarAccess.getRootAccess().getIncludesAssignment_0(), "rule__Root__IncludesAssignment_0");
builder.put(grammarAccess.getRootAccess().getComponentDefinitionsAssignment_1_0(), "rule__Root__ComponentDefinitionsAssignment_1_0");
builder.put(grammarAccess.getRootAccess().getEnumDefinitionsAssignment_2_0(), "rule__Root__EnumDefinitionsAssignment_2_0");
builder.put(grammarAccess.getRootAccess().getInstantiationsAssignment_3_0(), "rule__Root__InstantiationsAssignment_3_0");
builder.put(grammarAccess.getRootAccess().getPropertyAssignmentsAssignment_4_0(), "rule__Root__PropertyAssignmentsAssignment_4_0");
builder.put(grammarAccess.getRootAccess().getPropertyDefinitionsAssignment_5_0(), "rule__Root__PropertyDefinitionsAssignment_5_0");
builder.put(grammarAccess.getIncludeAccess().getImportURIAssignment_1(), "rule__Include__ImportURIAssignment_1");
builder.put(grammarAccess.getPropertyDefinitionAccess().getNameAssignment_1(), "rule__PropertyDefinition__NameAssignment_1");
builder.put(grammarAccess.getPropertyDefinitionAccess().getTypeAssignment_3_0_2(), "rule__PropertyDefinition__TypeAssignment_3_0_2");
builder.put(grammarAccess.getPropertyDefinitionAccess().getUsageAssignment_3_0_4_0_0(), "rule__PropertyDefinition__UsageAssignment_3_0_4_0_0");
builder.put(grammarAccess.getPropertyDefinitionAccess().getDefaultAssignment_3_0_4_0_1(), "rule__PropertyDefinition__DefaultAssignment_3_0_4_0_1");
builder.put(grammarAccess.getPropertyDefinitionAccess().getDefaultAssignment_3_0_4_1_0(), "rule__PropertyDefinition__DefaultAssignment_3_0_4_1_0");
builder.put(grammarAccess.getPropertyDefinitionAccess().getUsageAssignment_3_0_4_1_1(), "rule__PropertyDefinition__UsageAssignment_3_0_4_1_1");
builder.put(grammarAccess.getPropertyDefinitionAccess().getUsageAssignment_3_1_0(), "rule__PropertyDefinition__UsageAssignment_3_1_0");
builder.put(grammarAccess.getPropertyDefinitionAccess().getTypeAssignment_3_1_1_0_2(), "rule__PropertyDefinition__TypeAssignment_3_1_1_0_2");
builder.put(grammarAccess.getPropertyDefinitionAccess().getDefaultAssignment_3_1_1_0_4(), "rule__PropertyDefinition__DefaultAssignment_3_1_1_0_4");
builder.put(grammarAccess.getPropertyDefinitionAccess().getDefaultAssignment_3_1_1_1_0(), "rule__PropertyDefinition__DefaultAssignment_3_1_1_1_0");
builder.put(grammarAccess.getPropertyDefinitionAccess().getTypeAssignment_3_1_1_1_3(), "rule__PropertyDefinition__TypeAssignment_3_1_1_1_3");
builder.put(grammarAccess.getPropertyDefinitionAccess().getDefaultAssignment_3_2_0(), "rule__PropertyDefinition__DefaultAssignment_3_2_0");
builder.put(grammarAccess.getPropertyDefinitionAccess().getTypeAssignment_3_2_1_0_2(), "rule__PropertyDefinition__TypeAssignment_3_2_1_0_2");
builder.put(grammarAccess.getPropertyDefinitionAccess().getUsageAssignment_3_2_1_0_4(), "rule__PropertyDefinition__UsageAssignment_3_2_1_0_4");
builder.put(grammarAccess.getPropertyDefinitionAccess().getUsageAssignment_3_2_1_1_0(), "rule__PropertyDefinition__UsageAssignment_3_2_1_1_0");
builder.put(grammarAccess.getPropertyDefinitionAccess().getTypeAssignment_3_2_1_1_3(), "rule__PropertyDefinition__TypeAssignment_3_2_1_1_3");
builder.put(grammarAccess.getPropertyDefaultAccess().getStringAssignment_2_0(), "rule__PropertyDefault__StringAssignment_2_0");
builder.put(grammarAccess.getPropertyDefaultAccess().getValueAssignment_2_1(), "rule__PropertyDefault__ValueAssignment_2_1");
builder.put(grammarAccess.getPropertyDefaultAccess().getStringAssignment_2_2(), "rule__PropertyDefault__StringAssignment_2_2");
builder.put(grammarAccess.getPropertyDefaultAccess().getStringAssignment_2_3(), "rule__PropertyDefault__StringAssignment_2_3");
builder.put(grammarAccess.getPropertyUsageAccess().getComponentsAssignment_2(), "rule__PropertyUsage__ComponentsAssignment_2");
builder.put(grammarAccess.getPropertyUsageAccess().getComponentsAssignment_3_1(), "rule__PropertyUsage__ComponentsAssignment_3_1");
builder.put(grammarAccess.getComponentDefinitionAccess().getTypeAssignment_0(), "rule__ComponentDefinition__TypeAssignment_0");
builder.put(grammarAccess.getComponentDefinitionAccess().getNameAssignment_1(), "rule__ComponentDefinition__NameAssignment_1");
builder.put(grammarAccess.getComponentDefinitionAccess().getComponentDefinitionsAssignment_3_0_0(), "rule__ComponentDefinition__ComponentDefinitionsAssignment_3_0_0");
builder.put(grammarAccess.getComponentDefinitionAccess().getInstantiationsAssignment_3_1_0(), "rule__ComponentDefinition__InstantiationsAssignment_3_1_0");
builder.put(grammarAccess.getComponentDefinitionAccess().getPropertyAssignmentsAssignment_3_2_0(), "rule__ComponentDefinition__PropertyAssignmentsAssignment_3_2_0");
builder.put(grammarAccess.getComponentDefinitionAccess().getEnumDefinitionsAssignment_3_3_0(), "rule__ComponentDefinition__EnumDefinitionsAssignment_3_3_0");
builder.put(grammarAccess.getInstantiationAccess().getInstanceTypeAssignment_0_0_0(), "rule__Instantiation__InstanceTypeAssignment_0_0_0");
builder.put(grammarAccess.getInstantiationAccess().getAliasAssignment_0_0_1_1(), "rule__Instantiation__AliasAssignment_0_0_1_1");
builder.put(grammarAccess.getInstantiationAccess().getComponentRefAssignment_0_0_2(), "rule__Instantiation__ComponentRefAssignment_0_0_2");
builder.put(grammarAccess.getInstantiationAccess().getComponentAssignment_0_1_0(), "rule__Instantiation__ComponentAssignment_0_1_0");
builder.put(grammarAccess.getInstantiationAccess().getInstanceTypeAssignment_0_1_1(), "rule__Instantiation__InstanceTypeAssignment_0_1_1");
builder.put(grammarAccess.getInstantiationAccess().getComponentInstancesAssignment_1(), "rule__Instantiation__ComponentInstancesAssignment_1");
builder.put(grammarAccess.getInstantiationAccess().getComponentInstancesAssignment_2_1(), "rule__Instantiation__ComponentInstancesAssignment_2_1");
builder.put(grammarAccess.getComponentInstanceAccess().getNameAssignment_0(), "rule__ComponentInstance__NameAssignment_0");
builder.put(grammarAccess.getComponentInstanceAccess().getRangeAssignment_1(), "rule__ComponentInstance__RangeAssignment_1");
builder.put(grammarAccess.getComponentInstanceAccess().getResetAssignment_2_1(), "rule__ComponentInstance__ResetAssignment_2_1");
builder.put(grammarAccess.getComponentInstanceAccess().getAddressAssignment_3_1(), "rule__ComponentInstance__AddressAssignment_3_1");
builder.put(grammarAccess.getComponentInstanceAccess().getAddrIncAssignment_4_1(), "rule__ComponentInstance__AddrIncAssignment_4_1");
builder.put(grammarAccess.getComponentInstanceAccess().getAddrModAssignment_5_1(), "rule__ComponentInstance__AddrModAssignment_5_1");
builder.put(grammarAccess.getRangeAccess().getLeftAssignment_1_0_0(), "rule__Range__LeftAssignment_1_0_0");
builder.put(grammarAccess.getRangeAccess().getRightAssignment_1_0_2(), "rule__Range__RightAssignment_1_0_2");
builder.put(grammarAccess.getRangeAccess().getSizeAssignment_1_1(), "rule__Range__SizeAssignment_1_1");
builder.put(grammarAccess.getExplicitPropertyAssignmentAccess().getModifierAssignment_0_0(), "rule__ExplicitPropertyAssignment__ModifierAssignment_0_0");
builder.put(grammarAccess.getExplicitPropertyAssignmentAccess().getNameAssignment_0_1(), "rule__ExplicitPropertyAssignment__NameAssignment_0_1");
builder.put(grammarAccess.getExplicitPropertyAssignmentAccess().getNameAssignment_1_0(), "rule__ExplicitPropertyAssignment__NameAssignment_1_0");
builder.put(grammarAccess.getExplicitPropertyAssignmentAccess().getRhsAssignment_1_1_1(), "rule__ExplicitPropertyAssignment__RhsAssignment_1_1_1");
builder.put(grammarAccess.getPostPropertyAssignmentAccess().getInstanceAssignment_0_0_0(), "rule__PostPropertyAssignment__InstanceAssignment_0_0_0");
builder.put(grammarAccess.getPostPropertyAssignmentAccess().getPropertyEnumAssignment_0_0_2_0(), "rule__PostPropertyAssignment__PropertyEnumAssignment_0_0_2_0");
builder.put(grammarAccess.getPostPropertyAssignmentAccess().getPropertyAssignment_0_0_2_1(), "rule__PostPropertyAssignment__PropertyAssignment_0_0_2_1");
builder.put(grammarAccess.getPostPropertyAssignmentAccess().getPropertyAssignment_0_1(), "rule__PostPropertyAssignment__PropertyAssignment_0_1");
builder.put(grammarAccess.getPostPropertyAssignmentAccess().getRhsAssignment_1_1(), "rule__PostPropertyAssignment__RhsAssignment_1_1");
builder.put(grammarAccess.getInstancePropertyRefAccess().getInstanceAssignment_0(), "rule__InstancePropertyRef__InstanceAssignment_0");
builder.put(grammarAccess.getInstancePropertyRefAccess().getPropertyEnumAssignment_1_1_0(), "rule__InstancePropertyRef__PropertyEnumAssignment_1_1_0");
builder.put(grammarAccess.getInstancePropertyRefAccess().getPropertyAssignment_1_1_1(), "rule__InstancePropertyRef__PropertyAssignment_1_1_1");
builder.put(grammarAccess.getInstanceRefAccess().getInstanceAssignment_0(), "rule__InstanceRef__InstanceAssignment_0");
builder.put(grammarAccess.getInstanceRefAccess().getTailAssignment_1_1(), "rule__InstanceRef__TailAssignment_1_1");
builder.put(grammarAccess.getHierInstanceRefAccess().getInstanceAssignment_0(), "rule__HierInstanceRef__InstanceAssignment_0");
builder.put(grammarAccess.getHierInstanceRefAccess().getTailAssignment_1_1(), "rule__HierInstanceRef__TailAssignment_1_1");
builder.put(grammarAccess.getPropertyAssignmentRhsAccess().getValueAssignment_0(), "rule__PropertyAssignmentRhs__ValueAssignment_0");
builder.put(grammarAccess.getPropertyAssignmentRhsAccess().getInstPropRefAssignment_1(), "rule__PropertyAssignmentRhs__InstPropRefAssignment_1");
builder.put(grammarAccess.getPropertyAssignmentRhsAccess().getEnumRefAssignment_2_0(), "rule__PropertyAssignmentRhs__EnumRefAssignment_2_0");
builder.put(grammarAccess.getPropertyAssignmentRhsAccess().getEnumsAssignment_2_2(), "rule__PropertyAssignmentRhs__EnumsAssignment_2_2");
builder.put(grammarAccess.getPropertyAssignmentRhsAccess().getElementsAssignment_3(), "rule__PropertyAssignmentRhs__ElementsAssignment_3");
builder.put(grammarAccess.getConcatAccess().getElementsAssignment_1(), "rule__Concat__ElementsAssignment_1");
builder.put(grammarAccess.getConcatAccess().getElementsAssignment_2_1(), "rule__Concat__ElementsAssignment_2_1");
builder.put(grammarAccess.getConcatElemAccess().getInstPropRefAssignment_0(), "rule__ConcatElem__InstPropRefAssignment_0");
builder.put(grammarAccess.getConcatElemAccess().getValueAssignment_1(), "rule__ConcatElem__ValueAssignment_1");
builder.put(grammarAccess.getPropertyRvalueConstantAccess().getValAssignment_0(), "rule__PropertyRvalueConstant__ValAssignment_0");
builder.put(grammarAccess.getPropertyRvalueConstantAccess().getNumAssignment_1(), "rule__PropertyRvalueConstant__NumAssignment_1");
builder.put(grammarAccess.getPropertyRvalueConstantAccess().getStrAssignment_2(), "rule__PropertyRvalueConstant__StrAssignment_2");
builder.put(grammarAccess.getEnumDefinitionAccess().getNameAssignment_1(), "rule__EnumDefinition__NameAssignment_1");
builder.put(grammarAccess.getEnumDefinitionAccess().getBodyAssignment_2(), "rule__EnumDefinition__BodyAssignment_2");
builder.put(grammarAccess.getEnumBodyAccess().getEntriesAssignment_2(), "rule__EnumBody__EntriesAssignment_2");
builder.put(grammarAccess.getEnumEntryAccess().getNameAssignment_0(), "rule__EnumEntry__NameAssignment_0");
builder.put(grammarAccess.getEnumEntryAccess().getIndexAssignment_2(), "rule__EnumEntry__IndexAssignment_2");
builder.put(grammarAccess.getEnumEntryAccess().getPropertiesAssignment_3_1(), "rule__EnumEntry__PropertiesAssignment_3_1");
builder.put(grammarAccess.getEnumPropertyAccess().getNameAssignment_0_0_0(), "rule__EnumProperty__NameAssignment_0_0_0");
builder.put(grammarAccess.getEnumPropertyAccess().getValueAssignment_0_0_2(), "rule__EnumProperty__ValueAssignment_0_0_2");
builder.put(grammarAccess.getEnumPropertyAccess().getNameAssignment_0_1_0(), "rule__EnumProperty__NameAssignment_0_1_0");
builder.put(grammarAccess.getEnumPropertyAccess().getValueAssignment_0_1_2(), "rule__EnumProperty__ValueAssignment_0_1_2");
builder.put(grammarAccess.getEnumInstanceTypeAccess().getEXTERNALAssignment_0(), "rule__EnumInstanceType__EXTERNALAssignment_0");
builder.put(grammarAccess.getEnumInstanceTypeAccess().getINTERNALAssignment_1(), "rule__EnumInstanceType__INTERNALAssignment_1");
}
}
@Inject
private NameMappings nameMappings;
@Inject
private RDLGrammarAccess grammarAccess;
private Map<AbstractElement, String> nameMappings;
@Override
protected InternalRDLParser createParser() {
InternalRDLParser result = new InternalRDLParser(null);
@ -27,193 +226,9 @@ public class RDLParser extends AbstractContentAssistParser {
@Override
protected String getRuleName(AbstractElement element) {
if (nameMappings == null) {
nameMappings = new HashMap<AbstractElement, String>() {
private static final long serialVersionUID = 1L;
{
put(grammarAccess.getRootAccess().getAlternatives(), "rule__Root__Alternatives");
put(grammarAccess.getPropertyDefinitionAccess().getAlternatives_3(), "rule__PropertyDefinition__Alternatives_3");
put(grammarAccess.getPropertyDefinitionAccess().getAlternatives_3_0_4(), "rule__PropertyDefinition__Alternatives_3_0_4");
put(grammarAccess.getPropertyDefinitionAccess().getAlternatives_3_1_1(), "rule__PropertyDefinition__Alternatives_3_1_1");
put(grammarAccess.getPropertyDefinitionAccess().getAlternatives_3_2_1(), "rule__PropertyDefinition__Alternatives_3_2_1");
put(grammarAccess.getPropertyDefaultAccess().getAlternatives_2(), "rule__PropertyDefault__Alternatives_2");
put(grammarAccess.getComponentDefinitionAccess().getAlternatives_3(), "rule__ComponentDefinition__Alternatives_3");
put(grammarAccess.getInstantiationAccess().getAlternatives_0(), "rule__Instantiation__Alternatives_0");
put(grammarAccess.getRangeAccess().getAlternatives_1(), "rule__Range__Alternatives_1");
put(grammarAccess.getPropertyAssignmentAccess().getAlternatives(), "rule__PropertyAssignment__Alternatives");
put(grammarAccess.getExplicitPropertyAssignmentAccess().getAlternatives(), "rule__ExplicitPropertyAssignment__Alternatives");
put(grammarAccess.getPostPropertyAssignmentAccess().getAlternatives_0(), "rule__PostPropertyAssignment__Alternatives_0");
put(grammarAccess.getPostPropertyAssignmentAccess().getAlternatives_0_0_2(), "rule__PostPropertyAssignment__Alternatives_0_0_2");
put(grammarAccess.getInstancePropertyRefAccess().getAlternatives_1_1(), "rule__InstancePropertyRef__Alternatives_1_1");
put(grammarAccess.getEntityAccess().getAlternatives(), "rule__Entity__Alternatives");
put(grammarAccess.getPropertyAssignmentRhsAccess().getAlternatives(), "rule__PropertyAssignmentRhs__Alternatives");
put(grammarAccess.getConcatElemAccess().getAlternatives(), "rule__ConcatElem__Alternatives");
put(grammarAccess.getPropertyRvalueConstantAccess().getAlternatives(), "rule__PropertyRvalueConstant__Alternatives");
put(grammarAccess.getEnumPropertyAccess().getAlternatives_0(), "rule__EnumProperty__Alternatives_0");
put(grammarAccess.getEnumInstanceTypeAccess().getAlternatives(), "rule__EnumInstanceType__Alternatives");
put(grammarAccess.getPropertyTypeNameAccess().getAlternatives(), "rule__PropertyTypeName__Alternatives");
put(grammarAccess.getPropertyComponentAccess().getAlternatives(), "rule__PropertyComponent__Alternatives");
put(grammarAccess.getComponentDefinitionTypeAccess().getAlternatives(), "rule__ComponentDefinitionType__Alternatives");
put(grammarAccess.getPropertyEnumAccess().getAlternatives(), "rule__PropertyEnum__Alternatives");
put(grammarAccess.getPropertyAccess().getAlternatives(), "rule__Property__Alternatives");
put(grammarAccess.getRValueConstantAccess().getAlternatives(), "rule__RValueConstant__Alternatives");
put(grammarAccess.getPropertyModifierAccess().getAlternatives(), "rule__PropertyModifier__Alternatives");
put(grammarAccess.getRootAccess().getGroup_1(), "rule__Root__Group_1__0");
put(grammarAccess.getRootAccess().getGroup_2(), "rule__Root__Group_2__0");
put(grammarAccess.getRootAccess().getGroup_3(), "rule__Root__Group_3__0");
put(grammarAccess.getRootAccess().getGroup_4(), "rule__Root__Group_4__0");
put(grammarAccess.getRootAccess().getGroup_5(), "rule__Root__Group_5__0");
put(grammarAccess.getIncludeAccess().getGroup(), "rule__Include__Group__0");
put(grammarAccess.getPropertyDefinitionAccess().getGroup(), "rule__PropertyDefinition__Group__0");
put(grammarAccess.getPropertyDefinitionAccess().getGroup_3_0(), "rule__PropertyDefinition__Group_3_0__0");
put(grammarAccess.getPropertyDefinitionAccess().getGroup_3_0_4_0(), "rule__PropertyDefinition__Group_3_0_4_0__0");
put(grammarAccess.getPropertyDefinitionAccess().getGroup_3_0_4_1(), "rule__PropertyDefinition__Group_3_0_4_1__0");
put(grammarAccess.getPropertyDefinitionAccess().getGroup_3_1(), "rule__PropertyDefinition__Group_3_1__0");
put(grammarAccess.getPropertyDefinitionAccess().getGroup_3_1_1_0(), "rule__PropertyDefinition__Group_3_1_1_0__0");
put(grammarAccess.getPropertyDefinitionAccess().getGroup_3_1_1_1(), "rule__PropertyDefinition__Group_3_1_1_1__0");
put(grammarAccess.getPropertyDefinitionAccess().getGroup_3_2(), "rule__PropertyDefinition__Group_3_2__0");
put(grammarAccess.getPropertyDefinitionAccess().getGroup_3_2_1_0(), "rule__PropertyDefinition__Group_3_2_1_0__0");
put(grammarAccess.getPropertyDefinitionAccess().getGroup_3_2_1_1(), "rule__PropertyDefinition__Group_3_2_1_1__0");
put(grammarAccess.getPropertyDefaultAccess().getGroup(), "rule__PropertyDefault__Group__0");
put(grammarAccess.getPropertyUsageAccess().getGroup(), "rule__PropertyUsage__Group__0");
put(grammarAccess.getPropertyUsageAccess().getGroup_3(), "rule__PropertyUsage__Group_3__0");
put(grammarAccess.getComponentDefinitionAccess().getGroup(), "rule__ComponentDefinition__Group__0");
put(grammarAccess.getComponentDefinitionAccess().getGroup_3_0(), "rule__ComponentDefinition__Group_3_0__0");
put(grammarAccess.getComponentDefinitionAccess().getGroup_3_1(), "rule__ComponentDefinition__Group_3_1__0");
put(grammarAccess.getComponentDefinitionAccess().getGroup_3_2(), "rule__ComponentDefinition__Group_3_2__0");
put(grammarAccess.getComponentDefinitionAccess().getGroup_3_3(), "rule__ComponentDefinition__Group_3_3__0");
put(grammarAccess.getInstantiationAccess().getGroup(), "rule__Instantiation__Group__0");
put(grammarAccess.getInstantiationAccess().getGroup_0_0(), "rule__Instantiation__Group_0_0__0");
put(grammarAccess.getInstantiationAccess().getGroup_0_0_1(), "rule__Instantiation__Group_0_0_1__0");
put(grammarAccess.getInstantiationAccess().getGroup_0_1(), "rule__Instantiation__Group_0_1__0");
put(grammarAccess.getInstantiationAccess().getGroup_2(), "rule__Instantiation__Group_2__0");
put(grammarAccess.getComponentInstanceAccess().getGroup(), "rule__ComponentInstance__Group__0");
put(grammarAccess.getComponentInstanceAccess().getGroup_2(), "rule__ComponentInstance__Group_2__0");
put(grammarAccess.getComponentInstanceAccess().getGroup_3(), "rule__ComponentInstance__Group_3__0");
put(grammarAccess.getComponentInstanceAccess().getGroup_4(), "rule__ComponentInstance__Group_4__0");
put(grammarAccess.getComponentInstanceAccess().getGroup_5(), "rule__ComponentInstance__Group_5__0");
put(grammarAccess.getRangeAccess().getGroup(), "rule__Range__Group__0");
put(grammarAccess.getRangeAccess().getGroup_1_0(), "rule__Range__Group_1_0__0");
put(grammarAccess.getDefaultProperyAssignmentAccess().getGroup(), "rule__DefaultProperyAssignment__Group__0");
put(grammarAccess.getExplicitPropertyAssignmentAccess().getGroup_0(), "rule__ExplicitPropertyAssignment__Group_0__0");
put(grammarAccess.getExplicitPropertyAssignmentAccess().getGroup_1(), "rule__ExplicitPropertyAssignment__Group_1__0");
put(grammarAccess.getExplicitPropertyAssignmentAccess().getGroup_1_1(), "rule__ExplicitPropertyAssignment__Group_1_1__0");
put(grammarAccess.getPostPropertyAssignmentAccess().getGroup(), "rule__PostPropertyAssignment__Group__0");
put(grammarAccess.getPostPropertyAssignmentAccess().getGroup_0_0(), "rule__PostPropertyAssignment__Group_0_0__0");
put(grammarAccess.getPostPropertyAssignmentAccess().getGroup_1(), "rule__PostPropertyAssignment__Group_1__0");
put(grammarAccess.getInstancePropertyRefAccess().getGroup(), "rule__InstancePropertyRef__Group__0");
put(grammarAccess.getInstancePropertyRefAccess().getGroup_1(), "rule__InstancePropertyRef__Group_1__0");
put(grammarAccess.getInstanceRefAccess().getGroup(), "rule__InstanceRef__Group__0");
put(grammarAccess.getInstanceRefAccess().getGroup_1(), "rule__InstanceRef__Group_1__0");
put(grammarAccess.getHierInstanceRefAccess().getGroup(), "rule__HierInstanceRef__Group__0");
put(grammarAccess.getHierInstanceRefAccess().getGroup_1(), "rule__HierInstanceRef__Group_1__0");
put(grammarAccess.getPropertyAssignmentRhsAccess().getGroup_2(), "rule__PropertyAssignmentRhs__Group_2__0");
put(grammarAccess.getConcatAccess().getGroup(), "rule__Concat__Group__0");
put(grammarAccess.getConcatAccess().getGroup_2(), "rule__Concat__Group_2__0");
put(grammarAccess.getEnumDefinitionAccess().getGroup(), "rule__EnumDefinition__Group__0");
put(grammarAccess.getEnumBodyAccess().getGroup(), "rule__EnumBody__Group__0");
put(grammarAccess.getEnumEntryAccess().getGroup(), "rule__EnumEntry__Group__0");
put(grammarAccess.getEnumEntryAccess().getGroup_3(), "rule__EnumEntry__Group_3__0");
put(grammarAccess.getEnumPropertyAccess().getGroup(), "rule__EnumProperty__Group__0");
put(grammarAccess.getEnumPropertyAccess().getGroup_0_0(), "rule__EnumProperty__Group_0_0__0");
put(grammarAccess.getEnumPropertyAccess().getGroup_0_1(), "rule__EnumProperty__Group_0_1__0");
put(grammarAccess.getRootAccess().getIncludesAssignment_0(), "rule__Root__IncludesAssignment_0");
put(grammarAccess.getRootAccess().getComponentDefinitionsAssignment_1_0(), "rule__Root__ComponentDefinitionsAssignment_1_0");
put(grammarAccess.getRootAccess().getEnumDefinitionsAssignment_2_0(), "rule__Root__EnumDefinitionsAssignment_2_0");
put(grammarAccess.getRootAccess().getInstantiationsAssignment_3_0(), "rule__Root__InstantiationsAssignment_3_0");
put(grammarAccess.getRootAccess().getPropertyAssignmentsAssignment_4_0(), "rule__Root__PropertyAssignmentsAssignment_4_0");
put(grammarAccess.getRootAccess().getPropertyDefinitionsAssignment_5_0(), "rule__Root__PropertyDefinitionsAssignment_5_0");
put(grammarAccess.getIncludeAccess().getImportURIAssignment_1(), "rule__Include__ImportURIAssignment_1");
put(grammarAccess.getPropertyDefinitionAccess().getNameAssignment_1(), "rule__PropertyDefinition__NameAssignment_1");
put(grammarAccess.getPropertyDefinitionAccess().getTypeAssignment_3_0_2(), "rule__PropertyDefinition__TypeAssignment_3_0_2");
put(grammarAccess.getPropertyDefinitionAccess().getUsageAssignment_3_0_4_0_0(), "rule__PropertyDefinition__UsageAssignment_3_0_4_0_0");
put(grammarAccess.getPropertyDefinitionAccess().getDefaultAssignment_3_0_4_0_1(), "rule__PropertyDefinition__DefaultAssignment_3_0_4_0_1");
put(grammarAccess.getPropertyDefinitionAccess().getDefaultAssignment_3_0_4_1_0(), "rule__PropertyDefinition__DefaultAssignment_3_0_4_1_0");
put(grammarAccess.getPropertyDefinitionAccess().getUsageAssignment_3_0_4_1_1(), "rule__PropertyDefinition__UsageAssignment_3_0_4_1_1");
put(grammarAccess.getPropertyDefinitionAccess().getUsageAssignment_3_1_0(), "rule__PropertyDefinition__UsageAssignment_3_1_0");
put(grammarAccess.getPropertyDefinitionAccess().getTypeAssignment_3_1_1_0_2(), "rule__PropertyDefinition__TypeAssignment_3_1_1_0_2");
put(grammarAccess.getPropertyDefinitionAccess().getDefaultAssignment_3_1_1_0_4(), "rule__PropertyDefinition__DefaultAssignment_3_1_1_0_4");
put(grammarAccess.getPropertyDefinitionAccess().getDefaultAssignment_3_1_1_1_0(), "rule__PropertyDefinition__DefaultAssignment_3_1_1_1_0");
put(grammarAccess.getPropertyDefinitionAccess().getTypeAssignment_3_1_1_1_3(), "rule__PropertyDefinition__TypeAssignment_3_1_1_1_3");
put(grammarAccess.getPropertyDefinitionAccess().getDefaultAssignment_3_2_0(), "rule__PropertyDefinition__DefaultAssignment_3_2_0");
put(grammarAccess.getPropertyDefinitionAccess().getTypeAssignment_3_2_1_0_2(), "rule__PropertyDefinition__TypeAssignment_3_2_1_0_2");
put(grammarAccess.getPropertyDefinitionAccess().getUsageAssignment_3_2_1_0_4(), "rule__PropertyDefinition__UsageAssignment_3_2_1_0_4");
put(grammarAccess.getPropertyDefinitionAccess().getUsageAssignment_3_2_1_1_0(), "rule__PropertyDefinition__UsageAssignment_3_2_1_1_0");
put(grammarAccess.getPropertyDefinitionAccess().getTypeAssignment_3_2_1_1_3(), "rule__PropertyDefinition__TypeAssignment_3_2_1_1_3");
put(grammarAccess.getPropertyDefaultAccess().getStringAssignment_2_0(), "rule__PropertyDefault__StringAssignment_2_0");
put(grammarAccess.getPropertyDefaultAccess().getValueAssignment_2_1(), "rule__PropertyDefault__ValueAssignment_2_1");
put(grammarAccess.getPropertyDefaultAccess().getStringAssignment_2_2(), "rule__PropertyDefault__StringAssignment_2_2");
put(grammarAccess.getPropertyDefaultAccess().getStringAssignment_2_3(), "rule__PropertyDefault__StringAssignment_2_3");
put(grammarAccess.getPropertyUsageAccess().getComponentsAssignment_2(), "rule__PropertyUsage__ComponentsAssignment_2");
put(grammarAccess.getPropertyUsageAccess().getComponentsAssignment_3_1(), "rule__PropertyUsage__ComponentsAssignment_3_1");
put(grammarAccess.getComponentDefinitionAccess().getTypeAssignment_0(), "rule__ComponentDefinition__TypeAssignment_0");
put(grammarAccess.getComponentDefinitionAccess().getNameAssignment_1(), "rule__ComponentDefinition__NameAssignment_1");
put(grammarAccess.getComponentDefinitionAccess().getComponentDefinitionsAssignment_3_0_0(), "rule__ComponentDefinition__ComponentDefinitionsAssignment_3_0_0");
put(grammarAccess.getComponentDefinitionAccess().getInstantiationsAssignment_3_1_0(), "rule__ComponentDefinition__InstantiationsAssignment_3_1_0");
put(grammarAccess.getComponentDefinitionAccess().getPropertyAssignmentsAssignment_3_2_0(), "rule__ComponentDefinition__PropertyAssignmentsAssignment_3_2_0");
put(grammarAccess.getComponentDefinitionAccess().getEnumDefinitionsAssignment_3_3_0(), "rule__ComponentDefinition__EnumDefinitionsAssignment_3_3_0");
put(grammarAccess.getInstantiationAccess().getInstanceTypeAssignment_0_0_0(), "rule__Instantiation__InstanceTypeAssignment_0_0_0");
put(grammarAccess.getInstantiationAccess().getAliasAssignment_0_0_1_1(), "rule__Instantiation__AliasAssignment_0_0_1_1");
put(grammarAccess.getInstantiationAccess().getComponentRefAssignment_0_0_2(), "rule__Instantiation__ComponentRefAssignment_0_0_2");
put(grammarAccess.getInstantiationAccess().getComponentAssignment_0_1_0(), "rule__Instantiation__ComponentAssignment_0_1_0");
put(grammarAccess.getInstantiationAccess().getInstanceTypeAssignment_0_1_1(), "rule__Instantiation__InstanceTypeAssignment_0_1_1");
put(grammarAccess.getInstantiationAccess().getComponentInstancesAssignment_1(), "rule__Instantiation__ComponentInstancesAssignment_1");
put(grammarAccess.getInstantiationAccess().getComponentInstancesAssignment_2_1(), "rule__Instantiation__ComponentInstancesAssignment_2_1");
put(grammarAccess.getComponentInstanceAccess().getNameAssignment_0(), "rule__ComponentInstance__NameAssignment_0");
put(grammarAccess.getComponentInstanceAccess().getRangeAssignment_1(), "rule__ComponentInstance__RangeAssignment_1");
put(grammarAccess.getComponentInstanceAccess().getResetAssignment_2_1(), "rule__ComponentInstance__ResetAssignment_2_1");
put(grammarAccess.getComponentInstanceAccess().getAddressAssignment_3_1(), "rule__ComponentInstance__AddressAssignment_3_1");
put(grammarAccess.getComponentInstanceAccess().getAddrIncAssignment_4_1(), "rule__ComponentInstance__AddrIncAssignment_4_1");
put(grammarAccess.getComponentInstanceAccess().getAddrModAssignment_5_1(), "rule__ComponentInstance__AddrModAssignment_5_1");
put(grammarAccess.getRangeAccess().getLeftAssignment_1_0_0(), "rule__Range__LeftAssignment_1_0_0");
put(grammarAccess.getRangeAccess().getRightAssignment_1_0_2(), "rule__Range__RightAssignment_1_0_2");
put(grammarAccess.getRangeAccess().getSizeAssignment_1_1(), "rule__Range__SizeAssignment_1_1");
put(grammarAccess.getExplicitPropertyAssignmentAccess().getModifierAssignment_0_0(), "rule__ExplicitPropertyAssignment__ModifierAssignment_0_0");
put(grammarAccess.getExplicitPropertyAssignmentAccess().getNameAssignment_0_1(), "rule__ExplicitPropertyAssignment__NameAssignment_0_1");
put(grammarAccess.getExplicitPropertyAssignmentAccess().getNameAssignment_1_0(), "rule__ExplicitPropertyAssignment__NameAssignment_1_0");
put(grammarAccess.getExplicitPropertyAssignmentAccess().getRhsAssignment_1_1_1(), "rule__ExplicitPropertyAssignment__RhsAssignment_1_1_1");
put(grammarAccess.getPostPropertyAssignmentAccess().getInstanceAssignment_0_0_0(), "rule__PostPropertyAssignment__InstanceAssignment_0_0_0");
put(grammarAccess.getPostPropertyAssignmentAccess().getPropertyEnumAssignment_0_0_2_0(), "rule__PostPropertyAssignment__PropertyEnumAssignment_0_0_2_0");
put(grammarAccess.getPostPropertyAssignmentAccess().getPropertyAssignment_0_0_2_1(), "rule__PostPropertyAssignment__PropertyAssignment_0_0_2_1");
put(grammarAccess.getPostPropertyAssignmentAccess().getPropertyAssignment_0_1(), "rule__PostPropertyAssignment__PropertyAssignment_0_1");
put(grammarAccess.getPostPropertyAssignmentAccess().getRhsAssignment_1_1(), "rule__PostPropertyAssignment__RhsAssignment_1_1");
put(grammarAccess.getInstancePropertyRefAccess().getInstanceAssignment_0(), "rule__InstancePropertyRef__InstanceAssignment_0");
put(grammarAccess.getInstancePropertyRefAccess().getPropertyEnumAssignment_1_1_0(), "rule__InstancePropertyRef__PropertyEnumAssignment_1_1_0");
put(grammarAccess.getInstancePropertyRefAccess().getPropertyAssignment_1_1_1(), "rule__InstancePropertyRef__PropertyAssignment_1_1_1");
put(grammarAccess.getInstanceRefAccess().getInstanceAssignment_0(), "rule__InstanceRef__InstanceAssignment_0");
put(grammarAccess.getInstanceRefAccess().getTailAssignment_1_1(), "rule__InstanceRef__TailAssignment_1_1");
put(grammarAccess.getHierInstanceRefAccess().getInstanceAssignment_0(), "rule__HierInstanceRef__InstanceAssignment_0");
put(grammarAccess.getHierInstanceRefAccess().getTailAssignment_1_1(), "rule__HierInstanceRef__TailAssignment_1_1");
put(grammarAccess.getPropertyAssignmentRhsAccess().getValueAssignment_0(), "rule__PropertyAssignmentRhs__ValueAssignment_0");
put(grammarAccess.getPropertyAssignmentRhsAccess().getInstPropRefAssignment_1(), "rule__PropertyAssignmentRhs__InstPropRefAssignment_1");
put(grammarAccess.getPropertyAssignmentRhsAccess().getEnumRefAssignment_2_0(), "rule__PropertyAssignmentRhs__EnumRefAssignment_2_0");
put(grammarAccess.getPropertyAssignmentRhsAccess().getEnumsAssignment_2_2(), "rule__PropertyAssignmentRhs__EnumsAssignment_2_2");
put(grammarAccess.getPropertyAssignmentRhsAccess().getElementsAssignment_3(), "rule__PropertyAssignmentRhs__ElementsAssignment_3");
put(grammarAccess.getConcatAccess().getElementsAssignment_1(), "rule__Concat__ElementsAssignment_1");
put(grammarAccess.getConcatAccess().getElementsAssignment_2_1(), "rule__Concat__ElementsAssignment_2_1");
put(grammarAccess.getConcatElemAccess().getInstPropRefAssignment_0(), "rule__ConcatElem__InstPropRefAssignment_0");
put(grammarAccess.getConcatElemAccess().getValueAssignment_1(), "rule__ConcatElem__ValueAssignment_1");
put(grammarAccess.getPropertyRvalueConstantAccess().getValAssignment_0(), "rule__PropertyRvalueConstant__ValAssignment_0");
put(grammarAccess.getPropertyRvalueConstantAccess().getNumAssignment_1(), "rule__PropertyRvalueConstant__NumAssignment_1");
put(grammarAccess.getPropertyRvalueConstantAccess().getStrAssignment_2(), "rule__PropertyRvalueConstant__StrAssignment_2");
put(grammarAccess.getEnumDefinitionAccess().getNameAssignment_1(), "rule__EnumDefinition__NameAssignment_1");
put(grammarAccess.getEnumDefinitionAccess().getBodyAssignment_2(), "rule__EnumDefinition__BodyAssignment_2");
put(grammarAccess.getEnumBodyAccess().getEntriesAssignment_2(), "rule__EnumBody__EntriesAssignment_2");
put(grammarAccess.getEnumEntryAccess().getNameAssignment_0(), "rule__EnumEntry__NameAssignment_0");
put(grammarAccess.getEnumEntryAccess().getIndexAssignment_2(), "rule__EnumEntry__IndexAssignment_2");
put(grammarAccess.getEnumEntryAccess().getPropertiesAssignment_3_1(), "rule__EnumEntry__PropertiesAssignment_3_1");
put(grammarAccess.getEnumPropertyAccess().getNameAssignment_0_0_0(), "rule__EnumProperty__NameAssignment_0_0_0");
put(grammarAccess.getEnumPropertyAccess().getValueAssignment_0_0_2(), "rule__EnumProperty__ValueAssignment_0_0_2");
put(grammarAccess.getEnumPropertyAccess().getNameAssignment_0_1_0(), "rule__EnumProperty__NameAssignment_0_1_0");
put(grammarAccess.getEnumPropertyAccess().getValueAssignment_0_1_2(), "rule__EnumProperty__ValueAssignment_0_1_2");
put(grammarAccess.getEnumInstanceTypeAccess().getEXTERNALAssignment_0(), "rule__EnumInstanceType__EXTERNALAssignment_0");
put(grammarAccess.getEnumInstanceTypeAccess().getINTERNALAssignment_1(), "rule__EnumInstanceType__INTERNALAssignment_1");
}
};
}
return nameMappings.get(element);
return nameMappings.getRuleName(element);
}
@Override
protected String[] getInitialHiddenTokens() {
return new String[] { "RULE_WS", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_ESCAPE_JSP", "RULE_ESCAPE_ORDL" };
@ -226,4 +241,12 @@ public class RDLParser extends AbstractContentAssistParser {
public void setGrammarAccess(RDLGrammarAccess grammarAccess) {
this.grammarAccess = grammarAccess;
}
public NameMappings getNameMappings() {
return nameMappings;
}
public void setNameMappings(NameMappings nameMappings) {
this.nameMappings = nameMappings;
}
}

View File

@ -1,5 +1,5 @@
/*
* generated by Xtext 2.12.0
* generated by Xtext 2.14.0
*/
grammar InternalRDL;

View File

@ -1,5 +1,5 @@
/*
* generated by Xtext 2.12.0
* generated by Xtext 2.14.0
*/
package com.minres.rdl.ide

View File

@ -1,5 +1,5 @@
/*
* generated by Xtext 2.12.0
* generated by Xtext 2.14.0
*/
package com.minres.rdl.ide

View File

@ -1,5 +1,5 @@
/**
* generated by Xtext 2.12.0
* generated by Xtext 2.14.0
*/
package com.minres.rdl.ide;

View File

@ -1,5 +1,5 @@
/**
* generated by Xtext 2.12.0
* generated by Xtext 2.14.0
*/
package com.minres.rdl.ide;

View File

@ -3,7 +3,7 @@
id="com.minres.rdl.platform.feature"
label="Xtext Platform Feature"
version="1.0.0.qualifier"
provider-name="MINRES">
provider-name="MINRES Technologies GmbH">
<description url="http://www.example.com/description">
[Enter Feature Description here.]
@ -17,400 +17,21 @@
[Enter License Description here.]
</license>
<includes
id="org.eclipse.xtext.runtime"
version="0.0.0"/>
<includes
id="org.eclipse.rcp"
version="0.0.0"/>
<requires>
<import plugin="org.eclipse.e4.core.di" version="1.5.1" match="greaterOrEqual"/>
<import plugin="org.eclipse.core.runtime" version="3.5.0" match="compatible"/>
<import plugin="org.eclipse.core.resources" version="3.5.0" match="compatible"/>
<import plugin="org.eclipse.jdt.core" version="3.5.0" match="compatible"/>
<import plugin="org.eclipse.jdt.launching" version="3.5.0" match="compatible"/>
<import plugin="org.eclipse.emf.ecore" version="2.12.0" match="compatible"/>
<import plugin="org.eclipse.emf.codegen" version="2.11.0" match="compatible"/>
<import plugin="org.eclipse.emf.ecore.xmi" version="2.12.0" match="compatible"/>
<import plugin="org.eclipse.text" version="3.5.0" match="compatible"/>
<import plugin="org.apache.batik.util.gui" version="1.7.0" match="equivalent"/>
<import plugin="org.eclipse.equinox.common" version="3.5.0" match="compatible"/>
<import plugin="org.eclipse.equinox.common" version="3.6.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.equinox.registry" version="3.5.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.debug.core" version="3.9.0" match="compatible"/>
<import plugin="org.eclipse.core.variables" version="3.2.800" match="compatible"/>
<import plugin="org.eclipse.xtend" version="1.1.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.xpand" version="1.1.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.xtend.typesystem.emf" version="1.0.1" match="greaterOrEqual"/>
<import plugin="org.eclipse.emf.ecore" version="2.10.2" match="greaterOrEqual"/>
<import plugin="org.eclipse.emf.common" version="2.10.1" match="greaterOrEqual"/>
<import plugin="org.eclipse.core.runtime" version="3.6.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.equinox.security" version="1.0.0" match="compatible"/>
<import plugin="org.eclipse.equinox.common" version="3.4.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.equinox.preferences" version="3.2.200" match="greaterOrEqual"/>
<import plugin="org.eclipse.osgi" version="3.4.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.equinox.registry" version="3.4.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.core.expressions" version="3.4.0" match="compatible"/>
<import plugin="org.eclipse.ui" version="3.5.0" match="compatible"/>
<import plugin="org.eclipse.ui.console" version="3.5.300" match="compatible"/>
<import plugin="org.eclipse.help" version="3.4.0" match="compatible"/>
<import plugin="org.eclipse.jface.text" version="3.5.0" match="compatible"/>
<import plugin="org.eclipse.ui.workbench.texteditor" version="3.5.0" match="compatible"/>
<import plugin="org.eclipse.ui.ide" version="3.5.0" match="compatible"/>
<import plugin="org.eclipse.ui.editors" version="3.5.0" match="compatible"/>
<import plugin="org.eclipse.core.runtime" version="3.11.0" match="compatible"/>
<import plugin="org.eclipse.core.filesystem" version="1.2.0" match="compatible"/>
<import plugin="org.eclipse.emf.codegen.ecore" version="2.10.2" match="greaterOrEqual"/>
<import plugin="org.eclipse.jdt.core" version="3.3.0" match="compatible"/>
<import plugin="org.eclipse.pde.core" version="3.6.0" match="compatible"/>
<import plugin="org.eclipse.ui.ide" version="3.2.0" match="compatible"/>
<import plugin="org.eclipse.ui.views" version="3.2.0" match="compatible"/>
<import plugin="org.eclipse.jface.text" version="3.7.0" match="compatible"/>
<import plugin="org.eclipse.ui.editors" version="3.2.0" match="compatible"/>
<import plugin="org.eclipse.debug.ui" version="3.10.0" match="compatible"/>
<import plugin="org.eclipse.jdt.core" version="3.2.0" match="compatible"/>
<import plugin="org.eclipse.jdt.debug.ui" version="3.2.0" match="compatible"/>
<import plugin="org.eclipse.jdt.launching" version="3.2.0" match="compatible"/>
<import plugin="org.eclipse.jdt.ui" version="3.2.0" match="compatible"/>
<import plugin="org.eclipse.pde.build" version="3.2.0" match="compatible"/>
<import plugin="org.eclipse.search" version="3.7.0" match="compatible"/>
<import plugin="org.eclipse.team.core" version="3.2.0" match="compatible"/>
<import plugin="org.eclipse.ui.forms" version="3.2.0" match="compatible"/>
<import plugin="org.eclipse.ant.launching" version="1.0.400" match="compatible"/>
<import plugin="org.eclipse.ant.ui" version="3.1.0" match="compatible"/>
<import plugin="org.eclipse.jdt.junit" version="3.2.0" match="compatible"/>
<import plugin="org.eclipse.ui.intro" version="3.2.0" match="compatible"/>
<import plugin="org.eclipse.ui.cheatsheets" version="3.2.0" match="compatible"/>
<import plugin="org.eclipse.update.configurator" version="3.1.0" match="compatible"/>
<import plugin="org.eclipse.ui.views.log" version="1.0.0" match="compatible"/>
<import plugin="org.eclipse.ltk.core.refactoring" version="3.2.0" match="compatible"/>
<import plugin="org.eclipse.core.variables" version="3.1.0" match="compatible"/>
<import plugin="org.eclipse.compare" version="3.2.0" match="compatible"/>
<import plugin="org.eclipse.core.filesystem" version="1.0.0" match="compatible"/>
<import plugin="org.eclipse.ltk.ui.refactoring" version="3.2.0" match="compatible"/>
<import plugin="org.eclipse.core.expressions" version="3.2.0" match="compatible"/>
<import plugin="org.eclipse.ui.navigator.resources" version="3.3.100" match="compatible"/>
<import plugin="org.eclipse.equinox.p2.ui" version="2.0.0" match="compatible"/>
<import plugin="org.eclipse.equinox.p2.metadata" version="2.0.0" match="compatible"/>
<import plugin="org.eclipse.equinox.p2.engine" version="2.0.0" match="compatible"/>
<import plugin="org.eclipse.equinox.p2.core" version="2.0.0" match="compatible"/>
<import plugin="org.eclipse.equinox.p2.director" version="2.1.0" match="compatible"/>
<import plugin="org.eclipse.equinox.p2.artifact.repository" version="1.0.100" match="compatible"/>
<import plugin="org.eclipse.equinox.p2.metadata.repository" version="1.0.100" match="compatible"/>
<import plugin="org.eclipse.equinox.p2.operations" version="2.0.0" match="compatible"/>
<import plugin="org.eclipse.equinox.p2.repository" version="2.0.0" match="compatible"/>
<import plugin="org.eclipse.equinox.frameworkadmin" version="2.0.0" match="compatible"/>
<import plugin="org.eclipse.equinox.frameworkadmin.equinox" version="1.0.100" match="compatible"/>
<import plugin="org.eclipse.pde.launching" version="3.6.0" match="compatible"/>
<import plugin="org.eclipse.ui.console" version="3.5.0" match="compatible"/>
<import plugin="org.eclipse.equinox.simpleconfigurator" version="1.0.200" match="compatible"/>
<import plugin="org.eclipse.equinox.p2.repository.tools" version="2.0.100" match="compatible"/>
<import plugin="org.eclipse.team.ui" version="3.6.100" match="compatible"/>
<import plugin="org.eclipse.debug.core" version="3.10.0" match="compatible"/>
<import plugin="org.eclipse.ui.trace" version="1.0.0" match="compatible"/>
<import plugin="org.eclipse.equinox.bidi" version="0.10.0"/>
<import plugin="org.eclipse.equinox.registry" version="3.3.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.emf.codegen.ecore" version="2.12.0" match="compatible"/>
<import plugin="org.eclipse.emf.edit.ui" version="2.12.0" match="compatible"/>
<import plugin="org.eclipse.emf.ecore.edit" version="2.9.0" match="compatible"/>
<import plugin="org.eclipse.equinox.common" version="3.3.0" match="compatible"/>
<import plugin="org.eclipse.core.jobs" version="3.3.0" match="compatible"/>
<import plugin="org.sat4j.core" version="2.3.5" match="compatible"/>
<import plugin="org.sat4j.pb" version="2.3.5" match="compatible"/>
<import plugin="org.eclipse.swt" version="3.2.0" match="compatible"/>
<import plugin="org.eclipse.jface" version="3.2.0" match="compatible"/>
<import plugin="org.eclipse.equinox.common" version="3.2.0" match="compatible"/>
<import plugin="org.eclipse.core.databinding.observable" version="1.3.0" match="compatible"/>
<import plugin="org.eclipse.core.databinding.property" version="1.3.0" match="compatible"/>
<import plugin="org.eclipse.core.databinding" version="1.2.0" match="compatible"/>
<import plugin="org.eclipse.equinox.registry" version="3.4.0" match="compatible"/>
<import plugin="com.google.guava" version="14.0.0"/>
<import plugin="com.google.inject" version="3.0.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.e4.ui.model.workbench" version="1.0.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.e4.core.contexts" version="0.9.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.e4.core.di" version="0.9.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.e4.ui.workbench" version="0.9.1" match="greaterOrEqual"/>
<import plugin="org.eclipse.e4.core.services" version="0.9.1" match="greaterOrEqual"/>
<import plugin="org.eclipse.osgi.services" version="3.2.100" match="compatible"/>
<import plugin="org.eclipse.e4.ui.workbench.renderers.swt" version="0.9.1" match="greaterOrEqual"/>
<import plugin="org.eclipse.e4.ui.widgets" version="0.11.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.e4.ui.css.swt" version="0.9.1" match="greaterOrEqual"/>
<import plugin="org.eclipse.e4.ui.css.core" version="0.9.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.swt" version="3.7.0" match="compatible"/>
<import plugin="org.eclipse.jface" version="3.7.0" match="compatible"/>
<import plugin="org.eclipse.core.runtime" version="3.7.0" match="compatible"/>
<import plugin="org.eclipse.e4.ui.di" version="0.10.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.e4.ui.services" version="1.0.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.emf.ecore.xmi" version="2.7.0" match="greaterOrEqual"/>
<import plugin="org.apache.ant" version="1.9.4" match="greaterOrEqual"/>
<import plugin="org.eclipse.ant.core" version="3.2.0" match="compatible"/>
<import plugin="org.eclipse.core.resources" version="3.2.0" match="compatible"/>
<import plugin="org.eclipse.ui.externaltools" version="3.2.0" match="compatible"/>
<import plugin="org.eclipse.ui" version="3.2.0" match="compatible"/>
<import plugin="org.eclipse.ui.console" version="3.1.0" match="compatible"/>
<import plugin="org.eclipse.debug.core" version="3.6.0" match="compatible"/>
<import plugin="org.eclipse.debug.ui" version="3.6.0" match="compatible"/>
<import plugin="org.eclipse.jdt.junit" version="3.5.0" match="compatible"/>
<import plugin="org.eclipse.ant.launching" version="1.0.0" match="compatible"/>
<import plugin="org.eclipse.core.externaltools" version="1.0.0" match="compatible"/>
<import plugin="org.eclipse.emf.edit" version="2.10.1" match="greaterOrEqual"/>
<import plugin="org.eclipse.equinox.preferences" version="3.2.200" match="compatible"/>
<import plugin="org.eclipse.ui" version="3.4.0" match="compatible"/>
<import plugin="org.eclipse.core.runtime" version="3.4.0" match="compatible"/>
<import plugin="org.eclipse.swt" version="3.6.0" match="compatible"/>
<import plugin="org.eclipse.equinox.common" version="3.6.0" match="compatible"/>
<import plugin="org.w3c.css.sac" version="1.3.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.equinox.registry" version="3.5.0" match="compatible"/>
<import plugin="org.eclipse.equinox.preferences" version="3.3.0" match="compatible"/>
<import plugin="org.eclipse.core.runtime" version="3.8.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.ui.editors" version="3.5.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.ui.ide" version="3.5.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.core.runtime" version="3.6.0" match="compatible"/>
<import plugin="org.eclipse.help" version="3.2.0" match="compatible"/>
<import plugin="org.eclipse.jface" version="3.9.0" match="compatible"/>
<import plugin="org.eclipse.swt" version="3.101.0" match="compatible"/>
<import plugin="org.eclipse.jface.databinding" version="1.3.0" match="compatible"/>
<import plugin="org.eclipse.core.databinding.property" version="1.2.0" match="compatible"/>
<import plugin="org.eclipse.core.databinding.observable" version="1.2.0" match="compatible"/>
<import plugin="org.eclipse.e4.core.services" version="1.0.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.e4.core.contexts" version="1.0.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.e4.core.di" version="1.1.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.e4.ui.workbench.swt" version="0.9.1" match="greaterOrEqual"/>
<import plugin="org.eclipse.e4.ui.di" version="0.9.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.e4.ui.model.workbench" version="0.9.1" match="greaterOrEqual"/>
<import plugin="org.eclipse.e4.ui.css.swt.theme" version="0.9.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.e4.ui.bindings" version="0.9.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.e4.ui.workbench3" version="0.12.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.e4.ui.workbench.addons.swt" version="0.10.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.emf.ecore" version="2.7.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.emf.ecore.xmi" version="2.11.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.e4.core.di.extensions" version="0.13.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.e4.ui.workbench.renderers.swt" version="0.10.0" match="compatible"/>
<import plugin="org.eclipse.equinox.common" version="3.3.0" match="greaterOrEqual"/>
<import plugin="org.tukaani.xz" version="1.3.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.text" version="3.1.0" match="compatible"/>
<import plugin="org.eclipse.core.filebuffers" version="3.2.0" match="compatible"/>
<import plugin="org.eclipse.ant.core" version="3.1.0" match="compatible"/>
<import plugin="org.eclipse.equinox.simpleconfigurator.manipulator" version="2.0.0" match="compatible"/>
<import plugin="org.eclipse.debug.core" version="3.5.0" match="compatible"/>
<import plugin="org.eclipse.equinox.p2.repository" version="2.0.0"/>
<import plugin="org.eclipse.equinox.p2.garbagecollector" version="1.0.100" match="compatible"/>
<import plugin="org.eclipse.equinox.p2.touchpoint.eclipse" version="2.0.0" match="compatible"/>
<import plugin="org.eclipse.emf.common" version="2.12.0" match="compatible"/>
<import plugin="org.eclipse.core.commands" version="3.5.0" match="compatible"/>
<import plugin="org.eclipse.equinox.common" version="3.8.0" match="compatible"/>
<import plugin="org.eclipse.ui" version="3.107.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.equinox.security.ui" version="1.0.0" match="compatible"/>
<import plugin="org.eclipse.core.resources" version="3.3.0" match="compatible"/>
<import plugin="org.eclipse.core.runtime" version="3.2.0" match="compatible"/>
<import plugin="org.eclipse.core.filesystem" version="1.1.0" match="compatible"/>
<import plugin="org.eclipse.compare.core" version="3.5.200" match="compatible"/>
<import plugin="org.eclipse.osgi" version="3.10.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.ui.ide" version="3.6.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.jdt.core" version="3.6.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.debug.ui" version="3.6.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.help" version="3.5.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.core.expressions" version="3.4.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.ui.editors" version="3.6.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.ui" version="3.6.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.compare" version="3.5.101" match="greaterOrEqual"/>
<import plugin="org.eclipse.jface.databinding" version="1.3.1" match="greaterOrEqual"/>
<import plugin="org.eclipse.core.databinding" version="1.2.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.core.databinding.beans" version="1.2.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.core.databinding.property" version="1.2.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.jdt.launching" version="3.5.0" match="greaterOrEqual"/>
<import plugin="org.apache.batik.util" version="1.7.0" match="equivalent"/>
<import plugin="org.eclipse.emf.common.ui" version="2.11.0" match="compatible"/>
<import plugin="org.eclipse.e4.core.services" version="0.9.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.e4.core.di" version="1.0.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.emf.ecore" version="2.9.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.e4.emf.xpath" version="0.1.100" match="greaterOrEqual"/>
<import plugin="org.eclipse.emf.ecore.editor" version="2.10.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.ui.views" version="3.3.100" match="compatible"/>
<import plugin="org.eclipse.core.expressions" version="3.4.100" match="compatible"/>
<import plugin="org.eclipse.debug.ui" version="3.5.0" match="compatible"/>
<import plugin="org.eclipse.jdt.core" version="3.12.0" match="compatible"/>
<import plugin="org.eclipse.jdt.ui" version="3.12.0" match="compatible"/>
<import plugin="org.eclipse.jdt.debug.ui" version="3.3.0" match="compatible"/>
<import plugin="org.eclipse.jdt.junit.runtime" version="3.4.100" match="compatible"/>
<import plugin="org.eclipse.compare" version="3.5.0" match="compatible"/>
<import plugin="org.eclipse.ltk.core.refactoring" version="3.5.0" match="compatible"/>
<import plugin="org.eclipse.core.variables" version="3.2.200" match="compatible"/>
<import plugin="org.eclipse.ltk.ui.refactoring" version="3.5.0" match="compatible"/>
<import plugin="org.eclipse.jdt.junit.core" version="3.6.0" match="compatible"/>
<import plugin="com.ibm.icu" version="4.4.2" match="greaterOrEqual"/>
<import plugin="org.eclipse.emf.ecore.xmi" version="2.10.2" match="greaterOrEqual"/>
<import plugin="org.eclipse.equinox.common" version="3.5.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.core.resources" version="3.4.0" match="compatible"/>
<import plugin="org.eclipse.jface.text" version="3.8.0" match="compatible"/>
<import plugin="org.eclipse.ui.ide" version="3.3.0" match="compatible"/>
<import plugin="org.eclipse.compare.core" version="3.5.0" match="compatible"/>
<import plugin="org.eclipse.e4.ui.workbench" version="0.9.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.e4.ui.services" version="0.9.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.swt" version="3.5.0" match="compatible"/>
<import plugin="org.eclipse.jface" version="3.5.0" match="compatible"/>
<import plugin="org.eclipse.e4.ui.workbench.swt" version="0.9.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.e4.ui.model.workbench" version="0.9.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.osgi.services" version="3.2.0" match="compatible"/>
<import plugin="org.eclipse.e4.core.commands" version="0.9.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.core.expressions" version="3.4.200" match="compatible"/>
<import plugin="org.eclipse.osgi" version="3.6.0" match="compatible"/>
<import plugin="org.eclipse.e4.ui.css.swt" version="0.11.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.e4.core.di.extensions" version="0.12.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.equinox.preferences" version="3.5.200" match="greaterOrEqual"/>
<import plugin="org.eclipse.osgi" version="3.8.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.core.runtime" version="3.3.0" match="compatible"/>
<import plugin="com.jcraft.jsch" version="0.1.50" match="compatible"/>
<import plugin="org.eclipse.core.net" version="1.0.0" match="compatible"/>
<import plugin="org.eclipse.swt" version="3.104.0" match="compatible"/>
<import plugin="org.eclipse.core.commands" version="3.4.0" match="compatible"/>
<import plugin="org.eclipse.ui" version="3.106.0" match="compatible"/>
<import plugin="org.eclipse.ui.workbench" version="3.7.0" match="compatible"/>
<import plugin="org.eclipse.jface.text" version="3.2.0" match="compatible"/>
<import plugin="org.eclipse.e4.core.services" version="2.0.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.e4.core.contexts" version="1.3.100" match="compatible"/>
<import plugin="org.eclipse.e4.ui.workbench" version="1.3.0" match="compatible"/>
<import plugin="org.eclipse.e4.core.commands" version="0.11.0" match="compatible"/>
<import plugin="org.eclipse.e4.ui.model.workbench" version="1.1.0" match="compatible"/>
<import plugin="org.eclipse.e4.core.di" version="1.6.0" match="compatible"/>
<import plugin="org.eclipse.e4.core.di.extensions" version="0.14.0" match="compatible"/>
<import plugin="org.eclipse.osgi.services" version="3.5.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.jdt.core" version="3.8.0" match="compatible"/>
<import plugin="org.eclipse.core.runtime" version="3.12.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.emf.mwe2.runtime" version="2.9.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.xtext" version="2.8.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.xtext.common.types" version="2.8.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.swt" version="3.4.1" match="compatible"/>
<import plugin="org.eclipse.ui" version="3.6.0" match="compatible"/>
<import plugin="org.eclipse.ui.forms" version="3.5.0" match="compatible"/>
<import plugin="org.eclipse.help" version="3.5.0" match="compatible"/>
<import plugin="org.eclipse.core.expressions" version="3.4.200" match="greaterOrEqual"/>
<import plugin="org.eclipse.equinox.common" version="3.7.0" match="compatible"/>
<import plugin="org.eclipse.swt" version="3.103.0" match="compatible"/>
<import plugin="org.eclipse.core.resources" version="3.9.0" match="compatible"/>
<import plugin="org.objectweb.asm" version="5.0.1" match="compatible"/>
<import plugin="org.eclipse.jdt.debug" version="3.7.100" match="compatible"/>
<import plugin="org.eclipse.core.variables" version="3.2.0" match="compatible"/>
<import plugin="org.eclipse.osgi" version="3.8.0" match="compatible"/>
<import plugin="org.eclipse.core.resources" version="3.6.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.jdt.ui" version="3.6.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.search" version="3.5.1" match="greaterOrEqual"/>
<import plugin="org.eclipse.ltk.ui.refactoring" version="3.4.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.jdt.core.manipulation" version="1.3.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.swt" version="3.0.0" match="compatible"/>
<import plugin="org.eclipse.core.filebuffers" version="3.5.0" match="compatible"/>
<import plugin="org.eclipse.jdt.debug" version="3.10.0" match="compatible"/>
<import plugin="org.eclipse.jdt.launching" version="3.7.0" match="compatible"/>
<import plugin="org.eclipse.jdt.ui" version="3.8.0" match="compatible"/>
<import plugin="org.eclipse.ui.console" version="3.4.0" match="compatible"/>
<import plugin="org.eclipse.jdt.core.manipulation" version="1.3.0" match="compatible"/>
<import plugin="org.eclipse.search" version="3.5.0" match="compatible"/>
<import plugin="org.eclipse.ui.forms" version="3.4.0" match="compatible"/>
<import plugin="org.eclipse.core.jobs" version="3.5.0" match="greaterOrEqual"/>
<import plugin="org.junit" version="3.8.2" match="greaterOrEqual"/>
<import plugin="org.eclipse.ui.console" version="3.5.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.osgi" version="3.7.0" match="compatible"/>
<import plugin="org.eclipse.core.jobs" version="3.2.0" match="compatible"/>
<import plugin="org.eclipse.equinox.preferences" version="3.4.0" match="compatible"/>
<import plugin="org.eclipse.core.contenttype" version="3.3.0" match="compatible"/>
<import plugin="org.eclipse.equinox.app" version="1.0.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.equinox.p2.metadata.repository" version="0.1.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.equinox.p2.artifact.repository" version="0.1.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.ltk.core.refactoring" version="3.7.0" match="compatible"/>
<import plugin="org.eclipse.ui.navigator" version="3.3.200" match="compatible"/>
<import plugin="org.eclipse.team.core" version="3.4.100" match="compatible"/>
<import plugin="org.eclipse.team.ui" version="3.4.100" match="compatible"/>
<import plugin="org.eclipse.ui.forms" version="3.3.0" match="compatible"/>
<import plugin="org.eclipse.ui" version="3.3.0" match="compatible"/>
<import plugin="org.apache.commons.lang" version="2.0.0" match="compatible"/>
<import plugin="org.apache.commons.logging" version="1.0.0" match="compatible"/>
<import plugin="org.eclipse.core.filesystem" version="1.3.0" match="compatible"/>
<import plugin="org.hamcrest.core" version="1.3.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.equinox.preferences" version="3.3.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.ui.ide" version="3.6.0" match="compatible"/>
<import plugin="org.eclipse.core.resources" version="3.6.0" match="compatible"/>
<import plugin="org.eclipse.jface" version="3.6.0" match="compatible"/>
<import plugin="org.eclipse.ui.navigator" version="3.5.0" match="compatible"/>
<import plugin="org.eclipse.ui.views.properties.tabbed" version="3.5.0" match="compatible"/>
<import plugin="org.eclipse.ui.workbench.texteditor" version="3.6.0" match="compatible"/>
<import plugin="org.eclipse.jface" version="3.10.100" match="compatible"/>
<import plugin="org.eclipse.ui.workbench" version="3.105.0" match="compatible"/>
<import plugin="org.eclipse.ui.workbench.texteditor" version="3.6.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.core.expressions" version="3.4.100" match="greaterOrEqual"/>
<import plugin="org.eclipse.ui.navigator" version="3.4.1" match="greaterOrEqual"/>
<import plugin="org.eclipse.e4.core.di.extensions" version="0.13.200" match="greaterOrEqual"/>
<import plugin="org.eclipse.core.runtime" version="3.4.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.core.resources" version="3.4.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.ui" version="3.4.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.ui.editors" version="3.4.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.jface.text" version="3.4.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.ui.ide" version="3.4.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.ui.views" version="3.3.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.emf.edit.ui" version="2.10.2" match="greaterOrEqual"/>
<import plugin="org.eclipse.ui.workbench.texteditor" version="3.4.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.ui.forms" version="3.4.1" match="greaterOrEqual"/>
<import plugin="org.eclipse.e4.ui.css.core" version="0.10.100" match="greaterOrEqual"/>
<import plugin="org.eclipse.e4.ui.css.swt" version="0.11.100" match="greaterOrEqual"/>
<import plugin="org.apache.commons.jxpath" version="1.2.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.emf.ecore" version="2.6.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.e4.core.di.annotations" version="1.4.0" match="compatible"/>
<import plugin="org.eclipse.core.runtime" version="3.1.0" match="compatible"/>
<import plugin="org.eclipse.core.externaltools" version="1.0.300" match="compatible"/>
<import plugin="org.apache.lucene.core" version="3.5.0" match="compatible"/>
<import plugin="org.eclipse.ui.views" version="3.4.0" match="compatible"/>
<import plugin="org.eclipse.ui.workbench" version="3.5.0" match="compatible"/>
<import plugin="org.eclipse.emf.edit" version="2.12.0" match="compatible"/>
<import plugin="org.eclipse.core.jobs" version="3.4.0" match="compatible"/>
<import plugin="org.eclipse.search" version="3.10.0" match="compatible"/>
<import plugin="org.eclipse.debug.ui" version="3.11.0" match="compatible"/>
<import plugin="org.eclipse.jdt.launching" version="3.8.0" match="compatible"/>
<import plugin="org.eclipse.jface" version="3.11.0" match="compatible"/>
<import plugin="org.eclipse.ui.workbench.texteditor" version="3.10.0" match="compatible"/>
<import plugin="org.eclipse.ltk.ui.refactoring" version="3.8.0" match="compatible"/>
<import plugin="org.eclipse.ui.navigator.resources" version="3.4.0" match="compatible"/>
<import plugin="org.eclipse.jdt.core.manipulation" version="1.7.0" match="compatible"/>
<import plugin="org.w3c.dom.smil" version="1.0.0" match="equivalent"/>
<import plugin="org.eclipse.core.runtime" version="3.12.0" match="compatible"/>
<import plugin="org.eclipse.core.resources" version="3.8.100" match="compatible"/>
<import plugin="org.eclipse.e4.ui.model.workbench" version="1.2.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.osgi" version="3.4.0" match="compatible"/>
<import plugin="org.eclipse.e4.core.commands" version="0.11.100" match="greaterOrEqual"/>
<import plugin="org.eclipse.emf.ecore.change" version="2.5.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.core.runtime" version="3.3.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.equinox.preferences" version="3.2.0" match="compatible"/>
<import plugin="org.eclipse.equinox.registry" version="3.2.0" match="compatible"/>
<import plugin="org.eclipse.xtext.ide" version="2.11.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.ant.core" version="3.1.100" match="compatible"/>
<import plugin="org.eclipse.osgi" version="3.3.0" match="compatible"/>
<import plugin="org.eclipse.equinox.p2.jarprocessor" version="1.0.1" match="compatible"/>
<import plugin="org.eclipse.equinox.p2.publisher" version="1.1.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.equinox.p2.director.app" version="1.0.200" match="greaterOrEqual"/>
<import plugin="org.eclipse.equinox.p2.publisher.eclipse" version="1.0.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.osgi" version="3.2.0" match="compatible"/>
<import plugin="org.eclipse.team.core" version="3.6.0" match="compatible"/>
<import plugin="org.eclipse.compare" version="3.3.0" match="compatible"/>
<import plugin="org.eclipse.ui.navigator" version="3.3.0" match="compatible"/>
<import plugin="org.eclipse.jface.text" version="3.3.0" match="compatible"/>
<import plugin="org.eclipse.ui.editors" version="3.3.0" match="compatible"/>
<import plugin="org.eclipse.ltk.core.refactoring" version="3.6.0" match="compatible"/>
<import plugin="org.eclipse.debug.core" version="3.2.0" match="compatible"/>
<import plugin="org.eclipse.pde.core" version="3.2.0" match="compatible"/>
<import plugin="org.eclipse.jdt.debug" version="3.2.0" match="compatible"/>
<import plugin="org.eclipse.help.base" version="4.0.0" match="compatible"/>
<import plugin="org.eclipse.equinox.app" version="1.3.0" match="compatible"/>
<import plugin="org.eclipse.e4.ui.workbench" version="0.10.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.e4.ui.services" version="0.1.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.e4.ui.css.swt" version="0.9.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.e4.ui.workbench3" version="0.11.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.core.jobs" version="3.5.0" match="compatible"/>
<import plugin="org.eclipse.core.filesystem" version="1.3.0" match="greaterOrEqual"/>
<import plugin="org.apache.lucene.analysis" version="3.5.0" match="compatible"/>
<import plugin="org.eclipse.core.net" version="1.2.200" match="greaterOrEqual"/>
<import plugin="org.apache.batik.css" version="1.7.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.emf.mwe.utils" version="1.3.0" match="greaterOrEqual"/>
</requires>
<includes
id="org.eclipse.xtext.redist"
version="0.0.0"/>
<includes
id="org.eclipse.xtext.ui"
version="0.0.0"/>
<includes
id="org.eclipse.help"
version="0.0.0"/>
<plugin
id="org.eclipse.e4.core.di.extensions"
@ -433,13 +54,6 @@
version="0.0.0"
unpack="false"/>
<plugin
id="org.apache.batik.util"
download-size="0"
install-size="0"
version="0.0.0"
unpack="false"/>
<plugin
id="org.eclipse.equinox.p2.director.app"
download-size="0"
@ -531,13 +145,6 @@
version="0.0.0"
unpack="false"/>
<plugin
id="com.minres.rdl.ide"
download-size="0"
install-size="0"
version="0.0.0"
unpack="false"/>
<plugin
id="org.eclipse.equinox.p2.repository"
download-size="0"
@ -657,13 +264,6 @@
version="0.0.0"
unpack="false"/>
<plugin
id="com.minres.rdl.ui"
download-size="0"
install-size="0"
version="0.0.0"
unpack="false"/>
<plugin
id="org.eclipse.ui.workbench"
download-size="0"
@ -713,13 +313,6 @@
version="0.0.0"
unpack="false"/>
<plugin
id="javax.xml"
download-size="0"
install-size="0"
version="0.0.0"
unpack="false"/>
<plugin
id="org.eclipse.core.jobs"
download-size="0"
@ -784,13 +377,6 @@
version="0.0.0"
unpack="false"/>
<plugin
id="org.apache.batik.css"
download-size="0"
install-size="0"
version="0.0.0"
unpack="false"/>
<plugin
id="org.eclipse.emf.common"
download-size="0"
@ -812,13 +398,6 @@
version="0.0.0"
unpack="false"/>
<plugin
id="org.eclipse.xtext.ui.ecore"
download-size="0"
install-size="0"
version="0.0.0"
unpack="false"/>
<plugin
id="org.eclipse.jdt.junit"
download-size="0"
@ -915,13 +494,6 @@
install-size="0"
version="0.0.0"/>
<plugin
id="com.minres.rdl.product"
download-size="0"
install-size="0"
version="0.0.0"
unpack="false"/>
<plugin
id="org.eclipse.emf.mwe2.language"
download-size="0"
@ -1313,13 +885,6 @@
version="0.0.0"
unpack="false"/>
<plugin
id="com.minres.rdl"
download-size="0"
install-size="0"
version="0.0.0"
unpack="false"/>
<plugin
id="org.eclipse.ui.navigator.resources"
download-size="0"
@ -1348,13 +913,6 @@
version="0.0.0"
unpack="false"/>
<plugin
id="org.eclipse.xtext.ui.codetemplates.ui"
download-size="0"
install-size="0"
version="0.0.0"
unpack="false"/>
<plugin
id="org.eclipse.e4.ui.di"
download-size="0"
@ -1362,13 +920,6 @@
version="0.0.0"
unpack="false"/>
<plugin
id="org.eclipse.xtext.ui"
download-size="0"
install-size="0"
version="0.0.0"
unpack="false"/>
<plugin
id="org.eclipse.ui.forms"
download-size="0"
@ -1411,13 +962,6 @@
version="0.0.0"
unpack="false"/>
<plugin
id="org.apache.batik.util.gui"
download-size="0"
install-size="0"
version="0.0.0"
unpack="false"/>
<plugin
id="org.eclipse.e4.emf.xpath"
download-size="0"
@ -1446,13 +990,6 @@
version="0.0.0"
unpack="false"/>
<plugin
id="org.apache.lucene.analysis"
download-size="0"
install-size="0"
version="0.0.0"
unpack="false"/>
<plugin
id="org.eclipse.emf.edit.ui"
download-size="0"
@ -1627,13 +1164,6 @@
version="0.0.0"
unpack="false"/>
<plugin
id="org.eclipse.xtext.ui.shared"
download-size="0"
install-size="0"
version="0.0.0"
unpack="false"/>
<plugin
id="org.eclipse.emf.ecore.editor"
download-size="0"
@ -1739,13 +1269,6 @@
version="0.0.0"
unpack="false"/>
<plugin
id="org.eclipse.xtext.ui.codetemplates"
download-size="0"
install-size="0"
version="0.0.0"
unpack="false"/>
<plugin
id="org.eclipse.xtend.lib"
download-size="0"
@ -1901,4 +1424,18 @@
version="0.0.0"
unpack="false"/>
<plugin
id="org.antlr.runtime"
download-size="0"
install-size="0"
version="0.0.0"
unpack="false"/>
<plugin
id="org.eclipse.ui.genericeditor"
download-size="0"
install-size="0"
version="0.0.0"
unpack="false"/>
</feature>

View File

@ -9,6 +9,24 @@
<artifactId>com.minres.rdl.platform.feature</artifactId>
<packaging>eclipse-feature</packaging>
<build>
<plugins>
<plugin>
<groupId>org.eclipse.tycho.extras</groupId>
<artifactId>tycho-source-feature-plugin</artifactId>
<version>${tycho-version}</version>
<executions>
<execution>
<id>source-feature</id>
<phase>none</phase>
<!-- <goals>
<goal>source-feature</goal>
</goals>
--> </execution>
</executions>
</plugin>
</plugins>
</build>
<dependencies>
</dependencies>

View File

@ -2,7 +2,8 @@
<feature
id="com.minres.rdl.product.feature"
label="RDL Feature "
version="1.0.0.qualifier">
version="1.0.0.qualifier"
provider-name="MINRES Technologies GmbH">
<requires>
<import feature="com.minres.rdl.feature" version="1.0.0.qualifier"/>

View File

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>com.minres.rdl.product.releng</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.m2e.core.maven2Builder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.m2e.core.maven2Nature</nature>
</natures>
</projectDescription>

View File

@ -0,0 +1,4 @@
activeProfiles=
eclipse.preferences.version=1
resolveWorkspaceProjects=true
version=1

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<?pde version="3.5"?>
<product name="RDL" uid="com.minres.rdl.product.product" id="com.minres.rdl.product.product" application="org.eclipse.ui.ide.workbench" version="1.1.1.qualifier" useFeatures="true" includeLaunchers="true">
<product name="RDL Editor" uid="com.minres.rdl.product.product" id="com.minres.rdl.product.product" application="org.eclipse.ui.ide.workbench" version="1.2.0.qualifier" useFeatures="true" includeLaunchers="true">
<configIni use="default">
</configIni>
@ -14,7 +14,6 @@
<windowImages/>
<launcher name="rdl-editor">
<solaris/>
<win useIco="false">
<bmp/>
</win>
@ -104,6 +103,16 @@
<feature id="com.minres.rdl.platform.feature" version="1.0.0.qualifier"/>
<feature id="com.minres.rdl.product.feature" version="1.0.0.qualifier"/>
<feature id="com.minres.rdl.feature" version="1.0.0.qualifier"/>
<feature id="org.eclipse.emf.ecore"/>
<feature id="org.eclipse.rcp"/>
<feature id="org.eclipse.emf.common"/>
<feature id="org.eclipse.xtext.runtime"/>
<feature id="org.eclipse.e4.rcp"/>
<feature id="org.eclipse.xtext.xbase"/>
<feature id="org.eclipse.help"/>
<feature id="org.eclipse.xtext.redist"/>
<feature id="org.eclipse.xtext.xbase.lib"/>
<feature id="org.eclipse.xtext.ui"/>
</features>
<configurations>

View File

@ -0,0 +1,45 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<artifactId>com.minres.rdl.product.releng</artifactId>
<packaging>eclipse-repository</packaging>
<name>RDL EEditor</name>
<parent>
<version>1.0.0-SNAPSHOT</version>
<groupId>com.minres.rdl</groupId>
<artifactId>com.minres.rdl.parent</artifactId>
</parent>
<build>
<plugins>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-p2-director-plugin</artifactId>
<version>${tycho-version}</version>
<configuration>
<formats>
<win32>zip</win32>
<linux>tar.gz</linux>
<macosx>tar.gz</macosx>
</formats>
</configuration>
<executions>
<execution>
<id>materialize-products</id>
<goals>
<goal>materialize-products</goal>
</goals>
</execution>
<execution>
<id>archive-products</id>
<goals>
<goal>archive-products</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>

View File

@ -3,5 +3,5 @@
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="src" path="src"/>
<classpathentry kind="output" path="bin"/>
<classpathentry kind="output" path="target/classes"/>
</classpath>

View File

@ -3,6 +3,7 @@ Bundle-ManifestVersion: 2
Bundle-Name: RDL Editor
Bundle-SymbolicName: com.minres.rdl.product;singleton:=true
Bundle-Version: 1.1.1.qualifier
Bundle-Vendor: MINRES
Bundle-Vendor: MINRES Technologies GmbH
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Require-Bundle: org.eclipse.core.runtime;bundle-version="3.12.0"
Automatic-Module-Name: com.minres.rdl.product

View File

@ -1,5 +1,4 @@
source.. = src/
output.. = bin/
bin.includes = META-INF/,\
.,\
plugin.xml

View File

@ -6,10 +6,10 @@
point="org.eclipse.core.runtime.products">
<product
application="org.eclipse.ui.ide.workbench"
name="RDL">
name="RDL Editor">
<property
name="appName"
value="RDL">
value="RDL Editor">
</property>
</product>
</extension>

View File

@ -7,16 +7,6 @@
<version>1.0.0-SNAPSHOT</version>
</parent>
<artifactId>com.minres.rdl.product</artifactId>
<packaging>eclipse-application</packaging>
<build>
<plugins>
<plugin>
<groupId>org.eclipse.xtend</groupId>
<artifactId>xtend-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
<packaging>eclipse-plugin</packaging>
<version>1.1.1-SNAPSHOT</version>
</project>

View File

@ -1,7 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<site>
<feature id="com.minres.rdl.feature" version="0.0.0">
<category name="main"/>
</feature>
<category-def name="main" label="RDL"/>
<feature id="com.minres.rdl.feature" version="0.0.0">
<category name="main"/>
</feature>
<feature id="com.minres.rdl.feature.source" version="0.0.0">
<category name="main.source"/>
</feature>
<category-def name="main" label="RDL"/>
<category-def name="main.source" label="RDL (Sources)"/>
</site>

View File

@ -7,6 +7,7 @@
<version>1.0.0-SNAPSHOT</version>
</parent>
<artifactId>com.minres.rdl.repository</artifactId>
<version>1.1.1-SNAPSHOT</version>
<packaging>eclipse-repository</packaging>
<build>

View File

@ -12,11 +12,7 @@
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
<attributes>
<attribute name="maven.pomderived" value="true"/>

View File

@ -1,5 +1,8 @@
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
org.eclipse.jdt.core.compiler.compliance=1.5
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
org.eclipse.jdt.core.compiler.compliance=1.8
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
org.eclipse.jdt.core.compiler.source=1.5
org.eclipse.jdt.core.compiler.source=1.8

View File

@ -1,25 +1,33 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?pde version="3.8"?><target name="com.minres.rdl.target" sequenceNumber="3">
<?pde version="3.8"?><target name="com.minres.rdl.target" sequenceNumber="1">
<locations>
<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="planner" includeSource="true" type="InstallableUnit">
<unit id="org.eclipse.emf.mwe2.launcher.feature.group" version="0.0.0"/>
<repository location="http://download.eclipse.org/modeling/emft/mwe/updates/releases/2.9.0/"/>
</location>
<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="planner" includeSource="true" type="InstallableUnit">
<unit id="org.eclipse.xtext.sdk.feature.group" version="0.0.0"/>
<repository location="http://download.eclipse.org/modeling/tmf/xtext/updates/releases/2.12.0/"/>
</location>
<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="planner" includeSource="true" type="InstallableUnit">
<unit id="org.eclipse.equinox.sdk.feature.group" version="0.0.0"/>
<unit id="org.eclipse.jdt.feature.group" version="0.0.0"/>
<unit id="org.eclipse.platform.feature.group" version="0.0.0"/>
<unit id="org.eclipse.pde.feature.group" version="0.0.0"/>
<unit id="org.eclipse.draw2d.feature.group" version="0.0.0"/>
<unit id="org.eclipse.emf.sdk.feature.group" version="0.0.0"/>
<unit id="org.eclipse.equinox.executable.feature.group" version="0.0.0"/>
<unit id="org.eclipse.jdt.feature.group" version="0.0.0"/>
<unit id="org.eclipse.pde.feature.group" version="0.0.0"/>
<unit id="org.eclipse.platform.feature.group" version="0.0.0"/>
<unit id="org.eclipse.xpand" version="0.0.0"/>
<unit id="org.eclipse.xtend" version="0.0.0"/>
<unit id="org.eclipse.xtend.typesystem.emf" version="0.0.0"/>
<repository location="http://download.eclipse.org/releases/neon/201606221000/"/>
<repository location="http://download.eclipse.org/releases/photon"/>
</location>
<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="planner" includeSource="true" type="InstallableUnit">
<unit id="org.eclipse.emf.mwe2.launcher.feature.group" version="0.0.0"/>
<repository location="http://download.eclipse.org/modeling/emft/mwe/updates/releases/2.9.1/"/>
</location>
<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="planner" includeSource="true" type="InstallableUnit">
<unit id="org.eclipse.xtext.sdk.feature.group" version="0.0.0"/>
<repository location="http://download.eclipse.org/modeling/tmf/xtext/updates/releases/2.14.0/"/>
</location>
<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="planner" includeSource="true" type="InstallableUnit">
<unit id="com.google.gson" version="2.7.0.v20170129-0911"/>
<unit id="org.antlr.runtime" version="3.2.0.v201101311130"/>
<unit id="org.junit" version="4.12.0.v201504281640"/>
<unit id="org.objectweb.asm" version="6.1.1.v20180414-0329"/>
<unit id="org.objectweb.asm.tree" version="6.1.1.v20180414-0329"/>
<repository location="http://download.eclipse.org/tools/orbit/downloads/drops/S20180504181223/repository"/>
</location>
</locations>
</target>

View File

@ -3,6 +3,7 @@
<classpathentry kind="src" path="src"/>
<classpathentry kind="src" path="src-gen"/>
<classpathentry kind="src" path="xtend-gen"/>
<classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/4"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="output" path="target/classes"/>

View File

@ -1,4 +1,5 @@
Manifest-Version: 1.0
Automatic-Module-Name: com.minres.rdl.tests
Bundle-ManifestVersion: 2
Bundle-Name: com.minres.rdl.tests
Bundle-Vendor: My Company
@ -9,13 +10,7 @@ Require-Bundle: com.minres.rdl,
org.junit;bundle-version="4.12.0",
org.eclipse.xtext.testing,
org.eclipse.xtext.xbase.testing,
org.eclipse.xtext.xbase.lib
org.eclipse.xtext.xbase.lib;bundle-version="2.14.0"
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Export-Package: com.minres.rdl.tests;x-internal=true
Import-Package: org.hamcrest.core,
org.junit;version="4.5.0",
org.junit.runners.model;version="4.5.0",
org.junit.runner;version="4.5.0",
org.junit.runners;version="4.5.0",
org.junit.runner.manipulation;version="4.5.0",
org.junit.runner.notification;version="4.5.0"

View File

@ -1,5 +1,5 @@
/*
* generated by Xtext 2.12.0
* generated by Xtext 2.14.0
*/
package com.minres.rdl.tests;

View File

@ -1,5 +1,5 @@
/*
* generated by Xtext 2.12.0
* generated by Xtext 2.14.0
*/
package com.minres.rdl.tests
@ -21,9 +21,53 @@ class RDLParsingTest {
@Test
def void loadModel() {
val result = parseHelper.parse('''
Hello Xtext!
regfile uart_regs {
reg {
name="txdata";
desc="Transmit data register";
field {} data[7:0];
field {} full[31:31];
} txdata @0x00;
reg {
name="rxdata";
desc="Receive data register";
field {} data[7:0];
field {} empty[31:31];
}rxdata @0x04;
reg {
name="txctrl";
desc="Transmit control register";
field {} txen[1];
field {} nstop[1];
field {} txcnt[18:16];
}txctrl @0x08;
reg {
name="rxctrl";
desc="Receive control register";
field {} rxen[1];
field {} rxcnt[18:16];
}rxctrl @0x0C;
reg {
name="ie";
desc="UART interrupt enable";
field{} txwm[1];
field{} rxwm[1];
}ie @0x10;
reg {
name="ip";
desc="UART Interrupt pending";
field{} txwm[1];
field{} rxwm[1];
} ip @0x14;
reg {
name="div";
desc="Baud rate divisor";
field{} div[16];
} div @0x18;
};
''')
Assert.assertNotNull(result)
Assert.assertTrue(result.eResource.errors.isEmpty)
val errors = result.eResource.errors
Assert.assertTrue('''Unexpected errors: «errors.join(", ")»''', errors.isEmpty)
}
}

View File

@ -1,16 +1,19 @@
/**
* generated by Xtext 2.12.0
* generated by Xtext 2.14.0
*/
package com.minres.rdl.tests;
import com.google.inject.Inject;
import com.minres.rdl.rdl.Root;
import com.minres.rdl.tests.RDLInjectorProvider;
import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.xtend2.lib.StringConcatenation;
import org.eclipse.xtext.testing.InjectWith;
import org.eclipse.xtext.testing.XtextRunner;
import org.eclipse.xtext.testing.util.ParseHelper;
import org.eclipse.xtext.xbase.lib.Exceptions;
import org.eclipse.xtext.xbase.lib.IterableExtensions;
import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
@ -26,11 +29,144 @@ public class RDLParsingTest {
public void loadModel() {
try {
StringConcatenation _builder = new StringConcatenation();
_builder.append("Hello Xtext!");
_builder.append("regfile uart_regs {");
_builder.newLine();
_builder.append("\t");
_builder.append("reg {");
_builder.newLine();
_builder.append("\t\t");
_builder.append("name=\"txdata\";");
_builder.newLine();
_builder.append("\t\t");
_builder.append("desc=\"Transmit data register\";");
_builder.newLine();
_builder.append("\t\t");
_builder.append("field {} data[7:0];");
_builder.newLine();
_builder.append("\t\t");
_builder.append("field {} full[31:31];");
_builder.newLine();
_builder.append("\t");
_builder.append("} txdata @0x00;");
_builder.newLine();
_builder.append("\t");
_builder.append("reg {");
_builder.newLine();
_builder.append("\t\t");
_builder.append("name=\"rxdata\";");
_builder.newLine();
_builder.append("\t\t");
_builder.append("desc=\"Receive data register\";");
_builder.newLine();
_builder.append("\t\t");
_builder.append("field {} data[7:0];");
_builder.newLine();
_builder.append("\t\t");
_builder.append("field {} empty[31:31];");
_builder.newLine();
_builder.append("\t");
_builder.append("}rxdata @0x04;");
_builder.newLine();
_builder.append("\t");
_builder.append("reg {");
_builder.newLine();
_builder.append("\t\t");
_builder.append("name=\"txctrl\";");
_builder.newLine();
_builder.append("\t\t");
_builder.append("desc=\"Transmit control register\";");
_builder.newLine();
_builder.append("\t\t");
_builder.append("field {} txen[1];");
_builder.newLine();
_builder.append("\t\t");
_builder.append("field {} nstop[1];");
_builder.newLine();
_builder.append("\t\t");
_builder.append("field {} txcnt[18:16];");
_builder.newLine();
_builder.append("\t");
_builder.append("}txctrl @0x08;");
_builder.newLine();
_builder.append("\t");
_builder.append("reg {");
_builder.newLine();
_builder.append("\t\t");
_builder.append("name=\"rxctrl\";");
_builder.newLine();
_builder.append("\t\t");
_builder.append("desc=\"Receive control register\";");
_builder.newLine();
_builder.append("\t\t");
_builder.append("field {} rxen[1];");
_builder.newLine();
_builder.append("\t\t");
_builder.append("field {} rxcnt[18:16];");
_builder.newLine();
_builder.append("\t");
_builder.append("}rxctrl @0x0C;");
_builder.newLine();
_builder.append("\t");
_builder.append("reg {");
_builder.newLine();
_builder.append("\t\t");
_builder.append("name=\"ie\";");
_builder.newLine();
_builder.append("\t\t");
_builder.append("desc=\"UART interrupt enable\";");
_builder.newLine();
_builder.append("\t\t");
_builder.append("field{} txwm[1];");
_builder.newLine();
_builder.append("\t\t");
_builder.append("field{} rxwm[1];");
_builder.newLine();
_builder.append("\t");
_builder.append("}ie @0x10;");
_builder.newLine();
_builder.append("\t");
_builder.append("reg {");
_builder.newLine();
_builder.append("\t\t");
_builder.append("name=\"ip\";");
_builder.newLine();
_builder.append("\t\t");
_builder.append("desc=\"UART Interrupt pending\";");
_builder.newLine();
_builder.append("\t\t");
_builder.append("field{} txwm[1];");
_builder.newLine();
_builder.append("\t\t");
_builder.append("field{} rxwm[1];");
_builder.newLine();
_builder.append("\t");
_builder.append("} ip @0x14;");
_builder.newLine();
_builder.append("\t");
_builder.append("reg {");
_builder.newLine();
_builder.append("\t\t");
_builder.append("name=\"div\";");
_builder.newLine();
_builder.append("\t\t");
_builder.append("desc=\"Baud rate divisor\";");
_builder.newLine();
_builder.append("\t\t");
_builder.append("field{} div[16];");
_builder.newLine();
_builder.append("\t");
_builder.append("} div @0x18;");
_builder.newLine();
_builder.append("};");
_builder.newLine();
final Root result = this.parseHelper.parse(_builder);
Assert.assertNotNull(result);
Assert.assertTrue(result.eResource().getErrors().isEmpty());
final EList<Resource.Diagnostic> errors = result.eResource().getErrors();
StringConcatenation _builder_1 = new StringConcatenation();
_builder_1.append("Unexpected errors: ");
String _join = IterableExtensions.join(errors, ", ");
_builder_1.append(_join);
Assert.assertTrue(_builder_1.toString(), errors.isEmpty());
} catch (Throwable _e) {
throw Exceptions.sneakyThrow(_e);
}

View File

@ -3,6 +3,7 @@
<classpathentry kind="src" path="src"/>
<classpathentry kind="src" path="src-gen"/>
<classpathentry kind="src" path="xtend-gen"/>
<classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/4"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="output" path="target/classes"/>

View File

@ -1,4 +1,5 @@
Manifest-Version: 1.0
Automatic-Module-Name: com.minres.rdl.ui.tests
Bundle-ManifestVersion: 2
Bundle-Name: com.minres.rdl.ui.tests
Bundle-Vendor: My Company
@ -15,10 +16,4 @@ Require-Bundle: com.minres.rdl.ui,
org.eclipse.ui.workbench;resolution:=optional
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Export-Package: com.minres.rdl.ui.tests;x-internal=true
Import-Package: org.hamcrest.core,
org.junit;version="4.5.0",
org.junit.runners.model;version="4.5.0",
org.junit.runner;version="4.5.0",
org.junit.runners;version="4.5.0",
org.junit.runner.manipulation;version="4.5.0",
org.junit.runner.notification;version="4.5.0"

View File

@ -18,7 +18,6 @@
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-surefire-plugin</artifactId>
<version>${tycho-version}</version>
<configuration>
<failIfNoTests>false</failIfNoTests>
<useUIHarness>true</useUIHarness>
@ -45,18 +44,4 @@
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>testing-on-mac</id>
<activation>
<os>
<family>mac</family>
</os>
</activation>
<properties>
<tycho.testArgLine>-XstartOnFirstThread</tycho.testArgLine>
</properties>
</profile>
</profiles>
</project>

View File

@ -1,5 +1,5 @@
/*
* generated by Xtext 2.12.0
* generated by Xtext 2.14.0
*/
package com.minres.rdl.ui.tests;

View File

@ -1,8 +1,9 @@
Manifest-Version: 1.0
Automatic-Module-Name: com.minres.rdl.ui
Bundle-ManifestVersion: 2
Bundle-Name: com.minres.rdl.ui
Bundle-Vendor: My Company
Bundle-Version: 1.1.1.qualifier
Bundle-Vendor: MINRES Technologies GmbH
Bundle-Version: 1.2.0.qualifier
Bundle-SymbolicName: com.minres.rdl.ui; singleton:=true
Bundle-ActivationPolicy: lazy
Require-Bundle: com.minres.rdl,
@ -15,11 +16,13 @@ Require-Bundle: com.minres.rdl,
org.eclipse.ui,
org.eclipse.compare,
org.eclipse.xtext.builder,
org.eclipse.xtext.xbase.lib;bundle-version="2.14.0",
org.eclipse.xtend.lib;resolution:=optional,
org.eclipse.xtext.xbase.lib
org.eclipse.core.runtime,
org.eclipse.core.resources
Import-Package: org.apache.log4j
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Export-Package: com.minres.rdl.ui.internal,
com.minres.rdl.ui.quickfix,
com.minres.rdl.ui.contentassist
com.minres.rdl.ui.contentassist,
com.minres.rdl.ui.quickfix
Bundle-Activator: com.minres.rdl.ui.internal.RdlActivator

View File

@ -98,16 +98,12 @@
<keywordReference id="com.minres.rdl.ui.keyword_RDL"/>
</page>
<page category="com.minres.rdl.RDL"
class="com.minres.rdl.ui.preferences.RdlPreferencePage"
id="com.minres.rdl.ui.preferences.TextPreferencePage"
class="com.minres.rdl.ui.RDLExecutableExtensionFactory:com.minres.rdl.ui.preferences.RdlPreferencePage"
id="com.minres.rdl.RDL.preferences"
name="Generator">
<keywordReference id="com.minres.rdl.ui.keyword_RDL"/>
</page>
</extension>
<extension point="org.eclipse.core.runtime.preferences">
<initializer class="com.minres.rdl.preferences.PreferenceInitializer">
</initializer>
</extension>
<extension
point="org.eclipse.ui.propertyPages">
<page
@ -214,6 +210,15 @@
</activeWhen>
</handler>
</extension>
<extension point="org.eclipse.core.contenttype.contentTypes">
<content-type
base-type="org.eclipse.core.runtime.text"
file-extensions="rdl"
id="com.minres.rdl.RDL.contenttype"
name="RDL File"
priority="normal">
</content-type>
</extension>
<!-- adding resource factories -->
<extension
point="org.eclipse.emf.ecore.extension_parser">
@ -250,6 +255,15 @@
<super type="org.eclipse.xtext.ui.check.expensive"/>
<persistent value="true"/>
</extension>
<extension point="org.eclipse.ui.preferencePages">
<page
category="com.minres.rdl.RDL"
class="com.minres.rdl.ui.RDLExecutableExtensionFactory:org.eclipse.xtext.ui.validation.ValidatorPreferencePage"
id="com.minres.rdl.RDL.validator.preferencePage"
name="Errors/Warnings">
<keywordReference id="com.minres.rdl.ui.keyword_RDL"/>
</page>
</extension>
<extension point="org.eclipse.xtext.builder.participant">
<participant
class="com.minres.rdl.ui.RDLExecutableExtensionFactory:org.eclipse.xtext.builder.IXtextBuilderParticipant"
@ -398,12 +412,18 @@
class="com.minres.rdl.ui.RDLExecutableExtensionFactory:org.eclipse.xtext.ui.compare.InjectableViewerCreator"
extensions="rdl">
</viewer>
<contentTypeBinding
contentTypeId="com.minres.rdl.RDL.contenttype"
contentViewerId="com.minres.rdl.RDL.compare.contentViewers" />
</extension>
<extension point="org.eclipse.compare.contentMergeViewers">
<viewer id="com.minres.rdl.RDL.compare.contentMergeViewers"
class="com.minres.rdl.ui.RDLExecutableExtensionFactory:org.eclipse.xtext.ui.compare.InjectableViewerCreator"
extensions="rdl" label="RDL Compare">
</viewer>
<contentTypeBinding
contentTypeId="com.minres.rdl.RDL.contenttype"
contentMergeViewerId="com.minres.rdl.RDL.compare.contentMergeViewers" />
</extension>
<extension point="org.eclipse.ui.editors.documentProviders">
<provider id="com.minres.rdl.RDL.editors.documentProviders"
@ -417,4 +437,18 @@
type="text">
</fileTypes>
</extension>
<extension
point="org.eclipse.ui.newWizards">
<wizard
category="com.minres.category"
class="com.minres.rdl.ui.RDLExecutableExtensionFactory:com.minres.rdl.ui.wizard.RDLNewProjectWizard"
id="com.minres.rdl.ui.wizard.RDLNewProjectWizard"
name="RDL Project"
project="true">
</wizard>
<category
id="com.minres.category"
name="MINRES">
</category>
</extension>
</plugin>

View File

@ -18,5 +18,5 @@
</plugins>
</build>
<version>1.1.1-SNAPSHOT</version>
<version>1.2.0-SNAPSHOT</version>
</project>

View File

@ -1,5 +1,5 @@
/*
* generated by Xtext 2.12.0
* generated by Xtext 2.14.0
*/
package com.minres.rdl.ui;
@ -14,6 +14,8 @@ import com.minres.rdl.ui.labeling.RDLDescriptionLabelProvider;
import com.minres.rdl.ui.labeling.RDLLabelProvider;
import com.minres.rdl.ui.outline.RDLOutlineTreeProvider;
import com.minres.rdl.ui.quickfix.RDLQuickfixProvider;
import com.minres.rdl.ui.wizard.RDLProjectCreator;
import com.minres.rdl.validation.RDLValidatorConfigurationBlock;
import org.eclipse.compare.IViewerCreator;
import org.eclipse.core.resources.IWorkspaceRoot;
import org.eclipse.core.resources.ResourcesPlugin;
@ -76,6 +78,8 @@ import org.eclipse.xtext.ui.refactoring.ui.IRenameSupport;
import org.eclipse.xtext.ui.refactoring.ui.RefactoringPreferences;
import org.eclipse.xtext.ui.resource.ResourceServiceDescriptionLabelProvider;
import org.eclipse.xtext.ui.shared.Access;
import org.eclipse.xtext.ui.validation.AbstractValidatorConfigurationBlock;
import org.eclipse.xtext.ui.wizard.IProjectCreator;
/**
* Manual modifications go to {@link RDLUiModule}.
@ -133,6 +137,11 @@ public abstract class AbstractRDLUiModule extends DefaultUiModule {
binder.bind(InternalRDLLexer.class).toProvider(LexerProvider.create(InternalRDLLexer.class));
}
// contributed by org.eclipse.xtext.xtext.generator.validation.ValidatorFragment2
public Class<? extends AbstractValidatorConfigurationBlock> bindAbstractValidatorConfigurationBlock() {
return RDLValidatorConfigurationBlock.class;
}
// contributed by org.eclipse.xtext.xtext.generator.exporting.QualifiedNamesFragment2
public Class<? extends PrefixMatcher> bindPrefixMatcher() {
return FQNPrefixMatcher.class;
@ -210,6 +219,13 @@ public abstract class AbstractRDLUiModule extends DefaultUiModule {
return RDLProposalProvider.class;
}
// contributed by org.eclipse.xtext.xtext.generator.ui.refactoring.RefactorElementNameFragment2
public void configureIPreferenceStoreInitializer(Binder binder) {
binder.bind(IPreferenceStoreInitializer.class)
.annotatedWith(Names.named("RefactoringPreferences"))
.to(RefactoringPreferences.Initializer.class);
}
// contributed by org.eclipse.xtext.xtext.generator.ui.refactoring.RefactorElementNameFragment2
public Class<? extends IRenameStrategy> bindIRenameStrategy() {
return DefaultRenameStrategy.class;
@ -220,13 +236,6 @@ public abstract class AbstractRDLUiModule extends DefaultUiModule {
return DefaultReferenceUpdater.class;
}
// contributed by org.eclipse.xtext.xtext.generator.ui.refactoring.RefactorElementNameFragment2
public void configureIPreferenceStoreInitializer(Binder binder) {
binder.bind(IPreferenceStoreInitializer.class)
.annotatedWith(Names.named("RefactoringPreferences"))
.to(RefactoringPreferences.Initializer.class);
}
// contributed by org.eclipse.xtext.xtext.generator.ui.refactoring.RefactorElementNameFragment2
public Class<? extends IRenameRefactoringProvider> bindIRenameRefactoringProvider() {
return DefaultRenameRefactoringProvider.class;
@ -278,6 +287,11 @@ public abstract class AbstractRDLUiModule extends DefaultUiModule {
binder.bind(String.class).annotatedWith(Names.named(UIBindings.COMPARE_VIEWER_TITLE)).toInstance("RDL Compare");
}
// contributed by org.eclipse.xtext.xtext.generator.ui.projectWizard.SimpleProjectWizardFragment2
public Class<? extends IProjectCreator> bindIProjectCreator() {
return RDLProjectCreator.class;
}
// contributed by org.eclipse.xtext.xtext.generator.exporting.SimpleNamesFragment2
public Class<? extends IDependentElementsCalculator> bindIDependentElementsCalculator() {
return DefaultDependentElementsCalculator.class;

View File

@ -1,10 +1,11 @@
/*
* generated by Xtext 2.12.0
* generated by Xtext 2.14.0
*/
package com.minres.rdl.ui;
import com.google.inject.Injector;
import com.minres.rdl.ui.internal.RdlActivator;
import org.eclipse.core.runtime.Platform;
import org.eclipse.xtext.ui.guice.AbstractGuiceAwareExecutableExtensionFactory;
import org.osgi.framework.Bundle;
@ -16,12 +17,13 @@ public class RDLExecutableExtensionFactory extends AbstractGuiceAwareExecutableE
@Override
protected Bundle getBundle() {
return RdlActivator.getInstance().getBundle();
return Platform.getBundle(RdlActivator.PLUGIN_ID);
}
@Override
protected Injector getInjector() {
return RdlActivator.getInstance().getInjector(RdlActivator.COM_MINRES_RDL_RDL);
RdlActivator activator = RdlActivator.getInstance();
return activator != null ? activator.getInjector(RdlActivator.COM_MINRES_RDL_RDL) : null;
}
}

View File

@ -1,5 +1,5 @@
/*
* generated by Xtext 2.12.0
* generated by Xtext 2.14.0
*/
package com.minres.rdl.ui.contentassist;

View File

@ -1,12 +1,11 @@
/*
* generated by Xtext 2.12.0
* generated by Xtext 2.14.0
*/
package com.minres.rdl.ui.internal;
import com.google.common.collect.Maps;
import com.google.inject.Guice;
import com.google.inject.Injector;
import com.google.inject.Module;
import com.minres.rdl.RDLRuntimeModule;
import com.minres.rdl.ui.RDLUiModule;
import java.util.Collections;
@ -23,6 +22,7 @@ import org.osgi.framework.BundleContext;
*/
public class RdlActivator extends AbstractUIPlugin {
public static final String PLUGIN_ID = "com.minres.rdl.ui";
public static final String COM_MINRES_RDL_RDL = "com.minres.rdl.RDL";
private static final Logger logger = Logger.getLogger(RdlActivator.class);
@ -60,10 +60,10 @@ public class RdlActivator extends AbstractUIPlugin {
protected Injector createInjector(String language) {
try {
Module runtimeModule = getRuntimeModule(language);
Module sharedStateModule = getSharedStateModule();
Module uiModule = getUiModule(language);
Module mergedModule = Modules2.mixin(runtimeModule, sharedStateModule, uiModule);
com.google.inject.Module runtimeModule = getRuntimeModule(language);
com.google.inject.Module sharedStateModule = getSharedStateModule();
com.google.inject.Module uiModule = getUiModule(language);
com.google.inject.Module mergedModule = Modules2.mixin(runtimeModule, sharedStateModule, uiModule);
return Guice.createInjector(mergedModule);
} catch (Exception e) {
logger.error("Failed to create injector for " + language);
@ -72,22 +72,23 @@ public class RdlActivator extends AbstractUIPlugin {
}
}
protected Module getRuntimeModule(String grammar) {
protected com.google.inject.Module getRuntimeModule(String grammar) {
if (COM_MINRES_RDL_RDL.equals(grammar)) {
return new RDLRuntimeModule();
}
throw new IllegalArgumentException(grammar);
}
protected Module getUiModule(String grammar) {
protected com.google.inject.Module getUiModule(String grammar) {
if (COM_MINRES_RDL_RDL.equals(grammar)) {
return new RDLUiModule(this);
}
throw new IllegalArgumentException(grammar);
}
protected Module getSharedStateModule() {
protected com.google.inject.Module getSharedStateModule() {
return new SharedStateModule();
}
}

View File

@ -0,0 +1,55 @@
/*
* generated by Xtext 2.14.0
*/
package com.minres.rdl.ui.wizard;
import org.eclipse.xtext.ui.wizard.XtextNewProjectWizard;
import org.eclipse.xtext.ui.wizard.IExtendedProjectInfo;
import org.eclipse.xtext.ui.wizard.IProjectCreator;
import com.google.inject.Inject;
public class RDLNewProjectWizard extends XtextNewProjectWizard {
private RDLWizardNewProjectCreationPage mainPage;
@Inject
public RDLNewProjectWizard(IProjectCreator projectCreator) {
super(projectCreator);
setWindowTitle("New RDL Project");
}
protected RDLWizardNewProjectCreationPage getMainPage() {
return mainPage;
}
/**
* Use this method to add pages to the wizard.
* The one-time generated version of this class will add a default new project page to the wizard.
*/
@Override
public void addPages() {
mainPage = createMainPage("basicNewProjectPage");
mainPage.setTitle("RDL Project");
mainPage.setDescription("Create a new RDL project.");
addPage(mainPage);
}
protected RDLWizardNewProjectCreationPage createMainPage(String pageName) {
return new RDLWizardNewProjectCreationPage(pageName);
}
/**
* Use this method to read the project settings from the wizard pages and feed them into the project info class.
*/
@Override
protected IExtendedProjectInfo getProjectInfo() {
RDLProjectInfo projectInfo = new RDLProjectInfo();
projectInfo.setProjectName(mainPage.getProjectName());
if (!mainPage.useDefaults()) {
projectInfo.setLocationPath(mainPage.getLocationPath());
}
return projectInfo;
}
}

View File

@ -0,0 +1,98 @@
/*
* generated by Xtext 2.14.0
*/
package com.minres.rdl.ui.wizard;
import org.eclipse.xtext.ui.wizard.AbstractPluginProjectCreator;
import java.util.HashMap;
import java.util.List;
import java.util.Set;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.IResource;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.xtext.builder.EclipseResourceFileSystemAccess2;
import org.eclipse.xtext.generator.IFileSystemAccess;
import org.eclipse.xtext.generator.IFileSystemAccess2;
import org.eclipse.xtext.generator.IOutputConfigurationProvider;
import org.eclipse.xtext.generator.OutputConfiguration;
import org.eclipse.xtext.ui.util.PluginProjectFactory;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.Lists;
import com.google.inject.Inject;
import com.google.inject.Provider;
public class RDLProjectCreator extends AbstractPluginProjectCreator {
protected static final String DSL_PROJECT_NAME = "com.minres.rdl";
@Inject
private RDLNewProjectWizardInitialContents initialContents;
@Inject
private Provider<EclipseResourceFileSystemAccess2> fileSystemAccessProvider;
@Inject
private IOutputConfigurationProvider outputConfigurationProvider;
@Override
protected PluginProjectFactory createProjectFactory() {
PluginProjectFactory projectFactory = super.createProjectFactory();
projectFactory.setWithPluginXml(false);
return projectFactory;
}
@Override
protected RDLProjectInfo getProjectInfo() {
return (RDLProjectInfo) super.getProjectInfo();
}
@Override
protected String getModelFolderName() {
return "src";
}
@Override
protected List<String> getAllFolders() {
Set<OutputConfiguration> outputConfigurations = outputConfigurationProvider.getOutputConfigurations();
String outputFolder = "src-gen";
for (OutputConfiguration outputConfiguration : outputConfigurations) {
if (IFileSystemAccess.DEFAULT_OUTPUT.equals(outputConfiguration.getName())) {
outputFolder = outputConfiguration.getOutputDirectory();
break;
}
}
return ImmutableList.of(getModelFolderName(), outputFolder);
}
@Override
protected List<String> getRequiredBundles() {
return Lists.newArrayList(DSL_PROJECT_NAME);
}
@Override
protected void enhanceProject(final IProject project, final IProgressMonitor monitor) throws CoreException {
IFileSystemAccess2 access = getFileSystemAccess(project, monitor);
initialContents.generateInitialContents(access);
project.refreshLocal(IResource.DEPTH_INFINITE, monitor);
}
protected IFileSystemAccess2 getFileSystemAccess(final IProject project, final IProgressMonitor monitor) {
EclipseResourceFileSystemAccess2 access = fileSystemAccessProvider.get();
access.setContext(project);
access.setMonitor(monitor);
OutputConfiguration defaultOutput = new OutputConfiguration(IFileSystemAccess.DEFAULT_OUTPUT);
defaultOutput.setDescription("Output Folder");
defaultOutput.setOutputDirectory("./");
defaultOutput.setOverrideExistingResources(true);
defaultOutput.setCreateOutputDirectory(true);
defaultOutput.setCleanUpDerivedResources(false);
defaultOutput.setSetDerivedProperty(false);
defaultOutput.setKeepLocalHistory(false);
HashMap<String, OutputConfiguration> outputConfigurations = new HashMap<String, OutputConfiguration>();
outputConfigurations.put(IFileSystemAccess.DEFAULT_OUTPUT, defaultOutput);
access.setOutputConfigurations(outputConfigurations);
return access;
}
}

View File

@ -0,0 +1,65 @@
/*
* generated by Xtext 2.14.0
*/
package com.minres.rdl.validation;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.ResourcesPlugin;
import org.eclipse.core.runtime.jobs.Job;
import org.eclipse.jface.dialogs.IDialogSettings;
import org.eclipse.swt.widgets.Combo;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.xtext.ui.preferences.OptionsConfigurationBlock;
import org.eclipse.xtext.ui.validation.AbstractValidatorConfigurationBlock;
import org.eclipse.xtext.validation.SeverityConverter;
@SuppressWarnings("restriction")
public class RDLValidatorConfigurationBlock extends AbstractValidatorConfigurationBlock {
@Override
protected void fillSettingsPage(Composite composite, int nColumns, int defaultIndent) {
addComboBox(RDLConfigurableIssueCodesProvider.DEPRECATED_MODEL_PART, "Deprecated Model Part", composite, defaultIndent);
}
@Override
protected Job getBuildJob(IProject project) {
Job buildJob = new OptionsConfigurationBlock.BuildJob("Validation Settings Changed", project);
buildJob.setRule(ResourcesPlugin.getWorkspace().getRuleFactory().buildRule());
buildJob.setUser(true);
return buildJob;
}
@Override
protected String[] getFullBuildDialogStrings(boolean workspaceSettings) {
return new String[] { "Validation Settings Changed",
"Validation settings have changed. A full rebuild is required for changes to take effect. Do the full build now?" };
}
@Override
protected void validateSettings(String changedKey, String oldValue, String newValue) {
}
protected Combo addComboBox(String prefKey, String label, Composite parent, int indent) {
String[] values = new String[] { SeverityConverter.SEVERITY_ERROR, SeverityConverter.SEVERITY_WARNING,
SeverityConverter.SEVERITY_INFO, SeverityConverter.SEVERITY_IGNORE };
String[] valueLabels = new String[] { "Error", "Warning", "Info", "Ignore" };
Combo comboBox = addComboBox(parent, label, prefKey, indent, values, valueLabels);
return comboBox;
}
@Override
public void dispose() {
storeSectionExpansionStates(getDialogSettings());
super.dispose();
}
@Override
protected IDialogSettings getDialogSettings() {
IDialogSettings dialogSettings = super.getDialogSettings();
IDialogSettings section = dialogSettings.getSection("RDL");
if (section == null) {
return dialogSettings.addNewSection("RDL");
}
return section;
}
}

View File

@ -0,0 +1,17 @@
package com.minres.rdl.ui;
import org.eclipse.xtext.ui.XtextProjectHelper;
import com.minres.rdl.ui.wizard.RDLProjectCreator;
public class JDTFreeStructuralProjectCreator extends RDLProjectCreator {
@Override
protected String[] getProjectNatures() {
return new String[] {XtextProjectHelper.NATURE_ID};
}
@Override
protected String[] getBuilders() {
return new String[] {XtextProjectHelper.BUILDER_ID};
}
}

View File

@ -1,11 +1,18 @@
/*
* generated by Xtext 2.12.0
* generated by Xtext 2.14.0
*/
package com.minres.rdl.ui
import org.eclipse.xtend.lib.annotations.FinalFieldsConstructor
import org.eclipse.xtext.ui.editor.hover.IEObjectHoverProvider
import org.eclipse.xtext.documentation.IEObjectDocumentationProvider
import org.eclipse.xtext.ui.wizard.IProjectCreator
import org.eclipse.xtext.ui.resource.IResourceSetProvider
import org.eclipse.xtext.ui.resource.SimpleResourceSetProvider
import org.eclipse.xtext.ui.editor.hyperlinking.HyperlinkHelper
import com.minres.structural.ui.hyperlink.MyHyperlinkHelper
import org.eclipse.xtext.ui.editor.hyperlinking.XtextHyperlink
import com.minres.structural.ui.hyperlink.MyXtextHyperlink
/**
* Use this class to register components to be used within the Eclipse IDE.
@ -21,4 +28,20 @@ class RDLUiModule extends AbstractRDLUiModule {
typeof(RDLEObjectDocumentationProvider);
}
override Class<? extends IProjectCreator> bindIProjectCreator() {
return JDTFreeStructuralProjectCreator;
}
override Class<? extends IResourceSetProvider> bindIResourceSetProvider() {
return SimpleResourceSetProvider
}
def Class<? extends HyperlinkHelper> bindHyperlinkHelper() {
return MyHyperlinkHelper
}
def Class<? extends XtextHyperlink> bindHyperlink() {
return MyXtextHyperlink
}
}

View File

@ -1,5 +1,5 @@
/*
* generated by Xtext 2.12.0
* generated by Xtext 2.14.0
*/
package com.minres.rdl.ui.contentassist

View File

@ -1,5 +1,5 @@
/*
* generated by Xtext 2.12.0
* generated by Xtext 2.14.0
*/
package com.minres.rdl.ui.labeling

View File

@ -1,5 +1,5 @@
/*
* generated by Xtext 2.12.0
* generated by Xtext 2.14.0
*/
package com.minres.rdl.ui.labeling

View File

@ -1,5 +1,5 @@
/*
* generated by Xtext 2.12.0
* generated by Xtext 2.14.0
*/
package com.minres.rdl.ui.outline

View File

@ -1,5 +1,5 @@
/*
* generated by Xtext 2.12.0
* generated by Xtext 2.14.0
*/
package com.minres.rdl.ui.quickfix

View File

@ -0,0 +1,26 @@
/*
* generated by Xtext 2.14.0
*/
package com.minres.rdl.ui.wizard
import com.google.inject.Inject
import org.eclipse.xtext.generator.IFileSystemAccess2
import org.eclipse.xtext.resource.FileExtensionProvider
class RDLNewProjectWizardInitialContents {
@Inject
FileExtensionProvider fileExtensionProvider
def generateInitialContents(IFileSystemAccess2 fsa) {
fsa.generateFile(
"src/model/Model." + fileExtensionProvider.primaryFileExtension,
'''
/*
* This is an example model
*/
Hello Xtext!
'''
)
}
}

View File

@ -0,0 +1,10 @@
/*
* generated by Xtext 2.14.0
*/
package com.minres.rdl.ui.wizard;
import org.eclipse.xtext.ui.wizard.DefaultProjectInfo;
public class RDLProjectInfo extends DefaultProjectInfo {
}

View File

@ -0,0 +1,14 @@
/*
* generated by Xtext 2.14.0
*/
package com.minres.rdl.ui.wizard;
import org.eclipse.ui.dialogs.WizardNewProjectCreationPage;
public class RDLWizardNewProjectCreationPage extends WizardNewProjectCreationPage {
public RDLWizardNewProjectCreationPage(String pageName) {
super(pageName);
}
}

View File

@ -0,0 +1,52 @@
package com.minres.structural.ui.hyperlink
import com.google.inject.Inject
import org.eclipse.emf.common.util.URI
import org.eclipse.emf.ecore.util.EcoreUtil
import org.eclipse.jface.text.Region
import org.eclipse.xtext.EcoreUtil2
import org.eclipse.xtext.nodemodel.util.NodeModelUtils
import org.eclipse.xtext.resource.XtextResource
import org.eclipse.xtext.scoping.impl.ImportUriResolver
import org.eclipse.xtext.ui.editor.hyperlinking.HyperlinkHelper
import org.eclipse.xtext.ui.editor.hyperlinking.IHyperlinkAcceptor
import org.eclipse.xtext.util.TextRegion
class MyHyperlinkHelper extends HyperlinkHelper {
@Inject ImportUriResolver resolver;
override createHyperlinksByOffset(XtextResource resource, int offset, IHyperlinkAcceptor acceptor) {
val region = new TextRegion(offset, 0)
val crossRefNode = getEObjectAtOffsetHelper().getCrossReferenceNode(resource, region);
if (crossRefNode === null){
val parseResult = resource.getParseResult();
if (parseResult !== null) {
val leaf = NodeModelUtils.findLeafNodeAtOffset(parseResult.getRootNode(), region.getOffset());
//val rule = EcoreUtil2.getContainerOfType(leaf.grammarElement, AbstractRule);
val semObj = NodeModelUtils.findActualSemanticObjectFor(leaf);
val importURI = resolver.resolve(semObj);
if (importURI !== null && EcoreUtil2.isValidUri(semObj, URI.createURI(importURI))) {
val referencedResource = EcoreUtil2.getResource(resource, importURI)
if(referencedResource !== null && referencedResource.contents.size>0){
val top = referencedResource.contents.get(0)
val textRegion = leaf.getTextRegion();
val uri = EcoreUtil.getURI(top);
val result = hyperlinkProvider.get();
result.setHyperlinkRegion(new Region(textRegion.getOffset(), textRegion.getLength()));
result.setURI(if(uri.isPlatformResource()) uri else resource.getResourceSet().getURIConverter().normalize(uri));
result.setHyperlinkText(labelProvider.getText(top));
if(result instanceof MyXtextHyperlink) result.selectTarget=false
acceptor.accept(result);
}
}
}
} else {
val crossLinkedEObject = getEObjectAtOffsetHelper().getCrossReferencedElement(crossRefNode);
if (crossLinkedEObject !== null && !crossLinkedEObject.eIsProxy()) {
createHyperlinksTo(resource, crossRefNode, crossLinkedEObject, acceptor);
}
}
}
}

View File

@ -0,0 +1,24 @@
package com.minres.structural.ui.hyperlink
import com.google.inject.Inject
import org.eclipse.xtext.ui.editor.IURIEditorOpener
import org.eclipse.xtext.ui.editor.hyperlinking.XtextHyperlink
class MyXtextHyperlink extends XtextHyperlink {
var boolean select = true
@Inject var IURIEditorOpener uriEditorOpener;
override void open() {
uriEditorOpener.open(getURI(), select);
}
def boolean getSelectTarget(){
return select
}
def void setSelectTarget(boolean select){
this.select=select
}
}

View File

@ -1,15 +1,23 @@
/**
* generated by Xtext 2.12.0
* generated by Xtext 2.14.0
*/
package com.minres.rdl.ui;
import com.minres.rdl.ui.AbstractRDLUiModule;
import com.minres.rdl.ui.JDTFreeStructuralProjectCreator;
import com.minres.rdl.ui.RDLEObjectDocumentationProvider;
import com.minres.rdl.ui.RDLEObjectHoverProvider;
import com.minres.structural.ui.hyperlink.MyHyperlinkHelper;
import com.minres.structural.ui.hyperlink.MyXtextHyperlink;
import org.eclipse.ui.plugin.AbstractUIPlugin;
import org.eclipse.xtend.lib.annotations.FinalFieldsConstructor;
import org.eclipse.xtext.documentation.IEObjectDocumentationProvider;
import org.eclipse.xtext.ui.editor.hover.IEObjectHoverProvider;
import org.eclipse.xtext.ui.editor.hyperlinking.HyperlinkHelper;
import org.eclipse.xtext.ui.editor.hyperlinking.XtextHyperlink;
import org.eclipse.xtext.ui.resource.IResourceSetProvider;
import org.eclipse.xtext.ui.resource.SimpleResourceSetProvider;
import org.eclipse.xtext.ui.wizard.IProjectCreator;
/**
* Use this class to register components to be used within the Eclipse IDE.
@ -25,6 +33,24 @@ public class RDLUiModule extends AbstractRDLUiModule {
return RDLEObjectDocumentationProvider.class;
}
@Override
public Class<? extends IProjectCreator> bindIProjectCreator() {
return JDTFreeStructuralProjectCreator.class;
}
@Override
public Class<? extends IResourceSetProvider> bindIResourceSetProvider() {
return SimpleResourceSetProvider.class;
}
public Class<? extends HyperlinkHelper> bindHyperlinkHelper() {
return MyHyperlinkHelper.class;
}
public Class<? extends XtextHyperlink> bindHyperlink() {
return MyXtextHyperlink.class;
}
public RDLUiModule(final AbstractUIPlugin arg0) {
super(arg0);
}

View File

@ -1,5 +1,5 @@
/**
* generated by Xtext 2.12.0
* generated by Xtext 2.14.0
*/
package com.minres.rdl.ui.contentassist;

View File

@ -1,5 +1,5 @@
/**
* generated by Xtext 2.12.0
* generated by Xtext 2.14.0
*/
package com.minres.rdl.ui.labeling;

View File

@ -1,5 +1,5 @@
/**
* generated by Xtext 2.12.0
* generated by Xtext 2.14.0
*/
package com.minres.rdl.ui.labeling;

View File

@ -1,5 +1,5 @@
/**
* generated by Xtext 2.12.0
* generated by Xtext 2.14.0
*/
package com.minres.rdl.ui.outline;

View File

@ -1,5 +1,5 @@
/**
* generated by Xtext 2.12.0
* generated by Xtext 2.14.0
*/
package com.minres.rdl.ui.quickfix;

View File

@ -0,0 +1,32 @@
/**
* generated by Xtext 2.14.0
*/
package com.minres.rdl.ui.wizard;
import com.google.inject.Inject;
import org.eclipse.xtend2.lib.StringConcatenation;
import org.eclipse.xtext.generator.IFileSystemAccess2;
import org.eclipse.xtext.resource.FileExtensionProvider;
@SuppressWarnings("all")
public class RDLNewProjectWizardInitialContents {
@Inject
private FileExtensionProvider fileExtensionProvider;
public void generateInitialContents(final IFileSystemAccess2 fsa) {
String _primaryFileExtension = this.fileExtensionProvider.getPrimaryFileExtension();
String _plus = ("src/model/Model." + _primaryFileExtension);
StringConcatenation _builder = new StringConcatenation();
_builder.append("/*");
_builder.newLine();
_builder.append(" ");
_builder.append("* This is an example model");
_builder.newLine();
_builder.append(" ");
_builder.append("*/");
_builder.newLine();
_builder.append("Hello Xtext!");
_builder.newLine();
fsa.generateFile(_plus, _builder);
}
}

View File

@ -0,0 +1,72 @@
package com.minres.structural.ui.hyperlink;
import com.google.inject.Inject;
import com.minres.structural.ui.hyperlink.MyXtextHyperlink;
import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.jface.text.Region;
import org.eclipse.xtext.EcoreUtil2;
import org.eclipse.xtext.nodemodel.ILeafNode;
import org.eclipse.xtext.nodemodel.INode;
import org.eclipse.xtext.nodemodel.util.NodeModelUtils;
import org.eclipse.xtext.parser.IParseResult;
import org.eclipse.xtext.resource.XtextResource;
import org.eclipse.xtext.scoping.impl.ImportUriResolver;
import org.eclipse.xtext.ui.editor.hyperlinking.HyperlinkHelper;
import org.eclipse.xtext.ui.editor.hyperlinking.IHyperlinkAcceptor;
import org.eclipse.xtext.ui.editor.hyperlinking.XtextHyperlink;
import org.eclipse.xtext.util.ITextRegion;
import org.eclipse.xtext.util.TextRegion;
@SuppressWarnings("all")
public class MyHyperlinkHelper extends HyperlinkHelper {
@Inject
private ImportUriResolver resolver;
@Override
public void createHyperlinksByOffset(final XtextResource resource, final int offset, final IHyperlinkAcceptor acceptor) {
final TextRegion region = new TextRegion(offset, 0);
final INode crossRefNode = this.getEObjectAtOffsetHelper().getCrossReferenceNode(resource, region);
if ((crossRefNode == null)) {
final IParseResult parseResult = resource.getParseResult();
if ((parseResult != null)) {
final ILeafNode leaf = NodeModelUtils.findLeafNodeAtOffset(parseResult.getRootNode(), region.getOffset());
final EObject semObj = NodeModelUtils.findActualSemanticObjectFor(leaf);
final String importURI = this.resolver.resolve(semObj);
if (((importURI != null) && EcoreUtil2.isValidUri(semObj, URI.createURI(importURI)))) {
final Resource referencedResource = EcoreUtil2.getResource(resource, importURI);
if (((referencedResource != null) && (referencedResource.getContents().size() > 0))) {
final EObject top = referencedResource.getContents().get(0);
final ITextRegion textRegion = leaf.getTextRegion();
final URI uri = EcoreUtil.getURI(top);
final XtextHyperlink result = this.getHyperlinkProvider().get();
int _offset = textRegion.getOffset();
int _length = textRegion.getLength();
Region _region = new Region(_offset, _length);
result.setHyperlinkRegion(_region);
URI _xifexpression = null;
boolean _isPlatformResource = uri.isPlatformResource();
if (_isPlatformResource) {
_xifexpression = uri;
} else {
_xifexpression = resource.getResourceSet().getURIConverter().normalize(uri);
}
result.setURI(_xifexpression);
result.setHyperlinkText(this.getLabelProvider().getText(top));
if ((result instanceof MyXtextHyperlink)) {
((MyXtextHyperlink)result).setSelectTarget(false);
}
acceptor.accept(result);
}
}
}
} else {
final EObject crossLinkedEObject = this.getEObjectAtOffsetHelper().getCrossReferencedElement(crossRefNode);
if (((crossLinkedEObject != null) && (!crossLinkedEObject.eIsProxy()))) {
this.createHyperlinksTo(resource, crossRefNode, crossLinkedEObject, acceptor);
}
}
}
}

View File

@ -0,0 +1,26 @@
package com.minres.structural.ui.hyperlink;
import com.google.inject.Inject;
import org.eclipse.xtext.ui.editor.IURIEditorOpener;
import org.eclipse.xtext.ui.editor.hyperlinking.XtextHyperlink;
@SuppressWarnings("all")
public class MyXtextHyperlink extends XtextHyperlink {
private boolean select = true;
@Inject
private IURIEditorOpener uriEditorOpener;
@Override
public void open() {
this.uriEditorOpener.open(this.getURI(), this.select);
}
public boolean getSelectTarget() {
return this.select;
}
public void setSelectTarget(final boolean select) {
this.select = select;
}
}

View File

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="src" path="src-gen"/>
<classpathentry kind="src" path="xtend-gen"/>
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
<classpathentry kind="output" path="target/classes"/>
</classpath>

View File

@ -0,0 +1,29 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>com.minres.rdl.web</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.m2e.core.maven2Builder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.xtext.ui.shared.xtextBuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.m2e.core.maven2Nature</nature>
<nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
</projectDescription>

View File

@ -0,0 +1,2 @@
eclipse.preferences.version=1
encoding/<project>=UTF-8

View File

@ -0,0 +1,7 @@
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
org.eclipse.jdt.core.compiler.compliance=1.8
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.source=1.8

View File

@ -0,0 +1,44 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="Content-Language" content="en-us">
<title>Example Web Editor</title>
<link rel="stylesheet" type="text/css" href="xtext/2.14.0/xtext-ace.css"/>
<link rel="stylesheet" type="text/css" href="style.css"/>
<script src="webjars/requirejs/2.3.2/require.min.js"></script>
<script type="text/javascript">
var baseUrl = window.location.pathname;
var fileIndex = baseUrl.indexOf("index.html");
if (fileIndex > 0)
baseUrl = baseUrl.slice(0, fileIndex);
require.config({
baseUrl: baseUrl,
paths: {
"jquery": "webjars/jquery/2.2.4/jquery.min",
"ace/ext/language_tools": "webjars/ace/1.2.3/src/ext-language_tools",
"xtext/xtext-ace": "xtext/2.14.0/xtext-ace"
}
});
require(["webjars/ace/1.2.3/src/ace"], function() {
require(["xtext/xtext-ace"], function(xtext) {
xtext.createEditor({
baseUrl: baseUrl,
syntaxDefinition: "xtext-resources/generated/mode-rdl"
});
});
});
</script>
</head>
<body>
<div class="container">
<div class="header">
<h1>Example RDL Web Editor</h1>
</div>
<div class="content">
<div id="xtext-editor" data-editor-xtext-lang="rdl"></div>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,56 @@
body {
width: 100%;
height: 100%;
overflow: hidden;
font: 16px Helvetica,sans-serif;
}
a {
color: #22a;
text-decoration: none;
}
a:hover {
text-decoration: underline;
}
.container {
display: block;
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
margin: 20px;
}
.header {
display: block;
position: absolute;
background-color: #e8e8e8;
top: 0;
left: 0;
right: 0;
height: 60px;
padding: 10px;
}
.content {
display: block;
position: absolute;
top: 90px;
bottom: 0;
left: 0;
width: 640px;
}
#xtext-editor {
display: block;
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
padding: 4px;
border: 1px solid #aaa;
}

View File

@ -0,0 +1,26 @@
define(["ace/lib/oop", "ace/mode/text", "ace/mode/text_highlight_rules"], function(oop, mText, mTextHighlightRules) {
var HighlightRules = function() {
var keywords = "UNDEFINED|UNSPECIFIED|accesswidth|activehigh|activelow|addressing|addrmap|alias|alignment|all|anded|arbiter|async|bigendian|boolean|bothedge|bridge|clock|compact|component|counter|cpuif_reset|decr|decrsaturate|decrthreshold|decrvalue|decrwidth|default|desc|dontcompare|donttest|enable|encode|enum|errextbus|external|false|field|field_reset|fieldwidth|fullalign|halt|haltenable|haltmask|hw|hwclr|hwenable|hwmask|hwset|incr|incrvalue|incrwidth|internal|intr|level|littleendian|lsb0|mask|msb0|na|name|negedge|next|nonsticky|number|ored|overflow|posedge|precedence|property|r|rclr|ref|reg|regalign|regfile|regwidth|reset|resetsignal|rset|rsvdset|rsvdsetX|rw|saturate|shared|sharedextbus|signal|signalwidth|singlepulse|sticky|stickybit|string|sw|swacc|swmod|swwe|swwel|sync|threshold|true|type|underflow|w|we|wel|woclr|woset|wr|xored";
this.$rules = {
"start": [
{token: "lparen", regex: "[\\[{]"},
{token: "rparen", regex: "[\\]}]"},
{token: "keyword", regex: "\\b(?:" + keywords + ")\\b"}
]
};
};
oop.inherits(HighlightRules, mTextHighlightRules.TextHighlightRules);
var Mode = function() {
this.HighlightRules = HighlightRules;
};
oop.inherits(Mode, mText.Mode);
Mode.prototype.$id = "xtext/rdl";
Mode.prototype.getCompletions = function(state, session, pos, prefix) {
return [];
}
return {
Mode: Mode
};
});

View File

@ -0,0 +1,129 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.minres.rdl</groupId>
<artifactId>com.minres.rdl.parent</artifactId>
<version>1.0.0-SNAPSHOT</version>
</parent>
<artifactId>com.minres.rdl.web</artifactId>
<packaging>war</packaging>
<build>
<sourceDirectory>src</sourceDirectory>
<resources>
<resource>
<directory>src</directory>
<excludes>
<exclude>**/*.java</exclude>
<exclude>**/*.xtend</exclude>
</excludes>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.eclipse.xtend</groupId>
<artifactId>xtend-maven-plugin</artifactId>
</plugin>
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>3.2.0</version>
<configuration>
<warSourceDirectory>WebRoot</warSourceDirectory>
<failOnMissingWebXml>false</failOnMissingWebXml>
</configuration>
</plugin>
<plugin>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>9.4.9.v20180320</version>
<configuration>
<webAppSourceDirectory>WebRoot</webAppSourceDirectory>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>1.9.1</version>
<executions>
<execution>
<id>add-source</id>
<phase>initialize</phase>
<goals>
<goal>add-source</goal>
<goal>add-resource</goal>
</goals>
<configuration>
<sources>
<source>src-gen</source>
</sources>
<resources>
<resource>
<directory>src-gen</directory>
<excludes>
<exclude>**/*.java</exclude>
</excludes>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>com.minres.rdl</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>com.minres.rdl.ide</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.xtext</groupId>
<artifactId>org.eclipse.xtext.xbase.web</artifactId>
<version>${xtextVersion}</version>
</dependency>
<dependency>
<groupId>org.eclipse.xtext</groupId>
<artifactId>org.eclipse.xtext.web.servlet</artifactId>
<version>${xtextVersion}</version>
</dependency>
<dependency>
<groupId>org.eclipse.xtend</groupId>
<artifactId>org.eclipse.xtend.lib</artifactId>
<version>${xtextVersion}</version>
</dependency>
<dependency>
<groupId>org.webjars</groupId>
<artifactId>requirejs</artifactId>
<version>2.3.2</version>
</dependency>
<dependency>
<groupId>org.webjars</groupId>
<artifactId>jquery</artifactId>
<version>2.2.4</version>
</dependency>
<dependency>
<groupId>org.webjars</groupId>
<artifactId>ace</artifactId>
<version>1.2.3</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-annotations</artifactId>
<version>9.4.9.v20180320</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>1.7.21</version>
<scope>provided</scope>
</dependency>
</dependencies>
</project>

View File

@ -0,0 +1,14 @@
/*
* generated by Xtext 2.14.0
*/
package com.minres.rdl.web;
import org.eclipse.xtext.web.server.DefaultWebModule;
/**
* Manual modifications go to {@link RDLWebModule}.
*/
@SuppressWarnings("all")
public abstract class AbstractRDLWebModule extends DefaultWebModule {
}

View File

@ -0,0 +1,32 @@
/*
* generated by Xtext 2.14.0
*/
package com.minres.rdl.web
import javax.servlet.annotation.WebServlet
import org.eclipse.xtext.util.DisposableRegistry
import org.eclipse.xtext.web.servlet.XtextServlet
/**
* Deploy this class into a servlet container to enable DSL-specific services.
*/
@WebServlet(name = 'XtextServices', urlPatterns = '/xtext-service/*')
class RDLServlet extends XtextServlet {
DisposableRegistry disposableRegistry
override init() {
super.init()
val injector = new RDLWebSetup().createInjectorAndDoEMFRegistration()
disposableRegistry = injector.getInstance(DisposableRegistry)
}
override destroy() {
if (disposableRegistry !== null) {
disposableRegistry.dispose()
disposableRegistry = null
}
super.destroy()
}
}

View File

@ -0,0 +1,11 @@
/*
* generated by Xtext 2.14.0
*/
package com.minres.rdl.web
/**
* Use this class to register additional components to be used within the web application.
*/
class RDLWebModule extends AbstractRDLWebModule {
}

View File

@ -0,0 +1,22 @@
/*
* generated by Xtext 2.14.0
*/
package com.minres.rdl.web
import com.google.inject.Guice
import com.google.inject.Injector
import com.minres.rdl.RDLRuntimeModule
import com.minres.rdl.RDLStandaloneSetup
import com.minres.rdl.ide.RDLIdeModule
import org.eclipse.xtext.util.Modules2
/**
* Initialization support for running Xtext languages in web applications.
*/
class RDLWebSetup extends RDLStandaloneSetup {
override Injector createInjector() {
return Guice.createInjector(Modules2.mixin(new RDLRuntimeModule, new RDLIdeModule, new RDLWebModule))
}
}

View File

@ -0,0 +1,54 @@
/*
* generated by Xtext 2.14.0
*/
package com.minres.rdl.web
import java.net.InetSocketAddress
import org.eclipse.jetty.annotations.AnnotationConfiguration
import org.eclipse.jetty.server.Server
import org.eclipse.jetty.util.log.Slf4jLog
import org.eclipse.jetty.webapp.MetaInfConfiguration
import org.eclipse.jetty.webapp.WebAppContext
import org.eclipse.jetty.webapp.WebInfConfiguration
import org.eclipse.jetty.webapp.WebXmlConfiguration
/**
* This program starts an HTTP server for testing the web integration of your DSL.
* Just execute it and point a web browser to http://localhost:8080/
*/
class ServerLauncher {
def static void main(String[] args) {
val server = new Server(new InetSocketAddress('localhost', 8080))
server.handler = new WebAppContext => [
resourceBase = 'WebRoot'
welcomeFiles = #["index.html"]
contextPath = "/"
configurations = #[
new AnnotationConfiguration,
new WebXmlConfiguration,
new WebInfConfiguration,
new MetaInfConfiguration
]
setAttribute(WebInfConfiguration.CONTAINER_JAR_PATTERN, '.*/com\\.minres\\.rdl\\.web/.*,.*\\.jar')
setInitParameter("org.mortbay.jetty.servlet.Default.useFileMappedBuffer", "false")
]
val log = new Slf4jLog(ServerLauncher.name)
try {
server.start
log.info('Server started ' + server.getURI + '...')
new Thread[
log.info('Press enter to stop the server...')
val key = System.in.read
if (key != -1) {
server.stop
} else {
log.warn('Console input is not available. In order to stop the server, you need to cancel process manually.')
}
].start
server.join
} catch (Exception exception) {
log.warn(exception.message)
System.exit(1)
}
}
}

View File

@ -0,0 +1,40 @@
/**
* generated by Xtext 2.14.0
*/
package com.minres.rdl.web;
import com.google.inject.Injector;
import com.minres.rdl.web.RDLWebSetup;
import javax.servlet.annotation.WebServlet;
import org.eclipse.xtext.util.DisposableRegistry;
import org.eclipse.xtext.web.servlet.XtextServlet;
import org.eclipse.xtext.xbase.lib.Exceptions;
/**
* Deploy this class into a servlet container to enable DSL-specific services.
*/
@WebServlet(name = "XtextServices", urlPatterns = "/xtext-service/*")
@SuppressWarnings("all")
public class RDLServlet extends XtextServlet {
private DisposableRegistry disposableRegistry;
@Override
public void init() {
try {
super.init();
final Injector injector = new RDLWebSetup().createInjectorAndDoEMFRegistration();
this.disposableRegistry = injector.<DisposableRegistry>getInstance(DisposableRegistry.class);
} catch (Throwable _e) {
throw Exceptions.sneakyThrow(_e);
}
}
@Override
public void destroy() {
if ((this.disposableRegistry != null)) {
this.disposableRegistry.dispose();
this.disposableRegistry = null;
}
super.destroy();
}
}

View File

@ -0,0 +1,13 @@
/**
* generated by Xtext 2.14.0
*/
package com.minres.rdl.web;
import com.minres.rdl.web.AbstractRDLWebModule;
/**
* Use this class to register additional components to be used within the web application.
*/
@SuppressWarnings("all")
public class RDLWebModule extends AbstractRDLWebModule {
}

View File

@ -0,0 +1,26 @@
/**
* generated by Xtext 2.14.0
*/
package com.minres.rdl.web;
import com.google.inject.Guice;
import com.google.inject.Injector;
import com.minres.rdl.RDLRuntimeModule;
import com.minres.rdl.RDLStandaloneSetup;
import com.minres.rdl.ide.RDLIdeModule;
import com.minres.rdl.web.RDLWebModule;
import org.eclipse.xtext.util.Modules2;
/**
* Initialization support for running Xtext languages in web applications.
*/
@SuppressWarnings("all")
public class RDLWebSetup extends RDLStandaloneSetup {
@Override
public Injector createInjector() {
RDLRuntimeModule _rDLRuntimeModule = new RDLRuntimeModule();
RDLIdeModule _rDLIdeModule = new RDLIdeModule();
RDLWebModule _rDLWebModule = new RDLWebModule();
return Guice.createInjector(Modules2.mixin(_rDLRuntimeModule, _rDLIdeModule, _rDLWebModule));
}
}

View File

@ -0,0 +1,77 @@
/**
* generated by Xtext 2.14.0
*/
package com.minres.rdl.web;
import java.net.InetSocketAddress;
import java.net.URI;
import org.eclipse.jetty.annotations.AnnotationConfiguration;
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.util.log.Slf4jLog;
import org.eclipse.jetty.webapp.Configuration;
import org.eclipse.jetty.webapp.MetaInfConfiguration;
import org.eclipse.jetty.webapp.WebAppContext;
import org.eclipse.jetty.webapp.WebInfConfiguration;
import org.eclipse.jetty.webapp.WebXmlConfiguration;
import org.eclipse.xtext.xbase.lib.Exceptions;
import org.eclipse.xtext.xbase.lib.ObjectExtensions;
import org.eclipse.xtext.xbase.lib.Procedures.Procedure1;
/**
* This program starts an HTTP server for testing the web integration of your DSL.
* Just execute it and point a web browser to http://localhost:8080/
*/
@SuppressWarnings("all")
public class ServerLauncher {
public static void main(final String[] args) {
InetSocketAddress _inetSocketAddress = new InetSocketAddress("localhost", 8080);
final Server server = new Server(_inetSocketAddress);
WebAppContext _webAppContext = new WebAppContext();
final Procedure1<WebAppContext> _function = (WebAppContext it) -> {
it.setResourceBase("WebRoot");
it.setWelcomeFiles(new String[] { "index.html" });
it.setContextPath("/");
AnnotationConfiguration _annotationConfiguration = new AnnotationConfiguration();
WebXmlConfiguration _webXmlConfiguration = new WebXmlConfiguration();
WebInfConfiguration _webInfConfiguration = new WebInfConfiguration();
MetaInfConfiguration _metaInfConfiguration = new MetaInfConfiguration();
it.setConfigurations(new Configuration[] { _annotationConfiguration, _webXmlConfiguration, _webInfConfiguration, _metaInfConfiguration });
it.setAttribute(WebInfConfiguration.CONTAINER_JAR_PATTERN, ".*/com\\.minres\\.rdl\\.web/.*,.*\\.jar");
it.setInitParameter("org.mortbay.jetty.servlet.Default.useFileMappedBuffer", "false");
};
WebAppContext _doubleArrow = ObjectExtensions.<WebAppContext>operator_doubleArrow(_webAppContext, _function);
server.setHandler(_doubleArrow);
String _name = ServerLauncher.class.getName();
final Slf4jLog log = new Slf4jLog(_name);
try {
server.start();
URI _uRI = server.getURI();
String _plus = ("Server started " + _uRI);
String _plus_1 = (_plus + "...");
log.info(_plus_1);
final Runnable _function_1 = () -> {
try {
log.info("Press enter to stop the server...");
final int key = System.in.read();
if ((key != (-1))) {
server.stop();
} else {
log.warn("Console input is not available. In order to stop the server, you need to cancel process manually.");
}
} catch (Throwable _e) {
throw Exceptions.sneakyThrow(_e);
}
};
new Thread(_function_1).start();
server.join();
} catch (final Throwable _t) {
if (_t instanceof Exception) {
final Exception exception = (Exception)_t;
log.warn(exception.getMessage());
System.exit(1);
} else {
throw Exceptions.sneakyThrow(_t);
}
}
}
}

View File

@ -1,7 +1,8 @@
Manifest-Version: 1.0
Automatic-Module-Name: com.minres.rdl
Bundle-ManifestVersion: 2
Bundle-Name: com.minres.rdl
Bundle-Vendor: My Company
Bundle-Vendor: MINRES Technologies GmbH
Bundle-Version: 1.1.0.qualifier
Bundle-SymbolicName: com.minres.rdl; singleton:=true
Bundle-ActivationPolicy: lazy
@ -9,11 +10,11 @@ Require-Bundle: org.eclipse.xtext,
org.eclipse.xtext.xbase,
org.eclipse.equinox.common;bundle-version="3.5.0",
org.eclipse.emf.ecore,
org.eclipse.xtext.xbase.lib,
org.antlr.runtime,
org.eclipse.xtext.xbase.lib;bundle-version="2.14.0",
org.eclipse.xtext.util,
org.eclipse.xtend.lib,
org.eclipse.emf.common,
org.eclipse.xtend.lib;bundle-version="2.14.0",
org.antlr.runtime,
org.eclipse.equinox.preferences
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Export-Package: com.minres.rdl,

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<genmodel:GenModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" copyrightText="generated by Xtext 2.12.0" modelDirectory="/com.minres.rdl/src-gen"
xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" copyrightText="generated by Xtext 2.14.0" modelDirectory="/com.minres.rdl/src-gen"
modelPluginID="com.minres.rdl" forceOverwrite="true" modelName="RDL" updateClasspath="false"
rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container" complianceLevel="6.0"
copyrightFields="false" runtimeVersion="2.12">

View File

@ -39,7 +39,7 @@
<dependency>
<groupId>org.eclipse.emf</groupId>
<artifactId>org.eclipse.emf.mwe2.launch</artifactId>
<version>2.9.0.201605261059</version>
<version>2.9.1.201705291010</version>
</dependency>
<dependency>
<groupId>org.eclipse.xtext</groupId>
@ -103,6 +103,12 @@
<include>**/*</include>
</includes>
</fileset>
<fileset>
<directory>${basedir}/../com.minres.rdl.web/src-gen/</directory>
<includes>
<include>**/*</include>
</includes>
</fileset>
<fileset>
<directory>${basedir}/model/generated/</directory>
</fileset>

View File

@ -1,5 +1,5 @@
/*
* generated by Xtext 2.12.0
* generated by Xtext 2.14.0
*/
package com.minres.rdl;
@ -14,6 +14,7 @@ import com.minres.rdl.scoping.RDLScopeProvider;
import com.minres.rdl.serializer.RDLSemanticSequencer;
import com.minres.rdl.serializer.RDLSyntacticSequencer;
import com.minres.rdl.services.RDLGrammarAccess;
import com.minres.rdl.validation.RDLConfigurableIssueCodesProvider;
import com.minres.rdl.validation.RDLValidator;
import java.util.Properties;
import org.eclipse.xtext.Constants;
@ -49,6 +50,7 @@ import org.eclipse.xtext.serializer.sequencer.ISemanticSequencer;
import org.eclipse.xtext.serializer.sequencer.ISyntacticSequencer;
import org.eclipse.xtext.service.DefaultRuntimeModule;
import org.eclipse.xtext.service.SingletonBinding;
import org.eclipse.xtext.validation.ConfigurableIssueCodesProvider;
/**
* Manual modifications go to {@link RDLRuntimeModule}.
@ -141,6 +143,31 @@ public abstract class AbstractRDLRuntimeModule extends DefaultRuntimeModule {
return RDLValidator.class;
}
// contributed by org.eclipse.xtext.xtext.generator.validation.ValidatorFragment2
public Class<? extends ConfigurableIssueCodesProvider> bindConfigurableIssueCodesProvider() {
return RDLConfigurableIssueCodesProvider.class;
}
// contributed by org.eclipse.xtext.xtext.generator.scoping.ImportNamespacesScopingFragment2
public Class<? extends IScopeProvider> bindIScopeProvider() {
return RDLScopeProvider.class;
}
// contributed by org.eclipse.xtext.xtext.generator.scoping.ImportNamespacesScopingFragment2
public void configureIScopeProviderDelegate(Binder binder) {
binder.bind(IScopeProvider.class).annotatedWith(Names.named(AbstractDeclarativeScopeProvider.NAMED_DELEGATE)).to(ImportedNamespaceAwareLocalScopeProvider.class);
}
// contributed by org.eclipse.xtext.xtext.generator.scoping.ImportNamespacesScopingFragment2
public Class<? extends IGlobalScopeProvider> bindIGlobalScopeProvider() {
return DefaultGlobalScopeProvider.class;
}
// contributed by org.eclipse.xtext.xtext.generator.scoping.ImportNamespacesScopingFragment2
public void configureIgnoreCaseLinking(Binder binder) {
binder.bindConstant().annotatedWith(IgnoreCaseLinking.class).to(false);
}
// contributed by org.eclipse.xtext.xtext.generator.builder.BuilderIntegrationFragment2
public Class<? extends IContainer.Manager> bindIContainer$Manager() {
return StateBasedContainerManager.class;
@ -166,26 +193,6 @@ public abstract class AbstractRDLRuntimeModule extends DefaultRuntimeModule {
return RDLGenerator.class;
}
// contributed by org.eclipse.xtext.xtext.generator.scoping.ImportNamespacesScopingFragment2
public Class<? extends IScopeProvider> bindIScopeProvider() {
return RDLScopeProvider.class;
}
// contributed by org.eclipse.xtext.xtext.generator.scoping.ImportNamespacesScopingFragment2
public void configureIScopeProviderDelegate(Binder binder) {
binder.bind(IScopeProvider.class).annotatedWith(Names.named(AbstractDeclarativeScopeProvider.NAMED_DELEGATE)).to(ImportedNamespaceAwareLocalScopeProvider.class);
}
// contributed by org.eclipse.xtext.xtext.generator.scoping.ImportNamespacesScopingFragment2
public Class<? extends IGlobalScopeProvider> bindIGlobalScopeProvider() {
return DefaultGlobalScopeProvider.class;
}
// contributed by org.eclipse.xtext.xtext.generator.scoping.ImportNamespacesScopingFragment2
public void configureIgnoreCaseLinking(Binder binder) {
binder.bindConstant().annotatedWith(IgnoreCaseLinking.class).to(false);
}
// contributed by org.eclipse.xtext.xtext.generator.exporting.SimpleNamesFragment2
public Class<? extends IQualifiedNameProvider> bindIQualifiedNameProvider() {
return SimpleNameProvider.class;

View File

@ -1,5 +1,5 @@
/*
* generated by Xtext 2.12.0
* generated by Xtext 2.14.0
*/
package com.minres.rdl;

View File

@ -1,5 +1,5 @@
/*
* generated by Xtext 2.12.0
* generated by Xtext 2.14.0
*/
package com.minres.rdl.parser.antlr;

View File

@ -1,5 +1,5 @@
/*
* generated by Xtext 2.12.0
* generated by Xtext 2.14.0
*/
package com.minres.rdl.parser.antlr;

View File

@ -1,5 +1,5 @@
/*
* generated by Xtext 2.12.0
* generated by Xtext 2.14.0
*/
grammar InternalRDL;

View File

@ -1,5 +1,5 @@
/**
* generated by Xtext 2.12.0
* generated by Xtext 2.14.0
*/
package com.minres.rdl.rdl;

View File

@ -1,5 +1,5 @@
/**
* generated by Xtext 2.12.0
* generated by Xtext 2.14.0
*/
package com.minres.rdl.rdl;

View File

@ -1,5 +1,5 @@
/**
* generated by Xtext 2.12.0
* generated by Xtext 2.14.0
*/
package com.minres.rdl.rdl;

View File

@ -1,5 +1,5 @@
/**
* generated by Xtext 2.12.0
* generated by Xtext 2.14.0
*/
package com.minres.rdl.rdl;

View File

@ -1,5 +1,5 @@
/**
* generated by Xtext 2.12.0
* generated by Xtext 2.14.0
*/
package com.minres.rdl.rdl;

View File

@ -1,5 +1,5 @@
/**
* generated by Xtext 2.12.0
* generated by Xtext 2.14.0
*/
package com.minres.rdl.rdl;

View File

@ -1,5 +1,5 @@
/**
* generated by Xtext 2.12.0
* generated by Xtext 2.14.0
*/
package com.minres.rdl.rdl;

Some files were not shown because too many files have changed in this diff Show More