diff --git a/pmd/src/net/sourceforge/pmd/PMD.java b/pmd/src/net/sourceforge/pmd/PMD.java index 696c5579c7..b392e09846 100644 --- a/pmd/src/net/sourceforge/pmd/PMD.java +++ b/pmd/src/net/sourceforge/pmd/PMD.java @@ -56,7 +56,7 @@ public class PMD { } /** - * Processes the file read by the reader agains the rule set. + * Processes the file read by the reader against the rule set. * * @param reader input stream reader * @param ruleSets set of rules to process against the file @@ -69,12 +69,12 @@ public class PMD { SourceType sourceType) throws PMDException { try { SourceTypeHandler sourceTypeHandler = sourceTypeHandlerBroker.getVisitorsFactoryForSourceType(sourceType); + ctx.setSourceType(sourceType); Parser parser = sourceTypeHandler.getParser(); parser.setExcludeMarker(excludeMarker); Object rootNode = parser.parse(reader); ctx.excludeLines(parser.getExcludeMap()); Thread.yield(); - // TODO - move SymbolFacade traversal inside JavaParser.CompilationUnit() sourceTypeHandler.getSymbolFacade().start(rootNode); Language language = SourceTypeToRuleLanguageMapper.getMappedLanguage(sourceType); diff --git a/pmd/src/net/sourceforge/pmd/RuleContext.java b/pmd/src/net/sourceforge/pmd/RuleContext.java index c46c2c6df7..a8ea994278 100644 --- a/pmd/src/net/sourceforge/pmd/RuleContext.java +++ b/pmd/src/net/sourceforge/pmd/RuleContext.java @@ -9,6 +9,7 @@ public class RuleContext { private Report report = new Report(); private String sourceCodeFilename; + private SourceType sourceType; public Report getReport() { return report; @@ -29,4 +30,12 @@ public class RuleContext { public void excludeLines(Map lines) { report.exclude(lines); } + + public SourceType getSourceType() { + return this.sourceType; + } + + public void setSourceType(SourceType t) { + this.sourceType = t; + } }