blob: 0bf5038b04f83c6ecf4e776e624b049196497cd3 [file] [log] [blame]
/**
* *******************************************************************************
* Copyright (c) 2017 Robert Bosch GmbH and others.
*
* This program and the accompanying materials are made
* available under the terms of the Eclipse Public License 2.0
* which is available at https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
*
* Generated using Eclipse EMF
*
* *******************************************************************************
*/
package org.eclipse.app4mc.sca2amalthea.ir.scair.impl;
import org.eclipse.app4mc.sca2amalthea.ir.scair.AccessTypeEnum;
import org.eclipse.app4mc.sca2amalthea.ir.scair.CallGraph;
import org.eclipse.app4mc.sca2amalthea.ir.scair.EFunctionTypeEnum;
import org.eclipse.app4mc.sca2amalthea.ir.scair.ETypeCategory;
import org.eclipse.app4mc.sca2amalthea.ir.scair.Function;
import org.eclipse.app4mc.sca2amalthea.ir.scair.FunctionCall;
import org.eclipse.app4mc.sca2amalthea.ir.scair.IIdentifiable;
import org.eclipse.app4mc.sca2amalthea.ir.scair.IdentifiableElement;
import org.eclipse.app4mc.sca2amalthea.ir.scair.Label;
import org.eclipse.app4mc.sca2amalthea.ir.scair.LabelAccess;
import org.eclipse.app4mc.sca2amalthea.ir.scair.Project;
import org.eclipse.app4mc.sca2amalthea.ir.scair.StmtCall;
import org.eclipse.app4mc.sca2amalthea.ir.scair.TypeDef;
import org.eclipse.app4mc.sca2amalthea.ir.scair.TypeDefMember;
import org.eclipse.app4mc.sca2amalthea.ir.scair.scairFactory;
import org.eclipse.app4mc.sca2amalthea.ir.scair.scairPackage;
import org.eclipse.emf.ecore.EAttribute;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EEnum;
import org.eclipse.emf.ecore.EOperation;
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.EReference;
import org.eclipse.emf.ecore.impl.EPackageImpl;
/**
* <!-- begin-user-doc -->
* An implementation of the model <b>Package</b>.
* <!-- end-user-doc -->
* @generated
*/
public class scairPackageImpl extends EPackageImpl implements scairPackage {
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass functionEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass labelEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass callGraphEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass containerEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass projectEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass labelAccessEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass typeDefEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass typeDefMemberEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass stmtCallEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass functionCallEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass iIdentifiableEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass identifiableElementEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EEnum eFunctionTypeEnumEEnum = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EEnum accessTypeEnumEEnum = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EEnum eTypeCategoryEEnum = 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.app4mc.sca2amalthea.ir.scair.scairPackage#eNS_URI
* @see #init()
* @generated
*/
private scairPackageImpl() {
super(eNS_URI, scairFactory.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 scairPackage#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 scairPackage init() {
if (isInited) return (scairPackage)EPackage.Registry.INSTANCE.getEPackage(scairPackage.eNS_URI);
// Obtain or create and register package
scairPackageImpl thescairPackage = (scairPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof scairPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new scairPackageImpl());
isInited = true;
// Create package meta-data objects
thescairPackage.createPackageContents();
// Initialize created meta-data
thescairPackage.initializePackageContents();
// Mark meta-data to indicate it can't be changed
thescairPackage.freeze();
// Update the registry and return the package
EPackage.Registry.INSTANCE.put(scairPackage.eNS_URI, thescairPackage);
return thescairPackage;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getFunction() {
return functionEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getFunction_Stmtseq() {
return (EReference)functionEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getFunction_Type() {
return (EAttribute)functionEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getFunction_Container() {
return (EReference)functionEClass.getEStructuralFeatures().get(2);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getFunction_Srcline() {
return (EAttribute)functionEClass.getEStructuralFeatures().get(3);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getFunction_Srccol() {
return (EAttribute)functionEClass.getEStructuralFeatures().get(4);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getLabel() {
return labelEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getLabel_Type() {
return (EAttribute)labelEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getLabel_Cat() {
return (EAttribute)labelEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getCallGraph() {
return callGraphEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getContainer() {
return containerEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getContainer_Name() {
return (EAttribute)containerEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getContainer_Location() {
return (EAttribute)containerEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getContainer_Functions() {
return (EReference)containerEClass.getEStructuralFeatures().get(2);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getProject() {
return projectEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getProject_Containers() {
return (EReference)projectEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getProject_Callgraph() {
return (EReference)projectEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getProject_Labels() {
return (EReference)projectEClass.getEStructuralFeatures().get(2);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getProject_Typedefs() {
return (EReference)projectEClass.getEStructuralFeatures().get(3);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getLabelAccess() {
return labelAccessEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getLabelAccess_Access() {
return (EAttribute)labelAccessEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getLabelAccess_Label() {
return (EReference)labelAccessEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getTypeDef() {
return typeDefEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getTypeDef_Name() {
return (EAttribute)typeDefEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getTypeDef_Type() {
return (EAttribute)typeDefEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getTypeDef_Cat() {
return (EAttribute)typeDefEClass.getEStructuralFeatures().get(2);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getTypeDef_Members() {
return (EReference)typeDefEClass.getEStructuralFeatures().get(3);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getTypeDefMember() {
return typeDefMemberEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getTypeDefMember_Name() {
return (EAttribute)typeDefMemberEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getTypeDefMember_Cat() {
return (EAttribute)typeDefMemberEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getTypeDefMember_Type() {
return (EAttribute)typeDefMemberEClass.getEStructuralFeatures().get(2);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getStmtCall() {
return stmtCallEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getStmtCall_Srcline() {
return (EAttribute)stmtCallEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getStmtCall_Srccol() {
return (EAttribute)stmtCallEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getFunctionCall() {
return functionCallEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getFunctionCall_Calls() {
return (EReference)functionCallEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getIIdentifiable() {
return iIdentifiableEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getIIdentifiable_Name() {
return (EAttribute)iIdentifiableEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getIIdentifiable_UniqueName() {
return (EAttribute)iIdentifiableEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EOperation getIIdentifiable__ComputeUniqueName() {
return iIdentifiableEClass.getEOperations().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EOperation getIIdentifiable__Encode__String() {
return iIdentifiableEClass.getEOperations().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getIdentifiableElement() {
return identifiableElementEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getIdentifiableElement_File() {
return (EAttribute)identifiableElementEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getIdentifiableElement_Package() {
return (EAttribute)identifiableElementEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EEnum getEFunctionTypeEnum() {
return eFunctionTypeEnumEEnum;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EEnum getAccessTypeEnum() {
return accessTypeEnumEEnum;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EEnum getETypeCategory() {
return eTypeCategoryEEnum;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public scairFactory getscairFactory() {
return (scairFactory)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
functionEClass = createEClass(FUNCTION);
createEReference(functionEClass, FUNCTION__STMTSEQ);
createEAttribute(functionEClass, FUNCTION__TYPE);
createEReference(functionEClass, FUNCTION__CONTAINER);
createEAttribute(functionEClass, FUNCTION__SRCLINE);
createEAttribute(functionEClass, FUNCTION__SRCCOL);
labelEClass = createEClass(LABEL);
createEAttribute(labelEClass, LABEL__TYPE);
createEAttribute(labelEClass, LABEL__CAT);
callGraphEClass = createEClass(CALL_GRAPH);
containerEClass = createEClass(CONTAINER);
createEAttribute(containerEClass, CONTAINER__NAME);
createEAttribute(containerEClass, CONTAINER__LOCATION);
createEReference(containerEClass, CONTAINER__FUNCTIONS);
projectEClass = createEClass(PROJECT);
createEReference(projectEClass, PROJECT__CONTAINERS);
createEReference(projectEClass, PROJECT__CALLGRAPH);
createEReference(projectEClass, PROJECT__LABELS);
createEReference(projectEClass, PROJECT__TYPEDEFS);
labelAccessEClass = createEClass(LABEL_ACCESS);
createEAttribute(labelAccessEClass, LABEL_ACCESS__ACCESS);
createEReference(labelAccessEClass, LABEL_ACCESS__LABEL);
typeDefEClass = createEClass(TYPE_DEF);
createEAttribute(typeDefEClass, TYPE_DEF__NAME);
createEAttribute(typeDefEClass, TYPE_DEF__TYPE);
createEAttribute(typeDefEClass, TYPE_DEF__CAT);
createEReference(typeDefEClass, TYPE_DEF__MEMBERS);
typeDefMemberEClass = createEClass(TYPE_DEF_MEMBER);
createEAttribute(typeDefMemberEClass, TYPE_DEF_MEMBER__NAME);
createEAttribute(typeDefMemberEClass, TYPE_DEF_MEMBER__CAT);
createEAttribute(typeDefMemberEClass, TYPE_DEF_MEMBER__TYPE);
stmtCallEClass = createEClass(STMT_CALL);
createEAttribute(stmtCallEClass, STMT_CALL__SRCLINE);
createEAttribute(stmtCallEClass, STMT_CALL__SRCCOL);
functionCallEClass = createEClass(FUNCTION_CALL);
createEReference(functionCallEClass, FUNCTION_CALL__CALLS);
iIdentifiableEClass = createEClass(IIDENTIFIABLE);
createEAttribute(iIdentifiableEClass, IIDENTIFIABLE__NAME);
createEAttribute(iIdentifiableEClass, IIDENTIFIABLE__UNIQUE_NAME);
createEOperation(iIdentifiableEClass, IIDENTIFIABLE___COMPUTE_UNIQUE_NAME);
createEOperation(iIdentifiableEClass, IIDENTIFIABLE___ENCODE__STRING);
identifiableElementEClass = createEClass(IDENTIFIABLE_ELEMENT);
createEAttribute(identifiableElementEClass, IDENTIFIABLE_ELEMENT__FILE);
createEAttribute(identifiableElementEClass, IDENTIFIABLE_ELEMENT__PACKAGE);
// Create enums
eFunctionTypeEnumEEnum = createEEnum(EFUNCTION_TYPE_ENUM);
accessTypeEnumEEnum = createEEnum(ACCESS_TYPE_ENUM);
eTypeCategoryEEnum = createEEnum(ETYPE_CATEGORY);
}
/**
* <!-- 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);
// Create type parameters
// Set bounds for type parameters
// Add supertypes to classes
functionEClass.getESuperTypes().add(this.getIdentifiableElement());
labelEClass.getESuperTypes().add(this.getIdentifiableElement());
labelAccessEClass.getESuperTypes().add(this.getStmtCall());
functionCallEClass.getESuperTypes().add(this.getStmtCall());
identifiableElementEClass.getESuperTypes().add(this.getIIdentifiable());
// Initialize classes, features, and operations; add parameters
initEClass(functionEClass, Function.class, "Function", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getFunction_Stmtseq(), this.getStmtCall(), null, "stmtseq", null, 0, -1, Function.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getFunction_Type(), this.getEFunctionTypeEnum(), "type", null, 0, 1, Function.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getFunction_Container(), this.getContainer(), this.getContainer_Functions(), "container", null, 0, 1, Function.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getFunction_Srcline(), ecorePackage.getEString(), "srcline", null, 0, 1, Function.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getFunction_Srccol(), ecorePackage.getEString(), "srccol", null, 0, 1, Function.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(labelEClass, Label.class, "Label", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getLabel_Type(), ecorePackage.getEString(), "type", null, 1, 1, Label.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getLabel_Cat(), this.getETypeCategory(), "cat", null, 1, 1, Label.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(callGraphEClass, CallGraph.class, "CallGraph", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(containerEClass, org.eclipse.app4mc.sca2amalthea.ir.scair.Container.class, "Container", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getContainer_Name(), ecorePackage.getEString(), "name", null, 0, 1, org.eclipse.app4mc.sca2amalthea.ir.scair.Container.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getContainer_Location(), ecorePackage.getEString(), "location", null, 0, 1, org.eclipse.app4mc.sca2amalthea.ir.scair.Container.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getContainer_Functions(), this.getFunction(), this.getFunction_Container(), "functions", null, 0, -1, org.eclipse.app4mc.sca2amalthea.ir.scair.Container.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(projectEClass, Project.class, "Project", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getProject_Containers(), this.getContainer(), null, "containers", null, 0, -1, Project.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
getProject_Containers().getEKeys().add(this.getContainer_Name());
initEReference(getProject_Callgraph(), this.getCallGraph(), null, "callgraph", null, 0, -1, Project.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getProject_Labels(), this.getLabel(), null, "labels", null, 0, -1, Project.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getProject_Typedefs(), this.getTypeDef(), null, "typedefs", null, 0, -1, Project.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(labelAccessEClass, LabelAccess.class, "LabelAccess", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getLabelAccess_Access(), this.getAccessTypeEnum(), "Access", null, 0, 1, LabelAccess.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getLabelAccess_Label(), this.getLabel(), null, "label", null, 1, 1, LabelAccess.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(typeDefEClass, TypeDef.class, "TypeDef", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getTypeDef_Name(), ecorePackage.getEString(), "name", null, 1, 1, TypeDef.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getTypeDef_Type(), ecorePackage.getEString(), "type", null, 0, 1, TypeDef.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getTypeDef_Cat(), this.getETypeCategory(), "cat", null, 1, 1, TypeDef.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getTypeDef_Members(), this.getTypeDefMember(), null, "members", null, 0, -1, TypeDef.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(typeDefMemberEClass, TypeDefMember.class, "TypeDefMember", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getTypeDefMember_Name(), ecorePackage.getEString(), "name", null, 1, 1, TypeDefMember.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getTypeDefMember_Cat(), this.getETypeCategory(), "cat", null, 1, 1, TypeDefMember.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getTypeDefMember_Type(), ecorePackage.getEString(), "type", null, 1, 1, TypeDefMember.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(stmtCallEClass, StmtCall.class, "StmtCall", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getStmtCall_Srcline(), ecorePackage.getEString(), "srcline", "", 0, 1, StmtCall.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getStmtCall_Srccol(), ecorePackage.getEString(), "srccol", null, 0, 1, StmtCall.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(functionCallEClass, FunctionCall.class, "FunctionCall", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getFunctionCall_Calls(), this.getFunction(), null, "calls", null, 1, 1, FunctionCall.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(iIdentifiableEClass, IIdentifiable.class, "IIdentifiable", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getIIdentifiable_Name(), ecorePackage.getEString(), "name", null, 0, 1, IIdentifiable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getIIdentifiable_UniqueName(), ecorePackage.getEString(), "uniqueName", "", 0, 1, IIdentifiable.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, IS_ID, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
initEOperation(getIIdentifiable__ComputeUniqueName(), ecorePackage.getEString(), "computeUniqueName", 0, 1, !IS_UNIQUE, IS_ORDERED);
EOperation op = initEOperation(getIIdentifiable__Encode__String(), ecorePackage.getEString(), "encode", 0, 1, IS_UNIQUE, IS_ORDERED);
addEParameter(op, ecorePackage.getEString(), "str", 0, 1, !IS_UNIQUE, IS_ORDERED);
initEClass(identifiableElementEClass, IdentifiableElement.class, "IdentifiableElement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getIdentifiableElement_File(), ecorePackage.getEString(), "File", null, 0, 1, IdentifiableElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getIdentifiableElement_Package(), ecorePackage.getEString(), "Package", null, 0, 1, IdentifiableElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
// Initialize enums and add enum literals
initEEnum(eFunctionTypeEnumEEnum, EFunctionTypeEnum.class, "EFunctionTypeEnum");
addEEnumLiteral(eFunctionTypeEnumEEnum, EFunctionTypeEnum.RUNNABLE);
addEEnumLiteral(eFunctionTypeEnumEEnum, EFunctionTypeEnum.TASK);
addEEnumLiteral(eFunctionTypeEnumEEnum, EFunctionTypeEnum.ISR);
initEEnum(accessTypeEnumEEnum, AccessTypeEnum.class, "AccessTypeEnum");
addEEnumLiteral(accessTypeEnumEEnum, AccessTypeEnum.READ);
addEEnumLiteral(accessTypeEnumEEnum, AccessTypeEnum.WRITE);
initEEnum(eTypeCategoryEEnum, ETypeCategory.class, "ETypeCategory");
addEEnumLiteral(eTypeCategoryEEnum, ETypeCategory.PRIMITIVE);
addEEnumLiteral(eTypeCategoryEEnum, ETypeCategory.POINTER);
addEEnumLiteral(eTypeCategoryEEnum, ETypeCategory.ARRAY);
addEEnumLiteral(eTypeCategoryEEnum, ETypeCategory.STRUCT);
// Create resource
createResource(eNS_URI);
// Create annotations
// null
createNullAnnotations();
}
/**
* Initializes the annotations for <b>null</b>.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected void createNullAnnotations() {
String source = null;
addAnnotation
(getProject_Containers(),
source,
new String[] {
"", null
});
}
} //scairPackageImpl