Changed indentation of switch-case, coding, issue #512

This commit is contained in:
alexkravin 2015-01-22 16:29:46 +04:00
parent bd4d876fb9
commit b2eeea93c2
16 changed files with 484 additions and 483 deletions

View File

@ -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:
}
}

View File

@ -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;
}
}

View File

@ -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;
}
}
}

View File

@ -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;
}
}

View File

@ -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:
}
}
}

View File

@ -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;

View File

@ -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);
}
}

View File

@ -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());
}
}

View File

@ -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());
}
}

View File

@ -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());
}
}

View File

@ -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());
}
}

View File

@ -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;
}
}

View File

@ -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());
}
}

View File

@ -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());
}
}

View File

@ -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;
}
}
}

View File

@ -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
}
}
}