📄 basicscopefactorytest.java
字号:
/** * BSD-style license; for more info see http://pmd.sourceforge.net/license.html*/package test.net.sourceforge.pmd.symboltable;import junit.framework.TestCase;import net.sourceforge.pmd.ast.ASTBlock;import net.sourceforge.pmd.ast.ASTClassBodyDeclaration;import net.sourceforge.pmd.ast.ASTCompilationUnit;import net.sourceforge.pmd.ast.ASTConstructorDeclaration;import net.sourceforge.pmd.ast.ASTForStatement;import net.sourceforge.pmd.ast.ASTIfStatement;import net.sourceforge.pmd.ast.ASTMethodDeclaration;import net.sourceforge.pmd.ast.ASTTryStatement;import net.sourceforge.pmd.ast.ASTUnmodifiedClassDeclaration;import net.sourceforge.pmd.ast.ASTUnmodifiedInterfaceDeclaration;import net.sourceforge.pmd.symboltable.BasicScopeFactory;import net.sourceforge.pmd.symboltable.ClassScope;import net.sourceforge.pmd.symboltable.GlobalScope;import net.sourceforge.pmd.symboltable.LocalScope;import net.sourceforge.pmd.symboltable.MethodScope;import net.sourceforge.pmd.symboltable.ScopeFactory;import java.util.Stack;public class BasicScopeFactoryTest extends TestCase { public void testGlobalScope() { ScopeFactory sf = new BasicScopeFactory(); Stack s = new Stack(); sf.openScope(s, new ASTCompilationUnit(1)); assertEquals(1, s.size()); assertTrue(s.get(0) instanceof GlobalScope); } public void testClassScope() { ScopeFactory sf = new BasicScopeFactory(); Stack s = new Stack(); sf.openScope(s, new ASTCompilationUnit(1)); sf.openScope(s, new ASTUnmodifiedClassDeclaration(2)); assertTrue(s.get(1) instanceof ClassScope); sf.openScope(s, new ASTUnmodifiedInterfaceDeclaration(1)); assertTrue(s.get(2) instanceof ClassScope); sf.openScope(s, new ASTClassBodyDeclaration(1)); assertTrue(s.get(3) instanceof ClassScope); } public void testMethodScope() { ScopeFactory sf = new BasicScopeFactory(); Stack s = new Stack(); sf.openScope(s, new ASTCompilationUnit(1)); sf.openScope(s, new ASTMethodDeclaration(2)); assertTrue(s.get(1) instanceof MethodScope); sf.openScope(s, new ASTConstructorDeclaration(1)); assertTrue(s.get(2) instanceof MethodScope); } public void testLocalScope() { ScopeFactory sf = new BasicScopeFactory(); Stack s = new Stack(); sf.openScope(s, new ASTCompilationUnit(1)); sf.openScope(s, new ASTBlock(2)); assertTrue(s.get(1) instanceof LocalScope); sf.openScope(s, new ASTTryStatement(1)); assertTrue(s.get(2) instanceof LocalScope); sf.openScope(s, new ASTForStatement(1)); assertTrue(s.get(3) instanceof LocalScope); sf.openScope(s, new ASTIfStatement(1)); assertTrue(s.get(4) instanceof LocalScope); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -