<?xml version="1.0" encoding="UTF-8"?> | |
<ecore:EPackage xmi:version="2.0" | |
xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |
xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="gastm" | |
nsURI="http://www.eclipse.org/MoDisco/GASTM/1.0.Beta2/gastm" nsPrefix="gastm"> | |
<eClassifiers xsi:type="ecore:EClass" name="GASTMObject"/> | |
<eClassifiers xsi:type="ecore:EClass" name="GASTMSourceObject" abstract="true" eSuperTypes="#//GASTMObject"/> | |
<eClassifiers xsi:type="ecore:EClass" name="GASTMSemanticObject" abstract="true" | |
eSuperTypes="#//GASTMObject"/> | |
<eClassifiers xsi:type="ecore:EClass" name="GASTMSyntaxObject" abstract="true" eSuperTypes="#//GASTMObject"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="locationInfo" lowerBound="1" | |
eType="#//SourceLocation" containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="preProcessorElements" upperBound="-1" | |
eType="#//PreprocessorElement" containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="annotations" upperBound="-1" | |
eType="#//AnnotationExpression" containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="SourceFile" eSuperTypes="#//GASTMSourceObject"> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="path" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="SourceLocation" eSuperTypes="#//GASTMSourceObject"> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="startLine" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EIntegerObject"/> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="startPosition" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EIntegerObject"/> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="endLine" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EIntegerObject"/> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="endPosition" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EIntegerObject"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="inSourceFile" lowerBound="1" | |
eType="#//SourceFile" containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="CompilationUnit" eSuperTypes="#//SourceFile"> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="language" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="fragments" upperBound="-1" | |
eType="#//DefinitionObject" containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="opensScope" eType="#//ProgramScope"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="SourceFileReference" eSuperTypes="#//SourceFile"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="locationInfo" lowerBound="1" | |
eType="#//SourceLocation" containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="ofSourceFile" lowerBound="1" | |
eType="#//SourceFile"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="Project" eSuperTypes="#//GASTMSemanticObject"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="files" lowerBound="1" upperBound="-1" | |
eType="#//CompilationUnit" containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="outerScope" eType="#//GlobalScope"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="Scope" eSuperTypes="#//GASTMSemanticObject"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="definitionObject" upperBound="-1" | |
eType="#//DefinitionObject" containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="childScope" upperBound="-1" | |
eType="#//Scope"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="ProgramScope" eSuperTypes="#//Scope"/> | |
<eClassifiers xsi:type="ecore:EClass" name="FunctionScope" eSuperTypes="#//Scope"/> | |
<eClassifiers xsi:type="ecore:EClass" name="AggregateScope" eSuperTypes="#//Scope"/> | |
<eClassifiers xsi:type="ecore:EClass" name="BlockScope" eSuperTypes="#//Scope"/> | |
<eClassifiers xsi:type="ecore:EClass" name="GlobalScope" eSuperTypes="#//Scope"/> | |
<eClassifiers xsi:type="ecore:EClass" name="PreprocessorElement" abstract="true" | |
eSuperTypes="#//GASTMSyntaxObject"/> | |
<eClassifiers xsi:type="ecore:EClass" name="DefinitionObject" abstract="true" eSuperTypes="#//GASTMSyntaxObject"/> | |
<eClassifiers xsi:type="ecore:EClass" name="Type" abstract="true" eSuperTypes="#//GASTMSyntaxObject"> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="isConst" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBooleanObject"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="Expression" abstract="true" eSuperTypes="#//GASTMSyntaxObject"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="expressionType" lowerBound="1" | |
eType="#//TypeReference"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="Statement" abstract="true" eSuperTypes="#//GASTMSyntaxObject"/> | |
<eClassifiers xsi:type="ecore:EClass" name="MinorSyntaxObject" abstract="true" eSuperTypes="#//GASTMSyntaxObject"/> | |
<eClassifiers xsi:type="ecore:EClass" name="Dimension" eSuperTypes="#//MinorSyntaxObject"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="lowBound" eType="#//Expression" | |
containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="highBound" lowerBound="1" | |
eType="#//Expression" containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="Name" eSuperTypes="#//MinorSyntaxObject"> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="nameString" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="SwitchCase" eSuperTypes="#//MinorSyntaxObject"> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="isEvaluateAllCases" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBooleanObject"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="body" lowerBound="1" upperBound="-1" | |
eType="#//Statement"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="CatchBlock" eSuperTypes="#//MinorSyntaxObject"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="body" lowerBound="1" eType="#//Statement" | |
containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="UnaryOperator" abstract="true" eSuperTypes="#//MinorSyntaxObject"/> | |
<eClassifiers xsi:type="ecore:EClass" name="BinaryOperator" abstract="true" eSuperTypes="#//MinorSyntaxObject"/> | |
<eClassifiers xsi:type="ecore:EClass" name="StorageSpecification" abstract="true" | |
eSuperTypes="#//MinorSyntaxObject"/> | |
<eClassifiers xsi:type="ecore:EClass" name="VirtualSpecification" abstract="true" | |
eSuperTypes="#//MinorSyntaxObject"/> | |
<eClassifiers xsi:type="ecore:EClass" name="AccessKind" eSuperTypes="#//MinorSyntaxObject"/> | |
<eClassifiers xsi:type="ecore:EClass" name="ActualParameter" abstract="true" eSuperTypes="#//MinorSyntaxObject"/> | |
<eClassifiers xsi:type="ecore:EClass" name="FunctionMemberAttributes" eSuperTypes="#//MinorSyntaxObject"> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="isFriend" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBooleanObject"/> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="isInLine" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBooleanObject"/> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="isThisConst" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBooleanObject"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="virtualSpecifier" lowerBound="1" | |
eType="#//VirtualSpecification" containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="DerivesFrom" eSuperTypes="#//MinorSyntaxObject"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="virtualSpecifier" eType="#//VirtualSpecification" | |
containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="accessKind" lowerBound="1" | |
eType="#//AccessKind" containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="className" lowerBound="1" | |
eType="#//NamedTypeReference" containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="MemberObject" eSuperTypes="#//MinorSyntaxObject"> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="offset" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EIntegerObject"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="member" lowerBound="1" | |
eType="#//DefinitionObject" containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="DeclarationOrDefinition" abstract="true" | |
eSuperTypes="#//DefinitionObject"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="storageSpecifiers" lowerBound="1" | |
eType="#//StorageSpecification" containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="accessKind" lowerBound="1" | |
eType="#//AccessKind" containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="linkageSpecifier" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="TypeDefinition" eSuperTypes="#//DefinitionObject"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="typeName" lowerBound="1" | |
eType="#//Name" containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="NameSpaceDefinition" eSuperTypes="#//DefinitionObject"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="nameSpace" lowerBound="1" | |
eType="#//Name" containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="body" lowerBound="1" upperBound="-1" | |
eType="#//DefinitionObject" containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="nameSpaceType" lowerBound="1" | |
eType="#//NameSpaceType" containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="LabelDefinition" eSuperTypes="#//DefinitionObject"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="labelName" lowerBound="1" | |
eType="#//Name" containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="labelType" lowerBound="1" | |
eType="#//LabelType" containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="TypeDeclaration" eSuperTypes="#//DefinitionObject"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="typeRef" lowerBound="1" | |
eType="#//TypeReference" containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="Definition" abstract="true" eSuperTypes="#//DeclarationOrDefinition"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="identifierName" lowerBound="1" | |
eType="#//Name" containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="definitionType" eType="#//TypeReference" | |
containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="Declaration" abstract="true" eSuperTypes="#//DeclarationOrDefinition"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="defRef" lowerBound="1" | |
eType="#//Definition"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="identifierName" eType="#//Name" | |
containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="declarationType" lowerBound="1" | |
eType="#//TypeReference" containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="FunctionDefinition" eSuperTypes="#//Definition"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="returnType" eType="#//TypeReference" | |
containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="formalParameters" upperBound="-1" | |
eType="#//FormalParameterDefinition" containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="body" upperBound="-1" eType="#//Statement" | |
containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="functionMemberAttributes" | |
eType="#//FunctionMemberAttributes" containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="opensScope" lowerBound="1" | |
eType="#//FunctionScope"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="EntryDefinition" eSuperTypes="#//Definition"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="formalParameters" upperBound="-1" | |
eType="#//FormalParameterDefinition" containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="body" upperBound="-1" eType="#//Statement" | |
containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="DataDefinition" abstract="true" eSuperTypes="#//Definition"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="initialValue" eType="#//Expression" | |
containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="isMutable" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBooleanObject"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="EnumLiteralDefinition" eSuperTypes="#//Definition"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="value" eType="#//Expression" | |
containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="FunctionDeclaration" eSuperTypes="#//Declaration"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="formalParameters" upperBound="-1" | |
eType="#//FormalParameterDeclaration" containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="functionMemberAttributes" | |
eType="#//FunctionMemberAttributes" containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="VariableDeclaration" eSuperTypes="#//Declaration"> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="isMutable" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBooleanObject" | |
defaultValueLiteral="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="FormalParameterDeclaration" eSuperTypes="#//Declaration"/> | |
<eClassifiers xsi:type="ecore:EClass" name="External" eSuperTypes="#//StorageSpecification"/> | |
<eClassifiers xsi:type="ecore:EClass" name="FunctionPersistent" eSuperTypes="#//StorageSpecification"/> | |
<eClassifiers xsi:type="ecore:EClass" name="FileLocal" eSuperTypes="#//StorageSpecification"/> | |
<eClassifiers xsi:type="ecore:EClass" name="PerClassMember" eSuperTypes="#//StorageSpecification"/> | |
<eClassifiers xsi:type="ecore:EClass" name="NoDef" eSuperTypes="#//StorageSpecification"/> | |
<eClassifiers xsi:type="ecore:EClass" name="Virtual" eSuperTypes="#//VirtualSpecification"/> | |
<eClassifiers xsi:type="ecore:EClass" name="VariableDefinition" eSuperTypes="#//DataDefinition"/> | |
<eClassifiers xsi:type="ecore:EClass" name="FormalParameterDefinition" eSuperTypes="#//DataDefinition"/> | |
<eClassifiers xsi:type="ecore:EClass" name="BitFieldDefinition" eSuperTypes="#//DataDefinition"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="bitFieldSize" lowerBound="1" | |
eType="#//Expression" containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="NamedTypeDefinition" eSuperTypes="#//TypeDefinition"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="definitionType" lowerBound="1" | |
eType="#//NamedType" containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="AggregateTypeDefinition" eSuperTypes="#//TypeDefinition"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="aggregateType" lowerBound="1" | |
eType="#//AggregateType" containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="EnumTypeDefinition" eSuperTypes="#//TypeDefinition"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="definitionType" lowerBound="1" | |
eType="#//EnumType" containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="AggregateTypeDeclaration" eSuperTypes="#//TypeDeclaration"/> | |
<eClassifiers xsi:type="ecore:EClass" name="EnumTypeDeclaration" eSuperTypes="#//TypeDeclaration"/> | |
<eClassifiers xsi:type="ecore:EClass" name="IncludeUnit" eSuperTypes="#//PreprocessorElement"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="file" lowerBound="1" eType="#//SourceFileReference" | |
containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="MacroCall" eSuperTypes="#//PreprocessorElement"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="refersTo" lowerBound="1" | |
eType="#//MacroDefinition" containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="MacroDefinition" eSuperTypes="#//PreprocessorElement"> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="macroName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="body" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="Comment" eSuperTypes="#//PreprocessorElement"> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="body" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="FunctionType" eSuperTypes="#//Type"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="returnType" eType="#//TypeReference" | |
containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="parameterTypes" upperBound="-1" | |
eType="#//FormalParameterType" containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="DataType" abstract="true" eSuperTypes="#//Type"/> | |
<eClassifiers xsi:type="ecore:EClass" name="LabelType" eSuperTypes="#//Type"/> | |
<eClassifiers xsi:type="ecore:EClass" name="NameSpaceType" eSuperTypes="#//Type"/> | |
<eClassifiers xsi:type="ecore:EClass" name="TypeReference" abstract="true" eSuperTypes="#//Type"/> | |
<eClassifiers xsi:type="ecore:EClass" name="PrimitiveType" abstract="true" eSuperTypes="#//DataType"/> | |
<eClassifiers xsi:type="ecore:EClass" name="EnumType" eSuperTypes="#//DataType"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="enumLiterals" lowerBound="1" | |
upperBound="-1" eType="#//EnumLiteralDefinition" containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="ConstructedType" abstract="true" eSuperTypes="#//DataType"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="baseType" lowerBound="1" | |
eType="#//TypeReference" containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="AggregateType" abstract="true" eSuperTypes="#//DataType"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="members" lowerBound="1" | |
upperBound="-1" eType="#//MemberObject" containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="opensScope" lowerBound="1" | |
eType="#//AggregateScope"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="ExceptionType" eSuperTypes="#//DataType"/> | |
<eClassifiers xsi:type="ecore:EClass" name="FormalParameterType" abstract="true" | |
eSuperTypes="#//DataType"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="type" lowerBound="1" eType="#//TypeReference" | |
containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="NamedType" eSuperTypes="#//DataType"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="body" lowerBound="1" eType="#//Type" | |
containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="NumberType" abstract="true" eSuperTypes="#//PrimitiveType"> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="isSigned" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBooleanObject"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="Void" eSuperTypes="#//PrimitiveType"/> | |
<eClassifiers xsi:type="ecore:EClass" name="Boolean" eSuperTypes="#//PrimitiveType"/> | |
<eClassifiers xsi:type="ecore:EClass" name="IntegralType" abstract="true" eSuperTypes="#//NumberType"> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="size" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EIntegerObject"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="RealType" abstract="true" eSuperTypes="#//NumberType"> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="precision" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EIntegerObject"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="Byte" eSuperTypes="#//NumberType"/> | |
<eClassifiers xsi:type="ecore:EClass" name="Character" eSuperTypes="#//NumberType"/> | |
<eClassifiers xsi:type="ecore:EClass" name="ShortInteger" eSuperTypes="#//IntegralType"/> | |
<eClassifiers xsi:type="ecore:EClass" name="Integer" eSuperTypes="#//IntegerLiteral"/> | |
<eClassifiers xsi:type="ecore:EClass" name="LongInteger" eSuperTypes="#//IntegralType"/> | |
<eClassifiers xsi:type="ecore:EClass" name="Real" eSuperTypes="#//RealType"/> | |
<eClassifiers xsi:type="ecore:EClass" name="Double" eSuperTypes="#//RealType"/> | |
<eClassifiers xsi:type="ecore:EClass" name="LongDouble" eSuperTypes="#//RealType"/> | |
<eClassifiers xsi:type="ecore:EClass" name="CollectionType" eSuperTypes="#//ConstructedType"/> | |
<eClassifiers xsi:type="ecore:EClass" name="PointerType" eSuperTypes="#//ConstructedType"> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="size" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EIntegerObject"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="ReferenceType" eSuperTypes="#//ConstructedType"/> | |
<eClassifiers xsi:type="ecore:EClass" name="RangeType" eSuperTypes="#//ConstructedType"/> | |
<eClassifiers xsi:type="ecore:EClass" name="ArrayType" eSuperTypes="#//ConstructedType"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="ranks" lowerBound="1" upperBound="-1" | |
eType="#//Dimension" containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="StructureType" eSuperTypes="#//AggregateType"/> | |
<eClassifiers xsi:type="ecore:EClass" name="UnionType" eSuperTypes="#//AggregateType"/> | |
<eClassifiers xsi:type="ecore:EClass" name="ClassType" eSuperTypes="#//AggregateType"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="derivesFrom" upperBound="-1" | |
eType="#//DerivesFrom" containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="AnnotationType" eSuperTypes="#//AggregateType"/> | |
<eClassifiers xsi:type="ecore:EClass" name="ByValueFormalParameterType" eSuperTypes="#//FormalParameterType"/> | |
<eClassifiers xsi:type="ecore:EClass" name="ByReferenceFormalParameterType" eSuperTypes="#//FormalParameterType"/> | |
<eClassifiers xsi:type="ecore:EClass" name="Public" eSuperTypes="#//AccessKind"/> | |
<eClassifiers xsi:type="ecore:EClass" name="Protected" eSuperTypes="#//AccessKind"/> | |
<eClassifiers xsi:type="ecore:EClass" name="Private" eSuperTypes="#//AccessKind"/> | |
<eClassifiers xsi:type="ecore:EClass" name="UnnamedTypeReference" eSuperTypes="#//TypeReference"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="type" lowerBound="1" eType="#//Type" | |
containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="NamedTypeReference" eSuperTypes="#//TypeReference"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="typeName" lowerBound="1" | |
eType="#//Name" containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="type" lowerBound="1" eType="#//TypeDefinition" | |
containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="ExpressionStatement" eSuperTypes="#//Statement"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="expression" lowerBound="1" | |
eType="#//Expression" containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="JumpStatement" eSuperTypes="#//Statement"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="target" lowerBound="1" | |
eType="#//Expression" containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="BreakStatement" eSuperTypes="#//Statement"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="target" eType="#//LabelAccess" | |
containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="ContinueStatement" eSuperTypes="#//Statement"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="target" eType="#//LabelAccess" | |
containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="LabeledStatement" eSuperTypes="#//Statement"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="label" lowerBound="1" eType="#//LabelDefinition" | |
containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="statement" eType="#//Statement" | |
containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="BlockStatement" eSuperTypes="#//Statement"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="subStatements" upperBound="-1" | |
eType="#//Statement" containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="opensScope" lowerBound="1" | |
eType="#//BlockScope"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="EmptyStatement" eSuperTypes="#//Statement"/> | |
<eClassifiers xsi:type="ecore:EClass" name="IfStatement" eSuperTypes="#//Statement"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="condition" lowerBound="1" | |
eType="#//Expression" containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="thenBody" lowerBound="1" | |
eType="#//Statement" containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="elseBody" eType="#//Statement" | |
containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="SwitchStatement" eSuperTypes="#//Statement"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="switchExpression" lowerBound="1" | |
eType="#//Expression" containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="cases" lowerBound="1" eType="#//SwitchCase"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="ReturnStatement" eSuperTypes="#//Statement"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="returnValue" eType="#//Expression" | |
containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="LoopStatement" eSuperTypes="#//Statement"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="condition" lowerBound="1" | |
eType="#//Expression" containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="body" lowerBound="1" eType="#//Statement" | |
containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="TryStatement" eSuperTypes="#//Statement"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="guardedStatement" lowerBound="1" | |
eType="#//Statement" containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="catchBlocks" upperBound="-1" | |
eType="#//CatchBlock" containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="finalStatement" eType="#//Statement" | |
containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="DeclarationOrDefinitionStatement" eSuperTypes="#//Statement"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="declOrDefn" lowerBound="1" | |
eType="#//DefinitionObject" containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="ThrowStatement" eSuperTypes="#//Statement"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="exception" lowerBound="1" | |
eType="#//Expression" containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="DeleteStatement" eSuperTypes="#//Statement"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="operand" lowerBound="1" | |
eType="#//Expression" containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="TerminateStatement" eSuperTypes="#//Statement"/> | |
<eClassifiers xsi:type="ecore:EClass" name="CaseBlock" eSuperTypes="#//SwitchCase"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="caseExpressions" lowerBound="1" | |
upperBound="-1" eType="#//Expression" containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="DefaultBlock" eSuperTypes="#//SwitchCase"/> | |
<eClassifiers xsi:type="ecore:EClass" name="WhileStatement" eSuperTypes="#//LoopStatement"/> | |
<eClassifiers xsi:type="ecore:EClass" name="DoWhileStatement" eSuperTypes="#//LoopStatement"/> | |
<eClassifiers xsi:type="ecore:EClass" name="ForStatement" abstract="true" eSuperTypes="#//LoopStatement"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="initBody" upperBound="-1" | |
eType="#//Expression" containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="iterationBody" upperBound="-1" | |
eType="#//Expression" containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="ForCheckBeforeStatement" eSuperTypes="#//ForStatement"/> | |
<eClassifiers xsi:type="ecore:EClass" name="ForCheckAfterStatement" eSuperTypes="#//ForStatement"/> | |
<eClassifiers xsi:type="ecore:EClass" name="TypesCatchBlock" eSuperTypes="#//CatchBlock"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="exceptions" lowerBound="1" | |
upperBound="-1" eType="#//Type" containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="VariableCatchBlock" eSuperTypes="#//CatchBlock"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="exceptionVariable" lowerBound="1" | |
eType="#//DataDefinition" containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="Literal" eSuperTypes="#//Expression"> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="value" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="CastExpression" eSuperTypes="#//Expression"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="castType" lowerBound="1" | |
eType="#//TypeReference" containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="expression" lowerBound="1" | |
eType="#//Expression" containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="AggregateExpression" eSuperTypes="#//Expression"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="subExpressions" upperBound="-1" | |
eType="#//Expression" containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="UnaryExpression" eSuperTypes="#//Expression"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="operator" lowerBound="1" | |
eType="#//UnaryOperator" containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="operand" lowerBound="1" | |
eType="#//Expression" containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="BinaryExpression" eSuperTypes="#//Expression"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="operator" lowerBound="1" | |
eType="#//BinaryOperator" containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="leftOperand" lowerBound="1" | |
eType="#//Expression" containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="rightOperand" lowerBound="1" | |
eType="#//Expression" containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="ConditionalExpression" eSuperTypes="#//Expression"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="condition" lowerBound="1" | |
eType="#//Expression" containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="onTrueOperand" lowerBound="1" | |
eType="#//Expression" containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="onFalseOperand" lowerBound="1" | |
eType="#//Expression" containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="RangeExpression" eSuperTypes="#//Expression"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="fromExpression" lowerBound="1" | |
eType="#//Expression" containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="toExpression" lowerBound="1" | |
eType="#//Expression" containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="FunctionCallExpression" eSuperTypes="#//Expression"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="calledFunction" lowerBound="1" | |
eType="#//Expression" containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="actualParams" upperBound="-1" | |
eType="#//ActualParameter" containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="NewExpression" eSuperTypes="#//Expression"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="newType" lowerBound="1" | |
eType="#//TypeReference" containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="actualParams" upperBound="-1" | |
eType="#//ActualParameter" containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="NameReference" abstract="true" eSuperTypes="#//Expression"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="name" lowerBound="1" eType="#//Name" | |
containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="refersTo" lowerBound="1" | |
eType="#//DefinitionObject" containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="LabelAccess" eSuperTypes="#//Expression"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="labelName" lowerBound="1" | |
eType="#//Name" containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="labelDefinition" lowerBound="1" | |
eType="#//LabelDefinition"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="ArrayAccess" eSuperTypes="#//Expression"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="arrayName" lowerBound="1" | |
eType="#//Expression" containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="subscripts" lowerBound="1" | |
upperBound="-1" eType="#//Expression" containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="AnnotationExpression" eSuperTypes="#//Expression"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="annotationType" eType="#//TypeReference" | |
containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="memberValues" upperBound="-1" | |
eType="#//Expression" containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="CollectionExpression" eSuperTypes="#//Expression"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="expressionList" upperBound="-1" | |
eType="#//Expression" containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="IdentifierReference" eSuperTypes="#//NameReference"/> | |
<eClassifiers xsi:type="ecore:EClass" name="QualifiedIdentifierReference" abstract="true" | |
eSuperTypes="#//NameReference"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="qualifiers" lowerBound="1" | |
eType="#//Expression" containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="member" lowerBound="1" | |
eType="#//IdentifierReference" containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="TypeQualifiedIdentifierReference" eSuperTypes="#//NameReference"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="aggregateType" lowerBound="1" | |
upperBound="-1" eType="#//TypeReference" containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="member" lowerBound="1" | |
eType="#//IdentifierReference" containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="QualifiedOverPointer" eSuperTypes="#//QualifiedIdentifierReference"/> | |
<eClassifiers xsi:type="ecore:EClass" name="QualifiedOverData" eSuperTypes="#//QualifiedIdentifierReference"/> | |
<eClassifiers xsi:type="ecore:EClass" name="IntegerLiteral" eSuperTypes="#//Literal"/> | |
<eClassifiers xsi:type="ecore:EClass" name="CharLiteral" eSuperTypes="#//Literal"/> | |
<eClassifiers xsi:type="ecore:EClass" name="RealLiteral" eSuperTypes="#//Literal"/> | |
<eClassifiers xsi:type="ecore:EClass" name="StringLiteral" eSuperTypes="#//Literal"/> | |
<eClassifiers xsi:type="ecore:EClass" name="BooleanLiteral" eSuperTypes="#//Literal"/> | |
<eClassifiers xsi:type="ecore:EClass" name="BitLiteral" eSuperTypes="#//Literal"/> | |
<eClassifiers xsi:type="ecore:EClass" name="EnumLiteral" eSuperTypes="#//Literal"/> | |
<eClassifiers xsi:type="ecore:EClass" name="UnaryPlus" eSuperTypes="#//UnaryOperator"/> | |
<eClassifiers xsi:type="ecore:EClass" name="UnaryMinus" eSuperTypes="#//UnaryOperator"/> | |
<eClassifiers xsi:type="ecore:EClass" name="Not" eSuperTypes="#//UnaryOperator"/> | |
<eClassifiers xsi:type="ecore:EClass" name="BitNot" eSuperTypes="#//UnaryOperator"/> | |
<eClassifiers xsi:type="ecore:EClass" name="AddressOf" eSuperTypes="#//UnaryOperator"/> | |
<eClassifiers xsi:type="ecore:EClass" name="Deref" eSuperTypes="#//UnaryOperator"/> | |
<eClassifiers xsi:type="ecore:EClass" name="Increment" eSuperTypes="#//UnaryOperator"/> | |
<eClassifiers xsi:type="ecore:EClass" name="Decrement" eSuperTypes="#//UnaryOperator"/> | |
<eClassifiers xsi:type="ecore:EClass" name="PostIncrement" eSuperTypes="#//UnaryOperator"/> | |
<eClassifiers xsi:type="ecore:EClass" name="PostDecrement" eSuperTypes="#//UnaryOperator"/> | |
<eClassifiers xsi:type="ecore:EClass" name="Add" eSuperTypes="#//BinaryOperator"/> | |
<eClassifiers xsi:type="ecore:EClass" name="Subtract" eSuperTypes="#//BinaryOperator"/> | |
<eClassifiers xsi:type="ecore:EClass" name="Multiply" eSuperTypes="#//BinaryOperator"/> | |
<eClassifiers xsi:type="ecore:EClass" name="Divide" eSuperTypes="#//BinaryOperator"/> | |
<eClassifiers xsi:type="ecore:EClass" name="Modulus" eSuperTypes="#//BinaryOperator"/> | |
<eClassifiers xsi:type="ecore:EClass" name="Exponent" eSuperTypes="#//BinaryOperator"/> | |
<eClassifiers xsi:type="ecore:EClass" name="And" eSuperTypes="#//BinaryOperator"/> | |
<eClassifiers xsi:type="ecore:EClass" name="Or" eSuperTypes="#//BinaryOperator"/> | |
<eClassifiers xsi:type="ecore:EClass" name="Equal" eSuperTypes="#//BinaryOperator"/> | |
<eClassifiers xsi:type="ecore:EClass" name="NotEqual" eSuperTypes="#//BinaryOperator"/> | |
<eClassifiers xsi:type="ecore:EClass" name="Greater" eSuperTypes="#//BinaryOperator"/> | |
<eClassifiers xsi:type="ecore:EClass" name="NotGreater" eSuperTypes="#//BinaryOperator"/> | |
<eClassifiers xsi:type="ecore:EClass" name="Less" eSuperTypes="#//BinaryOperator"/> | |
<eClassifiers xsi:type="ecore:EClass" name="NotLess" eSuperTypes="#//BinaryOperator"/> | |
<eClassifiers xsi:type="ecore:EClass" name="BitAnd" eSuperTypes="#//BinaryOperator"/> | |
<eClassifiers xsi:type="ecore:EClass" name="BitOr" eSuperTypes="#//BinaryOperator"/> | |
<eClassifiers xsi:type="ecore:EClass" name="BitXor" eSuperTypes="#//BinaryOperator"/> | |
<eClassifiers xsi:type="ecore:EClass" name="BitLeftShift" eSuperTypes="#//BinaryOperator"/> | |
<eClassifiers xsi:type="ecore:EClass" name="BitRightShift" eSuperTypes="#//BinaryOperator"/> | |
<eClassifiers xsi:type="ecore:EClass" name="Assign" eSuperTypes="#//BinaryOperator"/> | |
<eClassifiers xsi:type="ecore:EClass" name="OperatorAssign" eSuperTypes="#//BinaryOperator"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="operator" lowerBound="1" | |
eType="#//BinaryOperator" containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="ActualParameterExpression" abstract="true" | |
eSuperTypes="#//ActualParameter"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="value" lowerBound="1" eType="#//Expression" | |
containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="MissingActualParameter" eSuperTypes="#//ActualParameter"/> | |
<eClassifiers xsi:type="ecore:EClass" name="ByValueActualParameterExpression" eSuperTypes="#//ActualParameterExpression"/> | |
<eClassifiers xsi:type="ecore:EClass" name="ByReferenceActualParameterExpression" | |
eSuperTypes="#//ActualParameterExpression"/> | |
</ecore:EPackage> |