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