Commit ca615ac5 authored by Martti Käärik's avatar Martti Käärik
Browse files

Check assigned literal first to resolve type.

parent 5990e11c
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -791,7 +791,7 @@
  <eClassifiers xsi:type="ecore:EClass" name="LiteralValueUse" eSuperTypes="#//StaticDataUse">
    <eOperations name="resolveBaseDataType" eType="#//DataType">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="&#xA;                if (not self.dataType.oclIsUndefined()) then&#xA;                    self.dataType&#xA;                else &#xA;                    if (self.container().oclIsTypeOf(MemberAssignment)) then&#xA;                        self.container().oclAsType(MemberAssignment).member.dataType&#xA;                    else &#xA;                        if (self.container().oclIsTypeOf(ParameterBinding)) then&#xA;                            self.container().oclAsType(ParameterBinding).parameter.dataType&#xA;                        else&#xA;                            if (not self.intValue.oclIsUndefined()) then&#xA;                                SimpleDataType.allInstances()->select(t | t.name = 'Integer')->asOrderedSet()->first()&#xA;                            else&#xA;                                if (not self.boolValue.oclIsUndefined()) then&#xA;                                    SimpleDataType.allInstances()->select(t | t.name = 'Boolean')->asOrderedSet()->first()&#xA;                                else &#xA;                                    SimpleDataType.allInstances()->select(t | t.name = 'String')->asOrderedSet()->first()&#xA;                                endif&#xA;                            endif&#xA;                        endif&#xA;                    endif&#xA;                endif&#xA;                "/>
        <details key="body" value="&#xA;                if (not self.dataType.oclIsUndefined()) then&#xA;                    self.dataType&#xA;                else &#xA;                    if (not self.intValue.oclIsUndefined()) then&#xA;                        SimpleDataType.allInstances()->select(t | t.name = 'Integer')->asOrderedSet()->first()&#xA;                    else&#xA;                        if (not self.boolValue.oclIsUndefined()) then&#xA;                            SimpleDataType.allInstances()->select(t | t.name = 'Boolean')->asOrderedSet()->first()&#xA;                        else &#xA;&#x9;                        if (not self.value.oclIsUndefined()) then&#xA;&#x9;                            SimpleDataType.allInstances()->select(t | t.name = 'String')->asOrderedSet()->first()&#xA;&#x9;                        else &#xA;&#x9;&#x9;&#x9;                    if (self.container().oclIsTypeOf(MemberAssignment)) then&#xA;&#x9;&#x9;&#x9;                        self.container().oclAsType(MemberAssignment).member.dataType&#xA;&#x9;&#x9;&#x9;                    else &#xA;&#x9;&#x9;&#x9;                        if (self.container().oclIsTypeOf(ParameterBinding)) then&#xA;&#x9;&#x9;&#x9;                            self.container().oclAsType(ParameterBinding).parameter.dataType&#xA;&#x9;                                else&#xA;&#x9;                                    null&#xA;&#x9;&#x9;&#x9;                        endif&#xA;&#x9;&#x9;&#x9;                    endif&#xA;&#x9;&#x9;                    endif&#xA;                        endif&#xA;                    endif&#xA;                endif&#xA;                "/>
      </eAnnotations>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>