1 package net.sourceforge.pmd.lang.java.symboltable;
2
3 import java.io.StringReader;
4
5 import net.sourceforge.pmd.lang.LanguageRegistry;
6 import net.sourceforge.pmd.lang.LanguageVersion;
7 import net.sourceforge.pmd.lang.LanguageVersionHandler;
8 import net.sourceforge.pmd.lang.java.JavaLanguageModule;
9 import net.sourceforge.pmd.lang.java.ast.ASTCompilationUnit;
10 import net.sourceforge.pmd.lang.java.symboltable.SymbolFacade;
11
12 public abstract class STBBaseTst {
13
14 protected ASTCompilationUnit acu;
15 protected SymbolFacade stb;
16
17 protected void parseCode(String code) {
18 parseCode(code, LanguageRegistry.getLanguage(JavaLanguageModule.NAME).getDefaultVersion());
19 }
20
21 protected void parseCode15(String code) {
22 parseCode(code, LanguageRegistry.getLanguage(JavaLanguageModule.NAME).getVersion("1.5"));
23 }
24
25 protected void parseCode(String code, LanguageVersion languageVersion) {
26 LanguageVersionHandler languageVersionHandler = languageVersion.getLanguageVersionHandler();
27 acu = (ASTCompilationUnit)languageVersionHandler.getParser(languageVersionHandler.getDefaultParserOptions()).parse(null, new StringReader(code));
28 stb = new SymbolFacade();
29 stb.initializeWith(acu);
30 }
31 }