Iniital checkin

This commit is contained in:
2017-09-12 12:48:21 +02:00
commit fd1e04fb62
270 changed files with 87560 additions and 0 deletions

View File

@ -0,0 +1,194 @@
/*
* generated by Xtext 2.12.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.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.RDLValidator;
import java.util.Properties;
import org.eclipse.xtext.Constants;
import org.eclipse.xtext.IGrammarAccess;
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.resource.IContainer;
import org.eclipse.xtext.resource.IResourceDescriptions;
import org.eclipse.xtext.resource.containers.IAllContainersState;
import org.eclipse.xtext.resource.containers.ResourceSetBasedAllContainersStateProvider;
import org.eclipse.xtext.resource.containers.StateBasedContainerManager;
import org.eclipse.xtext.resource.impl.ResourceDescriptionsProvider;
import org.eclipse.xtext.resource.impl.ResourceSetBasedResourceDescriptions;
import org.eclipse.xtext.scoping.IGlobalScopeProvider;
import org.eclipse.xtext.scoping.IScopeProvider;
import org.eclipse.xtext.scoping.IgnoreCaseLinking;
import org.eclipse.xtext.scoping.impl.AbstractDeclarativeScopeProvider;
import org.eclipse.xtext.scoping.impl.DefaultGlobalScopeProvider;
import org.eclipse.xtext.scoping.impl.ImportedNamespaceAwareLocalScopeProvider;
import org.eclipse.xtext.serializer.ISerializer;
import org.eclipse.xtext.serializer.impl.Serializer;
import org.eclipse.xtext.serializer.sequencer.ISemanticSequencer;
import org.eclipse.xtext.serializer.sequencer.ISyntacticSequencer;
import org.eclipse.xtext.service.DefaultRuntimeModule;
import org.eclipse.xtext.service.SingletonBinding;
/**
* Manual modifications go to {@link 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.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.scoping.ImportNamespacesScopingFragment2
public Class<? extends IScopeProvider> bindIScopeProvider() {
return RDLScopeProvider.class;
}
// contributed by org.eclipse.xtext.xtext.generator.scoping.ImportNamespacesScopingFragment2
public void configureIScopeProviderDelegate(Binder binder) {
binder.bind(IScopeProvider.class).annotatedWith(Names.named(AbstractDeclarativeScopeProvider.NAMED_DELEGATE)).to(ImportedNamespaceAwareLocalScopeProvider.class);
}
// contributed by org.eclipse.xtext.xtext.generator.scoping.ImportNamespacesScopingFragment2
public Class<? extends IGlobalScopeProvider> bindIGlobalScopeProvider() {
return DefaultGlobalScopeProvider.class;
}
// contributed by org.eclipse.xtext.xtext.generator.scoping.ImportNamespacesScopingFragment2
public void configureIgnoreCaseLinking(Binder binder) {
binder.bindConstant().annotatedWith(IgnoreCaseLinking.class).to(false);
}
// contributed by org.eclipse.xtext.xtext.generator.exporting.SimpleNamesFragment2
public Class<? extends IQualifiedNameProvider> bindIQualifiedNameProvider() {
return SimpleNameProvider.class;
}
}

View File

@ -0,0 +1,56 @@
/*
* generated by Xtext 2.12.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.12.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.12.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");
}
@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,252 @@
'%='=28
'+='=27
','=25
'->'=32
'.'=33
':'=30
';'=15
'='=14
'@'=26
'UNDEFINED'=119
'['=29
']'=31
'`include'=10
'accesswidth'=103
'activehigh'=83
'activelow'=84
'addressing'=106
'addrmap'=40
'alias'=24
'alignment'=99
'all'=46
'anded'=63
'arbiter'=47
'async'=80
'bigendian'=72
'boolean'=39
'bothedge'=130
'bridge'=75
'clock'=110
'compact'=125
'component'=20
'counter'=66
'cpuif_reset'=81
'decr'=88
'decrsaturate'=94
'decrthreshold'=96
'decrvalue'=92
'decrwidth'=90
'default'=17
'desc'=36
'dontcompare'=97
'donttest'=98
'enable'=112
'encode'=108
'enum'=34
'errextbus'=69
'external'=22
'false'=19
'field'=43
'field_reset'=82
'fieldwidth'=101
'fullalign'=127
'halt'=117
'haltenable'=116
'haltmask'=115
'hw'=105
'hwclr'=57
'hwenable'=113
'hwmask'=114
'hwset'=56
'incr'=87
'incrvalue'=91
'incrwidth'=89
'internal'=23
'intr'=62
'level'=131
'littleendian'=71
'lsb0'=78
'mask'=111
'msb0'=77
'na'=124
'name'=35
'negedge'=129
'next'=118
'nonsticky'=132
'number'=38
'ored'=64
'overflow'=67
'posedge'=128
'precedence'=107
'property'=11
'r'=122
'rclr'=49
'ref'=44
'reg'=41
'regalign'=126
'regfile'=42
'regwidth'=100
'reset'=70
'resetsignal'=109
'rset'=48
'rsvdset'=73
'rsvdsetX'=74
'rw'=120
'saturate'=93
'shared'=76
'sharedextbus'=68
'signal'=45
'signalwidth'=102
'singlepulse'=85
'sticky'=60
'stickybit'=61
'string'=37
'sw'=104
'swacc'=59
'swmod'=58
'swwe'=54
'swwel'=55
'sync'=79
'threshold'=95
'true'=18
'type'=13
'underflow'=86
'w'=123
'we'=52
'wel'=53
'woclr'=50
'woset'=51
'wr'=121
'xored'=65
'{'=12
'|'=21
'}'=16
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__10=10
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__11=11
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__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,179 @@
/**
* generated by Xtext 2.12.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#getNamedInstantiations <em>Named 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>
* <li>{@link com.minres.rdl.rdl.ComponentDefinition#getImmediateInstantiation <em>Immediate Instantiation</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 -->
* <p>
* If the meaning of the '<em>Type</em>' attribute isn't clear,
* there really should be more of a description here...
* </p>
* <!-- 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 -->
* <p>
* If the meaning of the '<em>Name</em>' attribute isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Name</em>' attribute.
* @see #setName(String)
* @see 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 -->
* <p>
* If the meaning of the '<em>Component Definitions</em>' containment reference list isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>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>Named Instantiations</b></em>' containment reference list.
* The list contents are of type {@link com.minres.rdl.rdl.NamedInstantiation}.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Named Instantiations</em>' containment reference list isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Named Instantiations</em>' containment reference list.
* @see com.minres.rdl.rdl.RdlPackage#getComponentDefinition_NamedInstantiations()
* @model containment="true"
* @generated
*/
EList<NamedInstantiation> getNamedInstantiations();
/**
* 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 -->
* <p>
* If the meaning of the '<em>Property Assignments</em>' containment reference list isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Property 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 -->
* <p>
* If the meaning of the '<em>Enum Definitions</em>' containment reference list isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Enum Definitions</em>' containment reference list.
* @see com.minres.rdl.rdl.RdlPackage#getComponentDefinition_EnumDefinitions()
* @model containment="true"
* @generated
*/
EList<EnumDefinition> getEnumDefinitions();
/**
* Returns the value of the '<em><b>Immediate Instantiation</b></em>' containment reference.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Immediate Instantiation</em>' containment reference isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Immediate Instantiation</em>' containment reference.
* @see #setImmediateInstantiation(ImmediateInstantiation)
* @see com.minres.rdl.rdl.RdlPackage#getComponentDefinition_ImmediateInstantiation()
* @model containment="true"
* @generated
*/
ImmediateInstantiation getImmediateInstantiation();
/**
* Sets the value of the '{@link com.minres.rdl.rdl.ComponentDefinition#getImmediateInstantiation <em>Immediate Instantiation</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Immediate Instantiation</em>' containment reference.
* @see #getImmediateInstantiation()
* @generated
*/
void setImmediateInstantiation(ImmediateInstantiation value);
} // ComponentDefinition

View File

@ -0,0 +1,311 @@
/**
* generated by Xtext 2.12.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 -->
* <p>
* If the meaning of '<em><b>SIGNAL</b></em>' literal object isn't clear,
* there really should be more of a description here...
* </p>
* <!-- 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 -->
* <p>
* If the meaning of '<em><b>ADDRMAP</b></em>' literal object isn't clear,
* there really should be more of a description here...
* </p>
* <!-- 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 -->
* <p>
* If the meaning of '<em><b>REGFILE</b></em>' literal object isn't clear,
* there really should be more of a description here...
* </p>
* <!-- 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 -->
* <p>
* If the meaning of '<em><b>REG</b></em>' literal object isn't clear,
* there really should be more of a description here...
* </p>
* <!-- 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 -->
* <p>
* If the meaning of '<em><b>FIELD</b></em>' literal object isn't clear,
* there really should be more of a description here...
* </p>
* <!-- 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
*/
public int getValue()
{
return value;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public String getName()
{
return name;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
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,159 @@
/**
* generated by Xtext 2.12.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 -->
* <p>
* If the meaning of the '<em>Range</em>' containment reference isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>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 -->
* <p>
* If the meaning of the '<em>Reset</em>' attribute isn't clear,
* there really should be more of a description here...
* </p>
* <!-- 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 -->
* <p>
* If the meaning of the '<em>Address</em>' attribute isn't clear,
* there really should be more of a description here...
* </p>
* <!-- 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 -->
* <p>
* If the meaning of the '<em>Addr Inc</em>' attribute isn't clear,
* there really should be more of a description here...
* </p>
* <!-- 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 -->
* <p>
* If the meaning of the '<em>Addr Mod</em>' attribute isn't clear,
* there really should be more of a description here...
* </p>
* <!-- 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,44 @@
/**
* generated by Xtext 2.12.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 -->
* <p>
* If the meaning of the '<em>Elements</em>' containment reference list isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>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,79 @@
/**
* generated by Xtext 2.12.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 -->
* <p>
* If the meaning of the '<em>Inst Prop Ref</em>' containment reference isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>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 -->
* <p>
* If the meaning of the '<em>Value</em>' attribute isn't clear,
* there really should be more of a description here...
* </p>
* <!-- 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.12.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,52 @@
/**
* generated by Xtext 2.12.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 -->
* <p>
* If the meaning of the '<em>Name</em>' attribute isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Name</em>' attribute.
* @see #setName(String)
* @see 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,44 @@
/**
* generated by Xtext 2.12.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 -->
* <p>
* If the meaning of the '<em>Entries</em>' containment reference list isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>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,51 @@
/**
* generated by Xtext 2.12.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 -->
* <p>
* If the meaning of the '<em>Body</em>' containment reference isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>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,98 @@
/**
* generated by Xtext 2.12.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 -->
* <p>
* If the meaning of the '<em>Name</em>' attribute isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Name</em>' attribute.
* @see #setName(String)
* @see 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 -->
* <p>
* If the meaning of the '<em>Index</em>' attribute isn't clear,
* there really should be more of a description here...
* </p>
* <!-- 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 -->
* <p>
* If the meaning of the '<em>Properties</em>' containment reference list isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>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,79 @@
/**
* generated by Xtext 2.12.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 -->
* <p>
* If the meaning of the '<em>Name</em>' attribute isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Name</em>' attribute.
* @see #setName(String)
* @see 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 -->
* <p>
* If the meaning of the '<em>Value</em>' attribute isn't clear,
* there really should be more of a description here...
* </p>
* <!-- 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,111 @@
/**
* generated by Xtext 2.12.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 -->
* <p>
* If the meaning of the '<em>Modifier</em>' attribute isn't clear,
* there really should be more of a description here...
* </p>
* <!-- 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 -->
* <p>
* If the meaning of the '<em>Name</em>' attribute isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Name</em>' attribute.
* @see 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 -->
* <p>
* If the meaning of the '<em>Rhs</em>' containment reference isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>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,71 @@
/**
* generated by Xtext 2.12.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>Immediate Instantiation</b></em>'.
* <!-- end-user-doc -->
*
* <p>
* The following features are supported:
* </p>
* <ul>
* <li>{@link com.minres.rdl.rdl.ImmediateInstantiation#isExternal <em>External</em>}</li>
* <li>{@link com.minres.rdl.rdl.ImmediateInstantiation#getComponentInstances <em>Component Instances</em>}</li>
* </ul>
*
* @see com.minres.rdl.rdl.RdlPackage#getImmediateInstantiation()
* @model
* @generated
*/
public interface ImmediateInstantiation extends EObject
{
/**
* Returns the value of the '<em><b>External</b></em>' attribute.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>External</em>' attribute isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>External</em>' attribute.
* @see #setExternal(boolean)
* @see com.minres.rdl.rdl.RdlPackage#getImmediateInstantiation_External()
* @model
* @generated
*/
boolean isExternal();
/**
* Sets the value of the '{@link com.minres.rdl.rdl.ImmediateInstantiation#isExternal <em>External</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>External</em>' attribute.
* @see #isExternal()
* @generated
*/
void setExternal(boolean 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 -->
* <p>
* If the meaning of the '<em>Component Instances</em>' containment reference list isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Component Instances</em>' containment reference list.
* @see com.minres.rdl.rdl.RdlPackage#getImmediateInstantiation_ComponentInstances()
* @model containment="true"
* @generated
*/
EList<ComponentInstance> getComponentInstances();
} // ImmediateInstantiation

View File

@ -0,0 +1,52 @@
/**
* generated by Xtext 2.12.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 -->
* <p>
* If the meaning of the '<em>Import URI</em>' attribute isn't clear,
* there really should be more of a description here...
* </p>
* <!-- 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,109 @@
/**
* generated by Xtext 2.12.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 -->
* <p>
* If the meaning of the '<em>Instance</em>' containment reference isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>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 -->
* <p>
* If the meaning of the '<em>Property Enum</em>' attribute isn't clear,
* there really should be more of a description here...
* </p>
* <!-- 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 -->
* <p>
* If the meaning of the '<em>Property</em>' reference isn't clear,
* there really should be more of a description here...
* </p>
* <!-- 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,79 @@
/**
* generated by Xtext 2.12.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 -->
* <p>
* If the meaning of the '<em>Instance</em>' reference isn't clear,
* there really should be more of a description here...
* </p>
* <!-- 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 -->
* <p>
* If the meaning of the '<em>Tail</em>' containment reference isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>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,152 @@
/**
* generated by Xtext 2.12.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>Named Instantiation</b></em>'.
* <!-- end-user-doc -->
*
* <p>
* The following features are supported:
* </p>
* <ul>
* <li>{@link com.minres.rdl.rdl.NamedInstantiation#isExternal <em>External</em>}</li>
* <li>{@link com.minres.rdl.rdl.NamedInstantiation#isInternal <em>Internal</em>}</li>
* <li>{@link com.minres.rdl.rdl.NamedInstantiation#getAlias <em>Alias</em>}</li>
* <li>{@link com.minres.rdl.rdl.NamedInstantiation#getComponent <em>Component</em>}</li>
* <li>{@link com.minres.rdl.rdl.NamedInstantiation#getComponentInstances <em>Component Instances</em>}</li>
* </ul>
*
* @see com.minres.rdl.rdl.RdlPackage#getNamedInstantiation()
* @model
* @generated
*/
public interface NamedInstantiation extends EObject
{
/**
* Returns the value of the '<em><b>External</b></em>' attribute.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>External</em>' attribute isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>External</em>' attribute.
* @see #setExternal(boolean)
* @see com.minres.rdl.rdl.RdlPackage#getNamedInstantiation_External()
* @model
* @generated
*/
boolean isExternal();
/**
* Sets the value of the '{@link com.minres.rdl.rdl.NamedInstantiation#isExternal <em>External</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>External</em>' attribute.
* @see #isExternal()
* @generated
*/
void setExternal(boolean value);
/**
* Returns the value of the '<em><b>Internal</b></em>' attribute.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Internal</em>' attribute isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Internal</em>' attribute.
* @see #setInternal(boolean)
* @see com.minres.rdl.rdl.RdlPackage#getNamedInstantiation_Internal()
* @model
* @generated
*/
boolean isInternal();
/**
* Sets the value of the '{@link com.minres.rdl.rdl.NamedInstantiation#isInternal <em>Internal</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Internal</em>' attribute.
* @see #isInternal()
* @generated
*/
void setInternal(boolean value);
/**
* Returns the value of the '<em><b>Alias</b></em>' attribute.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Alias</em>' attribute isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Alias</em>' attribute.
* @see #setAlias(String)
* @see com.minres.rdl.rdl.RdlPackage#getNamedInstantiation_Alias()
* @model
* @generated
*/
String getAlias();
/**
* Sets the value of the '{@link com.minres.rdl.rdl.NamedInstantiation#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</b></em>' reference.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Component</em>' reference isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Component</em>' reference.
* @see #setComponent(ComponentDefinition)
* @see com.minres.rdl.rdl.RdlPackage#getNamedInstantiation_Component()
* @model
* @generated
*/
ComponentDefinition getComponent();
/**
* Sets the value of the '{@link com.minres.rdl.rdl.NamedInstantiation#getComponent <em>Component</em>}' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Component</em>' 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 -->
* <p>
* If the meaning of the '<em>Component Instances</em>' containment reference list isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Component Instances</em>' containment reference list.
* @see com.minres.rdl.rdl.RdlPackage#getNamedInstantiation_ComponentInstances()
* @model containment="true"
* @generated
*/
EList<ComponentInstance> getComponentInstances();
} // NamedInstantiation

View File

@ -0,0 +1,135 @@
/**
* generated by Xtext 2.12.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 -->
* <p>
* If the meaning of the '<em>Instance</em>' containment reference isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>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 -->
* <p>
* If the meaning of the '<em>Property Enum</em>' attribute isn't clear,
* there really should be more of a description here...
* </p>
* <!-- 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 -->
* <p>
* If the meaning of the '<em>Property</em>' reference isn't clear,
* there really should be more of a description here...
* </p>
* <!-- 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 -->
* <p>
* If the meaning of the '<em>Rhs</em>' containment reference isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>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.12.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,160 @@
/**
* generated by Xtext 2.12.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 -->
* <p>
* If the meaning of the '<em>Value</em>' containment reference isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>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 -->
* <p>
* If the meaning of the '<em>Inst Prop Ref</em>' containment reference isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>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 -->
* <p>
* If the meaning of the '<em>Enum Ref</em>' reference isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>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 -->
* <p>
* If the meaning of the '<em>Enums</em>' containment reference isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>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 -->
* <p>
* If the meaning of the '<em>Elements</em>' containment reference isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>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,338 @@
/**
* generated by Xtext 2.12.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 -->
* <p>
* If the meaning of '<em><b>SIGNAL</b></em>' literal object isn't clear,
* there really should be more of a description here...
* </p>
* <!-- 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 -->
* <p>
* If the meaning of '<em><b>ADDRMAP</b></em>' literal object isn't clear,
* there really should be more of a description here...
* </p>
* <!-- 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 -->
* <p>
* If the meaning of '<em><b>REG</b></em>' literal object isn't clear,
* there really should be more of a description here...
* </p>
* <!-- 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 -->
* <p>
* If the meaning of '<em><b>REGFILE</b></em>' literal object isn't clear,
* there really should be more of a description here...
* </p>
* <!-- 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 -->
* <p>
* If the meaning of '<em><b>FIELD</b></em>' literal object isn't clear,
* there really should be more of a description here...
* </p>
* <!-- 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 -->
* <p>
* If the meaning of '<em><b>ALL</b></em>' literal object isn't clear,
* there really should be more of a description here...
* </p>
* <!-- 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
*/
public int getValue()
{
return value;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public String getName()
{
return name;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
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,79 @@
/**
* generated by Xtext 2.12.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 -->
* <p>
* If the meaning of the '<em>String</em>' attribute isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>String</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 -->
* <p>
* If the meaning of the '<em>Value</em>' attribute isn't clear,
* there really should be more of a description here...
* </p>
* <!-- 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,108 @@
/**
* generated by Xtext 2.12.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 -->
* <p>
* If the meaning of the '<em>Type</em>' attribute isn't clear,
* there really should be more of a description here...
* </p>
* <!-- 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 -->
* <p>
* If the meaning of the '<em>Usage</em>' containment reference isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>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 -->
* <p>
* If the meaning of the '<em>Default</em>' containment reference isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Default</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,338 @@
/**
* generated by Xtext 2.12.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 -->
* <p>
* If the meaning of '<em><b>UNDEFINED</b></em>' literal object isn't clear,
* there really should be more of a description here...
* </p>
* <!-- 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 -->
* <p>
* If the meaning of '<em><b>POSEDGE</b></em>' literal object isn't clear,
* there really should be more of a description here...
* </p>
* <!-- 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 -->
* <p>
* If the meaning of '<em><b>NEGEDGE</b></em>' literal object isn't clear,
* there really should be more of a description here...
* </p>
* <!-- 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 -->
* <p>
* If the meaning of '<em><b>BOTHEDGE</b></em>' literal object isn't clear,
* there really should be more of a description here...
* </p>
* <!-- 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 -->
* <p>
* If the meaning of '<em><b>LEVEL</b></em>' literal object isn't clear,
* there really should be more of a description here...
* </p>
* <!-- 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 -->
* <p>
* If the meaning of '<em><b>NONSTICKY</b></em>' literal object isn't clear,
* there really should be more of a description here...
* </p>
* <!-- 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
*/
public int getValue()
{
return value;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public String getName()
{
return name;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
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,392 @@
/**
* generated by Xtext 2.12.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 -->
* <p>
* If the meaning of '<em><b>STRING</b></em>' literal object isn't clear,
* there really should be more of a description here...
* </p>
* <!-- 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 -->
* <p>
* If the meaning of '<em><b>NUMBER</b></em>' literal object isn't clear,
* there really should be more of a description here...
* </p>
* <!-- 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 -->
* <p>
* If the meaning of '<em><b>BOOLEAN</b></em>' literal object isn't clear,
* there really should be more of a description here...
* </p>
* <!-- 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 -->
* <p>
* If the meaning of '<em><b>ADDRMAP</b></em>' literal object isn't clear,
* there really should be more of a description here...
* </p>
* <!-- 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 -->
* <p>
* If the meaning of '<em><b>REG</b></em>' literal object isn't clear,
* there really should be more of a description here...
* </p>
* <!-- 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 -->
* <p>
* If the meaning of '<em><b>REGFILE</b></em>' literal object isn't clear,
* there really should be more of a description here...
* </p>
* <!-- 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 -->
* <p>
* If the meaning of '<em><b>FIELD</b></em>' literal object isn't clear,
* there really should be more of a description here...
* </p>
* <!-- 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 -->
* <p>
* If the meaning of '<em><b>REF</b></em>' literal object isn't clear,
* there really should be more of a description here...
* </p>
* <!-- 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
*/
public int getValue()
{
return value;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public String getName()
{
return name;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
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,46 @@
/**
* generated by Xtext 2.12.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 -->
* <p>
* If the meaning of the '<em>Components</em>' attribute list isn't clear,
* there really should be more of a description here...
* </p>
* <!-- 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,109 @@
/**
* generated by Xtext 2.12.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 -->
* <p>
* If the meaning of the '<em>Val</em>' attribute isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>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 -->
* <p>
* If the meaning of the '<em>Num</em>' attribute isn't clear,
* there really should be more of a description here...
* </p>
* <!-- 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 -->
* <p>
* If the meaning of the '<em>Str</em>' attribute isn't clear,
* there really should be more of a description here...
* </p>
* <!-- 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,527 @@
/**
* generated by Xtext 2.12.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 -->
* <p>
* If the meaning of '<em><b>UNDEFINED</b></em>' literal object isn't clear,
* there really should be more of a description here...
* </p>
* <!-- 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 -->
* <p>
* If the meaning of '<em><b>TRUE</b></em>' literal object isn't clear,
* there really should be more of a description here...
* </p>
* <!-- 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 -->
* <p>
* If the meaning of '<em><b>FALSE</b></em>' literal object isn't clear,
* there really should be more of a description here...
* </p>
* <!-- 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 -->
* <p>
* If the meaning of '<em><b>RW</b></em>' literal object isn't clear,
* there really should be more of a description here...
* </p>
* <!-- 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 -->
* <p>
* If the meaning of '<em><b>WR</b></em>' literal object isn't clear,
* there really should be more of a description here...
* </p>
* <!-- 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 -->
* <p>
* If the meaning of '<em><b>R</b></em>' literal object isn't clear,
* there really should be more of a description here...
* </p>
* <!-- 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 -->
* <p>
* If the meaning of '<em><b>W</b></em>' literal object isn't clear,
* there really should be more of a description here...
* </p>
* <!-- 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 -->
* <p>
* If the meaning of '<em><b>NA</b></em>' literal object isn't clear,
* there really should be more of a description here...
* </p>
* <!-- 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 -->
* <p>
* If the meaning of '<em><b>COMPACT</b></em>' literal object isn't clear,
* there really should be more of a description here...
* </p>
* <!-- 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 -->
* <p>
* If the meaning of '<em><b>REGALIGN</b></em>' literal object isn't clear,
* there really should be more of a description here...
* </p>
* <!-- 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 -->
* <p>
* If the meaning of '<em><b>FULLALIGN</b></em>' literal object isn't clear,
* there really should be more of a description here...
* </p>
* <!-- 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 -->
* <p>
* If the meaning of '<em><b>HW</b></em>' literal object isn't clear,
* there really should be more of a description here...
* </p>
* <!-- 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 -->
* <p>
* If the meaning of '<em><b>SW</b></em>' literal object isn't clear,
* there really should be more of a description here...
* </p>
* <!-- 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
*/
public int getValue()
{
return value;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public String getName()
{
return name;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
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,106 @@
/**
* generated by Xtext 2.12.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#getStart <em>Start</em>}</li>
* <li>{@link com.minres.rdl.rdl.Range#getEnd <em>End</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>Start</b></em>' attribute.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Start</em>' attribute isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Start</em>' attribute.
* @see #setStart(Object)
* @see com.minres.rdl.rdl.RdlPackage#getRange_Start()
* @model
* @generated
*/
Object getStart();
/**
* Sets the value of the '{@link com.minres.rdl.rdl.Range#getStart <em>Start</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Start</em>' attribute.
* @see #getStart()
* @generated
*/
void setStart(Object value);
/**
* Returns the value of the '<em><b>End</b></em>' attribute.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>End</em>' attribute isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>End</em>' attribute.
* @see #setEnd(Object)
* @see com.minres.rdl.rdl.RdlPackage#getRange_End()
* @model
* @generated
*/
Object getEnd();
/**
* Sets the value of the '{@link com.minres.rdl.rdl.Range#getEnd <em>End</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>End</em>' attribute.
* @see #getEnd()
* @generated
*/
void setEnd(Object value);
/**
* Returns the value of the '<em><b>Size</b></em>' attribute.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Size</em>' attribute isn't clear,
* there really should be more of a description here...
* </p>
* <!-- 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.12.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>Named Instantiation</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return a new object of class '<em>Named Instantiation</em>'.
* @generated
*/
NamedInstantiation createNamedInstantiation();
/**
* Returns a new object of class '<em>Immediate Instantiation</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return a new object of class '<em>Immediate Instantiation</em>'.
* @generated
*/
ImmediateInstantiation createImmediateInstantiation();
/**
* 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 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,129 @@
/**
* generated by Xtext 2.12.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#getNamedInstantiations <em>Named 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 -->
* <p>
* If the meaning of the '<em>Includes</em>' containment reference list isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>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 -->
* <p>
* If the meaning of the '<em>Component Definitions</em>' containment reference list isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>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 -->
* <p>
* If the meaning of the '<em>Enum Definitions</em>' containment reference list isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>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>Named Instantiations</b></em>' containment reference list.
* The list contents are of type {@link com.minres.rdl.rdl.NamedInstantiation}.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Named Instantiations</em>' containment reference list isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Named Instantiations</em>' containment reference list.
* @see com.minres.rdl.rdl.RdlPackage#getRoot_NamedInstantiations()
* @model containment="true"
* @generated
*/
EList<NamedInstantiation> getNamedInstantiations();
/**
* 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 -->
* <p>
* If the meaning of the '<em>Property Assignments</em>' containment reference list isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Property 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 -->
* <p>
* If the meaning of the '<em>Property Definitions</em>' containment reference list isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Property 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,486 @@
/**
* generated by Xtext 2.12.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.ImmediateInstantiation;
import com.minres.rdl.rdl.NamedInstantiation;
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#getNamedInstantiations <em>Named 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>
* <li>{@link com.minres.rdl.rdl.impl.ComponentDefinitionImpl#getImmediateInstantiation <em>Immediate Instantiation</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 #getNamedInstantiations() <em>Named Instantiations</em>}' containment reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getNamedInstantiations()
* @generated
* @ordered
*/
protected EList<NamedInstantiation> namedInstantiations;
/**
* 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;
/**
* The cached value of the '{@link #getImmediateInstantiation() <em>Immediate Instantiation</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getImmediateInstantiation()
* @generated
* @ordered
*/
protected ImmediateInstantiation immediateInstantiation;
/**
* <!-- 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
*/
public ComponentDefinitionType getType()
{
return type;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
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
*/
public String getName()
{
return name;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setName(String newName)
{
String oldName = name;
name = newName;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, RdlPackage.COMPONENT_DEFINITION__NAME, oldName, name));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
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
*/
public EList<NamedInstantiation> getNamedInstantiations()
{
if (namedInstantiations == null)
{
namedInstantiations = new EObjectContainmentEList<NamedInstantiation>(NamedInstantiation.class, this, RdlPackage.COMPONENT_DEFINITION__NAMED_INSTANTIATIONS);
}
return namedInstantiations;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
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
*/
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
*/
public ImmediateInstantiation getImmediateInstantiation()
{
return immediateInstantiation;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public NotificationChain basicSetImmediateInstantiation(ImmediateInstantiation newImmediateInstantiation, NotificationChain msgs)
{
ImmediateInstantiation oldImmediateInstantiation = immediateInstantiation;
immediateInstantiation = newImmediateInstantiation;
if (eNotificationRequired())
{
ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, RdlPackage.COMPONENT_DEFINITION__IMMEDIATE_INSTANTIATION, oldImmediateInstantiation, newImmediateInstantiation);
if (msgs == null) msgs = notification; else msgs.add(notification);
}
return msgs;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setImmediateInstantiation(ImmediateInstantiation newImmediateInstantiation)
{
if (newImmediateInstantiation != immediateInstantiation)
{
NotificationChain msgs = null;
if (immediateInstantiation != null)
msgs = ((InternalEObject)immediateInstantiation).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - RdlPackage.COMPONENT_DEFINITION__IMMEDIATE_INSTANTIATION, null, msgs);
if (newImmediateInstantiation != null)
msgs = ((InternalEObject)newImmediateInstantiation).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - RdlPackage.COMPONENT_DEFINITION__IMMEDIATE_INSTANTIATION, null, msgs);
msgs = basicSetImmediateInstantiation(newImmediateInstantiation, msgs);
if (msgs != null) msgs.dispatch();
}
else if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, RdlPackage.COMPONENT_DEFINITION__IMMEDIATE_INSTANTIATION, newImmediateInstantiation, newImmediateInstantiation));
}
/**
* <!-- 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__NAMED_INSTANTIATIONS:
return ((InternalEList<?>)getNamedInstantiations()).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);
case RdlPackage.COMPONENT_DEFINITION__IMMEDIATE_INSTANTIATION:
return basicSetImmediateInstantiation(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_DEFINITION__TYPE:
return getType();
case RdlPackage.COMPONENT_DEFINITION__NAME:
return getName();
case RdlPackage.COMPONENT_DEFINITION__COMPONENT_DEFINITIONS:
return getComponentDefinitions();
case RdlPackage.COMPONENT_DEFINITION__NAMED_INSTANTIATIONS:
return getNamedInstantiations();
case RdlPackage.COMPONENT_DEFINITION__PROPERTY_ASSIGNMENTS:
return getPropertyAssignments();
case RdlPackage.COMPONENT_DEFINITION__ENUM_DEFINITIONS:
return getEnumDefinitions();
case RdlPackage.COMPONENT_DEFINITION__IMMEDIATE_INSTANTIATION:
return getImmediateInstantiation();
}
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__NAMED_INSTANTIATIONS:
getNamedInstantiations().clear();
getNamedInstantiations().addAll((Collection<? extends NamedInstantiation>)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;
case RdlPackage.COMPONENT_DEFINITION__IMMEDIATE_INSTANTIATION:
setImmediateInstantiation((ImmediateInstantiation)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__NAMED_INSTANTIATIONS:
getNamedInstantiations().clear();
return;
case RdlPackage.COMPONENT_DEFINITION__PROPERTY_ASSIGNMENTS:
getPropertyAssignments().clear();
return;
case RdlPackage.COMPONENT_DEFINITION__ENUM_DEFINITIONS:
getEnumDefinitions().clear();
return;
case RdlPackage.COMPONENT_DEFINITION__IMMEDIATE_INSTANTIATION:
setImmediateInstantiation((ImmediateInstantiation)null);
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__NAMED_INSTANTIATIONS:
return namedInstantiations != null && !namedInstantiations.isEmpty();
case RdlPackage.COMPONENT_DEFINITION__PROPERTY_ASSIGNMENTS:
return propertyAssignments != null && !propertyAssignments.isEmpty();
case RdlPackage.COMPONENT_DEFINITION__ENUM_DEFINITIONS:
return enumDefinitions != null && !enumDefinitions.isEmpty();
case RdlPackage.COMPONENT_DEFINITION__IMMEDIATE_INSTANTIATION:
return immediateInstantiation != null;
}
return super.eIsSet(featureID);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public String toString()
{
if (eIsProxy()) return super.toString();
StringBuffer result = new StringBuffer(super.toString());
result.append(" (type: ");
result.append(type);
result.append(", name: ");
result.append(name);
result.append(')');
return result.toString();
}
} //ComponentDefinitionImpl

View File

@ -0,0 +1,433 @@
/**
* generated by Xtext 2.12.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
*/
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
*/
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
*/
public Object getReset()
{
return reset;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
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
*/
public Object getAddress()
{
return address;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
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
*/
public Object getAddrInc()
{
return addrInc;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
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
*/
public Object getAddrMod()
{
return addrMod;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
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();
StringBuffer result = new StringBuffer(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,266 @@
/**
* generated by Xtext 2.12.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
*/
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
*/
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
*/
public Object getValue()
{
return value;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
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();
StringBuffer result = new StringBuffer(super.toString());
result.append(" (value: ");
result.append(value);
result.append(')');
return result.toString();
}
} //ConcatElemImpl

View File

@ -0,0 +1,168 @@
/**
* generated by Xtext 2.12.0
*/
package com.minres.rdl.rdl.impl;
import com.minres.rdl.rdl.Concat;
import com.minres.rdl.rdl.ConcatElem;
import com.minres.rdl.rdl.RdlPackage;
import java.util.Collection;
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.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>Concat</b></em>'.
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
* </p>
* <ul>
* <li>{@link com.minres.rdl.rdl.impl.ConcatImpl#getElements <em>Elements</em>}</li>
* </ul>
*
* @generated
*/
public class ConcatImpl extends MinimalEObjectImpl.Container implements Concat
{
/**
* The cached value of the '{@link #getElements() <em>Elements</em>}' containment reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getElements()
* @generated
* @ordered
*/
protected EList<ConcatElem> elements;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected ConcatImpl()
{
super();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
protected EClass eStaticClass()
{
return RdlPackage.Literals.CONCAT;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EList<ConcatElem> getElements()
{
if (elements == null)
{
elements = new EObjectContainmentEList<ConcatElem>(ConcatElem.class, this, RdlPackage.CONCAT__ELEMENTS);
}
return elements;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
{
switch (featureID)
{
case RdlPackage.CONCAT__ELEMENTS:
return ((InternalEList<?>)getElements()).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.CONCAT__ELEMENTS:
return getElements();
}
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.CONCAT__ELEMENTS:
getElements().clear();
getElements().addAll((Collection<? extends ConcatElem>)newValue);
return;
}
super.eSet(featureID, newValue);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public void eUnset(int featureID)
{
switch (featureID)
{
case RdlPackage.CONCAT__ELEMENTS:
getElements().clear();
return;
}
super.eUnset(featureID);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public boolean eIsSet(int featureID)
{
switch (featureID)
{
case RdlPackage.CONCAT__ELEMENTS:
return elements != null && !elements.isEmpty();
}
return super.eIsSet(featureID);
}
} //ConcatImpl

View File

@ -0,0 +1,41 @@
/**
* generated by Xtext 2.12.0
*/
package com.minres.rdl.rdl.impl;
import com.minres.rdl.rdl.DefaultProperyAssignment;
import com.minres.rdl.rdl.RdlPackage;
import org.eclipse.emf.ecore.EClass;
/**
* <!-- begin-user-doc -->
* An implementation of the model object '<em><b>Default Propery Assignment</b></em>'.
* <!-- end-user-doc -->
*
* @generated
*/
public class DefaultProperyAssignmentImpl extends PropertyAssignmentImpl implements DefaultProperyAssignment
{
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected DefaultProperyAssignmentImpl()
{
super();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
protected EClass eStaticClass()
{
return RdlPackage.Literals.DEFAULT_PROPERY_ASSIGNMENT;
}
} //DefaultProperyAssignmentImpl

View File

@ -0,0 +1,178 @@
/**
* generated by Xtext 2.12.0
*/
package com.minres.rdl.rdl.impl;
import com.minres.rdl.rdl.Entity;
import com.minres.rdl.rdl.RdlPackage;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.impl.ENotificationImpl;
import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
/**
* <!-- begin-user-doc -->
* An implementation of the model object '<em><b>Entity</b></em>'.
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
* </p>
* <ul>
* <li>{@link com.minres.rdl.rdl.impl.EntityImpl#getName <em>Name</em>}</li>
* </ul>
*
* @generated
*/
public class EntityImpl extends MinimalEObjectImpl.Container implements Entity
{
/**
* 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;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected EntityImpl()
{
super();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
protected EClass eStaticClass()
{
return RdlPackage.Literals.ENTITY;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public String getName()
{
return name;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setName(String newName)
{
String oldName = name;
name = newName;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, RdlPackage.ENTITY__NAME, oldName, name));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Object eGet(int featureID, boolean resolve, boolean coreType)
{
switch (featureID)
{
case RdlPackage.ENTITY__NAME:
return getName();
}
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.ENTITY__NAME:
setName((String)newValue);
return;
}
super.eSet(featureID, newValue);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public void eUnset(int featureID)
{
switch (featureID)
{
case RdlPackage.ENTITY__NAME:
setName(NAME_EDEFAULT);
return;
}
super.eUnset(featureID);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public boolean eIsSet(int featureID)
{
switch (featureID)
{
case RdlPackage.ENTITY__NAME:
return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
}
return super.eIsSet(featureID);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public String toString()
{
if (eIsProxy()) return super.toString();
StringBuffer result = new StringBuffer(super.toString());
result.append(" (name: ");
result.append(name);
result.append(')');
return result.toString();
}
} //EntityImpl

View File

@ -0,0 +1,168 @@
/**
* generated by Xtext 2.12.0
*/
package com.minres.rdl.rdl.impl;
import com.minres.rdl.rdl.EnumBody;
import com.minres.rdl.rdl.EnumEntry;
import com.minres.rdl.rdl.RdlPackage;
import java.util.Collection;
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.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>Enum Body</b></em>'.
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
* </p>
* <ul>
* <li>{@link com.minres.rdl.rdl.impl.EnumBodyImpl#getEntries <em>Entries</em>}</li>
* </ul>
*
* @generated
*/
public class EnumBodyImpl extends MinimalEObjectImpl.Container implements EnumBody
{
/**
* The cached value of the '{@link #getEntries() <em>Entries</em>}' containment reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getEntries()
* @generated
* @ordered
*/
protected EList<EnumEntry> entries;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected EnumBodyImpl()
{
super();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
protected EClass eStaticClass()
{
return RdlPackage.Literals.ENUM_BODY;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EList<EnumEntry> getEntries()
{
if (entries == null)
{
entries = new EObjectContainmentEList<EnumEntry>(EnumEntry.class, this, RdlPackage.ENUM_BODY__ENTRIES);
}
return entries;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
{
switch (featureID)
{
case RdlPackage.ENUM_BODY__ENTRIES:
return ((InternalEList<?>)getEntries()).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.ENUM_BODY__ENTRIES:
return getEntries();
}
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.ENUM_BODY__ENTRIES:
getEntries().clear();
getEntries().addAll((Collection<? extends EnumEntry>)newValue);
return;
}
super.eSet(featureID, newValue);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public void eUnset(int featureID)
{
switch (featureID)
{
case RdlPackage.ENUM_BODY__ENTRIES:
getEntries().clear();
return;
}
super.eUnset(featureID);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public boolean eIsSet(int featureID)
{
switch (featureID)
{
case RdlPackage.ENUM_BODY__ENTRIES:
return entries != null && !entries.isEmpty();
}
return super.eIsSet(featureID);
}
} //EnumBodyImpl

View File

@ -0,0 +1,194 @@
/**
* generated by Xtext 2.12.0
*/
package com.minres.rdl.rdl.impl;
import com.minres.rdl.rdl.EnumBody;
import com.minres.rdl.rdl.EnumDefinition;
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>Enum Definition</b></em>'.
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
* </p>
* <ul>
* <li>{@link com.minres.rdl.rdl.impl.EnumDefinitionImpl#getBody <em>Body</em>}</li>
* </ul>
*
* @generated
*/
public class EnumDefinitionImpl extends EntityImpl implements EnumDefinition
{
/**
* The cached value of the '{@link #getBody() <em>Body</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getBody()
* @generated
* @ordered
*/
protected EnumBody body;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected EnumDefinitionImpl()
{
super();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
protected EClass eStaticClass()
{
return RdlPackage.Literals.ENUM_DEFINITION;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EnumBody getBody()
{
return body;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public NotificationChain basicSetBody(EnumBody newBody, NotificationChain msgs)
{
EnumBody oldBody = body;
body = newBody;
if (eNotificationRequired())
{
ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, RdlPackage.ENUM_DEFINITION__BODY, oldBody, newBody);
if (msgs == null) msgs = notification; else msgs.add(notification);
}
return msgs;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setBody(EnumBody newBody)
{
if (newBody != body)
{
NotificationChain msgs = null;
if (body != null)
msgs = ((InternalEObject)body).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - RdlPackage.ENUM_DEFINITION__BODY, null, msgs);
if (newBody != null)
msgs = ((InternalEObject)newBody).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - RdlPackage.ENUM_DEFINITION__BODY, null, msgs);
msgs = basicSetBody(newBody, msgs);
if (msgs != null) msgs.dispatch();
}
else if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, RdlPackage.ENUM_DEFINITION__BODY, newBody, newBody));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
{
switch (featureID)
{
case RdlPackage.ENUM_DEFINITION__BODY:
return basicSetBody(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.ENUM_DEFINITION__BODY:
return getBody();
}
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.ENUM_DEFINITION__BODY:
setBody((EnumBody)newValue);
return;
}
super.eSet(featureID, newValue);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public void eUnset(int featureID)
{
switch (featureID)
{
case RdlPackage.ENUM_DEFINITION__BODY:
setBody((EnumBody)null);
return;
}
super.eUnset(featureID);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public boolean eIsSet(int featureID)
{
switch (featureID)
{
case RdlPackage.ENUM_DEFINITION__BODY:
return body != null;
}
return super.eIsSet(featureID);
}
} //EnumDefinitionImpl

View File

@ -0,0 +1,297 @@
/**
* generated by Xtext 2.12.0
*/
package com.minres.rdl.rdl.impl;
import com.minres.rdl.rdl.EnumEntry;
import com.minres.rdl.rdl.EnumProperty;
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>Enum Entry</b></em>'.
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
* </p>
* <ul>
* <li>{@link com.minres.rdl.rdl.impl.EnumEntryImpl#getName <em>Name</em>}</li>
* <li>{@link com.minres.rdl.rdl.impl.EnumEntryImpl#getIndex <em>Index</em>}</li>
* <li>{@link com.minres.rdl.rdl.impl.EnumEntryImpl#getProperties <em>Properties</em>}</li>
* </ul>
*
* @generated
*/
public class EnumEntryImpl extends MinimalEObjectImpl.Container implements EnumEntry
{
/**
* 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 default value of the '{@link #getIndex() <em>Index</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getIndex()
* @generated
* @ordered
*/
protected static final Object INDEX_EDEFAULT = null;
/**
* The cached value of the '{@link #getIndex() <em>Index</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getIndex()
* @generated
* @ordered
*/
protected Object index = INDEX_EDEFAULT;
/**
* The cached value of the '{@link #getProperties() <em>Properties</em>}' containment reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getProperties()
* @generated
* @ordered
*/
protected EList<EnumProperty> properties;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected EnumEntryImpl()
{
super();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
protected EClass eStaticClass()
{
return RdlPackage.Literals.ENUM_ENTRY;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public String getName()
{
return name;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setName(String newName)
{
String oldName = name;
name = newName;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, RdlPackage.ENUM_ENTRY__NAME, oldName, name));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public Object getIndex()
{
return index;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setIndex(Object newIndex)
{
Object oldIndex = index;
index = newIndex;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, RdlPackage.ENUM_ENTRY__INDEX, oldIndex, index));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EList<EnumProperty> getProperties()
{
if (properties == null)
{
properties = new EObjectContainmentEList<EnumProperty>(EnumProperty.class, this, RdlPackage.ENUM_ENTRY__PROPERTIES);
}
return properties;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
{
switch (featureID)
{
case RdlPackage.ENUM_ENTRY__PROPERTIES:
return ((InternalEList<?>)getProperties()).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.ENUM_ENTRY__NAME:
return getName();
case RdlPackage.ENUM_ENTRY__INDEX:
return getIndex();
case RdlPackage.ENUM_ENTRY__PROPERTIES:
return getProperties();
}
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.ENUM_ENTRY__NAME:
setName((String)newValue);
return;
case RdlPackage.ENUM_ENTRY__INDEX:
setIndex(newValue);
return;
case RdlPackage.ENUM_ENTRY__PROPERTIES:
getProperties().clear();
getProperties().addAll((Collection<? extends EnumProperty>)newValue);
return;
}
super.eSet(featureID, newValue);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public void eUnset(int featureID)
{
switch (featureID)
{
case RdlPackage.ENUM_ENTRY__NAME:
setName(NAME_EDEFAULT);
return;
case RdlPackage.ENUM_ENTRY__INDEX:
setIndex(INDEX_EDEFAULT);
return;
case RdlPackage.ENUM_ENTRY__PROPERTIES:
getProperties().clear();
return;
}
super.eUnset(featureID);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public boolean eIsSet(int featureID)
{
switch (featureID)
{
case RdlPackage.ENUM_ENTRY__NAME:
return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
case RdlPackage.ENUM_ENTRY__INDEX:
return INDEX_EDEFAULT == null ? index != null : !INDEX_EDEFAULT.equals(index);
case RdlPackage.ENUM_ENTRY__PROPERTIES:
return properties != null && !properties.isEmpty();
}
return super.eIsSet(featureID);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public String toString()
{
if (eIsProxy()) return super.toString();
StringBuffer result = new StringBuffer(super.toString());
result.append(" (name: ");
result.append(name);
result.append(", index: ");
result.append(index);
result.append(')');
return result.toString();
}
} //EnumEntryImpl

View File

@ -0,0 +1,234 @@
/**
* generated by Xtext 2.12.0
*/
package com.minres.rdl.rdl.impl;
import com.minres.rdl.rdl.EnumProperty;
import com.minres.rdl.rdl.RdlPackage;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.impl.ENotificationImpl;
import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
/**
* <!-- begin-user-doc -->
* An implementation of the model object '<em><b>Enum Property</b></em>'.
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
* </p>
* <ul>
* <li>{@link com.minres.rdl.rdl.impl.EnumPropertyImpl#getName <em>Name</em>}</li>
* <li>{@link com.minres.rdl.rdl.impl.EnumPropertyImpl#getValue <em>Value</em>}</li>
* </ul>
*
* @generated
*/
public class EnumPropertyImpl extends MinimalEObjectImpl.Container implements EnumProperty
{
/**
* 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 default value of the '{@link #getValue() <em>Value</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getValue()
* @generated
* @ordered
*/
protected static final String 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 String value = VALUE_EDEFAULT;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected EnumPropertyImpl()
{
super();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
protected EClass eStaticClass()
{
return RdlPackage.Literals.ENUM_PROPERTY;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public String getName()
{
return name;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setName(String newName)
{
String oldName = name;
name = newName;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, RdlPackage.ENUM_PROPERTY__NAME, oldName, name));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public String getValue()
{
return value;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setValue(String newValue)
{
String oldValue = value;
value = newValue;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, RdlPackage.ENUM_PROPERTY__VALUE, oldValue, value));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Object eGet(int featureID, boolean resolve, boolean coreType)
{
switch (featureID)
{
case RdlPackage.ENUM_PROPERTY__NAME:
return getName();
case RdlPackage.ENUM_PROPERTY__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.ENUM_PROPERTY__NAME:
setName((String)newValue);
return;
case RdlPackage.ENUM_PROPERTY__VALUE:
setValue((String)newValue);
return;
}
super.eSet(featureID, newValue);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public void eUnset(int featureID)
{
switch (featureID)
{
case RdlPackage.ENUM_PROPERTY__NAME:
setName(NAME_EDEFAULT);
return;
case RdlPackage.ENUM_PROPERTY__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.ENUM_PROPERTY__NAME:
return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
case RdlPackage.ENUM_PROPERTY__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();
StringBuffer result = new StringBuffer(super.toString());
result.append(" (name: ");
result.append(name);
result.append(", value: ");
result.append(value);
result.append(')');
return result.toString();
}
} //EnumPropertyImpl

View File

@ -0,0 +1,323 @@
/**
* generated by Xtext 2.12.0
*/
package com.minres.rdl.rdl.impl;
import com.minres.rdl.rdl.ExplicitPropertyAssignment;
import com.minres.rdl.rdl.PropertyAssignmentRhs;
import com.minres.rdl.rdl.PropertyEnum;
import com.minres.rdl.rdl.PropertyModifier;
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>Explicit Property Assignment</b></em>'.
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
* </p>
* <ul>
* <li>{@link com.minres.rdl.rdl.impl.ExplicitPropertyAssignmentImpl#getModifier <em>Modifier</em>}</li>
* <li>{@link com.minres.rdl.rdl.impl.ExplicitPropertyAssignmentImpl#getName <em>Name</em>}</li>
* <li>{@link com.minres.rdl.rdl.impl.ExplicitPropertyAssignmentImpl#getRhs <em>Rhs</em>}</li>
* </ul>
*
* @generated
*/
public class ExplicitPropertyAssignmentImpl extends PropertyAssignmentImpl implements ExplicitPropertyAssignment
{
/**
* The default value of the '{@link #getModifier() <em>Modifier</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getModifier()
* @generated
* @ordered
*/
protected static final PropertyModifier MODIFIER_EDEFAULT = PropertyModifier.UNDEFINED;
/**
* The cached value of the '{@link #getModifier() <em>Modifier</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getModifier()
* @generated
* @ordered
*/
protected PropertyModifier modifier = MODIFIER_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 PropertyEnum NAME_EDEFAULT = PropertyEnum.UNSPECIFIED;
/**
* The cached value of the '{@link #getName() <em>Name</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getName()
* @generated
* @ordered
*/
protected PropertyEnum name = NAME_EDEFAULT;
/**
* The cached value of the '{@link #getRhs() <em>Rhs</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getRhs()
* @generated
* @ordered
*/
protected PropertyAssignmentRhs rhs;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected ExplicitPropertyAssignmentImpl()
{
super();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
protected EClass eStaticClass()
{
return RdlPackage.Literals.EXPLICIT_PROPERTY_ASSIGNMENT;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public PropertyModifier getModifier()
{
return modifier;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setModifier(PropertyModifier newModifier)
{
PropertyModifier oldModifier = modifier;
modifier = newModifier == null ? MODIFIER_EDEFAULT : newModifier;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, RdlPackage.EXPLICIT_PROPERTY_ASSIGNMENT__MODIFIER, oldModifier, modifier));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public PropertyEnum getName()
{
return name;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setName(PropertyEnum newName)
{
PropertyEnum oldName = name;
name = newName == null ? NAME_EDEFAULT : newName;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, RdlPackage.EXPLICIT_PROPERTY_ASSIGNMENT__NAME, oldName, name));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public PropertyAssignmentRhs getRhs()
{
return rhs;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public NotificationChain basicSetRhs(PropertyAssignmentRhs newRhs, NotificationChain msgs)
{
PropertyAssignmentRhs oldRhs = rhs;
rhs = newRhs;
if (eNotificationRequired())
{
ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, RdlPackage.EXPLICIT_PROPERTY_ASSIGNMENT__RHS, oldRhs, newRhs);
if (msgs == null) msgs = notification; else msgs.add(notification);
}
return msgs;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setRhs(PropertyAssignmentRhs newRhs)
{
if (newRhs != rhs)
{
NotificationChain msgs = null;
if (rhs != null)
msgs = ((InternalEObject)rhs).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - RdlPackage.EXPLICIT_PROPERTY_ASSIGNMENT__RHS, null, msgs);
if (newRhs != null)
msgs = ((InternalEObject)newRhs).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - RdlPackage.EXPLICIT_PROPERTY_ASSIGNMENT__RHS, null, msgs);
msgs = basicSetRhs(newRhs, msgs);
if (msgs != null) msgs.dispatch();
}
else if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, RdlPackage.EXPLICIT_PROPERTY_ASSIGNMENT__RHS, newRhs, newRhs));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
{
switch (featureID)
{
case RdlPackage.EXPLICIT_PROPERTY_ASSIGNMENT__RHS:
return basicSetRhs(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.EXPLICIT_PROPERTY_ASSIGNMENT__MODIFIER:
return getModifier();
case RdlPackage.EXPLICIT_PROPERTY_ASSIGNMENT__NAME:
return getName();
case RdlPackage.EXPLICIT_PROPERTY_ASSIGNMENT__RHS:
return getRhs();
}
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.EXPLICIT_PROPERTY_ASSIGNMENT__MODIFIER:
setModifier((PropertyModifier)newValue);
return;
case RdlPackage.EXPLICIT_PROPERTY_ASSIGNMENT__NAME:
setName((PropertyEnum)newValue);
return;
case RdlPackage.EXPLICIT_PROPERTY_ASSIGNMENT__RHS:
setRhs((PropertyAssignmentRhs)newValue);
return;
}
super.eSet(featureID, newValue);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public void eUnset(int featureID)
{
switch (featureID)
{
case RdlPackage.EXPLICIT_PROPERTY_ASSIGNMENT__MODIFIER:
setModifier(MODIFIER_EDEFAULT);
return;
case RdlPackage.EXPLICIT_PROPERTY_ASSIGNMENT__NAME:
setName(NAME_EDEFAULT);
return;
case RdlPackage.EXPLICIT_PROPERTY_ASSIGNMENT__RHS:
setRhs((PropertyAssignmentRhs)null);
return;
}
super.eUnset(featureID);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public boolean eIsSet(int featureID)
{
switch (featureID)
{
case RdlPackage.EXPLICIT_PROPERTY_ASSIGNMENT__MODIFIER:
return modifier != MODIFIER_EDEFAULT;
case RdlPackage.EXPLICIT_PROPERTY_ASSIGNMENT__NAME:
return name != NAME_EDEFAULT;
case RdlPackage.EXPLICIT_PROPERTY_ASSIGNMENT__RHS:
return rhs != null;
}
return super.eIsSet(featureID);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public String toString()
{
if (eIsProxy()) return super.toString();
StringBuffer result = new StringBuffer(super.toString());
result.append(" (modifier: ");
result.append(modifier);
result.append(", name: ");
result.append(name);
result.append(')');
return result.toString();
}
} //ExplicitPropertyAssignmentImpl

View File

@ -0,0 +1,241 @@
/**
* generated by Xtext 2.12.0
*/
package com.minres.rdl.rdl.impl;
import com.minres.rdl.rdl.ComponentInstance;
import com.minres.rdl.rdl.ImmediateInstantiation;
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>Immediate Instantiation</b></em>'.
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
* </p>
* <ul>
* <li>{@link com.minres.rdl.rdl.impl.ImmediateInstantiationImpl#isExternal <em>External</em>}</li>
* <li>{@link com.minres.rdl.rdl.impl.ImmediateInstantiationImpl#getComponentInstances <em>Component Instances</em>}</li>
* </ul>
*
* @generated
*/
public class ImmediateInstantiationImpl extends MinimalEObjectImpl.Container implements ImmediateInstantiation
{
/**
* The default value of the '{@link #isExternal() <em>External</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #isExternal()
* @generated
* @ordered
*/
protected static final boolean EXTERNAL_EDEFAULT = false;
/**
* The cached value of the '{@link #isExternal() <em>External</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #isExternal()
* @generated
* @ordered
*/
protected boolean external = EXTERNAL_EDEFAULT;
/**
* The cached value of the '{@link #getComponentInstances() <em>Component Instances</em>}' containment reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getComponentInstances()
* @generated
* @ordered
*/
protected EList<ComponentInstance> componentInstances;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected ImmediateInstantiationImpl()
{
super();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
protected EClass eStaticClass()
{
return RdlPackage.Literals.IMMEDIATE_INSTANTIATION;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public boolean isExternal()
{
return external;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setExternal(boolean newExternal)
{
boolean oldExternal = external;
external = newExternal;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, RdlPackage.IMMEDIATE_INSTANTIATION__EXTERNAL, oldExternal, external));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EList<ComponentInstance> getComponentInstances()
{
if (componentInstances == null)
{
componentInstances = new EObjectContainmentEList<ComponentInstance>(ComponentInstance.class, this, RdlPackage.IMMEDIATE_INSTANTIATION__COMPONENT_INSTANCES);
}
return componentInstances;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
{
switch (featureID)
{
case RdlPackage.IMMEDIATE_INSTANTIATION__COMPONENT_INSTANCES:
return ((InternalEList<?>)getComponentInstances()).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.IMMEDIATE_INSTANTIATION__EXTERNAL:
return isExternal();
case RdlPackage.IMMEDIATE_INSTANTIATION__COMPONENT_INSTANCES:
return getComponentInstances();
}
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.IMMEDIATE_INSTANTIATION__EXTERNAL:
setExternal((Boolean)newValue);
return;
case RdlPackage.IMMEDIATE_INSTANTIATION__COMPONENT_INSTANCES:
getComponentInstances().clear();
getComponentInstances().addAll((Collection<? extends ComponentInstance>)newValue);
return;
}
super.eSet(featureID, newValue);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public void eUnset(int featureID)
{
switch (featureID)
{
case RdlPackage.IMMEDIATE_INSTANTIATION__EXTERNAL:
setExternal(EXTERNAL_EDEFAULT);
return;
case RdlPackage.IMMEDIATE_INSTANTIATION__COMPONENT_INSTANCES:
getComponentInstances().clear();
return;
}
super.eUnset(featureID);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public boolean eIsSet(int featureID)
{
switch (featureID)
{
case RdlPackage.IMMEDIATE_INSTANTIATION__EXTERNAL:
return external != EXTERNAL_EDEFAULT;
case RdlPackage.IMMEDIATE_INSTANTIATION__COMPONENT_INSTANCES:
return componentInstances != null && !componentInstances.isEmpty();
}
return super.eIsSet(featureID);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public String toString()
{
if (eIsProxy()) return super.toString();
StringBuffer result = new StringBuffer(super.toString());
result.append(" (external: ");
result.append(external);
result.append(')');
return result.toString();
}
} //ImmediateInstantiationImpl

View File

@ -0,0 +1,178 @@
/**
* generated by Xtext 2.12.0
*/
package com.minres.rdl.rdl.impl;
import com.minres.rdl.rdl.Include;
import com.minres.rdl.rdl.RdlPackage;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.impl.ENotificationImpl;
import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
/**
* <!-- begin-user-doc -->
* An implementation of the model object '<em><b>Include</b></em>'.
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
* </p>
* <ul>
* <li>{@link com.minres.rdl.rdl.impl.IncludeImpl#getImportURI <em>Import URI</em>}</li>
* </ul>
*
* @generated
*/
public class IncludeImpl extends MinimalEObjectImpl.Container implements Include
{
/**
* The default value of the '{@link #getImportURI() <em>Import URI</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getImportURI()
* @generated
* @ordered
*/
protected static final String IMPORT_URI_EDEFAULT = null;
/**
* The cached value of the '{@link #getImportURI() <em>Import URI</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getImportURI()
* @generated
* @ordered
*/
protected String importURI = IMPORT_URI_EDEFAULT;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected IncludeImpl()
{
super();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
protected EClass eStaticClass()
{
return RdlPackage.Literals.INCLUDE;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public String getImportURI()
{
return importURI;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setImportURI(String newImportURI)
{
String oldImportURI = importURI;
importURI = newImportURI;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, RdlPackage.INCLUDE__IMPORT_URI, oldImportURI, importURI));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Object eGet(int featureID, boolean resolve, boolean coreType)
{
switch (featureID)
{
case RdlPackage.INCLUDE__IMPORT_URI:
return getImportURI();
}
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.INCLUDE__IMPORT_URI:
setImportURI((String)newValue);
return;
}
super.eSet(featureID, newValue);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public void eUnset(int featureID)
{
switch (featureID)
{
case RdlPackage.INCLUDE__IMPORT_URI:
setImportURI(IMPORT_URI_EDEFAULT);
return;
}
super.eUnset(featureID);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public boolean eIsSet(int featureID)
{
switch (featureID)
{
case RdlPackage.INCLUDE__IMPORT_URI:
return IMPORT_URI_EDEFAULT == null ? importURI != null : !IMPORT_URI_EDEFAULT.equals(importURI);
}
return super.eIsSet(featureID);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public String toString()
{
if (eIsProxy()) return super.toString();
StringBuffer result = new StringBuffer(super.toString());
result.append(" (importURI: ");
result.append(importURI);
result.append(')');
return result.toString();
}
} //IncludeImpl

View File

@ -0,0 +1,333 @@
/**
* generated by Xtext 2.12.0
*/
package com.minres.rdl.rdl.impl;
import com.minres.rdl.rdl.InstancePropertyRef;
import com.minres.rdl.rdl.InstanceRef;
import com.minres.rdl.rdl.PropertyDefinition;
import com.minres.rdl.rdl.PropertyEnum;
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>Instance Property Ref</b></em>'.
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
* </p>
* <ul>
* <li>{@link com.minres.rdl.rdl.impl.InstancePropertyRefImpl#getInstance <em>Instance</em>}</li>
* <li>{@link com.minres.rdl.rdl.impl.InstancePropertyRefImpl#getPropertyEnum <em>Property Enum</em>}</li>
* <li>{@link com.minres.rdl.rdl.impl.InstancePropertyRefImpl#getProperty <em>Property</em>}</li>
* </ul>
*
* @generated
*/
public class InstancePropertyRefImpl extends MinimalEObjectImpl.Container implements InstancePropertyRef
{
/**
* The cached value of the '{@link #getInstance() <em>Instance</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getInstance()
* @generated
* @ordered
*/
protected InstanceRef instance;
/**
* The default value of the '{@link #getPropertyEnum() <em>Property Enum</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getPropertyEnum()
* @generated
* @ordered
*/
protected static final PropertyEnum PROPERTY_ENUM_EDEFAULT = PropertyEnum.UNSPECIFIED;
/**
* The cached value of the '{@link #getPropertyEnum() <em>Property Enum</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getPropertyEnum()
* @generated
* @ordered
*/
protected PropertyEnum propertyEnum = PROPERTY_ENUM_EDEFAULT;
/**
* The cached value of the '{@link #getProperty() <em>Property</em>}' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getProperty()
* @generated
* @ordered
*/
protected PropertyDefinition property;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected InstancePropertyRefImpl()
{
super();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
protected EClass eStaticClass()
{
return RdlPackage.Literals.INSTANCE_PROPERTY_REF;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public InstanceRef getInstance()
{
return instance;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public NotificationChain basicSetInstance(InstanceRef newInstance, NotificationChain msgs)
{
InstanceRef oldInstance = instance;
instance = newInstance;
if (eNotificationRequired())
{
ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, RdlPackage.INSTANCE_PROPERTY_REF__INSTANCE, oldInstance, newInstance);
if (msgs == null) msgs = notification; else msgs.add(notification);
}
return msgs;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setInstance(InstanceRef newInstance)
{
if (newInstance != instance)
{
NotificationChain msgs = null;
if (instance != null)
msgs = ((InternalEObject)instance).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - RdlPackage.INSTANCE_PROPERTY_REF__INSTANCE, null, msgs);
if (newInstance != null)
msgs = ((InternalEObject)newInstance).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - RdlPackage.INSTANCE_PROPERTY_REF__INSTANCE, null, msgs);
msgs = basicSetInstance(newInstance, msgs);
if (msgs != null) msgs.dispatch();
}
else if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, RdlPackage.INSTANCE_PROPERTY_REF__INSTANCE, newInstance, newInstance));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public PropertyEnum getPropertyEnum()
{
return propertyEnum;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setPropertyEnum(PropertyEnum newPropertyEnum)
{
PropertyEnum oldPropertyEnum = propertyEnum;
propertyEnum = newPropertyEnum == null ? PROPERTY_ENUM_EDEFAULT : newPropertyEnum;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, RdlPackage.INSTANCE_PROPERTY_REF__PROPERTY_ENUM, oldPropertyEnum, propertyEnum));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public PropertyDefinition getProperty()
{
if (property != null && property.eIsProxy())
{
InternalEObject oldProperty = (InternalEObject)property;
property = (PropertyDefinition)eResolveProxy(oldProperty);
if (property != oldProperty)
{
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.RESOLVE, RdlPackage.INSTANCE_PROPERTY_REF__PROPERTY, oldProperty, property));
}
}
return property;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public PropertyDefinition basicGetProperty()
{
return property;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setProperty(PropertyDefinition newProperty)
{
PropertyDefinition oldProperty = property;
property = newProperty;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, RdlPackage.INSTANCE_PROPERTY_REF__PROPERTY, oldProperty, property));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
{
switch (featureID)
{
case RdlPackage.INSTANCE_PROPERTY_REF__INSTANCE:
return basicSetInstance(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.INSTANCE_PROPERTY_REF__INSTANCE:
return getInstance();
case RdlPackage.INSTANCE_PROPERTY_REF__PROPERTY_ENUM:
return getPropertyEnum();
case RdlPackage.INSTANCE_PROPERTY_REF__PROPERTY:
if (resolve) return getProperty();
return basicGetProperty();
}
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.INSTANCE_PROPERTY_REF__INSTANCE:
setInstance((InstanceRef)newValue);
return;
case RdlPackage.INSTANCE_PROPERTY_REF__PROPERTY_ENUM:
setPropertyEnum((PropertyEnum)newValue);
return;
case RdlPackage.INSTANCE_PROPERTY_REF__PROPERTY:
setProperty((PropertyDefinition)newValue);
return;
}
super.eSet(featureID, newValue);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public void eUnset(int featureID)
{
switch (featureID)
{
case RdlPackage.INSTANCE_PROPERTY_REF__INSTANCE:
setInstance((InstanceRef)null);
return;
case RdlPackage.INSTANCE_PROPERTY_REF__PROPERTY_ENUM:
setPropertyEnum(PROPERTY_ENUM_EDEFAULT);
return;
case RdlPackage.INSTANCE_PROPERTY_REF__PROPERTY:
setProperty((PropertyDefinition)null);
return;
}
super.eUnset(featureID);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public boolean eIsSet(int featureID)
{
switch (featureID)
{
case RdlPackage.INSTANCE_PROPERTY_REF__INSTANCE:
return instance != null;
case RdlPackage.INSTANCE_PROPERTY_REF__PROPERTY_ENUM:
return propertyEnum != PROPERTY_ENUM_EDEFAULT;
case RdlPackage.INSTANCE_PROPERTY_REF__PROPERTY:
return property != null;
}
return super.eIsSet(featureID);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public String toString()
{
if (eIsProxy()) return super.toString();
StringBuffer result = new StringBuffer(super.toString());
result.append(" (propertyEnum: ");
result.append(propertyEnum);
result.append(')');
return result.toString();
}
} //InstancePropertyRefImpl

View File

@ -0,0 +1,260 @@
/**
* generated by Xtext 2.12.0
*/
package com.minres.rdl.rdl.impl;
import com.minres.rdl.rdl.Entity;
import com.minres.rdl.rdl.InstanceRef;
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>Instance Ref</b></em>'.
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
* </p>
* <ul>
* <li>{@link com.minres.rdl.rdl.impl.InstanceRefImpl#getInstance <em>Instance</em>}</li>
* <li>{@link com.minres.rdl.rdl.impl.InstanceRefImpl#getTail <em>Tail</em>}</li>
* </ul>
*
* @generated
*/
public class InstanceRefImpl extends MinimalEObjectImpl.Container implements InstanceRef
{
/**
* The cached value of the '{@link #getInstance() <em>Instance</em>}' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getInstance()
* @generated
* @ordered
*/
protected Entity instance;
/**
* The cached value of the '{@link #getTail() <em>Tail</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getTail()
* @generated
* @ordered
*/
protected InstanceRef tail;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected InstanceRefImpl()
{
super();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
protected EClass eStaticClass()
{
return RdlPackage.Literals.INSTANCE_REF;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public Entity getInstance()
{
if (instance != null && instance.eIsProxy())
{
InternalEObject oldInstance = (InternalEObject)instance;
instance = (Entity)eResolveProxy(oldInstance);
if (instance != oldInstance)
{
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.RESOLVE, RdlPackage.INSTANCE_REF__INSTANCE, oldInstance, instance));
}
}
return instance;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public Entity basicGetInstance()
{
return instance;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setInstance(Entity newInstance)
{
Entity oldInstance = instance;
instance = newInstance;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, RdlPackage.INSTANCE_REF__INSTANCE, oldInstance, instance));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public InstanceRef getTail()
{
return tail;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public NotificationChain basicSetTail(InstanceRef newTail, NotificationChain msgs)
{
InstanceRef oldTail = tail;
tail = newTail;
if (eNotificationRequired())
{
ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, RdlPackage.INSTANCE_REF__TAIL, oldTail, newTail);
if (msgs == null) msgs = notification; else msgs.add(notification);
}
return msgs;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setTail(InstanceRef newTail)
{
if (newTail != tail)
{
NotificationChain msgs = null;
if (tail != null)
msgs = ((InternalEObject)tail).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - RdlPackage.INSTANCE_REF__TAIL, null, msgs);
if (newTail != null)
msgs = ((InternalEObject)newTail).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - RdlPackage.INSTANCE_REF__TAIL, null, msgs);
msgs = basicSetTail(newTail, msgs);
if (msgs != null) msgs.dispatch();
}
else if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, RdlPackage.INSTANCE_REF__TAIL, newTail, newTail));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
{
switch (featureID)
{
case RdlPackage.INSTANCE_REF__TAIL:
return basicSetTail(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.INSTANCE_REF__INSTANCE:
if (resolve) return getInstance();
return basicGetInstance();
case RdlPackage.INSTANCE_REF__TAIL:
return getTail();
}
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.INSTANCE_REF__INSTANCE:
setInstance((Entity)newValue);
return;
case RdlPackage.INSTANCE_REF__TAIL:
setTail((InstanceRef)newValue);
return;
}
super.eSet(featureID, newValue);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public void eUnset(int featureID)
{
switch (featureID)
{
case RdlPackage.INSTANCE_REF__INSTANCE:
setInstance((Entity)null);
return;
case RdlPackage.INSTANCE_REF__TAIL:
setTail((InstanceRef)null);
return;
}
super.eUnset(featureID);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public boolean eIsSet(int featureID)
{
switch (featureID)
{
case RdlPackage.INSTANCE_REF__INSTANCE:
return instance != null;
case RdlPackage.INSTANCE_REF__TAIL:
return tail != null;
}
return super.eIsSet(featureID);
}
} //InstanceRefImpl

View File

@ -0,0 +1,419 @@
/**
* generated by Xtext 2.12.0
*/
package com.minres.rdl.rdl.impl;
import com.minres.rdl.rdl.ComponentDefinition;
import com.minres.rdl.rdl.ComponentInstance;
import com.minres.rdl.rdl.NamedInstantiation;
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>Named Instantiation</b></em>'.
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
* </p>
* <ul>
* <li>{@link com.minres.rdl.rdl.impl.NamedInstantiationImpl#isExternal <em>External</em>}</li>
* <li>{@link com.minres.rdl.rdl.impl.NamedInstantiationImpl#isInternal <em>Internal</em>}</li>
* <li>{@link com.minres.rdl.rdl.impl.NamedInstantiationImpl#getAlias <em>Alias</em>}</li>
* <li>{@link com.minres.rdl.rdl.impl.NamedInstantiationImpl#getComponent <em>Component</em>}</li>
* <li>{@link com.minres.rdl.rdl.impl.NamedInstantiationImpl#getComponentInstances <em>Component Instances</em>}</li>
* </ul>
*
* @generated
*/
public class NamedInstantiationImpl extends MinimalEObjectImpl.Container implements NamedInstantiation
{
/**
* The default value of the '{@link #isExternal() <em>External</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #isExternal()
* @generated
* @ordered
*/
protected static final boolean EXTERNAL_EDEFAULT = false;
/**
* The cached value of the '{@link #isExternal() <em>External</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #isExternal()
* @generated
* @ordered
*/
protected boolean external = EXTERNAL_EDEFAULT;
/**
* The default value of the '{@link #isInternal() <em>Internal</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #isInternal()
* @generated
* @ordered
*/
protected static final boolean INTERNAL_EDEFAULT = false;
/**
* The cached value of the '{@link #isInternal() <em>Internal</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #isInternal()
* @generated
* @ordered
*/
protected boolean internal = INTERNAL_EDEFAULT;
/**
* The default value of the '{@link #getAlias() <em>Alias</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getAlias()
* @generated
* @ordered
*/
protected static final String ALIAS_EDEFAULT = null;
/**
* The cached value of the '{@link #getAlias() <em>Alias</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getAlias()
* @generated
* @ordered
*/
protected String alias = ALIAS_EDEFAULT;
/**
* The cached value of the '{@link #getComponent() <em>Component</em>}' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getComponent()
* @generated
* @ordered
*/
protected ComponentDefinition component;
/**
* The cached value of the '{@link #getComponentInstances() <em>Component Instances</em>}' containment reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getComponentInstances()
* @generated
* @ordered
*/
protected EList<ComponentInstance> componentInstances;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected NamedInstantiationImpl()
{
super();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
protected EClass eStaticClass()
{
return RdlPackage.Literals.NAMED_INSTANTIATION;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public boolean isExternal()
{
return external;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setExternal(boolean newExternal)
{
boolean oldExternal = external;
external = newExternal;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, RdlPackage.NAMED_INSTANTIATION__EXTERNAL, oldExternal, external));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public boolean isInternal()
{
return internal;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setInternal(boolean newInternal)
{
boolean oldInternal = internal;
internal = newInternal;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, RdlPackage.NAMED_INSTANTIATION__INTERNAL, oldInternal, internal));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public String getAlias()
{
return alias;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setAlias(String newAlias)
{
String oldAlias = alias;
alias = newAlias;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, RdlPackage.NAMED_INSTANTIATION__ALIAS, oldAlias, alias));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public ComponentDefinition getComponent()
{
if (component != null && component.eIsProxy())
{
InternalEObject oldComponent = (InternalEObject)component;
component = (ComponentDefinition)eResolveProxy(oldComponent);
if (component != oldComponent)
{
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.RESOLVE, RdlPackage.NAMED_INSTANTIATION__COMPONENT, oldComponent, component));
}
}
return component;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public ComponentDefinition basicGetComponent()
{
return component;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setComponent(ComponentDefinition newComponent)
{
ComponentDefinition oldComponent = component;
component = newComponent;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, RdlPackage.NAMED_INSTANTIATION__COMPONENT, oldComponent, component));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EList<ComponentInstance> getComponentInstances()
{
if (componentInstances == null)
{
componentInstances = new EObjectContainmentEList<ComponentInstance>(ComponentInstance.class, this, RdlPackage.NAMED_INSTANTIATION__COMPONENT_INSTANCES);
}
return componentInstances;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
{
switch (featureID)
{
case RdlPackage.NAMED_INSTANTIATION__COMPONENT_INSTANCES:
return ((InternalEList<?>)getComponentInstances()).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.NAMED_INSTANTIATION__EXTERNAL:
return isExternal();
case RdlPackage.NAMED_INSTANTIATION__INTERNAL:
return isInternal();
case RdlPackage.NAMED_INSTANTIATION__ALIAS:
return getAlias();
case RdlPackage.NAMED_INSTANTIATION__COMPONENT:
if (resolve) return getComponent();
return basicGetComponent();
case RdlPackage.NAMED_INSTANTIATION__COMPONENT_INSTANCES:
return getComponentInstances();
}
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.NAMED_INSTANTIATION__EXTERNAL:
setExternal((Boolean)newValue);
return;
case RdlPackage.NAMED_INSTANTIATION__INTERNAL:
setInternal((Boolean)newValue);
return;
case RdlPackage.NAMED_INSTANTIATION__ALIAS:
setAlias((String)newValue);
return;
case RdlPackage.NAMED_INSTANTIATION__COMPONENT:
setComponent((ComponentDefinition)newValue);
return;
case RdlPackage.NAMED_INSTANTIATION__COMPONENT_INSTANCES:
getComponentInstances().clear();
getComponentInstances().addAll((Collection<? extends ComponentInstance>)newValue);
return;
}
super.eSet(featureID, newValue);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public void eUnset(int featureID)
{
switch (featureID)
{
case RdlPackage.NAMED_INSTANTIATION__EXTERNAL:
setExternal(EXTERNAL_EDEFAULT);
return;
case RdlPackage.NAMED_INSTANTIATION__INTERNAL:
setInternal(INTERNAL_EDEFAULT);
return;
case RdlPackage.NAMED_INSTANTIATION__ALIAS:
setAlias(ALIAS_EDEFAULT);
return;
case RdlPackage.NAMED_INSTANTIATION__COMPONENT:
setComponent((ComponentDefinition)null);
return;
case RdlPackage.NAMED_INSTANTIATION__COMPONENT_INSTANCES:
getComponentInstances().clear();
return;
}
super.eUnset(featureID);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public boolean eIsSet(int featureID)
{
switch (featureID)
{
case RdlPackage.NAMED_INSTANTIATION__EXTERNAL:
return external != EXTERNAL_EDEFAULT;
case RdlPackage.NAMED_INSTANTIATION__INTERNAL:
return internal != INTERNAL_EDEFAULT;
case RdlPackage.NAMED_INSTANTIATION__ALIAS:
return ALIAS_EDEFAULT == null ? alias != null : !ALIAS_EDEFAULT.equals(alias);
case RdlPackage.NAMED_INSTANTIATION__COMPONENT:
return component != null;
case RdlPackage.NAMED_INSTANTIATION__COMPONENT_INSTANCES:
return componentInstances != null && !componentInstances.isEmpty();
}
return super.eIsSet(featureID);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public String toString()
{
if (eIsProxy()) return super.toString();
StringBuffer result = new StringBuffer(super.toString());
result.append(" (external: ");
result.append(external);
result.append(", internal: ");
result.append(internal);
result.append(", alias: ");
result.append(alias);
result.append(')');
return result.toString();
}
} //NamedInstantiationImpl

View File

@ -0,0 +1,404 @@
/**
* generated by Xtext 2.12.0
*/
package com.minres.rdl.rdl.impl;
import com.minres.rdl.rdl.InstanceRef;
import com.minres.rdl.rdl.PostPropertyAssignment;
import com.minres.rdl.rdl.PropertyAssignmentRhs;
import com.minres.rdl.rdl.PropertyDefinition;
import com.minres.rdl.rdl.PropertyEnum;
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>Post Property Assignment</b></em>'.
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
* </p>
* <ul>
* <li>{@link com.minres.rdl.rdl.impl.PostPropertyAssignmentImpl#getInstance <em>Instance</em>}</li>
* <li>{@link com.minres.rdl.rdl.impl.PostPropertyAssignmentImpl#getPropertyEnum <em>Property Enum</em>}</li>
* <li>{@link com.minres.rdl.rdl.impl.PostPropertyAssignmentImpl#getProperty <em>Property</em>}</li>
* <li>{@link com.minres.rdl.rdl.impl.PostPropertyAssignmentImpl#getRhs <em>Rhs</em>}</li>
* </ul>
*
* @generated
*/
public class PostPropertyAssignmentImpl extends PropertyAssignmentImpl implements PostPropertyAssignment
{
/**
* The cached value of the '{@link #getInstance() <em>Instance</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getInstance()
* @generated
* @ordered
*/
protected InstanceRef instance;
/**
* The default value of the '{@link #getPropertyEnum() <em>Property Enum</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getPropertyEnum()
* @generated
* @ordered
*/
protected static final PropertyEnum PROPERTY_ENUM_EDEFAULT = PropertyEnum.UNSPECIFIED;
/**
* The cached value of the '{@link #getPropertyEnum() <em>Property Enum</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getPropertyEnum()
* @generated
* @ordered
*/
protected PropertyEnum propertyEnum = PROPERTY_ENUM_EDEFAULT;
/**
* The cached value of the '{@link #getProperty() <em>Property</em>}' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getProperty()
* @generated
* @ordered
*/
protected PropertyDefinition property;
/**
* The cached value of the '{@link #getRhs() <em>Rhs</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getRhs()
* @generated
* @ordered
*/
protected PropertyAssignmentRhs rhs;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected PostPropertyAssignmentImpl()
{
super();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
protected EClass eStaticClass()
{
return RdlPackage.Literals.POST_PROPERTY_ASSIGNMENT;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public InstanceRef getInstance()
{
return instance;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public NotificationChain basicSetInstance(InstanceRef newInstance, NotificationChain msgs)
{
InstanceRef oldInstance = instance;
instance = newInstance;
if (eNotificationRequired())
{
ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, RdlPackage.POST_PROPERTY_ASSIGNMENT__INSTANCE, oldInstance, newInstance);
if (msgs == null) msgs = notification; else msgs.add(notification);
}
return msgs;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setInstance(InstanceRef newInstance)
{
if (newInstance != instance)
{
NotificationChain msgs = null;
if (instance != null)
msgs = ((InternalEObject)instance).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - RdlPackage.POST_PROPERTY_ASSIGNMENT__INSTANCE, null, msgs);
if (newInstance != null)
msgs = ((InternalEObject)newInstance).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - RdlPackage.POST_PROPERTY_ASSIGNMENT__INSTANCE, null, msgs);
msgs = basicSetInstance(newInstance, msgs);
if (msgs != null) msgs.dispatch();
}
else if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, RdlPackage.POST_PROPERTY_ASSIGNMENT__INSTANCE, newInstance, newInstance));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public PropertyEnum getPropertyEnum()
{
return propertyEnum;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setPropertyEnum(PropertyEnum newPropertyEnum)
{
PropertyEnum oldPropertyEnum = propertyEnum;
propertyEnum = newPropertyEnum == null ? PROPERTY_ENUM_EDEFAULT : newPropertyEnum;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, RdlPackage.POST_PROPERTY_ASSIGNMENT__PROPERTY_ENUM, oldPropertyEnum, propertyEnum));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public PropertyDefinition getProperty()
{
if (property != null && property.eIsProxy())
{
InternalEObject oldProperty = (InternalEObject)property;
property = (PropertyDefinition)eResolveProxy(oldProperty);
if (property != oldProperty)
{
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.RESOLVE, RdlPackage.POST_PROPERTY_ASSIGNMENT__PROPERTY, oldProperty, property));
}
}
return property;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public PropertyDefinition basicGetProperty()
{
return property;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setProperty(PropertyDefinition newProperty)
{
PropertyDefinition oldProperty = property;
property = newProperty;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, RdlPackage.POST_PROPERTY_ASSIGNMENT__PROPERTY, oldProperty, property));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public PropertyAssignmentRhs getRhs()
{
return rhs;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public NotificationChain basicSetRhs(PropertyAssignmentRhs newRhs, NotificationChain msgs)
{
PropertyAssignmentRhs oldRhs = rhs;
rhs = newRhs;
if (eNotificationRequired())
{
ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, RdlPackage.POST_PROPERTY_ASSIGNMENT__RHS, oldRhs, newRhs);
if (msgs == null) msgs = notification; else msgs.add(notification);
}
return msgs;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setRhs(PropertyAssignmentRhs newRhs)
{
if (newRhs != rhs)
{
NotificationChain msgs = null;
if (rhs != null)
msgs = ((InternalEObject)rhs).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - RdlPackage.POST_PROPERTY_ASSIGNMENT__RHS, null, msgs);
if (newRhs != null)
msgs = ((InternalEObject)newRhs).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - RdlPackage.POST_PROPERTY_ASSIGNMENT__RHS, null, msgs);
msgs = basicSetRhs(newRhs, msgs);
if (msgs != null) msgs.dispatch();
}
else if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, RdlPackage.POST_PROPERTY_ASSIGNMENT__RHS, newRhs, newRhs));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
{
switch (featureID)
{
case RdlPackage.POST_PROPERTY_ASSIGNMENT__INSTANCE:
return basicSetInstance(null, msgs);
case RdlPackage.POST_PROPERTY_ASSIGNMENT__RHS:
return basicSetRhs(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.POST_PROPERTY_ASSIGNMENT__INSTANCE:
return getInstance();
case RdlPackage.POST_PROPERTY_ASSIGNMENT__PROPERTY_ENUM:
return getPropertyEnum();
case RdlPackage.POST_PROPERTY_ASSIGNMENT__PROPERTY:
if (resolve) return getProperty();
return basicGetProperty();
case RdlPackage.POST_PROPERTY_ASSIGNMENT__RHS:
return getRhs();
}
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.POST_PROPERTY_ASSIGNMENT__INSTANCE:
setInstance((InstanceRef)newValue);
return;
case RdlPackage.POST_PROPERTY_ASSIGNMENT__PROPERTY_ENUM:
setPropertyEnum((PropertyEnum)newValue);
return;
case RdlPackage.POST_PROPERTY_ASSIGNMENT__PROPERTY:
setProperty((PropertyDefinition)newValue);
return;
case RdlPackage.POST_PROPERTY_ASSIGNMENT__RHS:
setRhs((PropertyAssignmentRhs)newValue);
return;
}
super.eSet(featureID, newValue);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public void eUnset(int featureID)
{
switch (featureID)
{
case RdlPackage.POST_PROPERTY_ASSIGNMENT__INSTANCE:
setInstance((InstanceRef)null);
return;
case RdlPackage.POST_PROPERTY_ASSIGNMENT__PROPERTY_ENUM:
setPropertyEnum(PROPERTY_ENUM_EDEFAULT);
return;
case RdlPackage.POST_PROPERTY_ASSIGNMENT__PROPERTY:
setProperty((PropertyDefinition)null);
return;
case RdlPackage.POST_PROPERTY_ASSIGNMENT__RHS:
setRhs((PropertyAssignmentRhs)null);
return;
}
super.eUnset(featureID);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public boolean eIsSet(int featureID)
{
switch (featureID)
{
case RdlPackage.POST_PROPERTY_ASSIGNMENT__INSTANCE:
return instance != null;
case RdlPackage.POST_PROPERTY_ASSIGNMENT__PROPERTY_ENUM:
return propertyEnum != PROPERTY_ENUM_EDEFAULT;
case RdlPackage.POST_PROPERTY_ASSIGNMENT__PROPERTY:
return property != null;
case RdlPackage.POST_PROPERTY_ASSIGNMENT__RHS:
return rhs != null;
}
return super.eIsSet(featureID);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public String toString()
{
if (eIsProxy()) return super.toString();
StringBuffer result = new StringBuffer(super.toString());
result.append(" (propertyEnum: ");
result.append(propertyEnum);
result.append(')');
return result.toString();
}
} //PostPropertyAssignmentImpl

View File

@ -0,0 +1,43 @@
/**
* generated by Xtext 2.12.0
*/
package com.minres.rdl.rdl.impl;
import com.minres.rdl.rdl.PropertyAssignment;
import com.minres.rdl.rdl.RdlPackage;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
/**
* <!-- begin-user-doc -->
* An implementation of the model object '<em><b>Property Assignment</b></em>'.
* <!-- end-user-doc -->
*
* @generated
*/
public class PropertyAssignmentImpl extends MinimalEObjectImpl.Container implements PropertyAssignment
{
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected PropertyAssignmentImpl()
{
super();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
protected EClass eStaticClass()
{
return RdlPackage.Literals.PROPERTY_ASSIGNMENT;
}
} //PropertyAssignmentImpl

View File

@ -0,0 +1,477 @@
/**
* generated by Xtext 2.12.0
*/
package com.minres.rdl.rdl.impl;
import com.minres.rdl.rdl.Concat;
import com.minres.rdl.rdl.EnumBody;
import com.minres.rdl.rdl.EnumDefinition;
import com.minres.rdl.rdl.InstancePropertyRef;
import com.minres.rdl.rdl.PropertyAssignmentRhs;
import com.minres.rdl.rdl.RValue;
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>Property Assignment Rhs</b></em>'.
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
* </p>
* <ul>
* <li>{@link com.minres.rdl.rdl.impl.PropertyAssignmentRhsImpl#getValue <em>Value</em>}</li>
* <li>{@link com.minres.rdl.rdl.impl.PropertyAssignmentRhsImpl#getInstPropRef <em>Inst Prop Ref</em>}</li>
* <li>{@link com.minres.rdl.rdl.impl.PropertyAssignmentRhsImpl#getEnumRef <em>Enum Ref</em>}</li>
* <li>{@link com.minres.rdl.rdl.impl.PropertyAssignmentRhsImpl#getEnums <em>Enums</em>}</li>
* <li>{@link com.minres.rdl.rdl.impl.PropertyAssignmentRhsImpl#getElements <em>Elements</em>}</li>
* </ul>
*
* @generated
*/
public class PropertyAssignmentRhsImpl extends MinimalEObjectImpl.Container implements PropertyAssignmentRhs
{
/**
* The cached value of the '{@link #getValue() <em>Value</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getValue()
* @generated
* @ordered
*/
protected RValue value;
/**
* 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 cached value of the '{@link #getEnumRef() <em>Enum Ref</em>}' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getEnumRef()
* @generated
* @ordered
*/
protected EnumDefinition enumRef;
/**
* The cached value of the '{@link #getEnums() <em>Enums</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getEnums()
* @generated
* @ordered
*/
protected EnumBody enums;
/**
* The cached value of the '{@link #getElements() <em>Elements</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getElements()
* @generated
* @ordered
*/
protected Concat elements;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected PropertyAssignmentRhsImpl()
{
super();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
protected EClass eStaticClass()
{
return RdlPackage.Literals.PROPERTY_ASSIGNMENT_RHS;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public RValue getValue()
{
return value;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public NotificationChain basicSetValue(RValue newValue, NotificationChain msgs)
{
RValue oldValue = value;
value = newValue;
if (eNotificationRequired())
{
ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, RdlPackage.PROPERTY_ASSIGNMENT_RHS__VALUE, oldValue, newValue);
if (msgs == null) msgs = notification; else msgs.add(notification);
}
return msgs;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setValue(RValue newValue)
{
if (newValue != value)
{
NotificationChain msgs = null;
if (value != null)
msgs = ((InternalEObject)value).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - RdlPackage.PROPERTY_ASSIGNMENT_RHS__VALUE, null, msgs);
if (newValue != null)
msgs = ((InternalEObject)newValue).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - RdlPackage.PROPERTY_ASSIGNMENT_RHS__VALUE, null, msgs);
msgs = basicSetValue(newValue, msgs);
if (msgs != null) msgs.dispatch();
}
else if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, RdlPackage.PROPERTY_ASSIGNMENT_RHS__VALUE, newValue, newValue));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
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.PROPERTY_ASSIGNMENT_RHS__INST_PROP_REF, oldInstPropRef, newInstPropRef);
if (msgs == null) msgs = notification; else msgs.add(notification);
}
return msgs;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setInstPropRef(InstancePropertyRef newInstPropRef)
{
if (newInstPropRef != instPropRef)
{
NotificationChain msgs = null;
if (instPropRef != null)
msgs = ((InternalEObject)instPropRef).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - RdlPackage.PROPERTY_ASSIGNMENT_RHS__INST_PROP_REF, null, msgs);
if (newInstPropRef != null)
msgs = ((InternalEObject)newInstPropRef).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - RdlPackage.PROPERTY_ASSIGNMENT_RHS__INST_PROP_REF, null, msgs);
msgs = basicSetInstPropRef(newInstPropRef, msgs);
if (msgs != null) msgs.dispatch();
}
else if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, RdlPackage.PROPERTY_ASSIGNMENT_RHS__INST_PROP_REF, newInstPropRef, newInstPropRef));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EnumDefinition getEnumRef()
{
if (enumRef != null && enumRef.eIsProxy())
{
InternalEObject oldEnumRef = (InternalEObject)enumRef;
enumRef = (EnumDefinition)eResolveProxy(oldEnumRef);
if (enumRef != oldEnumRef)
{
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.RESOLVE, RdlPackage.PROPERTY_ASSIGNMENT_RHS__ENUM_REF, oldEnumRef, enumRef));
}
}
return enumRef;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EnumDefinition basicGetEnumRef()
{
return enumRef;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setEnumRef(EnumDefinition newEnumRef)
{
EnumDefinition oldEnumRef = enumRef;
enumRef = newEnumRef;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, RdlPackage.PROPERTY_ASSIGNMENT_RHS__ENUM_REF, oldEnumRef, enumRef));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EnumBody getEnums()
{
return enums;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public NotificationChain basicSetEnums(EnumBody newEnums, NotificationChain msgs)
{
EnumBody oldEnums = enums;
enums = newEnums;
if (eNotificationRequired())
{
ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, RdlPackage.PROPERTY_ASSIGNMENT_RHS__ENUMS, oldEnums, newEnums);
if (msgs == null) msgs = notification; else msgs.add(notification);
}
return msgs;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setEnums(EnumBody newEnums)
{
if (newEnums != enums)
{
NotificationChain msgs = null;
if (enums != null)
msgs = ((InternalEObject)enums).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - RdlPackage.PROPERTY_ASSIGNMENT_RHS__ENUMS, null, msgs);
if (newEnums != null)
msgs = ((InternalEObject)newEnums).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - RdlPackage.PROPERTY_ASSIGNMENT_RHS__ENUMS, null, msgs);
msgs = basicSetEnums(newEnums, msgs);
if (msgs != null) msgs.dispatch();
}
else if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, RdlPackage.PROPERTY_ASSIGNMENT_RHS__ENUMS, newEnums, newEnums));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public Concat getElements()
{
return elements;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public NotificationChain basicSetElements(Concat newElements, NotificationChain msgs)
{
Concat oldElements = elements;
elements = newElements;
if (eNotificationRequired())
{
ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, RdlPackage.PROPERTY_ASSIGNMENT_RHS__ELEMENTS, oldElements, newElements);
if (msgs == null) msgs = notification; else msgs.add(notification);
}
return msgs;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setElements(Concat newElements)
{
if (newElements != elements)
{
NotificationChain msgs = null;
if (elements != null)
msgs = ((InternalEObject)elements).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - RdlPackage.PROPERTY_ASSIGNMENT_RHS__ELEMENTS, null, msgs);
if (newElements != null)
msgs = ((InternalEObject)newElements).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - RdlPackage.PROPERTY_ASSIGNMENT_RHS__ELEMENTS, null, msgs);
msgs = basicSetElements(newElements, msgs);
if (msgs != null) msgs.dispatch();
}
else if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, RdlPackage.PROPERTY_ASSIGNMENT_RHS__ELEMENTS, newElements, newElements));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
{
switch (featureID)
{
case RdlPackage.PROPERTY_ASSIGNMENT_RHS__VALUE:
return basicSetValue(null, msgs);
case RdlPackage.PROPERTY_ASSIGNMENT_RHS__INST_PROP_REF:
return basicSetInstPropRef(null, msgs);
case RdlPackage.PROPERTY_ASSIGNMENT_RHS__ENUMS:
return basicSetEnums(null, msgs);
case RdlPackage.PROPERTY_ASSIGNMENT_RHS__ELEMENTS:
return basicSetElements(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.PROPERTY_ASSIGNMENT_RHS__VALUE:
return getValue();
case RdlPackage.PROPERTY_ASSIGNMENT_RHS__INST_PROP_REF:
return getInstPropRef();
case RdlPackage.PROPERTY_ASSIGNMENT_RHS__ENUM_REF:
if (resolve) return getEnumRef();
return basicGetEnumRef();
case RdlPackage.PROPERTY_ASSIGNMENT_RHS__ENUMS:
return getEnums();
case RdlPackage.PROPERTY_ASSIGNMENT_RHS__ELEMENTS:
return getElements();
}
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.PROPERTY_ASSIGNMENT_RHS__VALUE:
setValue((RValue)newValue);
return;
case RdlPackage.PROPERTY_ASSIGNMENT_RHS__INST_PROP_REF:
setInstPropRef((InstancePropertyRef)newValue);
return;
case RdlPackage.PROPERTY_ASSIGNMENT_RHS__ENUM_REF:
setEnumRef((EnumDefinition)newValue);
return;
case RdlPackage.PROPERTY_ASSIGNMENT_RHS__ENUMS:
setEnums((EnumBody)newValue);
return;
case RdlPackage.PROPERTY_ASSIGNMENT_RHS__ELEMENTS:
setElements((Concat)newValue);
return;
}
super.eSet(featureID, newValue);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public void eUnset(int featureID)
{
switch (featureID)
{
case RdlPackage.PROPERTY_ASSIGNMENT_RHS__VALUE:
setValue((RValue)null);
return;
case RdlPackage.PROPERTY_ASSIGNMENT_RHS__INST_PROP_REF:
setInstPropRef((InstancePropertyRef)null);
return;
case RdlPackage.PROPERTY_ASSIGNMENT_RHS__ENUM_REF:
setEnumRef((EnumDefinition)null);
return;
case RdlPackage.PROPERTY_ASSIGNMENT_RHS__ENUMS:
setEnums((EnumBody)null);
return;
case RdlPackage.PROPERTY_ASSIGNMENT_RHS__ELEMENTS:
setElements((Concat)null);
return;
}
super.eUnset(featureID);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public boolean eIsSet(int featureID)
{
switch (featureID)
{
case RdlPackage.PROPERTY_ASSIGNMENT_RHS__VALUE:
return value != null;
case RdlPackage.PROPERTY_ASSIGNMENT_RHS__INST_PROP_REF:
return instPropRef != null;
case RdlPackage.PROPERTY_ASSIGNMENT_RHS__ENUM_REF:
return enumRef != null;
case RdlPackage.PROPERTY_ASSIGNMENT_RHS__ENUMS:
return enums != null;
case RdlPackage.PROPERTY_ASSIGNMENT_RHS__ELEMENTS:
return elements != null;
}
return super.eIsSet(featureID);
}
} //PropertyAssignmentRhsImpl

View File

@ -0,0 +1,234 @@
/**
* generated by Xtext 2.12.0
*/
package com.minres.rdl.rdl.impl;
import com.minres.rdl.rdl.PropertyDefault;
import com.minres.rdl.rdl.RdlPackage;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.impl.ENotificationImpl;
import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
/**
* <!-- begin-user-doc -->
* An implementation of the model object '<em><b>Property Default</b></em>'.
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
* </p>
* <ul>
* <li>{@link com.minres.rdl.rdl.impl.PropertyDefaultImpl#getString <em>String</em>}</li>
* <li>{@link com.minres.rdl.rdl.impl.PropertyDefaultImpl#getValue <em>Value</em>}</li>
* </ul>
*
* @generated
*/
public class PropertyDefaultImpl extends MinimalEObjectImpl.Container implements PropertyDefault
{
/**
* The default value of the '{@link #getString() <em>String</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getString()
* @generated
* @ordered
*/
protected static final String STRING_EDEFAULT = null;
/**
* The cached value of the '{@link #getString() <em>String</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getString()
* @generated
* @ordered
*/
protected String string = STRING_EDEFAULT;
/**
* 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 PropertyDefaultImpl()
{
super();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
protected EClass eStaticClass()
{
return RdlPackage.Literals.PROPERTY_DEFAULT;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public String getString()
{
return string;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setString(String newString)
{
String oldString = string;
string = newString;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, RdlPackage.PROPERTY_DEFAULT__STRING, oldString, string));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public Object getValue()
{
return value;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setValue(Object newValue)
{
Object oldValue = value;
value = newValue;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, RdlPackage.PROPERTY_DEFAULT__VALUE, oldValue, value));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Object eGet(int featureID, boolean resolve, boolean coreType)
{
switch (featureID)
{
case RdlPackage.PROPERTY_DEFAULT__STRING:
return getString();
case RdlPackage.PROPERTY_DEFAULT__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.PROPERTY_DEFAULT__STRING:
setString((String)newValue);
return;
case RdlPackage.PROPERTY_DEFAULT__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.PROPERTY_DEFAULT__STRING:
setString(STRING_EDEFAULT);
return;
case RdlPackage.PROPERTY_DEFAULT__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.PROPERTY_DEFAULT__STRING:
return STRING_EDEFAULT == null ? string != null : !STRING_EDEFAULT.equals(string);
case RdlPackage.PROPERTY_DEFAULT__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();
StringBuffer result = new StringBuffer(super.toString());
result.append(" (string: ");
result.append(string);
result.append(", value: ");
result.append(value);
result.append(')');
return result.toString();
}
} //PropertyDefaultImpl

View File

@ -0,0 +1,338 @@
/**
* generated by Xtext 2.12.0
*/
package com.minres.rdl.rdl.impl;
import com.minres.rdl.rdl.PropertyDefault;
import com.minres.rdl.rdl.PropertyDefinition;
import com.minres.rdl.rdl.PropertyTypeName;
import com.minres.rdl.rdl.PropertyUsage;
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>Property Definition</b></em>'.
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
* </p>
* <ul>
* <li>{@link com.minres.rdl.rdl.impl.PropertyDefinitionImpl#getType <em>Type</em>}</li>
* <li>{@link com.minres.rdl.rdl.impl.PropertyDefinitionImpl#getUsage <em>Usage</em>}</li>
* <li>{@link com.minres.rdl.rdl.impl.PropertyDefinitionImpl#getDefault <em>Default</em>}</li>
* </ul>
*
* @generated
*/
public class PropertyDefinitionImpl extends EntityImpl implements PropertyDefinition
{
/**
* The default value of the '{@link #getType() <em>Type</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getType()
* @generated
* @ordered
*/
protected static final PropertyTypeName TYPE_EDEFAULT = PropertyTypeName.STRING;
/**
* The cached value of the '{@link #getType() <em>Type</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getType()
* @generated
* @ordered
*/
protected PropertyTypeName type = TYPE_EDEFAULT;
/**
* The cached value of the '{@link #getUsage() <em>Usage</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getUsage()
* @generated
* @ordered
*/
protected PropertyUsage usage;
/**
* The cached value of the '{@link #getDefault() <em>Default</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getDefault()
* @generated
* @ordered
*/
protected PropertyDefault default_;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected PropertyDefinitionImpl()
{
super();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
protected EClass eStaticClass()
{
return RdlPackage.Literals.PROPERTY_DEFINITION;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public PropertyTypeName getType()
{
return type;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setType(PropertyTypeName newType)
{
PropertyTypeName oldType = type;
type = newType == null ? TYPE_EDEFAULT : newType;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, RdlPackage.PROPERTY_DEFINITION__TYPE, oldType, type));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public PropertyUsage getUsage()
{
return usage;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public NotificationChain basicSetUsage(PropertyUsage newUsage, NotificationChain msgs)
{
PropertyUsage oldUsage = usage;
usage = newUsage;
if (eNotificationRequired())
{
ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, RdlPackage.PROPERTY_DEFINITION__USAGE, oldUsage, newUsage);
if (msgs == null) msgs = notification; else msgs.add(notification);
}
return msgs;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setUsage(PropertyUsage newUsage)
{
if (newUsage != usage)
{
NotificationChain msgs = null;
if (usage != null)
msgs = ((InternalEObject)usage).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - RdlPackage.PROPERTY_DEFINITION__USAGE, null, msgs);
if (newUsage != null)
msgs = ((InternalEObject)newUsage).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - RdlPackage.PROPERTY_DEFINITION__USAGE, null, msgs);
msgs = basicSetUsage(newUsage, msgs);
if (msgs != null) msgs.dispatch();
}
else if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, RdlPackage.PROPERTY_DEFINITION__USAGE, newUsage, newUsage));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public PropertyDefault getDefault()
{
return default_;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public NotificationChain basicSetDefault(PropertyDefault newDefault, NotificationChain msgs)
{
PropertyDefault oldDefault = default_;
default_ = newDefault;
if (eNotificationRequired())
{
ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, RdlPackage.PROPERTY_DEFINITION__DEFAULT, oldDefault, newDefault);
if (msgs == null) msgs = notification; else msgs.add(notification);
}
return msgs;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setDefault(PropertyDefault newDefault)
{
if (newDefault != default_)
{
NotificationChain msgs = null;
if (default_ != null)
msgs = ((InternalEObject)default_).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - RdlPackage.PROPERTY_DEFINITION__DEFAULT, null, msgs);
if (newDefault != null)
msgs = ((InternalEObject)newDefault).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - RdlPackage.PROPERTY_DEFINITION__DEFAULT, null, msgs);
msgs = basicSetDefault(newDefault, msgs);
if (msgs != null) msgs.dispatch();
}
else if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, RdlPackage.PROPERTY_DEFINITION__DEFAULT, newDefault, newDefault));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
{
switch (featureID)
{
case RdlPackage.PROPERTY_DEFINITION__USAGE:
return basicSetUsage(null, msgs);
case RdlPackage.PROPERTY_DEFINITION__DEFAULT:
return basicSetDefault(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.PROPERTY_DEFINITION__TYPE:
return getType();
case RdlPackage.PROPERTY_DEFINITION__USAGE:
return getUsage();
case RdlPackage.PROPERTY_DEFINITION__DEFAULT:
return getDefault();
}
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.PROPERTY_DEFINITION__TYPE:
setType((PropertyTypeName)newValue);
return;
case RdlPackage.PROPERTY_DEFINITION__USAGE:
setUsage((PropertyUsage)newValue);
return;
case RdlPackage.PROPERTY_DEFINITION__DEFAULT:
setDefault((PropertyDefault)newValue);
return;
}
super.eSet(featureID, newValue);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public void eUnset(int featureID)
{
switch (featureID)
{
case RdlPackage.PROPERTY_DEFINITION__TYPE:
setType(TYPE_EDEFAULT);
return;
case RdlPackage.PROPERTY_DEFINITION__USAGE:
setUsage((PropertyUsage)null);
return;
case RdlPackage.PROPERTY_DEFINITION__DEFAULT:
setDefault((PropertyDefault)null);
return;
}
super.eUnset(featureID);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public boolean eIsSet(int featureID)
{
switch (featureID)
{
case RdlPackage.PROPERTY_DEFINITION__TYPE:
return type != TYPE_EDEFAULT;
case RdlPackage.PROPERTY_DEFINITION__USAGE:
return usage != null;
case RdlPackage.PROPERTY_DEFINITION__DEFAULT:
return default_ != null;
}
return super.eIsSet(featureID);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public String toString()
{
if (eIsProxy()) return super.toString();
StringBuffer result = new StringBuffer(super.toString());
result.append(" (type: ");
result.append(type);
result.append(')');
return result.toString();
}
} //PropertyDefinitionImpl

View File

@ -0,0 +1,165 @@
/**
* generated by Xtext 2.12.0
*/
package com.minres.rdl.rdl.impl;
import com.minres.rdl.rdl.PropertyComponent;
import com.minres.rdl.rdl.PropertyUsage;
import com.minres.rdl.rdl.RdlPackage;
import java.util.Collection;
import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
import org.eclipse.emf.ecore.util.EDataTypeEList;
/**
* <!-- begin-user-doc -->
* An implementation of the model object '<em><b>Property Usage</b></em>'.
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
* </p>
* <ul>
* <li>{@link com.minres.rdl.rdl.impl.PropertyUsageImpl#getComponents <em>Components</em>}</li>
* </ul>
*
* @generated
*/
public class PropertyUsageImpl extends MinimalEObjectImpl.Container implements PropertyUsage
{
/**
* The cached value of the '{@link #getComponents() <em>Components</em>}' attribute list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getComponents()
* @generated
* @ordered
*/
protected EList<PropertyComponent> components;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected PropertyUsageImpl()
{
super();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
protected EClass eStaticClass()
{
return RdlPackage.Literals.PROPERTY_USAGE;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EList<PropertyComponent> getComponents()
{
if (components == null)
{
components = new EDataTypeEList<PropertyComponent>(PropertyComponent.class, this, RdlPackage.PROPERTY_USAGE__COMPONENTS);
}
return components;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Object eGet(int featureID, boolean resolve, boolean coreType)
{
switch (featureID)
{
case RdlPackage.PROPERTY_USAGE__COMPONENTS:
return getComponents();
}
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.PROPERTY_USAGE__COMPONENTS:
getComponents().clear();
getComponents().addAll((Collection<? extends PropertyComponent>)newValue);
return;
}
super.eSet(featureID, newValue);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public void eUnset(int featureID)
{
switch (featureID)
{
case RdlPackage.PROPERTY_USAGE__COMPONENTS:
getComponents().clear();
return;
}
super.eUnset(featureID);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public boolean eIsSet(int featureID)
{
switch (featureID)
{
case RdlPackage.PROPERTY_USAGE__COMPONENTS:
return components != null && !components.isEmpty();
}
return super.eIsSet(featureID);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public String toString()
{
if (eIsProxy()) return super.toString();
StringBuffer result = new StringBuffer(super.toString());
result.append(" (components: ");
result.append(components);
result.append(')');
return result.toString();
}
} //PropertyUsageImpl

View File

@ -0,0 +1,291 @@
/**
* generated by Xtext 2.12.0
*/
package com.minres.rdl.rdl.impl;
import com.minres.rdl.rdl.RValue;
import com.minres.rdl.rdl.RValueConstant;
import com.minres.rdl.rdl.RdlPackage;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.impl.ENotificationImpl;
import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
/**
* <!-- begin-user-doc -->
* An implementation of the model object '<em><b>RValue</b></em>'.
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
* </p>
* <ul>
* <li>{@link com.minres.rdl.rdl.impl.RValueImpl#getVal <em>Val</em>}</li>
* <li>{@link com.minres.rdl.rdl.impl.RValueImpl#getNum <em>Num</em>}</li>
* <li>{@link com.minres.rdl.rdl.impl.RValueImpl#getStr <em>Str</em>}</li>
* </ul>
*
* @generated
*/
public class RValueImpl extends MinimalEObjectImpl.Container implements RValue
{
/**
* The default value of the '{@link #getVal() <em>Val</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getVal()
* @generated
* @ordered
*/
protected static final RValueConstant VAL_EDEFAULT = RValueConstant.UNDEFINED;
/**
* The cached value of the '{@link #getVal() <em>Val</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getVal()
* @generated
* @ordered
*/
protected RValueConstant val = VAL_EDEFAULT;
/**
* The default value of the '{@link #getNum() <em>Num</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getNum()
* @generated
* @ordered
*/
protected static final Object NUM_EDEFAULT = null;
/**
* The cached value of the '{@link #getNum() <em>Num</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getNum()
* @generated
* @ordered
*/
protected Object num = NUM_EDEFAULT;
/**
* The default value of the '{@link #getStr() <em>Str</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getStr()
* @generated
* @ordered
*/
protected static final String STR_EDEFAULT = null;
/**
* The cached value of the '{@link #getStr() <em>Str</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getStr()
* @generated
* @ordered
*/
protected String str = STR_EDEFAULT;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected RValueImpl()
{
super();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
protected EClass eStaticClass()
{
return RdlPackage.Literals.RVALUE;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public RValueConstant getVal()
{
return val;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setVal(RValueConstant newVal)
{
RValueConstant oldVal = val;
val = newVal == null ? VAL_EDEFAULT : newVal;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, RdlPackage.RVALUE__VAL, oldVal, val));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public Object getNum()
{
return num;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setNum(Object newNum)
{
Object oldNum = num;
num = newNum;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, RdlPackage.RVALUE__NUM, oldNum, num));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public String getStr()
{
return str;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setStr(String newStr)
{
String oldStr = str;
str = newStr;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, RdlPackage.RVALUE__STR, oldStr, str));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Object eGet(int featureID, boolean resolve, boolean coreType)
{
switch (featureID)
{
case RdlPackage.RVALUE__VAL:
return getVal();
case RdlPackage.RVALUE__NUM:
return getNum();
case RdlPackage.RVALUE__STR:
return getStr();
}
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.RVALUE__VAL:
setVal((RValueConstant)newValue);
return;
case RdlPackage.RVALUE__NUM:
setNum(newValue);
return;
case RdlPackage.RVALUE__STR:
setStr((String)newValue);
return;
}
super.eSet(featureID, newValue);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public void eUnset(int featureID)
{
switch (featureID)
{
case RdlPackage.RVALUE__VAL:
setVal(VAL_EDEFAULT);
return;
case RdlPackage.RVALUE__NUM:
setNum(NUM_EDEFAULT);
return;
case RdlPackage.RVALUE__STR:
setStr(STR_EDEFAULT);
return;
}
super.eUnset(featureID);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public boolean eIsSet(int featureID)
{
switch (featureID)
{
case RdlPackage.RVALUE__VAL:
return val != VAL_EDEFAULT;
case RdlPackage.RVALUE__NUM:
return NUM_EDEFAULT == null ? num != null : !NUM_EDEFAULT.equals(num);
case RdlPackage.RVALUE__STR:
return STR_EDEFAULT == null ? str != null : !STR_EDEFAULT.equals(str);
}
return super.eIsSet(featureID);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public String toString()
{
if (eIsProxy()) return super.toString();
StringBuffer result = new StringBuffer(super.toString());
result.append(" (val: ");
result.append(val);
result.append(", num: ");
result.append(num);
result.append(", str: ");
result.append(str);
result.append(')');
return result.toString();
}
} //RValueImpl

View File

@ -0,0 +1,290 @@
/**
* generated by Xtext 2.12.0
*/
package com.minres.rdl.rdl.impl;
import com.minres.rdl.rdl.Range;
import com.minres.rdl.rdl.RdlPackage;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.impl.ENotificationImpl;
import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
/**
* <!-- begin-user-doc -->
* An implementation of the model object '<em><b>Range</b></em>'.
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
* </p>
* <ul>
* <li>{@link com.minres.rdl.rdl.impl.RangeImpl#getStart <em>Start</em>}</li>
* <li>{@link com.minres.rdl.rdl.impl.RangeImpl#getEnd <em>End</em>}</li>
* <li>{@link com.minres.rdl.rdl.impl.RangeImpl#getSize <em>Size</em>}</li>
* </ul>
*
* @generated
*/
public class RangeImpl extends MinimalEObjectImpl.Container implements Range
{
/**
* The default value of the '{@link #getStart() <em>Start</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getStart()
* @generated
* @ordered
*/
protected static final Object START_EDEFAULT = null;
/**
* The cached value of the '{@link #getStart() <em>Start</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getStart()
* @generated
* @ordered
*/
protected Object start = START_EDEFAULT;
/**
* The default value of the '{@link #getEnd() <em>End</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getEnd()
* @generated
* @ordered
*/
protected static final Object END_EDEFAULT = null;
/**
* The cached value of the '{@link #getEnd() <em>End</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getEnd()
* @generated
* @ordered
*/
protected Object end = END_EDEFAULT;
/**
* The default value of the '{@link #getSize() <em>Size</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getSize()
* @generated
* @ordered
*/
protected static final Object SIZE_EDEFAULT = null;
/**
* The cached value of the '{@link #getSize() <em>Size</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getSize()
* @generated
* @ordered
*/
protected Object size = SIZE_EDEFAULT;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected RangeImpl()
{
super();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
protected EClass eStaticClass()
{
return RdlPackage.Literals.RANGE;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public Object getStart()
{
return start;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setStart(Object newStart)
{
Object oldStart = start;
start = newStart;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, RdlPackage.RANGE__START, oldStart, start));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public Object getEnd()
{
return end;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setEnd(Object newEnd)
{
Object oldEnd = end;
end = newEnd;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, RdlPackage.RANGE__END, oldEnd, end));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public Object getSize()
{
return size;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setSize(Object newSize)
{
Object oldSize = size;
size = newSize;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, RdlPackage.RANGE__SIZE, oldSize, size));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Object eGet(int featureID, boolean resolve, boolean coreType)
{
switch (featureID)
{
case RdlPackage.RANGE__START:
return getStart();
case RdlPackage.RANGE__END:
return getEnd();
case RdlPackage.RANGE__SIZE:
return getSize();
}
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.RANGE__START:
setStart(newValue);
return;
case RdlPackage.RANGE__END:
setEnd(newValue);
return;
case RdlPackage.RANGE__SIZE:
setSize(newValue);
return;
}
super.eSet(featureID, newValue);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public void eUnset(int featureID)
{
switch (featureID)
{
case RdlPackage.RANGE__START:
setStart(START_EDEFAULT);
return;
case RdlPackage.RANGE__END:
setEnd(END_EDEFAULT);
return;
case RdlPackage.RANGE__SIZE:
setSize(SIZE_EDEFAULT);
return;
}
super.eUnset(featureID);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public boolean eIsSet(int featureID)
{
switch (featureID)
{
case RdlPackage.RANGE__START:
return START_EDEFAULT == null ? start != null : !START_EDEFAULT.equals(start);
case RdlPackage.RANGE__END:
return END_EDEFAULT == null ? end != null : !END_EDEFAULT.equals(end);
case RdlPackage.RANGE__SIZE:
return SIZE_EDEFAULT == null ? size != null : !SIZE_EDEFAULT.equals(size);
}
return super.eIsSet(featureID);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public String toString()
{
if (eIsProxy()) return super.toString();
StringBuffer result = new StringBuffer(super.toString());
result.append(" (start: ");
result.append(start);
result.append(", end: ");
result.append(end);
result.append(", size: ");
result.append(size);
result.append(')');
return result.toString();
}
} //RangeImpl

View File

@ -0,0 +1,582 @@
/**
* generated by Xtext 2.12.0
*/
package com.minres.rdl.rdl.impl;
import com.minres.rdl.rdl.*;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EDataType;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.impl.EFactoryImpl;
import org.eclipse.emf.ecore.plugin.EcorePlugin;
/**
* <!-- begin-user-doc -->
* An implementation of the model <b>Factory</b>.
* <!-- end-user-doc -->
* @generated
*/
public class RdlFactoryImpl extends EFactoryImpl implements RdlFactory
{
/**
* Creates the default factory implementation.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public static RdlFactory init()
{
try
{
RdlFactory theRdlFactory = (RdlFactory)EPackage.Registry.INSTANCE.getEFactory(RdlPackage.eNS_URI);
if (theRdlFactory != null)
{
return theRdlFactory;
}
}
catch (Exception exception)
{
EcorePlugin.INSTANCE.log(exception);
}
return new RdlFactoryImpl();
}
/**
* Creates an instance of the factory.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public RdlFactoryImpl()
{
super();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EObject create(EClass eClass)
{
switch (eClass.getClassifierID())
{
case RdlPackage.ROOT: return createRoot();
case RdlPackage.INCLUDE: return createInclude();
case RdlPackage.PROPERTY_DEFINITION: return createPropertyDefinition();
case RdlPackage.PROPERTY_DEFAULT: return createPropertyDefault();
case RdlPackage.PROPERTY_USAGE: return createPropertyUsage();
case RdlPackage.COMPONENT_DEFINITION: return createComponentDefinition();
case RdlPackage.NAMED_INSTANTIATION: return createNamedInstantiation();
case RdlPackage.IMMEDIATE_INSTANTIATION: return createImmediateInstantiation();
case RdlPackage.COMPONENT_INSTANCE: return createComponentInstance();
case RdlPackage.RANGE: return createRange();
case RdlPackage.PROPERTY_ASSIGNMENT: return createPropertyAssignment();
case RdlPackage.DEFAULT_PROPERY_ASSIGNMENT: return createDefaultProperyAssignment();
case RdlPackage.EXPLICIT_PROPERTY_ASSIGNMENT: return createExplicitPropertyAssignment();
case RdlPackage.POST_PROPERTY_ASSIGNMENT: return createPostPropertyAssignment();
case RdlPackage.INSTANCE_PROPERTY_REF: return createInstancePropertyRef();
case RdlPackage.ENTITY: return createEntity();
case RdlPackage.INSTANCE_REF: return createInstanceRef();
case RdlPackage.PROPERTY_ASSIGNMENT_RHS: return createPropertyAssignmentRhs();
case RdlPackage.CONCAT: return createConcat();
case RdlPackage.CONCAT_ELEM: return createConcatElem();
case RdlPackage.RVALUE: return createRValue();
case RdlPackage.ENUM_DEFINITION: return createEnumDefinition();
case RdlPackage.ENUM_BODY: return createEnumBody();
case RdlPackage.ENUM_ENTRY: return createEnumEntry();
case RdlPackage.ENUM_PROPERTY: return createEnumProperty();
default:
throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
}
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Object createFromString(EDataType eDataType, String initialValue)
{
switch (eDataType.getClassifierID())
{
case RdlPackage.PROPERTY_TYPE_NAME:
return createPropertyTypeNameFromString(eDataType, initialValue);
case RdlPackage.PROPERTY_COMPONENT:
return createPropertyComponentFromString(eDataType, initialValue);
case RdlPackage.COMPONENT_DEFINITION_TYPE:
return createComponentDefinitionTypeFromString(eDataType, initialValue);
case RdlPackage.PROPERTY_ENUM:
return createPropertyEnumFromString(eDataType, initialValue);
case RdlPackage.RVALUE_CONSTANT:
return createRValueConstantFromString(eDataType, initialValue);
case RdlPackage.PROPERTY_MODIFIER:
return createPropertyModifierFromString(eDataType, initialValue);
default:
throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
}
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public String convertToString(EDataType eDataType, Object instanceValue)
{
switch (eDataType.getClassifierID())
{
case RdlPackage.PROPERTY_TYPE_NAME:
return convertPropertyTypeNameToString(eDataType, instanceValue);
case RdlPackage.PROPERTY_COMPONENT:
return convertPropertyComponentToString(eDataType, instanceValue);
case RdlPackage.COMPONENT_DEFINITION_TYPE:
return convertComponentDefinitionTypeToString(eDataType, instanceValue);
case RdlPackage.PROPERTY_ENUM:
return convertPropertyEnumToString(eDataType, instanceValue);
case RdlPackage.RVALUE_CONSTANT:
return convertRValueConstantToString(eDataType, instanceValue);
case RdlPackage.PROPERTY_MODIFIER:
return convertPropertyModifierToString(eDataType, instanceValue);
default:
throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
}
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public Root createRoot()
{
RootImpl root = new RootImpl();
return root;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public Include createInclude()
{
IncludeImpl include = new IncludeImpl();
return include;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public PropertyDefinition createPropertyDefinition()
{
PropertyDefinitionImpl propertyDefinition = new PropertyDefinitionImpl();
return propertyDefinition;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public PropertyDefault createPropertyDefault()
{
PropertyDefaultImpl propertyDefault = new PropertyDefaultImpl();
return propertyDefault;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public PropertyUsage createPropertyUsage()
{
PropertyUsageImpl propertyUsage = new PropertyUsageImpl();
return propertyUsage;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public ComponentDefinition createComponentDefinition()
{
ComponentDefinitionImpl componentDefinition = new ComponentDefinitionImpl();
return componentDefinition;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public NamedInstantiation createNamedInstantiation()
{
NamedInstantiationImpl namedInstantiation = new NamedInstantiationImpl();
return namedInstantiation;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public ImmediateInstantiation createImmediateInstantiation()
{
ImmediateInstantiationImpl immediateInstantiation = new ImmediateInstantiationImpl();
return immediateInstantiation;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public ComponentInstance createComponentInstance()
{
ComponentInstanceImpl componentInstance = new ComponentInstanceImpl();
return componentInstance;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public Range createRange()
{
RangeImpl range = new RangeImpl();
return range;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public PropertyAssignment createPropertyAssignment()
{
PropertyAssignmentImpl propertyAssignment = new PropertyAssignmentImpl();
return propertyAssignment;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public DefaultProperyAssignment createDefaultProperyAssignment()
{
DefaultProperyAssignmentImpl defaultProperyAssignment = new DefaultProperyAssignmentImpl();
return defaultProperyAssignment;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public ExplicitPropertyAssignment createExplicitPropertyAssignment()
{
ExplicitPropertyAssignmentImpl explicitPropertyAssignment = new ExplicitPropertyAssignmentImpl();
return explicitPropertyAssignment;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public PostPropertyAssignment createPostPropertyAssignment()
{
PostPropertyAssignmentImpl postPropertyAssignment = new PostPropertyAssignmentImpl();
return postPropertyAssignment;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public InstancePropertyRef createInstancePropertyRef()
{
InstancePropertyRefImpl instancePropertyRef = new InstancePropertyRefImpl();
return instancePropertyRef;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public Entity createEntity()
{
EntityImpl entity = new EntityImpl();
return entity;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public InstanceRef createInstanceRef()
{
InstanceRefImpl instanceRef = new InstanceRefImpl();
return instanceRef;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public PropertyAssignmentRhs createPropertyAssignmentRhs()
{
PropertyAssignmentRhsImpl propertyAssignmentRhs = new PropertyAssignmentRhsImpl();
return propertyAssignmentRhs;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public Concat createConcat()
{
ConcatImpl concat = new ConcatImpl();
return concat;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public ConcatElem createConcatElem()
{
ConcatElemImpl concatElem = new ConcatElemImpl();
return concatElem;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public RValue createRValue()
{
RValueImpl rValue = new RValueImpl();
return rValue;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EnumDefinition createEnumDefinition()
{
EnumDefinitionImpl enumDefinition = new EnumDefinitionImpl();
return enumDefinition;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EnumBody createEnumBody()
{
EnumBodyImpl enumBody = new EnumBodyImpl();
return enumBody;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EnumEntry createEnumEntry()
{
EnumEntryImpl enumEntry = new EnumEntryImpl();
return enumEntry;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EnumProperty createEnumProperty()
{
EnumPropertyImpl enumProperty = new EnumPropertyImpl();
return enumProperty;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public PropertyTypeName createPropertyTypeNameFromString(EDataType eDataType, String initialValue)
{
PropertyTypeName result = PropertyTypeName.get(initialValue);
if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
return result;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public String convertPropertyTypeNameToString(EDataType eDataType, Object instanceValue)
{
return instanceValue == null ? null : instanceValue.toString();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public PropertyComponent createPropertyComponentFromString(EDataType eDataType, String initialValue)
{
PropertyComponent result = PropertyComponent.get(initialValue);
if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
return result;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public String convertPropertyComponentToString(EDataType eDataType, Object instanceValue)
{
return instanceValue == null ? null : instanceValue.toString();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public ComponentDefinitionType createComponentDefinitionTypeFromString(EDataType eDataType, String initialValue)
{
ComponentDefinitionType result = ComponentDefinitionType.get(initialValue);
if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
return result;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public String convertComponentDefinitionTypeToString(EDataType eDataType, Object instanceValue)
{
return instanceValue == null ? null : instanceValue.toString();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public PropertyEnum createPropertyEnumFromString(EDataType eDataType, String initialValue)
{
PropertyEnum result = PropertyEnum.get(initialValue);
if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
return result;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public String convertPropertyEnumToString(EDataType eDataType, Object instanceValue)
{
return instanceValue == null ? null : instanceValue.toString();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public RValueConstant createRValueConstantFromString(EDataType eDataType, String initialValue)
{
RValueConstant result = RValueConstant.get(initialValue);
if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
return result;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public String convertRValueConstantToString(EDataType eDataType, Object instanceValue)
{
return instanceValue == null ? null : instanceValue.toString();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public PropertyModifier createPropertyModifierFromString(EDataType eDataType, String initialValue)
{
PropertyModifier result = PropertyModifier.get(initialValue);
if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
return result;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public String convertPropertyModifierToString(EDataType eDataType, Object instanceValue)
{
return instanceValue == null ? null : instanceValue.toString();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public RdlPackage getRdlPackage()
{
return (RdlPackage)getEPackage();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @deprecated
* @generated
*/
@Deprecated
public static RdlPackage getPackage()
{
return RdlPackage.eINSTANCE;
}
} //RdlFactoryImpl

View File

@ -0,0 +1,363 @@
/**
* generated by Xtext 2.12.0
*/
package com.minres.rdl.rdl.impl;
import com.minres.rdl.rdl.ComponentDefinition;
import com.minres.rdl.rdl.EnumDefinition;
import com.minres.rdl.rdl.Include;
import com.minres.rdl.rdl.NamedInstantiation;
import com.minres.rdl.rdl.PropertyAssignment;
import com.minres.rdl.rdl.PropertyDefinition;
import com.minres.rdl.rdl.RdlPackage;
import com.minres.rdl.rdl.Root;
import java.util.Collection;
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.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>Root</b></em>'.
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
* </p>
* <ul>
* <li>{@link com.minres.rdl.rdl.impl.RootImpl#getIncludes <em>Includes</em>}</li>
* <li>{@link com.minres.rdl.rdl.impl.RootImpl#getComponentDefinitions <em>Component Definitions</em>}</li>
* <li>{@link com.minres.rdl.rdl.impl.RootImpl#getEnumDefinitions <em>Enum Definitions</em>}</li>
* <li>{@link com.minres.rdl.rdl.impl.RootImpl#getNamedInstantiations <em>Named Instantiations</em>}</li>
* <li>{@link com.minres.rdl.rdl.impl.RootImpl#getPropertyAssignments <em>Property Assignments</em>}</li>
* <li>{@link com.minres.rdl.rdl.impl.RootImpl#getPropertyDefinitions <em>Property Definitions</em>}</li>
* </ul>
*
* @generated
*/
public class RootImpl extends MinimalEObjectImpl.Container implements Root
{
/**
* The cached value of the '{@link #getIncludes() <em>Includes</em>}' containment reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getIncludes()
* @generated
* @ordered
*/
protected EList<Include> includes;
/**
* 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 #getEnumDefinitions() <em>Enum Definitions</em>}' containment reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getEnumDefinitions()
* @generated
* @ordered
*/
protected EList<EnumDefinition> enumDefinitions;
/**
* The cached value of the '{@link #getNamedInstantiations() <em>Named Instantiations</em>}' containment reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getNamedInstantiations()
* @generated
* @ordered
*/
protected EList<NamedInstantiation> namedInstantiations;
/**
* 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 #getPropertyDefinitions() <em>Property Definitions</em>}' containment reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getPropertyDefinitions()
* @generated
* @ordered
*/
protected EList<PropertyDefinition> propertyDefinitions;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected RootImpl()
{
super();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
protected EClass eStaticClass()
{
return RdlPackage.Literals.ROOT;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EList<Include> getIncludes()
{
if (includes == null)
{
includes = new EObjectContainmentEList<Include>(Include.class, this, RdlPackage.ROOT__INCLUDES);
}
return includes;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EList<ComponentDefinition> getComponentDefinitions()
{
if (componentDefinitions == null)
{
componentDefinitions = new EObjectContainmentEList<ComponentDefinition>(ComponentDefinition.class, this, RdlPackage.ROOT__COMPONENT_DEFINITIONS);
}
return componentDefinitions;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EList<EnumDefinition> getEnumDefinitions()
{
if (enumDefinitions == null)
{
enumDefinitions = new EObjectContainmentEList<EnumDefinition>(EnumDefinition.class, this, RdlPackage.ROOT__ENUM_DEFINITIONS);
}
return enumDefinitions;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EList<NamedInstantiation> getNamedInstantiations()
{
if (namedInstantiations == null)
{
namedInstantiations = new EObjectContainmentEList<NamedInstantiation>(NamedInstantiation.class, this, RdlPackage.ROOT__NAMED_INSTANTIATIONS);
}
return namedInstantiations;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EList<PropertyAssignment> getPropertyAssignments()
{
if (propertyAssignments == null)
{
propertyAssignments = new EObjectContainmentEList<PropertyAssignment>(PropertyAssignment.class, this, RdlPackage.ROOT__PROPERTY_ASSIGNMENTS);
}
return propertyAssignments;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EList<PropertyDefinition> getPropertyDefinitions()
{
if (propertyDefinitions == null)
{
propertyDefinitions = new EObjectContainmentEList<PropertyDefinition>(PropertyDefinition.class, this, RdlPackage.ROOT__PROPERTY_DEFINITIONS);
}
return propertyDefinitions;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
{
switch (featureID)
{
case RdlPackage.ROOT__INCLUDES:
return ((InternalEList<?>)getIncludes()).basicRemove(otherEnd, msgs);
case RdlPackage.ROOT__COMPONENT_DEFINITIONS:
return ((InternalEList<?>)getComponentDefinitions()).basicRemove(otherEnd, msgs);
case RdlPackage.ROOT__ENUM_DEFINITIONS:
return ((InternalEList<?>)getEnumDefinitions()).basicRemove(otherEnd, msgs);
case RdlPackage.ROOT__NAMED_INSTANTIATIONS:
return ((InternalEList<?>)getNamedInstantiations()).basicRemove(otherEnd, msgs);
case RdlPackage.ROOT__PROPERTY_ASSIGNMENTS:
return ((InternalEList<?>)getPropertyAssignments()).basicRemove(otherEnd, msgs);
case RdlPackage.ROOT__PROPERTY_DEFINITIONS:
return ((InternalEList<?>)getPropertyDefinitions()).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.ROOT__INCLUDES:
return getIncludes();
case RdlPackage.ROOT__COMPONENT_DEFINITIONS:
return getComponentDefinitions();
case RdlPackage.ROOT__ENUM_DEFINITIONS:
return getEnumDefinitions();
case RdlPackage.ROOT__NAMED_INSTANTIATIONS:
return getNamedInstantiations();
case RdlPackage.ROOT__PROPERTY_ASSIGNMENTS:
return getPropertyAssignments();
case RdlPackage.ROOT__PROPERTY_DEFINITIONS:
return getPropertyDefinitions();
}
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.ROOT__INCLUDES:
getIncludes().clear();
getIncludes().addAll((Collection<? extends Include>)newValue);
return;
case RdlPackage.ROOT__COMPONENT_DEFINITIONS:
getComponentDefinitions().clear();
getComponentDefinitions().addAll((Collection<? extends ComponentDefinition>)newValue);
return;
case RdlPackage.ROOT__ENUM_DEFINITIONS:
getEnumDefinitions().clear();
getEnumDefinitions().addAll((Collection<? extends EnumDefinition>)newValue);
return;
case RdlPackage.ROOT__NAMED_INSTANTIATIONS:
getNamedInstantiations().clear();
getNamedInstantiations().addAll((Collection<? extends NamedInstantiation>)newValue);
return;
case RdlPackage.ROOT__PROPERTY_ASSIGNMENTS:
getPropertyAssignments().clear();
getPropertyAssignments().addAll((Collection<? extends PropertyAssignment>)newValue);
return;
case RdlPackage.ROOT__PROPERTY_DEFINITIONS:
getPropertyDefinitions().clear();
getPropertyDefinitions().addAll((Collection<? extends PropertyDefinition>)newValue);
return;
}
super.eSet(featureID, newValue);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public void eUnset(int featureID)
{
switch (featureID)
{
case RdlPackage.ROOT__INCLUDES:
getIncludes().clear();
return;
case RdlPackage.ROOT__COMPONENT_DEFINITIONS:
getComponentDefinitions().clear();
return;
case RdlPackage.ROOT__ENUM_DEFINITIONS:
getEnumDefinitions().clear();
return;
case RdlPackage.ROOT__NAMED_INSTANTIATIONS:
getNamedInstantiations().clear();
return;
case RdlPackage.ROOT__PROPERTY_ASSIGNMENTS:
getPropertyAssignments().clear();
return;
case RdlPackage.ROOT__PROPERTY_DEFINITIONS:
getPropertyDefinitions().clear();
return;
}
super.eUnset(featureID);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public boolean eIsSet(int featureID)
{
switch (featureID)
{
case RdlPackage.ROOT__INCLUDES:
return includes != null && !includes.isEmpty();
case RdlPackage.ROOT__COMPONENT_DEFINITIONS:
return componentDefinitions != null && !componentDefinitions.isEmpty();
case RdlPackage.ROOT__ENUM_DEFINITIONS:
return enumDefinitions != null && !enumDefinitions.isEmpty();
case RdlPackage.ROOT__NAMED_INSTANTIATIONS:
return namedInstantiations != null && !namedInstantiations.isEmpty();
case RdlPackage.ROOT__PROPERTY_ASSIGNMENTS:
return propertyAssignments != null && !propertyAssignments.isEmpty();
case RdlPackage.ROOT__PROPERTY_DEFINITIONS:
return propertyDefinitions != null && !propertyDefinitions.isEmpty();
}
return super.eIsSet(featureID);
}
} //RootImpl

View File

@ -0,0 +1,613 @@
/**
* generated by Xtext 2.12.0
*/
package com.minres.rdl.rdl.util;
import com.minres.rdl.rdl.*;
import org.eclipse.emf.common.notify.Adapter;
import org.eclipse.emf.common.notify.Notifier;
import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
import org.eclipse.emf.ecore.EObject;
/**
* <!-- begin-user-doc -->
* The <b>Adapter Factory</b> for the model.
* It provides an adapter <code>createXXX</code> method for each class of the model.
* <!-- end-user-doc -->
* @see com.minres.rdl.rdl.RdlPackage
* @generated
*/
public class RdlAdapterFactory extends AdapterFactoryImpl
{
/**
* The cached model package.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected static RdlPackage modelPackage;
/**
* Creates an instance of the adapter factory.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public RdlAdapterFactory()
{
if (modelPackage == null)
{
modelPackage = RdlPackage.eINSTANCE;
}
}
/**
* Returns whether this factory is applicable for the type of the object.
* <!-- begin-user-doc -->
* This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
* <!-- end-user-doc -->
* @return whether this factory is applicable for the type of the object.
* @generated
*/
@Override
public boolean isFactoryForType(Object object)
{
if (object == modelPackage)
{
return true;
}
if (object instanceof EObject)
{
return ((EObject)object).eClass().getEPackage() == modelPackage;
}
return false;
}
/**
* The switch that delegates to the <code>createXXX</code> methods.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected RdlSwitch<Adapter> modelSwitch =
new RdlSwitch<Adapter>()
{
@Override
public Adapter caseRoot(Root object)
{
return createRootAdapter();
}
@Override
public Adapter caseInclude(Include object)
{
return createIncludeAdapter();
}
@Override
public Adapter casePropertyDefinition(PropertyDefinition object)
{
return createPropertyDefinitionAdapter();
}
@Override
public Adapter casePropertyDefault(PropertyDefault object)
{
return createPropertyDefaultAdapter();
}
@Override
public Adapter casePropertyUsage(PropertyUsage object)
{
return createPropertyUsageAdapter();
}
@Override
public Adapter caseComponentDefinition(ComponentDefinition object)
{
return createComponentDefinitionAdapter();
}
@Override
public Adapter caseNamedInstantiation(NamedInstantiation object)
{
return createNamedInstantiationAdapter();
}
@Override
public Adapter caseImmediateInstantiation(ImmediateInstantiation object)
{
return createImmediateInstantiationAdapter();
}
@Override
public Adapter caseComponentInstance(ComponentInstance object)
{
return createComponentInstanceAdapter();
}
@Override
public Adapter caseRange(Range object)
{
return createRangeAdapter();
}
@Override
public Adapter casePropertyAssignment(PropertyAssignment object)
{
return createPropertyAssignmentAdapter();
}
@Override
public Adapter caseDefaultProperyAssignment(DefaultProperyAssignment object)
{
return createDefaultProperyAssignmentAdapter();
}
@Override
public Adapter caseExplicitPropertyAssignment(ExplicitPropertyAssignment object)
{
return createExplicitPropertyAssignmentAdapter();
}
@Override
public Adapter casePostPropertyAssignment(PostPropertyAssignment object)
{
return createPostPropertyAssignmentAdapter();
}
@Override
public Adapter caseInstancePropertyRef(InstancePropertyRef object)
{
return createInstancePropertyRefAdapter();
}
@Override
public Adapter caseEntity(Entity object)
{
return createEntityAdapter();
}
@Override
public Adapter caseInstanceRef(InstanceRef object)
{
return createInstanceRefAdapter();
}
@Override
public Adapter casePropertyAssignmentRhs(PropertyAssignmentRhs object)
{
return createPropertyAssignmentRhsAdapter();
}
@Override
public Adapter caseConcat(Concat object)
{
return createConcatAdapter();
}
@Override
public Adapter caseConcatElem(ConcatElem object)
{
return createConcatElemAdapter();
}
@Override
public Adapter caseRValue(RValue object)
{
return createRValueAdapter();
}
@Override
public Adapter caseEnumDefinition(EnumDefinition object)
{
return createEnumDefinitionAdapter();
}
@Override
public Adapter caseEnumBody(EnumBody object)
{
return createEnumBodyAdapter();
}
@Override
public Adapter caseEnumEntry(EnumEntry object)
{
return createEnumEntryAdapter();
}
@Override
public Adapter caseEnumProperty(EnumProperty object)
{
return createEnumPropertyAdapter();
}
@Override
public Adapter defaultCase(EObject object)
{
return createEObjectAdapter();
}
};
/**
* Creates an adapter for the <code>target</code>.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param target the object to adapt.
* @return the adapter for the <code>target</code>.
* @generated
*/
@Override
public Adapter createAdapter(Notifier target)
{
return modelSwitch.doSwitch((EObject)target);
}
/**
* Creates a new adapter for an object of class '{@link com.minres.rdl.rdl.Root <em>Root</em>}'.
* <!-- begin-user-doc -->
* This default implementation returns null so that we can easily ignore cases;
* it's useful to ignore a case when inheritance will catch all the cases anyway.
* <!-- end-user-doc -->
* @return the new adapter.
* @see com.minres.rdl.rdl.Root
* @generated
*/
public Adapter createRootAdapter()
{
return null;
}
/**
* Creates a new adapter for an object of class '{@link com.minres.rdl.rdl.Include <em>Include</em>}'.
* <!-- begin-user-doc -->
* This default implementation returns null so that we can easily ignore cases;
* it's useful to ignore a case when inheritance will catch all the cases anyway.
* <!-- end-user-doc -->
* @return the new adapter.
* @see com.minres.rdl.rdl.Include
* @generated
*/
public Adapter createIncludeAdapter()
{
return null;
}
/**
* Creates a new adapter for an object of class '{@link com.minres.rdl.rdl.PropertyDefinition <em>Property Definition</em>}'.
* <!-- begin-user-doc -->
* This default implementation returns null so that we can easily ignore cases;
* it's useful to ignore a case when inheritance will catch all the cases anyway.
* <!-- end-user-doc -->
* @return the new adapter.
* @see com.minres.rdl.rdl.PropertyDefinition
* @generated
*/
public Adapter createPropertyDefinitionAdapter()
{
return null;
}
/**
* Creates a new adapter for an object of class '{@link com.minres.rdl.rdl.PropertyDefault <em>Property Default</em>}'.
* <!-- begin-user-doc -->
* This default implementation returns null so that we can easily ignore cases;
* it's useful to ignore a case when inheritance will catch all the cases anyway.
* <!-- end-user-doc -->
* @return the new adapter.
* @see com.minres.rdl.rdl.PropertyDefault
* @generated
*/
public Adapter createPropertyDefaultAdapter()
{
return null;
}
/**
* Creates a new adapter for an object of class '{@link com.minres.rdl.rdl.PropertyUsage <em>Property Usage</em>}'.
* <!-- begin-user-doc -->
* This default implementation returns null so that we can easily ignore cases;
* it's useful to ignore a case when inheritance will catch all the cases anyway.
* <!-- end-user-doc -->
* @return the new adapter.
* @see com.minres.rdl.rdl.PropertyUsage
* @generated
*/
public Adapter createPropertyUsageAdapter()
{
return null;
}
/**
* Creates a new adapter for an object of class '{@link com.minres.rdl.rdl.ComponentDefinition <em>Component Definition</em>}'.
* <!-- begin-user-doc -->
* This default implementation returns null so that we can easily ignore cases;
* it's useful to ignore a case when inheritance will catch all the cases anyway.
* <!-- end-user-doc -->
* @return the new adapter.
* @see com.minres.rdl.rdl.ComponentDefinition
* @generated
*/
public Adapter createComponentDefinitionAdapter()
{
return null;
}
/**
* Creates a new adapter for an object of class '{@link com.minres.rdl.rdl.NamedInstantiation <em>Named Instantiation</em>}'.
* <!-- begin-user-doc -->
* This default implementation returns null so that we can easily ignore cases;
* it's useful to ignore a case when inheritance will catch all the cases anyway.
* <!-- end-user-doc -->
* @return the new adapter.
* @see com.minres.rdl.rdl.NamedInstantiation
* @generated
*/
public Adapter createNamedInstantiationAdapter()
{
return null;
}
/**
* Creates a new adapter for an object of class '{@link com.minres.rdl.rdl.ImmediateInstantiation <em>Immediate Instantiation</em>}'.
* <!-- begin-user-doc -->
* This default implementation returns null so that we can easily ignore cases;
* it's useful to ignore a case when inheritance will catch all the cases anyway.
* <!-- end-user-doc -->
* @return the new adapter.
* @see com.minres.rdl.rdl.ImmediateInstantiation
* @generated
*/
public Adapter createImmediateInstantiationAdapter()
{
return null;
}
/**
* Creates a new adapter for an object of class '{@link com.minres.rdl.rdl.ComponentInstance <em>Component Instance</em>}'.
* <!-- begin-user-doc -->
* This default implementation returns null so that we can easily ignore cases;
* it's useful to ignore a case when inheritance will catch all the cases anyway.
* <!-- end-user-doc -->
* @return the new adapter.
* @see com.minres.rdl.rdl.ComponentInstance
* @generated
*/
public Adapter createComponentInstanceAdapter()
{
return null;
}
/**
* Creates a new adapter for an object of class '{@link com.minres.rdl.rdl.Range <em>Range</em>}'.
* <!-- begin-user-doc -->
* This default implementation returns null so that we can easily ignore cases;
* it's useful to ignore a case when inheritance will catch all the cases anyway.
* <!-- end-user-doc -->
* @return the new adapter.
* @see com.minres.rdl.rdl.Range
* @generated
*/
public Adapter createRangeAdapter()
{
return null;
}
/**
* Creates a new adapter for an object of class '{@link com.minres.rdl.rdl.PropertyAssignment <em>Property Assignment</em>}'.
* <!-- begin-user-doc -->
* This default implementation returns null so that we can easily ignore cases;
* it's useful to ignore a case when inheritance will catch all the cases anyway.
* <!-- end-user-doc -->
* @return the new adapter.
* @see com.minres.rdl.rdl.PropertyAssignment
* @generated
*/
public Adapter createPropertyAssignmentAdapter()
{
return null;
}
/**
* Creates a new adapter for an object of class '{@link com.minres.rdl.rdl.DefaultProperyAssignment <em>Default Propery Assignment</em>}'.
* <!-- begin-user-doc -->
* This default implementation returns null so that we can easily ignore cases;
* it's useful to ignore a case when inheritance will catch all the cases anyway.
* <!-- end-user-doc -->
* @return the new adapter.
* @see com.minres.rdl.rdl.DefaultProperyAssignment
* @generated
*/
public Adapter createDefaultProperyAssignmentAdapter()
{
return null;
}
/**
* Creates a new adapter for an object of class '{@link com.minres.rdl.rdl.ExplicitPropertyAssignment <em>Explicit Property Assignment</em>}'.
* <!-- begin-user-doc -->
* This default implementation returns null so that we can easily ignore cases;
* it's useful to ignore a case when inheritance will catch all the cases anyway.
* <!-- end-user-doc -->
* @return the new adapter.
* @see com.minres.rdl.rdl.ExplicitPropertyAssignment
* @generated
*/
public Adapter createExplicitPropertyAssignmentAdapter()
{
return null;
}
/**
* Creates a new adapter for an object of class '{@link com.minres.rdl.rdl.PostPropertyAssignment <em>Post Property Assignment</em>}'.
* <!-- begin-user-doc -->
* This default implementation returns null so that we can easily ignore cases;
* it's useful to ignore a case when inheritance will catch all the cases anyway.
* <!-- end-user-doc -->
* @return the new adapter.
* @see com.minres.rdl.rdl.PostPropertyAssignment
* @generated
*/
public Adapter createPostPropertyAssignmentAdapter()
{
return null;
}
/**
* Creates a new adapter for an object of class '{@link com.minres.rdl.rdl.InstancePropertyRef <em>Instance Property Ref</em>}'.
* <!-- begin-user-doc -->
* This default implementation returns null so that we can easily ignore cases;
* it's useful to ignore a case when inheritance will catch all the cases anyway.
* <!-- end-user-doc -->
* @return the new adapter.
* @see com.minres.rdl.rdl.InstancePropertyRef
* @generated
*/
public Adapter createInstancePropertyRefAdapter()
{
return null;
}
/**
* Creates a new adapter for an object of class '{@link com.minres.rdl.rdl.Entity <em>Entity</em>}'.
* <!-- begin-user-doc -->
* This default implementation returns null so that we can easily ignore cases;
* it's useful to ignore a case when inheritance will catch all the cases anyway.
* <!-- end-user-doc -->
* @return the new adapter.
* @see com.minres.rdl.rdl.Entity
* @generated
*/
public Adapter createEntityAdapter()
{
return null;
}
/**
* Creates a new adapter for an object of class '{@link com.minres.rdl.rdl.InstanceRef <em>Instance Ref</em>}'.
* <!-- begin-user-doc -->
* This default implementation returns null so that we can easily ignore cases;
* it's useful to ignore a case when inheritance will catch all the cases anyway.
* <!-- end-user-doc -->
* @return the new adapter.
* @see com.minres.rdl.rdl.InstanceRef
* @generated
*/
public Adapter createInstanceRefAdapter()
{
return null;
}
/**
* Creates a new adapter for an object of class '{@link com.minres.rdl.rdl.PropertyAssignmentRhs <em>Property Assignment Rhs</em>}'.
* <!-- begin-user-doc -->
* This default implementation returns null so that we can easily ignore cases;
* it's useful to ignore a case when inheritance will catch all the cases anyway.
* <!-- end-user-doc -->
* @return the new adapter.
* @see com.minres.rdl.rdl.PropertyAssignmentRhs
* @generated
*/
public Adapter createPropertyAssignmentRhsAdapter()
{
return null;
}
/**
* Creates a new adapter for an object of class '{@link com.minres.rdl.rdl.Concat <em>Concat</em>}'.
* <!-- begin-user-doc -->
* This default implementation returns null so that we can easily ignore cases;
* it's useful to ignore a case when inheritance will catch all the cases anyway.
* <!-- end-user-doc -->
* @return the new adapter.
* @see com.minres.rdl.rdl.Concat
* @generated
*/
public Adapter createConcatAdapter()
{
return null;
}
/**
* Creates a new adapter for an object of class '{@link com.minres.rdl.rdl.ConcatElem <em>Concat Elem</em>}'.
* <!-- begin-user-doc -->
* This default implementation returns null so that we can easily ignore cases;
* it's useful to ignore a case when inheritance will catch all the cases anyway.
* <!-- end-user-doc -->
* @return the new adapter.
* @see com.minres.rdl.rdl.ConcatElem
* @generated
*/
public Adapter createConcatElemAdapter()
{
return null;
}
/**
* Creates a new adapter for an object of class '{@link com.minres.rdl.rdl.RValue <em>RValue</em>}'.
* <!-- begin-user-doc -->
* This default implementation returns null so that we can easily ignore cases;
* it's useful to ignore a case when inheritance will catch all the cases anyway.
* <!-- end-user-doc -->
* @return the new adapter.
* @see com.minres.rdl.rdl.RValue
* @generated
*/
public Adapter createRValueAdapter()
{
return null;
}
/**
* Creates a new adapter for an object of class '{@link com.minres.rdl.rdl.EnumDefinition <em>Enum Definition</em>}'.
* <!-- begin-user-doc -->
* This default implementation returns null so that we can easily ignore cases;
* it's useful to ignore a case when inheritance will catch all the cases anyway.
* <!-- end-user-doc -->
* @return the new adapter.
* @see com.minres.rdl.rdl.EnumDefinition
* @generated
*/
public Adapter createEnumDefinitionAdapter()
{
return null;
}
/**
* Creates a new adapter for an object of class '{@link com.minres.rdl.rdl.EnumBody <em>Enum Body</em>}'.
* <!-- begin-user-doc -->
* This default implementation returns null so that we can easily ignore cases;
* it's useful to ignore a case when inheritance will catch all the cases anyway.
* <!-- end-user-doc -->
* @return the new adapter.
* @see com.minres.rdl.rdl.EnumBody
* @generated
*/
public Adapter createEnumBodyAdapter()
{
return null;
}
/**
* Creates a new adapter for an object of class '{@link com.minres.rdl.rdl.EnumEntry <em>Enum Entry</em>}'.
* <!-- begin-user-doc -->
* This default implementation returns null so that we can easily ignore cases;
* it's useful to ignore a case when inheritance will catch all the cases anyway.
* <!-- end-user-doc -->
* @return the new adapter.
* @see com.minres.rdl.rdl.EnumEntry
* @generated
*/
public Adapter createEnumEntryAdapter()
{
return null;
}
/**
* Creates a new adapter for an object of class '{@link com.minres.rdl.rdl.EnumProperty <em>Enum Property</em>}'.
* <!-- begin-user-doc -->
* This default implementation returns null so that we can easily ignore cases;
* it's useful to ignore a case when inheritance will catch all the cases anyway.
* <!-- end-user-doc -->
* @return the new adapter.
* @see com.minres.rdl.rdl.EnumProperty
* @generated
*/
public Adapter createEnumPropertyAdapter()
{
return null;
}
/**
* Creates a new adapter for the default case.
* <!-- begin-user-doc -->
* This default implementation returns null.
* <!-- end-user-doc -->
* @return the new adapter.
* @generated
*/
public Adapter createEObjectAdapter()
{
return null;
}
} //RdlAdapterFactory

View File

@ -0,0 +1,679 @@
/**
* generated by Xtext 2.12.0
*/
package com.minres.rdl.rdl.util;
import com.minres.rdl.rdl.*;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.util.Switch;
/**
* <!-- begin-user-doc -->
* The <b>Switch</b> for the model's inheritance hierarchy.
* It supports the call {@link #doSwitch(EObject) doSwitch(object)}
* to invoke the <code>caseXXX</code> method for each class of the model,
* starting with the actual class of the object
* and proceeding up the inheritance hierarchy
* until a non-null result is returned,
* which is the result of the switch.
* <!-- end-user-doc -->
* @see com.minres.rdl.rdl.RdlPackage
* @generated
*/
public class RdlSwitch<T> extends Switch<T>
{
/**
* The cached model package
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected static RdlPackage modelPackage;
/**
* Creates an instance of the switch.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public RdlSwitch()
{
if (modelPackage == null)
{
modelPackage = RdlPackage.eINSTANCE;
}
}
/**
* Checks whether this is a switch for the given package.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param ePackage the package in question.
* @return whether this is a switch for the given package.
* @generated
*/
@Override
protected boolean isSwitchFor(EPackage ePackage)
{
return ePackage == modelPackage;
}
/**
* Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the first non-null result returned by a <code>caseXXX</code> call.
* @generated
*/
@Override
protected T doSwitch(int classifierID, EObject theEObject)
{
switch (classifierID)
{
case RdlPackage.ROOT:
{
Root root = (Root)theEObject;
T result = caseRoot(root);
if (result == null) result = defaultCase(theEObject);
return result;
}
case RdlPackage.INCLUDE:
{
Include include = (Include)theEObject;
T result = caseInclude(include);
if (result == null) result = defaultCase(theEObject);
return result;
}
case RdlPackage.PROPERTY_DEFINITION:
{
PropertyDefinition propertyDefinition = (PropertyDefinition)theEObject;
T result = casePropertyDefinition(propertyDefinition);
if (result == null) result = caseEntity(propertyDefinition);
if (result == null) result = defaultCase(theEObject);
return result;
}
case RdlPackage.PROPERTY_DEFAULT:
{
PropertyDefault propertyDefault = (PropertyDefault)theEObject;
T result = casePropertyDefault(propertyDefault);
if (result == null) result = defaultCase(theEObject);
return result;
}
case RdlPackage.PROPERTY_USAGE:
{
PropertyUsage propertyUsage = (PropertyUsage)theEObject;
T result = casePropertyUsage(propertyUsage);
if (result == null) result = defaultCase(theEObject);
return result;
}
case RdlPackage.COMPONENT_DEFINITION:
{
ComponentDefinition componentDefinition = (ComponentDefinition)theEObject;
T result = caseComponentDefinition(componentDefinition);
if (result == null) result = defaultCase(theEObject);
return result;
}
case RdlPackage.NAMED_INSTANTIATION:
{
NamedInstantiation namedInstantiation = (NamedInstantiation)theEObject;
T result = caseNamedInstantiation(namedInstantiation);
if (result == null) result = defaultCase(theEObject);
return result;
}
case RdlPackage.IMMEDIATE_INSTANTIATION:
{
ImmediateInstantiation immediateInstantiation = (ImmediateInstantiation)theEObject;
T result = caseImmediateInstantiation(immediateInstantiation);
if (result == null) result = defaultCase(theEObject);
return result;
}
case RdlPackage.COMPONENT_INSTANCE:
{
ComponentInstance componentInstance = (ComponentInstance)theEObject;
T result = caseComponentInstance(componentInstance);
if (result == null) result = caseEntity(componentInstance);
if (result == null) result = defaultCase(theEObject);
return result;
}
case RdlPackage.RANGE:
{
Range range = (Range)theEObject;
T result = caseRange(range);
if (result == null) result = defaultCase(theEObject);
return result;
}
case RdlPackage.PROPERTY_ASSIGNMENT:
{
PropertyAssignment propertyAssignment = (PropertyAssignment)theEObject;
T result = casePropertyAssignment(propertyAssignment);
if (result == null) result = defaultCase(theEObject);
return result;
}
case RdlPackage.DEFAULT_PROPERY_ASSIGNMENT:
{
DefaultProperyAssignment defaultProperyAssignment = (DefaultProperyAssignment)theEObject;
T result = caseDefaultProperyAssignment(defaultProperyAssignment);
if (result == null) result = casePropertyAssignment(defaultProperyAssignment);
if (result == null) result = defaultCase(theEObject);
return result;
}
case RdlPackage.EXPLICIT_PROPERTY_ASSIGNMENT:
{
ExplicitPropertyAssignment explicitPropertyAssignment = (ExplicitPropertyAssignment)theEObject;
T result = caseExplicitPropertyAssignment(explicitPropertyAssignment);
if (result == null) result = caseDefaultProperyAssignment(explicitPropertyAssignment);
if (result == null) result = casePropertyAssignment(explicitPropertyAssignment);
if (result == null) result = defaultCase(theEObject);
return result;
}
case RdlPackage.POST_PROPERTY_ASSIGNMENT:
{
PostPropertyAssignment postPropertyAssignment = (PostPropertyAssignment)theEObject;
T result = casePostPropertyAssignment(postPropertyAssignment);
if (result == null) result = casePropertyAssignment(postPropertyAssignment);
if (result == null) result = defaultCase(theEObject);
return result;
}
case RdlPackage.INSTANCE_PROPERTY_REF:
{
InstancePropertyRef instancePropertyRef = (InstancePropertyRef)theEObject;
T result = caseInstancePropertyRef(instancePropertyRef);
if (result == null) result = defaultCase(theEObject);
return result;
}
case RdlPackage.ENTITY:
{
Entity entity = (Entity)theEObject;
T result = caseEntity(entity);
if (result == null) result = defaultCase(theEObject);
return result;
}
case RdlPackage.INSTANCE_REF:
{
InstanceRef instanceRef = (InstanceRef)theEObject;
T result = caseInstanceRef(instanceRef);
if (result == null) result = defaultCase(theEObject);
return result;
}
case RdlPackage.PROPERTY_ASSIGNMENT_RHS:
{
PropertyAssignmentRhs propertyAssignmentRhs = (PropertyAssignmentRhs)theEObject;
T result = casePropertyAssignmentRhs(propertyAssignmentRhs);
if (result == null) result = defaultCase(theEObject);
return result;
}
case RdlPackage.CONCAT:
{
Concat concat = (Concat)theEObject;
T result = caseConcat(concat);
if (result == null) result = defaultCase(theEObject);
return result;
}
case RdlPackage.CONCAT_ELEM:
{
ConcatElem concatElem = (ConcatElem)theEObject;
T result = caseConcatElem(concatElem);
if (result == null) result = defaultCase(theEObject);
return result;
}
case RdlPackage.RVALUE:
{
RValue rValue = (RValue)theEObject;
T result = caseRValue(rValue);
if (result == null) result = defaultCase(theEObject);
return result;
}
case RdlPackage.ENUM_DEFINITION:
{
EnumDefinition enumDefinition = (EnumDefinition)theEObject;
T result = caseEnumDefinition(enumDefinition);
if (result == null) result = caseEntity(enumDefinition);
if (result == null) result = defaultCase(theEObject);
return result;
}
case RdlPackage.ENUM_BODY:
{
EnumBody enumBody = (EnumBody)theEObject;
T result = caseEnumBody(enumBody);
if (result == null) result = defaultCase(theEObject);
return result;
}
case RdlPackage.ENUM_ENTRY:
{
EnumEntry enumEntry = (EnumEntry)theEObject;
T result = caseEnumEntry(enumEntry);
if (result == null) result = defaultCase(theEObject);
return result;
}
case RdlPackage.ENUM_PROPERTY:
{
EnumProperty enumProperty = (EnumProperty)theEObject;
T result = caseEnumProperty(enumProperty);
if (result == null) result = defaultCase(theEObject);
return result;
}
default: return defaultCase(theEObject);
}
}
/**
* Returns the result of interpreting the object as an instance of '<em>Root</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
* returning a non-null result will terminate the switch.
* <!-- end-user-doc -->
* @param object the target of the switch.
* @return the result of interpreting the object as an instance of '<em>Root</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
public T caseRoot(Root object)
{
return null;
}
/**
* Returns the result of interpreting the object as an instance of '<em>Include</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
* returning a non-null result will terminate the switch.
* <!-- end-user-doc -->
* @param object the target of the switch.
* @return the result of interpreting the object as an instance of '<em>Include</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
public T caseInclude(Include object)
{
return null;
}
/**
* Returns the result of interpreting the object as an instance of '<em>Property Definition</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
* returning a non-null result will terminate the switch.
* <!-- end-user-doc -->
* @param object the target of the switch.
* @return the result of interpreting the object as an instance of '<em>Property Definition</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
public T casePropertyDefinition(PropertyDefinition object)
{
return null;
}
/**
* Returns the result of interpreting the object as an instance of '<em>Property Default</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
* returning a non-null result will terminate the switch.
* <!-- end-user-doc -->
* @param object the target of the switch.
* @return the result of interpreting the object as an instance of '<em>Property Default</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
public T casePropertyDefault(PropertyDefault object)
{
return null;
}
/**
* Returns the result of interpreting the object as an instance of '<em>Property Usage</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
* returning a non-null result will terminate the switch.
* <!-- end-user-doc -->
* @param object the target of the switch.
* @return the result of interpreting the object as an instance of '<em>Property Usage</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
public T casePropertyUsage(PropertyUsage object)
{
return null;
}
/**
* Returns the result of interpreting the object as an instance of '<em>Component Definition</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
* returning a non-null result will terminate the switch.
* <!-- end-user-doc -->
* @param object the target of the switch.
* @return the result of interpreting the object as an instance of '<em>Component Definition</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
public T caseComponentDefinition(ComponentDefinition object)
{
return null;
}
/**
* Returns the result of interpreting the object as an instance of '<em>Named Instantiation</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
* returning a non-null result will terminate the switch.
* <!-- end-user-doc -->
* @param object the target of the switch.
* @return the result of interpreting the object as an instance of '<em>Named Instantiation</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
public T caseNamedInstantiation(NamedInstantiation object)
{
return null;
}
/**
* Returns the result of interpreting the object as an instance of '<em>Immediate Instantiation</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
* returning a non-null result will terminate the switch.
* <!-- end-user-doc -->
* @param object the target of the switch.
* @return the result of interpreting the object as an instance of '<em>Immediate Instantiation</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
public T caseImmediateInstantiation(ImmediateInstantiation object)
{
return null;
}
/**
* Returns the result of interpreting the object as an instance of '<em>Component Instance</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
* returning a non-null result will terminate the switch.
* <!-- end-user-doc -->
* @param object the target of the switch.
* @return the result of interpreting the object as an instance of '<em>Component Instance</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
public T caseComponentInstance(ComponentInstance object)
{
return null;
}
/**
* Returns the result of interpreting the object as an instance of '<em>Range</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
* returning a non-null result will terminate the switch.
* <!-- end-user-doc -->
* @param object the target of the switch.
* @return the result of interpreting the object as an instance of '<em>Range</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
public T caseRange(Range object)
{
return null;
}
/**
* Returns the result of interpreting the object as an instance of '<em>Property Assignment</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
* returning a non-null result will terminate the switch.
* <!-- end-user-doc -->
* @param object the target of the switch.
* @return the result of interpreting the object as an instance of '<em>Property Assignment</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
public T casePropertyAssignment(PropertyAssignment object)
{
return null;
}
/**
* Returns the result of interpreting the object as an instance of '<em>Default Propery Assignment</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
* returning a non-null result will terminate the switch.
* <!-- end-user-doc -->
* @param object the target of the switch.
* @return the result of interpreting the object as an instance of '<em>Default Propery Assignment</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
public T caseDefaultProperyAssignment(DefaultProperyAssignment object)
{
return null;
}
/**
* Returns the result of interpreting the object as an instance of '<em>Explicit Property Assignment</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
* returning a non-null result will terminate the switch.
* <!-- end-user-doc -->
* @param object the target of the switch.
* @return the result of interpreting the object as an instance of '<em>Explicit Property Assignment</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
public T caseExplicitPropertyAssignment(ExplicitPropertyAssignment object)
{
return null;
}
/**
* Returns the result of interpreting the object as an instance of '<em>Post Property Assignment</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
* returning a non-null result will terminate the switch.
* <!-- end-user-doc -->
* @param object the target of the switch.
* @return the result of interpreting the object as an instance of '<em>Post Property Assignment</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
public T casePostPropertyAssignment(PostPropertyAssignment object)
{
return null;
}
/**
* Returns the result of interpreting the object as an instance of '<em>Instance Property Ref</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
* returning a non-null result will terminate the switch.
* <!-- end-user-doc -->
* @param object the target of the switch.
* @return the result of interpreting the object as an instance of '<em>Instance Property Ref</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
public T caseInstancePropertyRef(InstancePropertyRef object)
{
return null;
}
/**
* Returns the result of interpreting the object as an instance of '<em>Entity</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
* returning a non-null result will terminate the switch.
* <!-- end-user-doc -->
* @param object the target of the switch.
* @return the result of interpreting the object as an instance of '<em>Entity</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
public T caseEntity(Entity object)
{
return null;
}
/**
* Returns the result of interpreting the object as an instance of '<em>Instance Ref</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
* returning a non-null result will terminate the switch.
* <!-- end-user-doc -->
* @param object the target of the switch.
* @return the result of interpreting the object as an instance of '<em>Instance Ref</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
public T caseInstanceRef(InstanceRef object)
{
return null;
}
/**
* Returns the result of interpreting the object as an instance of '<em>Property Assignment Rhs</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
* returning a non-null result will terminate the switch.
* <!-- end-user-doc -->
* @param object the target of the switch.
* @return the result of interpreting the object as an instance of '<em>Property Assignment Rhs</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
public T casePropertyAssignmentRhs(PropertyAssignmentRhs object)
{
return null;
}
/**
* Returns the result of interpreting the object as an instance of '<em>Concat</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
* returning a non-null result will terminate the switch.
* <!-- end-user-doc -->
* @param object the target of the switch.
* @return the result of interpreting the object as an instance of '<em>Concat</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
public T caseConcat(Concat object)
{
return null;
}
/**
* Returns the result of interpreting the object as an instance of '<em>Concat Elem</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
* returning a non-null result will terminate the switch.
* <!-- end-user-doc -->
* @param object the target of the switch.
* @return the result of interpreting the object as an instance of '<em>Concat Elem</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
public T caseConcatElem(ConcatElem object)
{
return null;
}
/**
* Returns the result of interpreting the object as an instance of '<em>RValue</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
* returning a non-null result will terminate the switch.
* <!-- end-user-doc -->
* @param object the target of the switch.
* @return the result of interpreting the object as an instance of '<em>RValue</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
public T caseRValue(RValue object)
{
return null;
}
/**
* Returns the result of interpreting the object as an instance of '<em>Enum Definition</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
* returning a non-null result will terminate the switch.
* <!-- end-user-doc -->
* @param object the target of the switch.
* @return the result of interpreting the object as an instance of '<em>Enum Definition</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
public T caseEnumDefinition(EnumDefinition object)
{
return null;
}
/**
* Returns the result of interpreting the object as an instance of '<em>Enum Body</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
* returning a non-null result will terminate the switch.
* <!-- end-user-doc -->
* @param object the target of the switch.
* @return the result of interpreting the object as an instance of '<em>Enum Body</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
public T caseEnumBody(EnumBody object)
{
return null;
}
/**
* Returns the result of interpreting the object as an instance of '<em>Enum Entry</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
* returning a non-null result will terminate the switch.
* <!-- end-user-doc -->
* @param object the target of the switch.
* @return the result of interpreting the object as an instance of '<em>Enum Entry</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
public T caseEnumEntry(EnumEntry object)
{
return null;
}
/**
* Returns the result of interpreting the object as an instance of '<em>Enum Property</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
* returning a non-null result will terminate the switch.
* <!-- end-user-doc -->
* @param object the target of the switch.
* @return the result of interpreting the object as an instance of '<em>Enum Property</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
public T caseEnumProperty(EnumProperty object)
{
return null;
}
/**
* Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
* returning a non-null result will terminate the switch, but this is the last case anyway.
* <!-- end-user-doc -->
* @param object the target of the switch.
* @return the result of interpreting the object as an instance of '<em>EObject</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject)
* @generated
*/
@Override
public T defaultCase(EObject object)
{
return null;
}
} //RdlSwitch

View File

@ -0,0 +1,9 @@
/*
* generated by Xtext 2.12.0
*/
package com.minres.rdl.scoping;
import org.eclipse.xtext.scoping.impl.DelegatingScopeProvider;
public abstract class AbstractRDLScopeProvider extends DelegatingScopeProvider {
}

View File

@ -0,0 +1,472 @@
/*
* generated by Xtext 2.12.0
*/
package com.minres.rdl.serializer;
import com.google.inject.Inject;
import com.minres.rdl.rdl.ComponentDefinition;
import com.minres.rdl.rdl.ComponentInstance;
import com.minres.rdl.rdl.Concat;
import com.minres.rdl.rdl.ConcatElem;
import com.minres.rdl.rdl.EnumBody;
import com.minres.rdl.rdl.EnumDefinition;
import com.minres.rdl.rdl.EnumEntry;
import com.minres.rdl.rdl.EnumProperty;
import com.minres.rdl.rdl.ExplicitPropertyAssignment;
import com.minres.rdl.rdl.ImmediateInstantiation;
import com.minres.rdl.rdl.Include;
import com.minres.rdl.rdl.InstancePropertyRef;
import com.minres.rdl.rdl.InstanceRef;
import com.minres.rdl.rdl.NamedInstantiation;
import com.minres.rdl.rdl.PostPropertyAssignment;
import com.minres.rdl.rdl.PropertyAssignmentRhs;
import com.minres.rdl.rdl.PropertyDefault;
import com.minres.rdl.rdl.PropertyDefinition;
import com.minres.rdl.rdl.PropertyUsage;
import com.minres.rdl.rdl.RValue;
import com.minres.rdl.rdl.Range;
import com.minres.rdl.rdl.RdlPackage;
import com.minres.rdl.rdl.Root;
import com.minres.rdl.services.RDLGrammarAccess;
import java.util.Set;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.xtext.Action;
import org.eclipse.xtext.Parameter;
import org.eclipse.xtext.ParserRule;
import org.eclipse.xtext.serializer.ISerializationContext;
import org.eclipse.xtext.serializer.acceptor.SequenceFeeder;
import org.eclipse.xtext.serializer.sequencer.AbstractDelegatingSemanticSequencer;
import org.eclipse.xtext.serializer.sequencer.ITransientValueService.ValueTransient;
@SuppressWarnings("all")
public class RDLSemanticSequencer extends AbstractDelegatingSemanticSequencer {
@Inject
private RDLGrammarAccess grammarAccess;
@Override
public void sequence(ISerializationContext context, EObject semanticObject) {
EPackage epackage = semanticObject.eClass().getEPackage();
ParserRule rule = context.getParserRule();
Action action = context.getAssignedAction();
Set<Parameter> parameters = context.getEnabledBooleanParameters();
if (epackage == RdlPackage.eINSTANCE)
switch (semanticObject.eClass().getClassifierID()) {
case RdlPackage.COMPONENT_DEFINITION:
sequence_ComponentDefinition(context, (ComponentDefinition) semanticObject);
return;
case RdlPackage.COMPONENT_INSTANCE:
sequence_ComponentInstance(context, (ComponentInstance) semanticObject);
return;
case RdlPackage.CONCAT:
sequence_Concat(context, (Concat) semanticObject);
return;
case RdlPackage.CONCAT_ELEM:
sequence_ConcatElem(context, (ConcatElem) semanticObject);
return;
case RdlPackage.ENUM_BODY:
sequence_EnumBody(context, (EnumBody) semanticObject);
return;
case RdlPackage.ENUM_DEFINITION:
sequence_EnumDefinition(context, (EnumDefinition) semanticObject);
return;
case RdlPackage.ENUM_ENTRY:
sequence_EnumEntry(context, (EnumEntry) semanticObject);
return;
case RdlPackage.ENUM_PROPERTY:
sequence_EnumProperty(context, (EnumProperty) semanticObject);
return;
case RdlPackage.EXPLICIT_PROPERTY_ASSIGNMENT:
sequence_ExplicitPropertyAssignment(context, (ExplicitPropertyAssignment) semanticObject);
return;
case RdlPackage.IMMEDIATE_INSTANTIATION:
sequence_ImmediateInstantiation(context, (ImmediateInstantiation) semanticObject);
return;
case RdlPackage.INCLUDE:
sequence_Include(context, (Include) semanticObject);
return;
case RdlPackage.INSTANCE_PROPERTY_REF:
sequence_InstancePropertyRef(context, (InstancePropertyRef) semanticObject);
return;
case RdlPackage.INSTANCE_REF:
if (rule == grammarAccess.getHierInstanceRefRule()) {
sequence_HierInstanceRef(context, (InstanceRef) semanticObject);
return;
}
else if (rule == grammarAccess.getInstanceRefRule()) {
sequence_InstanceRef(context, (InstanceRef) semanticObject);
return;
}
else break;
case RdlPackage.NAMED_INSTANTIATION:
sequence_NamedInstantiation(context, (NamedInstantiation) semanticObject);
return;
case RdlPackage.POST_PROPERTY_ASSIGNMENT:
sequence_PostPropertyAssignment(context, (PostPropertyAssignment) semanticObject);
return;
case RdlPackage.PROPERTY_ASSIGNMENT_RHS:
sequence_PropertyAssignmentRhs(context, (PropertyAssignmentRhs) semanticObject);
return;
case RdlPackage.PROPERTY_DEFAULT:
sequence_PropertyDefault(context, (PropertyDefault) semanticObject);
return;
case RdlPackage.PROPERTY_DEFINITION:
sequence_PropertyDefinition(context, (PropertyDefinition) semanticObject);
return;
case RdlPackage.PROPERTY_USAGE:
sequence_PropertyUsage(context, (PropertyUsage) semanticObject);
return;
case RdlPackage.RVALUE:
sequence_PropertyRvalueConstant(context, (RValue) semanticObject);
return;
case RdlPackage.RANGE:
sequence_Range(context, (Range) semanticObject);
return;
case RdlPackage.ROOT:
sequence_Root(context, (Root) semanticObject);
return;
}
if (errorAcceptor != null)
errorAcceptor.accept(diagnosticProvider.createInvalidContextOrTypeDiagnostic(semanticObject, context));
}
/**
* Contexts:
* ComponentDefinition returns ComponentDefinition
*
* Constraint:
* (
* type=ComponentDefinitionType
* name=ID?
* (
* componentDefinitions+=ComponentDefinition |
* namedInstantiations+=NamedInstantiation |
* propertyAssignments+=PropertyAssignment |
* enumDefinitions+=EnumDefinition
* )*
* immediateInstantiation=ImmediateInstantiation?
* )
*/
protected void sequence_ComponentDefinition(ISerializationContext context, ComponentDefinition semanticObject) {
genericSequencer.createSequence(context, semanticObject);
}
/**
* Contexts:
* ComponentInstance returns ComponentInstance
* Entity returns ComponentInstance
*
* Constraint:
* (
* name=ID
* range=Range?
* reset=NUM?
* address=NUM?
* addrInc=NUM?
* addrMod=NUM?
* )
*/
protected void sequence_ComponentInstance(ISerializationContext context, ComponentInstance semanticObject) {
genericSequencer.createSequence(context, semanticObject);
}
/**
* Contexts:
* ConcatElem returns ConcatElem
*
* Constraint:
* (instPropRef=InstancePropertyRef | value=NUM)
*/
protected void sequence_ConcatElem(ISerializationContext context, ConcatElem semanticObject) {
genericSequencer.createSequence(context, semanticObject);
}
/**
* Contexts:
* Concat returns Concat
*
* Constraint:
* (elements+=ConcatElem elements+=ConcatElem*)
*/
protected void sequence_Concat(ISerializationContext context, Concat semanticObject) {
genericSequencer.createSequence(context, semanticObject);
}
/**
* Contexts:
* EnumBody returns EnumBody
*
* Constraint:
* entries+=EnumEntry*
*/
protected void sequence_EnumBody(ISerializationContext context, EnumBody semanticObject) {
genericSequencer.createSequence(context, semanticObject);
}
/**
* Contexts:
* Entity returns EnumDefinition
* EnumDefinition returns EnumDefinition
*
* Constraint:
* (name=ID body=EnumBody)
*/
protected void sequence_EnumDefinition(ISerializationContext context, EnumDefinition semanticObject) {
if (errorAcceptor != null) {
if (transientValues.isValueTransient(semanticObject, RdlPackage.Literals.ENTITY__NAME) == ValueTransient.YES)
errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, RdlPackage.Literals.ENTITY__NAME));
if (transientValues.isValueTransient(semanticObject, RdlPackage.Literals.ENUM_DEFINITION__BODY) == ValueTransient.YES)
errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, RdlPackage.Literals.ENUM_DEFINITION__BODY));
}
SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
feeder.accept(grammarAccess.getEnumDefinitionAccess().getNameIDTerminalRuleCall_1_0(), semanticObject.getName());
feeder.accept(grammarAccess.getEnumDefinitionAccess().getBodyEnumBodyParserRuleCall_2_0(), semanticObject.getBody());
feeder.finish();
}
/**
* Contexts:
* EnumEntry returns EnumEntry
*
* Constraint:
* (name=ID index=NUM properties+=EnumProperty*)
*/
protected void sequence_EnumEntry(ISerializationContext context, EnumEntry semanticObject) {
genericSequencer.createSequence(context, semanticObject);
}
/**
* Contexts:
* EnumProperty returns EnumProperty
*
* Constraint:
* ((name='name' value=STR) | (name='desc' value=STR))
*/
protected void sequence_EnumProperty(ISerializationContext context, EnumProperty semanticObject) {
genericSequencer.createSequence(context, semanticObject);
}
/**
* Contexts:
* PropertyAssignment returns ExplicitPropertyAssignment
* DefaultProperyAssignment returns ExplicitPropertyAssignment
* ExplicitPropertyAssignment returns ExplicitPropertyAssignment
*
* Constraint:
* ((modifier=PropertyModifier name=Property) | (name=Property rhs=PropertyAssignmentRhs?))
*/
protected void sequence_ExplicitPropertyAssignment(ISerializationContext context, ExplicitPropertyAssignment semanticObject) {
genericSequencer.createSequence(context, semanticObject);
}
/**
* Contexts:
* HierInstanceRef returns InstanceRef
*
* Constraint:
* (instance=[ComponentInstance|ID] tail=HierInstanceRef?)
*/
protected void sequence_HierInstanceRef(ISerializationContext context, InstanceRef semanticObject) {
genericSequencer.createSequence(context, semanticObject);
}
/**
* Contexts:
* ImmediateInstantiation returns ImmediateInstantiation
*
* Constraint:
* (external?='external'? componentInstances+=ComponentInstance componentInstances+=ComponentInstance*)
*/
protected void sequence_ImmediateInstantiation(ISerializationContext context, ImmediateInstantiation semanticObject) {
genericSequencer.createSequence(context, semanticObject);
}
/**
* Contexts:
* Include returns Include
*
* Constraint:
* importURI=STR
*/
protected void sequence_Include(ISerializationContext context, Include semanticObject) {
if (errorAcceptor != null) {
if (transientValues.isValueTransient(semanticObject, RdlPackage.Literals.INCLUDE__IMPORT_URI) == ValueTransient.YES)
errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, RdlPackage.Literals.INCLUDE__IMPORT_URI));
}
SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
feeder.accept(grammarAccess.getIncludeAccess().getImportURISTRTerminalRuleCall_1_0(), semanticObject.getImportURI());
feeder.finish();
}
/**
* Contexts:
* InstancePropertyRef returns InstancePropertyRef
*
* Constraint:
* (instance=InstanceRef (propertyEnum=Property | property=[PropertyDefinition|ID])?)
*/
protected void sequence_InstancePropertyRef(ISerializationContext context, InstancePropertyRef semanticObject) {
genericSequencer.createSequence(context, semanticObject);
}
/**
* Contexts:
* InstanceRef returns InstanceRef
*
* Constraint:
* (instance=[Entity|ID] tail=HierInstanceRef?)
*/
protected void sequence_InstanceRef(ISerializationContext context, InstanceRef semanticObject) {
genericSequencer.createSequence(context, semanticObject);
}
/**
* Contexts:
* NamedInstantiation returns NamedInstantiation
*
* Constraint:
* (
* external?='external'?
* internal?='internal'?
* alias=ID?
* component=[ComponentDefinition|ID]
* componentInstances+=ComponentInstance
* componentInstances+=ComponentInstance*
* )
*/
protected void sequence_NamedInstantiation(ISerializationContext context, NamedInstantiation semanticObject) {
genericSequencer.createSequence(context, semanticObject);
}
/**
* Contexts:
* PropertyAssignment returns PostPropertyAssignment
* PostPropertyAssignment returns PostPropertyAssignment
*
* Constraint:
* (
* ((instance=HierInstanceRef (propertyEnum=Property | property=[PropertyDefinition|ID])) | property=[PropertyDefinition|ID])
* rhs=PropertyAssignmentRhs?
* )
*/
protected void sequence_PostPropertyAssignment(ISerializationContext context, PostPropertyAssignment semanticObject) {
genericSequencer.createSequence(context, semanticObject);
}
/**
* Contexts:
* PropertyAssignmentRhs returns PropertyAssignmentRhs
*
* Constraint:
* (value=PropertyRvalueConstant | instPropRef=InstancePropertyRef | (enumRef=[EnumDefinition|ID] enums=EnumBody) | elements=Concat)
*/
protected void sequence_PropertyAssignmentRhs(ISerializationContext context, PropertyAssignmentRhs semanticObject) {
genericSequencer.createSequence(context, semanticObject);
}
/**
* Contexts:
* PropertyDefault returns PropertyDefault
*
* Constraint:
* (string=STR | value=NUM | string='true' | string='false')
*/
protected void sequence_PropertyDefault(ISerializationContext context, PropertyDefault semanticObject) {
genericSequencer.createSequence(context, semanticObject);
}
/**
* Contexts:
* PropertyDefinition returns PropertyDefinition
* Entity returns PropertyDefinition
*
* Constraint:
* (
* name=ID
* (
* (type=PropertyTypeName ((usage=PropertyUsage default=PropertyDefault?) | (default=PropertyDefault usage=PropertyUsage))) |
* (usage=PropertyUsage ((type=PropertyTypeName default=PropertyDefault?) | (default=PropertyDefault type=PropertyTypeName))) |
* (default=PropertyDefault ((type=PropertyTypeName usage=PropertyUsage) | (usage=PropertyUsage type=PropertyTypeName)))
* )
* )
*/
protected void sequence_PropertyDefinition(ISerializationContext context, PropertyDefinition semanticObject) {
genericSequencer.createSequence(context, semanticObject);
}
/**
* Contexts:
* PropertyRvalueConstant returns RValue
*
* Constraint:
* (val=RValueConstant | num=NUM | str=STR)
*/
protected void sequence_PropertyRvalueConstant(ISerializationContext context, RValue semanticObject) {
genericSequencer.createSequence(context, semanticObject);
}
/**
* Contexts:
* PropertyUsage returns PropertyUsage
*
* Constraint:
* (components+=PropertyComponent components+=PropertyComponent*)
*/
protected void sequence_PropertyUsage(ISerializationContext context, PropertyUsage semanticObject) {
genericSequencer.createSequence(context, semanticObject);
}
/**
* Contexts:
* Range returns Range
*
* Constraint:
* ((start=NUM end=NUM) | size=NUM)
*/
protected void sequence_Range(ISerializationContext context, Range semanticObject) {
genericSequencer.createSequence(context, semanticObject);
}
/**
* Contexts:
* Root returns Root
*
* Constraint:
* (
* includes+=Include |
* componentDefinitions+=ComponentDefinition |
* enumDefinitions+=EnumDefinition |
* namedInstantiations+=NamedInstantiation |
* propertyAssignments+=PropertyAssignment |
* propertyDefinitions+=PropertyDefinition
* )+
*/
protected void sequence_Root(ISerializationContext context, Root semanticObject) {
genericSequencer.createSequence(context, semanticObject);
}
}

View File

@ -0,0 +1,77 @@
/*
* generated by Xtext 2.12.0
*/
package com.minres.rdl.serializer;
import com.google.inject.Inject;
import com.minres.rdl.services.RDLGrammarAccess;
import java.util.List;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.xtext.IGrammarAccess;
import org.eclipse.xtext.RuleCall;
import org.eclipse.xtext.nodemodel.INode;
import org.eclipse.xtext.serializer.analysis.GrammarAlias.AbstractElementAlias;
import org.eclipse.xtext.serializer.analysis.GrammarAlias.GroupAlias;
import org.eclipse.xtext.serializer.analysis.GrammarAlias.TokenAlias;
import org.eclipse.xtext.serializer.analysis.ISyntacticSequencerPDAProvider.ISynNavigable;
import org.eclipse.xtext.serializer.analysis.ISyntacticSequencerPDAProvider.ISynTransition;
import org.eclipse.xtext.serializer.sequencer.AbstractSyntacticSequencer;
@SuppressWarnings("all")
public class RDLSyntacticSequencer extends AbstractSyntacticSequencer {
protected RDLGrammarAccess grammarAccess;
protected AbstractElementAlias match_DefaultProperyAssignment_DefaultKeyword_0_q;
protected AbstractElementAlias match_EnumEntry___LeftCurlyBracketKeyword_3_0_RightCurlyBracketKeyword_3_2__q;
@Inject
protected void init(IGrammarAccess access) {
grammarAccess = (RDLGrammarAccess) access;
match_DefaultProperyAssignment_DefaultKeyword_0_q = new TokenAlias(false, true, grammarAccess.getDefaultProperyAssignmentAccess().getDefaultKeyword_0());
match_EnumEntry___LeftCurlyBracketKeyword_3_0_RightCurlyBracketKeyword_3_2__q = new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getEnumEntryAccess().getLeftCurlyBracketKeyword_3_0()), new TokenAlias(false, false, grammarAccess.getEnumEntryAccess().getRightCurlyBracketKeyword_3_2()));
}
@Override
protected String getUnassignedRuleCallToken(EObject semanticObject, RuleCall ruleCall, INode node) {
return "";
}
@Override
protected void emitUnassignedTokens(EObject semanticObject, ISynTransition transition, INode fromNode, INode toNode) {
if (transition.getAmbiguousSyntaxes().isEmpty()) return;
List<INode> transitionNodes = collectNodes(fromNode, toNode);
for (AbstractElementAlias syntax : transition.getAmbiguousSyntaxes()) {
List<INode> syntaxNodes = getNodesFor(transitionNodes, syntax);
if (match_DefaultProperyAssignment_DefaultKeyword_0_q.equals(syntax))
emit_DefaultProperyAssignment_DefaultKeyword_0_q(semanticObject, getLastNavigableState(), syntaxNodes);
else if (match_EnumEntry___LeftCurlyBracketKeyword_3_0_RightCurlyBracketKeyword_3_2__q.equals(syntax))
emit_EnumEntry___LeftCurlyBracketKeyword_3_0_RightCurlyBracketKeyword_3_2__q(semanticObject, getLastNavigableState(), syntaxNodes);
else acceptNodes(getLastNavigableState(), syntaxNodes);
}
}
/**
* Ambiguous syntax:
* 'default'?
*
* This ambiguous syntax occurs at:
* (rule start) (ambiguity) modifier=PropertyModifier
* (rule start) (ambiguity) name=Property
*/
protected void emit_DefaultProperyAssignment_DefaultKeyword_0_q(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
acceptNodes(transition, nodes);
}
/**
* Ambiguous syntax:
* ('{' '}')?
*
* This ambiguous syntax occurs at:
* index=NUM (ambiguity) ';' (rule end)
*/
protected void emit_EnumEntry___LeftCurlyBracketKeyword_3_0_RightCurlyBracketKeyword_3_2__q(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
acceptNodes(transition, nodes);
}
}

View File

@ -0,0 +1,20 @@
/*
* generated by Xtext 2.12.0
*/
package com.minres.rdl.validation;
import java.util.ArrayList;
import java.util.List;
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.xtext.validation.AbstractDeclarativeValidator;
public abstract class AbstractRDLValidator extends AbstractDeclarativeValidator {
@Override
protected List<EPackage> getEPackages() {
List<EPackage> result = new ArrayList<EPackage>();
result.add(com.minres.rdl.rdl.RdlPackage.eINSTANCE);
return result;
}
}