Merge pull request #5 from Minres/develop

Develop
This commit is contained in:
Eyck Jentzsch 2022-10-26 15:48:07 +02:00 committed by GitHub
commit 53bee39661
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
148 changed files with 88827 additions and 1193 deletions

24
Modulefile Normal file
View File

@ -0,0 +1,24 @@
#%Module######################################################################
##
## Project Module
##
proc ModulesHelp { } {
puts stderr "\tThe TGFS-CG Project Module\n"
puts stderr "\tThis module loads PATHs and variables for accessing Verilator."
}
#set distro [exec /bin/lsb_release -i -s]
#if { $distro == "CentOS" && ![info exists ::env(PROJECT)] && ![info exists ::env(PCP_DIR)] } {
# puts stderr "Don't forget to execute 'scl enable devtoolset-7 bash'"
#}
if {![info exists ::env(PROJECT)] && [file exists $::env(HOME)/.sdkman/candidates/java/11.0.9.hs-adpt/] != 1} {
puts stderr "Please install java via 'sdk install java 11.0.9.hs-adpt'!"
prereq java/11.0.9
} else {
prepend-path PATH $::env(HOME)/.sdkman/candidates/java/11.0.9.hs-adpt/bin
}
setenv PROJECT RDL-Editor

View File

@ -2,7 +2,7 @@
<feature
id="com.minres.rdl.feature"
label="RDL Feature "
version="1.0.0.qualifier"
version="1.4.0"
provider-name="MINRES Technologies GmbH">
<plugin

View File

@ -4,7 +4,7 @@
<parent>
<groupId>com.minres.rdl</groupId>
<artifactId>com.minres.rdl.parent</artifactId>
<version>1.0.0-SNAPSHOT</version>
<version>1.4.0</version>
</parent>
<artifactId>com.minres.rdl.feature</artifactId>
<packaging>eclipse-feature</packaging>

View File

@ -3,7 +3,7 @@ Automatic-Module-Name: com.minres.rdl.ide
Bundle-ManifestVersion: 2
Bundle-Name: com.minres.rdl.ide
Bundle-Vendor: My Company
Bundle-Version: 1.0.0.qualifier
Bundle-Version: 1.4.0
Bundle-SymbolicName: com.minres.rdl.ide; singleton:=true
Bundle-ActivationPolicy: lazy
Require-Bundle: com.minres.rdl,

View File

@ -4,7 +4,7 @@
<parent>
<groupId>com.minres.rdl</groupId>
<artifactId>com.minres.rdl.parent</artifactId>
<version>1.0.0-SNAPSHOT</version>
<version>1.4.0</version>
</parent>
<artifactId>com.minres.rdl.ide</artifactId>
<packaging>eclipse-plugin</packaging>

View File

@ -1 +0,0 @@
/*

View File

@ -0,0 +1 @@
com.minres.rdl.ide.RDLIdeSetup

View File

@ -0,0 +1,60 @@
/*
* generated by Xtext 2.26.0
*/
package com.minres.rdl.ide;
import com.google.inject.Binder;
import com.google.inject.name.Names;
import com.minres.rdl.ide.contentassist.antlr.RDLParser;
import com.minres.rdl.ide.contentassist.antlr.internal.InternalRDLLexer;
import org.eclipse.xtext.ide.DefaultIdeModule;
import org.eclipse.xtext.ide.LexerIdeBindings;
import org.eclipse.xtext.ide.editor.contentassist.FQNPrefixMatcher;
import org.eclipse.xtext.ide.editor.contentassist.IPrefixMatcher;
import org.eclipse.xtext.ide.editor.contentassist.IProposalConflictHelper;
import org.eclipse.xtext.ide.editor.contentassist.antlr.AntlrProposalConflictHelper;
import org.eclipse.xtext.ide.editor.contentassist.antlr.IContentAssistParser;
import org.eclipse.xtext.ide.editor.contentassist.antlr.internal.Lexer;
import org.eclipse.xtext.ide.refactoring.IRenameStrategy2;
import org.eclipse.xtext.ide.server.rename.IRenameService2;
import org.eclipse.xtext.ide.server.rename.RenameService2;
/**
* Manual modifications go to {@link RDLIdeModule}.
*/
@SuppressWarnings("all")
public abstract class AbstractRDLIdeModule extends DefaultIdeModule {
// contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2
public void configureContentAssistLexer(Binder binder) {
binder.bind(Lexer.class)
.annotatedWith(Names.named(LexerIdeBindings.CONTENT_ASSIST))
.to(InternalRDLLexer.class);
}
// contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2
public Class<? extends IContentAssistParser> bindIContentAssistParser() {
return RDLParser.class;
}
// contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2
public Class<? extends IProposalConflictHelper> bindIProposalConflictHelper() {
return AntlrProposalConflictHelper.class;
}
// contributed by org.eclipse.xtext.xtext.generator.exporting.QualifiedNamesFragment2
public Class<? extends IPrefixMatcher> bindIPrefixMatcher() {
return FQNPrefixMatcher.class;
}
// contributed by org.eclipse.xtext.xtext.generator.ui.refactoring.RefactorElementNameFragment2
public Class<? extends IRenameService2> bindIRenameService2() {
return RenameService2.class;
}
// contributed by org.eclipse.xtext.xtext.generator.ui.refactoring.RefactorElementNameFragment2
public Class<? extends IRenameStrategy2> bindIRenameStrategy2() {
return IRenameStrategy2.DefaultImpl.class;
}
}

View File

@ -0,0 +1,33 @@
/*
* generated by Xtext 2.26.0
*/
package com.minres.rdl.ide.contentassist.antlr;
import java.util.Collection;
import java.util.Collections;
import org.eclipse.xtext.AbstractRule;
import org.eclipse.xtext.ide.editor.contentassist.antlr.FollowElement;
import org.eclipse.xtext.ide.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser;
import org.eclipse.xtext.util.PolymorphicDispatcher;
public class PartialRDLContentAssistParser extends RDLParser {
private AbstractRule rule;
@Override
public void initializeFor(AbstractRule rule) {
this.rule = rule;
}
@Override
protected Collection<FollowElement> getFollowElements(AbstractInternalContentAssistParser parser) {
if (rule == null || rule.eIsProxy())
return Collections.emptyList();
String methodName = "entryRule" + rule.getName();
PolymorphicDispatcher<Collection<FollowElement>> dispatcher =
new PolymorphicDispatcher<Collection<FollowElement>>(methodName, 0, 0, Collections.singletonList(parser));
dispatcher.invoke();
return parser.getFollowElements();
}
}

View File

@ -0,0 +1,252 @@
/*
* generated by Xtext 2.26.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.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;
@Override
protected InternalRDLParser createParser() {
InternalRDLParser result = new InternalRDLParser(null);
result.setGrammarAccess(grammarAccess);
return result;
}
@Override
protected String getRuleName(AbstractElement 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" };
}
public RDLGrammarAccess getGrammarAccess() {
return this.grammarAccess;
}
public void setGrammarAccess(RDLGrammarAccess grammarAccess) {
this.grammarAccess = grammarAccess;
}
public NameMappings getNameMappings() {
return nameMappings;
}
public void setNameMappings(NameMappings nameMappings) {
this.nameMappings = nameMappings;
}
}

View File

@ -0,0 +1,254 @@
'%='=127
'+='=126
','=124
'->'=131
'.'=132
':'=130
';'=113
'='=119
'@'=125
'UNDEFINED'=97
'['=128
']'=129
'`include'=114
'accesswidth'=81
'activehigh'=60
'activelow'=61
'addressing'=84
'addrmap'=15
'alias'=123
'alignment'=77
'all'=21
'anded'=40
'arbiter'=24
'async'=57
'bigendian'=49
'boolean'=14
'bothedge'=110
'bridge'=52
'clock'=88
'compact'=105
'component'=121
'counter'=43
'cpuif_reset'=58
'decr'=65
'decrsaturate'=71
'decrthreshold'=73
'decrvalue'=69
'decrwidth'=67
'default'=120
'desc'=23
'dontcompare'=74
'donttest'=75
'enable'=90
'encode'=86
'enum'=133
'errextbus'=46
'external'=134
'false'=99
'field'=18
'field_reset'=59
'fieldwidth'=79
'fullalign'=107
'halt'=95
'haltenable'=94
'haltmask'=93
'hw'=83
'hwclr'=34
'hwenable'=91
'hwmask'=92
'hwset'=33
'incr'=64
'incrvalue'=68
'incrwidth'=66
'internal'=76
'intr'=39
'level'=111
'littleendian'=48
'lsb0'=55
'mask'=89
'msb0'=54
'na'=104
'name'=22
'negedge'=109
'next'=96
'nonsticky'=112
'number'=13
'ored'=41
'overflow'=44
'posedge'=108
'precedence'=85
'property'=115
'r'=102
'rclr'=26
'ref'=19
'reg'=16
'regalign'=106
'regfile'=17
'regwidth'=78
'reset'=47
'resetsignal'=87
'rset'=25
'rsvdset'=50
'rsvdsetX'=51
'rw'=100
'saturate'=70
'shared'=53
'sharedextbus'=45
'signal'=20
'signalwidth'=80
'singlepulse'=62
'sticky'=37
'stickybit'=38
'string'=12
'sw'=82
'swacc'=36
'swmod'=35
'swwe'=31
'swwel'=32
'sync'=56
'threshold'=72
'true'=98
'type'=118
'underflow'=63
'w'=103
'we'=29
'wel'=30
'woclr'=27
'woset'=28
'wr'=101
'xored'=42
'{'=116
'|'=122
'}'=117
RULE_ESCAPE_JSP=10
RULE_ESCAPE_ORDL=11
RULE_ID=5
RULE_ML_COMMENT=8
RULE_NUM=6
RULE_SL_COMMENT=9
RULE_STR=4
RULE_WS=7
T__100=100
T__101=101
T__102=102
T__103=103
T__104=104
T__105=105
T__106=106
T__107=107
T__108=108
T__109=109
T__110=110
T__111=111
T__112=112
T__113=113
T__114=114
T__115=115
T__116=116
T__117=117
T__118=118
T__119=119
T__120=120
T__121=121
T__122=122
T__123=123
T__124=124
T__125=125
T__126=126
T__127=127
T__128=128
T__129=129
T__12=12
T__130=130
T__131=131
T__132=132
T__133=133
T__134=134
T__13=13
T__14=14
T__15=15
T__16=16
T__17=17
T__18=18
T__19=19
T__20=20
T__21=21
T__22=22
T__23=23
T__24=24
T__25=25
T__26=26
T__27=27
T__28=28
T__29=29
T__30=30
T__31=31
T__32=32
T__33=33
T__34=34
T__35=35
T__36=36
T__37=37
T__38=38
T__39=39
T__40=40
T__41=41
T__42=42
T__43=43
T__44=44
T__45=45
T__46=46
T__47=47
T__48=48
T__49=49
T__50=50
T__51=51
T__52=52
T__53=53
T__54=54
T__55=55
T__56=56
T__57=57
T__58=58
T__59=59
T__60=60
T__61=61
T__62=62
T__63=63
T__64=64
T__65=65
T__66=66
T__67=67
T__68=68
T__69=69
T__70=70
T__71=71
T__72=72
T__73=73
T__74=74
T__75=75
T__76=76
T__77=77
T__78=78
T__79=79
T__80=80
T__81=81
T__82=82
T__83=83
T__84=84
T__85=85
T__86=86
T__87=87
T__88=88
T__89=89
T__90=90
T__91=91
T__92=92
T__93=93
T__94=94
T__95=95
T__96=96
T__97=97
T__98=98
T__99=99

View File

@ -760,13 +760,6 @@
version="0.0.0"
unpack="false"/>
<plugin
id="javax.servlet"
download-size="0"
install-size="0"
version="0.0.0"
unpack="false"/>
<plugin
id="org.objectweb.asm"
download-size="0"

View File

@ -3,6 +3,7 @@
<product name="RDL Editor" uid="com.minres.rdl.product.product" id="com.minres.rdl.product.product" application="org.eclipse.ui.ide.workbench" version="1.3.0.qualifier" useFeatures="true" includeLaunchers="true">
<configIni use="default">
</configIni>
@ -23,80 +24,6 @@
</vm>
<plugins>
<plugin id="com.ibm.icu"/>
<plugin id="com.minres.rdl.product"/>
<plugin id="javax.inject"/>
<plugin id="javax.xml"/>
<plugin id="org.apache.batik.css"/>
<plugin id="org.apache.batik.util"/>
<plugin id="org.apache.batik.util.gui"/>
<plugin id="org.apache.commons.jxpath"/>
<plugin id="org.eclipse.core.commands"/>
<plugin id="org.eclipse.core.contenttype"/>
<plugin id="org.eclipse.core.databinding"/>
<plugin id="org.eclipse.core.databinding.observable"/>
<plugin id="org.eclipse.core.databinding.property"/>
<plugin id="org.eclipse.core.expressions"/>
<plugin id="org.eclipse.core.filesystem"/>
<plugin id="org.eclipse.core.filesystem.macosx" fragment="true"/>
<plugin id="org.eclipse.core.jobs"/>
<plugin id="org.eclipse.core.runtime"/>
<plugin id="org.eclipse.e4.core.commands"/>
<plugin id="org.eclipse.e4.core.contexts"/>
<plugin id="org.eclipse.e4.core.di"/>
<plugin id="org.eclipse.e4.core.di.annotations"/>
<plugin id="org.eclipse.e4.core.di.extensions"/>
<plugin id="org.eclipse.e4.core.services"/>
<plugin id="org.eclipse.e4.emf.xpath"/>
<plugin id="org.eclipse.e4.ui.bindings"/>
<plugin id="org.eclipse.e4.ui.css.core"/>
<plugin id="org.eclipse.e4.ui.css.swt"/>
<plugin id="org.eclipse.e4.ui.css.swt.theme"/>
<plugin id="org.eclipse.e4.ui.di"/>
<plugin id="org.eclipse.e4.ui.model.workbench"/>
<plugin id="org.eclipse.e4.ui.services"/>
<plugin id="org.eclipse.e4.ui.widgets"/>
<plugin id="org.eclipse.e4.ui.workbench"/>
<plugin id="org.eclipse.e4.ui.workbench.addons.swt"/>
<plugin id="org.eclipse.e4.ui.workbench.renderers.swt"/>
<plugin id="org.eclipse.e4.ui.workbench.renderers.swt.cocoa" fragment="true"/>
<plugin id="org.eclipse.e4.ui.workbench.swt"/>
<plugin id="org.eclipse.e4.ui.workbench3"/>
<plugin id="org.eclipse.emf.common"/>
<plugin id="org.eclipse.emf.ecore"/>
<plugin id="org.eclipse.emf.ecore.change"/>
<plugin id="org.eclipse.emf.ecore.xmi"/>
<plugin id="org.eclipse.equinox.app"/>
<plugin id="org.eclipse.equinox.bidi"/>
<plugin id="org.eclipse.equinox.common"/>
<plugin id="org.eclipse.equinox.p2.core"/>
<plugin id="org.eclipse.equinox.p2.engine"/>
<plugin id="org.eclipse.equinox.p2.metadata"/>
<plugin id="org.eclipse.equinox.p2.metadata.repository"/>
<plugin id="org.eclipse.equinox.p2.repository"/>
<plugin id="org.eclipse.equinox.preferences"/>
<plugin id="org.eclipse.equinox.registry"/>
<plugin id="org.eclipse.equinox.security"/>
<plugin id="org.eclipse.equinox.security.macosx" fragment="true"/>
<plugin id="org.eclipse.help"/>
<plugin id="org.eclipse.jface"/>
<plugin id="org.eclipse.jface.databinding"/>
<plugin id="org.eclipse.jface.text"/>
<plugin id="org.eclipse.osgi"/>
<plugin id="org.eclipse.osgi.compatibility.state" fragment="true"/>
<plugin id="org.eclipse.osgi.services"/>
<plugin id="org.eclipse.swt"/>
<plugin id="org.eclipse.swt.cocoa.macosx.x86_64" fragment="true"/>
<plugin id="org.eclipse.text"/>
<plugin id="org.eclipse.ui"/>
<plugin id="org.eclipse.ui.cocoa" fragment="true"/>
<plugin id="org.eclipse.ui.ide"/>
<plugin id="org.eclipse.ui.workbench"/>
<plugin id="org.tukaani.xz"/>
<plugin id="org.w3c.css.sac"/>
<plugin id="org.w3c.dom.events"/>
<plugin id="org.w3c.dom.smil"/>
<plugin id="org.w3c.dom.svg"/>
</plugins>
<features>

View File

@ -5,10 +5,9 @@
<artifactId>com.minres.rdl.product.releng</artifactId>
<packaging>eclipse-repository</packaging>
<name>RDL Editor</name>
<version>1.3.0-SNAPSHOT</version>
<parent>
<version>1.0.0-SNAPSHOT</version>
<version>1.4.0</version>
<groupId>com.minres.rdl</groupId>
<artifactId>com.minres.rdl.parent</artifactId>
</parent>

View File

@ -4,10 +4,9 @@
<parent>
<groupId>com.minres.rdl</groupId>
<artifactId>com.minres.rdl.parent</artifactId>
<version>1.0.0-SNAPSHOT</version>
<version>1.4.0</version>
</parent>
<artifactId>com.minres.rdl.repository</artifactId>
<version>1.3.0-SNAPSHOT</version>
<packaging>eclipse-repository</packaging>
<build>
@ -90,9 +89,9 @@
<appArgLine>-application org.eclipse.ant.core.antRunner -buildfile packaging-p2-composite.ant p2.composite.add -Dsite.label="RDL-Editor Software Repository" -Dproject.build.directory=${project.build.directory} -DunqualifiedVersion=${unqualifiedVersion} -Dsoftware.download.area="${software.download.area}/RDL-Editor-GHP/repository"</appArgLine>
<repositories>
<repository>
<id>2021-03</id>
<id>2022-03</id>
<layout>p2</layout>
<url>http://download.eclipse.org/releases/2021-03/</url>
<url>http://download.eclipse.org/releases/2022-03/</url>
</repository>
</repositories>
<dependencies>

View File

@ -1,20 +1,95 @@
import static groovy.io.FileType.FILES
import java.nio.file.Files
import java.nio.file.Paths
import java.util.zip.ZipEntry
def needed_jars = [
/org\.eclipse\.xtext/,
/org\.eclipse\.emf\.ecore\.xmi/,
/org\.eclipse\.emf\.ecore/,
/org\.eclipse\.emf\.common/,
/org\.antlr\.runtime/,
/com\.google\.inject/,
/org\.eclipse\.emf\.mwe\.core/,
/org\.apache\.commons\.cli/,
/org\.eclipse\.emf\.mwe2\.runtime/,
/org\.eclipse\.emf\.mwe\.utils/,
/org\.eclipse\.xtext\.util/,
/com\.google\.guava/,
/javax\.inject/,
/org\.eclipse\.xtext\.xbase/,
/org\.eclipse\.xtext\.common\.types/,
/org\.eclipse\.xtend\.lib/,
/org\.eclipse\.xtext\.xbase\.lib/,
/org\.eclipse\.xtend\.lib\.macro/,
/org\.eclipse\.equinox\.common/,
/eclipse-trace/,
/groovy-eclipse/,
/ivy-2\.5\.0\.jar/,
/groovy-3\.0\.\d-indy/,
/groovy-templates-3\.0\.\d/,
/org\.eclipse\.xtext\.xtext\.generator/,
/org\.eclipse\.emf\.codegen\.ecore/,
/org\.eclipse\.emf\.codegen/,
/org\.eclipse\.emf\.mwe2\.launch/,
/org\.eclipse\.emf\.mwe2\.language/,
/org\.eclipse\.emf\.mwe2\.lib/,
/org\.objectweb\.asm/,
/org\.apache\.commons\.logging/,
/org\.apache\.log4j/,
/com\.ibm\.icu/,
/org\.json/,
/com\.minres\.rdl/
]
// Collect all jars.
def jars = []
def root = new File(project.getBasedir(), 'target/classes')
def libs = new File(project.getBasedir(), 'target/classes/lib')
def meta_inf = new File(project.getBasedir(), 'target/classes/META-INF')
libs.eachFileRecurse (FILES) { file ->
jars << root.toURI().relativize(file.toURI()).toString()
if(file.name =~/org\.codehaus\.groovy_/) { // we need to unpack this one sinc it is already jar in jar
println("Unpacking ${file}")
def zipFile = new java.util.zip.ZipFile(file)
zipFile.entries().findAll {ZipEntry entry -> !entry.directory && entry.name =~/\.jar$/}.each {ZipEntry entry ->
def outFile = new File(libs, entry.name.split(/\//)[-1])
println "Extracting file ${entry.name} to ${outFile.path} with size ${entry.size}bytes (${entry.compressedSize}bytes)"
Files.copy(zipFile.getInputStream(entry), outFile.toPath())
}
}
}
libs.eachFileRecurse (FILES) { file ->
def fileName = file.name.split("/")[-1]
if(needed_jars.find{fileName =~ it}) {
println "Adding $file to the included jars"
jars << root.toURI().relativize(file.toURI()).toString()
} else {
file.delete()
}
}
def zipFile = new java.util.zip.ZipFile(new File(project.getBasedir(), 'jar-in-jar-loader.zip'))
zipFile.entries().each {ZipEntry it ->
def path = Paths.get("${root}/", it.name)
if(it.directory){
Files.createDirectories(path)
} else {
def parentDir = path.getParent()
if (!Files.exists(parentDir)) {
Files.createDirectories(parentDir)
}
Files.deleteIfExists(path)
println "Extracting file ${it.name} to ${path} with size ${it.size}bytes (${it.compressedSize}bytes)"
Files.copy(zipFile.getInputStream(it), path)
}
}
// Write the manifest file.
def manifest = new File(project.getBasedir(), 'target/classes/META-INF/MANIFEST.MF')
manifest.write ''
manifest << 'Manifest-Version: 1.0\n'
manifest << 'Class-Path: . ' + jars.join(' ') + '\n'
manifest << 'Rsrc-Main-Class: com.minres.rdl.generator.Main\n'
manifest << 'Main-Class: org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader\n'
Files.createDirectories( Paths.get(meta_inf.absolutePath))
def mf = new File(project.getBasedir(), 'target/classes/META-INF/MANIFEST.MF')
mf.write ''
mf << 'Manifest-Version: 1.0\n'
mf << 'Rsrc-Class-Path: ./ ' + jars.join(' ') + '\n'
mf << 'Rsrc-Main-Class: com.minres.rdl.generator.Main\n'
mf << 'Main-Class: org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader\n'

View File

@ -4,10 +4,10 @@
<parent>
<artifactId>com.minres.rdl.parent</artifactId>
<groupId>com.minres.rdl</groupId>
<version>1.0.0-SNAPSHOT</version>
<version>1.4.0</version>
</parent>
<artifactId>com.minres.rdl.standalone</artifactId>
<version>1.2.0-SNAPSHOT</version>
<packaging>eclipse-repository</packaging>
<build>
<pluginManagement>
@ -77,7 +77,7 @@
<artifactItem>
<groupId>com.minres.rdl</groupId>
<artifactId>com.minres.rdl</artifactId>
<version>${rdl-plugin.version}</version>
<version>${project.version}</version>
<type>jar</type>
<overWrite>false</overWrite>
<outputDirectory>${project.build.directory}/classes</outputDirectory>
@ -175,7 +175,7 @@
<dependency>
<groupId>com.minres.rdl</groupId>
<artifactId>com.minres.rdl</artifactId>
<version>${rdl-plugin.version}</version>
<version>${project.version}</version>
<type>eclipse-plugin</type>
</dependency>
</dependencies>

View File

@ -1,39 +1,43 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?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.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"/>
<repository location="https://download.eclipse.org/releases/2021-03"/>
</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="https://download.eclipse.org/modeling/emft/mwe/updates/releases/2.12.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="https://download.eclipse.org/modeling/tmf/xtext/updates/releases/2.25.0/"/>
</location>
<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="planner" includeSource="true" type="InstallableUnit">
<unit id="com.google.gson" version="2.8.6.v20201231-1626"/>
<unit id="org.antlr.runtime" version="3.2.0.v201101311130"/>
<unit id="org.junit" version="4.12.0.v201504281640"/>
<unit id="org.junit.jupiter.api" version="5.7.1.v20210222-1948"/>
<unit id="org.junit.jupiter.engine" version="5.7.1.v20210222-1948"/>
<unit id="org.junit.platform.commons" version="1.7.1.v20210222-1948"/>
<unit id="org.junit.platform.engine" version="1.7.1.v20210222-1948"/>
<unit id="org.junit.platform.launcher" version="1.7.1.v20210222-1948"/>
<unit id="org.junit.platform.runner" version="1.7.1.v20210222-1948"/>
<unit id="org.opentest4j" version="1.2.0.v20190826-0900"/>
<unit id="org.objectweb.asm" version="9.1.0.v20210209-1849"/>
<unit id="org.objectweb.asm.tree" version="9.1.0.v20210209-1849"/>
<unit id="io.github.classgraph" version="4.8.35.v20190528-1517"/>
<repository location="https://download.eclipse.org/tools/orbit/downloads/2021-03"/>
</location>
</locations>
<target name="com.minres.coredsl.target" sequenceNumber="1">
<locations>
<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="planner" includeSource="true" type="InstallableUnit">
<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"/>
<repository location="https://download.eclipse.org/releases/2022-03"/>
</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="https://download.eclipse.org/modeling/emft/mwe/updates/releases/2.12.2/"/>
</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="https://download.eclipse.org/modeling/tmf/xtext/updates/releases/2.26.0/"/>
</location>
<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="planner" includeSource="true" type="InstallableUnit">
<unit id="com.google.gson" version="2.8.9.v20220111-1409"/>
<unit id="com.google.inject" version="5.0.1.v20210324-2015"/>
<unit id="javax.inject" version="1.0.0.v20091030"/>
<unit id="org.antlr.runtime" version="3.2.0.v201101311130"/>
<unit id="org.junit" version="4.13.2.v20211018-1956"/>
<unit id="org.apiguardian" version="1.1.2.v20211018-1956"/>
<unit id="org.junit.jupiter.api" version="5.8.1.v20211018-1956"/>
<unit id="org.junit.jupiter.engine" version="5.8.1.v20211018-1956"/>
<unit id="org.junit.platform.commons" version="1.8.1.v20211018-1956"/>
<unit id="org.junit.platform.engine" version="1.8.1.v20211018-1956"/>
<unit id="org.junit.platform.launcher" version="1.8.1.v20211018-1956"/>
<unit id="org.junit.platform.runner" version="1.8.1.v20211018-1956"/>
<unit id="org.junit.platform.suite.commons" version="1.8.1.v20211018-1956"/>
<unit id="org.opentest4j" version="1.2.0.v20211018-1956"/>
<unit id="org.objectweb.asm" version="9.2.0.v20210813-1119"/>
<unit id="org.objectweb.asm.tree" version="9.2.0.v20210813-1119"/>
<unit id="io.github.classgraph" version="4.8.138.v20211212-1642"/>
<repository location="https://download.eclipse.org/tools/orbit/downloads/2022-03"/>
</location>
</locations>
</target>

View File

@ -4,7 +4,7 @@
<parent>
<groupId>com.minres.rdl</groupId>
<artifactId>com.minres.rdl.parent</artifactId>
<version>1.0.0-SNAPSHOT</version>
<version>1.4.0</version>
</parent>
<artifactId>com.minres.rdl.target</artifactId>
<packaging>eclipse-target-definition</packaging>

View File

@ -3,7 +3,7 @@ Automatic-Module-Name: com.minres.rdl.tests
Bundle-ManifestVersion: 2
Bundle-Name: com.minres.rdl.tests
Bundle-Vendor: My Company
Bundle-Version: 1.0.0.qualifier
Bundle-Version: 1.4.0
Bundle-SymbolicName: com.minres.rdl.tests; singleton:=true
Bundle-ActivationPolicy: lazy
Require-Bundle: com.minres.rdl,

View File

@ -4,7 +4,7 @@
<parent>
<groupId>com.minres.rdl</groupId>
<artifactId>com.minres.rdl.parent</artifactId>
<version>1.0.0-SNAPSHOT</version>
<version>1.4.0</version>
</parent>
<artifactId>com.minres.rdl.tests</artifactId>
<packaging>eclipse-test-plugin</packaging>

View File

@ -0,0 +1,69 @@
/*
* generated by Xtext 2.26.0
*/
package com.minres.rdl.tests;
import com.google.inject.Guice;
import com.google.inject.Injector;
import com.minres.rdl.RDLRuntimeModule;
import com.minres.rdl.RDLStandaloneSetup;
import org.eclipse.xtext.testing.GlobalRegistries;
import org.eclipse.xtext.testing.GlobalRegistries.GlobalStateMemento;
import org.eclipse.xtext.testing.IInjectorProvider;
import org.eclipse.xtext.testing.IRegistryConfigurator;
public class RDLInjectorProvider implements IInjectorProvider, IRegistryConfigurator {
protected GlobalStateMemento stateBeforeInjectorCreation;
protected GlobalStateMemento stateAfterInjectorCreation;
protected Injector injector;
static {
GlobalRegistries.initializeDefaults();
}
@Override
public Injector getInjector() {
if (injector == null) {
this.injector = internalCreateInjector();
stateAfterInjectorCreation = GlobalRegistries.makeCopyOfGlobalState();
}
return injector;
}
protected Injector internalCreateInjector() {
return new RDLStandaloneSetup() {
@Override
public Injector createInjector() {
return Guice.createInjector(createRuntimeModule());
}
}.createInjectorAndDoEMFRegistration();
}
protected RDLRuntimeModule createRuntimeModule() {
// make it work also with Maven/Tycho and OSGI
// see https://bugs.eclipse.org/bugs/show_bug.cgi?id=493672
return new RDLRuntimeModule() {
@Override
public ClassLoader bindClassLoaderToInstance() {
return RDLInjectorProvider.class
.getClassLoader();
}
};
}
@Override
public void restoreRegistry() {
stateBeforeInjectorCreation.restoreGlobalState();
stateBeforeInjectorCreation = null;
}
@Override
public void setupRegistry() {
stateBeforeInjectorCreation = GlobalRegistries.makeCopyOfGlobalState();
if (injector == null) {
getInjector();
}
stateAfterInjectorCreation.restoreGlobalState();
}
}

