Changeset 41


Ignore:
Timestamp:
10/04/11 12:06:41 (13 years ago)
Author:
phdmakk
Message:

+ integrated reference cache extension, needs to be made configurable or at least "smart" so it skips caching when not needed

Location:
trunk/t3q/src/org/etsi/t3q/visitor
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/t3q/src/org/etsi/t3q/visitor/QualityChecker.java

    r40 r41  
    3030 
    3131import de.ugoe.cs.swe.trex.core.analyzer.astutil.ReferenceFinder; 
     32import de.ugoe.cs.swe.trex.core.analyzer.astutil.ReferenceFinderWithCache; 
    3233import de.ugoe.cs.swe.trex.core.analyzer.astutil.ReferenceWithContext; 
    3334import de.ugoe.cs.swe.trex.core.analyzer.rfparser.ASTUtil; 
     
    5455        private ArrayList<LocationAST> subsequentLogStatementNodes = new ArrayList<LocationAST>(); 
    5556        private Stack<LocationAST> cyclicFunctionReferences = new Stack<LocationAST>(); 
     57 
     58        private ReferenceFinder referenceFinder; 
    5659         
    5760         
     
    6063                this.logger = new LoggingInterface(T3Q.activeProfile.getLoggingConfiguration()); 
    6164                this.logger.setMaximumLogLevel(T3Q.getLogLevel()); 
     65                this.setReferenceFinder(new ReferenceFinderWithCache()); 
    6266        } 
    6367         
     
    158162                Symbol functionDefSymbol = functionDefIdentifierNode.getSymbol(); 
    159163 
    160                 ReferenceFinder referenceFinder = new ReferenceFinder(); 
    161                 Map<String, List<ReferenceWithContext>> referenceMap = referenceFinder 
     164                Map<String, List<ReferenceWithContext>> referenceMap = getReferenceFinder() 
    162165                                .findReferences(functionDefSymbol); 
    163166                if (referenceMap.isEmpty()) { 
     
    252255                        } 
    253256                         
    254                         ReferenceFinder referenceFinder = new ReferenceFinder(); 
    255                         Map<String, List<ReferenceWithContext>> referenceMap = referenceFinder 
     257                        Map<String, List<ReferenceWithContext>> referenceMap = getReferenceFinder() 
    256258                                        .findReferences(relevantSymbols); 
    257259                        Iterator<List<ReferenceWithContext>> referenceMapIterator = referenceMap 
     
    401403                } 
    402404                 
    403                 ReferenceFinder referenceFinder = new ReferenceFinder(); 
    404405                String moduleDefinitionIdentifierText; 
    405406                if (node.getType()!=TTCN3ParserTokenTypes.ModuleDefinition) { 
     
    410411                for (LocationAST localDefinitionIdentifier : localDefinitionsIdentifiersList) { 
    411412                        Symbol symbol = localDefinitionIdentifier.getFirstChild().getSymbol(); 
    412                         if (referenceFinder.countReferences(symbol)==0) { 
     413                        if (getReferenceFinder().countReferences(symbol)==0) { 
    413414                                this.getLoggingInterface().logWarning(localDefinitionIdentifier.getLine(), 
    414415                                                localDefinitionIdentifier.getEndLine(), 
     
    492493                 
    493494                Symbol formalParSymbol = identifierNode.getFirstChild().getSymbol(); 
    494                 ReferenceFinder referenceFinder = new ReferenceFinder(); 
    495495                int referenceCount = 0; 
    496                 referenceCount = referenceFinder.countReferences(formalParSymbol); 
     496                referenceCount = getReferenceFinder().countReferences(formalParSymbol); 
    497497                if (referenceCount == 0) { 
    498498                        String containingModuleDefinitionName = node.getContainingModuleDefinitionIdentifiersList().get(0).getFirstChild().getText(); 
     
    516516                Symbol moduleSymbol = moduleIdentifier.getFirstChild().getSymbol(); 
    517517 
    518                 ReferenceFinder referenceFinder = new ReferenceFinder(); 
    519                 Map<String, List<ReferenceWithContext>> referenceMap = referenceFinder.findReferences(moduleSymbol); 
     518                Map<String, List<ReferenceWithContext>> referenceMap = getReferenceFinder().findReferences(moduleSymbol); 
    520519                Iterator<List<ReferenceWithContext>> referenceMapIterator = referenceMap.values().iterator(); 
    521520                while (referenceMapIterator.hasNext()) { 
     
    544543                Symbol moduleSymbol = moduleIdentifier.getFirstChild().getSymbol(); 
    545544 
    546                 ReferenceFinder referenceFinder = new ReferenceFinder(); 
    547                 Map<String, List<ReferenceWithContext>> referenceMap = referenceFinder.findReferences(moduleSymbol); 
     545                Map<String, List<ReferenceWithContext>> referenceMap = getReferenceFinder().findReferences(moduleSymbol); 
    548546                Iterator<List<ReferenceWithContext>> referenceMapIterator = referenceMap.values().iterator(); 
    549547                while (referenceMapIterator.hasNext()) { 
     
    863861                } 
    864862                 
    865                 ReferenceFinder referenceFinder = new ReferenceFinder(); 
    866  
    867                 Map<String, List<ReferenceWithContext>> referenceMap = referenceFinder 
     863                Map<String, List<ReferenceWithContext>> referenceMap = getReferenceFinder() 
    868864                                .findReferences(localDefinitionsSymbolsList); 
    869865                 
     
    10171013                                return; 
    10181014                        } 
    1019                         ReferenceFinder referenceFinder = new ReferenceFinder(); 
    1020                         if (referenceFinder.countReferences(s) == 0) { 
     1015                        if (getReferenceFinder().countReferences(s) == 0) { 
    10211016                                // TODO: add stats counters 
    10221017                                // TODO: add type information 
     
    10301025                        } else { 
    10311026                                int referencesOutsideImports = 0; 
    1032                                 Map<String, List<ReferenceWithContext>> referenceMap = referenceFinder.findReferences(s); 
     1027                                Map<String, List<ReferenceWithContext>> referenceMap = getReferenceFinder().findReferences(s); 
    10331028                                Iterator<List<ReferenceWithContext>> referenceMapIterator = referenceMap.values().iterator(); 
    10341029                                while (referenceMapIterator.hasNext()) { 
     
    25522547        } 
    25532548 
     2549        public void setReferenceFinder(ReferenceFinder referenceFinder) { 
     2550                this.referenceFinder = referenceFinder; 
     2551        } 
     2552 
     2553        public ReferenceFinder getReferenceFinder() { 
     2554                return referenceFinder; 
     2555        } 
     2556 
    25542557 
    25552558 
  • trunk/t3q/src/org/etsi/t3q/visitor/QualityCheckerExtras.java

    r7 r41  
    4040                        Symbol s = identifierNode.getFirstChild().getSymbol(); 
    4141                        //TODO: add safety check here  
    42                         ReferenceFinder referenceFinder = new ReferenceFinder(); 
    43                         if (referenceFinder.countReferences(s) == 0){ 
     42                        if (getReferenceFinder().countReferences(s) == 0){ 
    4443                                //TODO: add stats counters 
    4544                                //TODO: add type information 
     
    9291                                                        Symbol altstepDefSymbol = altstepDefIdentifierNode.getSymbol(); 
    9392         
    94                                                         ReferenceFinder referenceFinder = new ReferenceFinder(); 
    95                                                         Map<String, List<ReferenceWithContext>> referenceMap = referenceFinder 
     93                                                        Map<String, List<ReferenceWithContext>> referenceMap = getReferenceFinder() 
    9694                                                                        .findReferences(altstepDefSymbol); 
    9795                                                        if (referenceMap.isEmpty()) { 
Note: See TracChangeset for help on using the changeset viewer.