Skip to content

Implementation of Extension.transitiveExtending is faulty

Similar to #13 (closed), there is an error in the implementation of Extension.transitiveExtending:

    if (self.extending.oclIsKindOf(AnnotationType)) then
     self.extending.oclAsType(AnnotationType).extension
    else
     if (self.extending.oclIsKindOf(ComponentType)) then
      self.extending.oclAsType(AnnotationType).extension
     else
      if (self.extending.oclIsKindOf(GateType)) then
       self.extending.oclAsType(GateType).extension
      else
       if (self.extending.oclIsKindOf(GateType)) then
        self.extending.oclAsType(StructuredDataType).extension
       else
        null
       endif
      endif
     endif
    endif

It should be:

    if (self.extending.oclIsKindOf(AnnotationType)) then
     self.extending.oclAsType(AnnotationType).extension
    else
     if (self.extending.oclIsKindOf(ComponentType)) then
      self.extending.oclAsType(ComponentType).extension
     else
      if (self.extending.oclIsKindOf(GateType)) then
       self.extending.oclAsType(GateType).extension
      else
       if (self.extending.oclIsKindOf(StructuredDataType)) then
        self.extending.oclAsType(StructuredDataType).extension
       else
        null
       endif
      endif
     endif
    endif
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information