View File

@ -3,7 +3,7 @@ Automatic-Module-Name: com.minres.rdl.ui.tests
Bundle-ManifestVersion: 2
Bundle-Name: com.minres.rdl.ui.tests
Bundle-Vendor: My Company
Bundle-Version: 1.0.0.qualifier
Bundle-Version: 1.4.0
Bundle-SymbolicName: com.minres.rdl.ui.tests; singleton:=true
Bundle-ActivationPolicy: lazy
Require-Bundle: com.minres.rdl.ui,

View File

@ -4,7 +4,7 @@
<parent>
<groupId>com.minres.rdl</groupId>
<artifactId>com.minres.rdl.parent</artifactId>
<version>1.0.0-SNAPSHOT</version>
<version>1.4.0</version>
</parent>
<artifactId>com.minres.rdl.ui.tests</artifactId>
<packaging>eclipse-test-plugin</packaging>

View File

@ -0,0 +1,17 @@
/*
* generated by Xtext 2.26.0
*/
package com.minres.rdl.ui.tests;
import com.google.inject.Injector;
import com.minres.rdl.ui.internal.RdlActivator;
import org.eclipse.xtext.testing.IInjectorProvider;
public class RDLUiInjectorProvider implements IInjectorProvider {
@Override
public Injector getInjector() {
return RdlActivator.getInstance().getInjector("com.minres.rdl.RDL");
}
}

View File

@ -3,7 +3,7 @@ Automatic-Module-Name: com.minres.rdl.ui
Bundle-ManifestVersion: 2
Bundle-Name: com.minres.rdl.ui
Bundle-Vendor: MINRES Technologies GmbH
Bundle-Version: 1.2.0.qualifier
Bundle-Version: 1.4.0
Bundle-SymbolicName: com.minres.rdl.ui; singleton:=true
Bundle-ActivationPolicy: lazy
Require-Bundle: com.minres.rdl,

View File

@ -1,466 +1,510 @@
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?>
<plugin>
<extension
point="org.eclipse.ui.editors">
<editor
class="com.minres.rdl.ui.RDLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.XtextEditor"
contributorClass="org.eclipse.ui.editors.text.TextEditorActionContributor"
default="true"
extensions="rdl"
id="com.minres.rdl.RDL"
name="RDL Editor">
</editor>
</extension>
<extension
point="org.eclipse.ui.handlers">
<handler
class="com.minres.rdl.ui.RDLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.hyperlinking.OpenDeclarationHandler"
commandId="org.eclipse.xtext.ui.editor.hyperlinking.OpenDeclaration">
<activeWhen>
<reference
definitionId="com.minres.rdl.RDL.Editor.opened">
</reference>
</activeWhen>
</handler>
<handler
class="com.minres.rdl.ui.RDLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.handler.ValidateActionHandler"
commandId="com.minres.rdl.RDL.validate">
<activeWhen>
<reference
definitionId="com.minres.rdl.RDL.Editor.opened">
</reference>
</activeWhen>
</handler>
<!-- copy qualified name -->
<handler
class="com.minres.rdl.ui.RDLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedNameHandler"
commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedName">
<activeWhen>
<reference definitionId="com.minres.rdl.RDL.Editor.opened" />
</activeWhen>
</handler>
<handler
class="com.minres.rdl.ui.RDLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.copyqualifiedname.OutlineCopyQualifiedNameHandler"
commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.OutlineCopyQualifiedName">
<activeWhen>
<and>
<reference definitionId="com.minres.rdl.RDL.XtextEditor.opened" />
<iterate>
<adapt type="org.eclipse.xtext.ui.editor.outline.IOutlineNode" />
</iterate>
</and>
</activeWhen>
</handler>
</extension>
<extension point="org.eclipse.core.expressions.definitions">
<definition id="com.minres.rdl.RDL.Editor.opened">
<and>
<reference definitionId="isActiveEditorAnInstanceOfXtextEditor"/>
<with variable="activeEditor">
<test property="org.eclipse.xtext.ui.editor.XtextEditor.languageName"
value="com.minres.rdl.RDL"
forcePluginActivation="true"/>
</with>
</and>
</definition>
<definition id="com.minres.rdl.RDL.XtextEditor.opened">
<and>
<reference definitionId="isXtextEditorActive"/>
<with variable="activeEditor">
<test property="org.eclipse.xtext.ui.editor.XtextEditor.languageName"
value="com.minres.rdl.RDL"
forcePluginActivation="true"/>
</with>
</and>
</definition>
</extension>
<extension
point="org.eclipse.ui.preferencePages">
<page
class="com.minres.rdl.ui.RDLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.preferences.LanguageRootPreferencePage"
id="com.minres.rdl.RDL"
name="RDL">
<keywordReference id="com.minres.rdl.ui.keyword_RDL"/>
</page>
<page
category="com.minres.rdl.RDL"
class="com.minres.rdl.ui.RDLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.syntaxcoloring.SyntaxColoringPreferencePage"
id="com.minres.rdl.RDL.coloring"
name="Syntax Coloring">
<keywordReference id="com.minres.rdl.ui.keyword_RDL"/>
</page>
<page
category="com.minres.rdl.RDL"
class="com.minres.rdl.ui.RDLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.templates.XtextTemplatePreferencePage"
id="com.minres.rdl.RDL.templates"
name="Templates">
<keywordReference id="com.minres.rdl.ui.keyword_RDL"/>
</page>
<page category="com.minres.rdl.RDL"
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.ui.propertyPages">
<page
class="com.minres.rdl.ui.RDLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.preferences.LanguageRootPreferencePage"
id="com.minres.rdl.RDL"
name="RDL">
<keywordReference id="com.minres.rdl.ui.keyword_RDL"/>
<enabledWhen>
<adapt type="org.eclipse.core.resources.IProject"/>
</enabledWhen>
<filter name="projectNature" value="org.eclipse.xtext.ui.shared.xtextNature"/>
</page>
</extension>
<extension
point="org.eclipse.ui.keywords">
<keyword
id="com.minres.rdl.ui.keyword_RDL"
label="RDL"/>
</extension>
<extension
point="org.eclipse.ui.commands">
<command
description="Trigger expensive validation"
id="com.minres.rdl.RDL.validate"
name="Validate">
</command>
<!-- copy qualified name -->
<command
id="org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedName"
categoryId="org.eclipse.ui.category.edit"
description="Copy the qualified name for the selected element"
name="Copy Qualified Name">
</command>
<command
id="org.eclipse.xtext.ui.editor.copyqualifiedname.OutlineCopyQualifiedName"
categoryId="org.eclipse.ui.category.edit"
description="Copy the qualified name for the selected element"
name="Copy Qualified Name">
</command>
</extension>
<extension point="org.eclipse.ui.menus">
<menuContribution
locationURI="popup:#TextEditorContext?after=group.edit">
<command
commandId="com.minres.rdl.RDL.validate"
style="push"
tooltip="Trigger expensive validation">
<visibleWhen checkEnabled="false">
<reference
definitionId="com.minres.rdl.RDL.Editor.opened">
</reference>
</visibleWhen>
</command>
</menuContribution>
<!-- copy qualified name -->
<menuContribution locationURI="popup:#TextEditorContext?after=copy">
<command commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedName"
style="push" tooltip="Copy Qualified Name">
<visibleWhen checkEnabled="false">
<reference definitionId="com.minres.rdl.RDL.Editor.opened" />
</visibleWhen>
</command>
</menuContribution>
<menuContribution locationURI="menu:edit?after=copy">
<command commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedName"
style="push" tooltip="Copy Qualified Name">
<visibleWhen checkEnabled="false">
<reference definitionId="com.minres.rdl.RDL.Editor.opened" />
</visibleWhen>
</command>
</menuContribution>
<menuContribution locationURI="popup:org.eclipse.xtext.ui.outline?after=additions">
<command commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.OutlineCopyQualifiedName"
style="push" tooltip="Copy Qualified Name">
<visibleWhen checkEnabled="false">
<and>
<reference definitionId="com.minres.rdl.RDL.XtextEditor.opened" />
<iterate>
<adapt type="org.eclipse.xtext.ui.editor.outline.IOutlineNode" />
</iterate>
</and>
</visibleWhen>
</command>
</menuContribution>
</extension>
<extension point="org.eclipse.ui.menus">
<menuContribution locationURI="popup:#TextEditorContext?endof=group.find">
<command commandId="org.eclipse.xtext.ui.editor.FindReferences">
<visibleWhen checkEnabled="false">
<reference definitionId="com.minres.rdl.RDL.Editor.opened">
</reference>
</visibleWhen>
</command>
</menuContribution>
</extension>
<extension point="org.eclipse.ui.handlers">
<handler
class="com.minres.rdl.ui.RDLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.findrefs.FindReferencesHandler"
commandId="org.eclipse.xtext.ui.editor.FindReferences">
<activeWhen>
<reference
definitionId="com.minres.rdl.RDL.Editor.opened">
</reference>
</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">
<parser
class="com.minres.rdl.ui.RDLExecutableExtensionFactory:org.eclipse.xtext.resource.IResourceFactory"
type="rdl">
</parser>
</extension>
<extension point="org.eclipse.xtext.extension_resourceServiceProvider">
<resourceServiceProvider
class="com.minres.rdl.ui.RDLExecutableExtensionFactory:org.eclipse.xtext.ui.resource.IResourceUIServiceProvider"
uriExtension="rdl">
</resourceServiceProvider>
</extension>
<!-- marker definitions for com.minres.rdl.RDL -->
<extension
id="rdl.check.fast"
name="RDL Problem"
point="org.eclipse.core.resources.markers">
<super type="org.eclipse.xtext.ui.check.fast"/>
<persistent value="true"/>
</extension>
<extension
id="rdl.check.normal"
name="RDL Problem"
point="org.eclipse.core.resources.markers">
<super type="org.eclipse.xtext.ui.check.normal"/>
<persistent value="true"/>
</extension>
<extension
id="rdl.check.expensive"
name="RDL Problem"
point="org.eclipse.core.resources.markers">
<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"
fileExtensions="rdl"/>
</extension>
<extension point="org.eclipse.ui.preferencePages">
<page
category="com.minres.rdl.RDL"
class="com.minres.rdl.ui.RDLExecutableExtensionFactory:org.eclipse.xtext.builder.preferences.BuilderPreferencePage"
id="com.minres.rdl.RDL.compiler.preferencePage"
name="Compiler">
<keywordReference id="com.minres.rdl.ui.keyword_RDL"/>
</page>
</extension>
<extension point="org.eclipse.ui.propertyPages">
<page
category="com.minres.rdl.RDL"
class="com.minres.rdl.ui.RDLExecutableExtensionFactory:org.eclipse.xtext.builder.preferences.BuilderPreferencePage"
id="com.minres.rdl.RDL.compiler.propertyPage"
name="Compiler">
<keywordReference id="com.minres.rdl.ui.keyword_RDL"/>
<enabledWhen>
<adapt type="org.eclipse.core.resources.IProject"/>
</enabledWhen>
<filter name="projectNature" value="org.eclipse.xtext.ui.shared.xtextNature"/>
</page>
</extension>
<extension point="org.eclipse.ui.menus">
<menuContribution locationURI="popup:#TextEditorContext?after=xtext.ui.openDeclaration">
<command
commandId="org.eclipse.xtext.ui.OpenGeneratedFileCommand"
id="com.minres.rdl.RDL.OpenGeneratedCode"
style="push">
<visibleWhen checkEnabled="false">
<reference definitionId="com.minres.rdl.RDL.Editor.opened" />
</visibleWhen>
</command>
</menuContribution>
</extension>
<extension point="org.eclipse.ui.handlers">
<handler
class="com.minres.rdl.ui.RDLExecutableExtensionFactory:org.eclipse.xtext.ui.generator.trace.OpenGeneratedFileHandler"
commandId="org.eclipse.xtext.ui.OpenGeneratedFileCommand">
<activeWhen>
<reference definitionId="com.minres.rdl.RDL.Editor.opened" />
</activeWhen>
</handler>
</extension>
<!-- Quick Outline -->
<extension
point="org.eclipse.ui.handlers">
<handler
class="com.minres.rdl.ui.RDLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.outline.quickoutline.ShowQuickOutlineActionHandler"
commandId="org.eclipse.xtext.ui.editor.outline.QuickOutline">
<activeWhen>
<reference
definitionId="com.minres.rdl.RDL.Editor.opened">
</reference>
</activeWhen>
</handler>
</extension>
<extension
point="org.eclipse.ui.commands">
<command
description="Open the quick outline."
id="org.eclipse.xtext.ui.editor.outline.QuickOutline"
name="Quick Outline">
</command>
</extension>
<extension point="org.eclipse.ui.menus">
<menuContribution
locationURI="popup:#TextEditorContext?after=group.open">
<command commandId="org.eclipse.xtext.ui.editor.outline.QuickOutline"
style="push"
tooltip="Open Quick Outline">
<visibleWhen checkEnabled="false">
<reference definitionId="com.minres.rdl.RDL.Editor.opened"/>
</visibleWhen>
</command>
</menuContribution>
</extension>
<!-- quickfix marker resolution generator for com.minres.rdl.RDL -->
<extension
point="org.eclipse.ui.ide.markerResolution">
<markerResolutionGenerator
class="com.minres.rdl.ui.RDLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator"
markerType="com.minres.rdl.ui.rdl.check.fast">
<attribute
name="FIXABLE_KEY"
value="true">
</attribute>
</markerResolutionGenerator>
<markerResolutionGenerator
class="com.minres.rdl.ui.RDLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator"
markerType="com.minres.rdl.ui.rdl.check.normal">
<attribute
name="FIXABLE_KEY"
value="true">
</attribute>
</markerResolutionGenerator>
<markerResolutionGenerator
class="com.minres.rdl.ui.RDLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator"
markerType="com.minres.rdl.ui.rdl.check.expensive">
<attribute
name="FIXABLE_KEY"
value="true">
</attribute>
</markerResolutionGenerator>
</extension>
<!-- Rename Refactoring -->
<extension point="org.eclipse.ui.handlers">
<handler
class="com.minres.rdl.ui.RDLExecutableExtensionFactory:org.eclipse.xtext.ui.refactoring.ui.DefaultRenameElementHandler"
commandId="org.eclipse.xtext.ui.refactoring.RenameElement">
<activeWhen>
<reference
definitionId="com.minres.rdl.RDL.Editor.opened">
</reference>
</activeWhen>
</handler>
</extension>
<extension point="org.eclipse.ui.menus">
<menuContribution
locationURI="popup:#TextEditorContext?after=group.edit">
<command commandId="org.eclipse.xtext.ui.refactoring.RenameElement"
style="push">
<visibleWhen checkEnabled="false">
<reference
definitionId="com.minres.rdl.RDL.Editor.opened">
</reference>
</visibleWhen>
</command>
</menuContribution>
</extension>
<extension point="org.eclipse.ui.preferencePages">
<page
category="com.minres.rdl.RDL"
class="com.minres.rdl.ui.RDLExecutableExtensionFactory:org.eclipse.xtext.ui.refactoring.ui.RefactoringPreferencePage"
id="com.minres.rdl.RDL.refactoring"
name="Refactoring">
<keywordReference id="com.minres.rdl.ui.keyword_RDL"/>
</page>
</extension>
<extension point="org.eclipse.compare.contentViewers">
<viewer id="com.minres.rdl.RDL.compare.contentViewers"
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"
class="com.minres.rdl.ui.RDLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.model.XtextDocumentProvider"
extensions="rdl">
</provider>
</extension>
<extension point="org.eclipse.team.core.fileTypes">
<fileTypes
extension="rdl"
type="text">
</fileTypes>
</extension>
<extension
point="org.eclipse.ui.newWizards">
<category id="com.minres.category" name="MINRES">
</category>
<wizard
category="com.minres.category"
class="com.minres.rdl.ui.RDLExecutableExtensionFactory:org.eclipse.xtext.ui.wizard.template.TemplateNewProjectWizard"
id="com.minres.rdl.ui.wizard.RDLNewProjectWizard"
name="RDL Project"
icon="icons/new_RDL_proj.gif"
project="true">
</wizard>
</extension>
<extension
point="org.eclipse.xtext.ui.projectTemplate">
<projectTemplateProvider
class="com.minres.rdl.ui.wizard.RDLProjectTemplateProvider"
grammarName="com.minres.rdl.RDL">
</projectTemplateProvider>
</extension>
<extension
point="org.eclipse.ui.perspectiveExtensions">
<perspectiveExtension targetID="org.eclipse.ui.resourcePerspective">
<newWizardShortcut id="com.minres.rdl.ui.wizard.RDLNewProjectWizard"/>
</perspectiveExtension>
</extension>
<extension
point="org.eclipse.ui.editors">
<editor
class="com.minres.rdl.ui.RDLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.XtextEditor"
contributorClass="org.eclipse.ui.editors.text.TextEditorActionContributor"
default="true"
extensions="rdl"
id="com.minres.rdl.RDL"
name="RDL Editor">
</editor>
</extension>
<extension
point="org.eclipse.ui.handlers">
<handler
class="com.minres.rdl.ui.RDLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.hyperlinking.OpenDeclarationHandler"
commandId="org.eclipse.xtext.ui.editor.hyperlinking.OpenDeclaration">
<activeWhen>
<reference
definitionId="com.minres.rdl.RDL.Editor.opened">
</reference>
</activeWhen>
</handler>
<handler
class="com.minres.rdl.ui.RDLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.handler.ValidateActionHandler"
commandId="com.minres.rdl.RDL.validate">
<activeWhen>
<reference
definitionId="com.minres.rdl.RDL.Editor.opened">
</reference>
</activeWhen>
</handler>
<!-- copy qualified name -->
<handler
class="com.minres.rdl.ui.RDLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedNameHandler"
commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedName">
<activeWhen>
<reference definitionId="com.minres.rdl.RDL.Editor.opened" />
</activeWhen>
</handler>
<handler
class="com.minres.rdl.ui.RDLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.copyqualifiedname.OutlineCopyQualifiedNameHandler"
commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.OutlineCopyQualifiedName">
<activeWhen>
<and>
<reference definitionId="com.minres.rdl.RDL.XtextEditor.opened" />
<iterate>
<adapt type="org.eclipse.xtext.ui.editor.outline.IOutlineNode" />
</iterate>
</and>
</activeWhen>
</handler>
</extension>
<extension point="org.eclipse.core.expressions.definitions">
<definition id="com.minres.rdl.RDL.Editor.opened">
<and>
<reference definitionId="isActiveEditorAnInstanceOfXtextEditor"/>
<with variable="activeEditor">
<test property="org.eclipse.xtext.ui.editor.XtextEditor.languageName"
value="com.minres.rdl.RDL"
forcePluginActivation="true"/>
</with>
</and>
</definition>
<definition id="com.minres.rdl.RDL.XtextEditor.opened">
<and>
<reference definitionId="isXtextEditorActive"/>
<with variable="activeEditor">
<test property="org.eclipse.xtext.ui.editor.XtextEditor.languageName"
value="com.minres.rdl.RDL"
forcePluginActivation="true"/>
</with>
</and>
</definition>
</extension>
<extension
point="org.eclipse.ui.preferencePages">
<page
class="com.minres.rdl.ui.RDLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.preferences.LanguageRootPreferencePage"
id="com.minres.rdl.RDL"
name="RDL">
<keywordReference id="com.minres.rdl.ui.keyword_RDL"/>
</page>
<page
category="com.minres.rdl.RDL"
class="com.minres.rdl.ui.RDLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.syntaxcoloring.SyntaxColoringPreferencePage"
id="com.minres.rdl.RDL.coloring"
name="Syntax Coloring">
<keywordReference id="com.minres.rdl.ui.keyword_RDL"/>
</page>
<page
category="com.minres.rdl.RDL"
class="com.minres.rdl.ui.RDLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.templates.XtextTemplatePreferencePage"
id="com.minres.rdl.RDL.templates"
name="Templates">
<keywordReference id="com.minres.rdl.ui.keyword_RDL"/>
</page>
<page category="com.minres.rdl.RDL"
class="com.minres.rdl.ui.RDLExecutableExtensionFactory:com.minres.rdl.ui.preferences.RdlPreferencePage"
id="com.minres.rdl.RDL.preferences"
name="Output Configuration">
<keywordReference id="com.minres.rdl.ui.keyword_RDL"/>
</page>
</extension>
<extension
point="org.eclipse.ui.propertyPages">
<page
class="com.minres.rdl.ui.RDLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.preferences.LanguageRootPreferencePage"
id="com.minres.rdl.RDL"
name="RDL">
<keywordReference id="com.minres.rdl.ui.keyword_RDL"/>
<enabledWhen>
<adapt type="org.eclipse.core.resources.IProject"/>
</enabledWhen>
<filter name="projectNature" value="org.eclipse.xtext.ui.shared.xtextNature"/>
</page>
</extension>
<extension
point="org.eclipse.ui.keywords">
<keyword
id="com.minres.rdl.ui.keyword_RDL"
label="RDL"/>
</extension>
<extension
point="org.eclipse.ui.commands">
<command
description="Trigger expensive validation"
id="com.minres.rdl.RDL.validate"
name="Validate">
</command>
<!-- copy qualified name -->
<command
id="org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedName"
categoryId="org.eclipse.ui.category.edit"
description="Copy the qualified name for the selected element"
name="Copy Qualified Name">
</command>
<command
id="org.eclipse.xtext.ui.editor.copyqualifiedname.OutlineCopyQualifiedName"
categoryId="org.eclipse.ui.category.edit"
description="Copy the qualified name for the selected element"
name="Copy Qualified Name">
</command>
</extension>
<extension point="org.eclipse.ui.menus">
<menuContribution
locationURI="popup:#TextEditorContext?after=group.edit">
<command
commandId="com.minres.rdl.RDL.validate"
style="push"
tooltip="Trigger expensive validation">
<visibleWhen checkEnabled="false">
<reference
definitionId="com.minres.rdl.RDL.Editor.opened">
</reference>
</visibleWhen>
</command>
</menuContribution>
<!-- copy qualified name -->
<menuContribution locationURI="popup:#TextEditorContext?after=copy">
<command commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedName"
style="push" tooltip="Copy Qualified Name">
<visibleWhen checkEnabled="false">
<reference definitionId="com.minres.rdl.RDL.Editor.opened" />
</visibleWhen>
</command>
</menuContribution>
<menuContribution locationURI="menu:edit?after=copy">
<command commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedName"
style="push" tooltip="Copy Qualified Name">
<visibleWhen checkEnabled="false">
<reference definitionId="com.minres.rdl.RDL.Editor.opened" />
</visibleWhen>
</command>
</menuContribution>
<menuContribution locationURI="popup:org.eclipse.xtext.ui.outline?after=additions">
<command commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.OutlineCopyQualifiedName"
style="push" tooltip="Copy Qualified Name">
<visibleWhen checkEnabled="false">
<and>
<reference definitionId="com.minres.rdl.RDL.XtextEditor.opened" />
<iterate>
<adapt type="org.eclipse.xtext.ui.editor.outline.IOutlineNode" />
</iterate>
</and>
</visibleWhen>
</command>
</menuContribution>
</extension>
<extension point="org.eclipse.ui.menus">
<menuContribution locationURI="popup:#TextEditorContext?endof=group.find">
<command commandId="org.eclipse.xtext.ui.editor.FindReferences">
<visibleWhen checkEnabled="false">
<reference definitionId="com.minres.rdl.RDL.Editor.opened">
</reference>
</visibleWhen>
</command>
</menuContribution>
</extension>
<extension point="org.eclipse.ui.handlers">
<handler
class="com.minres.rdl.ui.RDLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.findrefs.FindReferencesHandler"
commandId="org.eclipse.xtext.ui.editor.FindReferences">
<activeWhen>
<reference
definitionId="com.minres.rdl.RDL.Editor.opened">
</reference>
</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">
<parser
class="com.minres.rdl.ui.RDLExecutableExtensionFactory:org.eclipse.xtext.resource.IResourceFactory"
type="rdl">
</parser>
</extension>
<extension point="org.eclipse.xtext.extension_resourceServiceProvider">
<resourceServiceProvider
class="com.minres.rdl.ui.RDLExecutableExtensionFactory:org.eclipse.xtext.ui.resource.IResourceUIServiceProvider"
uriExtension="rdl">
</resourceServiceProvider>
</extension>
<!-- marker definitions for com.minres.rdl.RDL -->
<extension
id="rdl.check.fast"
name="RDL Problem"
point="org.eclipse.core.resources.markers">
<super type="org.eclipse.xtext.ui.check.fast"/>
<persistent value="true"/>
</extension>
<extension
id="rdl.check.normal"
name="RDL Problem"
point="org.eclipse.core.resources.markers">
<super type="org.eclipse.xtext.ui.check.normal"/>
<persistent value="true"/>
</extension>
<extension
id="rdl.check.expensive"
name="RDL Problem"
point="org.eclipse.core.resources.markers">
<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.ui.preferencePages">
<page
category="com.minres.rdl.RDL"
class="com.minres.rdl.ui.RDLExecutableExtensionFactory:org.eclipse.xtext.builder.preferences.BuilderPreferencePage"
id="com.minres.rdl.RDL.compiler.preferencePage"
name="Compiler">
<keywordReference id="com.minres.rdl.ui.keyword_RDL"/>
</page>
</extension>
<extension point="org.eclipse.ui.propertyPages">
<page
category="com.minres.rdl.RDL"
class="com.minres.rdl.ui.RDLExecutableExtensionFactory:org.eclipse.xtext.builder.preferences.BuilderPreferencePage"
id="com.minres.rdl.RDL.compiler.propertyPage"
name="Compiler">
<keywordReference id="com.minres.rdl.ui.keyword_RDL"/>
<enabledWhen>
<adapt type="org.eclipse.core.resources.IProject"/>
</enabledWhen>
<filter name="projectNature" value="org.eclipse.xtext.ui.shared.xtextNature"/>
</page>
</extension>
<extension point="org.eclipse.ui.menus">
<menuContribution locationURI="popup:#TextEditorContext?after=xtext.ui.openDeclaration">
<command
commandId="org.eclipse.xtext.ui.OpenGeneratedFileCommand"
id="com.minres.rdl.RDL.OpenGeneratedCode"
style="push">
<visibleWhen checkEnabled="false">
<reference definitionId="com.minres.rdl.RDL.Editor.opened" />
</visibleWhen>
</command>
</menuContribution>
</extension>
<extension point="org.eclipse.ui.handlers">
<handler
class="com.minres.rdl.ui.RDLExecutableExtensionFactory:org.eclipse.xtext.ui.generator.trace.OpenGeneratedFileHandler"
commandId="org.eclipse.xtext.ui.OpenGeneratedFileCommand">
<activeWhen>
<reference definitionId="com.minres.rdl.RDL.Editor.opened" />
</activeWhen>
</handler>
</extension>
<!-- Quick Outline -->
<extension
point="org.eclipse.ui.handlers">
<handler
class="com.minres.rdl.ui.RDLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.outline.quickoutline.ShowQuickOutlineActionHandler"
commandId="org.eclipse.xtext.ui.editor.outline.QuickOutline">
<activeWhen>
<reference
definitionId="com.minres.rdl.RDL.Editor.opened">
</reference>
</activeWhen>
</handler>
</extension>
<extension
point="org.eclipse.ui.commands">
<command
description="Open the quick outline."
id="org.eclipse.xtext.ui.editor.outline.QuickOutline"
name="Quick Outline">
</command>
</extension>
<extension point="org.eclipse.ui.menus">
<menuContribution
locationURI="popup:#TextEditorContext?after=group.open">
<command commandId="org.eclipse.xtext.ui.editor.outline.QuickOutline"
style="push"
tooltip="Open Quick Outline">
<visibleWhen checkEnabled="false">
<reference definitionId="com.minres.rdl.RDL.Editor.opened"/>
</visibleWhen>
</command>
</menuContribution>
</extension>
<!-- quickfix marker resolution generator for com.minres.rdl.RDL -->
<extension
point="org.eclipse.ui.ide.markerResolution">
<markerResolutionGenerator
class="com.minres.rdl.ui.RDLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator"
markerType="com.minres.rdl.ui.rdl.check.fast">
<attribute
name="FIXABLE_KEY"
value="true">
</attribute>
</markerResolutionGenerator>
<markerResolutionGenerator
class="com.minres.rdl.ui.RDLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator"
markerType="com.minres.rdl.ui.rdl.check.normal">
<attribute
name="FIXABLE_KEY"
value="true">
</attribute>
</markerResolutionGenerator>
<markerResolutionGenerator
class="com.minres.rdl.ui.RDLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator"
markerType="com.minres.rdl.ui.rdl.check.expensive">
<attribute
name="FIXABLE_KEY"
value="true">
</attribute>
</markerResolutionGenerator>
</extension>
<!-- Rename Refactoring -->
<extension point="org.eclipse.ui.handlers">
<handler
class="com.minres.rdl.ui.RDLExecutableExtensionFactory:org.eclipse.xtext.ui.refactoring.ui.DefaultRenameElementHandler"
commandId="org.eclipse.xtext.ui.refactoring.RenameElement">
<activeWhen>
<reference
definitionId="com.minres.rdl.RDL.Editor.opened">
</reference>
</activeWhen>
</handler>
</extension>
<extension point="org.eclipse.ui.menus">
<menuContribution
locationURI="popup:#TextEditorContext?after=group.edit">
<command commandId="org.eclipse.xtext.ui.refactoring.RenameElement"
style="push">
<visibleWhen checkEnabled="false">
<reference
definitionId="com.minres.rdl.RDL.Editor.opened">
</reference>
</visibleWhen>
</command>
</menuContribution>
</extension>
<extension point="org.eclipse.ui.preferencePages">
<page
category="com.minres.rdl.RDL"
class="com.minres.rdl.ui.RDLExecutableExtensionFactory:org.eclipse.xtext.ui.refactoring.ui.RefactoringPreferencePage"
id="com.minres.rdl.RDL.refactoring"
name="Refactoring">
<keywordReference id="com.minres.rdl.ui.keyword_RDL"/>
</page>
</extension>
<extension point="org.eclipse.compare.contentViewers">
<viewer id="com.minres.rdl.RDL.compare.contentViewers"
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"
class="com.minres.rdl.ui.RDLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.model.XtextDocumentProvider"
extensions="rdl">
</provider>
</extension>
<extension point="org.eclipse.team.core.fileTypes">
<fileTypes
extension="rdl"
type="text">
</fileTypes>
</extension>
<extension
point="org.eclipse.ui.newWizards">
<category id="com.minres.category" name="MINRES">
</category>
<wizard
category="com.minres.category"
class="com.minres.rdl.ui.RDLExecutableExtensionFactory:org.eclipse.xtext.ui.wizard.template.TemplateNewProjectWizard"
id="com.minres.rdl.ui.wizard.RDLNewProjectWizard"
name="RDL Project"
icon="icons/new_RDL_proj.gif"
project="true">
</wizard>
</extension>
<extension
point="org.eclipse.xtext.ui.projectTemplate">
<projectTemplateProvider
class="com.minres.rdl.ui.wizard.RDLProjectTemplateProvider"
grammarName="com.minres.rdl.RDL">
</projectTemplateProvider>
</extension>
<extension
point="org.eclipse.ui.perspectiveExtensions">
<perspectiveExtension targetID="org.eclipse.ui.resourcePerspective">
<newWizardShortcut id="com.minres.rdl.ui.wizard.RDLNewProjectWizard"/>
</perspectiveExtension>
</extension>
<!-- <extension point="org.eclipse.xtext.builder.participant">
<participant
class="com.minres.rdl.ui.RDLExecutableExtensionFactory:org.eclipse.xtext.builder.IXtextBuilderParticipant"
fileExtensions="rdl"/>
</extension>-->
<extension
point="org.eclipse.ui.handlers">
<handler
class="com.minres.rdl.ui.RDLExecutableExtensionFactory:com.minres.rdl.ui.builder.GenerationHandler"
commandId="com.minres.rdl.ui.handler.GenerationCommand">
</handler>
</extension>
<extension
point="org.eclipse.ui.commands">
<command name="Generate Code from RDL"
id="com.minres.rdl.ui.handler.GenerationCommand">
</command>
</extension>
<extension point="org.eclipse.ui.menus">
<menuContribution locationURI="popup:org.eclipse.ui.navigator.ProjectExplorer#PopupMenu">
<command
commandId="com.minres.rdl.ui.handler.GenerationCommand"
style="push">
<visibleWhen
checkEnabled="false">
<iterate>
<adapt type="org.eclipse.core.resources.IResource">
<test property="org.eclipse.core.resources.name"
value="*.rdl"/>
</adapt>
</iterate>
</visibleWhen>
</command>
</menuContribution>
</extension>
<extension point="org.eclipse.ui.menus">
<menuContribution locationURI="popup:#TextEditorContext?after=additions">
<command
commandId="com.minres.rdl.ui.handler.GenerationCommand"
style="push">
<visibleWhen checkEnabled="false">
<reference
definitionId="com.minres.rdl.RDL.Editor.opened">
</reference>
</visibleWhen>
</command>
</menuContribution>
</extension>
</plugin>

View File

@ -4,7 +4,7 @@
<parent>
<groupId>com.minres.rdl</groupId>
<artifactId>com.minres.rdl.parent</artifactId>
<version>1.0.0-SNAPSHOT</version>
<version>1.4.0</version>
</parent>
<artifactId>com.minres.rdl.ui</artifactId>
<packaging>eclipse-plugin</packaging>
@ -17,6 +17,4 @@
</plugin>
</plugins>
</build>
<version>1.2.0-SNAPSHOT</version>
</project>

View File

@ -1 +0,0 @@
/*

View File

@ -0,0 +1,307 @@
/*
* generated by Xtext 2.26.0
*/
package com.minres.rdl.ui;
import com.google.inject.Binder;
import com.google.inject.Provider;
import com.google.inject.name.Names;
import com.minres.rdl.ide.contentassist.antlr.PartialRDLContentAssistParser;
import com.minres.rdl.ide.contentassist.antlr.RDLParser;
import com.minres.rdl.ide.contentassist.antlr.internal.InternalRDLLexer;
import com.minres.rdl.ui.contentassist.RDLProposalProvider;
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.validation.RDLValidatorConfigurationBlock;
import org.eclipse.compare.IViewerCreator;
import org.eclipse.core.resources.IWorkspaceRoot;
import org.eclipse.core.resources.ResourcesPlugin;
import org.eclipse.jface.viewers.ILabelProvider;
import org.eclipse.ui.plugin.AbstractUIPlugin;
import org.eclipse.xtext.builder.BuilderParticipant;
import org.eclipse.xtext.builder.EclipseOutputConfigurationProvider;
import org.eclipse.xtext.builder.IXtextBuilderParticipant;
import org.eclipse.xtext.builder.builderState.IBuilderState;
import org.eclipse.xtext.builder.clustering.CurrentDescriptions;
import org.eclipse.xtext.builder.impl.PersistentDataAwareDirtyResource;
import org.eclipse.xtext.builder.nature.NatureAddingEditorCallback;
import org.eclipse.xtext.builder.preferences.BuilderPreferenceAccess;
import org.eclipse.xtext.generator.IContextualOutputConfigurationProvider;
import org.eclipse.xtext.ide.LexerIdeBindings;
import org.eclipse.xtext.ide.editor.contentassist.antlr.IContentAssistParser;
import org.eclipse.xtext.ide.editor.contentassist.antlr.internal.Lexer;
import org.eclipse.xtext.ide.editor.partialEditing.IPartialEditingContentAssistParser;
import org.eclipse.xtext.parser.antlr.AntlrTokenDefProvider;
import org.eclipse.xtext.parser.antlr.ITokenDefProvider;
import org.eclipse.xtext.parser.antlr.LexerProvider;
import org.eclipse.xtext.resource.IResourceDescriptions;
import org.eclipse.xtext.resource.containers.IAllContainersState;
import org.eclipse.xtext.resource.impl.ResourceDescriptionsProvider;
import org.eclipse.xtext.service.SingletonBinding;
import org.eclipse.xtext.ui.DefaultUiModule;
import org.eclipse.xtext.ui.UIBindings;
import org.eclipse.xtext.ui.codetemplates.ui.AccessibleCodetemplatesActivator;
import org.eclipse.xtext.ui.codetemplates.ui.partialEditing.IPartialEditingContentAssistContextFactory;
import org.eclipse.xtext.ui.codetemplates.ui.partialEditing.PartialEditingContentAssistContextFactory;
import org.eclipse.xtext.ui.codetemplates.ui.preferences.AdvancedTemplatesPreferencePage;
import org.eclipse.xtext.ui.codetemplates.ui.preferences.TemplatesLanguageConfiguration;
import org.eclipse.xtext.ui.codetemplates.ui.registry.LanguageRegistrar;
import org.eclipse.xtext.ui.codetemplates.ui.registry.LanguageRegistry;
import org.eclipse.xtext.ui.compare.DefaultViewerCreator;
import org.eclipse.xtext.ui.editor.DocumentBasedDirtyResource;
import org.eclipse.xtext.ui.editor.IXtextEditorCallback;
import org.eclipse.xtext.ui.editor.contentassist.ContentAssistContext;
import org.eclipse.xtext.ui.editor.contentassist.FQNPrefixMatcher;
import org.eclipse.xtext.ui.editor.contentassist.IContentProposalProvider;
import org.eclipse.xtext.ui.editor.contentassist.IProposalConflictHelper;
import org.eclipse.xtext.ui.editor.contentassist.PrefixMatcher;
import org.eclipse.xtext.ui.editor.contentassist.antlr.AntlrProposalConflictHelper;
import org.eclipse.xtext.ui.editor.contentassist.antlr.DelegatingContentAssistContextFactory;
import org.eclipse.xtext.ui.editor.formatting.IContentFormatterFactory;
import org.eclipse.xtext.ui.editor.formatting2.ContentFormatterFactory;
import org.eclipse.xtext.ui.editor.outline.IOutlineTreeProvider;
import org.eclipse.xtext.ui.editor.outline.impl.IOutlineTreeStructureProvider;
import org.eclipse.xtext.ui.editor.preferences.IPreferenceStoreInitializer;
import org.eclipse.xtext.ui.editor.quickfix.IssueResolutionProvider;
import org.eclipse.xtext.ui.editor.templates.XtextTemplatePreferencePage;
import org.eclipse.xtext.ui.refactoring.IDependentElementsCalculator;
import org.eclipse.xtext.ui.refactoring.IReferenceUpdater;
import org.eclipse.xtext.ui.refactoring.IRenameRefactoringProvider;
import org.eclipse.xtext.ui.refactoring.IRenameStrategy;
import org.eclipse.xtext.ui.refactoring.impl.DefaultDependentElementsCalculator;
import org.eclipse.xtext.ui.refactoring.impl.DefaultReferenceUpdater;
import org.eclipse.xtext.ui.refactoring.impl.DefaultRenameRefactoringProvider;
import org.eclipse.xtext.ui.refactoring.impl.DefaultRenameStrategy;
import org.eclipse.xtext.ui.refactoring.ui.DefaultRenameSupport;
import org.eclipse.xtext.ui.refactoring.ui.IRenameSupport;
import org.eclipse.xtext.ui.refactoring.ui.RefactoringPreferences;
import org.eclipse.xtext.ui.resource.ResourceServiceDescriptionLabelProvider;
import org.eclipse.xtext.ui.shared.Access;
import org.eclipse.xtext.ui.validation.AbstractValidatorConfigurationBlock;
import org.eclipse.xtext.ui.wizard.IProjectCreator;
import org.eclipse.xtext.ui.wizard.template.DefaultTemplateProjectCreator;
/**
* Manual modifications go to {@link RDLUiModule}.
*/
@SuppressWarnings("all")
public abstract class AbstractRDLUiModule extends DefaultUiModule {
public AbstractRDLUiModule(AbstractUIPlugin plugin) {
super(plugin);
}
// contributed by org.eclipse.xtext.xtext.generator.ImplicitFragment
public Provider<? extends IAllContainersState> provideIAllContainersState() {
return Access.getJavaProjectsState();
}
// contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2
public Class<? extends IProposalConflictHelper> bindIProposalConflictHelper() {
return AntlrProposalConflictHelper.class;
}
// contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2
public void configureContentAssistLexer(Binder binder) {
binder.bind(Lexer.class)
.annotatedWith(Names.named(LexerIdeBindings.CONTENT_ASSIST))
.to(InternalRDLLexer.class);
}
// contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2
public void configureHighlightingLexer(Binder binder) {
binder.bind(org.eclipse.xtext.parser.antlr.Lexer.class)
.annotatedWith(Names.named(LexerIdeBindings.HIGHLIGHTING))
.to(com.minres.rdl.parser.antlr.internal.InternalRDLLexer.class);
}
// contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2
public void configureHighlightingTokenDefProvider(Binder binder) {
binder.bind(ITokenDefProvider.class)
.annotatedWith(Names.named(LexerIdeBindings.HIGHLIGHTING))
.to(AntlrTokenDefProvider.class);
}
// contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2
public Class<? extends ContentAssistContext.Factory> bindContentAssistContext$Factory() {
return DelegatingContentAssistContextFactory.class;
}
// contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2
public Class<? extends IContentAssistParser> bindIContentAssistParser() {
return RDLParser.class;
}
// contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2
public void configureContentAssistLexerProvider(Binder binder) {
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;
}
// contributed by org.eclipse.xtext.xtext.generator.builder.BuilderIntegrationFragment2
public void configureIResourceDescriptionsBuilderScope(Binder binder) {
binder.bind(IResourceDescriptions.class).annotatedWith(Names.named(ResourceDescriptionsProvider.NAMED_BUILDER_SCOPE)).to(CurrentDescriptions.ResourceSetAware.class);
}
// contributed by org.eclipse.xtext.xtext.generator.builder.BuilderIntegrationFragment2
public Class<? extends IXtextEditorCallback> bindIXtextEditorCallback() {
return NatureAddingEditorCallback.class;
}
// contributed by org.eclipse.xtext.xtext.generator.builder.BuilderIntegrationFragment2
public Class<? extends IContextualOutputConfigurationProvider> bindIContextualOutputConfigurationProvider() {
return EclipseOutputConfigurationProvider.class;
}
// contributed by org.eclipse.xtext.xtext.generator.builder.BuilderIntegrationFragment2
public void configureIResourceDescriptionsPersisted(Binder binder) {
binder.bind(IResourceDescriptions.class).annotatedWith(Names.named(ResourceDescriptionsProvider.PERSISTED_DESCRIPTIONS)).to(IBuilderState.class);
}
// contributed by org.eclipse.xtext.xtext.generator.builder.BuilderIntegrationFragment2
public Class<? extends DocumentBasedDirtyResource> bindDocumentBasedDirtyResource() {
return PersistentDataAwareDirtyResource.class;
}
// contributed by org.eclipse.xtext.xtext.generator.generator.GeneratorFragment2
public Class<? extends IXtextBuilderParticipant> bindIXtextBuilderParticipant() {
return BuilderParticipant.class;
}
// contributed by org.eclipse.xtext.xtext.generator.generator.GeneratorFragment2
public IWorkspaceRoot bindIWorkspaceRootToInstance() {
return ResourcesPlugin.getWorkspace().getRoot();
}
// contributed by org.eclipse.xtext.xtext.generator.generator.GeneratorFragment2
public void configureBuilderPreferenceStoreInitializer(Binder binder) {
binder.bind(IPreferenceStoreInitializer.class)
.annotatedWith(Names.named("builderPreferenceInitializer"))
.to(BuilderPreferenceAccess.Initializer.class);
}
// contributed by org.eclipse.xtext.xtext.generator.formatting.Formatter2Fragment2
public Class<? extends IContentFormatterFactory> bindIContentFormatterFactory() {
return ContentFormatterFactory.class;
}
// contributed by org.eclipse.xtext.xtext.generator.ui.labeling.LabelProviderFragment2
public Class<? extends ILabelProvider> bindILabelProvider() {
return RDLLabelProvider.class;
}
// contributed by org.eclipse.xtext.xtext.generator.ui.labeling.LabelProviderFragment2
public void configureResourceUIServiceLabelProvider(Binder binder) {
binder.bind(ILabelProvider.class).annotatedWith(ResourceServiceDescriptionLabelProvider.class).to(RDLDescriptionLabelProvider.class);
}
// contributed by org.eclipse.xtext.xtext.generator.ui.outline.OutlineTreeProviderFragment2
public Class<? extends IOutlineTreeProvider> bindIOutlineTreeProvider() {
return RDLOutlineTreeProvider.class;
}
// contributed by org.eclipse.xtext.xtext.generator.ui.outline.OutlineTreeProviderFragment2
public Class<? extends IOutlineTreeStructureProvider> bindIOutlineTreeStructureProvider() {
return RDLOutlineTreeProvider.class;
}
// contributed by org.eclipse.xtext.xtext.generator.ui.quickfix.QuickfixProviderFragment2
public Class<? extends IssueResolutionProvider> bindIssueResolutionProvider() {
return RDLQuickfixProvider.class;
}
// contributed by org.eclipse.xtext.xtext.generator.ui.contentAssist.ContentAssistFragment2
public Class<? extends IContentProposalProvider> bindIContentProposalProvider() {
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;
}
// contributed by org.eclipse.xtext.xtext.generator.ui.refactoring.RefactorElementNameFragment2
public Class<? extends IReferenceUpdater> bindIReferenceUpdater() {
return DefaultReferenceUpdater.class;
}
// contributed by org.eclipse.xtext.xtext.generator.ui.refactoring.RefactorElementNameFragment2
public Class<? extends IRenameRefactoringProvider> bindIRenameRefactoringProvider() {
return DefaultRenameRefactoringProvider.class;
}
// contributed by org.eclipse.xtext.xtext.generator.ui.refactoring.RefactorElementNameFragment2
public Class<? extends IRenameSupport.Factory> bindIRenameSupport$Factory() {
return DefaultRenameSupport.Factory.class;
}
// contributed by org.eclipse.xtext.xtext.generator.ui.templates.CodetemplatesGeneratorFragment2
public Provider<? extends TemplatesLanguageConfiguration> provideTemplatesLanguageConfiguration() {
return AccessibleCodetemplatesActivator.getTemplatesLanguageConfigurationProvider();
}
// contributed by org.eclipse.xtext.xtext.generator.ui.templates.CodetemplatesGeneratorFragment2
public Provider<? extends LanguageRegistry> provideLanguageRegistry() {
return AccessibleCodetemplatesActivator.getLanguageRegistry();
}
// contributed by org.eclipse.xtext.xtext.generator.ui.templates.CodetemplatesGeneratorFragment2
@SingletonBinding(eager=true)
public Class<? extends LanguageRegistrar> bindLanguageRegistrar() {
return LanguageRegistrar.class;
}
// contributed by org.eclipse.xtext.xtext.generator.ui.templates.CodetemplatesGeneratorFragment2
public Class<? extends XtextTemplatePreferencePage> bindXtextTemplatePreferencePage() {
return AdvancedTemplatesPreferencePage.class;
}
// contributed by org.eclipse.xtext.xtext.generator.ui.templates.CodetemplatesGeneratorFragment2
public Class<? extends IPartialEditingContentAssistParser> bindIPartialEditingContentAssistParser() {
return PartialRDLContentAssistParser.class;
}
// contributed by org.eclipse.xtext.xtext.generator.ui.templates.CodetemplatesGeneratorFragment2
public Class<? extends IPartialEditingContentAssistContextFactory> bindIPartialEditingContentAssistContextFactory() {
return PartialEditingContentAssistContextFactory.class;
}
// contributed by org.eclipse.xtext.xtext.generator.ui.compare.CompareFragment2
public Class<? extends IViewerCreator> bindIViewerCreator() {
return DefaultViewerCreator.class;
}
// contributed by org.eclipse.xtext.xtext.generator.ui.compare.CompareFragment2
public void configureCompareViewerTitle(Binder binder) {
binder.bind(String.class).annotatedWith(Names.named(UIBindings.COMPARE_VIEWER_TITLE)).toInstance("RDL Compare");
}
// contributed by org.eclipse.xtext.xtext.generator.ui.projectWizard.TemplateProjectWizardFragment
public Class<? extends IProjectCreator> bindIProjectCreator() {
return DefaultTemplateProjectCreator.class;
}
// contributed by org.eclipse.xtext.xtext.generator.exporting.SimpleNamesFragment2
public Class<? extends IDependentElementsCalculator> bindIDependentElementsCalculator() {
return DefaultDependentElementsCalculator.class;
}
}

View File

@ -0,0 +1,29 @@
/*
* generated by Xtext 2.26.0
*/
package com.minres.rdl.ui;
import com.google.inject.Injector;
import com.minres.rdl.ui.internal.RdlActivator;
import org.eclipse.xtext.ui.guice.AbstractGuiceAwareExecutableExtensionFactory;
import org.osgi.framework.Bundle;
import org.osgi.framework.FrameworkUtil;
/**
* This class was generated. Customizations should only happen in a newly
* introduced subclass.
*/
public class RDLExecutableExtensionFactory extends AbstractGuiceAwareExecutableExtensionFactory {
@Override
protected Bundle getBundle() {
return FrameworkUtil.getBundle(RdlActivator.class);
}
@Override
protected Injector getInjector() {
RdlActivator activator = RdlActivator.getInstance();
return activator != null ? activator.getInjector(RdlActivator.COM_MINRES_RDL_RDL) : null;
}
}

View File

@ -0,0 +1,358 @@
/*
* generated by Xtext 2.26.0
*/
package com.minres.rdl.ui.contentassist;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.xtext.Assignment;
import org.eclipse.xtext.CrossReference;
import org.eclipse.xtext.Keyword;
import org.eclipse.xtext.RuleCall;
import org.eclipse.xtext.ui.editor.contentassist.AbstractJavaBasedContentProposalProvider;
import org.eclipse.xtext.ui.editor.contentassist.ContentAssistContext;
import org.eclipse.xtext.ui.editor.contentassist.ICompletionProposalAcceptor;
/**
* Represents a generated, default implementation of superclass {@link AbstractJavaBasedContentProposalProvider}.
* Methods are dynamically dispatched on the first parameter, i.e., you can override them
* with a more concrete subtype.
*/
public abstract class AbstractRDLProposalProvider extends AbstractJavaBasedContentProposalProvider {
public void completeRoot_Includes(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
}
public void completeRoot_ComponentDefinitions(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
}
public void completeRoot_EnumDefinitions(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
}
public void completeRoot_Instantiations(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
}
public void completeRoot_PropertyAssignments(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
}
public void completeRoot_PropertyDefinitions(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
}
public void completeInclude_ImportURI(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
}
public void completePropertyDefinition_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
}
public void completePropertyDefinition_Type(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
}
public void completePropertyDefinition_Usage(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
}
public void completePropertyDefinition_Default(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
}
public void completePropertyDefault_String(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
if (assignment.getTerminal() instanceof RuleCall) {
completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
}
if (assignment.getTerminal() instanceof Keyword) {
// subclasses may override
}
}
public void completePropertyDefault_Value(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
}
public void completePropertyUsage_Components(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
}
public void completeComponentDefinition_Type(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
}
public void completeComponentDefinition_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
}
public void completeComponentDefinition_ComponentDefinitions(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
}
public void completeComponentDefinition_Instantiations(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
}
public void completeComponentDefinition_PropertyAssignments(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
}
public void completeComponentDefinition_EnumDefinitions(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
}
public void completeInstantiation_InstanceType(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
}
public void completeInstantiation_Alias(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
}
public void completeInstantiation_ComponentRef(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
}
public void completeInstantiation_Component(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
}
public void completeInstantiation_ComponentInstances(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
}
public void completeComponentInstance_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
}
public void completeComponentInstance_Range(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
}
public void completeComponentInstance_Reset(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
}
public void completeComponentInstance_Address(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
}
public void completeComponentInstance_AddrInc(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
}
public void completeComponentInstance_AddrMod(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
}
public void completeRange_Left(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
}
public void completeRange_Right(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
}
public void completeRange_Size(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
}
public void completeExplicitPropertyAssignment_Modifier(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
}
public void completeExplicitPropertyAssignment_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
}
public void completeExplicitPropertyAssignment_Rhs(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
}
public void completePostPropertyAssignment_Instance(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
}
public void completePostPropertyAssignment_PropertyEnum(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
}
public void completePostPropertyAssignment_Property(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
}
public void completePostPropertyAssignment_Rhs(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
}
public void completeInstancePropertyRef_Instance(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
}
public void completeInstancePropertyRef_PropertyEnum(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
}
public void completeInstancePropertyRef_Property(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
}
public void completeInstanceRef_Instance(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
}
public void completeInstanceRef_Tail(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
}
public void completeHierInstanceRef_Instance(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
}
public void completeHierInstanceRef_Tail(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
}
public void completePropertyAssignmentRhs_Value(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
}
public void completePropertyAssignmentRhs_InstPropRef(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
}
public void completePropertyAssignmentRhs_EnumRef(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
}
public void completePropertyAssignmentRhs_Enums(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
}
public void completePropertyAssignmentRhs_Elements(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
}
public void completeConcat_Elements(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
}
public void completeConcatElem_InstPropRef(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
}
public void completeConcatElem_Value(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
}
public void completePropertyRvalueConstant_Val(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
}
public void completePropertyRvalueConstant_Num(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
}
public void completePropertyRvalueConstant_Str(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
}
public void completeEnumDefinition_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
}
public void completeEnumDefinition_Body(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
}
public void completeEnumBody_Entries(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
}
public void completeEnumEntry_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
}
public void completeEnumEntry_Index(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
}
public void completeEnumEntry_Properties(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
}
public void completeEnumProperty_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
// subclasses may override
}
public void completeEnumProperty_Value(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
}
public void completeEnumInstanceType_EXTERNAL(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
// subclasses may override
}
public void completeEnumInstanceType_INTERNAL(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
// subclasses may override
}
public void complete_Root(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
// subclasses may override
}
public void complete_Include(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
// subclasses may override
}
public void complete_PropertyDefinition(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
// subclasses may override
}
public void complete_PropertyTypeName(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
// subclasses may override
}
public void complete_PropertyDefault(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
// subclasses may override
}
public void complete_PropertyUsage(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
// subclasses may override
}
public void complete_PropertyComponent(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
// subclasses may override
}
public void complete_ComponentDefinition(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
// subclasses may override
}
public void complete_ComponentDefinitionType(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
// subclasses may override
}
public void complete_Instantiation(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
// subclasses may override
}
public void complete_ComponentInstance(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
// subclasses may override
}
public void complete_Range(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
// subclasses may override
}
public void complete_PropertyAssignment(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
// subclasses may override
}
public void complete_DefaultProperyAssignment(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
// subclasses may override
}
public void complete_ExplicitPropertyAssignment(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
// subclasses may override
}
public void complete_PostPropertyAssignment(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
// subclasses may override
}
public void complete_InstancePropertyRef(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
// subclasses may override
}
public void complete_Entity(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
// subclasses may override
}
public void complete_InstanceRef(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
// subclasses may override
}
public void complete_HierInstanceRef(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
// subclasses may override
}
public void complete_PropertyAssignmentRhs(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
// subclasses may override
}
public void complete_Concat(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
// subclasses may override
}
public void complete_ConcatElem(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
// subclasses may override
}
public void complete_PropertyEnum(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
// subclasses may override
}
public void complete_Property(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
// subclasses may override
}
public void complete_PropertyRvalueConstant(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
// subclasses may override
}
public void complete_RValueConstant(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
// subclasses may override
}
public void complete_PropertyModifier(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
// subclasses may override
}
public void complete_EnumDefinition(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
// subclasses may override
}
public void complete_EnumBody(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
// subclasses may override
}
public void complete_EnumEntry(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
// subclasses may override
}
public void complete_EnumProperty(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
// subclasses may override
}
public void complete_EnumInstanceType(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
// subclasses may override
}
public void complete_ID(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
// subclasses may override
}
public void complete_WS(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
// subclasses may override
}
public void complete_ML_COMMENT(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
// subclasses may override
}
public void complete_SL_COMMENT(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
// subclasses may override
}
public void complete_ESCAPE_JSP(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
// subclasses may override
}
public void complete_ESCAPE_ORDL(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
// subclasses may override
}
public void complete_NUM(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
// subclasses may override
}
public void complete_STR(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
// subclasses may override
}
}

