|
|||||||||
| Home >> All >> com >> puppycrawl >> tools >> checkstyle >> checks >> usage >> [ transmogrify overview ] | PREV CLASS NEXT CLASS | ||||||||
SUMMARY: JAVADOC | SOURCE | DOWNLOAD | NESTED | FIELD | CONSTR | METHOD |
DETAIL: FIELD | CONSTR | METHOD | ||||||||
com.puppycrawl.tools.checkstyle.checks.usage.transmogrify
Class Resolver

java.lang.Objectcom.puppycrawl.tools.checkstyle.checks.usage.transmogrify.DefinitionTraverser
com.puppycrawl.tools.checkstyle.checks.usage.transmogrify.Resolver
- public class Resolver
- extends DefinitionTraverser
The resolver is responsible for traversing all the various definitions in a symbol table and resolving references in them.
| Field Summary | |
private boolean |
mInitialized
true if the log factory has been initialized |
private org.apache.commons.logging.LogFactory |
mLogFactory
Factory for creating org.apache.commons.logging.Log instances |
| Fields inherited from class com.puppycrawl.tools.checkstyle.checks.usage.transmogrify.DefinitionTraverser |
_symbolTable |
| Constructor Summary | |
Resolver(SymbolTable symbolTable)
constructor with SymbolTable to be resolved |
|
| Method Summary | |
private IClass |
binaryResultType(IClass a,
IClass b)
Returns the ClassDef for the type to which arithmetic
expressions evaluate. |
protected void |
handleAnonymousInnerClass(AnonymousInnerClass innerClass)
|
private void |
handleAssert(BlockDef block)
|
protected void |
handleBlock(BlockDef block)
processes a BlockDef and resolves references in it |
private void |
handleCatch(BlockDef block)
processes a catch block and resolves references in it |
protected void |
handleClass(ClassDef classDef)
processes a ClassDef and resolves references in it |
private void |
handleDoWhile(BlockDef block)
|
private void |
handleFor(BlockDef block)
processes a for loop and resolves references in it |
private void |
handleIf(BlockDef block)
processes an if statement and resolves references in it |
protected void |
handleLabel(LabelDef label)
processes a label and resolves references in it |
protected void |
handleMethod(MethodDef method)
processes a MethodDef and resolves references in it |
protected void |
handleSList(SymTabAST node,
Scope scope)
|
private void |
handleSwitch(BlockDef block)
processes a switch statement and resolves references in it |
protected void |
handleVariable(VariableDef variable)
processes a variable definition and resolves references in it |
private void |
handleWhileAndSynchronized(BlockDef block)
processes a while loop and resolves references in it |
private IClass |
moreGeneral(IClass a,
IClass b)
|
private boolean |
newIsConstructor(SymTabAST newNode)
|
void |
resolve()
resolves the symbol table |
private IClass |
resolveArithmeticExpression(SymTabAST expression,
Scope location,
IClass context,
boolean referencePhase)
Resolves an arithmetic expression. |
private IClass |
resolveArrayAccess(SymTabAST node,
Scope location,
IClass context,
boolean referencePhase)
|
private void |
resolveArrayInitializer(SymTabAST initializerNode,
Scope location,
IClass context,
boolean referencePhase)
Resolves a constructor call. |
private IClass |
resolveAssignment(SymTabAST expression,
Scope location,
IClass context,
boolean referencePhase)
resolves references in an assignment expression |
private IClass |
resolveBitwiseNot(SymTabAST expression,
Scope location,
IClass context,
boolean referencePhase)
|
private IClass |
resolveBooleanExpression(SymTabAST expression,
Scope location,
IClass context,
boolean referencePhase)
Resolves a (binary) boolean expression. |
private IClass |
resolveBooleanLiteral(SymTabAST expression,
Scope location,
IClass context)
Describe resolveBooleanLiteral method here. |
private IClass |
resolveBooleanUnary(SymTabAST expression,
Scope location,
IClass context,
boolean referencePhase)
|
private IClass |
resolveCharLiteral(SymTabAST expression,
Scope location,
IClass context)
Returns the ClassDef type of a character literal |
IClass |
resolveClass(SymTabAST expr,
Scope location,
IClass context,
boolean referencePhase)
resolves Class type expression |
IClass |
resolveClassIdent(SymTabAST expr,
Scope location,
IClass context,
boolean referencePhase)
resolves expression with JavaTokenTypes |
private IClass |
resolveConstructor(SymTabAST constructor,
Scope location,
IClass context,
boolean referencePhase)
Resolves a constructor call. |
private IClass |
resolveDottedName(SymTabAST tree,
Scope location,
IClass context,
boolean referencePhase)
Resolves any dotted reference, returning the Scope
identified by the reference. |
IClass |
resolveExpression(SymTabAST expression,
Scope location,
IClass context,
boolean referencePhase)
Resolves Java expressions, returning the type to which the expression evalutes. |
private IClass |
resolveGoto(SymTabAST expression,
Scope location,
IClass context,
boolean referencePhase)
resolves references in a a break statement |
private IClass |
resolveIdent(SymTabAST ident,
Scope location,
IClass context,
boolean referencePhase)
Resolves an IDENT node of an AST, creating the appropriate reference and returning the scope of the identifer. |
private IClass |
resolveInstanceOf(SymTabAST expression,
Scope location,
IClass context,
boolean referencePhase)
resolves references in an instanceof expression |
private IClass |
resolveLiteralClass()
|
private IClass |
resolveLiteralSuper(SymTabAST superNode,
Scope location,
IClass context)
resolves a literal "super" |
private IClass |
resolveLiteralThis(SymTabAST thisNode,
Scope location,
IClass context)
resolves a literal "this" |
private IClass |
resolveMethod(SymTabAST methodNode,
Scope location,
IClass context,
boolean referencePhase)
Resolves a method call. |
private IClass |
resolveNew(SymTabAST newNode,
Scope location,
IClass context,
boolean referencePhase)
|
private IClass |
resolveNewArray(SymTabAST newNode,
Scope location,
IClass context,
boolean referencePhase)
|
private IClass |
resolveNumFloat(SymTabAST expression,
Scope location,
IClass context)
Returns the ClassDef type of the float primitive type. |
private IClass |
resolveNumInt(SymTabAST expression,
Scope location,
IClass context)
Returns the ClassDef of the int primitive type. |
private MethodSignature |
resolveParameters(SymTabAST elist,
Scope location,
IClass context,
boolean referencePhase)
Resolves the types found in a method call. |
private IClass |
resolvePrimitiveType(SymTabAST primitive,
Scope location,
IClass context,
boolean referencePhase)
|
private IClass |
resolveQuestion(SymTabAST question,
Scope location,
IClass context,
boolean referencePhase)
|
private IClass |
resolveShiftOperator(SymTabAST expression,
Scope location,
IClass context,
boolean referencePhase)
|
private IClass |
resolveStringLiteral(SymTabAST expression,
Scope location,
IClass context)
Returns the ClassDef type of a string literal |
private void |
resolveThrowExpression(SymTabAST throwNode,
Scope location,
IClass context,
boolean referencePhase)
Resolves a constructor call. |
IClass |
resolveType(SymTabAST expr,
Scope location,
IClass context,
boolean referencePhase)
resolves and expression of type TokenTypes.TYPE |
private IClass |
resolveTypecast(SymTabAST node,
Scope location,
IClass context,
boolean referencePhase)
|
private IClass |
resolveUnaryExpression(SymTabAST expression,
Scope location,
IClass context,
boolean referencePhase)
Resolves a unary expression. |
| Methods inherited from class com.puppycrawl.tools.checkstyle.checks.usage.transmogrify.DefinitionTraverser |
handleDefaultConstructor, handlePackage, traverse |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
mInitialized
private boolean mInitialized
- true if the log factory has been initialized
mLogFactory
private org.apache.commons.logging.LogFactory mLogFactory
- Factory for creating org.apache.commons.logging.Log instances
| Constructor Detail |
Resolver
public Resolver(SymbolTable symbolTable)
- constructor with
SymbolTableto be resolved
| Method Detail |
resolve
public void resolve()
- resolves the symbol table
handleSList
protected void handleSList(SymTabAST node, Scope scope)
handleAnonymousInnerClass
protected void handleAnonymousInnerClass(AnonymousInnerClass innerClass)
- Overrides:
handleAnonymousInnerClassin classDefinitionTraverser
handleClass
protected void handleClass(ClassDef classDef)
- processes a
ClassDefand resolves references in it- Overrides:
handleClassin classDefinitionTraverser
handleMethod
protected void handleMethod(MethodDef method)
- processes a
MethodDefand resolves references in it- Overrides:
handleMethodin classDefinitionTraverser
handleBlock
protected void handleBlock(BlockDef block)
- processes a
BlockDefand resolves references in it- Overrides:
handleBlockin classDefinitionTraverser
handleAssert
private void handleAssert(BlockDef block)
handleSwitch
private void handleSwitch(BlockDef block)
- processes a switch statement and resolves references in it
handleCatch
private void handleCatch(BlockDef block)
- processes a catch block and resolves references in it
handleFor
private void handleFor(BlockDef block)
- processes a for loop and resolves references in it
handleIf
private void handleIf(BlockDef block)
- processes an if statement and resolves references in it
handleWhileAndSynchronized
private void handleWhileAndSynchronized(BlockDef block)
- processes a while loop and resolves references in it
handleDoWhile
private void handleDoWhile(BlockDef block)
handleVariable
protected void handleVariable(VariableDef variable)
- processes a variable definition and resolves references in it
- Overrides:
handleVariablein classDefinitionTraverser
handleLabel
protected void handleLabel(LabelDef label)
- processes a label and resolves references in it
- Overrides:
handleLabelin classDefinitionTraverser
resolveExpression
public IClass resolveExpression(SymTabAST expression, Scope location, IClass context, boolean referencePhase)
- Resolves Java expressions, returning the type to which the expression
evalutes. If this is the reference creation phase, any references found during resolution are created and
resolved.
resolveTypecast
private IClass resolveTypecast(SymTabAST node, Scope location, IClass context, boolean referencePhase)
resolveArrayAccess
private IClass resolveArrayAccess(SymTabAST node, Scope location, IClass context, boolean referencePhase)
resolveLiteralClass
private IClass resolveLiteralClass()
resolveDottedName
private IClass resolveDottedName(SymTabAST tree, Scope location, IClass context, boolean referencePhase)
- Resolves any dotted reference, returning the
Scopeidentified by the reference.
resolveMethod
private IClass resolveMethod(SymTabAST methodNode, Scope location, IClass context, boolean referencePhase)
- Resolves a method call.
resolveLiteralThis
private IClass resolveLiteralThis(SymTabAST thisNode, Scope location, IClass context)
- resolves a literal "this"
resolveLiteralSuper
private IClass resolveLiteralSuper(SymTabAST superNode, Scope location, IClass context)
- resolves a literal "super"
newIsConstructor
private boolean newIsConstructor(SymTabAST newNode)
resolveType
public IClass resolveType(SymTabAST expr, Scope location, IClass context, boolean referencePhase)
- resolves and expression of type TokenTypes.TYPE
resolveClass
public IClass resolveClass(SymTabAST expr, Scope location, IClass context, boolean referencePhase)
- resolves Class type expression
resolveClassIdent
public IClass resolveClassIdent(SymTabAST expr, Scope location, IClass context, boolean referencePhase)
- resolves expression with
JavaTokenTypesother thanDOT
resolveNew
private IClass resolveNew(SymTabAST newNode, Scope location, IClass context, boolean referencePhase)
resolveNewArray
private IClass resolveNewArray(SymTabAST newNode, Scope location, IClass context, boolean referencePhase)
resolveQuestion
private IClass resolveQuestion(SymTabAST question, Scope location, IClass context, boolean referencePhase)
moreGeneral
private IClass moreGeneral(IClass a, IClass b)
resolveConstructor
private IClass resolveConstructor(SymTabAST constructor, Scope location, IClass context, boolean referencePhase)
- Resolves a constructor call.
resolveParameters
private MethodSignature resolveParameters(SymTabAST elist, Scope location, IClass context, boolean referencePhase)
- Resolves the types found in a method call. Any references found
in the process are created. Returns a
MethodSignaturefor the types of the parameters.
resolveIdent
private IClass resolveIdent(SymTabAST ident, Scope location, IClass context, boolean referencePhase)
- Resolves an IDENT node of an AST, creating the appropriate reference and
returning the scope of the identifer.
resolveBooleanExpression
private IClass resolveBooleanExpression(SymTabAST expression, Scope location, IClass context, boolean referencePhase)
- Resolves a (binary) boolean expression. The left and right sides of the
expression
are resolved in the process.
resolveAssignment
private IClass resolveAssignment(SymTabAST expression, Scope location, IClass context, boolean referencePhase)
- resolves references in an assignment expression
resolveUnaryExpression
private IClass resolveUnaryExpression(SymTabAST expression, Scope location, IClass context, boolean referencePhase)
- Resolves a unary expression. Returns the type of the expression,
creating any references found along the way. Unary expressions are
increment (x++), decrement (x--), unary plus (+x), and unary minus (-x)
resolveArithmeticExpression
private IClass resolveArithmeticExpression(SymTabAST expression, Scope location, IClass context, boolean referencePhase)
- Resolves an arithmetic expression. Returns the
Scopefor the type to which the expression resolves. Any references found during resolution are created and resolved.
binaryResultType
private IClass binaryResultType(IClass a, IClass b)
- Returns the
ClassDeffor the type to which arithmetic expressions evaluate.
resolveInstanceOf
private IClass resolveInstanceOf(SymTabAST expression, Scope location, IClass context, boolean referencePhase)
- resolves references in an instanceof expression
resolveGoto
private IClass resolveGoto(SymTabAST expression, Scope location, IClass context, boolean referencePhase)
- resolves references in a a break statement
resolvePrimitiveType
private IClass resolvePrimitiveType(SymTabAST primitive, Scope location, IClass context, boolean referencePhase)
resolveNumInt
private IClass resolveNumInt(SymTabAST expression, Scope location, IClass context)
- Returns the
ClassDefof the int primitive type. This may need to be amended, based on the Java Language spec, to return a long if the literal is larger than an int can hold.
resolveNumFloat
private IClass resolveNumFloat(SymTabAST expression, Scope location, IClass context)
- Returns the
ClassDeftype of the float primitive type. This may need to be amended, based on the Java Language spec, to return a double if the literal is larger than a float can hold.
resolveStringLiteral
private IClass resolveStringLiteral(SymTabAST expression, Scope location, IClass context)
- Returns the
ClassDeftype of a string literal
resolveCharLiteral
private IClass resolveCharLiteral(SymTabAST expression, Scope location, IClass context)
- Returns the
ClassDeftype of a character literal
resolveBooleanLiteral
private IClass resolveBooleanLiteral(SymTabAST expression, Scope location, IClass context)
- Describe
resolveBooleanLiteralmethod here.
resolveBooleanUnary
private IClass resolveBooleanUnary(SymTabAST expression, Scope location, IClass context, boolean referencePhase)
resolveArrayInitializer
private void resolveArrayInitializer(SymTabAST initializerNode, Scope location, IClass context, boolean referencePhase)
- Resolves a constructor call.
resolveThrowExpression
private void resolveThrowExpression(SymTabAST throwNode, Scope location, IClass context, boolean referencePhase)
- Resolves a constructor call.
resolveShiftOperator
private IClass resolveShiftOperator(SymTabAST expression, Scope location, IClass context, boolean referencePhase)
resolveBitwiseNot
private IClass resolveBitwiseNot(SymTabAST expression, Scope location, IClass context, boolean referencePhase)
| |||||||
JAVADOC