1 package com.puppycrawl.tools.checkstyle.checks.indentation.indentation; //indent:0 exp:0 2 3 import java.io.Closeable; //indent:0 exp:0 4 import java.util.stream.Stream; //indent:0 exp:0 5 6 /** //indent:0 exp:0 7 * This test-input is intended to be checked using following configuration: //indent:1 exp:1 8 * //indent:1 exp:1 9 * arrayInitIndent = 4 //indent:1 exp:1 10 * basicOffset = 4 //indent:1 exp:1 11 * braceAdjustment = 0 //indent:1 exp:1 12 * caseIndent = 4 //indent:1 exp:1 13 * forceStrictCondition = false //indent:1 exp:1 14 * lineWrappingIndentation = 4 //indent:1 exp:1 15 * tabWidth = 4 //indent:1 exp:1 16 * throwsIndent = 4 //indent:1 exp:1 17 * //indent:1 exp:1 18 * @author jrichard //indent:1 exp:1 19 */ //indent:1 exp:1 20 public class InputIndentationValidBlockIndent { //indent:0 exp:0 21 22 /** Creates a new instance of InputValidBlockIndent */ //indent:4 exp:4 23 public InputIndentationValidBlockIndent() { //indent:4 exp:4 24 } //indent:4 exp:4 25 26 public void method1() { //indent:4 exp:4 27 28 { } //indent:8 exp:8 29 { //indent:8 exp:8 30 } //indent:8 exp:8 31 { //indent:8 exp:8 32 int var = 3; //indent:12 exp:12 33 34 var += 3; //indent:12 exp:12 35 } //indent:8 exp:8 36 37 38 { int var = 5; } //indent:8 exp:8 39 40 { //indent:8 exp:8 41 int var = 3; //indent:12 exp:12 42 43 var += 3; //indent:12 exp:12 44 45 { //indent:12 exp:12 46 int innerVar = 4; //indent:16 exp:16 47 48 innerVar += var; //indent:16 exp:16 49 } //indent:12 exp:12 50 } //indent:8 exp:8 51 52 } //indent:4 exp:4 53 54 static { int var = 4; } //indent:4 exp:4 55 56 57 static { //indent:4 exp:4 58 int var = 4; //indent:8 exp:8 59 } //indent:4 exp:4 60 61 static //indent:4 exp:4 62 { //indent:4 exp:4 63 int var = 4; //indent:8 exp:8 64 } //indent:4 exp:4 65 66 { int var = 4; } //indent:4 exp:4 67 68 69 { //indent:4 exp:4 70 int var = 4; //indent:8 exp:8 71 } //indent:4 exp:4 72 73 { //indent:4 exp:4 74 int var = 4; //indent:8 exp:8 75 } //indent:4 exp:4 76 77 78 } //indent:0 exp:0 79 80 enum EquivalenceTester { //indent:0 exp:0 81 /** //indent:4 exp:4 82 * An equivalenster that decides based on {@link Object#equals(Object) equals}. //indent:5 exp:5 83 */ //indent:5 exp:5 84 OBJECT_ATTRIBUTES { //indent:4 exp:4 85 /** //indent:8 exp:8 86 * {@inheritDoc} //indent:9 exp:9 87 */ //indent:9 exp:9 88 public boolean areEqual( final Object first, final Object second ) { //indent:8 exp:8 89 return true; //indent:12 exp:12 90 } //indent:8 exp:8 91 92 /** //indent:8 exp:8 93 * {@inheritDoc} //indent:9 exp:9 94 */ //indent:9 exp:9 95 public int hashCode( final Object target ) { //indent:8 exp:8 96 return 1; //indent:12 exp:12 97 } //indent:8 exp:8 98 }, //indent:4 exp:4 99 100 /** //indent:4 exp:4 101 * An equivalence tester that decides based on {@code ==}. //indent:5 exp:5 102 */ //indent:5 exp:5 103 OBJECT_IDENTITIES //indent:4 exp:4 104 { //indent:4 exp:4 105 /** //indent:8 exp:8 106 * {@inheritDoc} //indent:9 exp:9 107 */ //indent:9 exp:9 108 public boolean areEqual( final Object first, final Object second ) { //indent:8 exp:8 109 return first == second; //indent:12 exp:12 110 } //indent:8 exp:8 111 112 /** //indent:8 exp:8 113 * {@inheritDoc} //indent:9 exp:9 114 */ //indent:9 exp:9 115 public int hashCode( final Object target ) { //indent:8 exp:8 116 return System.identityHashCode( target ); //indent:12 exp:12 117 } //indent:8 exp:8 118 }; //indent:4 exp:4 119 120 /** //indent:4 exp:4 121 * Tells whether the two given objects are considered equivalent. //indent:5 exp:5 122 * //indent:5 exp:5 123 * @param first first comparand //indent:5 exp:5 124 * @param second second comparand //indent:5 exp:5 125 * @return whether {@code first} and {@code second} are considered equivalent //indent:5 exp:5 126 */ //indent:5 exp:5 127 public abstract boolean areEqual( Object first, Object second ); //indent:4 exp:4 128 129 /** //indent:4 exp:4 130 * Computes a hash code for the given object. //indent:5 exp:5 131 * //indent:5 exp:5 132 * @param target object to compute a hash for //indent:5 exp:5 133 * @return the computed hash //indent:5 exp:5 134 */ //indent:5 exp:5 135 public abstract int hashCode( Object target ); //indent:4 exp:4 136 } //indent:0 exp:0 137 138 class bug1251988 //indent:0 exp:0 139 { //indent:0 exp:0 140 private int a; //indent:4 exp:4 141 142 // non static initializer //indent:4 exp:4 143 { //indent:4 exp:4 144 if (a == 1) //indent:8 exp:8 145 { //indent:8 exp:8 146 } //indent:8 exp:8 147 } //indent:4 exp:4 148 } //indent:0 exp:0 149 150 class bug1260079 //indent:0 exp:0 151 { //indent:0 exp:0 152 public bug1260079() //indent:4 exp:4 153 { //indent:4 exp:4 154 new Thread() //indent:8 exp:8 155 { //indent:8 exp:8 156 public void run() //indent:12 exp:12 157 { //indent:12 exp:12 158 System.identityHashCode("ran"); //indent:16 exp:16 159 } //indent:12 exp:12 160 }.start(); //indent:8 exp:8 161 } //indent:4 exp:4 162 } //indent:0 exp:0 163 164 class bug1336737 { //indent:0 exp:0 165 private static enum Command { //indent:4 exp:4 166 IMPORT("import"), //indent:8 exp:8 167 LIST("list"); //indent:8 exp:8 168 private final String c; //indent:8 exp:8 169 Command(String c) { this.c = c; } //indent:8 exp:8 170 public String toString() { return c; } //indent:8 exp:8 171 } //indent:4 exp:4 172 } //indent:0 exp:0 173 174 class AnonymousClassWithInitializer { //indent:0 exp:0 175 void create() { //indent:4 exp:4 176 new Object() { //indent:8 exp:8 177 { //indent:12 exp:12 178 new Object(); //indent:16 exp:16 179 } //indent:12 exp:12 180 }; //indent:8 exp:8 181 } //indent:4 exp:4 182 } //indent:0 exp:0 183 184 class OneLineCode { //indent:0 exp:0 185 void block() { //indent:4 exp:4 186 { if (true) return; } //indent:8 exp:8 187 } //indent:4 exp:4 188 void lambda() { //indent:4 exp:4 189 Stream.of(false).map(x -> { if (x) return 0; else return 1; }); //indent:8 exp:8 190 } //indent:4 exp:4 191 void tryCatchDoWhile(Closeable is) throws Exception { //indent:4 exp:4 192 if (is != null) { try { is.close(); } catch (Exception e) {} } //indent:8 exp:8 193 if (is != null) { do { is.close(); } while (is != null); } //indent:8 exp:8 194 } //indent:4 exp:4 195 } //indent:0 exp:0