package com.google.checkstyle.test.chapter4formatting.rule462horizontalwhitespace; /** * Class for testing whitespace issues. * error missing author tag **/ class InputWhitespace { /** warn **/ private int mVar1= 1; // warn /** warn **/ private int mVar2 =1; // warn /** Should be ok **/ private int mVar3 = 1; /** method **/ void method1() { final int a = 1; int b= 1; // warn b= 1; // warn b +=1; // warn b -=- 1 + (+ b); // warn b = b ++ + b --; // ok b = ++ b - -- b; // ok } /** method **/ void method2() { synchronized(this) { //warn } try {//warn } catch (RuntimeException e) {//warn } } /** skip blank lines between comment and code, should be ok **/ private int mVar4 = 1; /** test WS after void return */ private void fastExit() { boolean complicatedStuffNeeded = true; if( !complicatedStuffNeeded) //warn { return; // should not complain about missing WS after return } else { // do complicated stuff } } /** test WS after non void return @return 2 */ private int nonVoid() { if ( true ) { return(2); // //warn } else { return 2; // this is ok } } /** test casts **/ private void testCasts() { Object o = (Object) new Object(); // ok o = (Object)o; // ok o = ( Object ) o; // ok o = (Object) o; // ok } /** test questions **/ private void testQuestions() { boolean b = (1 ==2) ? false : true; //warn } /** star test **/ private void starTest() { int x = 2 * 3* 4; //warn } /** boolean test **/ private void boolTest() { boolean a = true; boolean x = ! a; int z = ~1 + ~ 2; } /** division test **/ private void divTest() { int a = 4 % 2; int b = 4% 2;//warn int c = 4 %2;//warn int d = 4% 2;//warn int e = 4 / 2; int f = 4/ 2;//warn int g = 4 /2;//warn } /** @return dot test **/ private java .lang. String dotTest() { Object o = new java.lang.Object(); o. toString(); o .toString(); o . toString(); return o.toString(); } /** assert statement test */ public void assertTest() { // OK assert true; // OK assert true : "Whups"; // evil colons, should be OK assert "OK".equals(null) ? false : true : "Whups"; // missing WS around assert assert(true);//warn // missing WS around colon assert true: "Whups";//warn } /** another check */ void donBradman(Runnable aRun) { donBradman(new Runnable() { public void run() { } }); final Runnable r = new Runnable() { public void run() { } }; } /** rfe 521323, detect whitespace before ';' */ void rfe521323() { doStuff() ; // ^ whitespace for (int i = 0 ; i < 5; i++) { // ^ whitespace } } /** bug 806243 (NoWhitespaceBeforeCheck error for anonymous inner class) */ private int i ; // ^ whitespace private int i1, i2, i3 ; // ^ whitespace private int i4, i5, i6; /** bug 806243 (NoWhitespaceBeforeCheck error for anonymous inner class) */ void bug806243() { Object o = new InputWhitespace() { private int j ; // ^ whitespace }; } void doStuff() { } } /** * Bug 806242 (NoWhitespaceBeforeCheck error with an interface). * @author o_sukhodolsky * @version 1.0 */ interface IFoo { void foo() ; // ^ whitespace } /** * Avoid Whitespace errors in for loop. * @author lkuehne * @version 1.0 */ class SpecialCasesInForLoop { void forIterator() { // avoid conflict between WhiteSpaceAfter ';' and ParenPad(nospace) for (int i = 0; i++ < 5;) { // ^ no whitespace } // bug 895072 // avoid confilct between ParenPad(space) and NoWhiteSpace before ';' int i = 0; for ( ; i < 5; i++ ) { // ^ whitespace } for (int anInt : getSomeInts()) { //Should be ignored } } int[] getSomeInts() { int i = (int) ( 2 / 3 ); return null; } } /** * Operators mentioned in Google Coding Standards 2016-07-12 */ class NewGoogleOperators { NewGoogleOperators() { Runnable l; l = ()-> { }; //warn l = () ->{ }; //warn l = () -> { }; java.util.Arrays.sort(null, String :: compareToIgnoreCase); java.util.Arrays.sort(null, String::compareToIgnoreCase); new Object().toString(); new Object() . toString(); } }