View File

@ -0,0 +1,94 @@
/*
* generated by Xtext 2.26.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.minres.rdl.RDLRuntimeModule;
import com.minres.rdl.ui.RDLUiModule;
import java.util.Collections;
import java.util.Map;
import org.apache.log4j.Logger;
import org.eclipse.ui.plugin.AbstractUIPlugin;
import org.eclipse.xtext.ui.shared.SharedStateModule;
import org.eclipse.xtext.util.Modules2;
import org.osgi.framework.BundleContext;
/**
* This class was generated. Customizations should only happen in a newly
* introduced subclass.
*/
public class 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);
private static RdlActivator INSTANCE;
private Map<String, Injector> injectors = Collections.synchronizedMap(Maps.<String, Injector> newHashMapWithExpectedSize(1));
@Override
public void start(BundleContext context) throws Exception {
super.start(context);
INSTANCE = this;
}
@Override
public void stop(BundleContext context) throws Exception {
injectors.clear();
INSTANCE = null;
super.stop(context);
}
public static RdlActivator getInstance() {
return INSTANCE;
}
public Injector getInjector(String language) {
synchronized (injectors) {
Injector injector = injectors.get(language);
if (injector == null) {
injectors.put(language, injector = createInjector(language));
}
return injector;
}
}
protected Injector createInjector(String language) {
try {
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);
logger.error(e.getMessage(), e);
throw new RuntimeException("Failed to create injector for " + language, e);
}
}
protected com.google.inject.Module getRuntimeModule(String grammar) {
if (COM_MINRES_RDL_RDL.equals(grammar)) {
return new RDLRuntimeModule();
}
throw new IllegalArgumentException(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 com.google.inject.Module getSharedStateModule() {
return new SharedStateModule();
}
}

View File

@ -0,0 +1,35 @@
/*
* generated by Xtext 2.26.0
*/
package com.minres.rdl.validation;
import org.eclipse.jface.dialogs.IDialogSettings;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.xtext.ui.validation.AbstractValidatorConfigurationBlock;
@SuppressWarnings("restriction")
public class RDLValidatorConfigurationBlock extends AbstractValidatorConfigurationBlock {
protected static final String SETTINGS_SECTION_NAME = "RDL";
@Override
protected void fillSettingsPage(Composite composite, int nColumns, int defaultIndent) {
addComboBox(RDLConfigurableIssueCodesProvider.DEPRECATED_MODEL_PART, "Deprecated Model Part", composite, defaultIndent);
}
@Override
public void dispose() {
storeSectionExpansionStates(getDialogSettings());
super.dispose();
}
@Override
protected IDialogSettings getDialogSettings() {
IDialogSettings dialogSettings = super.getDialogSettings();
IDialogSettings section = dialogSettings.getSection(SETTINGS_SECTION_NAME);
if (section == null) {
return dialogSettings.addNewSection(SETTINGS_SECTION_NAME);
}
return section;
}
}

View File

@ -3,8 +3,8 @@
*/
package com.minres.rdl.ui
import com.minres.structural.ui.hyperlink.MyHyperlinkHelper
import com.minres.structural.ui.hyperlink.MyXtextHyperlink
import com.minres.rdl.ui.hyperlink.RdlHyperlinkHelper
import com.minres.rdl.ui.hyperlink.RdlXtextHyperlink
import org.eclipse.xtend.lib.annotations.FinalFieldsConstructor
import org.eclipse.xtext.documentation.IEObjectDocumentationProvider
import org.eclipse.xtext.ui.editor.hover.IEObjectHoverProvider
@ -36,11 +36,11 @@ class RDLUiModule extends AbstractRDLUiModule {
}
def Class<? extends HyperlinkHelper> bindHyperlinkHelper() {
return MyHyperlinkHelper
return RdlHyperlinkHelper
}
def Class<? extends XtextHyperlink> bindHyperlink() {
return MyXtextHyperlink
return RdlXtextHyperlink
}
}

View File

@ -0,0 +1,134 @@
package com.minres.rdl.ui.builder;
import org.eclipse.core.commands.AbstractHandler;
import org.eclipse.core.commands.ExecutionEvent;
import org.eclipse.core.commands.IHandler;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IFolder;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.core.runtime.preferences.IEclipsePreferences;
import org.eclipse.core.runtime.preferences.InstanceScope;
import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.ui.IEditorPart;
import org.eclipse.ui.IWorkbenchPart;
import org.eclipse.ui.handlers.HandlerUtil;
import org.eclipse.xtext.builder.EclipseResourceFileSystemAccess2;
import org.eclipse.xtext.generator.IGenerator2;
import org.eclipse.xtext.resource.IResourceDescriptions;
import org.eclipse.xtext.resource.XtextResource;
import org.eclipse.xtext.ui.editor.XtextEditor;
import org.eclipse.xtext.ui.resource.IResourceSetProvider;
import org.eclipse.xtext.util.CancelIndicator;
import org.eclipse.xtext.util.concurrent.IUnitOfWork;
import com.google.inject.Inject;
import com.google.inject.Provider;
import com.minres.rdl.generator.RdlGeneratorContext;
import com.minres.rdl.preferences.PreferenceConstants;
public class GenerationHandler extends AbstractHandler implements IHandler {
@Inject
private IGenerator2 generator;
@Inject
private Provider<EclipseResourceFileSystemAccess2> fileAccessProvider;
@Inject
IResourceDescriptions resourceDescriptions;
@Inject
IResourceSetProvider resourceSetProvider;
IEclipsePreferences preferences = InstanceScope.INSTANCE.getNode(PreferenceConstants.SCOPE_NAME);
@Override
public Object execute(ExecutionEvent event) {
RdlGeneratorContext context = new RdlGeneratorContext();
context.cancelIndicator = CancelIndicator.NullImpl;
context.namespace = preferences.get(PreferenceConstants.P_NAMESPACE, "sysc");
context.forceOverwrite=preferences.getBoolean(PreferenceConstants.P_OVERWRITE_STUBS, false);
String whatToGenerate = preferences.get(PreferenceConstants.P_FILETYPES_TO_GENERATE, "all");
if(whatToGenerate=="sc-comp") {
context.generateFw=false;
} else if(whatToGenerate=="fw") {
context.generateSc=false;
}
context.forceOverwrite=preferences.getBoolean(PreferenceConstants.P_OVERWRITE_STUBS, false);
context.fwPathModifier=preferences.get(PreferenceConstants.P_FIRMWARE_PATH, "");
context.scPathModifier=preferences.get(PreferenceConstants.P_COMPONENT_PATH, "");
String outputDir = preferences.get("outlet.DEFAULT_OUTPUT.directory", "src-gen");
IEditorPart activeEditor = HandlerUtil.getActiveEditor(event);
IWorkbenchPart activePart = HandlerUtil.getActivePart(event);
if (activeEditor instanceof XtextEditor && activeEditor == activePart) {
IFile file = (IFile) activeEditor.getEditorInput().getAdapter(IFile.class);
if (file != null) {
final EclipseResourceFileSystemAccess2 fsa = getFsa(outputDir, file, context.fwPathModifier, context.scPathModifier);
((XtextEditor)activeEditor).getDocument().readOnly(new IUnitOfWork<Boolean, XtextResource>() {
@Override
public Boolean exec(XtextResource state) throws Exception {
generator.doGenerate(state, fsa, context);
return Boolean.TRUE;
}
});
}
} else {
ISelection selection = HandlerUtil.getCurrentSelection(event);
if (selection instanceof IStructuredSelection) {
IStructuredSelection structuredSelection = (IStructuredSelection) selection;
for (Object element : structuredSelection) {
if (element instanceof IFile) {
IFile file = (IFile) element;
final EclipseResourceFileSystemAccess2 fsa = getFsa(outputDir, file, context.fwPathModifier, context.scPathModifier);
URI uri = URI.createPlatformResourceURI(file.getFullPath().toString(), true);
Resource r = resourceSetProvider.get(file.getProject()).getResource(uri, true);
try {
generator.doGenerate(r, fsa, context);
} finally {}
}
}
}
}
return null;
}
private EclipseResourceFileSystemAccess2 getFsa(String outputDir, IFile file, String fwPath, String scPath) {
IProject project = file.getProject();
IFolder srcGenFolder = project.getFolder(outputDir);
createIfNotExists(srcGenFolder);
if(fwPath.length()>0) createIfNotExists(srcGenFolder.getFolder(fwPath));
if(scPath.length()>0) createIfNotExists(srcGenFolder.getFolder(scPath));
final EclipseResourceFileSystemAccess2 fsa = fileAccessProvider.get();
fsa.setOutputPath("src-gen");
String scGenFolderPath = (fwPath.length()>0? srcGenFolder.getFolder(scPath) : srcGenFolder).getProjectRelativePath().toString();
fsa.setOutputPath("sc-incl-out", scGenFolderPath);
fsa.setOutputPath("sc-src-out", scGenFolderPath);
String fwGenFolderPath = (fwPath.length()>0? srcGenFolder.getFolder(fwPath) : srcGenFolder).getProjectRelativePath().toString();
fsa.setOutputPath("fw-incl-out", fwGenFolderPath);
fsa.setOutputPath("fw-src-out", fwGenFolderPath);
fsa.setProject(project);
fsa.setMonitor(new NullProgressMonitor());
return fsa;
}
private void createIfNotExists(IFolder srcGenFolder) {
if (!srcGenFolder.exists()) {
try {
srcGenFolder.create(true, true, new NullProgressMonitor());
} catch (CoreException e) { }
}
}
@Override
public boolean isEnabled() {
return true;
}
}

View File

@ -1,4 +1,4 @@
package com.minres.structural.ui.hyperlink
package com.minres.rdl.ui.hyperlink
import com.google.inject.Inject
import org.eclipse.emf.common.util.URI
@ -13,7 +13,7 @@ import org.eclipse.xtext.ui.editor.hyperlinking.IHyperlinkAcceptor
import org.eclipse.xtext.util.TextRegion
import org.eclipse.jface.text.IRegion
class MyHyperlinkHelper extends HyperlinkHelper {
class RdlHyperlinkHelper extends HyperlinkHelper {
@Inject ImportUriResolver resolver;
@ -37,7 +37,7 @@ class MyHyperlinkHelper extends HyperlinkHelper {
result.setHyperlinkRegion(new Region(textRegion.getOffset(), textRegion.getLength()) as IRegion);
result.setURI(if(uri.isPlatformResource()) uri else resource.getResourceSet().getURIConverter().normalize(uri));
result.setHyperlinkText(labelProvider.getText(top));
if(result instanceof MyXtextHyperlink) result.selectTarget=false
if(result instanceof RdlXtextHyperlink) result.selectTarget=false
acceptor.accept(result);
}
}

View File

@ -1,10 +1,10 @@
package com.minres.structural.ui.hyperlink
package com.minres.rdl.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 {
class RdlXtextHyperlink extends XtextHyperlink {
var boolean select = true

View File

@ -8,6 +8,7 @@ import com.minres.rdl.preferences.PreferenceConstants
import org.eclipse.ui.preferences.ScopedPreferenceStore
import org.eclipse.core.runtime.preferences.InstanceScope
import org.eclipse.jface.preference.ComboFieldEditor
import org.eclipse.jface.preference.StringFieldEditor
class RdlPreferencePage extends FieldEditorPreferencePage implements IWorkbenchPreferencePage {
@ -21,6 +22,12 @@ class RdlPreferencePage extends FieldEditorPreferencePage implements IWorkbenchP
override createFieldEditors() {
addField(new BooleanFieldEditor(PreferenceConstants.P_GENERATE_CSV, "Generate CSV:", getFieldEditorParent()));
addField(new ComboFieldEditor(PreferenceConstants.P_ADDRESSUNIT, "Address unit size", #[#["Byte (8bit)","byte"], #["Word (16bit)","word"], #["DWord (32bit)","dword"]], getFieldEditorParent()))
addField(new StringFieldEditor(PreferenceConstants.P_NAMESPACE, "Namespace of generated SystemC", 30, getFieldEditorParent()))
addField(new BooleanFieldEditor(PreferenceConstants.P_OVERWRITE_STUBS, "Always overwrite component stubs", getFieldEditorParent()));
addField(new ComboFieldEditor(PreferenceConstants.P_FILETYPES_TO_GENERATE, "File types to generate", #[#["All","all"], #["FW only","fw"], #["SC components","sc-comp"]], getFieldEditorParent()))
addField(new StringFieldEditor(PreferenceConstants.P_COMPONENT_PATH, "relative path for SystemC files", 30, getFieldEditorParent()))
addField(new StringFieldEditor(PreferenceConstants.P_FIRMWARE_PATH, "relative path for FW files", 30, getFieldEditorParent()))
addField(new StringFieldEditor(PreferenceConstants.P_COPYRIGHT_HEADER, "Copyright header", 40, 5, StringFieldEditor.VALIDATE_ON_KEY_STROKE, getFieldEditorParent()))
}
override init(IWorkbench workbench) {

View File

@ -14,7 +14,7 @@ public class Messages extends NLS {
// initialize resource bundle
NLS.initializeMessages(BUNDLE_NAME, Messages.class);
}
private Messages() {
}
}

View File

@ -4,7 +4,7 @@
<parent>
<groupId>com.minres.rdl</groupId>
<artifactId>com.minres.rdl.parent</artifactId>
<version>1.0.0-SNAPSHOT</version>
<version>1.4.0</version>
</parent>
<artifactId>com.minres.rdl.web</artifactId>
<packaging>war</packaging>
@ -76,7 +76,7 @@
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>com.minres.rdl</artifactId>
<version>${rdl-plugin.version}</version>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>

View File

@ -1 +0,0 @@
/*

View File

@ -0,0 +1,14 @@
/*
* generated by Xtext 2.26.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

@ -3,7 +3,7 @@ Automatic-Module-Name: com.minres.rdl
Bundle-ManifestVersion: 2
Bundle-Name: com.minres.rdl
Bundle-Vendor: MINRES Technologies GmbH
Bundle-Version: 1.3.0.qualifier
Bundle-Version: 1.4.0
Bundle-SymbolicName: com.minres.rdl; singleton:=true
Bundle-ActivationPolicy: lazy
Require-Bundle: org.eclipse.xtext,

View File

@ -4,7 +4,7 @@
<parent>
<groupId>com.minres.rdl</groupId>
<artifactId>com.minres.rdl.parent</artifactId>
<version>1.0.0-SNAPSHOT</version>
<version>1.4.0</version>
</parent>
<artifactId>com.minres.rdl</artifactId>
<packaging>eclipse-plugin</packaging>
@ -152,5 +152,4 @@
</pluginManagement>
</build>
<version>1.3.0-SNAPSHOT</version>
</project>

View File

@ -1 +0,0 @@
/*

View File

@ -0,0 +1,216 @@
/*
* generated by Xtext 2.26.0
*/
package com.minres.rdl;
import com.google.inject.Binder;
import com.google.inject.Provider;
import com.google.inject.name.Names;
import com.minres.rdl.formatting2.RDLFormatter;
import com.minres.rdl.generator.RDLGenerator;
import com.minres.rdl.parser.antlr.RDLAntlrTokenFileProvider;
import com.minres.rdl.parser.antlr.RDLParser;
import com.minres.rdl.parser.antlr.internal.InternalRDLLexer;
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;
import org.eclipse.xtext.IGrammarAccess;
import org.eclipse.xtext.formatting2.FormatterPreferenceValuesProvider;
import org.eclipse.xtext.formatting2.FormatterPreferences;
import org.eclipse.xtext.formatting2.IFormatter2;
import org.eclipse.xtext.generator.IGenerator2;
import org.eclipse.xtext.naming.IQualifiedNameProvider;
import org.eclipse.xtext.naming.SimpleNameProvider;
import org.eclipse.xtext.parser.IParser;
import org.eclipse.xtext.parser.ITokenToStringConverter;
import org.eclipse.xtext.parser.antlr.AntlrTokenDefProvider;
import org.eclipse.xtext.parser.antlr.AntlrTokenToStringConverter;
import org.eclipse.xtext.parser.antlr.IAntlrTokenFileProvider;
import org.eclipse.xtext.parser.antlr.ITokenDefProvider;
import org.eclipse.xtext.parser.antlr.Lexer;
import org.eclipse.xtext.parser.antlr.LexerBindings;
import org.eclipse.xtext.parser.antlr.LexerProvider;
import org.eclipse.xtext.preferences.IPreferenceValuesProvider;
import org.eclipse.xtext.resource.IContainer;
import org.eclipse.xtext.resource.IResourceDescriptions;
import org.eclipse.xtext.resource.containers.IAllContainersState;
import org.eclipse.xtext.resource.containers.ResourceSetBasedAllContainersStateProvider;
import org.eclipse.xtext.resource.containers.StateBasedContainerManager;
import org.eclipse.xtext.resource.impl.ResourceDescriptionsProvider;
import org.eclipse.xtext.resource.impl.ResourceSetBasedResourceDescriptions;
import org.eclipse.xtext.scoping.IGlobalScopeProvider;
import org.eclipse.xtext.scoping.IScopeProvider;
import org.eclipse.xtext.scoping.IgnoreCaseLinking;
import org.eclipse.xtext.scoping.impl.AbstractDeclarativeScopeProvider;
import org.eclipse.xtext.scoping.impl.DefaultGlobalScopeProvider;
import org.eclipse.xtext.scoping.impl.ImportedNamespaceAwareLocalScopeProvider;
import org.eclipse.xtext.serializer.ISerializer;
import org.eclipse.xtext.serializer.impl.Serializer;
import org.eclipse.xtext.serializer.sequencer.ISemanticSequencer;
import org.eclipse.xtext.serializer.sequencer.ISyntacticSequencer;
import org.eclipse.xtext.service.DefaultRuntimeModule;
import org.eclipse.xtext.service.SingletonBinding;
import org.eclipse.xtext.validation.ConfigurableIssueCodesProvider;
/**
* Manual modifications go to {@link RDLRuntimeModule}.
*/
@SuppressWarnings("all")
public abstract class AbstractRDLRuntimeModule extends DefaultRuntimeModule {
protected Properties properties = null;
@Override
public void configure(Binder binder) {
properties = tryBindProperties(binder, "com/minres/rdl/RDL.properties");
super.configure(binder);
}
public void configureLanguageName(Binder binder) {
binder.bind(String.class).annotatedWith(Names.named(Constants.LANGUAGE_NAME)).toInstance("com.minres.rdl.RDL");
}
public void configureFileExtensions(Binder binder) {
if (properties == null || properties.getProperty(Constants.FILE_EXTENSIONS) == null)
binder.bind(String.class).annotatedWith(Names.named(Constants.FILE_EXTENSIONS)).toInstance("rdl");
}
// contributed by org.eclipse.xtext.xtext.generator.grammarAccess.GrammarAccessFragment2
public ClassLoader bindClassLoaderToInstance() {
return getClass().getClassLoader();
}
// contributed by org.eclipse.xtext.xtext.generator.grammarAccess.GrammarAccessFragment2
public Class<? extends IGrammarAccess> bindIGrammarAccess() {
return RDLGrammarAccess.class;
}
// contributed by org.eclipse.xtext.xtext.generator.serializer.SerializerFragment2
public Class<? extends ISemanticSequencer> bindISemanticSequencer() {
return RDLSemanticSequencer.class;
}
// contributed by org.eclipse.xtext.xtext.generator.serializer.SerializerFragment2
public Class<? extends ISyntacticSequencer> bindISyntacticSequencer() {
return RDLSyntacticSequencer.class;
}
// contributed by org.eclipse.xtext.xtext.generator.serializer.SerializerFragment2
public Class<? extends ISerializer> bindISerializer() {
return Serializer.class;
}
// contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2
public Class<? extends IParser> bindIParser() {
return RDLParser.class;
}
// contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2
public Class<? extends ITokenToStringConverter> bindITokenToStringConverter() {
return AntlrTokenToStringConverter.class;
}
// contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2
public Class<? extends IAntlrTokenFileProvider> bindIAntlrTokenFileProvider() {
return RDLAntlrTokenFileProvider.class;
}
// contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2
public Class<? extends Lexer> bindLexer() {
return InternalRDLLexer.class;
}
// contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2
public Class<? extends ITokenDefProvider> bindITokenDefProvider() {
return AntlrTokenDefProvider.class;
}
// contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2
public Provider<? extends InternalRDLLexer> provideInternalRDLLexer() {
return LexerProvider.create(InternalRDLLexer.class);
}
// contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2
public void configureRuntimeLexer(Binder binder) {
binder.bind(Lexer.class)
.annotatedWith(Names.named(LexerBindings.RUNTIME))
.to(InternalRDLLexer.class);
}
// contributed by org.eclipse.xtext.xtext.generator.validation.ValidatorFragment2
@SingletonBinding(eager=true)
public Class<? extends RDLValidator> bindRDLValidator() {
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;
}
// contributed by org.eclipse.xtext.xtext.generator.builder.BuilderIntegrationFragment2
public Class<? extends IAllContainersState.Provider> bindIAllContainersState$Provider() {
return ResourceSetBasedAllContainersStateProvider.class;
}
// contributed by org.eclipse.xtext.xtext.generator.builder.BuilderIntegrationFragment2
public void configureIResourceDescriptions(Binder binder) {
binder.bind(IResourceDescriptions.class).to(ResourceSetBasedResourceDescriptions.class);
}
// contributed by org.eclipse.xtext.xtext.generator.builder.BuilderIntegrationFragment2
public void configureIResourceDescriptionsPersisted(Binder binder) {
binder.bind(IResourceDescriptions.class).annotatedWith(Names.named(ResourceDescriptionsProvider.PERSISTED_DESCRIPTIONS)).to(ResourceSetBasedResourceDescriptions.class);
}
// contributed by org.eclipse.xtext.xtext.generator.generator.GeneratorFragment2
public Class<? extends IGenerator2> bindIGenerator2() {
return RDLGenerator.class;
}
// contributed by org.eclipse.xtext.xtext.generator.formatting.Formatter2Fragment2
public Class<? extends IFormatter2> bindIFormatter2() {
return RDLFormatter.class;
}
// contributed by org.eclipse.xtext.xtext.generator.formatting.Formatter2Fragment2
public void configureFormatterPreferences(Binder binder) {
binder.bind(IPreferenceValuesProvider.class).annotatedWith(FormatterPreferences.class).to(FormatterPreferenceValuesProvider.class);
}
// contributed by org.eclipse.xtext.xtext.generator.exporting.SimpleNamesFragment2
public Class<? extends IQualifiedNameProvider> bindIQualifiedNameProvider() {
return SimpleNameProvider.class;
}
}

View File

@ -0,0 +1,56 @@
/*
* generated by Xtext 2.26.0
*/
package com.minres.rdl;
import com.google.inject.Guice;
import com.google.inject.Injector;
import com.minres.rdl.rdl.RdlPackage;
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.emf.ecore.xmi.impl.EcoreResourceFactoryImpl;
import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl;
import org.eclipse.xtext.ISetup;
import org.eclipse.xtext.XtextPackage;
import org.eclipse.xtext.resource.IResourceFactory;
import org.eclipse.xtext.resource.IResourceServiceProvider;
import org.eclipse.xtext.resource.impl.BinaryGrammarResourceFactoryImpl;
@SuppressWarnings("all")
public class RDLStandaloneSetupGenerated implements ISetup {
@Override
public Injector createInjectorAndDoEMFRegistration() {
// register default ePackages
if (!Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap().containsKey("ecore"))
Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap().put(
"ecore", new EcoreResourceFactoryImpl());
if (!Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap().containsKey("xmi"))
Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap().put(
"xmi", new XMIResourceFactoryImpl());
if (!Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap().containsKey("xtextbin"))
Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap().put(
"xtextbin", new BinaryGrammarResourceFactoryImpl());
if (!EPackage.Registry.INSTANCE.containsKey(XtextPackage.eNS_URI))
EPackage.Registry.INSTANCE.put(XtextPackage.eNS_URI, XtextPackage.eINSTANCE);
Injector injector = createInjector();
register(injector);
return injector;
}
public Injector createInjector() {
return Guice.createInjector(new RDLRuntimeModule());
}
public void register(Injector injector) {
if (!EPackage.Registry.INSTANCE.containsKey("http://www.minres.com/rdl/RDL")) {
EPackage.Registry.INSTANCE.put("http://www.minres.com/rdl/RDL", RdlPackage.eINSTANCE);
}
IResourceFactory resourceFactory = injector.getInstance(IResourceFactory.class);
IResourceServiceProvider serviceProvider = injector.getInstance(IResourceServiceProvider.class);
Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap().put("rdl", resourceFactory);
IResourceServiceProvider.Registry.INSTANCE.getExtensionToFactoryMap().put("rdl", serviceProvider);
}
}

View File

@ -0,0 +1,16 @@
/*
* generated by Xtext 2.26.0
*/
package com.minres.rdl.parser.antlr;
import java.io.InputStream;
import org.eclipse.xtext.parser.antlr.IAntlrTokenFileProvider;
public class RDLAntlrTokenFileProvider implements IAntlrTokenFileProvider {
@Override
public InputStream getAntlrTokenFile() {
ClassLoader classLoader = getClass().getClassLoader();
return classLoader.getResourceAsStream("com/minres/rdl/parser/antlr/internal/InternalRDL.tokens");
}
}

View File

@ -0,0 +1,40 @@
/*
* generated by Xtext 2.26.0
*/
package com.minres.rdl.parser.antlr;
import com.google.inject.Inject;
import com.minres.rdl.parser.antlr.internal.InternalRDLParser;
import com.minres.rdl.services.RDLGrammarAccess;
import org.eclipse.xtext.parser.antlr.AbstractAntlrParser;
import org.eclipse.xtext.parser.antlr.XtextTokenStream;
public class RDLParser extends AbstractAntlrParser {
@Inject
private RDLGrammarAccess grammarAccess;
@Override
protected void setInitialHiddenTokens(XtextTokenStream tokenStream) {
tokenStream.setInitialHiddenTokens("RULE_WS", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_ESCAPE_JSP", "RULE_ESCAPE_ORDL");
}
@Override
protected InternalRDLParser createParser(XtextTokenStream stream) {
return new InternalRDLParser(stream, getGrammarAccess());
}
@Override
protected String getDefaultRuleName() {
return "Root";
}
public RDLGrammarAccess getGrammarAccess() {
return this.grammarAccess;
}
public void setGrammarAccess(RDLGrammarAccess grammarAccess) {
this.grammarAccess = grammarAccess;
}
}

View File

@ -0,0 +1,254 @@
'%='=28
'+='=27
','=25
'->'=32
'.'=33
':'=30
';'=12
'='=17
'@'=26
'UNDEFINED'=121
'['=29
']'=31
'`include'=13
'accesswidth'=105
'activehigh'=85
'activelow'=86
'addressing'=108
'addrmap'=42
'alias'=24
'alignment'=101
'all'=48
'anded'=65
'arbiter'=49
'async'=82
'bigendian'=74
'boolean'=41
'bothedge'=132
'bridge'=77
'clock'=112
'compact'=127
'component'=22
'counter'=68
'cpuif_reset'=83
'decr'=90
'decrsaturate'=96
'decrthreshold'=98
'decrvalue'=94
'decrwidth'=92
'default'=19
'desc'=36
'dontcompare'=99
'donttest'=100
'enable'=114
'encode'=110
'enum'=34
'errextbus'=71
'external'=37
'false'=21
'field'=45
'field_reset'=84
'fieldwidth'=103
'fullalign'=129
'halt'=119
'haltenable'=118
'haltmask'=117
'hw'=107
'hwclr'=59
'hwenable'=115
'hwmask'=116
'hwset'=58
'incr'=89
'incrvalue'=93
'incrwidth'=91
'internal'=38
'intr'=64
'level'=133
'littleendian'=73
'lsb0'=80
'mask'=113
'msb0'=79
'na'=126
'name'=35
'negedge'=131
'next'=120
'nonsticky'=134
'number'=40
'ored'=66
'overflow'=69
'posedge'=130
'precedence'=109
'property'=14
'r'=124
'rclr'=51
'ref'=46
'reg'=43
'regalign'=128
'regfile'=44
'regwidth'=102
'reset'=72
'resetsignal'=111
'rset'=50
'rsvdset'=75
'rsvdsetX'=76
'rw'=122
'saturate'=95
'shared'=78
'sharedextbus'=70
'signal'=47
'signalwidth'=104
'singlepulse'=87
'sticky'=62
'stickybit'=63
'string'=39
'sw'=106
'swacc'=61
'swmod'=60
'swwe'=56
'swwel'=57
'sync'=81
'threshold'=97
'true'=20
'type'=16
'underflow'=88
'w'=125
'we'=54
'wel'=55
'woclr'=52
'woset'=53
'wr'=123
'xored'=67
'{'=15
'|'=23
'}'=18
RULE_ESCAPE_JSP=10
RULE_ESCAPE_ORDL=11
RULE_ID=5
RULE_ML_COMMENT=8
RULE_NUM=6
RULE_SL_COMMENT=9
RULE_STR=4
RULE_WS=7
T__100=100
T__101=101
T__102=102
T__103=103
T__104=104
T__105=105
T__106=106
T__107=107
T__108=108
T__109=109
T__110=110
T__111=111
T__112=112
T__113=113
T__114=114
T__115=115
T__116=116
T__117=117
T__118=118
T__119=119
T__120=120
T__121=121
T__122=122
T__123=123
T__124=124
T__125=125
T__126=126
T__127=127
T__128=128
T__129=129
T__12=12
T__130=130
T__131=131
T__132=132
T__133=133
T__134=134
T__13=13
T__14=14
T__15=15
T__16=16
T__17=17
T__18=18
T__19=19
T__20=20
T__21=21
T__22=22
T__23=23
T__24=24
T__25=25
T__26=26
T__27=27
T__28=28
T__29=29
T__30=30
T__31=31
T__32=32
T__33=33
T__34=34
T__35=35
T__36=36
T__37=37
T__38=38
T__39=39
T__40=40
T__41=41
T__42=42
T__43=43
T__44=44
T__45=45
T__46=46
T__47=47
T__48=48
T__49=49
T__50=50
T__51=51
T__52=52
T__53=53
T__54=54
T__55=55
T__56=56
T__57=57
T__58=58
T__59=59
T__60=60
T__61=61
T__62=62
T__63=63
T__64=64
T__65=65
T__66=66
T__67=67
T__68=68
T__69=69
T__70=70
T__71=71
T__72=72
T__73=73
T__74=74
T__75=75
T__76=76
T__77=77
T__78=78
T__79=79
T__80=80
T__81=81
T__82=82
T__83=83
T__84=84
T__85=85
T__86=86
T__87=87
T__88=88
T__89=89
T__90=90
T__91=91
T__92=92
T__93=93
T__94=94
T__95=95
T__96=96
T__97=97
T__98=98
T__99=99

View File

@ -0,0 +1,128 @@
/**
* generated by Xtext 2.26.0
*/
package com.minres.rdl.rdl;
import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.EObject;
/**
* <!-- begin-user-doc -->
* A representation of the model object '<em><b>Component Definition</b></em>'.
* <!-- end-user-doc -->
*
* <p>
* The following features are supported:
* </p>
* <ul>
* <li>{@link com.minres.rdl.rdl.ComponentDefinition#getType <em>Type</em>}</li>
* <li>{@link com.minres.rdl.rdl.ComponentDefinition#getName <em>Name</em>}</li>
* <li>{@link com.minres.rdl.rdl.ComponentDefinition#getComponentDefinitions <em>Component Definitions</em>}</li>
* <li>{@link com.minres.rdl.rdl.ComponentDefinition#getInstantiations <em>Instantiations</em>}</li>
* <li>{@link com.minres.rdl.rdl.ComponentDefinition#getPropertyAssignments <em>Property Assignments</em>}</li>
* <li>{@link com.minres.rdl.rdl.ComponentDefinition#getEnumDefinitions <em>Enum Definitions</em>}</li>
* </ul>
*
* @see com.minres.rdl.rdl.RdlPackage#getComponentDefinition()
* @model
* @generated
*/
public interface ComponentDefinition extends EObject
{
/**
* Returns the value of the '<em><b>Type</b></em>' attribute.
* The literals are from the enumeration {@link com.minres.rdl.rdl.ComponentDefinitionType}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the value of the '<em>Type</em>' attribute.
* @see com.minres.rdl.rdl.ComponentDefinitionType
* @see #setType(ComponentDefinitionType)
* @see com.minres.rdl.rdl.RdlPackage#getComponentDefinition_Type()
* @model
* @generated
*/
ComponentDefinitionType getType();
/**
* Sets the value of the '{@link com.minres.rdl.rdl.ComponentDefinition#getType <em>Type</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Type</em>' attribute.
* @see com.minres.rdl.rdl.ComponentDefinitionType
* @see #getType()
* @generated
*/
void setType(ComponentDefinitionType value);
/**
* Returns the value of the '<em><b>Name</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the value of the '<em>Name</em>' attribute.
* @see #setName(String)
* @see com.minres.rdl.rdl.RdlPackage#getComponentDefinition_Name()
* @model
* @generated
*/
String getName();
/**
* Sets the value of the '{@link com.minres.rdl.rdl.ComponentDefinition#getName <em>Name</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Name</em>' attribute.
* @see #getName()
* @generated
*/
void setName(String value);
/**
* Returns the value of the '<em><b>Component Definitions</b></em>' containment reference list.
* The list contents are of type {@link com.minres.rdl.rdl.ComponentDefinition}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the value of the '<em>Component Definitions</em>' containment reference list.
* @see com.minres.rdl.rdl.RdlPackage#getComponentDefinition_ComponentDefinitions()
* @model containment="true"
* @generated
*/
EList<ComponentDefinition> getComponentDefinitions();
/**
* Returns the value of the '<em><b>Instantiations</b></em>' containment reference list.
* The list contents are of type {@link com.minres.rdl.rdl.Instantiation}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the value of the '<em>Instantiations</em>' containment reference list.
* @see com.minres.rdl.rdl.RdlPackage#getComponentDefinition_Instantiations()
* @model containment="true"
* @generated
*/
EList<Instantiation> getInstantiations();
/**
* Returns the value of the '<em><b>Property Assignments</b></em>' containment reference list.
* The list contents are of type {@link com.minres.rdl.rdl.PropertyAssignment}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the value of the '<em>Property Assignments</em>' containment reference list.
* @see com.minres.rdl.rdl.RdlPackage#getComponentDefinition_PropertyAssignments()
* @model containment="true"
* @generated
*/
EList<PropertyAssignment> getPropertyAssignments();
/**
* Returns the value of the '<em><b>Enum Definitions</b></em>' containment reference list.
* The list contents are of type {@link com.minres.rdl.rdl.EnumDefinition}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the value of the '<em>Enum Definitions</em>' containment reference list.
* @see com.minres.rdl.rdl.RdlPackage#getComponentDefinition_EnumDefinitions()
* @model containment="true"
* @generated
*/
EList<EnumDefinition> getEnumDefinitions();
} // ComponentDefinition

View File

@ -0,0 +1,294 @@
/**
* generated by Xtext 2.26.0
*/
package com.minres.rdl.rdl;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import org.eclipse.emf.common.util.Enumerator;
/**
* <!-- begin-user-doc -->
* A representation of the literals of the enumeration '<em><b>Component Definition Type</b></em>',
* and utility methods for working with them.
* <!-- end-user-doc -->
* @see com.minres.rdl.rdl.RdlPackage#getComponentDefinitionType()
* @model
* @generated
*/
public enum ComponentDefinitionType implements Enumerator
{
/**
* The '<em><b>SIGNAL</b></em>' literal object.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #SIGNAL_VALUE
* @generated
* @ordered
*/
SIGNAL(0, "SIGNAL", "signal"),
/**
* The '<em><b>ADDRMAP</b></em>' literal object.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #ADDRMAP_VALUE
* @generated
* @ordered
*/
ADDRMAP(1, "ADDRMAP", "addrmap"),
/**
* The '<em><b>REGFILE</b></em>' literal object.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #REGFILE_VALUE
* @generated
* @ordered
*/
REGFILE(2, "REGFILE", "regfile"),
/**
* The '<em><b>REG</b></em>' literal object.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #REG_VALUE
* @generated
* @ordered
*/
REG(3, "REG", "reg"),
/**
* The '<em><b>FIELD</b></em>' literal object.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #FIELD_VALUE
* @generated
* @ordered
*/
FIELD(4, "FIELD", "field");
/**
* The '<em><b>SIGNAL</b></em>' literal value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #SIGNAL
* @model literal="signal"
* @generated
* @ordered
*/
public static final int SIGNAL_VALUE = 0;
/**
* The '<em><b>ADDRMAP</b></em>' literal value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #ADDRMAP
* @model literal="addrmap"
* @generated
* @ordered
*/
public static final int ADDRMAP_VALUE = 1;
/**
* The '<em><b>REGFILE</b></em>' literal value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #REGFILE
* @model literal="regfile"
* @generated
* @ordered
*/
public static final int REGFILE_VALUE = 2;
/**
* The '<em><b>REG</b></em>' literal value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #REG
* @model literal="reg"
* @generated
* @ordered
*/
public static final int REG_VALUE = 3;
/**
* The '<em><b>FIELD</b></em>' literal value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #FIELD
* @model literal="field"
* @generated
* @ordered
*/
public static final int FIELD_VALUE = 4;
/**
* An array of all the '<em><b>Component Definition Type</b></em>' enumerators.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private static final ComponentDefinitionType[] VALUES_ARRAY =
new ComponentDefinitionType[]
{
SIGNAL,
ADDRMAP,
REGFILE,
REG,
FIELD,
};
/**
* A public read-only list of all the '<em><b>Component Definition Type</b></em>' enumerators.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public static final List<ComponentDefinitionType> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
/**
* Returns the '<em><b>Component Definition Type</b></em>' literal with the specified literal value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param literal the literal.
* @return the matching enumerator or <code>null</code>.
* @generated
*/
public static ComponentDefinitionType get(String literal)
{
for (int i = 0; i < VALUES_ARRAY.length; ++i)
{
ComponentDefinitionType result = VALUES_ARRAY[i];
if (result.toString().equals(literal))
{
return result;
}
}
return null;
}
/**
* Returns the '<em><b>Component Definition Type</b></em>' literal with the specified name.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param name the name.
* @return the matching enumerator or <code>null</code>.
* @generated
*/
public static ComponentDefinitionType getByName(String name)
{
for (int i = 0; i < VALUES_ARRAY.length; ++i)
{
ComponentDefinitionType result = VALUES_ARRAY[i];
if (result.getName().equals(name))
{
return result;
}
}
return null;
}
/**
* Returns the '<em><b>Component Definition Type</b></em>' literal with the specified integer value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the integer value.
* @return the matching enumerator or <code>null</code>.
* @generated
*/
public static ComponentDefinitionType get(int value)
{
switch (value)
{
case SIGNAL_VALUE: return SIGNAL;
case ADDRMAP_VALUE: return ADDRMAP;
case REGFILE_VALUE: return REGFILE;
case REG_VALUE: return REG;
case FIELD_VALUE: return FIELD;
}
return null;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private final int value;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private final String name;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private final String literal;
/**
* Only this class can construct instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private ComponentDefinitionType(int value, String name, String literal)
{
this.value = value;
this.name = name;
this.literal = literal;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public int getValue()
{
return value;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public String getName()
{
return name;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public String getLiteral()
{
return literal;
}
/**
* Returns the literal value of the enumerator, which is its string representation.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public String toString()
{
return literal;
}
} //ComponentDefinitionType

View File

@ -0,0 +1,139 @@
/**
* generated by Xtext 2.26.0
*/
package com.minres.rdl.rdl;
/**
* <!-- begin-user-doc -->
* A representation of the model object '<em><b>Component Instance</b></em>'.
* <!-- end-user-doc -->
*
* <p>
* The following features are supported:
* </p>
* <ul>
* <li>{@link com.minres.rdl.rdl.ComponentInstance#getRange <em>Range</em>}</li>
* <li>{@link com.minres.rdl.rdl.ComponentInstance#getReset <em>Reset</em>}</li>
* <li>{@link com.minres.rdl.rdl.ComponentInstance#getAddress <em>Address</em>}</li>
* <li>{@link com.minres.rdl.rdl.ComponentInstance#getAddrInc <em>Addr Inc</em>}</li>
* <li>{@link com.minres.rdl.rdl.ComponentInstance#getAddrMod <em>Addr Mod</em>}</li>
* </ul>
*
* @see com.minres.rdl.rdl.RdlPackage#getComponentInstance()
* @model
* @generated
*/
public interface ComponentInstance extends Entity
{
/**
* Returns the value of the '<em><b>Range</b></em>' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the value of the '<em>Range</em>' containment reference.
* @see #setRange(Range)
* @see com.minres.rdl.rdl.RdlPackage#getComponentInstance_Range()
* @model containment="true"
* @generated
*/
Range getRange();
/**
* Sets the value of the '{@link com.minres.rdl.rdl.ComponentInstance#getRange <em>Range</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Range</em>' containment reference.
* @see #getRange()
* @generated
*/
void setRange(Range value);
/**
* Returns the value of the '<em><b>Reset</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the value of the '<em>Reset</em>' attribute.
* @see #setReset(Object)
* @see com.minres.rdl.rdl.RdlPackage#getComponentInstance_Reset()
* @model
* @generated
*/
Object getReset();
/**
* Sets the value of the '{@link com.minres.rdl.rdl.ComponentInstance#getReset <em>Reset</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Reset</em>' attribute.
* @see #getReset()
* @generated
*/
void setReset(Object value);
/**
* Returns the value of the '<em><b>Address</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the value of the '<em>Address</em>' attribute.
* @see #setAddress(Object)
* @see com.minres.rdl.rdl.RdlPackage#getComponentInstance_Address()
* @model
* @generated
*/
Object getAddress();
/**
* Sets the value of the '{@link com.minres.rdl.rdl.ComponentInstance#getAddress <em>Address</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Address</em>' attribute.
* @see #getAddress()
* @generated
*/
void setAddress(Object value);
/**
* Returns the value of the '<em><b>Addr Inc</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the value of the '<em>Addr Inc</em>' attribute.
* @see #setAddrInc(Object)
* @see com.minres.rdl.rdl.RdlPackage#getComponentInstance_AddrInc()
* @model
* @generated
*/
Object getAddrInc();
/**
* Sets the value of the '{@link com.minres.rdl.rdl.ComponentInstance#getAddrInc <em>Addr Inc</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Addr Inc</em>' attribute.
* @see #getAddrInc()
* @generated
*/
void setAddrInc(Object value);
/**
* Returns the value of the '<em><b>Addr Mod</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the value of the '<em>Addr Mod</em>' attribute.
* @see #setAddrMod(Object)
* @see com.minres.rdl.rdl.RdlPackage#getComponentInstance_AddrMod()
* @model
* @generated
*/
Object getAddrMod();
/**
* Sets the value of the '{@link com.minres.rdl.rdl.ComponentInstance#getAddrMod <em>Addr Mod</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Addr Mod</em>' attribute.
* @see #getAddrMod()
* @generated
*/
void setAddrMod(Object value);
} // ComponentInstance

View File

@ -0,0 +1,40 @@
/**
* generated by Xtext 2.26.0
*/
package com.minres.rdl.rdl;
import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.EObject;
/**
* <!-- begin-user-doc -->
* A representation of the model object '<em><b>Concat</b></em>'.
* <!-- end-user-doc -->
*
* <p>
* The following features are supported:
* </p>
* <ul>
* <li>{@link com.minres.rdl.rdl.Concat#getElements <em>Elements</em>}</li>
* </ul>
*
* @see com.minres.rdl.rdl.RdlPackage#getConcat()
* @model
* @generated
*/
public interface Concat extends EObject
{
/**
* Returns the value of the '<em><b>Elements</b></em>' containment reference list.
* The list contents are of type {@link com.minres.rdl.rdl.ConcatElem}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the value of the '<em>Elements</em>' containment reference list.
* @see com.minres.rdl.rdl.RdlPackage#getConcat_Elements()
* @model containment="true"
* @generated
*/
EList<ConcatElem> getElements();
} // Concat

View File

@ -0,0 +1,71 @@
/**
* generated by Xtext 2.26.0
*/
package com.minres.rdl.rdl;
import org.eclipse.emf.ecore.EObject;
/**
* <!-- begin-user-doc -->
* A representation of the model object '<em><b>Concat Elem</b></em>'.
* <!-- end-user-doc -->
*
* <p>
* The following features are supported:
* </p>
* <ul>
* <li>{@link com.minres.rdl.rdl.ConcatElem#getInstPropRef <em>Inst Prop Ref</em>}</li>
* <li>{@link com.minres.rdl.rdl.ConcatElem#getValue <em>Value</em>}</li>
* </ul>
*
* @see com.minres.rdl.rdl.RdlPackage#getConcatElem()
* @model
* @generated
*/
public interface ConcatElem extends EObject
{
/**
* Returns the value of the '<em><b>Inst Prop Ref</b></em>' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the value of the '<em>Inst Prop Ref</em>' containment reference.
* @see #setInstPropRef(InstancePropertyRef)
* @see com.minres.rdl.rdl.RdlPackage#getConcatElem_InstPropRef()
* @model containment="true"
* @generated
*/
InstancePropertyRef getInstPropRef();
/**
* Sets the value of the '{@link com.minres.rdl.rdl.ConcatElem#getInstPropRef <em>Inst Prop Ref</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Inst Prop Ref</em>' containment reference.
* @see #getInstPropRef()
* @generated
*/
void setInstPropRef(InstancePropertyRef value);
/**
* Returns the value of the '<em><b>Value</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the value of the '<em>Value</em>' attribute.
* @see #setValue(Object)
* @see com.minres.rdl.rdl.RdlPackage#getConcatElem_Value()
* @model
* @generated
*/
Object getValue();
/**
* Sets the value of the '{@link com.minres.rdl.rdl.ConcatElem#getValue <em>Value</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Value</em>' attribute.
* @see #getValue()
* @generated
*/
void setValue(Object value);
} // ConcatElem

View File

@ -0,0 +1,19 @@
/**
* generated by Xtext 2.26.0
*/
package com.minres.rdl.rdl;
/**
* <!-- begin-user-doc -->
* A representation of the model object '<em><b>Default Propery Assignment</b></em>'.
* <!-- end-user-doc -->
*
*
* @see com.minres.rdl.rdl.RdlPackage#getDefaultProperyAssignment()
* @model
* @generated
*/
public interface DefaultProperyAssignment extends PropertyAssignment
{
} // DefaultProperyAssignment

View File

@ -0,0 +1,48 @@
/**
* generated by Xtext 2.26.0
*/
package com.minres.rdl.rdl;
import org.eclipse.emf.ecore.EObject;
/**
* <!-- begin-user-doc -->
* A representation of the model object '<em><b>Entity</b></em>'.
* <!-- end-user-doc -->
*
* <p>
* The following features are supported:
* </p>
* <ul>
* <li>{@link com.minres.rdl.rdl.Entity#getName <em>Name</em>}</li>
* </ul>
*
* @see com.minres.rdl.rdl.RdlPackage#getEntity()
* @model
* @generated
*/
public interface Entity extends EObject
{
/**
* Returns the value of the '<em><b>Name</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the value of the '<em>Name</em>' attribute.
* @see #setName(String)
* @see com.minres.rdl.rdl.RdlPackage#getEntity_Name()
* @model
* @generated
*/
String getName();
/**
* Sets the value of the '{@link com.minres.rdl.rdl.Entity#getName <em>Name</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Name</em>' attribute.
* @see #getName()
* @generated
*/
void setName(String value);
} // Entity

View File

@ -0,0 +1,40 @@
/**
* generated by Xtext 2.26.0
*/
package com.minres.rdl.rdl;
import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.EObject;
/**
* <!-- begin-user-doc -->
* A representation of the model object '<em><b>Enum Body</b></em>'.
* <!-- end-user-doc -->
*
* <p>
* The following features are supported:
* </p>
* <ul>
* <li>{@link com.minres.rdl.rdl.EnumBody#getEntries <em>Entries</em>}</li>
* </ul>
*
* @see com.minres.rdl.rdl.RdlPackage#getEnumBody()
* @model
* @generated
*/
public interface EnumBody extends EObject
{
/**
* Returns the value of the '<em><b>Entries</b></em>' containment reference list.
* The list contents are of type {@link com.minres.rdl.rdl.EnumEntry}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the value of the '<em>Entries</em>' containment reference list.
* @see com.minres.rdl.rdl.RdlPackage#getEnumBody_Entries()
* @model containment="true"
* @generated
*/
EList<EnumEntry> getEntries();
} // EnumBody

View File

@ -0,0 +1,47 @@
/**
* generated by Xtext 2.26.0
*/
package com.minres.rdl.rdl;
/**
* <!-- begin-user-doc -->
* A representation of the model object '<em><b>Enum Definition</b></em>'.
* <!-- end-user-doc -->
*
* <p>
* The following features are supported:
* </p>
* <ul>
* <li>{@link com.minres.rdl.rdl.EnumDefinition#getBody <em>Body</em>}</li>
* </ul>
*
* @see com.minres.rdl.rdl.RdlPackage#getEnumDefinition()
* @model
* @generated
*/
public interface EnumDefinition extends Entity
{
/**
* Returns the value of the '<em><b>Body</b></em>' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the value of the '<em>Body</em>' containment reference.
* @see #setBody(EnumBody)
* @see com.minres.rdl.rdl.RdlPackage#getEnumDefinition_Body()
* @model containment="true"
* @generated
*/
EnumBody getBody();
/**
* Sets the value of the '{@link com.minres.rdl.rdl.EnumDefinition#getBody <em>Body</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Body</em>' containment reference.
* @see #getBody()
* @generated
*/
void setBody(EnumBody value);
} // EnumDefinition

View File

@ -0,0 +1,86 @@
/**
* generated by Xtext 2.26.0
*/
package com.minres.rdl.rdl;
import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.EObject;
/**
* <!-- begin-user-doc -->
* A representation of the model object '<em><b>Enum Entry</b></em>'.
* <!-- end-user-doc -->
*
* <p>
* The following features are supported:
* </p>
* <ul>
* <li>{@link com.minres.rdl.rdl.EnumEntry#getName <em>Name</em>}</li>
* <li>{@link com.minres.rdl.rdl.EnumEntry#getIndex <em>Index</em>}</li>
* <li>{@link com.minres.rdl.rdl.EnumEntry#getProperties <em>Properties</em>}</li>
* </ul>
*
* @see com.minres.rdl.rdl.RdlPackage#getEnumEntry()
* @model
* @generated
*/
public interface EnumEntry extends EObject
{
/**
* Returns the value of the '<em><b>Name</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the value of the '<em>Name</em>' attribute.
* @see #setName(String)
* @see com.minres.rdl.rdl.RdlPackage#getEnumEntry_Name()
* @model
* @generated
*/
String getName();
/**
* Sets the value of the '{@link com.minres.rdl.rdl.EnumEntry#getName <em>Name</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Name</em>' attribute.
* @see #getName()
* @generated
*/
void setName(String value);
/**
* Returns the value of the '<em><b>Index</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the value of the '<em>Index</em>' attribute.
* @see #setIndex(Object)
* @see com.minres.rdl.rdl.RdlPackage#getEnumEntry_Index()
* @model
* @generated
*/
Object getIndex();
/**
* Sets the value of the '{@link com.minres.rdl.rdl.EnumEntry#getIndex <em>Index</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Index</em>' attribute.
* @see #getIndex()
* @generated
*/
void setIndex(Object value);
/**
* Returns the value of the '<em><b>Properties</b></em>' containment reference list.
* The list contents are of type {@link com.minres.rdl.rdl.EnumProperty}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the value of the '<em>Properties</em>' containment reference list.
* @see com.minres.rdl.rdl.RdlPackage#getEnumEntry_Properties()
* @model containment="true"
* @generated
*/
EList<EnumProperty> getProperties();
} // EnumEntry

View File

@ -0,0 +1,71 @@
/**
* generated by Xtext 2.26.0
*/
package com.minres.rdl.rdl;
import org.eclipse.emf.ecore.EObject;
/**
* <!-- begin-user-doc -->
* A representation of the model object '<em><b>Enum Instance Type</b></em>'.
* <!-- end-user-doc -->
*
* <p>
* The following features are supported:
* </p>
* <ul>
* <li>{@link com.minres.rdl.rdl.EnumInstanceType#getEXTERNAL <em>EXTERNAL</em>}</li>
* <li>{@link com.minres.rdl.rdl.EnumInstanceType#getINTERNAL <em>INTERNAL</em>}</li>
* </ul>
*
* @see com.minres.rdl.rdl.RdlPackage#getEnumInstanceType()
* @model
* @generated
*/
public interface EnumInstanceType extends EObject
{
/**
* Returns the value of the '<em><b>EXTERNAL</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the value of the '<em>EXTERNAL</em>' attribute.
* @see #setEXTERNAL(String)
* @see com.minres.rdl.rdl.RdlPackage#getEnumInstanceType_EXTERNAL()
* @model
* @generated
*/
String getEXTERNAL();
/**
* Sets the value of the '{@link com.minres.rdl.rdl.EnumInstanceType#getEXTERNAL <em>EXTERNAL</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>EXTERNAL</em>' attribute.
* @see #getEXTERNAL()
* @generated
*/
void setEXTERNAL(String value);
/**
* Returns the value of the '<em><b>INTERNAL</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the value of the '<em>INTERNAL</em>' attribute.
* @see #setINTERNAL(String)
* @see com.minres.rdl.rdl.RdlPackage#getEnumInstanceType_INTERNAL()
* @model
* @generated
*/
String getINTERNAL();
/**
* Sets the value of the '{@link com.minres.rdl.rdl.EnumInstanceType#getINTERNAL <em>INTERNAL</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>INTERNAL</em>' attribute.
* @see #getINTERNAL()
* @generated
*/
void setINTERNAL(String value);
} // EnumInstanceType

View File

@ -0,0 +1,71 @@
/**
* generated by Xtext 2.26.0
*/
package com.minres.rdl.rdl;
import org.eclipse.emf.ecore.EObject;
/**
* <!-- begin-user-doc -->
* A representation of the model object '<em><b>Enum Property</b></em>'.
* <!-- end-user-doc -->
*
* <p>
* The following features are supported:
* </p>
* <ul>
* <li>{@link com.minres.rdl.rdl.EnumProperty#getName <em>Name</em>}</li>
* <li>{@link com.minres.rdl.rdl.EnumProperty#getValue <em>Value</em>}</li>
* </ul>
*
* @see com.minres.rdl.rdl.RdlPackage#getEnumProperty()
* @model
* @generated
*/
public interface EnumProperty extends EObject
{
/**
* Returns the value of the '<em><b>Name</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the value of the '<em>Name</em>' attribute.
* @see #setName(String)
* @see com.minres.rdl.rdl.RdlPackage#getEnumProperty_Name()
* @model
* @generated
*/
String getName();
/**
* Sets the value of the '{@link com.minres.rdl.rdl.EnumProperty#getName <em>Name</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Name</em>' attribute.
* @see #getName()
* @generated
*/
void setName(String value);
/**
* Returns the value of the '<em><b>Value</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the value of the '<em>Value</em>' attribute.
* @see #setValue(String)
* @see com.minres.rdl.rdl.RdlPackage#getEnumProperty_Value()
* @model
* @generated
*/
String getValue();
/**
* Sets the value of the '{@link com.minres.rdl.rdl.EnumProperty#getValue <em>Value</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Value</em>' attribute.
* @see #getValue()
* @generated
*/
void setValue(String value);
} // EnumProperty

View File

@ -0,0 +1,99 @@
/**
* generated by Xtext 2.26.0
*/
package com.minres.rdl.rdl;
/**
* <!-- begin-user-doc -->
* A representation of the model object '<em><b>Explicit Property Assignment</b></em>'.
* <!-- end-user-doc -->
*
* <p>
* The following features are supported:
* </p>
* <ul>
* <li>{@link com.minres.rdl.rdl.ExplicitPropertyAssignment#getModifier <em>Modifier</em>}</li>
* <li>{@link com.minres.rdl.rdl.ExplicitPropertyAssignment#getName <em>Name</em>}</li>
* <li>{@link com.minres.rdl.rdl.ExplicitPropertyAssignment#getRhs <em>Rhs</em>}</li>
* </ul>
*
* @see com.minres.rdl.rdl.RdlPackage#getExplicitPropertyAssignment()
* @model
* @generated
*/
public interface ExplicitPropertyAssignment extends PropertyAssignment, DefaultProperyAssignment
{
/**
* Returns the value of the '<em><b>Modifier</b></em>' attribute.
* The literals are from the enumeration {@link com.minres.rdl.rdl.PropertyModifier}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the value of the '<em>Modifier</em>' attribute.
* @see com.minres.rdl.rdl.PropertyModifier
* @see #setModifier(PropertyModifier)
* @see com.minres.rdl.rdl.RdlPackage#getExplicitPropertyAssignment_Modifier()
* @model
* @generated
*/
PropertyModifier getModifier();
/**
* Sets the value of the '{@link com.minres.rdl.rdl.ExplicitPropertyAssignment#getModifier <em>Modifier</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Modifier</em>' attribute.
* @see com.minres.rdl.rdl.PropertyModifier
* @see #getModifier()
* @generated
*/
void setModifier(PropertyModifier value);
/**
* Returns the value of the '<em><b>Name</b></em>' attribute.
* The literals are from the enumeration {@link com.minres.rdl.rdl.PropertyEnum}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the value of the '<em>Name</em>' attribute.
* @see com.minres.rdl.rdl.PropertyEnum
* @see #setName(PropertyEnum)
* @see com.minres.rdl.rdl.RdlPackage#getExplicitPropertyAssignment_Name()
* @model
* @generated
*/
PropertyEnum getName();
/**
* Sets the value of the '{@link com.minres.rdl.rdl.ExplicitPropertyAssignment#getName <em>Name</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Name</em>' attribute.
* @see com.minres.rdl.rdl.PropertyEnum
* @see #getName()
* @generated
*/
void setName(PropertyEnum value);
/**
* Returns the value of the '<em><b>Rhs</b></em>' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the value of the '<em>Rhs</em>' containment reference.
* @see #setRhs(PropertyAssignmentRhs)
* @see com.minres.rdl.rdl.RdlPackage#getExplicitPropertyAssignment_Rhs()
* @model containment="true"
* @generated
*/
PropertyAssignmentRhs getRhs();
/**
* Sets the value of the '{@link com.minres.rdl.rdl.ExplicitPropertyAssignment#getRhs <em>Rhs</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Rhs</em>' containment reference.
* @see #getRhs()
* @generated
*/
void setRhs(PropertyAssignmentRhs value);
} // ExplicitPropertyAssignment

View File

@ -0,0 +1,48 @@
/**
* generated by Xtext 2.26.0
*/
package com.minres.rdl.rdl;
import org.eclipse.emf.ecore.EObject;
/**
* <!-- begin-user-doc -->
* A representation of the model object '<em><b>Include</b></em>'.
* <!-- end-user-doc -->
*
* <p>
* The following features are supported:
* </p>
* <ul>
* <li>{@link com.minres.rdl.rdl.Include#getImportURI <em>Import URI</em>}</li>
* </ul>
*
* @see com.minres.rdl.rdl.RdlPackage#getInclude()
* @model
* @generated
*/
public interface Include extends EObject
{
/**
* Returns the value of the '<em><b>Import URI</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the value of the '<em>Import URI</em>' attribute.
* @see #setImportURI(String)
* @see com.minres.rdl.rdl.RdlPackage#getInclude_ImportURI()
* @model
* @generated
*/
String getImportURI();
/**
* Sets the value of the '{@link com.minres.rdl.rdl.Include#getImportURI <em>Import URI</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Import URI</em>' attribute.
* @see #getImportURI()
* @generated
*/
void setImportURI(String value);
} // Include

View File

@ -0,0 +1,97 @@
/**
* generated by Xtext 2.26.0
*/
package com.minres.rdl.rdl;
import org.eclipse.emf.ecore.EObject;
/**
* <!-- begin-user-doc -->
* A representation of the model object '<em><b>Instance Property Ref</b></em>'.
* <!-- end-user-doc -->
*
* <p>
* The following features are supported:
* </p>
* <ul>
* <li>{@link com.minres.rdl.rdl.InstancePropertyRef#getInstance <em>Instance</em>}</li>
* <li>{@link com.minres.rdl.rdl.InstancePropertyRef#getPropertyEnum <em>Property Enum</em>}</li>
* <li>{@link com.minres.rdl.rdl.InstancePropertyRef#getProperty <em>Property</em>}</li>
* </ul>
*
* @see com.minres.rdl.rdl.RdlPackage#getInstancePropertyRef()
* @model
* @generated
*/
public interface InstancePropertyRef extends EObject
{
/**
* Returns the value of the '<em><b>Instance</b></em>' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the value of the '<em>Instance</em>' containment reference.
* @see #setInstance(InstanceRef)
* @see com.minres.rdl.rdl.RdlPackage#getInstancePropertyRef_Instance()
* @model containment="true"
* @generated
*/
InstanceRef getInstance();
/**
* Sets the value of the '{@link com.minres.rdl.rdl.InstancePropertyRef#getInstance <em>Instance</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Instance</em>' containment reference.
* @see #getInstance()
* @generated
*/
void setInstance(InstanceRef value);
/**
* Returns the value of the '<em><b>Property Enum</b></em>' attribute.
* The literals are from the enumeration {@link com.minres.rdl.rdl.PropertyEnum}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the value of the '<em>Property Enum</em>' attribute.
* @see com.minres.rdl.rdl.PropertyEnum
* @see #setPropertyEnum(PropertyEnum)
* @see com.minres.rdl.rdl.RdlPackage#getInstancePropertyRef_PropertyEnum()
* @model
* @generated
*/
PropertyEnum getPropertyEnum();
/**
* Sets the value of the '{@link com.minres.rdl.rdl.InstancePropertyRef#getPropertyEnum <em>Property Enum</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Property Enum</em>' attribute.
* @see com.minres.rdl.rdl.PropertyEnum
* @see #getPropertyEnum()
* @generated
*/
void setPropertyEnum(PropertyEnum value);
/**
* Returns the value of the '<em><b>Property</b></em>' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the value of the '<em>Property</em>' reference.
* @see #setProperty(PropertyDefinition)
* @see com.minres.rdl.rdl.RdlPackage#getInstancePropertyRef_Property()
* @model
* @generated
*/
PropertyDefinition getProperty();
/**
* Sets the value of the '{@link com.minres.rdl.rdl.InstancePropertyRef#getProperty <em>Property</em>}' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Property</em>' reference.
* @see #getProperty()
* @generated
*/
void setProperty(PropertyDefinition value);
} // InstancePropertyRef

View File

@ -0,0 +1,71 @@
/**
* generated by Xtext 2.26.0
*/
package com.minres.rdl.rdl;
import org.eclipse.emf.ecore.EObject;
/**
* <!-- begin-user-doc -->
* A representation of the model object '<em><b>Instance Ref</b></em>'.
* <!-- end-user-doc -->
*
* <p>
* The following features are supported:
* </p>
* <ul>
* <li>{@link com.minres.rdl.rdl.InstanceRef#getInstance <em>Instance</em>}</li>
* <li>{@link com.minres.rdl.rdl.InstanceRef#getTail <em>Tail</em>}</li>
* </ul>
*
* @see com.minres.rdl.rdl.RdlPackage#getInstanceRef()
* @model
* @generated
*/
public interface InstanceRef extends EObject
{
/**
* Returns the value of the '<em><b>Instance</b></em>' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the value of the '<em>Instance</em>' reference.
* @see #setInstance(Entity)
* @see com.minres.rdl.rdl.RdlPackage#getInstanceRef_Instance()
* @model
* @generated
*/
Entity getInstance();
/**
* Sets the value of the '{@link com.minres.rdl.rdl.InstanceRef#getInstance <em>Instance</em>}' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Instance</em>' reference.
* @see #getInstance()
* @generated
*/
void setInstance(Entity value);
/**
* Returns the value of the '<em><b>Tail</b></em>' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the value of the '<em>Tail</em>' containment reference.
* @see #setTail(InstanceRef)
* @see com.minres.rdl.rdl.RdlPackage#getInstanceRef_Tail()
* @model containment="true"
* @generated
*/
InstanceRef getTail();
/**
* Sets the value of the '{@link com.minres.rdl.rdl.InstanceRef#getTail <em>Tail</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Tail</em>' containment reference.
* @see #getTail()
* @generated
*/
void setTail(InstanceRef value);
} // InstanceRef

View File

@ -0,0 +1,132 @@
/**
* generated by Xtext 2.26.0
*/
package com.minres.rdl.rdl;
import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.EObject;
/**
* <!-- begin-user-doc -->
* A representation of the model object '<em><b>Instantiation</b></em>'.
* <!-- end-user-doc -->
*
* <p>
* The following features are supported:
* </p>
* <ul>
* <li>{@link com.minres.rdl.rdl.Instantiation#getInstanceType <em>Instance Type</em>}</li>
* <li>{@link com.minres.rdl.rdl.Instantiation#getAlias <em>Alias</em>}</li>
* <li>{@link com.minres.rdl.rdl.Instantiation#getComponentRef <em>Component Ref</em>}</li>
* <li>{@link com.minres.rdl.rdl.Instantiation#getComponent <em>Component</em>}</li>
* <li>{@link com.minres.rdl.rdl.Instantiation#getComponentInstances <em>Component Instances</em>}</li>
* </ul>
*
* @see com.minres.rdl.rdl.RdlPackage#getInstantiation()
* @model
* @generated
*/
public interface Instantiation extends EObject
{
/**
* Returns the value of the '<em><b>Instance Type</b></em>' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the value of the '<em>Instance Type</em>' containment reference.
* @see #setInstanceType(EnumInstanceType)
* @see com.minres.rdl.rdl.RdlPackage#getInstantiation_InstanceType()
* @model containment="true"
* @generated
*/
EnumInstanceType getInstanceType();
/**
* Sets the value of the '{@link com.minres.rdl.rdl.Instantiation#getInstanceType <em>Instance Type</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Instance Type</em>' containment reference.
* @see #getInstanceType()
* @generated
*/
void setInstanceType(EnumInstanceType value);
/**
* Returns the value of the '<em><b>Alias</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the value of the '<em>Alias</em>' attribute.
* @see #setAlias(String)
* @see com.minres.rdl.rdl.RdlPackage#getInstantiation_Alias()
* @model
* @generated
*/
String getAlias();
/**
* Sets the value of the '{@link com.minres.rdl.rdl.Instantiation#getAlias <em>Alias</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Alias</em>' attribute.
* @see #getAlias()
* @generated
*/
void setAlias(String value);
/**
* Returns the value of the '<em><b>Component Ref</b></em>' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the value of the '<em>Component Ref</em>' reference.
* @see #setComponentRef(ComponentDefinition)
* @see com.minres.rdl.rdl.RdlPackage#getInstantiation_ComponentRef()
* @model
* @generated
*/
ComponentDefinition getComponentRef();
/**
* Sets the value of the '{@link com.minres.rdl.rdl.Instantiation#getComponentRef <em>Component Ref</em>}' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Component Ref</em>' reference.
* @see #getComponentRef()
* @generated
*/
void setComponentRef(ComponentDefinition value);
/**
* Returns the value of the '<em><b>Component</b></em>' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the value of the '<em>Component</em>' containment reference.
* @see #setComponent(ComponentDefinition)
* @see com.minres.rdl.rdl.RdlPackage#getInstantiation_Component()
* @model containment="true"
* @generated
*/
ComponentDefinition getComponent();
/**
* Sets the value of the '{@link com.minres.rdl.rdl.Instantiation#getComponent <em>Component</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Component</em>' containment reference.
* @see #getComponent()
* @generated
*/
void setComponent(ComponentDefinition value);
/**
* Returns the value of the '<em><b>Component Instances</b></em>' containment reference list.
* The list contents are of type {@link com.minres.rdl.rdl.ComponentInstance}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the value of the '<em>Component Instances</em>' containment reference list.
* @see com.minres.rdl.rdl.RdlPackage#getInstantiation_ComponentInstances()
* @model containment="true"
* @generated
*/
EList<ComponentInstance> getComponentInstances();
} // Instantiation

View File

@ -0,0 +1,119 @@
/**
* generated by Xtext 2.26.0
*/
package com.minres.rdl.rdl;
/**
* <!-- begin-user-doc -->
* A representation of the model object '<em><b>Post Property Assignment</b></em>'.
* <!-- end-user-doc -->
*
* <p>
* The following features are supported:
* </p>
* <ul>
* <li>{@link com.minres.rdl.rdl.PostPropertyAssignment#getInstance <em>Instance</em>}</li>
* <li>{@link com.minres.rdl.rdl.PostPropertyAssignment#getPropertyEnum <em>Property Enum</em>}</li>
* <li>{@link com.minres.rdl.rdl.PostPropertyAssignment#getProperty <em>Property</em>}</li>
* <li>{@link com.minres.rdl.rdl.PostPropertyAssignment#getRhs <em>Rhs</em>}</li>
* </ul>
*
* @see com.minres.rdl.rdl.RdlPackage#getPostPropertyAssignment()
* @model
* @generated
*/
public interface PostPropertyAssignment extends PropertyAssignment
{
/**
* Returns the value of the '<em><b>Instance</b></em>' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the value of the '<em>Instance</em>' containment reference.
* @see #setInstance(InstanceRef)
* @see com.minres.rdl.rdl.RdlPackage#getPostPropertyAssignment_Instance()
* @model containment="true"
* @generated
*/
InstanceRef getInstance();
/**
* Sets the value of the '{@link com.minres.rdl.rdl.PostPropertyAssignment#getInstance <em>Instance</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Instance</em>' containment reference.
* @see #getInstance()
* @generated
*/
void setInstance(InstanceRef value);
/**
* Returns the value of the '<em><b>Property Enum</b></em>' attribute.
* The literals are from the enumeration {@link com.minres.rdl.rdl.PropertyEnum}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the value of the '<em>Property Enum</em>' attribute.
* @see com.minres.rdl.rdl.PropertyEnum
* @see #setPropertyEnum(PropertyEnum)
* @see com.minres.rdl.rdl.RdlPackage#getPostPropertyAssignment_PropertyEnum()
* @model
* @generated
*/
PropertyEnum getPropertyEnum();
/**
* Sets the value of the '{@link com.minres.rdl.rdl.PostPropertyAssignment#getPropertyEnum <em>Property Enum</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Property Enum</em>' attribute.
* @see com.minres.rdl.rdl.PropertyEnum
* @see #getPropertyEnum()
* @generated
*/
void setPropertyEnum(PropertyEnum value);
/**
* Returns the value of the '<em><b>Property</b></em>' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the value of the '<em>Property</em>' reference.
* @see #setProperty(PropertyDefinition)
* @see com.minres.rdl.rdl.RdlPackage#getPostPropertyAssignment_Property()
* @model
* @generated
*/
PropertyDefinition getProperty();
/**
* Sets the value of the '{@link com.minres.rdl.rdl.PostPropertyAssignment#getProperty <em>Property</em>}' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Property</em>' reference.
* @see #getProperty()
* @generated
*/
void setProperty(PropertyDefinition value);
/**
* Returns the value of the '<em><b>Rhs</b></em>' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the value of the '<em>Rhs</em>' containment reference.
* @see #setRhs(PropertyAssignmentRhs)
* @see com.minres.rdl.rdl.RdlPackage#getPostPropertyAssignment_Rhs()
* @model containment="true"
* @generated
*/
PropertyAssignmentRhs getRhs();
/**
* Sets the value of the '{@link com.minres.rdl.rdl.PostPropertyAssignment#getRhs <em>Rhs</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Rhs</em>' containment reference.
* @see #getRhs()
* @generated
*/
void setRhs(PropertyAssignmentRhs value);
} // PostPropertyAssignment

View File

@ -0,0 +1,20 @@
/**
* generated by Xtext 2.26.0
*/
package com.minres.rdl.rdl;
import org.eclipse.emf.ecore.EObject;
/**
* <!-- begin-user-doc -->
* A representation of the model object '<em><b>Property Assignment</b></em>'.
* <!-- end-user-doc -->
*
*
* @see com.minres.rdl.rdl.RdlPackage#getPropertyAssignment()
* @model
* @generated
*/
public interface PropertyAssignment extends EObject
{
} // PropertyAssignment

View File

@ -0,0 +1,140 @@
/**
* generated by Xtext 2.26.0
*/
package com.minres.rdl.rdl;
import org.eclipse.emf.ecore.EObject;
/**
* <!-- begin-user-doc -->
* A representation of the model object '<em><b>Property Assignment Rhs</b></em>'.
* <!-- end-user-doc -->
*
* <p>
* The following features are supported:
* </p>
* <ul>
* <li>{@link com.minres.rdl.rdl.PropertyAssignmentRhs#getValue <em>Value</em>}</li>
* <li>{@link com.minres.rdl.rdl.PropertyAssignmentRhs#getInstPropRef <em>Inst Prop Ref</em>}</li>
* <li>{@link com.minres.rdl.rdl.PropertyAssignmentRhs#getEnumRef <em>Enum Ref</em>}</li>
* <li>{@link com.minres.rdl.rdl.PropertyAssignmentRhs#getEnums <em>Enums</em>}</li>
* <li>{@link com.minres.rdl.rdl.PropertyAssignmentRhs#getElements <em>Elements</em>}</li>
* </ul>
*
* @see com.minres.rdl.rdl.RdlPackage#getPropertyAssignmentRhs()
* @model
* @generated
*/
public interface PropertyAssignmentRhs extends EObject
{
/**
* Returns the value of the '<em><b>Value</b></em>' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the value of the '<em>Value</em>' containment reference.
* @see #setValue(RValue)
* @see com.minres.rdl.rdl.RdlPackage#getPropertyAssignmentRhs_Value()
* @model containment="true"
* @generated
*/
RValue getValue();
/**
* Sets the value of the '{@link com.minres.rdl.rdl.PropertyAssignmentRhs#getValue <em>Value</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Value</em>' containment reference.
* @see #getValue()
* @generated
*/
void setValue(RValue value);
/**
* Returns the value of the '<em><b>Inst Prop Ref</b></em>' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the value of the '<em>Inst Prop Ref</em>' containment reference.
* @see #setInstPropRef(InstancePropertyRef)
* @see com.minres.rdl.rdl.RdlPackage#getPropertyAssignmentRhs_InstPropRef()
* @model containment="true"
* @generated
*/
InstancePropertyRef getInstPropRef();
/**
* Sets the value of the '{@link com.minres.rdl.rdl.PropertyAssignmentRhs#getInstPropRef <em>Inst Prop Ref</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Inst Prop Ref</em>' containment reference.
* @see #getInstPropRef()
* @generated
*/
void setInstPropRef(InstancePropertyRef value);
/**
* Returns the value of the '<em><b>Enum Ref</b></em>' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the value of the '<em>Enum Ref</em>' reference.
* @see #setEnumRef(EnumDefinition)
* @see com.minres.rdl.rdl.RdlPackage#getPropertyAssignmentRhs_EnumRef()
* @model
* @generated
*/
EnumDefinition getEnumRef();
/**
* Sets the value of the '{@link com.minres.rdl.rdl.PropertyAssignmentRhs#getEnumRef <em>Enum Ref</em>}' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Enum Ref</em>' reference.
* @see #getEnumRef()
* @generated
*/
void setEnumRef(EnumDefinition value);
/**
* Returns the value of the '<em><b>Enums</b></em>' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the value of the '<em>Enums</em>' containment reference.
* @see #setEnums(EnumBody)
* @see com.minres.rdl.rdl.RdlPackage#getPropertyAssignmentRhs_Enums()
* @model containment="true"
* @generated
*/
EnumBody getEnums();
/**
* Sets the value of the '{@link com.minres.rdl.rdl.PropertyAssignmentRhs#getEnums <em>Enums</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Enums</em>' containment reference.
* @see #getEnums()
* @generated
*/
void setEnums(EnumBody value);
/**
* Returns the value of the '<em><b>Elements</b></em>' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the value of the '<em>Elements</em>' containment reference.
* @see #setElements(Concat)
* @see com.minres.rdl.rdl.RdlPackage#getPropertyAssignmentRhs_Elements()
* @model containment="true"
* @generated
*/
Concat getElements();
/**
* Sets the value of the '{@link com.minres.rdl.rdl.PropertyAssignmentRhs#getElements <em>Elements</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Elements</em>' containment reference.
* @see #getElements()
* @generated
*/
void setElements(Concat value);
} // PropertyAssignmentRhs

View File

@ -0,0 +1,317 @@
/**
* generated by Xtext 2.26.0
*/
package com.minres.rdl.rdl;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import org.eclipse.emf.common.util.Enumerator;
/**
* <!-- begin-user-doc -->
* A representation of the literals of the enumeration '<em><b>Property Component</b></em>',
* and utility methods for working with them.
* <!-- end-user-doc -->
* @see com.minres.rdl.rdl.RdlPackage#getPropertyComponent()
* @model
* @generated
*/
public enum PropertyComponent implements Enumerator
{
/**
* The '<em><b>SIGNAL</b></em>' literal object.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #SIGNAL_VALUE
* @generated
* @ordered
*/
SIGNAL(0, "SIGNAL", "signal"),
/**
* The '<em><b>ADDRMAP</b></em>' literal object.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #ADDRMAP_VALUE
* @generated
* @ordered
*/
ADDRMAP(1, "ADDRMAP", "addrmap"),
/**
* The '<em><b>REG</b></em>' literal object.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #REG_VALUE
* @generated
* @ordered
*/
REG(2, "REG", "reg"),
/**
* The '<em><b>REGFILE</b></em>' literal object.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #REGFILE_VALUE
* @generated
* @ordered
*/
REGFILE(3, "REGFILE", "regfile"),
/**
* The '<em><b>FIELD</b></em>' literal object.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #FIELD_VALUE
* @generated
* @ordered
*/
FIELD(4, "FIELD", "field"),
/**
* The '<em><b>ALL</b></em>' literal object.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #ALL_VALUE
* @generated
* @ordered
*/
ALL(5, "ALL", "all");
/**
* The '<em><b>SIGNAL</b></em>' literal value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #SIGNAL
* @model literal="signal"
* @generated
* @ordered
*/
public static final int SIGNAL_VALUE = 0;
/**
* The '<em><b>ADDRMAP</b></em>' literal value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #ADDRMAP
* @model literal="addrmap"
* @generated
* @ordered
*/
public static final int ADDRMAP_VALUE = 1;
/**
* The '<em><b>REG</b></em>' literal value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #REG
* @model literal="reg"
* @generated
* @ordered
*/
public static final int REG_VALUE = 2;
/**
* The '<em><b>REGFILE</b></em>' literal value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #REGFILE
* @model literal="regfile"
* @generated
* @ordered
*/
public static final int REGFILE_VALUE = 3;
/**
* The '<em><b>FIELD</b></em>' literal value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #FIELD
* @model literal="field"
* @generated
* @ordered
*/
public static final int FIELD_VALUE = 4;
/**
* The '<em><b>ALL</b></em>' literal value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #ALL
* @model literal="all"
* @generated
* @ordered
*/
public static final int ALL_VALUE = 5;
/**
* An array of all the '<em><b>Property Component</b></em>' enumerators.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private static final PropertyComponent[] VALUES_ARRAY =
new PropertyComponent[]
{
SIGNAL,
ADDRMAP,
REG,
REGFILE,
FIELD,
ALL,
};
/**
* A public read-only list of all the '<em><b>Property Component</b></em>' enumerators.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public static final List<PropertyComponent> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
/**
* Returns the '<em><b>Property Component</b></em>' literal with the specified literal value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param literal the literal.
* @return the matching enumerator or <code>null</code>.
* @generated
*/
public static PropertyComponent get(String literal)
{
for (int i = 0; i < VALUES_ARRAY.length; ++i)
{
PropertyComponent result = VALUES_ARRAY[i];
if (result.toString().equals(literal))
{
return result;
}
}
return null;
}
/**
* Returns the '<em><b>Property Component</b></em>' literal with the specified name.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param name the name.
* @return the matching enumerator or <code>null</code>.
* @generated
*/
public static PropertyComponent getByName(String name)
{
for (int i = 0; i < VALUES_ARRAY.length; ++i)
{
PropertyComponent result = VALUES_ARRAY[i];
if (result.getName().equals(name))
{
return result;
}
}
return null;
}
/**
* Returns the '<em><b>Property Component</b></em>' literal with the specified integer value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the integer value.
* @return the matching enumerator or <code>null</code>.
* @generated
*/
public static PropertyComponent get(int value)
{
switch (value)
{
case SIGNAL_VALUE: return SIGNAL;
case ADDRMAP_VALUE: return ADDRMAP;
case REG_VALUE: return REG;
case REGFILE_VALUE: return REGFILE;
case FIELD_VALUE: return FIELD;
case ALL_VALUE: return ALL;
}
return null;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private final int value;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private final String name;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private final String literal;
/**
* Only this class can construct instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private PropertyComponent(int value, String name, String literal)
{
this.value = value;
this.name = name;
this.literal = literal;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public int getValue()
{
return value;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public String getName()
{
return name;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public String getLiteral()
{
return literal;
}
/**
* Returns the literal value of the enumerator, which is its string representation.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public String toString()
{
return literal;
}
} //PropertyComponent

View File

@ -0,0 +1,71 @@
/**
* generated by Xtext 2.26.0
*/
package com.minres.rdl.rdl;
import org.eclipse.emf.ecore.EObject;
/**
* <!-- begin-user-doc -->
* A representation of the model object '<em><b>Property Default</b></em>'.
* <!-- end-user-doc -->
*
* <p>
* The following features are supported:
* </p>
* <ul>
* <li>{@link com.minres.rdl.rdl.PropertyDefault#getString <em>String</em>}</li>
* <li>{@link com.minres.rdl.rdl.PropertyDefault#getValue <em>Value</em>}</li>
* </ul>
*
* @see com.minres.rdl.rdl.RdlPackage#getPropertyDefault()
* @model
* @generated
*/
public interface PropertyDefault extends EObject
{
/**
* Returns the value of the '<em><b>String</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the value of the '<em>String</em>' attribute.
* @see #setString(String)
* @see com.minres.rdl.rdl.RdlPackage#getPropertyDefault_String()
* @model
* @generated
*/
String getString();
/**
* Sets the value of the '{@link com.minres.rdl.rdl.PropertyDefault#getString <em>String</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>String</em>' attribute.
* @see #getString()
* @generated
*/
void setString(String value);
/**
* Returns the value of the '<em><b>Value</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the value of the '<em>Value</em>' attribute.
* @see #setValue(Object)
* @see com.minres.rdl.rdl.RdlPackage#getPropertyDefault_Value()
* @model
* @generated
*/
Object getValue();
/**
* Sets the value of the '{@link com.minres.rdl.rdl.PropertyDefault#getValue <em>Value</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Value</em>' attribute.
* @see #getValue()
* @generated
*/
void setValue(Object value);
} // PropertyDefault

View File

@ -0,0 +1,96 @@
/**
* generated by Xtext 2.26.0
*/
package com.minres.rdl.rdl;
/**
* <!-- begin-user-doc -->
* A representation of the model object '<em><b>Property Definition</b></em>'.
* <!-- end-user-doc -->
*
* <p>
* The following features are supported:
* </p>
* <ul>
* <li>{@link com.minres.rdl.rdl.PropertyDefinition#getType <em>Type</em>}</li>
* <li>{@link com.minres.rdl.rdl.PropertyDefinition#getUsage <em>Usage</em>}</li>
* <li>{@link com.minres.rdl.rdl.PropertyDefinition#getDefault <em>Default</em>}</li>
* </ul>
*
* @see com.minres.rdl.rdl.RdlPackage#getPropertyDefinition()
* @model
* @generated
*/
public interface PropertyDefinition extends Entity
{
/**
* Returns the value of the '<em><b>Type</b></em>' attribute.
* The literals are from the enumeration {@link com.minres.rdl.rdl.PropertyTypeName}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the value of the '<em>Type</em>' attribute.
* @see com.minres.rdl.rdl.PropertyTypeName
* @see #setType(PropertyTypeName)
* @see com.minres.rdl.rdl.RdlPackage#getPropertyDefinition_Type()
* @model
* @generated
*/
PropertyTypeName getType();
/**
* Sets the value of the '{@link com.minres.rdl.rdl.PropertyDefinition#getType <em>Type</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Type</em>' attribute.
* @see com.minres.rdl.rdl.PropertyTypeName
* @see #getType()
* @generated
*/
void setType(PropertyTypeName value);
/**
* Returns the value of the '<em><b>Usage</b></em>' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the value of the '<em>Usage</em>' containment reference.
* @see #setUsage(PropertyUsage)
* @see com.minres.rdl.rdl.RdlPackage#getPropertyDefinition_Usage()
* @model containment="true"
* @generated
*/
PropertyUsage getUsage();
/**
* Sets the value of the '{@link com.minres.rdl.rdl.PropertyDefinition#getUsage <em>Usage</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Usage</em>' containment reference.
* @see #getUsage()
* @generated
*/
void setUsage(PropertyUsage value);
/**
* Returns the value of the '<em><b>Default</b></em>' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the value of the '<em>Default</em>' containment reference.
* @see #setDefault(PropertyDefault)
* @see com.minres.rdl.rdl.RdlPackage#getPropertyDefinition_Default()
* @model containment="true"
* @generated
*/
PropertyDefault getDefault();
/**
* Sets the value of the '{@link com.minres.rdl.rdl.PropertyDefinition#getDefault <em>Default</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Default</em>' containment reference.
* @see #getDefault()
* @generated
*/
void setDefault(PropertyDefault value);
} // PropertyDefinition

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,317 @@
/**
* generated by Xtext 2.26.0
*/
package com.minres.rdl.rdl;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import org.eclipse.emf.common.util.Enumerator;
/**
* <!-- begin-user-doc -->
* A representation of the literals of the enumeration '<em><b>Property Modifier</b></em>',
* and utility methods for working with them.
* <!-- end-user-doc -->
* @see com.minres.rdl.rdl.RdlPackage#getPropertyModifier()
* @model
* @generated
*/
public enum PropertyModifier implements Enumerator
{
/**
* The '<em><b>UNDEFINED</b></em>' literal object.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #UNDEFINED_VALUE
* @generated
* @ordered
*/
UNDEFINED(0, "UNDEFINED", "UNDEFINED"),
/**
* The '<em><b>POSEDGE</b></em>' literal object.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #POSEDGE_VALUE
* @generated
* @ordered
*/
POSEDGE(1, "POSEDGE", "posedge"),
/**
* The '<em><b>NEGEDGE</b></em>' literal object.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #NEGEDGE_VALUE
* @generated
* @ordered
*/
NEGEDGE(2, "NEGEDGE", "negedge"),
/**
* The '<em><b>BOTHEDGE</b></em>' literal object.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #BOTHEDGE_VALUE
* @generated
* @ordered
*/
BOTHEDGE(3, "BOTHEDGE", "bothedge"),
/**
* The '<em><b>LEVEL</b></em>' literal object.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #LEVEL_VALUE
* @generated
* @ordered
*/
LEVEL(4, "LEVEL", "level"),
/**
* The '<em><b>NONSTICKY</b></em>' literal object.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #NONSTICKY_VALUE
* @generated
* @ordered
*/
NONSTICKY(5, "NONSTICKY", "nonsticky");
/**
* The '<em><b>UNDEFINED</b></em>' literal value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #UNDEFINED
* @model
* @generated
* @ordered
*/
public static final int UNDEFINED_VALUE = 0;
/**
* The '<em><b>POSEDGE</b></em>' literal value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #POSEDGE
* @model literal="posedge"
* @generated
* @ordered
*/
public static final int POSEDGE_VALUE = 1;
/**
* The '<em><b>NEGEDGE</b></em>' literal value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #NEGEDGE
* @model literal="negedge"
* @generated
* @ordered
*/
public static final int NEGEDGE_VALUE = 2;
/**
* The '<em><b>BOTHEDGE</b></em>' literal value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #BOTHEDGE
* @model literal="bothedge"
* @generated
* @ordered
*/
public static final int BOTHEDGE_VALUE = 3;
/**
* The '<em><b>LEVEL</b></em>' literal value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #LEVEL
* @model literal="level"
* @generated
* @ordered
*/
public static final int LEVEL_VALUE = 4;
/**
* The '<em><b>NONSTICKY</b></em>' literal value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #NONSTICKY
* @model literal="nonsticky"
* @generated
* @ordered
*/
public static final int NONSTICKY_VALUE = 5;
/**
* An array of all the '<em><b>Property Modifier</b></em>' enumerators.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private static final PropertyModifier[] VALUES_ARRAY =
new PropertyModifier[]
{
UNDEFINED,
POSEDGE,
NEGEDGE,
BOTHEDGE,
LEVEL,
NONSTICKY,
};
/**
* A public read-only list of all the '<em><b>Property Modifier</b></em>' enumerators.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public static final List<PropertyModifier> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
/**
* Returns the '<em><b>Property Modifier</b></em>' literal with the specified literal value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param literal the literal.
* @return the matching enumerator or <code>null</code>.
* @generated
*/
public static PropertyModifier get(String literal)
{
for (int i = 0; i < VALUES_ARRAY.length; ++i)
{
PropertyModifier result = VALUES_ARRAY[i];
if (result.toString().equals(literal))
{
return result;
}
}
return null;
}
/**
* Returns the '<em><b>Property Modifier</b></em>' literal with the specified name.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param name the name.
* @return the matching enumerator or <code>null</code>.
* @generated
*/
public static PropertyModifier getByName(String name)
{
for (int i = 0; i < VALUES_ARRAY.length; ++i)
{
PropertyModifier result = VALUES_ARRAY[i];
if (result.getName().equals(name))
{
return result;
}
}
return null;
}
/**
* Returns the '<em><b>Property Modifier</b></em>' literal with the specified integer value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the integer value.
* @return the matching enumerator or <code>null</code>.
* @generated
*/
public static PropertyModifier get(int value)
{
switch (value)
{
case UNDEFINED_VALUE: return UNDEFINED;
case POSEDGE_VALUE: return POSEDGE;
case NEGEDGE_VALUE: return NEGEDGE;
case BOTHEDGE_VALUE: return BOTHEDGE;
case LEVEL_VALUE: return LEVEL;
case NONSTICKY_VALUE: return NONSTICKY;
}
return null;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private final int value;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private final String name;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private final String literal;
/**
* Only this class can construct instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private PropertyModifier(int value, String name, String literal)
{
this.value = value;
this.name = name;
this.literal = literal;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public int getValue()
{
return value;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public String getName()
{
return name;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public String getLiteral()
{
return literal;
}
/**
* Returns the literal value of the enumerator, which is its string representation.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public String toString()
{
return literal;
}
} //PropertyModifier

View File

@ -0,0 +1,363 @@
/**
* generated by Xtext 2.26.0
*/
package com.minres.rdl.rdl;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import org.eclipse.emf.common.util.Enumerator;
/**
* <!-- begin-user-doc -->
* A representation of the literals of the enumeration '<em><b>Property Type Name</b></em>',
* and utility methods for working with them.
* <!-- end-user-doc -->
* @see com.minres.rdl.rdl.RdlPackage#getPropertyTypeName()
* @model
* @generated
*/
public enum PropertyTypeName implements Enumerator
{
/**
* The '<em><b>STRING</b></em>' literal object.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #STRING_VALUE
* @generated
* @ordered
*/
STRING(0, "STRING", "string"),
/**
* The '<em><b>NUMBER</b></em>' literal object.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #NUMBER_VALUE
* @generated
* @ordered
*/
NUMBER(1, "NUMBER", "number"),
/**
* The '<em><b>BOOLEAN</b></em>' literal object.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #BOOLEAN_VALUE
* @generated
* @ordered
*/
BOOLEAN(2, "BOOLEAN", "boolean"),
/**
* The '<em><b>ADDRMAP</b></em>' literal object.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #ADDRMAP_VALUE
* @generated
* @ordered
*/
ADDRMAP(3, "ADDRMAP", "addrmap"),
/**
* The '<em><b>REG</b></em>' literal object.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #REG_VALUE
* @generated
* @ordered
*/
REG(4, "REG", "reg"),
/**
* The '<em><b>REGFILE</b></em>' literal object.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #REGFILE_VALUE
* @generated
* @ordered
*/
REGFILE(5, "REGFILE", "regfile"),
/**
* The '<em><b>FIELD</b></em>' literal object.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #FIELD_VALUE
* @generated
* @ordered
*/
FIELD(6, "FIELD", "field"),
/**
* The '<em><b>REF</b></em>' literal object.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #REF_VALUE
* @generated
* @ordered
*/
REF(7, "REF", "ref");
/**
* The '<em><b>STRING</b></em>' literal value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #STRING
* @model literal="string"
* @generated
* @ordered
*/
public static final int STRING_VALUE = 0;
/**
* The '<em><b>NUMBER</b></em>' literal value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #NUMBER
* @model literal="number"
* @generated
* @ordered
*/
public static final int NUMBER_VALUE = 1;
/**
* The '<em><b>BOOLEAN</b></em>' literal value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #BOOLEAN
* @model literal="boolean"
* @generated
* @ordered
*/
public static final int BOOLEAN_VALUE = 2;
/**
* The '<em><b>ADDRMAP</b></em>' literal value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #ADDRMAP
* @model literal="addrmap"
* @generated
* @ordered
*/
public static final int ADDRMAP_VALUE = 3;
/**
* The '<em><b>REG</b></em>' literal value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #REG
* @model literal="reg"
* @generated
* @ordered
*/
public static final int REG_VALUE = 4;
/**
* The '<em><b>REGFILE</b></em>' literal value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #REGFILE
* @model literal="regfile"
* @generated
* @ordered
*/
public static final int REGFILE_VALUE = 5;
/**
* The '<em><b>FIELD</b></em>' literal value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #FIELD
* @model literal="field"
* @generated
* @ordered
*/
public static final int FIELD_VALUE = 6;
/**
* The '<em><b>REF</b></em>' literal value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #REF
* @model literal="ref"
* @generated
* @ordered
*/
public static final int REF_VALUE = 7;
/**
* An array of all the '<em><b>Property Type Name</b></em>' enumerators.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private static final PropertyTypeName[] VALUES_ARRAY =
new PropertyTypeName[]
{
STRING,
NUMBER,
BOOLEAN,
ADDRMAP,
REG,
REGFILE,
FIELD,
REF,
};
/**
* A public read-only list of all the '<em><b>Property Type Name</b></em>' enumerators.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public static final List<PropertyTypeName> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
/**
* Returns the '<em><b>Property Type Name</b></em>' literal with the specified literal value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param literal the literal.
* @return the matching enumerator or <code>null</code>.
* @generated
*/
public static PropertyTypeName get(String literal)
{
for (int i = 0; i < VALUES_ARRAY.length; ++i)
{
PropertyTypeName result = VALUES_ARRAY[i];
if (result.toString().equals(literal))
{
return result;
}
}
return null;
}
/**
* Returns the '<em><b>Property Type Name</b></em>' literal with the specified name.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param name the name.
* @return the matching enumerator or <code>null</code>.
* @generated
*/
public static PropertyTypeName getByName(String name)
{
for (int i = 0; i < VALUES_ARRAY.length; ++i)
{
PropertyTypeName result = VALUES_ARRAY[i];
if (result.getName().equals(name))
{
return result;
}
}
return null;
}
/**
* Returns the '<em><b>Property Type Name</b></em>' literal with the specified integer value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the integer value.
* @return the matching enumerator or <code>null</code>.
* @generated
*/
public static PropertyTypeName get(int value)
{
switch (value)
{
case STRING_VALUE: return STRING;
case NUMBER_VALUE: return NUMBER;
case BOOLEAN_VALUE: return BOOLEAN;
case ADDRMAP_VALUE: return ADDRMAP;
case REG_VALUE: return REG;
case REGFILE_VALUE: return REGFILE;
case FIELD_VALUE: return FIELD;
case REF_VALUE: return REF;
}
return null;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private final int value;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private final String name;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private final String literal;
/**
* Only this class can construct instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private PropertyTypeName(int value, String name, String literal)
{
this.value = value;
this.name = name;
this.literal = literal;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public int getValue()
{
return value;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public String getName()
{
return name;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public String getLiteral()
{
return literal;
}
/**
* Returns the literal value of the enumerator, which is its string representation.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public String toString()
{
return literal;
}
} //PropertyTypeName

View File

@ -0,0 +1,42 @@
/**
* generated by Xtext 2.26.0
*/
package com.minres.rdl.rdl;
import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.EObject;
/**
* <!-- begin-user-doc -->
* A representation of the model object '<em><b>Property Usage</b></em>'.
* <!-- end-user-doc -->
*
* <p>
* The following features are supported:
* </p>
* <ul>
* <li>{@link com.minres.rdl.rdl.PropertyUsage#getComponents <em>Components</em>}</li>
* </ul>
*
* @see com.minres.rdl.rdl.RdlPackage#getPropertyUsage()
* @model
* @generated
*/
public interface PropertyUsage extends EObject
{
/**
* Returns the value of the '<em><b>Components</b></em>' attribute list.
* The list contents are of type {@link com.minres.rdl.rdl.PropertyComponent}.
* The literals are from the enumeration {@link com.minres.rdl.rdl.PropertyComponent}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the value of the '<em>Components</em>' attribute list.
* @see com.minres.rdl.rdl.PropertyComponent
* @see com.minres.rdl.rdl.RdlPackage#getPropertyUsage_Components()
* @model unique="false"
* @generated
*/
EList<PropertyComponent> getComponents();
} // PropertyUsage

View File

@ -0,0 +1,97 @@
/**
* generated by Xtext 2.26.0
*/
package com.minres.rdl.rdl;
import org.eclipse.emf.ecore.EObject;
/**
* <!-- begin-user-doc -->
* A representation of the model object '<em><b>RValue</b></em>'.
* <!-- end-user-doc -->
*
* <p>
* The following features are supported:
* </p>
* <ul>
* <li>{@link com.minres.rdl.rdl.RValue#getVal <em>Val</em>}</li>
* <li>{@link com.minres.rdl.rdl.RValue#getNum <em>Num</em>}</li>
* <li>{@link com.minres.rdl.rdl.RValue#getStr <em>Str</em>}</li>
* </ul>
*
* @see com.minres.rdl.rdl.RdlPackage#getRValue()
* @model
* @generated
*/
public interface RValue extends EObject
{
/**
* Returns the value of the '<em><b>Val</b></em>' attribute.
* The literals are from the enumeration {@link com.minres.rdl.rdl.RValueConstant}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the value of the '<em>Val</em>' attribute.
* @see com.minres.rdl.rdl.RValueConstant
* @see #setVal(RValueConstant)
* @see com.minres.rdl.rdl.RdlPackage#getRValue_Val()
* @model
* @generated
*/
RValueConstant getVal();
/**
* Sets the value of the '{@link com.minres.rdl.rdl.RValue#getVal <em>Val</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Val</em>' attribute.
* @see com.minres.rdl.rdl.RValueConstant
* @see #getVal()
* @generated
*/
void setVal(RValueConstant value);
/**
* Returns the value of the '<em><b>Num</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the value of the '<em>Num</em>' attribute.
* @see #setNum(Object)
* @see com.minres.rdl.rdl.RdlPackage#getRValue_Num()
* @model
* @generated
*/
Object getNum();
/**
* Sets the value of the '{@link com.minres.rdl.rdl.RValue#getNum <em>Num</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Num</em>' attribute.
* @see #getNum()
* @generated
*/
void setNum(Object value);
/**
* Returns the value of the '<em><b>Str</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the value of the '<em>Str</em>' attribute.
* @see #setStr(String)
* @see com.minres.rdl.rdl.RdlPackage#getRValue_Str()
* @model
* @generated
*/
String getStr();
/**
* Sets the value of the '{@link com.minres.rdl.rdl.RValue#getStr <em>Str</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Str</em>' attribute.
* @see #getStr()
* @generated
*/
void setStr(String value);
} // RValue

View File

@ -0,0 +1,478 @@
/**
* generated by Xtext 2.26.0
*/
package com.minres.rdl.rdl;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import org.eclipse.emf.common.util.Enumerator;
/**
* <!-- begin-user-doc -->
* A representation of the literals of the enumeration '<em><b>RValue Constant</b></em>',
* and utility methods for working with them.
* <!-- end-user-doc -->
* @see com.minres.rdl.rdl.RdlPackage#getRValueConstant()
* @model
* @generated
*/
public enum RValueConstant implements Enumerator
{
/**
* The '<em><b>UNDEFINED</b></em>' literal object.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #UNDEFINED_VALUE
* @generated
* @ordered
*/
UNDEFINED(0, "UNDEFINED", "UNDEFINED"),
/**
* The '<em><b>TRUE</b></em>' literal object.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #TRUE_VALUE
* @generated
* @ordered
*/
TRUE(1, "TRUE", "true"),
/**
* The '<em><b>FALSE</b></em>' literal object.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #FALSE_VALUE
* @generated
* @ordered
*/
FALSE(2, "FALSE", "false"),
/**
* The '<em><b>RW</b></em>' literal object.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #RW_VALUE
* @generated
* @ordered
*/
RW(3, "RW", "rw"),
/**
* The '<em><b>WR</b></em>' literal object.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #WR_VALUE
* @generated
* @ordered
*/
WR(4, "WR", "wr"),
/**
* The '<em><b>R</b></em>' literal object.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #R_VALUE
* @generated
* @ordered
*/
R(5, "R", "r"),
/**
* The '<em><b>W</b></em>' literal object.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #W_VALUE
* @generated
* @ordered
*/
W(6, "W", "w"),
/**
* The '<em><b>NA</b></em>' literal object.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #NA_VALUE
* @generated
* @ordered
*/
NA(7, "NA", "na"),
/**
* The '<em><b>COMPACT</b></em>' literal object.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #COMPACT_VALUE
* @generated
* @ordered
*/
COMPACT(8, "COMPACT", "compact"),
/**
* The '<em><b>REGALIGN</b></em>' literal object.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #REGALIGN_VALUE
* @generated
* @ordered
*/
REGALIGN(9, "REGALIGN", "regalign"),
/**
* The '<em><b>FULLALIGN</b></em>' literal object.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #FULLALIGN_VALUE
* @generated
* @ordered
*/
FULLALIGN(10, "FULLALIGN", "fullalign"),
/**
* The '<em><b>HW</b></em>' literal object.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #HW_VALUE
* @generated
* @ordered
*/
HW(11, "HW", "hw"),
/**
* The '<em><b>SW</b></em>' literal object.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #SW_VALUE
* @generated
* @ordered
*/
SW(12, "SW", "sw");
/**
* The '<em><b>UNDEFINED</b></em>' literal value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #UNDEFINED
* @model
* @generated
* @ordered
*/
public static final int UNDEFINED_VALUE = 0;
/**
* The '<em><b>TRUE</b></em>' literal value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #TRUE
* @model literal="true"
* @generated
* @ordered
*/
public static final int TRUE_VALUE = 1;
/**
* The '<em><b>FALSE</b></em>' literal value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #FALSE
* @model literal="false"
* @generated
* @ordered
*/
public static final int FALSE_VALUE = 2;
/**
* The '<em><b>RW</b></em>' literal value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #RW
* @model literal="rw"
* @generated
* @ordered
*/
public static final int RW_VALUE = 3;
/**
* The '<em><b>WR</b></em>' literal value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #WR
* @model literal="wr"
* @generated
* @ordered
*/
public static final int WR_VALUE = 4;
/**
* The '<em><b>R</b></em>' literal value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #R
* @model literal="r"
* @generated
* @ordered
*/
public static final int R_VALUE = 5;
/**
* The '<em><b>W</b></em>' literal value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #W
* @model literal="w"
* @generated
* @ordered
*/
public static final int W_VALUE = 6;
/**
* The '<em><b>NA</b></em>' literal value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #NA
* @model literal="na"
* @generated
* @ordered
*/
public static final int NA_VALUE = 7;
/**
* The '<em><b>COMPACT</b></em>' literal value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #COMPACT
* @model literal="compact"
* @generated
* @ordered
*/
public static final int COMPACT_VALUE = 8;
/**
* The '<em><b>REGALIGN</b></em>' literal value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #REGALIGN
* @model literal="regalign"
* @generated
* @ordered
*/
public static final int REGALIGN_VALUE = 9;
/**
* The '<em><b>FULLALIGN</b></em>' literal value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #FULLALIGN
* @model literal="fullalign"
* @generated
* @ordered
*/
public static final int FULLALIGN_VALUE = 10;
/**
* The '<em><b>HW</b></em>' literal value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #HW
* @model literal="hw"
* @generated
* @ordered
*/
public static final int HW_VALUE = 11;
/**
* The '<em><b>SW</b></em>' literal value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #SW
* @model literal="sw"
* @generated
* @ordered
*/
public static final int SW_VALUE = 12;
/**
* An array of all the '<em><b>RValue Constant</b></em>' enumerators.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private static final RValueConstant[] VALUES_ARRAY =
new RValueConstant[]
{
UNDEFINED,
TRUE,
FALSE,
RW,
WR,
R,
W,
NA,
COMPACT,
REGALIGN,
FULLALIGN,
HW,
SW,
};
/**
* A public read-only list of all the '<em><b>RValue Constant</b></em>' enumerators.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public static final List<RValueConstant> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
/**
* Returns the '<em><b>RValue Constant</b></em>' literal with the specified literal value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param literal the literal.
* @return the matching enumerator or <code>null</code>.
* @generated
*/
public static RValueConstant get(String literal)
{
for (int i = 0; i < VALUES_ARRAY.length; ++i)
{
RValueConstant result = VALUES_ARRAY[i];
if (result.toString().equals(literal))
{
return result;
}
}
return null;
}
/**
* Returns the '<em><b>RValue Constant</b></em>' literal with the specified name.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param name the name.
* @return the matching enumerator or <code>null</code>.
* @generated
*/
public static RValueConstant getByName(String name)
{
for (int i = 0; i < VALUES_ARRAY.length; ++i)
{
RValueConstant result = VALUES_ARRAY[i];
if (result.getName().equals(name))
{
return result;
}
}
return null;
}
/**
* Returns the '<em><b>RValue Constant</b></em>' literal with the specified integer value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the integer value.
* @return the matching enumerator or <code>null</code>.
* @generated
*/
public static RValueConstant get(int value)
{
switch (value)
{
case UNDEFINED_VALUE: return UNDEFINED;
case TRUE_VALUE: return TRUE;
case FALSE_VALUE: return FALSE;
case RW_VALUE: return RW;
case WR_VALUE: return WR;
case R_VALUE: return R;
case W_VALUE: return W;
case NA_VALUE: return NA;
case COMPACT_VALUE: return COMPACT;
case REGALIGN_VALUE: return REGALIGN;
case FULLALIGN_VALUE: return FULLALIGN;
case HW_VALUE: return HW;
case SW_VALUE: return SW;
}
return null;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private final int value;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private final String name;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private final String literal;
/**
* Only this class can construct instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private RValueConstant(int value, String name, String literal)
{
this.value = value;
this.name = name;
this.literal = literal;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public int getValue()
{
return value;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public String getName()
{
return name;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public String getLiteral()
{
return literal;
}
/**
* Returns the literal value of the enumerator, which is its string representation.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public String toString()
{
return literal;
}
} //RValueConstant

View File

@ -0,0 +1,94 @@
/**
* generated by Xtext 2.26.0
*/
package com.minres.rdl.rdl;
import org.eclipse.emf.ecore.EObject;
/**
* <!-- begin-user-doc -->
* A representation of the model object '<em><b>Range</b></em>'.
* <!-- end-user-doc -->
*
* <p>
* The following features are supported:
* </p>
* <ul>
* <li>{@link com.minres.rdl.rdl.Range#getLeft <em>Left</em>}</li>
* <li>{@link com.minres.rdl.rdl.Range#getRight <em>Right</em>}</li>
* <li>{@link com.minres.rdl.rdl.Range#getSize <em>Size</em>}</li>
* </ul>
*
* @see com.minres.rdl.rdl.RdlPackage#getRange()
* @model
* @generated
*/
public interface Range extends EObject
{
/**
* Returns the value of the '<em><b>Left</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the value of the '<em>Left</em>' attribute.
* @see #setLeft(Object)
* @see com.minres.rdl.rdl.RdlPackage#getRange_Left()
* @model
* @generated
*/
Object getLeft();
/**
* Sets the value of the '{@link com.minres.rdl.rdl.Range#getLeft <em>Left</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Left</em>' attribute.
* @see #getLeft()
* @generated
*/
void setLeft(Object value);
/**
* Returns the value of the '<em><b>Right</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the value of the '<em>Right</em>' attribute.
* @see #setRight(Object)
* @see com.minres.rdl.rdl.RdlPackage#getRange_Right()
* @model
* @generated
*/
Object getRight();
/**
* Sets the value of the '{@link com.minres.rdl.rdl.Range#getRight <em>Right</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Right</em>' attribute.
* @see #getRight()
* @generated
*/
void setRight(Object value);
/**
* Returns the value of the '<em><b>Size</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the value of the '<em>Size</em>' attribute.
* @see #setSize(Object)
* @see com.minres.rdl.rdl.RdlPackage#getRange_Size()
* @model
* @generated
*/
Object getSize();
/**
* Sets the value of the '{@link com.minres.rdl.rdl.Range#getSize <em>Size</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Size</em>' attribute.
* @see #getSize()
* @generated
*/
void setSize(Object value);
} // Range

View File

@ -0,0 +1,260 @@
/**
* generated by Xtext 2.26.0
*/
package com.minres.rdl.rdl;
import org.eclipse.emf.ecore.EFactory;
/**
* <!-- begin-user-doc -->
* The <b>Factory</b> for the model.
* It provides a create method for each non-abstract class of the model.
* <!-- end-user-doc -->
* @see com.minres.rdl.rdl.RdlPackage
* @generated
*/
public interface RdlFactory extends EFactory
{
/**
* The singleton instance of the factory.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
RdlFactory eINSTANCE = com.minres.rdl.rdl.impl.RdlFactoryImpl.init();
/**
* Returns a new object of class '<em>Root</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return a new object of class '<em>Root</em>'.
* @generated
*/
Root createRoot();
/**
* Returns a new object of class '<em>Include</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return a new object of class '<em>Include</em>'.
* @generated
*/
Include createInclude();
/**
* Returns a new object of class '<em>Property Definition</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return a new object of class '<em>Property Definition</em>'.
* @generated
*/
PropertyDefinition createPropertyDefinition();
/**
* Returns a new object of class '<em>Property Default</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return a new object of class '<em>Property Default</em>'.
* @generated
*/
PropertyDefault createPropertyDefault();
/**
* Returns a new object of class '<em>Property Usage</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return a new object of class '<em>Property Usage</em>'.
* @generated
*/
PropertyUsage createPropertyUsage();
/**
* Returns a new object of class '<em>Component Definition</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return a new object of class '<em>Component Definition</em>'.
* @generated
*/
ComponentDefinition createComponentDefinition();
/**
* Returns a new object of class '<em>Instantiation</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return a new object of class '<em>Instantiation</em>'.
* @generated
*/
Instantiation createInstantiation();
/**
* Returns a new object of class '<em>Component Instance</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return a new object of class '<em>Component Instance</em>'.
* @generated
*/
ComponentInstance createComponentInstance();
/**
* Returns a new object of class '<em>Range</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return a new object of class '<em>Range</em>'.
* @generated
*/
Range createRange();
/**
* Returns a new object of class '<em>Property Assignment</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return a new object of class '<em>Property Assignment</em>'.
* @generated
*/
PropertyAssignment createPropertyAssignment();
/**
* Returns a new object of class '<em>Default Propery Assignment</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return a new object of class '<em>Default Propery Assignment</em>'.
* @generated
*/
DefaultProperyAssignment createDefaultProperyAssignment();
/**
* Returns a new object of class '<em>Explicit Property Assignment</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return a new object of class '<em>Explicit Property Assignment</em>'.
* @generated
*/
ExplicitPropertyAssignment createExplicitPropertyAssignment();
/**
* Returns a new object of class '<em>Post Property Assignment</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return a new object of class '<em>Post Property Assignment</em>'.
* @generated
*/
PostPropertyAssignment createPostPropertyAssignment();
/**
* Returns a new object of class '<em>Instance Property Ref</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return a new object of class '<em>Instance Property Ref</em>'.
* @generated
*/
InstancePropertyRef createInstancePropertyRef();
/**
* Returns a new object of class '<em>Entity</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return a new object of class '<em>Entity</em>'.
* @generated
*/
Entity createEntity();
/**
* Returns a new object of class '<em>Instance Ref</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return a new object of class '<em>Instance Ref</em>'.
* @generated
*/
InstanceRef createInstanceRef();
/**
* Returns a new object of class '<em>Property Assignment Rhs</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return a new object of class '<em>Property Assignment Rhs</em>'.
* @generated
*/
PropertyAssignmentRhs createPropertyAssignmentRhs();
/**
* Returns a new object of class '<em>Concat</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return a new object of class '<em>Concat</em>'.
* @generated
*/
Concat createConcat();
/**
* Returns a new object of class '<em>Concat Elem</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return a new object of class '<em>Concat Elem</em>'.
* @generated
*/
ConcatElem createConcatElem();
/**
* Returns a new object of class '<em>RValue</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return a new object of class '<em>RValue</em>'.
* @generated
*/
RValue createRValue();
/**
* Returns a new object of class '<em>Enum Definition</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return a new object of class '<em>Enum Definition</em>'.
* @generated
*/
EnumDefinition createEnumDefinition();
/**
* Returns a new object of class '<em>Enum Body</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return a new object of class '<em>Enum Body</em>'.
* @generated
*/
EnumBody createEnumBody();
/**
* Returns a new object of class '<em>Enum Entry</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return a new object of class '<em>Enum Entry</em>'.
* @generated
*/
EnumEntry createEnumEntry();
/**
* Returns a new object of class '<em>Enum Property</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return a new object of class '<em>Enum Property</em>'.
* @generated
*/
EnumProperty createEnumProperty();
/**
* Returns a new object of class '<em>Enum Instance Type</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return a new object of class '<em>Enum Instance Type</em>'.
* @generated
*/
EnumInstanceType createEnumInstanceType();
/**
* Returns the package supported by this factory.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the package supported by this factory.
* @generated
*/
RdlPackage getRdlPackage();
} //RdlFactory

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,105 @@
/**
* generated by Xtext 2.26.0
*/
package com.minres.rdl.rdl;
import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.EObject;
/**
* <!-- begin-user-doc -->
* A representation of the model object '<em><b>Root</b></em>'.
* <!-- end-user-doc -->
*
* <p>
* The following features are supported:
* </p>
* <ul>
* <li>{@link com.minres.rdl.rdl.Root#getIncludes <em>Includes</em>}</li>
* <li>{@link com.minres.rdl.rdl.Root#getComponentDefinitions <em>Component Definitions</em>}</li>
* <li>{@link com.minres.rdl.rdl.Root#getEnumDefinitions <em>Enum Definitions</em>}</li>
* <li>{@link com.minres.rdl.rdl.Root#getInstantiations <em>Instantiations</em>}</li>
* <li>{@link com.minres.rdl.rdl.Root#getPropertyAssignments <em>Property Assignments</em>}</li>
* <li>{@link com.minres.rdl.rdl.Root#getPropertyDefinitions <em>Property Definitions</em>}</li>
* </ul>
*
* @see com.minres.rdl.rdl.RdlPackage#getRoot()
* @model
* @generated
*/
public interface Root extends EObject
{
/**
* Returns the value of the '<em><b>Includes</b></em>' containment reference list.
* The list contents are of type {@link com.minres.rdl.rdl.Include}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the value of the '<em>Includes</em>' containment reference list.
* @see com.minres.rdl.rdl.RdlPackage#getRoot_Includes()
* @model containment="true"
* @generated
*/
EList<Include> getIncludes();
/**
* Returns the value of the '<em><b>Component Definitions</b></em>' containment reference list.
* The list contents are of type {@link com.minres.rdl.rdl.ComponentDefinition}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the value of the '<em>Component Definitions</em>' containment reference list.
* @see com.minres.rdl.rdl.RdlPackage#getRoot_ComponentDefinitions()
* @model containment="true"
* @generated
*/
EList<ComponentDefinition> getComponentDefinitions();
/**
* Returns the value of the '<em><b>Enum Definitions</b></em>' containment reference list.
* The list contents are of type {@link com.minres.rdl.rdl.EnumDefinition}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the value of the '<em>Enum Definitions</em>' containment reference list.
* @see com.minres.rdl.rdl.RdlPackage#getRoot_EnumDefinitions()
* @model containment="true"
* @generated
*/
EList<EnumDefinition> getEnumDefinitions();
/**
* Returns the value of the '<em><b>Instantiations</b></em>' containment reference list.
* The list contents are of type {@link com.minres.rdl.rdl.Instantiation}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the value of the '<em>Instantiations</em>' containment reference list.
* @see com.minres.rdl.rdl.RdlPackage#getRoot_Instantiations()
* @model containment="true"
* @generated
*/
EList<Instantiation> getInstantiations();
/**
* Returns the value of the '<em><b>Property Assignments</b></em>' containment reference list.
* The list contents are of type {@link com.minres.rdl.rdl.PropertyAssignment}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the value of the '<em>Property Assignments</em>' containment reference list.
* @see com.minres.rdl.rdl.RdlPackage#getRoot_PropertyAssignments()
* @model containment="true"
* @generated
*/
EList<PropertyAssignment> getPropertyAssignments();
/**
* Returns the value of the '<em><b>Property Definitions</b></em>' containment reference list.
* The list contents are of type {@link com.minres.rdl.rdl.PropertyDefinition}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the value of the '<em>Property Definitions</em>' containment reference list.
* @see com.minres.rdl.rdl.RdlPackage#getRoot_PropertyDefinitions()
* @model containment="true"
* @generated
*/
EList<PropertyDefinition> getPropertyDefinitions();
} // Root

View File

@ -0,0 +1,422 @@
/**
* generated by Xtext 2.26.0
*/
package com.minres.rdl.rdl.impl;
import com.minres.rdl.rdl.ComponentDefinition;
import com.minres.rdl.rdl.ComponentDefinitionType;
import com.minres.rdl.rdl.EnumDefinition;
import com.minres.rdl.rdl.Instantiation;
import com.minres.rdl.rdl.PropertyAssignment;
import com.minres.rdl.rdl.RdlPackage;
import java.util.Collection;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.common.notify.NotificationChain;
import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.InternalEObject;
import org.eclipse.emf.ecore.impl.ENotificationImpl;
import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
import org.eclipse.emf.ecore.util.EObjectContainmentEList;
import org.eclipse.emf.ecore.util.InternalEList;
/**
* <!-- begin-user-doc -->
* An implementation of the model object '<em><b>Component Definition</b></em>'.
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
* </p>
* <ul>
* <li>{@link com.minres.rdl.rdl.impl.ComponentDefinitionImpl#getType <em>Type</em>}</li>
* <li>{@link com.minres.rdl.rdl.impl.ComponentDefinitionImpl#getName <em>Name</em>}</li>
* <li>{@link com.minres.rdl.rdl.impl.ComponentDefinitionImpl#getComponentDefinitions <em>Component Definitions</em>}</li>
* <li>{@link com.minres.rdl.rdl.impl.ComponentDefinitionImpl#getInstantiations <em>Instantiations</em>}</li>
* <li>{@link com.minres.rdl.rdl.impl.ComponentDefinitionImpl#getPropertyAssignments <em>Property Assignments</em>}</li>
* <li>{@link com.minres.rdl.rdl.impl.ComponentDefinitionImpl#getEnumDefinitions <em>Enum Definitions</em>}</li>
* </ul>
*
* @generated
*/
public class ComponentDefinitionImpl extends MinimalEObjectImpl.Container implements ComponentDefinition
{
/**
* The default value of the '{@link #getType() <em>Type</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getType()
* @generated
* @ordered
*/
protected static final ComponentDefinitionType TYPE_EDEFAULT = ComponentDefinitionType.SIGNAL;
/**
* The cached value of the '{@link #getType() <em>Type</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getType()
* @generated
* @ordered
*/
protected ComponentDefinitionType type = TYPE_EDEFAULT;
/**
* The default value of the '{@link #getName() <em>Name</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getName()
* @generated
* @ordered
*/
protected static final String NAME_EDEFAULT = null;
/**
* The cached value of the '{@link #getName() <em>Name</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getName()
* @generated
* @ordered
*/
protected String name = NAME_EDEFAULT;
/**
* The cached value of the '{@link #getComponentDefinitions() <em>Component Definitions</em>}' containment reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getComponentDefinitions()
* @generated
* @ordered
*/
protected EList<ComponentDefinition> componentDefinitions;
/**
* The cached value of the '{@link #getInstantiations() <em>Instantiations</em>}' containment reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getInstantiations()
* @generated
* @ordered
*/
protected EList<Instantiation> instantiations;
/**
* The cached value of the '{@link #getPropertyAssignments() <em>Property Assignments</em>}' containment reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getPropertyAssignments()
* @generated
* @ordered
*/
protected EList<PropertyAssignment> propertyAssignments;
/**
* The cached value of the '{@link #getEnumDefinitions() <em>Enum Definitions</em>}' containment reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getEnumDefinitions()
* @generated
* @ordered
*/
protected EList<EnumDefinition> enumDefinitions;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected ComponentDefinitionImpl()
{
super();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
protected EClass eStaticClass()
{
return RdlPackage.Literals.COMPONENT_DEFINITION;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public ComponentDefinitionType getType()
{
return type;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public void setType(ComponentDefinitionType newType)
{
ComponentDefinitionType oldType = type;
type = newType == null ? TYPE_EDEFAULT : newType;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, RdlPackage.COMPONENT_DEFINITION__TYPE, oldType, type));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public String getName()
{
return name;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public void setName(String newName)
{
String oldName = name;
name = newName;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, RdlPackage.COMPONENT_DEFINITION__NAME, oldName, name));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EList<ComponentDefinition> getComponentDefinitions()
{
if (componentDefinitions == null)
{
componentDefinitions = new EObjectContainmentEList<ComponentDefinition>(ComponentDefinition.class, this, RdlPackage.COMPONENT_DEFINITION__COMPONENT_DEFINITIONS);
}
return componentDefinitions;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EList<Instantiation> getInstantiations()
{
if (instantiations == null)
{
instantiations = new EObjectContainmentEList<Instantiation>(Instantiation.class, this, RdlPackage.COMPONENT_DEFINITION__INSTANTIATIONS);
}
return instantiations;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EList<PropertyAssignment> getPropertyAssignments()
{
if (propertyAssignments == null)
{
propertyAssignments = new EObjectContainmentEList<PropertyAssignment>(PropertyAssignment.class, this, RdlPackage.COMPONENT_DEFINITION__PROPERTY_ASSIGNMENTS);
}
return propertyAssignments;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EList<EnumDefinition> getEnumDefinitions()
{
if (enumDefinitions == null)
{
enumDefinitions = new EObjectContainmentEList<EnumDefinition>(EnumDefinition.class, this, RdlPackage.COMPONENT_DEFINITION__ENUM_DEFINITIONS);
}
return enumDefinitions;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
{
switch (featureID)
{
case RdlPackage.COMPONENT_DEFINITION__COMPONENT_DEFINITIONS:
return ((InternalEList<?>)getComponentDefinitions()).basicRemove(otherEnd, msgs);
case RdlPackage.COMPONENT_DEFINITION__INSTANTIATIONS:
return ((InternalEList<?>)getInstantiations()).basicRemove(otherEnd, msgs);
case RdlPackage.COMPONENT_DEFINITION__PROPERTY_ASSIGNMENTS:
return ((InternalEList<?>)getPropertyAssignments()).basicRemove(otherEnd, msgs);
case RdlPackage.COMPONENT_DEFINITION__ENUM_DEFINITIONS:
return ((InternalEList<?>)getEnumDefinitions()).basicRemove(otherEnd, msgs);
}
return super.eInverseRemove(otherEnd, featureID, msgs);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Object eGet(int featureID, boolean resolve, boolean coreType)
{
switch (featureID)
{
case RdlPackage.COMPONENT_DEFINITION__TYPE:
return getType();
case RdlPackage.COMPONENT_DEFINITION__NAME:
return getName();
case RdlPackage.COMPONENT_DEFINITION__COMPONENT_DEFINITIONS:
return getComponentDefinitions();
case RdlPackage.COMPONENT_DEFINITION__INSTANTIATIONS:
return getInstantiations();
case RdlPackage.COMPONENT_DEFINITION__PROPERTY_ASSIGNMENTS:
return getPropertyAssignments();
case RdlPackage.COMPONENT_DEFINITION__ENUM_DEFINITIONS:
return getEnumDefinitions();
}
return super.eGet(featureID, resolve, coreType);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@SuppressWarnings("unchecked")
@Override
public void eSet(int featureID, Object newValue)
{
switch (featureID)
{
case RdlPackage.COMPONENT_DEFINITION__TYPE:
setType((ComponentDefinitionType)newValue);
return;
case RdlPackage.COMPONENT_DEFINITION__NAME:
setName((String)newValue);
return;
case RdlPackage.COMPONENT_DEFINITION__COMPONENT_DEFINITIONS:
getComponentDefinitions().clear();
getComponentDefinitions().addAll((Collection<? extends ComponentDefinition>)newValue);
return;
case RdlPackage.COMPONENT_DEFINITION__INSTANTIATIONS:
getInstantiations().clear();
getInstantiations().addAll((Collection<? extends Instantiation>)newValue);
return;
case RdlPackage.COMPONENT_DEFINITION__PROPERTY_ASSIGNMENTS:
getPropertyAssignments().clear();
getPropertyAssignments().addAll((Collection<? extends PropertyAssignment>)newValue);
return;
case RdlPackage.COMPONENT_DEFINITION__ENUM_DEFINITIONS:
getEnumDefinitions().clear();
getEnumDefinitions().addAll((Collection<? extends EnumDefinition>)newValue);
return;
}
super.eSet(featureID, newValue);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public void eUnset(int featureID)
{
switch (featureID)
{
case RdlPackage.COMPONENT_DEFINITION__TYPE:
setType(TYPE_EDEFAULT);
return;
case RdlPackage.COMPONENT_DEFINITION__NAME:
setName(NAME_EDEFAULT);
return;
case RdlPackage.COMPONENT_DEFINITION__COMPONENT_DEFINITIONS:
getComponentDefinitions().clear();
return;
case RdlPackage.COMPONENT_DEFINITION__INSTANTIATIONS:
getInstantiations().clear();
return;
case RdlPackage.COMPONENT_DEFINITION__PROPERTY_ASSIGNMENTS:
getPropertyAssignments().clear();
return;
case RdlPackage.COMPONENT_DEFINITION__ENUM_DEFINITIONS:
getEnumDefinitions().clear();
return;
}
super.eUnset(featureID);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public boolean eIsSet(int featureID)
{
switch (featureID)
{
case RdlPackage.COMPONENT_DEFINITION__TYPE:
return type != TYPE_EDEFAULT;
case RdlPackage.COMPONENT_DEFINITION__NAME:
return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
case RdlPackage.COMPONENT_DEFINITION__COMPONENT_DEFINITIONS:
return componentDefinitions != null && !componentDefinitions.isEmpty();
case RdlPackage.COMPONENT_DEFINITION__INSTANTIATIONS:
return instantiations != null && !instantiations.isEmpty();
case RdlPackage.COMPONENT_DEFINITION__PROPERTY_ASSIGNMENTS:
return propertyAssignments != null && !propertyAssignments.isEmpty();
case RdlPackage.COMPONENT_DEFINITION__ENUM_DEFINITIONS:
return enumDefinitions != null && !enumDefinitions.isEmpty();
}
return super.eIsSet(featureID);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public String toString()
{
if (eIsProxy()) return super.toString();
StringBuilder result = new StringBuilder(super.toString());
result.append(" (type: ");
result.append(type);
result.append(", name: ");
result.append(name);
result.append(')');
return result.toString();
}
} //ComponentDefinitionImpl

View File

@ -0,0 +1,443 @@
/**
* generated by Xtext 2.26.0
*/
package com.minres.rdl.rdl.impl;
import com.minres.rdl.rdl.ComponentInstance;
import com.minres.rdl.rdl.Range;
import com.minres.rdl.rdl.RdlPackage;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.common.notify.NotificationChain;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.InternalEObject;
import org.eclipse.emf.ecore.impl.ENotificationImpl;
/**
* <!-- begin-user-doc -->
* An implementation of the model object '<em><b>Component Instance</b></em>'.
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
* </p>
* <ul>
* <li>{@link com.minres.rdl.rdl.impl.ComponentInstanceImpl#getRange <em>Range</em>}</li>
* <li>{@link com.minres.rdl.rdl.impl.ComponentInstanceImpl#getReset <em>Reset</em>}</li>
* <li>{@link com.minres.rdl.rdl.impl.ComponentInstanceImpl#getAddress <em>Address</em>}</li>
* <li>{@link com.minres.rdl.rdl.impl.ComponentInstanceImpl#getAddrInc <em>Addr Inc</em>}</li>
* <li>{@link com.minres.rdl.rdl.impl.ComponentInstanceImpl#getAddrMod <em>Addr Mod</em>}</li>
* </ul>
*
* @generated
*/
public class ComponentInstanceImpl extends EntityImpl implements ComponentInstance
{
/**
* The cached value of the '{@link #getRange() <em>Range</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getRange()
* @generated
* @ordered
*/
protected Range range;
/**
* The default value of the '{@link #getReset() <em>Reset</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getReset()
* @generated
* @ordered
*/
protected static final Object RESET_EDEFAULT = null;
/**
* The cached value of the '{@link #getReset() <em>Reset</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getReset()
* @generated
* @ordered
*/
protected Object reset = RESET_EDEFAULT;
/**
* The default value of the '{@link #getAddress() <em>Address</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getAddress()
* @generated
* @ordered
*/
protected static final Object ADDRESS_EDEFAULT = null;
/**
* The cached value of the '{@link #getAddress() <em>Address</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getAddress()
* @generated
* @ordered
*/
protected Object address = ADDRESS_EDEFAULT;
/**
* The default value of the '{@link #getAddrInc() <em>Addr Inc</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getAddrInc()
* @generated
* @ordered
*/
protected static final Object ADDR_INC_EDEFAULT = null;
/**
* The cached value of the '{@link #getAddrInc() <em>Addr Inc</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getAddrInc()
* @generated
* @ordered
*/
protected Object addrInc = ADDR_INC_EDEFAULT;
/**
* The default value of the '{@link #getAddrMod() <em>Addr Mod</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getAddrMod()
* @generated
* @ordered
*/
protected static final Object ADDR_MOD_EDEFAULT = null;
/**
* The cached value of the '{@link #getAddrMod() <em>Addr Mod</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getAddrMod()
* @generated
* @ordered
*/
protected Object addrMod = ADDR_MOD_EDEFAULT;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected ComponentInstanceImpl()
{
super();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
protected EClass eStaticClass()
{
return RdlPackage.Literals.COMPONENT_INSTANCE;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Range getRange()
{
return range;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public NotificationChain basicSetRange(Range newRange, NotificationChain msgs)
{
Range oldRange = range;
range = newRange;
if (eNotificationRequired())
{
ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, RdlPackage.COMPONENT_INSTANCE__RANGE, oldRange, newRange);
if (msgs == null) msgs = notification; else msgs.add(notification);
}
return msgs;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public void setRange(Range newRange)
{
if (newRange != range)
{
NotificationChain msgs = null;
if (range != null)
msgs = ((InternalEObject)range).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - RdlPackage.COMPONENT_INSTANCE__RANGE, null, msgs);
if (newRange != null)
msgs = ((InternalEObject)newRange).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - RdlPackage.COMPONENT_INSTANCE__RANGE, null, msgs);
msgs = basicSetRange(newRange, msgs);
if (msgs != null) msgs.dispatch();
}
else if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, RdlPackage.COMPONENT_INSTANCE__RANGE, newRange, newRange));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Object getReset()
{
return reset;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public void setReset(Object newReset)
{
Object oldReset = reset;
reset = newReset;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, RdlPackage.COMPONENT_INSTANCE__RESET, oldReset, reset));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Object getAddress()
{
return address;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public void setAddress(Object newAddress)
{
Object oldAddress = address;
address = newAddress;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, RdlPackage.COMPONENT_INSTANCE__ADDRESS, oldAddress, address));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Object getAddrInc()
{
return addrInc;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public void setAddrInc(Object newAddrInc)
{
Object oldAddrInc = addrInc;
addrInc = newAddrInc;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, RdlPackage.COMPONENT_INSTANCE__ADDR_INC, oldAddrInc, addrInc));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Object getAddrMod()
{
return addrMod;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public void setAddrMod(Object newAddrMod)
{
Object oldAddrMod = addrMod;
addrMod = newAddrMod;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, RdlPackage.COMPONENT_INSTANCE__ADDR_MOD, oldAddrMod, addrMod));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
{
switch (featureID)
{
case RdlPackage.COMPONENT_INSTANCE__RANGE:
return basicSetRange(null, msgs);
}
return super.eInverseRemove(otherEnd, featureID, msgs);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Object eGet(int featureID, boolean resolve, boolean coreType)
{
switch (featureID)
{
case RdlPackage.COMPONENT_INSTANCE__RANGE:
return getRange();
case RdlPackage.COMPONENT_INSTANCE__RESET:
return getReset();
case RdlPackage.COMPONENT_INSTANCE__ADDRESS:
return getAddress();
case RdlPackage.COMPONENT_INSTANCE__ADDR_INC:
return getAddrInc();
case RdlPackage.COMPONENT_INSTANCE__ADDR_MOD:
return getAddrMod();
}
return super.eGet(featureID, resolve, coreType);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public void eSet(int featureID, Object newValue)
{
switch (featureID)
{
case RdlPackage.COMPONENT_INSTANCE__RANGE:
setRange((Range)newValue);
return;
case RdlPackage.COMPONENT_INSTANCE__RESET:
setReset(newValue);
return;
case RdlPackage.COMPONENT_INSTANCE__ADDRESS:
setAddress(newValue);
return;
case RdlPackage.COMPONENT_INSTANCE__ADDR_INC:
setAddrInc(newValue);
return;
case RdlPackage.COMPONENT_INSTANCE__ADDR_MOD:
setAddrMod(newValue);
return;
}
super.eSet(featureID, newValue);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public void eUnset(int featureID)
{
switch (featureID)
{
case RdlPackage.COMPONENT_INSTANCE__RANGE:
setRange((Range)null);
return;
case RdlPackage.COMPONENT_INSTANCE__RESET:
setReset(RESET_EDEFAULT);
return;
case RdlPackage.COMPONENT_INSTANCE__ADDRESS:
setAddress(ADDRESS_EDEFAULT);
return;
case RdlPackage.COMPONENT_INSTANCE__ADDR_INC:
setAddrInc(ADDR_INC_EDEFAULT);
return;
case RdlPackage.COMPONENT_INSTANCE__ADDR_MOD:
setAddrMod(ADDR_MOD_EDEFAULT);
return;
}
super.eUnset(featureID);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public boolean eIsSet(int featureID)
{
switch (featureID)
{
case RdlPackage.COMPONENT_INSTANCE__RANGE:
return range != null;
case RdlPackage.COMPONENT_INSTANCE__RESET:
return RESET_EDEFAULT == null ? reset != null : !RESET_EDEFAULT.equals(reset);
case RdlPackage.COMPONENT_INSTANCE__ADDRESS:
return ADDRESS_EDEFAULT == null ? address != null : !ADDRESS_EDEFAULT.equals(address);
case RdlPackage.COMPONENT_INSTANCE__ADDR_INC:
return ADDR_INC_EDEFAULT == null ? addrInc != null : !ADDR_INC_EDEFAULT.equals(addrInc);
case RdlPackage.COMPONENT_INSTANCE__ADDR_MOD:
return ADDR_MOD_EDEFAULT == null ? addrMod != null : !ADDR_MOD_EDEFAULT.equals(addrMod);
}
return super.eIsSet(featureID);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public String toString()
{
if (eIsProxy()) return super.toString();
StringBuilder result = new StringBuilder(super.toString());
result.append(" (reset: ");
result.append(reset);
result.append(", address: ");
result.append(address);
result.append(", addrInc: ");
result.append(addrInc);
result.append(", addrMod: ");
result.append(addrMod);
result.append(')');
return result.toString();
}
} //ComponentInstanceImpl

View File

@ -0,0 +1,270 @@
/**
* generated by Xtext 2.26.0
*/
package com.minres.rdl.rdl.impl;
import com.minres.rdl.rdl.ConcatElem;
import com.minres.rdl.rdl.InstancePropertyRef;
import com.minres.rdl.rdl.RdlPackage;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.common.notify.NotificationChain;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.InternalEObject;
import org.eclipse.emf.ecore.impl.ENotificationImpl;
import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
/**
* <!-- begin-user-doc -->
* An implementation of the model object '<em><b>Concat Elem</b></em>'.
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
* </p>
* <ul>
* <li>{@link com.minres.rdl.rdl.impl.ConcatElemImpl#getInstPropRef <em>Inst Prop Ref</em>}</li>
* <li>{@link com.minres.rdl.rdl.impl.ConcatElemImpl#getValue <em>Value</em>}</li>
* </ul>
*
* @generated
*/
public class ConcatElemImpl extends MinimalEObjectImpl.Container implements ConcatElem
{
/**
* The cached value of the '{@link #getInstPropRef() <em>Inst Prop Ref</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getInstPropRef()
* @generated
* @ordered
*/
protected InstancePropertyRef instPropRef;
/**
* The default value of the '{@link #getValue() <em>Value</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getValue()
* @generated
* @ordered
*/
protected static final Object VALUE_EDEFAULT = null;
/**
* The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getValue()
* @generated
* @ordered
*/
protected Object value = VALUE_EDEFAULT;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected ConcatElemImpl()
{
super();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
protected EClass eStaticClass()
{
return RdlPackage.Literals.CONCAT_ELEM;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public InstancePropertyRef getInstPropRef()
{
return instPropRef;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public NotificationChain basicSetInstPropRef(InstancePropertyRef newInstPropRef, NotificationChain msgs)
{
InstancePropertyRef oldInstPropRef = instPropRef;
instPropRef = newInstPropRef;
if (eNotificationRequired())
{
ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, RdlPackage.CONCAT_ELEM__INST_PROP_REF, oldInstPropRef, newInstPropRef);
if (msgs == null) msgs = notification; else msgs.add(notification);
}
return msgs;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public void setInstPropRef(InstancePropertyRef newInstPropRef)
{
if (newInstPropRef != instPropRef)
{
NotificationChain msgs = null;
if (instPropRef != null)
msgs = ((InternalEObject)instPropRef).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - RdlPackage.CONCAT_ELEM__INST_PROP_REF, null, msgs);
if (newInstPropRef != null)
msgs = ((InternalEObject)newInstPropRef).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - RdlPackage.CONCAT_ELEM__INST_PROP_REF, null, msgs);
msgs = basicSetInstPropRef(newInstPropRef, msgs);
if (msgs != null) msgs.dispatch();
}
else if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, RdlPackage.CONCAT_ELEM__INST_PROP_REF, newInstPropRef, newInstPropRef));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Object getValue()
{
return value;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public void setValue(Object newValue)
{
Object oldValue = value;
value = newValue;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, RdlPackage.CONCAT_ELEM__VALUE, oldValue, value));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
{
switch (featureID)
{
case RdlPackage.CONCAT_ELEM__INST_PROP_REF:
return basicSetInstPropRef(null, msgs);
}
return super.eInverseRemove(otherEnd, featureID, msgs);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Object eGet(int featureID, boolean resolve, boolean coreType)
{
switch (featureID)
{
case RdlPackage.CONCAT_ELEM__INST_PROP_REF:
return getInstPropRef();
case RdlPackage.CONCAT_ELEM__VALUE:
return getValue();
}
return super.eGet(featureID, resolve, coreType);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public void eSet(int featureID, Object newValue)
{
switch (featureID)
{
case RdlPackage.CONCAT_ELEM__INST_PROP_REF:
setInstPropRef((InstancePropertyRef)newValue);
return;
case RdlPackage.CONCAT_ELEM__VALUE:
setValue(newValue);
return;
}
super.eSet(featureID, newValue);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public void eUnset(int featureID)
{
switch (featureID)
{
case RdlPackage.CONCAT_ELEM__INST_PROP_REF:
setInstPropRef((InstancePropertyRef)null);
return;
case RdlPackage.CONCAT_ELEM__VALUE:
setValue(VALUE_EDEFAULT);
return;
}
super.eUnset(featureID);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public boolean eIsSet(int featureID)
{
switch (featureID)
{
case RdlPackage.CONCAT_ELEM__INST_PROP_REF:
return instPropRef != null;
case RdlPackage.CONCAT_ELEM__VALUE:
return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value);
}
return super.eIsSet(featureID);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public String toString()
{
if (eIsProxy()) return super.toString();
StringBuilder result = new StringBuilder(super.toString());
result.append(" (value: ");
result.append(value);
result.append(')');
return result.toString();
}
} //ConcatElemImpl

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