package com.puppycrawl.tools.checkstyle.checks.coding; import java.util.ArrayList; public class InputFinalLocalVariableAssignedInsideAndOutsideSwitch { private static void foo1(final int[][] m, final int x, final int y, final int d, final int[] regionSizes) { final int a = m[y][x] & 1; int b; switch (d) { case 1: b = m[y - 1][x]; break; case 2: b = m[y][x - 1]; break; case 3: b = m[y][x + 1]; break; default: b = m[y + 1][x]; break; } b &= 5; } private static void foo2(final int[][] m, final int x, final int y, final int d, final int[] regionSizes) { final int a = m[y][x] & 1; int b; // violation switch (d) { case 1: break; case 2: b = m[y][x - 1]; break; case 3: b = m[y][x + 1]; break; default: b = m[y + 1][x]; break; } } private static void foo3(final int[][] m, final int x, final int y, final int d, final int[] regionSizes) { final int a = m[y][x] & 1; int b; switch (d) { case 1: case 2: case 3: b = m[y][x + 1]; break; default: b = m[y + 1][x]; break; } b &= 5; } }