📄 scope.java
字号:
/** * BSD-style license; for more info see http://pmd.sourceforge.net/license.html*/package net.sourceforge.pmd.symboltable;import java.util.Map;/** * Provides methods which all scopes must implement * * See JLS 6.3 for a description of scopes */public interface Scope { /** * Returns a Map (VariableNameDeclaration->List(NameOccurrence,NameOccurrence)) of declarations that * exist and are either used or not used at this scope */ Map getVariableDeclarations(boolean lookingForUsed); /** * Add a variable declaration to this scope */ void addDeclaration(VariableNameDeclaration decl); /** * Add a method declaration to this scope */ void addDeclaration(MethodNameDeclaration decl); /** * Tests whether or not a NameOccurrence is directly contained in the scope * Note that if this search is just in this scope - it doesn't go diving into any * contained scopes. */ boolean contains(NameOccurrence occ); /** * Adds a NameOccurrence to this scope - only call this after getting * a true back from contains() */ NameDeclaration addVariableNameOccurrence(NameOccurrence occ); /** * Points this scope to its parent */ void setParent(Scope parent); /** * Retrieves this scope's parent */ Scope getParent(); /** * Goes searching up the tree for this scope's enclosing ClassScope * This is handy if you're buried down in a LocalScope and need to * hop up to the ClassScope to find a method name. */ ClassScope getEnclosingClassScope();}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -