⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 basicscopefactorytest.java

📁 检查Java程序漏洞
💻 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 + -