def resolveAttrType(self, pkgDict, classDict, attrTypeDict): """ resolves attribute type information such as qualified name and source location """ attrType = TypeReference() qualAttrName = self.getQualAttrName() if attrTypeDict.has_key(qualAttrName): attrType.referencedName = attrTypeDict[qualAttrName] else: attrType.referencedName = "" attrType.resolvedName = typeToClass(attrType.referencedName) self.__locateAttributeType(pkgDict, classDict, attrType)
def resolveParentType(self,classDict): parentType = TypeReference() parentType.resolvedName = self.owner parentType.referencedName = \ utils.composeQualifiedName(self.package,self.owner) self.parentType = parentType # TODO package! className = utils.spliceClass( self.parentType.referencedName, \ utils.qualSeparator) srcLocs = classDict.getSourceLocations(className) if 1 == len(srcLocs): dstLoc = srcLocs[0][0] dstLineNr = srcLocs[0][1] self.parentType.sourceFile = dstLoc self.parentType.lineNr = dstLineNr #pkgName = pkgDict.getPackageForFile(dstLoc) #attrType.resolvedName = \ # utils.composeQualifiedName(pkgName,attrType.resolvedName) #attrType.sourceFile = dstLoc #attrType.lineNr = dstLineNr elif 0 == len(srcLocs): self.log.warn( "no source locations for attribute owner: "+\ self.parentType.referencedName+" of attribute "+\ self.owner+"."+self.name) self.parentType.sourceFile = "" self.parentType.lineNr = "0" else: self.log.warn( "multiple source locations for attribute owner: "+\ self.parentType.referencedName+" of attribute "+\ self.owner+"."+self.name) self.parentType.sourceFile = "" self.parentType.lineNr = "0"
def resolveParentType(self,classDict): parentType = TypeReference() parentType.resolvedName = self.owner if "" == self.package: parentType.referencedName = self.owner else: parentType.referencedName = self.package+"::"+self.owner srcLocs = classDict.getSourceLocations(self.owner) if 1 == len(srcLocs): parentType.sourceFile = srcLocs[0][0] parentType.lineNr = srcLocs[0][1] else: self.log.warn("multiple source locations for class",\ parentType.sourceFile) self.parentType = parentType
def resolveParentType(self, classDict): parentType = TypeReference() parentType.resolvedName = self.owner parentType.referencedName = \ utils.composeQualifiedName(self.package,self.owner) self.parentType = parentType # TODO package! className = utils.spliceClass( self.parentType.referencedName, \ utils.qualSeparator) srcLocs = classDict.getSourceLocations(className) if 1 == len(srcLocs): dstLoc = srcLocs[0][0] dstLineNr = srcLocs[0][1] self.parentType.sourceFile = dstLoc self.parentType.lineNr = dstLineNr #pkgName = pkgDict.getPackageForFile(dstLoc) #attrType.resolvedName = \ # utils.composeQualifiedName(pkgName,attrType.resolvedName) #attrType.sourceFile = dstLoc #attrType.lineNr = dstLineNr elif 0 == len(srcLocs): self.log.warn( "no source locations for attribute owner: "+\ self.parentType.referencedName+" of attribute "+\ self.owner+"."+self.name) self.parentType.sourceFile = "" self.parentType.lineNr = "0" else: self.log.warn( "multiple source locations for attribute owner: "+\ self.parentType.referencedName+" of attribute "+\ self.owner+"."+self.name) self.parentType.sourceFile = "" self.parentType.lineNr = "0"
def resolveParentType(self, classDict): parentType = TypeReference() parentType.resolvedName = self.owner if "" == self.package: parentType.referencedName = self.owner else: parentType.referencedName = self.package + "::" + self.owner srcLocs = classDict.getSourceLocations(self.owner) if 1 == len(srcLocs): parentType.sourceFile = srcLocs[0][0] parentType.lineNr = srcLocs[0][1] else: self.log.warn("multiple source locations for class",\ parentType.sourceFile) self.parentType = parentType