| java.lang.Object net.sf.clirr.core.internal.AbstractDiffReporter net.sf.clirr.core.internal.checks.ClassScopeCheck
ClassScopeCheck | final public class ClassScopeCheck extends AbstractDiffReporter implements ClassChangeCheck(Code) | | Detects changes in class access declaration, for both "top-level" classes,
and nested classes.
Java class files only ever contain scope specifiers of "public" or "package".
For top-level classes, this is expected: it is not possible to have a
top-level protected or private class.
However nested classes can be declared as protected or private. The
way to tell the real scope of a nested class is to ignore the scope in
the actual class file itself, and instead look in the "InnerClasses"
attribute stored on the enclosing class. This is exactly what the java
compiler does when compiling, and what the jvm does when verifying class
linkage at runtime.
author: Simon Kitching |
ClassScopeCheck | public ClassScopeCheck(ApiDiffDispatcher dispatcher, ScopeSelector scopeSelector)(Code) | | Create a new instance of this check.
Parameters: dispatcher - the diff dispatcher that distributes the detected changes to the listeners. |
Methods inherited from net.sf.clirr.core.internal.AbstractDiffReporter | final protected ApiDiffDispatcher getApiDiffDispatcher()(Code)(Java Doc) final protected Severity getSeverity(JavaType clazz, Severity sev)(Code)(Java Doc) final protected Severity getSeverity(JavaType clazz, Method method, Severity sev)(Code)(Java Doc) final protected Severity getSeverity(JavaType clazz, Field field, Severity sev)(Code)(Java Doc) final protected void log(Message msg, Severity severity, String clazz, Method method, Field field, String[] args)(Code)(Java Doc)
|
|
|