blob: fa41f75cb2d974c25d58dcc9dfd68a001245b847 [file] [log] [blame]
/**
* * Copyright (c) 2006-2010 Istvan Rath and Daniel Varro
* * All rights reserved. This program and the accompanying materials
* * are made available under the terms of the Eclipse Public License v1.0
* * which accompanies this distribution, and is available at
* * http://www.eclipse.org/legal/epl-v10.html
* *
* * Contributors:
* * Istvan Rath, Daniel Varro - initial API and implementation
*
*/
package org.eclipse.viatra2.gtasmmodel.gtasm.metamodel.asm.definitions.impl;
import org.eclipse.emf.ecore.EAttribute;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.EReference;
import org.eclipse.emf.ecore.impl.EPackageImpl;
import org.eclipse.viatra2.gtasmmodel.gtasm.metamodel.asm.compoundRules.CompoundRulesPackage;
import org.eclipse.viatra2.gtasmmodel.gtasm.metamodel.asm.compoundRules.impl.CompoundRulesPackageImpl;
import org.eclipse.viatra2.gtasmmodel.gtasm.metamodel.asm.core.CorePackage;
import org.eclipse.viatra2.gtasmmodel.gtasm.metamodel.asm.core.impl.CorePackageImpl;
import org.eclipse.viatra2.gtasmmodel.gtasm.metamodel.asm.definitions.ASMFunction;
import org.eclipse.viatra2.gtasmmodel.gtasm.metamodel.asm.definitions.ChangeEvent;
import org.eclipse.viatra2.gtasmmodel.gtasm.metamodel.asm.definitions.DefinitionsFactory;
import org.eclipse.viatra2.gtasmmodel.gtasm.metamodel.asm.definitions.DefinitionsPackage;
import org.eclipse.viatra2.gtasmmodel.gtasm.metamodel.asm.definitions.FunctionDefinition;
import org.eclipse.viatra2.gtasmmodel.gtasm.metamodel.asm.definitions.ImportDeclaration;
import org.eclipse.viatra2.gtasmmodel.gtasm.metamodel.asm.definitions.InitialValue;
import org.eclipse.viatra2.gtasmmodel.gtasm.metamodel.asm.definitions.Machine;
import org.eclipse.viatra2.gtasmmodel.gtasm.metamodel.asm.definitions.Module;
import org.eclipse.viatra2.gtasmmodel.gtasm.metamodel.asm.definitions.NamespaceDefinition;
import org.eclipse.viatra2.gtasmmodel.gtasm.metamodel.asm.definitions.Rule;
import org.eclipse.viatra2.gtasmmodel.gtasm.metamodel.asm.definitions.SymbolicRuleParameter;
import org.eclipse.viatra2.gtasmmodel.gtasm.metamodel.asm.definitions.Transformation;
import org.eclipse.viatra2.gtasmmodel.gtasm.metamodel.asm.definitions.TypeConstant;
import org.eclipse.viatra2.gtasmmodel.gtasm.metamodel.asm.definitions.Variable;
import org.eclipse.viatra2.gtasmmodel.gtasm.metamodel.asm.definitions.VariableDefinition;
import org.eclipse.viatra2.gtasmmodel.gtasm.metamodel.asm.enums.EnumsPackage;
import org.eclipse.viatra2.gtasmmodel.gtasm.metamodel.asm.enums.impl.EnumsPackageImpl;
import org.eclipse.viatra2.gtasmmodel.gtasm.metamodel.asm.simpleRules.SimpleRulesPackage;
import org.eclipse.viatra2.gtasmmodel.gtasm.metamodel.asm.simpleRules.impl.SimpleRulesPackageImpl;
import org.eclipse.viatra2.gtasmmodel.gtasm.metamodel.asm.terms.TermsPackage;
import org.eclipse.viatra2.gtasmmodel.gtasm.metamodel.asm.terms.builtInFunctions.BuiltInFunctionsPackage;
import org.eclipse.viatra2.gtasmmodel.gtasm.metamodel.asm.terms.builtInFunctions.impl.BuiltInFunctionsPackageImpl;
import org.eclipse.viatra2.gtasmmodel.gtasm.metamodel.asm.terms.impl.TermsPackageImpl;
import org.eclipse.viatra2.gtasmmodel.gtasm.metamodel.gt.GtPackage;
import org.eclipse.viatra2.gtasmmodel.gtasm.metamodel.gt.impl.GtPackageImpl;
import org.eclipse.viatra2.gtasmmodel.gtasm.metamodel.modelmanagement.manipulationRules.copymove.CopymovePackage;
import org.eclipse.viatra2.gtasmmodel.gtasm.metamodel.modelmanagement.manipulationRules.copymove.impl.CopymovePackageImpl;
import org.eclipse.viatra2.gtasmmodel.gtasm.metamodel.modelmanagement.manipulationRules.creation.CreationPackage;
import org.eclipse.viatra2.gtasmmodel.gtasm.metamodel.modelmanagement.manipulationRules.creation.impl.CreationPackageImpl;
import org.eclipse.viatra2.gtasmmodel.gtasm.metamodel.modelmanagement.manipulationRules.deletion.DeletionPackage;
import org.eclipse.viatra2.gtasmmodel.gtasm.metamodel.modelmanagement.manipulationRules.deletion.impl.DeletionPackageImpl;
import org.eclipse.viatra2.gtasmmodel.gtasm.metamodel.modelmanagement.manipulationRules.update.UpdatePackage;
import org.eclipse.viatra2.gtasmmodel.gtasm.metamodel.modelmanagement.manipulationRules.update.impl.UpdatePackageImpl;
import org.eclipse.viatra2.gtasmmodel.gtasm.metamodel.modelmanagement.queryFunctions.QueryFunctionsPackage;
import org.eclipse.viatra2.gtasmmodel.gtasm.metamodel.modelmanagement.queryFunctions.impl.QueryFunctionsPackageImpl;
import org.eclipse.viatra2.gtasmmodel.vpm.editmodel.EditmodelPackage;
import org.eclipse.viatra2.gtasmmodel.vpm.editmodel.impl.EditmodelPackageImpl;
/**
* <!-- begin-user-doc -->
* An implementation of the model <b>Package</b>.
* <!-- end-user-doc -->
* @generated
*/
public class DefinitionsPackageImpl extends EPackageImpl implements DefinitionsPackage
{
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public static final String copyright = " * Copyright (c) 2006-2010 Istvan Rath and Daniel Varro\r\n * All rights reserved. This program and the accompanying materials\r\n * are made available under the terms of the Eclipse Public License v1.0\r\n * which accompanies this distribution, and is available at\r\n * http://www.eclipse.org/legal/epl-v10.html\r\n *\r\n * Contributors:\r\n * Istvan Rath, Daniel Varro - initial API and implementation\r\n";
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass machineEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass ruleEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass variableEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass variableDefinitionEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass asmFunctionEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass functionDefinitionEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass initialValueEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass symbolicRuleParameterEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass moduleEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass importDeclarationEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass namespaceDefinitionEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass transformationEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass typeConstantEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass changeEventEClass = null;
/**
* Creates an instance of the model <b>Package</b>, registered with
* {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
* package URI value.
* <p>Note: the correct way to create the package is via the static
* factory method {@link #init init()}, which also performs
* initialization of the package, or returns the registered package,
* if one already exists.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see org.eclipse.emf.ecore.EPackage.Registry
* @see org.eclipse.viatra2.gtasmmodel.gtasm.metamodel.asm.definitions.DefinitionsPackage#eNS_URI
* @see #init()
* @generated
*/
private DefinitionsPackageImpl()
{
super(eNS_URI, DefinitionsFactory.eINSTANCE);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private static boolean isInited = false;
/**
* Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
*
* <p>This method is used to initialize {@link DefinitionsPackage#eINSTANCE} when that field is accessed.
* Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #eNS_URI
* @see #createPackageContents()
* @see #initializePackageContents()
* @generated
*/
public static DefinitionsPackage init()
{
if (isInited) return (DefinitionsPackage)EPackage.Registry.INSTANCE.getEPackage(DefinitionsPackage.eNS_URI);
// Obtain or create and register package
DefinitionsPackageImpl theDefinitionsPackage = (DefinitionsPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof DefinitionsPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new DefinitionsPackageImpl());
isInited = true;
// Obtain or create and register interdependencies
EditmodelPackageImpl theEditmodelPackage = (EditmodelPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(EditmodelPackage.eNS_URI) instanceof EditmodelPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(EditmodelPackage.eNS_URI) : EditmodelPackage.eINSTANCE);
QueryFunctionsPackageImpl theQueryFunctionsPackage = (QueryFunctionsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(QueryFunctionsPackage.eNS_URI) instanceof QueryFunctionsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(QueryFunctionsPackage.eNS_URI) : QueryFunctionsPackage.eINSTANCE);
DeletionPackageImpl theDeletionPackage = (DeletionPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DeletionPackage.eNS_URI) instanceof DeletionPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DeletionPackage.eNS_URI) : DeletionPackage.eINSTANCE);
CreationPackageImpl theCreationPackage = (CreationPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(CreationPackage.eNS_URI) instanceof CreationPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(CreationPackage.eNS_URI) : CreationPackage.eINSTANCE);
CopymovePackageImpl theCopymovePackage = (CopymovePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(CopymovePackage.eNS_URI) instanceof CopymovePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(CopymovePackage.eNS_URI) : CopymovePackage.eINSTANCE);
UpdatePackageImpl theUpdatePackage = (UpdatePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(UpdatePackage.eNS_URI) instanceof UpdatePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(UpdatePackage.eNS_URI) : UpdatePackage.eINSTANCE);
CorePackageImpl theCorePackage = (CorePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(CorePackage.eNS_URI) instanceof CorePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(CorePackage.eNS_URI) : CorePackage.eINSTANCE);
SimpleRulesPackageImpl theSimpleRulesPackage = (SimpleRulesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SimpleRulesPackage.eNS_URI) instanceof SimpleRulesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SimpleRulesPackage.eNS_URI) : SimpleRulesPackage.eINSTANCE);
CompoundRulesPackageImpl theCompoundRulesPackage = (CompoundRulesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(CompoundRulesPackage.eNS_URI) instanceof CompoundRulesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(CompoundRulesPackage.eNS_URI) : CompoundRulesPackage.eINSTANCE);
EnumsPackageImpl theEnumsPackage = (EnumsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(EnumsPackage.eNS_URI) instanceof EnumsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(EnumsPackage.eNS_URI) : EnumsPackage.eINSTANCE);
TermsPackageImpl theTermsPackage = (TermsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TermsPackage.eNS_URI) instanceof TermsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TermsPackage.eNS_URI) : TermsPackage.eINSTANCE);
BuiltInFunctionsPackageImpl theBuiltInFunctionsPackage = (BuiltInFunctionsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(BuiltInFunctionsPackage.eNS_URI) instanceof BuiltInFunctionsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(BuiltInFunctionsPackage.eNS_URI) : BuiltInFunctionsPackage.eINSTANCE);
GtPackageImpl theGtPackage = (GtPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(GtPackage.eNS_URI) instanceof GtPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(GtPackage.eNS_URI) : GtPackage.eINSTANCE);
// Create package meta-data objects
theDefinitionsPackage.createPackageContents();
theEditmodelPackage.createPackageContents();
theQueryFunctionsPackage.createPackageContents();
theDeletionPackage.createPackageContents();
theCreationPackage.createPackageContents();
theCopymovePackage.createPackageContents();
theUpdatePackage.createPackageContents();
theCorePackage.createPackageContents();
theSimpleRulesPackage.createPackageContents();
theCompoundRulesPackage.createPackageContents();
theEnumsPackage.createPackageContents();
theTermsPackage.createPackageContents();
theBuiltInFunctionsPackage.createPackageContents();
theGtPackage.createPackageContents();
// Initialize created meta-data
theDefinitionsPackage.initializePackageContents();
theEditmodelPackage.initializePackageContents();
theQueryFunctionsPackage.initializePackageContents();
theDeletionPackage.initializePackageContents();
theCreationPackage.initializePackageContents();
theCopymovePackage.initializePackageContents();
theUpdatePackage.initializePackageContents();
theCorePackage.initializePackageContents();
theSimpleRulesPackage.initializePackageContents();
theCompoundRulesPackage.initializePackageContents();
theEnumsPackage.initializePackageContents();
theTermsPackage.initializePackageContents();
theBuiltInFunctionsPackage.initializePackageContents();
theGtPackage.initializePackageContents();
// Mark meta-data to indicate it can't be changed
theDefinitionsPackage.freeze();
// Update the registry and return the package
EPackage.Registry.INSTANCE.put(DefinitionsPackage.eNS_URI, theDefinitionsPackage);
return theDefinitionsPackage;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getMachine()
{
return machineEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getMachine_MainRule()
{
return (EReference)machineEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getMachine_GtRuleDefinitions()
{
return (EReference)machineEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getMachine_AsmFunctionDefinitions()
{
return (EReference)machineEClass.getEStructuralFeatures().get(2);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getMachine_AsmRuleDefinitions()
{
return (EReference)machineEClass.getEStructuralFeatures().get(3);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getMachine_Module()
{
return (EReference)machineEClass.getEStructuralFeatures().get(4);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getRule()
{
return ruleEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getRule_Body()
{
return (EReference)ruleEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getRule_SymParameters()
{
return (EReference)ruleEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getRule_LocalVariables()
{
return (EReference)ruleEClass.getEStructuralFeatures().get(2);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getRule_Namespace()
{
return (EReference)ruleEClass.getEStructuralFeatures().get(3);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getVariable()
{
return variableEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getVariable_References()
{
return (EReference)variableEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getVariable_Scope()
{
return (EReference)variableEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getVariable_VariableType()
{
return (EReference)variableEClass.getEStructuralFeatures().get(2);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getVariableDefinition()
{
return variableDefinitionEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getVariableDefinition_Variable()
{
return (EReference)variableDefinitionEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getVariableDefinition_Value()
{
return (EReference)variableDefinitionEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getASMFunction()
{
return asmFunctionEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getASMFunction_InitialValues()
{
return (EReference)asmFunctionEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getASMFunction_Arity()
{
return (EAttribute)asmFunctionEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getASMFunction_Namespace()
{
return (EReference)asmFunctionEClass.getEStructuralFeatures().get(2);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getASMFunction_ReturnType()
{
return (EReference)asmFunctionEClass.getEStructuralFeatures().get(3);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getASMFunction_ArgumentTypes()
{
return (EReference)asmFunctionEClass.getEStructuralFeatures().get(4);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getFunctionDefinition()
{
return functionDefinitionEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getInitialValue()
{
return initialValueEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getInitialValue_Locations()
{
return (EReference)initialValueEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getInitialValue_Value()
{
return (EReference)initialValueEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getSymbolicRuleParameter()
{
return symbolicRuleParameterEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getSymbolicRuleParameter_Variable()
{
return (EReference)symbolicRuleParameterEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getSymbolicRuleParameter_Direction()
{
return (EAttribute)symbolicRuleParameterEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getModule()
{
return moduleEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getModule_FileName()
{
return (EAttribute)moduleEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getModule_Machine()
{
return (EReference)moduleEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getModule_Import()
{
return (EReference)moduleEClass.getEStructuralFeatures().get(2);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getModule_Namespace()
{
return (EReference)moduleEClass.getEStructuralFeatures().get(3);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getImportDeclaration()
{
return importDeclarationEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getImportDeclaration_ImportValue()
{
return (EAttribute)importDeclarationEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getNamespaceDefinition()
{
return namespaceDefinitionEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getNamespaceDefinition_NamespaceValue()
{
return (EAttribute)namespaceDefinitionEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getTransformation()
{
return transformationEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getTransformation_Modules()
{
return (EReference)transformationEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getTypeConstant()
{
return typeConstantEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getTypeConstant_Kind()
{
return (EAttribute)typeConstantEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getChangeEvent()
{
return changeEventEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getChangeEvent_ChangeKind()
{
return (EAttribute)changeEventEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getChangeEvent_VariableReference()
{
return (EReference)changeEventEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public DefinitionsFactory getDefinitionsFactory()
{
return (DefinitionsFactory)getEFactoryInstance();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private boolean isCreated = false;
/**
* Creates the meta-model objects for the package. This method is
* guarded to have no affect on any invocation but its first.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void createPackageContents()
{
if (isCreated) return;
isCreated = true;
// Create classes and their features
machineEClass = createEClass(MACHINE);
createEReference(machineEClass, MACHINE__MAIN_RULE);
createEReference(machineEClass, MACHINE__GT_RULE_DEFINITIONS);
createEReference(machineEClass, MACHINE__ASM_FUNCTION_DEFINITIONS);
createEReference(machineEClass, MACHINE__ASM_RULE_DEFINITIONS);
createEReference(machineEClass, MACHINE__MODULE);
ruleEClass = createEClass(RULE);
createEReference(ruleEClass, RULE__BODY);
createEReference(ruleEClass, RULE__SYM_PARAMETERS);
createEReference(ruleEClass, RULE__LOCAL_VARIABLES);
createEReference(ruleEClass, RULE__NAMESPACE);
variableEClass = createEClass(VARIABLE);
createEReference(variableEClass, VARIABLE__REFERENCES);
createEReference(variableEClass, VARIABLE__SCOPE);
createEReference(variableEClass, VARIABLE__VARIABLE_TYPE);
variableDefinitionEClass = createEClass(VARIABLE_DEFINITION);
createEReference(variableDefinitionEClass, VARIABLE_DEFINITION__VARIABLE);
createEReference(variableDefinitionEClass, VARIABLE_DEFINITION__VALUE);
asmFunctionEClass = createEClass(ASM_FUNCTION);
createEReference(asmFunctionEClass, ASM_FUNCTION__INITIAL_VALUES);
createEAttribute(asmFunctionEClass, ASM_FUNCTION__ARITY);
createEReference(asmFunctionEClass, ASM_FUNCTION__NAMESPACE);
createEReference(asmFunctionEClass, ASM_FUNCTION__RETURN_TYPE);
createEReference(asmFunctionEClass, ASM_FUNCTION__ARGUMENT_TYPES);
functionDefinitionEClass = createEClass(FUNCTION_DEFINITION);
initialValueEClass = createEClass(INITIAL_VALUE);
createEReference(initialValueEClass, INITIAL_VALUE__LOCATIONS);
createEReference(initialValueEClass, INITIAL_VALUE__VALUE);
symbolicRuleParameterEClass = createEClass(SYMBOLIC_RULE_PARAMETER);
createEReference(symbolicRuleParameterEClass, SYMBOLIC_RULE_PARAMETER__VARIABLE);
createEAttribute(symbolicRuleParameterEClass, SYMBOLIC_RULE_PARAMETER__DIRECTION);
moduleEClass = createEClass(MODULE);
createEAttribute(moduleEClass, MODULE__FILE_NAME);
createEReference(moduleEClass, MODULE__MACHINE);
createEReference(moduleEClass, MODULE__IMPORT);
createEReference(moduleEClass, MODULE__NAMESPACE);
importDeclarationEClass = createEClass(IMPORT_DECLARATION);
createEAttribute(importDeclarationEClass, IMPORT_DECLARATION__IMPORT_VALUE);
namespaceDefinitionEClass = createEClass(NAMESPACE_DEFINITION);
createEAttribute(namespaceDefinitionEClass, NAMESPACE_DEFINITION__NAMESPACE_VALUE);
transformationEClass = createEClass(TRANSFORMATION);
createEReference(transformationEClass, TRANSFORMATION__MODULES);
typeConstantEClass = createEClass(TYPE_CONSTANT);
createEAttribute(typeConstantEClass, TYPE_CONSTANT__KIND);
changeEventEClass = createEClass(CHANGE_EVENT);
createEAttribute(changeEventEClass, CHANGE_EVENT__CHANGE_KIND);
createEReference(changeEventEClass, CHANGE_EVENT__VARIABLE_REFERENCE);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private boolean isInitialized = false;
/**
* Complete the initialization of the package and its meta-model. This
* method is guarded to have no affect on any invocation but its first.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void initializePackageContents()
{
if (isInitialized) return;
isInitialized = true;
// Initialize package
setName(eNAME);
setNsPrefix(eNS_PREFIX);
setNsURI(eNS_URI);
// Obtain other dependent packages
GtPackage theGtPackage = (GtPackage)EPackage.Registry.INSTANCE.getEPackage(GtPackage.eNS_URI);
CorePackage theCorePackage = (CorePackage)EPackage.Registry.INSTANCE.getEPackage(CorePackage.eNS_URI);
SimpleRulesPackage theSimpleRulesPackage = (SimpleRulesPackage)EPackage.Registry.INSTANCE.getEPackage(SimpleRulesPackage.eNS_URI);
TermsPackage theTermsPackage = (TermsPackage)EPackage.Registry.INSTANCE.getEPackage(TermsPackage.eNS_URI);
CompoundRulesPackage theCompoundRulesPackage = (CompoundRulesPackage)EPackage.Registry.INSTANCE.getEPackage(CompoundRulesPackage.eNS_URI);
EnumsPackage theEnumsPackage = (EnumsPackage)EPackage.Registry.INSTANCE.getEPackage(EnumsPackage.eNS_URI);
// Create type parameters
// Set bounds for type parameters
// Add supertypes to classes
machineEClass.getESuperTypes().add(theGtPackage.getPatternContainer());
ruleEClass.getESuperTypes().add(theCorePackage.getGTASMElement());
variableEClass.getESuperTypes().add(theCorePackage.getGTASMElement());
variableDefinitionEClass.getESuperTypes().add(theCorePackage.getGTASMElement());
asmFunctionEClass.getESuperTypes().add(this.getFunctionDefinition());
functionDefinitionEClass.getESuperTypes().add(theCorePackage.getGTASMElement());
initialValueEClass.getESuperTypes().add(theCorePackage.getGTASMElement());
symbolicRuleParameterEClass.getESuperTypes().add(theCorePackage.getGTASMElement());
moduleEClass.getESuperTypes().add(theCorePackage.getGTASMElement());
importDeclarationEClass.getESuperTypes().add(theCorePackage.getGTASMElement());
namespaceDefinitionEClass.getESuperTypes().add(theCorePackage.getGTASMElement());
transformationEClass.getESuperTypes().add(theCorePackage.getGTASMElement());
typeConstantEClass.getESuperTypes().add(theCorePackage.getGTASMElement());
changeEventEClass.getESuperTypes().add(theCorePackage.getGTASMElement());
// Initialize classes and features; add operations and parameters
initEClass(machineEClass, Machine.class, "Machine", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getMachine_MainRule(), this.getRule(), null, "mainRule", null, 0, 1, Machine.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getMachine_GtRuleDefinitions(), theGtPackage.getGTRule(), theGtPackage.getGTRule_Namespace(), "gtRuleDefinitions", null, 0, -1, Machine.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getMachine_AsmFunctionDefinitions(), this.getASMFunction(), this.getASMFunction_Namespace(), "asmFunctionDefinitions", null, 0, -1, Machine.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getMachine_AsmRuleDefinitions(), this.getRule(), this.getRule_Namespace(), "asmRuleDefinitions", null, 0, -1, Machine.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getMachine_Module(), this.getModule(), this.getModule_Machine(), "module", null, 0, 1, Machine.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(ruleEClass, Rule.class, "Rule", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getRule_Body(), theSimpleRulesPackage.getASMRuleInvocation(), theSimpleRulesPackage.getASMRuleInvocation_AsmRule(), "body", null, 0, 1, Rule.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getRule_SymParameters(), this.getSymbolicRuleParameter(), null, "symParameters", null, 0, -1, Rule.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getRule_LocalVariables(), this.getVariable(), null, "localVariables", null, 0, -1, Rule.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getRule_Namespace(), this.getMachine(), this.getMachine_AsmRuleDefinitions(), "namespace", null, 1, 1, Rule.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(variableEClass, Variable.class, "Variable", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getVariable_References(), theTermsPackage.getVariableReference(), theTermsPackage.getVariableReference_Variable(), "references", null, 0, -1, Variable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getVariable_Scope(), theCompoundRulesPackage.getBlockRule(), theCompoundRulesPackage.getBlockRule_LocalVariables(), "scope", null, 0, 1, Variable.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getVariable_VariableType(), this.getTypeConstant(), null, "variableType", null, 0, 1, Variable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(variableDefinitionEClass, VariableDefinition.class, "VariableDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getVariableDefinition_Variable(), this.getVariable(), null, "variable", null, 1, 1, VariableDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getVariableDefinition_Value(), theTermsPackage.getTerm(), null, "value", null, 1, 1, VariableDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(asmFunctionEClass, ASMFunction.class, "ASMFunction", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getASMFunction_InitialValues(), this.getInitialValue(), null, "initialValues", null, 0, -1, ASMFunction.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEAttribute(getASMFunction_Arity(), ecorePackage.getEInt(), "arity", null, 1, 1, ASMFunction.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getASMFunction_Namespace(), this.getMachine(), this.getMachine_AsmFunctionDefinitions(), "namespace", null, 1, 1, ASMFunction.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getASMFunction_ReturnType(), this.getTypeConstant(), null, "returnType", null, 0, 1, ASMFunction.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getASMFunction_ArgumentTypes(), this.getTypeConstant(), null, "argumentTypes", null, 0, -1, ASMFunction.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(functionDefinitionEClass, FunctionDefinition.class, "FunctionDefinition", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(initialValueEClass, InitialValue.class, "InitialValue", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getInitialValue_Locations(), theTermsPackage.getTerm(), null, "locations", null, 0, -1, InitialValue.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getInitialValue_Value(), theTermsPackage.getTerm(), null, "value", null, 1, 1, InitialValue.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(symbolicRuleParameterEClass, SymbolicRuleParameter.class, "SymbolicRuleParameter", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getSymbolicRuleParameter_Variable(), this.getVariable(), null, "variable", null, 1, 1, SymbolicRuleParameter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEAttribute(getSymbolicRuleParameter_Direction(), theEnumsPackage.getDirectionKind(), "direction", "in", 1, 1, SymbolicRuleParameter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(moduleEClass, Module.class, "Module", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getModule_FileName(), ecorePackage.getEString(), "fileName", null, 0, 1, Module.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getModule_Machine(), this.getMachine(), this.getMachine_Module(), "machine", null, 0, -1, Module.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getModule_Import(), this.getImportDeclaration(), null, "import", null, 0, -1, Module.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getModule_Namespace(), this.getNamespaceDefinition(), null, "namespace", null, 0, 1, Module.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(importDeclarationEClass, ImportDeclaration.class, "ImportDeclaration", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getImportDeclaration_ImportValue(), ecorePackage.getEString(), "importValue", null, 1, 1, ImportDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(namespaceDefinitionEClass, NamespaceDefinition.class, "NamespaceDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getNamespaceDefinition_NamespaceValue(), ecorePackage.getEString(), "namespaceValue", null, 1, 1, NamespaceDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(transformationEClass, Transformation.class, "Transformation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getTransformation_Modules(), this.getModule(), null, "modules", null, 0, -1, Transformation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(typeConstantEClass, TypeConstant.class, "TypeConstant", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getTypeConstant_Kind(), theEnumsPackage.getValueKind(), "kind", null, 1, 1, TypeConstant.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(changeEventEClass, ChangeEvent.class, "ChangeEvent", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getChangeEvent_ChangeKind(), theEnumsPackage.getChangeKind(), "changeKind", "new", 1, 1, ChangeEvent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getChangeEvent_VariableReference(), theTermsPackage.getVariableReference(), null, "variableReference", null, 1, 1, ChangeEvent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
// Create resource
createResource(eNS_URI);
}
} //DefinitionsPackageImpl