Пример #1
0
def embedAllFunctions(projectRoot,
                      filterName='DefaultFilter',
                      ngramN=None,
                      smallerNgramsToo=None):

    functionEmbedder = Embedder(projectRoot)
    if ngramN != None:
        functionEmbedder.configureNgramCalculator(ngramN, smallerNgramsToo)

    if filterName != 'DefaultFilter':
        """ if filterName == 'OnlyConditionsFilter':
            functionEmbedder.setFilter(OnlyConditionsFilter())
        elif filterName == 'DefaultPlusConditions':
            print 'DefaultPlusConditions'
            functionEmbedder.setFilter(DefaultPlusConditionsFilter())    
        elif filterName == 'IdentifiersInConditions':
            functionEmbedder.setFilter(IdentifiersInConditionsFilter())
        elif filterName == 'WaterOnly':
            functionEmbedder.setFilter(WaterOnlyFilter())
        elif filterName == 'ConditionalExpressions':
            functionEmbedder.setFilter(ConditionalExpressionsFilter())
        """
        if filterName == 'Symbols':
            functionEmbedder.setFilter(SymbolFilter())
        elif filterName == 'APISymbols':
            functionEmbedder.setFilter(APIUsageFilter())

    functionEmbedder.embedAllFunctions()

    name = '%s_%d.pickl' % (filterName, ngramN)
    return functionEmbedder.save(name)
Пример #2
0
 def __init__(self, projectRoot, ngramN, smallerNgramsToo):
     
     self.projectRoot = projectRoot
     self.nCalls = self._determineTotalNumberOfCalls()
     
     self.callAreaExtractor = SinkSnippetExtractor()
     self.embedder = Embedder(projectRoot)
     self.embedder.configureNgramCalculator(ngramN, smallerNgramsToo)
     self.nameDictMapToMatrix = NameDictMapToMatrix()