package com.google.checkstyle.test.chapter4formatting.rule43onestatement;
/**
* Two import statements on the same line are illegal.
*/
import java.io.EOFException; import java.io.BufferedReader; //warn
public class InputOneStatementPerLine {
/**
* Dummy variable to work on.
*/
private int one = 0;
/**
* Dummy variable to work on.
*/
private int two = 0;
/**
* Simple legal method.
*/
public void doLegal() {
one = 1;
two = 2;
}
/**
* The illegal format is used within a String. Therefor the whole method is legal.
*/
public void doLegalString() {
one = 1;
two = 2;
System.identityHashCode("one = 1; two = 2");
}
/**
* Within the for-header there are 3 Statements, but this is legal.
*/
public void doLegalForLoop() {
for (int i = 0, j = 0, k = 1; i < 20; i++) { //it's ok.
one = i;
}
}
/**
* Simplest form of illegal layouts.
*/
public void doIllegal() {
one = 1; two = 2; //warn
if (one == 1) {
one++; two++; //warn
}
if (one != 1) { one++; } else { one--; } //warn
int n = 10;
doLegal(); doLegal(); //warn
while (one == 1) {one++; two--;} //warn
}
/**
* While theoretically being distributed over two lines, this is a sample
* of 2 statements on one line.
*/
public void doIllegal2() {
one = 1
; two = 2; //warn
}
class Inner
{
/**
* Dummy variable to work on.
*/
private int one = 0;
/**
* Dummy variable to work on.
*/
private int two = 0;
/**
* Simple legal method.
*/
public void doLegal() {
one = 1;
two = 2;
}
/**
* Simplest form a an illegal layout.
*/
public void doIllegal() {
one = 1; two = 2; //warn
if (one == 1) {
one++; two++; //warn
}
if (one != 1) { one++; } else { one--; } //warn
int n = 10;
doLegal(); doLegal(); //warn
while (one == 1) {one++; two--;} //warn
}
}
/**
* Two declaration statements on the same line are illegal.
*/
int a; int b; //warn
/**
* Two declaration statements which are not on the same line
* are legal.
*/
int c;
int d;
/**
* Two assignment (declaration) statements on the same line are illegal.
*/
int e = 1; int f = 2; //warn
/**
* Two assignment (declaration) statements on the different lines
* are legal.
*/
int g = 1;
int h = 2;
/**
* This method contains
* two object creation statements on the same line.
*/
private void foo() {
//Two object creation statements on the same line are illegal.
Object obj1 = new Object(); Object obj2 = new Object(); //warn
}
/**
* One multiline assignment (declaration) statement
* is legal.
*/
int i = 1, j = 2,
k = 5;
/**
* One multiline assignment (declaration) statement
* is legal.
*/
int l = 1,
m = 2,
n = 5;
/**
* One multiline assignment (declaration) statement
* is legal.
*/
int w = 1,
x = 2,
y = 5
;
/**
* Two multiline assignment (declaration) statements
* are illegal.
*/
int o = 1, p = 2,
r = 5; int t; //warn
/**
* Two assignment (declaration) statement
* which are not on the same lines and are legal.
*/
int four = 1,
five = 5
;
int seven = 2;
/**
* Two statements on the same line
* (they both are distributed over two lines)
* are illegal.
*/
int var1 = 5,
var4 = 5; int var2 = 6,
var3 = 5; //warn
/**
* Two statements on the same line
* (they both are distributed over two lines)
* are illegal.
*/
int var6 = 5; int var7 = 6,
var8 = 5; //warn
/**
* Two statements on the same line
* (they both are distributed over two lines)
* are illegal.
*/
private void foo2() {
toString(
); toString (
); //warn
}
/**
* While theoretically being distributed over two lines, this is a sample
* of 2 statements on one line.
*/
int var9 = 1, var10 = 5
; int var11 = 2; //warn
/**
* Multiline for loop statement is legal.
*/
private void foo3() {
for (int n = 0,
k = 1;
n < 5; n++,
k--) {
}
}
/**
* Two multiline statements (which are not on the same line)
* are legal.
*/
int var12,
var13 = 12;
int var14 = 5,
var15 = 6;
/**
* This method contains break and while loop statements.
*/
private void foo4() {
do {
var9++;
if (var10 > 4) {
break; //legal
}
var11++;
var9++;
} while (var11 < 7); //legal
/**
* One statement inside for block is legal
*/
for (int i = 0; i < 10; i++) one = 5; //legal
/**
* One statement inside for block where
* increment expression is empty is legal
*/
for (int i = 0; i < 10;) one = 5; //legal
/**
* One statement inside for block where
* increment and conditional expressions are empty
* (forever loop) is legal
*/
for (int i = 0;;) one = 5; //legal
}
public void foo5() {
/**
* a "forever" loop.
*/
for(;;){} //legal
}
public void foo6() {
/**
* One statement inside for block is legal
*/
for (;;) { one = 5; } //legal
}
/**
* One statement inside multiline for loop is legal.
*/
private void foo7() {
for(int n = 0,
k = 1
; n<5
;
n++, k--) { var1++; } //legal
}
/**
* Two statements on the same lne
* inside multiline for loop are illegal.
*/
private void foo8() {
for(int n = 0,
k = 1
; n<5
;
n++, k--) { var1++; var2++; } //warn
}
}