Changed indentation of switch-case, coding, issue #512
This commit is contained in:
parent
bd4d876fb9
commit
b2eeea93c2
|
|
@ -111,85 +111,85 @@ public class DeclarationOrderCheck extends Check
|
|||
ScopeState state;
|
||||
|
||||
switch (ast.getType()) {
|
||||
case TokenTypes.OBJBLOCK:
|
||||
scopeStates.push(new ScopeState());
|
||||
break;
|
||||
case TokenTypes.OBJBLOCK:
|
||||
scopeStates.push(new ScopeState());
|
||||
break;
|
||||
|
||||
case TokenTypes.CTOR_DEF:
|
||||
if (parentType != TokenTypes.OBJBLOCK) {
|
||||
return;
|
||||
}
|
||||
|
||||
state = scopeStates.peek();
|
||||
if (state.scopeState > STATE_CTOR_DEF) {
|
||||
if (!ignoreConstructors) {
|
||||
log(ast, "declaration.order.constructor");
|
||||
case TokenTypes.CTOR_DEF:
|
||||
if (parentType != TokenTypes.OBJBLOCK) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
else {
|
||||
state.scopeState = STATE_CTOR_DEF;
|
||||
}
|
||||
break;
|
||||
|
||||
case TokenTypes.METHOD_DEF:
|
||||
state = scopeStates.peek();
|
||||
if (parentType != TokenTypes.OBJBLOCK) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (state.scopeState > STATE_METHOD_DEF) {
|
||||
if (!ignoreMethods) {
|
||||
log(ast, "declaration.order.method");
|
||||
}
|
||||
}
|
||||
else {
|
||||
state.scopeState = STATE_METHOD_DEF;
|
||||
}
|
||||
break;
|
||||
|
||||
case TokenTypes.MODIFIERS:
|
||||
if ((parentType != TokenTypes.VARIABLE_DEF)
|
||||
|| (ast.getParent().getParent().getType()
|
||||
!= TokenTypes.OBJBLOCK))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
state = scopeStates.peek();
|
||||
if (ast.findFirstToken(TokenTypes.LITERAL_STATIC) != null) {
|
||||
if (state.scopeState > STATE_STATIC_VARIABLE_DEF) {
|
||||
if (!ignoreModifiers
|
||||
|| state.scopeState > STATE_INSTANCE_VARIABLE_DEF)
|
||||
{
|
||||
log(ast, "declaration.order.static");
|
||||
state = scopeStates.peek();
|
||||
if (state.scopeState > STATE_CTOR_DEF) {
|
||||
if (!ignoreConstructors) {
|
||||
log(ast, "declaration.order.constructor");
|
||||
}
|
||||
}
|
||||
else {
|
||||
state.scopeState = STATE_STATIC_VARIABLE_DEF;
|
||||
state.scopeState = STATE_CTOR_DEF;
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (state.scopeState > STATE_INSTANCE_VARIABLE_DEF) {
|
||||
log(ast, "declaration.order.instance");
|
||||
}
|
||||
else if (state.scopeState == STATE_STATIC_VARIABLE_DEF) {
|
||||
state.declarationAccess = Scope.PUBLIC;
|
||||
state.scopeState = STATE_INSTANCE_VARIABLE_DEF;
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
final Scope access = ScopeUtils.getScopeFromMods(ast);
|
||||
if (state.declarationAccess.compareTo(access) > 0) {
|
||||
if (!ignoreModifiers) {
|
||||
log(ast, "declaration.order.access");
|
||||
case TokenTypes.METHOD_DEF:
|
||||
state = scopeStates.peek();
|
||||
if (parentType != TokenTypes.OBJBLOCK) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
else {
|
||||
state.declarationAccess = access;
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
if (state.scopeState > STATE_METHOD_DEF) {
|
||||
if (!ignoreMethods) {
|
||||
log(ast, "declaration.order.method");
|
||||
}
|
||||
}
|
||||
else {
|
||||
state.scopeState = STATE_METHOD_DEF;
|
||||
}
|
||||
break;
|
||||
|
||||
case TokenTypes.MODIFIERS:
|
||||
if ((parentType != TokenTypes.VARIABLE_DEF)
|
||||
|| (ast.getParent().getParent().getType()
|
||||
!= TokenTypes.OBJBLOCK))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
state = scopeStates.peek();
|
||||
if (ast.findFirstToken(TokenTypes.LITERAL_STATIC) != null) {
|
||||
if (state.scopeState > STATE_STATIC_VARIABLE_DEF) {
|
||||
if (!ignoreModifiers
|
||||
|| state.scopeState > STATE_INSTANCE_VARIABLE_DEF)
|
||||
{
|
||||
log(ast, "declaration.order.static");
|
||||
}
|
||||
}
|
||||
else {
|
||||
state.scopeState = STATE_STATIC_VARIABLE_DEF;
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (state.scopeState > STATE_INSTANCE_VARIABLE_DEF) {
|
||||
log(ast, "declaration.order.instance");
|
||||
}
|
||||
else if (state.scopeState == STATE_STATIC_VARIABLE_DEF) {
|
||||
state.declarationAccess = Scope.PUBLIC;
|
||||
state.scopeState = STATE_INSTANCE_VARIABLE_DEF;
|
||||
}
|
||||
}
|
||||
|
||||
final Scope access = ScopeUtils.getScopeFromMods(ast);
|
||||
if (state.declarationAccess.compareTo(access) > 0) {
|
||||
if (!ignoreModifiers) {
|
||||
log(ast, "declaration.order.access");
|
||||
}
|
||||
}
|
||||
else {
|
||||
state.declarationAccess = access;
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -197,11 +197,11 @@ public class DeclarationOrderCheck extends Check
|
|||
public void leaveToken(DetailAST ast)
|
||||
{
|
||||
switch (ast.getType()) {
|
||||
case TokenTypes.OBJBLOCK:
|
||||
scopeStates.pop();
|
||||
break;
|
||||
case TokenTypes.OBJBLOCK:
|
||||
scopeStates.pop();
|
||||
break;
|
||||
|
||||
default:
|
||||
default:
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -107,17 +107,17 @@ public class EqualsHashCodeCheck
|
|||
final AST modifiers = firstChild.getFirstChild();
|
||||
final AST type = modifiers.getNextSibling();
|
||||
switch (type.getFirstChild().getType()) {
|
||||
case TokenTypes.LITERAL_BOOLEAN:
|
||||
case TokenTypes.LITERAL_BYTE:
|
||||
case TokenTypes.LITERAL_CHAR:
|
||||
case TokenTypes.LITERAL_DOUBLE:
|
||||
case TokenTypes.LITERAL_FLOAT:
|
||||
case TokenTypes.LITERAL_INT:
|
||||
case TokenTypes.LITERAL_LONG:
|
||||
case TokenTypes.LITERAL_SHORT:
|
||||
return false;
|
||||
default:
|
||||
return true;
|
||||
case TokenTypes.LITERAL_BOOLEAN:
|
||||
case TokenTypes.LITERAL_BYTE:
|
||||
case TokenTypes.LITERAL_CHAR:
|
||||
case TokenTypes.LITERAL_DOUBLE:
|
||||
case TokenTypes.LITERAL_FLOAT:
|
||||
case TokenTypes.LITERAL_INT:
|
||||
case TokenTypes.LITERAL_LONG:
|
||||
case TokenTypes.LITERAL_SHORT:
|
||||
return false;
|
||||
default:
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -151,14 +151,14 @@ public class ExplicitInitializationCheck extends Check
|
|||
{
|
||||
final int type = expr.getType();
|
||||
switch (type) {
|
||||
case TokenTypes.NUM_FLOAT:
|
||||
case TokenTypes.NUM_DOUBLE:
|
||||
case TokenTypes.NUM_INT:
|
||||
case TokenTypes.NUM_LONG:
|
||||
final String text = expr.getText();
|
||||
return (0 == CheckUtils.parseFloat(text, type));
|
||||
default:
|
||||
return false;
|
||||
case TokenTypes.NUM_FLOAT:
|
||||
case TokenTypes.NUM_DOUBLE:
|
||||
case TokenTypes.NUM_INT:
|
||||
case TokenTypes.NUM_LONG:
|
||||
final String text = expr.getText();
|
||||
return (0 == CheckUtils.parseFloat(text, type));
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -157,27 +157,27 @@ public class FallThroughCheck extends Check
|
|||
boolean useContinue)
|
||||
{
|
||||
switch (ast.getType()) {
|
||||
case TokenTypes.LITERAL_RETURN:
|
||||
case TokenTypes.LITERAL_THROW:
|
||||
return true;
|
||||
case TokenTypes.LITERAL_BREAK:
|
||||
return useBreak;
|
||||
case TokenTypes.LITERAL_CONTINUE:
|
||||
return useContinue;
|
||||
case TokenTypes.SLIST:
|
||||
return checkSlist(ast, useBreak, useContinue);
|
||||
case TokenTypes.LITERAL_IF:
|
||||
return checkIf(ast, useBreak, useContinue);
|
||||
case TokenTypes.LITERAL_FOR:
|
||||
case TokenTypes.LITERAL_WHILE:
|
||||
case TokenTypes.LITERAL_DO:
|
||||
return checkLoop(ast);
|
||||
case TokenTypes.LITERAL_TRY:
|
||||
return checkTry(ast, useBreak, useContinue);
|
||||
case TokenTypes.LITERAL_SWITCH:
|
||||
return checkSwitch(ast, useContinue);
|
||||
default:
|
||||
return false;
|
||||
case TokenTypes.LITERAL_RETURN:
|
||||
case TokenTypes.LITERAL_THROW:
|
||||
return true;
|
||||
case TokenTypes.LITERAL_BREAK:
|
||||
return useBreak;
|
||||
case TokenTypes.LITERAL_CONTINUE:
|
||||
return useContinue;
|
||||
case TokenTypes.SLIST:
|
||||
return checkSlist(ast, useBreak, useContinue);
|
||||
case TokenTypes.LITERAL_IF:
|
||||
return checkIf(ast, useBreak, useContinue);
|
||||
case TokenTypes.LITERAL_FOR:
|
||||
case TokenTypes.LITERAL_WHILE:
|
||||
case TokenTypes.LITERAL_DO:
|
||||
return checkLoop(ast);
|
||||
case TokenTypes.LITERAL_TRY:
|
||||
return checkTry(ast, useBreak, useContinue);
|
||||
case TokenTypes.LITERAL_SWITCH:
|
||||
return checkSwitch(ast, useContinue);
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -91,58 +91,58 @@ public class FinalLocalVariableCheck extends Check
|
|||
public void visitToken(DetailAST ast)
|
||||
{
|
||||
switch (ast.getType()) {
|
||||
case TokenTypes.OBJBLOCK:
|
||||
case TokenTypes.SLIST:
|
||||
case TokenTypes.LITERAL_FOR:
|
||||
case TokenTypes.METHOD_DEF:
|
||||
case TokenTypes.CTOR_DEF:
|
||||
case TokenTypes.STATIC_INIT:
|
||||
case TokenTypes.INSTANCE_INIT:
|
||||
scopeStack.push(new HashMap<String, DetailAST>());
|
||||
break;
|
||||
|
||||
case TokenTypes.PARAMETER_DEF:
|
||||
if (ScopeUtils.inInterfaceBlock(ast)
|
||||
|| inAbstractOrNativeMethod(ast))
|
||||
{
|
||||
case TokenTypes.OBJBLOCK:
|
||||
case TokenTypes.SLIST:
|
||||
case TokenTypes.LITERAL_FOR:
|
||||
case TokenTypes.METHOD_DEF:
|
||||
case TokenTypes.CTOR_DEF:
|
||||
case TokenTypes.STATIC_INIT:
|
||||
case TokenTypes.INSTANCE_INIT:
|
||||
scopeStack.push(new HashMap<String, DetailAST>());
|
||||
break;
|
||||
}
|
||||
case TokenTypes.VARIABLE_DEF:
|
||||
if ((ast.getParent().getType() != TokenTypes.OBJBLOCK)
|
||||
&& (ast.getParent().getType() != TokenTypes.FOR_EACH_CLAUSE))
|
||||
{
|
||||
insertVariable(ast);
|
||||
}
|
||||
break;
|
||||
|
||||
case TokenTypes.IDENT:
|
||||
final int parentType = ast.getParent().getType();
|
||||
if ((TokenTypes.POST_DEC == parentType)
|
||||
|| (TokenTypes.DEC == parentType)
|
||||
|| (TokenTypes.POST_INC == parentType)
|
||||
|| (TokenTypes.INC == parentType)
|
||||
|| (TokenTypes.ASSIGN == parentType)
|
||||
|| (TokenTypes.PLUS_ASSIGN == parentType)
|
||||
|| (TokenTypes.MINUS_ASSIGN == parentType)
|
||||
|| (TokenTypes.DIV_ASSIGN == parentType)
|
||||
|| (TokenTypes.STAR_ASSIGN == parentType)
|
||||
|| (TokenTypes.MOD_ASSIGN == parentType)
|
||||
|| (TokenTypes.SR_ASSIGN == parentType)
|
||||
|| (TokenTypes.BSR_ASSIGN == parentType)
|
||||
|| (TokenTypes.SL_ASSIGN == parentType)
|
||||
|| (TokenTypes.BXOR_ASSIGN == parentType)
|
||||
|| (TokenTypes.BOR_ASSIGN == parentType)
|
||||
|| (TokenTypes.BAND_ASSIGN == parentType))
|
||||
{
|
||||
// TODO: is there better way to check is ast
|
||||
// in left part of assignment?
|
||||
if (ast.getParent().getFirstChild() == ast) {
|
||||
removeVariable(ast);
|
||||
case TokenTypes.PARAMETER_DEF:
|
||||
if (ScopeUtils.inInterfaceBlock(ast)
|
||||
|| inAbstractOrNativeMethod(ast))
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case TokenTypes.VARIABLE_DEF:
|
||||
if ((ast.getParent().getType() != TokenTypes.OBJBLOCK)
|
||||
&& (ast.getParent().getType() != TokenTypes.FOR_EACH_CLAUSE))
|
||||
{
|
||||
insertVariable(ast);
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
case TokenTypes.IDENT:
|
||||
final int parentType = ast.getParent().getType();
|
||||
if ((TokenTypes.POST_DEC == parentType)
|
||||
|| (TokenTypes.DEC == parentType)
|
||||
|| (TokenTypes.POST_INC == parentType)
|
||||
|| (TokenTypes.INC == parentType)
|
||||
|| (TokenTypes.ASSIGN == parentType)
|
||||
|| (TokenTypes.PLUS_ASSIGN == parentType)
|
||||
|| (TokenTypes.MINUS_ASSIGN == parentType)
|
||||
|| (TokenTypes.DIV_ASSIGN == parentType)
|
||||
|| (TokenTypes.STAR_ASSIGN == parentType)
|
||||
|| (TokenTypes.MOD_ASSIGN == parentType)
|
||||
|| (TokenTypes.SR_ASSIGN == parentType)
|
||||
|| (TokenTypes.BSR_ASSIGN == parentType)
|
||||
|| (TokenTypes.SL_ASSIGN == parentType)
|
||||
|| (TokenTypes.BXOR_ASSIGN == parentType)
|
||||
|| (TokenTypes.BOR_ASSIGN == parentType)
|
||||
|| (TokenTypes.BAND_ASSIGN == parentType))
|
||||
{
|
||||
// TODO: is there better way to check is ast
|
||||
// in left part of assignment?
|
||||
if (ast.getParent().getFirstChild() == ast) {
|
||||
removeVariable(ast);
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -200,21 +200,21 @@ public class FinalLocalVariableCheck extends Check
|
|||
super.leaveToken(ast);
|
||||
|
||||
switch (ast.getType()) {
|
||||
case TokenTypes.OBJBLOCK:
|
||||
case TokenTypes.SLIST:
|
||||
case TokenTypes.LITERAL_FOR:
|
||||
case TokenTypes.CTOR_DEF:
|
||||
case TokenTypes.STATIC_INIT:
|
||||
case TokenTypes.INSTANCE_INIT:
|
||||
case TokenTypes.METHOD_DEF:
|
||||
final Map<String, DetailAST> state = scopeStack.pop();
|
||||
for (DetailAST var : state.values()) {
|
||||
log(var.getLineNo(), var.getColumnNo(), "final.variable", var
|
||||
case TokenTypes.OBJBLOCK:
|
||||
case TokenTypes.SLIST:
|
||||
case TokenTypes.LITERAL_FOR:
|
||||
case TokenTypes.CTOR_DEF:
|
||||
case TokenTypes.STATIC_INIT:
|
||||
case TokenTypes.INSTANCE_INIT:
|
||||
case TokenTypes.METHOD_DEF:
|
||||
final Map<String, DetailAST> state = scopeStack.pop();
|
||||
for (DetailAST var : state.values()) {
|
||||
log(var.getLineNo(), var.getColumnNo(), "final.variable", var
|
||||
.getText());
|
||||
}
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
default:
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -226,14 +226,14 @@ public class HiddenFieldCheck
|
|||
DetailAST parent = ast.getParent();
|
||||
while (parent != null) {
|
||||
switch (parent.getType()) {
|
||||
case TokenTypes.STATIC_INIT:
|
||||
return true;
|
||||
case TokenTypes.METHOD_DEF:
|
||||
final DetailAST mods =
|
||||
parent.findFirstToken(TokenTypes.MODIFIERS);
|
||||
return mods.branchContains(TokenTypes.LITERAL_STATIC);
|
||||
default:
|
||||
parent = parent.getParent();
|
||||
case TokenTypes.STATIC_INIT:
|
||||
return true;
|
||||
case TokenTypes.METHOD_DEF:
|
||||
final DetailAST mods =
|
||||
parent.findFirstToken(TokenTypes.MODIFIERS);
|
||||
return mods.branchContains(TokenTypes.LITERAL_STATIC);
|
||||
default:
|
||||
parent = parent.getParent();
|
||||
}
|
||||
}
|
||||
return false;
|
||||
|
|
|
|||
|
|
@ -119,20 +119,20 @@ public class IllegalInstantiationCheck
|
|||
public void visitToken(DetailAST ast)
|
||||
{
|
||||
switch (ast.getType()) {
|
||||
case TokenTypes.LITERAL_NEW:
|
||||
processLiteralNew(ast);
|
||||
break;
|
||||
case TokenTypes.PACKAGE_DEF:
|
||||
processPackageDef(ast);
|
||||
break;
|
||||
case TokenTypes.IMPORT:
|
||||
processImport(ast);
|
||||
break;
|
||||
case TokenTypes.CLASS_DEF:
|
||||
processClassDef(ast);
|
||||
break;
|
||||
default:
|
||||
throw new IllegalArgumentException("Unknown type " + ast);
|
||||
case TokenTypes.LITERAL_NEW:
|
||||
processLiteralNew(ast);
|
||||
break;
|
||||
case TokenTypes.PACKAGE_DEF:
|
||||
processPackageDef(ast);
|
||||
break;
|
||||
case TokenTypes.IMPORT:
|
||||
processImport(ast);
|
||||
break;
|
||||
case TokenTypes.CLASS_DEF:
|
||||
processClassDef(ast);
|
||||
break;
|
||||
default:
|
||||
throw new IllegalArgumentException("Unknown type " + ast);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -141,20 +141,20 @@ public final class IllegalTypeCheck extends AbstractFormatCheck
|
|||
public void visitToken(DetailAST ast)
|
||||
{
|
||||
switch (ast.getType()) {
|
||||
case TokenTypes.METHOD_DEF:
|
||||
visitMethodDef(ast);
|
||||
break;
|
||||
case TokenTypes.VARIABLE_DEF:
|
||||
visitVariableDef(ast);
|
||||
break;
|
||||
case TokenTypes.PARAMETER_DEF:
|
||||
visitParameterDef(ast);
|
||||
break;
|
||||
case TokenTypes.IMPORT:
|
||||
visitImport(ast);
|
||||
break;
|
||||
default:
|
||||
throw new IllegalStateException(ast.toString());
|
||||
case TokenTypes.METHOD_DEF:
|
||||
visitMethodDef(ast);
|
||||
break;
|
||||
case TokenTypes.VARIABLE_DEF:
|
||||
visitVariableDef(ast);
|
||||
break;
|
||||
case TokenTypes.PARAMETER_DEF:
|
||||
visitParameterDef(ast);
|
||||
break;
|
||||
case TokenTypes.IMPORT:
|
||||
visitImport(ast);
|
||||
break;
|
||||
default:
|
||||
throw new IllegalStateException(ast.toString());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -81,33 +81,33 @@ public final class ModifiedControlVariableCheck extends Check
|
|||
public void visitToken(DetailAST ast)
|
||||
{
|
||||
switch (ast.getType()) {
|
||||
case TokenTypes.OBJBLOCK:
|
||||
enterBlock();
|
||||
break;
|
||||
case TokenTypes.LITERAL_FOR:
|
||||
case TokenTypes.FOR_ITERATOR:
|
||||
case TokenTypes.FOR_EACH_CLAUSE:
|
||||
break;
|
||||
case TokenTypes.ASSIGN:
|
||||
case TokenTypes.PLUS_ASSIGN:
|
||||
case TokenTypes.MINUS_ASSIGN:
|
||||
case TokenTypes.STAR_ASSIGN:
|
||||
case TokenTypes.DIV_ASSIGN:
|
||||
case TokenTypes.MOD_ASSIGN:
|
||||
case TokenTypes.SR_ASSIGN:
|
||||
case TokenTypes.BSR_ASSIGN:
|
||||
case TokenTypes.SL_ASSIGN:
|
||||
case TokenTypes.BAND_ASSIGN:
|
||||
case TokenTypes.BXOR_ASSIGN:
|
||||
case TokenTypes.BOR_ASSIGN:
|
||||
case TokenTypes.INC:
|
||||
case TokenTypes.POST_INC:
|
||||
case TokenTypes.DEC:
|
||||
case TokenTypes.POST_DEC:
|
||||
checkIdent(ast);
|
||||
break;
|
||||
default:
|
||||
throw new IllegalStateException(ast.toString());
|
||||
case TokenTypes.OBJBLOCK:
|
||||
enterBlock();
|
||||
break;
|
||||
case TokenTypes.LITERAL_FOR:
|
||||
case TokenTypes.FOR_ITERATOR:
|
||||
case TokenTypes.FOR_EACH_CLAUSE:
|
||||
break;
|
||||
case TokenTypes.ASSIGN:
|
||||
case TokenTypes.PLUS_ASSIGN:
|
||||
case TokenTypes.MINUS_ASSIGN:
|
||||
case TokenTypes.STAR_ASSIGN:
|
||||
case TokenTypes.DIV_ASSIGN:
|
||||
case TokenTypes.MOD_ASSIGN:
|
||||
case TokenTypes.SR_ASSIGN:
|
||||
case TokenTypes.BSR_ASSIGN:
|
||||
case TokenTypes.SL_ASSIGN:
|
||||
case TokenTypes.BAND_ASSIGN:
|
||||
case TokenTypes.BXOR_ASSIGN:
|
||||
case TokenTypes.BOR_ASSIGN:
|
||||
case TokenTypes.INC:
|
||||
case TokenTypes.POST_INC:
|
||||
case TokenTypes.DEC:
|
||||
case TokenTypes.POST_DEC:
|
||||
checkIdent(ast);
|
||||
break;
|
||||
default:
|
||||
throw new IllegalStateException(ast.toString());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -116,38 +116,38 @@ public final class ModifiedControlVariableCheck extends Check
|
|||
public void leaveToken(DetailAST ast)
|
||||
{
|
||||
switch (ast.getType()) {
|
||||
case TokenTypes.FOR_ITERATOR:
|
||||
leaveForIter(ast.getParent());
|
||||
break;
|
||||
case TokenTypes.FOR_EACH_CLAUSE:
|
||||
leaveForEach(ast);
|
||||
break;
|
||||
case TokenTypes.LITERAL_FOR:
|
||||
leaveForDef(ast);
|
||||
break;
|
||||
case TokenTypes.OBJBLOCK:
|
||||
exitBlock();
|
||||
break;
|
||||
case TokenTypes.ASSIGN:
|
||||
case TokenTypes.PLUS_ASSIGN:
|
||||
case TokenTypes.MINUS_ASSIGN:
|
||||
case TokenTypes.STAR_ASSIGN:
|
||||
case TokenTypes.DIV_ASSIGN:
|
||||
case TokenTypes.MOD_ASSIGN:
|
||||
case TokenTypes.SR_ASSIGN:
|
||||
case TokenTypes.BSR_ASSIGN:
|
||||
case TokenTypes.SL_ASSIGN:
|
||||
case TokenTypes.BAND_ASSIGN:
|
||||
case TokenTypes.BXOR_ASSIGN:
|
||||
case TokenTypes.BOR_ASSIGN:
|
||||
case TokenTypes.INC:
|
||||
case TokenTypes.POST_INC:
|
||||
case TokenTypes.DEC:
|
||||
case TokenTypes.POST_DEC:
|
||||
// Do nothing
|
||||
break;
|
||||
default:
|
||||
throw new IllegalStateException(ast.toString());
|
||||
case TokenTypes.FOR_ITERATOR:
|
||||
leaveForIter(ast.getParent());
|
||||
break;
|
||||
case TokenTypes.FOR_EACH_CLAUSE:
|
||||
leaveForEach(ast);
|
||||
break;
|
||||
case TokenTypes.LITERAL_FOR:
|
||||
leaveForDef(ast);
|
||||
break;
|
||||
case TokenTypes.OBJBLOCK:
|
||||
exitBlock();
|
||||
break;
|
||||
case TokenTypes.ASSIGN:
|
||||
case TokenTypes.PLUS_ASSIGN:
|
||||
case TokenTypes.MINUS_ASSIGN:
|
||||
case TokenTypes.STAR_ASSIGN:
|
||||
case TokenTypes.DIV_ASSIGN:
|
||||
case TokenTypes.MOD_ASSIGN:
|
||||
case TokenTypes.SR_ASSIGN:
|
||||
case TokenTypes.BSR_ASSIGN:
|
||||
case TokenTypes.SL_ASSIGN:
|
||||
case TokenTypes.BAND_ASSIGN:
|
||||
case TokenTypes.BXOR_ASSIGN:
|
||||
case TokenTypes.BOR_ASSIGN:
|
||||
case TokenTypes.INC:
|
||||
case TokenTypes.POST_INC:
|
||||
case TokenTypes.DEC:
|
||||
case TokenTypes.POST_DEC:
|
||||
// Do nothing
|
||||
break;
|
||||
default:
|
||||
throw new IllegalStateException(ast.toString());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -48,11 +48,11 @@ public final class NestedIfDepthCheck extends AbstractNestedDepthCheck
|
|||
public void visitToken(DetailAST ast)
|
||||
{
|
||||
switch (ast.getType()) {
|
||||
case TokenTypes.LITERAL_IF:
|
||||
visitLiteralIf(ast);
|
||||
break;
|
||||
default:
|
||||
throw new IllegalStateException(ast.toString());
|
||||
case TokenTypes.LITERAL_IF:
|
||||
visitLiteralIf(ast);
|
||||
break;
|
||||
default:
|
||||
throw new IllegalStateException(ast.toString());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -60,11 +60,11 @@ public final class NestedIfDepthCheck extends AbstractNestedDepthCheck
|
|||
public void leaveToken(DetailAST ast)
|
||||
{
|
||||
switch (ast.getType()) {
|
||||
case TokenTypes.LITERAL_IF:
|
||||
leaveLiteralIf(ast);
|
||||
break;
|
||||
default:
|
||||
throw new IllegalStateException(ast.toString());
|
||||
case TokenTypes.LITERAL_IF:
|
||||
leaveLiteralIf(ast);
|
||||
break;
|
||||
default:
|
||||
throw new IllegalStateException(ast.toString());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -46,11 +46,11 @@ public final class NestedTryDepthCheck extends AbstractNestedDepthCheck
|
|||
public void visitToken(DetailAST ast)
|
||||
{
|
||||
switch (ast.getType()) {
|
||||
case TokenTypes.LITERAL_TRY:
|
||||
visitLiteralTry(ast);
|
||||
break;
|
||||
default:
|
||||
throw new IllegalStateException(ast.toString());
|
||||
case TokenTypes.LITERAL_TRY:
|
||||
visitLiteralTry(ast);
|
||||
break;
|
||||
default:
|
||||
throw new IllegalStateException(ast.toString());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -58,11 +58,11 @@ public final class NestedTryDepthCheck extends AbstractNestedDepthCheck
|
|||
public void leaveToken(DetailAST ast)
|
||||
{
|
||||
switch (ast.getType()) {
|
||||
case TokenTypes.LITERAL_TRY:
|
||||
leaveLiteralTry();
|
||||
break;
|
||||
default:
|
||||
throw new IllegalStateException(ast.toString());
|
||||
case TokenTypes.LITERAL_TRY:
|
||||
leaveLiteralTry();
|
||||
break;
|
||||
default:
|
||||
throw new IllegalStateException(ast.toString());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -60,17 +60,17 @@ public final class OneStatementPerLineCheck extends Check
|
|||
public void visitToken(DetailAST ast)
|
||||
{
|
||||
switch (ast.getType()) {
|
||||
case TokenTypes.EXPR:
|
||||
visitExpr(ast);
|
||||
break;
|
||||
case TokenTypes.SEMI:
|
||||
visitSemi(ast);
|
||||
break;
|
||||
case TokenTypes.FOR_INIT:
|
||||
inForHeader = true;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
case TokenTypes.EXPR:
|
||||
visitExpr(ast);
|
||||
break;
|
||||
case TokenTypes.SEMI:
|
||||
visitSemi(ast);
|
||||
break;
|
||||
case TokenTypes.FOR_INIT:
|
||||
inForHeader = true;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -78,14 +78,14 @@ public final class OneStatementPerLineCheck extends Check
|
|||
public void leaveToken(DetailAST ast)
|
||||
{
|
||||
switch (ast.getType()) {
|
||||
case TokenTypes.FOR_ITERATOR:
|
||||
inForHeader = false;
|
||||
break;
|
||||
case TokenTypes.EXPR:
|
||||
exprDepth--;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
case TokenTypes.FOR_ITERATOR:
|
||||
inForHeader = false;
|
||||
break;
|
||||
case TokenTypes.EXPR:
|
||||
exprDepth--;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -90,32 +90,32 @@ public final class ParameterAssignmentCheck extends Check
|
|||
public void visitToken(DetailAST ast)
|
||||
{
|
||||
switch (ast.getType()) {
|
||||
case TokenTypes.CTOR_DEF:
|
||||
case TokenTypes.METHOD_DEF:
|
||||
visitMethodDef(ast);
|
||||
break;
|
||||
case TokenTypes.ASSIGN:
|
||||
case TokenTypes.PLUS_ASSIGN:
|
||||
case TokenTypes.MINUS_ASSIGN:
|
||||
case TokenTypes.STAR_ASSIGN:
|
||||
case TokenTypes.DIV_ASSIGN:
|
||||
case TokenTypes.MOD_ASSIGN:
|
||||
case TokenTypes.SR_ASSIGN:
|
||||
case TokenTypes.BSR_ASSIGN:
|
||||
case TokenTypes.SL_ASSIGN:
|
||||
case TokenTypes.BAND_ASSIGN:
|
||||
case TokenTypes.BXOR_ASSIGN:
|
||||
case TokenTypes.BOR_ASSIGN:
|
||||
visitAssign(ast);
|
||||
break;
|
||||
case TokenTypes.INC:
|
||||
case TokenTypes.POST_INC:
|
||||
case TokenTypes.DEC:
|
||||
case TokenTypes.POST_DEC:
|
||||
visitIncDec(ast);
|
||||
break;
|
||||
default:
|
||||
throw new IllegalStateException(ast.toString());
|
||||
case TokenTypes.CTOR_DEF:
|
||||
case TokenTypes.METHOD_DEF:
|
||||
visitMethodDef(ast);
|
||||
break;
|
||||
case TokenTypes.ASSIGN:
|
||||
case TokenTypes.PLUS_ASSIGN:
|
||||
case TokenTypes.MINUS_ASSIGN:
|
||||
case TokenTypes.STAR_ASSIGN:
|
||||
case TokenTypes.DIV_ASSIGN:
|
||||
case TokenTypes.MOD_ASSIGN:
|
||||
case TokenTypes.SR_ASSIGN:
|
||||
case TokenTypes.BSR_ASSIGN:
|
||||
case TokenTypes.SL_ASSIGN:
|
||||
case TokenTypes.BAND_ASSIGN:
|
||||
case TokenTypes.BXOR_ASSIGN:
|
||||
case TokenTypes.BOR_ASSIGN:
|
||||
visitAssign(ast);
|
||||
break;
|
||||
case TokenTypes.INC:
|
||||
case TokenTypes.POST_INC:
|
||||
case TokenTypes.DEC:
|
||||
case TokenTypes.POST_DEC:
|
||||
visitIncDec(ast);
|
||||
break;
|
||||
default:
|
||||
throw new IllegalStateException(ast.toString());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -123,30 +123,30 @@ public final class ParameterAssignmentCheck extends Check
|
|||
public void leaveToken(DetailAST ast)
|
||||
{
|
||||
switch (ast.getType()) {
|
||||
case TokenTypes.CTOR_DEF:
|
||||
case TokenTypes.METHOD_DEF:
|
||||
leaveMethodDef();
|
||||
break;
|
||||
case TokenTypes.ASSIGN:
|
||||
case TokenTypes.PLUS_ASSIGN:
|
||||
case TokenTypes.MINUS_ASSIGN:
|
||||
case TokenTypes.STAR_ASSIGN:
|
||||
case TokenTypes.DIV_ASSIGN:
|
||||
case TokenTypes.MOD_ASSIGN:
|
||||
case TokenTypes.SR_ASSIGN:
|
||||
case TokenTypes.BSR_ASSIGN:
|
||||
case TokenTypes.SL_ASSIGN:
|
||||
case TokenTypes.BAND_ASSIGN:
|
||||
case TokenTypes.BXOR_ASSIGN:
|
||||
case TokenTypes.BOR_ASSIGN:
|
||||
case TokenTypes.INC:
|
||||
case TokenTypes.POST_INC:
|
||||
case TokenTypes.DEC:
|
||||
case TokenTypes.POST_DEC:
|
||||
// Do nothing
|
||||
break;
|
||||
default:
|
||||
throw new IllegalStateException(ast.toString());
|
||||
case TokenTypes.CTOR_DEF:
|
||||
case TokenTypes.METHOD_DEF:
|
||||
leaveMethodDef();
|
||||
break;
|
||||
case TokenTypes.ASSIGN:
|
||||
case TokenTypes.PLUS_ASSIGN:
|
||||
case TokenTypes.MINUS_ASSIGN:
|
||||
case TokenTypes.STAR_ASSIGN:
|
||||
case TokenTypes.DIV_ASSIGN:
|
||||
case TokenTypes.MOD_ASSIGN:
|
||||
case TokenTypes.SR_ASSIGN:
|
||||
case TokenTypes.BSR_ASSIGN:
|
||||
case TokenTypes.SL_ASSIGN:
|
||||
case TokenTypes.BAND_ASSIGN:
|
||||
case TokenTypes.BXOR_ASSIGN:
|
||||
case TokenTypes.BOR_ASSIGN:
|
||||
case TokenTypes.INC:
|
||||
case TokenTypes.POST_INC:
|
||||
case TokenTypes.DEC:
|
||||
case TokenTypes.POST_DEC:
|
||||
// Do nothing
|
||||
break;
|
||||
default:
|
||||
throw new IllegalStateException(ast.toString());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -103,15 +103,15 @@ public final class ReturnCountCheck extends AbstractFormatCheck
|
|||
public void visitToken(DetailAST ast)
|
||||
{
|
||||
switch (ast.getType()) {
|
||||
case TokenTypes.CTOR_DEF:
|
||||
case TokenTypes.METHOD_DEF:
|
||||
visitMethodDef(ast);
|
||||
break;
|
||||
case TokenTypes.LITERAL_RETURN:
|
||||
context.visitLiteralReturn();
|
||||
break;
|
||||
default:
|
||||
throw new IllegalStateException(ast.toString());
|
||||
case TokenTypes.CTOR_DEF:
|
||||
case TokenTypes.METHOD_DEF:
|
||||
visitMethodDef(ast);
|
||||
break;
|
||||
case TokenTypes.LITERAL_RETURN:
|
||||
context.visitLiteralReturn();
|
||||
break;
|
||||
default:
|
||||
throw new IllegalStateException(ast.toString());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -119,15 +119,15 @@ public final class ReturnCountCheck extends AbstractFormatCheck
|
|||
public void leaveToken(DetailAST ast)
|
||||
{
|
||||
switch (ast.getType()) {
|
||||
case TokenTypes.CTOR_DEF:
|
||||
case TokenTypes.METHOD_DEF:
|
||||
leaveMethodDef(ast);
|
||||
break;
|
||||
case TokenTypes.LITERAL_RETURN:
|
||||
// Do nothing
|
||||
break;
|
||||
default:
|
||||
throw new IllegalStateException(ast.toString());
|
||||
case TokenTypes.CTOR_DEF:
|
||||
case TokenTypes.METHOD_DEF:
|
||||
leaveMethodDef(ast);
|
||||
break;
|
||||
case TokenTypes.LITERAL_RETURN:
|
||||
// Do nothing
|
||||
break;
|
||||
default:
|
||||
throw new IllegalStateException(ast.toString());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -67,16 +67,16 @@ public class SimplifyBooleanExpressionCheck
|
|||
{
|
||||
final DetailAST parent = ast.getParent();
|
||||
switch (parent.getType()) {
|
||||
case TokenTypes.NOT_EQUAL:
|
||||
case TokenTypes.EQUAL:
|
||||
case TokenTypes.LNOT:
|
||||
case TokenTypes.LOR:
|
||||
case TokenTypes.LAND:
|
||||
log(parent.getLineNo(), parent.getColumnNo(),
|
||||
"simplify.expression");
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
case TokenTypes.NOT_EQUAL:
|
||||
case TokenTypes.EQUAL:
|
||||
case TokenTypes.LNOT:
|
||||
case TokenTypes.LOR:
|
||||
case TokenTypes.LAND:
|
||||
log(parent.getLineNo(), parent.getColumnNo(),
|
||||
"simplify.expression");
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -336,44 +336,44 @@ public class VariableDeclarationUsageDistanceCheck extends Check
|
|||
|
||||
switch (currentSiblingAst.getType()) {
|
||||
|
||||
case TokenTypes.EXPR:
|
||||
final DetailAST methodCallAst = currentSiblingAst.getFirstChild();
|
||||
case TokenTypes.EXPR:
|
||||
final DetailAST methodCallAst = currentSiblingAst.getFirstChild();
|
||||
|
||||
if (methodCallAst != null
|
||||
if (methodCallAst != null
|
||||
&& methodCallAst.getType() == TokenTypes.METHOD_CALL)
|
||||
{
|
||||
final String instanceName =
|
||||
{
|
||||
final String instanceName =
|
||||
getInstanceName(methodCallAst);
|
||||
// method is called without instance
|
||||
if (instanceName.isEmpty()) {
|
||||
result = false;
|
||||
}
|
||||
// differs from previous instance
|
||||
else if (!instanceName.equals(initInstanceName)) {
|
||||
if (!initInstanceName.isEmpty()) {
|
||||
// method is called without instance
|
||||
if (instanceName.isEmpty()) {
|
||||
result = false;
|
||||
}
|
||||
else {
|
||||
initInstanceName = instanceName;
|
||||
// differs from previous instance
|
||||
else if (!instanceName.equals(initInstanceName)) {
|
||||
if (!initInstanceName.isEmpty()) {
|
||||
result = false;
|
||||
}
|
||||
else {
|
||||
initInstanceName = instanceName;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else { // is not method call
|
||||
result = false;
|
||||
}
|
||||
break;
|
||||
else { // is not method call
|
||||
result = false;
|
||||
}
|
||||
break;
|
||||
|
||||
case TokenTypes.VARIABLE_DEF:
|
||||
final String currentVariableName = currentSiblingAst.
|
||||
case TokenTypes.VARIABLE_DEF:
|
||||
final String currentVariableName = currentSiblingAst.
|
||||
findFirstToken(TokenTypes.IDENT).getText();
|
||||
isUsedVariableDeclarationFound = variableName.equals(currentVariableName);
|
||||
break;
|
||||
isUsedVariableDeclarationFound = variableName.equals(currentVariableName);
|
||||
break;
|
||||
|
||||
case TokenTypes.SEMI:
|
||||
break;
|
||||
case TokenTypes.SEMI:
|
||||
break;
|
||||
|
||||
default:
|
||||
result = false;
|
||||
default:
|
||||
result = false;
|
||||
}
|
||||
|
||||
currentSiblingAst = currentSiblingAst.getPreviousSibling();
|
||||
|
|
@ -408,32 +408,32 @@ public class VariableDeclarationUsageDistanceCheck extends Check
|
|||
if (isChild(currentAst, variableIdentAst)) {
|
||||
|
||||
switch (currentAst.getType()) {
|
||||
case TokenTypes.VARIABLE_DEF:
|
||||
dist++;
|
||||
break;
|
||||
case TokenTypes.SLIST:
|
||||
dist = 0;
|
||||
break;
|
||||
case TokenTypes.LITERAL_FOR:
|
||||
case TokenTypes.LITERAL_WHILE:
|
||||
case TokenTypes.LITERAL_DO:
|
||||
case TokenTypes.LITERAL_IF:
|
||||
case TokenTypes.LITERAL_SWITCH:
|
||||
if (isVariableInOperatorExpr(currentAst, variableIdentAst)) {
|
||||
case TokenTypes.VARIABLE_DEF:
|
||||
dist++;
|
||||
}
|
||||
else { // variable usage is in inner scope
|
||||
// reset counters, because we can't determine distance
|
||||
break;
|
||||
case TokenTypes.SLIST:
|
||||
dist = 0;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
if (currentAst.branchContains(TokenTypes.SLIST)) {
|
||||
dist = 0;
|
||||
}
|
||||
else {
|
||||
dist++;
|
||||
}
|
||||
break;
|
||||
case TokenTypes.LITERAL_FOR:
|
||||
case TokenTypes.LITERAL_WHILE:
|
||||
case TokenTypes.LITERAL_DO:
|
||||
case TokenTypes.LITERAL_IF:
|
||||
case TokenTypes.LITERAL_SWITCH:
|
||||
if (isVariableInOperatorExpr(currentAst, variableIdentAst)) {
|
||||
dist++;
|
||||
}
|
||||
else { // variable usage is in inner scope
|
||||
// reset counters, because we can't determine distance
|
||||
dist = 0;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
if (currentAst.branchContains(TokenTypes.SLIST)) {
|
||||
dist = 0;
|
||||
}
|
||||
else {
|
||||
dist++;
|
||||
}
|
||||
}
|
||||
variableUsageAst = currentAst;
|
||||
firstUsageFound = true;
|
||||
|
|
@ -497,30 +497,31 @@ public class VariableDeclarationUsageDistanceCheck extends Check
|
|||
.get(0);
|
||||
DetailAST exprWithVariableUsage = null;
|
||||
switch (blockWithVariableUsage.getType()) {
|
||||
case TokenTypes.VARIABLE_DEF:
|
||||
case TokenTypes.EXPR:
|
||||
dist++;
|
||||
break;
|
||||
case TokenTypes.LITERAL_FOR:
|
||||
case TokenTypes.LITERAL_WHILE:
|
||||
case TokenTypes.LITERAL_DO:
|
||||
exprWithVariableUsage = getFirstNodeInsideForWhileDoWhileBlocks(
|
||||
case TokenTypes.VARIABLE_DEF:
|
||||
case TokenTypes.EXPR:
|
||||
dist++;
|
||||
break;
|
||||
case TokenTypes.LITERAL_FOR:
|
||||
case TokenTypes.LITERAL_WHILE:
|
||||
case TokenTypes.LITERAL_DO:
|
||||
exprWithVariableUsage = getFirstNodeInsideForWhileDoWhileBlocks(
|
||||
blockWithVariableUsage, variable);
|
||||
break;
|
||||
case TokenTypes.LITERAL_IF:
|
||||
exprWithVariableUsage = getFirstNodeInsideIfBlock(
|
||||
break;
|
||||
case TokenTypes.LITERAL_IF:
|
||||
exprWithVariableUsage = getFirstNodeInsideIfBlock(
|
||||
blockWithVariableUsage, variable);
|
||||
break;
|
||||
case TokenTypes.LITERAL_SWITCH:
|
||||
exprWithVariableUsage = getFirstNodeInsideSwitchBlock(
|
||||
break;
|
||||
case TokenTypes.LITERAL_SWITCH:
|
||||
exprWithVariableUsage = getFirstNodeInsideSwitchBlock(
|
||||
blockWithVariableUsage, variable);
|
||||
break;
|
||||
case TokenTypes.LITERAL_TRY:
|
||||
exprWithVariableUsage =
|
||||
getFirstNodeInsideTryCatchFinallyBlocks(blockWithVariableUsage, variable);
|
||||
break;
|
||||
default:
|
||||
exprWithVariableUsage = blockWithVariableUsage.getFirstChild();
|
||||
break;
|
||||
case TokenTypes.LITERAL_TRY:
|
||||
exprWithVariableUsage =
|
||||
getFirstNodeInsideTryCatchFinallyBlocks(blockWithVariableUsage,
|
||||
variable);
|
||||
break;
|
||||
default:
|
||||
exprWithVariableUsage = blockWithVariableUsage.getFirstChild();
|
||||
}
|
||||
currentScopeAst = exprWithVariableUsage;
|
||||
if (exprWithVariableUsage != null) {
|
||||
|
|
@ -808,48 +809,48 @@ public class VariableDeclarationUsageDistanceCheck extends Check
|
|||
// So, check variable usage in these declarations.
|
||||
if (!isVarInOperatorDeclr) {
|
||||
switch (operator.getType()) {
|
||||
case TokenTypes.LITERAL_IF:
|
||||
final DetailAST elseBlock = operator.getLastChild();
|
||||
case TokenTypes.LITERAL_IF:
|
||||
final DetailAST elseBlock = operator.getLastChild();
|
||||
|
||||
if (elseBlock.getType() == TokenTypes.LITERAL_ELSE) {
|
||||
// Get IF followed by ELSE
|
||||
final DetailAST firstNodeInsideElseBlock = elseBlock
|
||||
if (elseBlock.getType() == TokenTypes.LITERAL_ELSE) {
|
||||
// Get IF followed by ELSE
|
||||
final DetailAST firstNodeInsideElseBlock = elseBlock
|
||||
.getFirstChild();
|
||||
|
||||
if (firstNodeInsideElseBlock.getType()
|
||||
if (firstNodeInsideElseBlock.getType()
|
||||
== TokenTypes.LITERAL_IF)
|
||||
{
|
||||
isVarInOperatorDeclr |=
|
||||
{
|
||||
isVarInOperatorDeclr |=
|
||||
isVariableInOperatorExpr(
|
||||
firstNodeInsideElseBlock,
|
||||
firstNodeInsideElseBlock,
|
||||
variable);
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
break;
|
||||
|
||||
case TokenTypes.LITERAL_SWITCH:
|
||||
DetailAST currentCaseBlock = operator
|
||||
case TokenTypes.LITERAL_SWITCH:
|
||||
DetailAST currentCaseBlock = operator
|
||||
.findFirstToken(TokenTypes.CASE_GROUP);
|
||||
|
||||
while (currentCaseBlock != null
|
||||
while (currentCaseBlock != null
|
||||
&& currentCaseBlock.getType()
|
||||
== TokenTypes.CASE_GROUP)
|
||||
{
|
||||
final DetailAST firstNodeInsideCaseBlock =
|
||||
{
|
||||
final DetailAST firstNodeInsideCaseBlock =
|
||||
currentCaseBlock.getFirstChild();
|
||||
|
||||
if (isChild(firstNodeInsideCaseBlock,
|
||||
if (isChild(firstNodeInsideCaseBlock,
|
||||
variable))
|
||||
{
|
||||
isVarInOperatorDeclr = true;
|
||||
break;
|
||||
{
|
||||
isVarInOperatorDeclr = true;
|
||||
break;
|
||||
}
|
||||
currentCaseBlock = currentCaseBlock.getNextSibling();
|
||||
}
|
||||
currentCaseBlock = currentCaseBlock.getNextSibling();
|
||||
}
|
||||
break;
|
||||
break;
|
||||
|
||||
default:
|
||||
;// no code
|
||||
default:
|
||||
;// no code
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue