allClassesSorted()
click to toggle source
def allClassesSorted
inheritanceOrderClasses(classesInGenerationOrdering)
end
ancestorPackages()
click to toggle source
def ancestorPackages
return [] unless eSuperPackage
[eSuperPackage] + eSuperPackage.ancestorPackages
end
classesInGenerationOrdering()
click to toggle source
def classesInGenerationOrdering
ownClasses + eSubpackages.collect{|s| s.classesInGenerationOrdering}.flatten
end
eAllClasses()
click to toggle source
def eAllClasses
eClasses + eSubpackages.eAllClasses
end
eAllClassifiers()
click to toggle source
def eAllClassifiers
eClassifiers + eSubpackages.eAllClassifiers
end
eAllDataTypes()
click to toggle source
def eAllDataTypes
eDataTypes + eSubpackages.eAllDataTypes
end
eAllSubpackages()
click to toggle source
def eAllSubpackages
eSubpackages + eSubpackages.eAllSubpackages
end
eClasses()
click to toggle source
def eClasses
eClassifiers.select{|c| c.is_a?(ECore::EClass)}
end
eDataTypes()
click to toggle source
def eDataTypes
eClassifiers.select{|c| c.is_a?(ECore::EDataType)}
end
inheritanceOrderClasses(cls)
click to toggle source
def inheritanceOrderClasses(cls)
sortArray = cls.dup
i1 = 0
while i1 < sortArray.size-1
again = false
for i2 in i1+1..sortArray.size-1
e2 = sortArray[i2]
if sortArray[i1].eSuperTypes.include?(e2)
sortArray.delete(e2)
sortArray.insert(i1,e2)
again = true
break
end
end
i1 += 1 unless again
end
sortArray
end
moduleName()
click to toggle source
def moduleName
firstToUpper(name)
end
needClassReorder?()
click to toggle source
def needClassReorder?
classesInGenerationOrdering != inheritanceOrderClasses(classesInGenerationOrdering)
end
ownClasses()
click to toggle source
def ownClasses
eClassifiers.select{|c| c.is_a?(EClass)}
end
qualifiedModuleName(rootPackage)
click to toggle source
def qualifiedModuleName(rootPackage)
return moduleName unless eSuperPackage and self != rootPackage
eSuperPackage.qualifiedModuleName(rootPackage) + "::" + moduleName
end
qualifiedName()
click to toggle source
def qualifiedName
if eSuperPackage
eSuperPackage.qualifiedName+"::"+name
else
name
end
end