com.dp4j.processors.core
Class PrivateAccessProcessor
java.lang.Object
javax.annotation.processing.AbstractProcessor
com.dp4j.processors.DProcessor
com.dp4j.processors.core.PrivateAccessProcessor
- All Implemented Interfaces:
- Processor
@SupportedAnnotationTypes(value={"org.junit.Test","org.testng.annotations.Test","com.dp4j.Reflect","com.dp4j.Hack","com.dp4j.AllowAcessToPrivates","com.dp4j.TestPrivates"})
public class PrivateAccessProcessor
- extends DProcessor
- Author:
- simpatico
Fields inherited from class com.dp4j.processors.DProcessor |
arrayBrac, clazz, elementUtils, encClass, javaLangClass, methTree, msgr, options, rs, symTable, thisExp, tm, trees, typeUtils, varArgsDots, verbose |
Method Summary |
void |
addAnyReflectionAccessExceptions(Node n)
|
protected com.sun.source.tree.BlockTree |
blockify(com.sun.source.tree.StatementTree stmt)
|
Set<String> |
getSupportedOptions()
|
com.sun.tools.javac.code.Type |
getType(com.sun.tools.javac.code.Symbol s)
|
boolean |
isAccessible(com.sun.tools.javac.tree.JCTree.JCExpression exp,
com.sun.source.tree.CompilationUnitTree cut,
Node n)
|
boolean |
isAccessible(com.sun.tools.javac.tree.JCTree.JCFieldAccess fa,
com.sun.source.tree.CompilationUnitTree cut,
Node n)
|
boolean |
isAccessible(com.sun.tools.javac.tree.JCTree.JCMethodInvocation mi,
com.sun.source.tree.CompilationUnitTree cut,
Node n)
|
boolean |
isAccessible(com.sun.tools.javac.tree.JCTree.JCVariableDecl varDecl,
com.sun.source.tree.CompilationUnitTree cut,
Node n)
|
boolean |
isAccessible(com.sun.tools.javac.code.Symbol s,
com.sun.tools.javac.code.Symbol accessor,
com.sun.source.tree.CompilationUnitTree cut,
Node n)
|
protected boolean |
isOnlyHandler(Set<? extends TypeElement> annotations)
Junit or someone else might want to handle it |
protected com.sun.tools.javac.tree.JCTree.JCExpression |
processCond(com.sun.tools.javac.tree.JCTree.JCArrayAccess ifExp,
com.sun.source.tree.CompilationUnitTree cut,
Node n,
com.sun.tools.javac.tree.JCTree.JCBlock encBlock)
|
protected com.sun.tools.javac.tree.JCTree.JCExpression |
processCond(com.sun.tools.javac.tree.JCTree.JCAssign assignExp,
com.sun.source.tree.CompilationUnitTree cut,
Node n,
com.sun.tools.javac.tree.JCTree.JCBlock encBlock)
|
protected com.sun.tools.javac.tree.JCTree.JCExpression |
processCond(com.sun.tools.javac.tree.JCTree.JCBinary ifB,
com.sun.source.tree.CompilationUnitTree cut,
Node n,
com.sun.tools.javac.tree.JCTree.JCBlock encBlock)
|
protected com.sun.tools.javac.tree.JCTree.JCExpression |
processCond(com.sun.tools.javac.tree.JCTree.JCExpression ifExp,
com.sun.source.tree.CompilationUnitTree cut,
Node n,
com.sun.tools.javac.tree.JCTree.JCBlock encBlock)
|
protected com.sun.tools.javac.tree.JCTree.JCExpression |
processCond(com.sun.tools.javac.tree.JCTree.JCFieldAccess fa,
com.sun.source.tree.CompilationUnitTree cut,
Node n,
com.sun.tools.javac.tree.JCTree.JCBlock encBlock)
|
protected com.sun.tools.javac.tree.JCTree.JCExpression |
processCond(com.sun.tools.javac.tree.JCTree.JCIdent ifExp,
com.sun.source.tree.CompilationUnitTree cut,
Node n,
com.sun.tools.javac.tree.JCTree.JCBlock encBlock)
|
protected com.sun.tools.javac.tree.JCTree.JCExpression |
processCond(com.sun.tools.javac.tree.JCTree.JCLiteral ifExp,
com.sun.source.tree.CompilationUnitTree cut,
Node n,
com.sun.tools.javac.tree.JCTree.JCBlock encBlock)
|
protected com.sun.tools.javac.tree.JCTree.JCExpression |
processCond(com.sun.tools.javac.tree.JCTree.JCMethodInvocation mi,
com.sun.source.tree.CompilationUnitTree cut,
Node n,
com.sun.tools.javac.tree.JCTree.JCBlock encBlock)
|
protected com.sun.tools.javac.tree.JCTree.JCExpression |
processCond(com.sun.tools.javac.tree.JCTree.JCNewClass init,
com.sun.source.tree.CompilationUnitTree cut,
Node n,
com.sun.tools.javac.tree.JCTree.JCBlock encBlock)
|
protected com.sun.tools.javac.tree.JCTree.JCExpression |
processCond(com.sun.tools.javac.tree.JCTree.JCTypeCast cast,
com.sun.source.tree.CompilationUnitTree cut,
Node n,
com.sun.tools.javac.tree.JCTree.JCBlock encBlock)
|
protected com.sun.tools.javac.tree.JCTree.JCBlock |
processElement(com.sun.source.tree.BlockTree tree,
com.sun.source.tree.CompilationUnitTree cut,
com.sun.source.tree.Tree scopeTree)
|
protected void |
processElement(Element e,
TypeElement ann,
boolean warningsOnly)
|
protected com.sun.tools.javac.tree.JCTree.JCBlock |
processElement(com.sun.tools.javac.tree.JCTree.JCBlock tree,
com.sun.source.tree.CompilationUnitTree cut,
com.sun.source.tree.Scope validScope)
|
protected com.sun.tools.javac.util.List<? extends com.sun.source.tree.Tree> |
processStmt(com.sun.source.tree.StatementTree stmt,
com.sun.source.tree.CompilationUnitTree cut,
com.sun.tools.javac.tree.JCTree.JCBlock encBlock,
com.sun.source.tree.Scope validScope)
|
protected List<? extends com.sun.source.tree.Tree> |
processStmt(StmtNode n,
com.sun.source.tree.CompilationUnitTree cut,
com.sun.tools.javac.tree.JCTree.JCBlock encBlock)
required for injecting reflection statements globally, and also when not possible locally, eg. |
void |
reflect(com.sun.tools.javac.code.Symbol symbol,
com.sun.source.tree.CompilationUnitTree cut,
List<? extends com.sun.tools.javac.code.Symbol> params,
Node n,
com.sun.tools.javac.tree.JCTree.JCBlock encBlock,
com.sun.tools.javac.util.Name accesseeVarName)
|
protected void |
reflect(com.sun.tools.javac.code.Symbol s,
com.sun.source.tree.CompilationUnitTree cut,
Node n,
com.sun.tools.javac.util.List<com.sun.tools.javac.tree.JCTree.JCExpression> args,
com.sun.tools.javac.tree.JCTree.JCBlock encBlock)
|
Methods inherited from class com.dp4j.processors.DProcessor |
differentArg, emptyList, getArray, getArray, getArrayDecl, getArrayDecl, getBlock, getCatches, getCatches, getDeclaredType, getElementsAnnotated, getEmptyArgsConstructor, getId, getId, getIdAfterImporting, getIdentAfterImporting, getIfNull, getIfNull, getMethodInvoc, getMethodInvoc, getMethodInvoc, getMethodInvoc, getMethodInvoc, getMethodInvoc, getMethodInvoc, getMethodsWithSameName, getNull, getParamsList, getRefMethodInvoc, getSmallerList, getSupportedSourceVersion, getTypeElement, getTypes, getVarDecl, getVarDecl, getVarDecl, getVarDecl, init, injectBefore, merge, printMsg, printVerbose, process, replace, throwException, throwExceptions, throwExceptions, toList, toString |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
PrivateAccessProcessor
public PrivateAccessProcessor()
getType
public com.sun.tools.javac.code.Type getType(com.sun.tools.javac.code.Symbol s)
getSupportedOptions
public Set<String> getSupportedOptions()
- Specified by:
getSupportedOptions
in interface Processor
- Overrides:
getSupportedOptions
in class DProcessor
processElement
protected void processElement(Element e,
TypeElement ann,
boolean warningsOnly)
- Specified by:
processElement
in class DProcessor
processElement
protected com.sun.tools.javac.tree.JCTree.JCBlock processElement(com.sun.tools.javac.tree.JCTree.JCBlock tree,
com.sun.source.tree.CompilationUnitTree cut,
com.sun.source.tree.Scope validScope)
processElement
protected com.sun.tools.javac.tree.JCTree.JCBlock processElement(com.sun.source.tree.BlockTree tree,
com.sun.source.tree.CompilationUnitTree cut,
com.sun.source.tree.Tree scopeTree)
blockify
protected com.sun.source.tree.BlockTree blockify(com.sun.source.tree.StatementTree stmt)
processStmt
protected com.sun.tools.javac.util.List<? extends com.sun.source.tree.Tree> processStmt(com.sun.source.tree.StatementTree stmt,
com.sun.source.tree.CompilationUnitTree cut,
com.sun.tools.javac.tree.JCTree.JCBlock encBlock,
com.sun.source.tree.Scope validScope)
processStmt
protected List<? extends com.sun.source.tree.Tree> processStmt(StmtNode n,
com.sun.source.tree.CompilationUnitTree cut,
com.sun.tools.javac.tree.JCTree.JCBlock encBlock)
- required for injecting reflection statements globally, and also when not possible locally, eg. if-expr
- Parameters:
n
- cut
- encBlock
-
- Returns:
- encBlock possibly with reflection injected
processCond
protected com.sun.tools.javac.tree.JCTree.JCExpression processCond(com.sun.tools.javac.tree.JCTree.JCFieldAccess fa,
com.sun.source.tree.CompilationUnitTree cut,
Node n,
com.sun.tools.javac.tree.JCTree.JCBlock encBlock)
processCond
protected com.sun.tools.javac.tree.JCTree.JCExpression processCond(com.sun.tools.javac.tree.JCTree.JCMethodInvocation mi,
com.sun.source.tree.CompilationUnitTree cut,
Node n,
com.sun.tools.javac.tree.JCTree.JCBlock encBlock)
processCond
protected com.sun.tools.javac.tree.JCTree.JCExpression processCond(com.sun.tools.javac.tree.JCTree.JCNewClass init,
com.sun.source.tree.CompilationUnitTree cut,
Node n,
com.sun.tools.javac.tree.JCTree.JCBlock encBlock)
processCond
protected com.sun.tools.javac.tree.JCTree.JCExpression processCond(com.sun.tools.javac.tree.JCTree.JCIdent ifExp,
com.sun.source.tree.CompilationUnitTree cut,
Node n,
com.sun.tools.javac.tree.JCTree.JCBlock encBlock)
processCond
protected com.sun.tools.javac.tree.JCTree.JCExpression processCond(com.sun.tools.javac.tree.JCTree.JCTypeCast cast,
com.sun.source.tree.CompilationUnitTree cut,
Node n,
com.sun.tools.javac.tree.JCTree.JCBlock encBlock)
processCond
protected com.sun.tools.javac.tree.JCTree.JCExpression processCond(com.sun.tools.javac.tree.JCTree.JCLiteral ifExp,
com.sun.source.tree.CompilationUnitTree cut,
Node n,
com.sun.tools.javac.tree.JCTree.JCBlock encBlock)
processCond
protected com.sun.tools.javac.tree.JCTree.JCExpression processCond(com.sun.tools.javac.tree.JCTree.JCBinary ifB,
com.sun.source.tree.CompilationUnitTree cut,
Node n,
com.sun.tools.javac.tree.JCTree.JCBlock encBlock)
processCond
protected com.sun.tools.javac.tree.JCTree.JCExpression processCond(com.sun.tools.javac.tree.JCTree.JCAssign assignExp,
com.sun.source.tree.CompilationUnitTree cut,
Node n,
com.sun.tools.javac.tree.JCTree.JCBlock encBlock)
processCond
protected com.sun.tools.javac.tree.JCTree.JCExpression processCond(com.sun.tools.javac.tree.JCTree.JCArrayAccess ifExp,
com.sun.source.tree.CompilationUnitTree cut,
Node n,
com.sun.tools.javac.tree.JCTree.JCBlock encBlock)
processCond
protected com.sun.tools.javac.tree.JCTree.JCExpression processCond(com.sun.tools.javac.tree.JCTree.JCExpression ifExp,
com.sun.source.tree.CompilationUnitTree cut,
Node n,
com.sun.tools.javac.tree.JCTree.JCBlock encBlock)
isAccessible
public boolean isAccessible(com.sun.tools.javac.tree.JCTree.JCMethodInvocation mi,
com.sun.source.tree.CompilationUnitTree cut,
Node n)
isAccessible
public boolean isAccessible(com.sun.tools.javac.tree.JCTree.JCFieldAccess fa,
com.sun.source.tree.CompilationUnitTree cut,
Node n)
isAccessible
public boolean isAccessible(com.sun.tools.javac.tree.JCTree.JCVariableDecl varDecl,
com.sun.source.tree.CompilationUnitTree cut,
Node n)
isAccessible
public boolean isAccessible(com.sun.tools.javac.tree.JCTree.JCExpression exp,
com.sun.source.tree.CompilationUnitTree cut,
Node n)
isAccessible
public boolean isAccessible(com.sun.tools.javac.code.Symbol s,
com.sun.tools.javac.code.Symbol accessor,
com.sun.source.tree.CompilationUnitTree cut,
Node n)
reflect
protected void reflect(com.sun.tools.javac.code.Symbol s,
com.sun.source.tree.CompilationUnitTree cut,
Node n,
com.sun.tools.javac.util.List<com.sun.tools.javac.tree.JCTree.JCExpression> args,
com.sun.tools.javac.tree.JCTree.JCBlock encBlock)
reflect
public void reflect(com.sun.tools.javac.code.Symbol symbol,
com.sun.source.tree.CompilationUnitTree cut,
List<? extends com.sun.tools.javac.code.Symbol> params,
Node n,
com.sun.tools.javac.tree.JCTree.JCBlock encBlock,
com.sun.tools.javac.util.Name accesseeVarName)
addAnyReflectionAccessExceptions
public void addAnyReflectionAccessExceptions(Node n)
isOnlyHandler
protected boolean isOnlyHandler(Set<? extends TypeElement> annotations)
- Junit or someone else might want to handle it
- Overrides:
isOnlyHandler
in class DProcessor
- Parameters:
annotations
-
- Returns:
- true if it's the only handler for all the given annotations.
Copyright © 2011. All Rights Reserved.