コード例 #1
0
class ClassUsageDictionaryBuilder(NamespaceUsageDictionaryBuilder):
    def __init__(self, namespaceFileName):
        self.namespaceFileName = namespaceFileName
        self.namespaceDict = ClassUsageDictionary()

    ##
    # Create a ClassUsageEntity for the
    # self.currentLine.
    ##
    def buildCurrentEntity(self):
        added = False
        self.currentEntity = None

        if isValidClassUsageLine(self.currentLine):
            self.currentEntity = ClassUsageEntity(self.currentLine)
            added = self.namespaceDict.add(self.currentEntity)

        return added

    ##
    # Mark for each class usage reference whether it is surrounded by a namespace
    # or not. By calculating this information beforehand, verifications of
    # transitively included class usages can be made less expensive.
    ##
    def refineDictWithNamespaceInfo(self, namespaceContainmentChecker):
        for classUsageRef in self.namespaceDict.getAllReferences():
            srcLoc = classUsageRef.getSourceLocation()
            parentNamespaceName = namespaceContainmentChecker.getSurroundingNamespaceName(
                srcLoc)
            classUsageRef.setParentNamespaceName(parentNamespaceName)
コード例 #2
0
class ClassUsageDictionaryBuilder(NamespaceUsageDictionaryBuilder):
	def __init__(self, namespaceFileName):
		self.namespaceFileName = namespaceFileName
		self.namespaceDict = ClassUsageDictionary()

	##
	# Create a ClassUsageEntity for the
	# self.currentLine.
	##
	def buildCurrentEntity(self):
		added = False
		self.currentEntity = None

		if isValidClassUsageLine(self.currentLine):
			self.currentEntity = ClassUsageEntity(self.currentLine)
			added = self.namespaceDict.add(self.currentEntity)

		return added

	##
	# Mark for each class usage reference whether it is surrounded by a namespace
	# or not. By calculating this information beforehand, verifications of
	# transitively included class usages can be made less expensive.
	##
	def refineDictWithNamespaceInfo(self, namespaceContainmentChecker):
		for classUsageRef in self.namespaceDict.getAllReferences():
			srcLoc = classUsageRef.getSourceLocation()
			parentNamespaceName = namespaceContainmentChecker.getSurroundingNamespaceName(srcLoc)
			classUsageRef.setParentNamespaceName(parentNamespaceName)