blob: 330abb819ab967cbc3a8172758873e722a74592a [file] [log] [blame]
package com.puppycrawl.tools.checkstyle.checks.coding.variabledeclarationusagedistance;
import java.util.*;
public class InputVariableDeclarationUsageDistance {
private static int test1 = 0;
static {
int b = 0;
int d = 0;
{
d = ++b;
}
}
static {
int c = 0;
int a = 3;
int b = 2;
{
a = a + b;
c = b;
}
{
c--;
}
a = 7;
}
static {
int a = -1;
int b = 2;
b++;
int c = --b;
a = b; // DECLARATION OF VARIABLE 'a' SHOULD BE HERE (distance = 2)
}
public InputVariableDeclarationUsageDistance(int test1) {
int temp = -1;
this.test1 = test1;
temp = test1; // DECLARATION OF VARIABLE 'temp' SHOULD BE HERE (distance = 2)
}
public boolean testMethod() {
int temp = 7;
new InputVariableDeclarationUsageDistance(2);
String.valueOf(temp); // DECLARATION OF VARIABLE 'temp' SHOULD BE HERE (distance = 2)
boolean result = false;
String str = "";
if (test1 > 1) {
str = "123";
result = true;
}
return result;
}
public void testMethod2() {
int count;
int a = 3;
int b = 2;
{
a = a
+ b
- 5
+ 2
* a;
count = b; // DECLARATION OF VARIABLE 'count' SHOULD BE HERE (distance = 2)
}
}
public void testMethod3() {
int count;
int a = 3;
int b = 3;
a = a + b;
b = a + a;
testMethod2();
count = b; // DECLARATION OF VARIABLE 'count' SHOULD BE HERE (distance = 4)
}
public void testMethod4(int arg) {
int d = 0;
for (int i = 0; i < 10; i++) {
d++;
if (i > 5) {
d += arg;
}
}
String ar[] = { "1", "2" };
for (String st : ar) {
System.identityHashCode(st);
}
}
public void testMethod5() {
int arg = 7;
boolean b = true;
boolean bb = false;
if (b)
if (!bb)
b = false;
testMethod4(arg); // DECLARATION OF VARIABLE 'arg' SHOULD BE HERE (distance = 2)
}
public void testMethod6() {
int blockNumWithSimilarVar = 3;
int dist = 0;
int index = 0;
int block = 0;
if (blockNumWithSimilarVar <= 1) {
do {
dist++;
if (block > 4) {
break;
}
index++;
block++;
} while (index < 7);
} else {
while (index < 8) {
dist += block;
index++;
block++;
}
}
}
public boolean testMethod7(int a) {
boolean res;
switch (a) {
case 1:
res = true;
break;
default:
res = false;
}
return res;
}
public void testMethod8() {
int b = 0;
int c = 0;
int m = 0;
int n = 0;
{
c++;
b++;
}
{
n++; // DECLARATION OF VARIABLE 'n' SHOULD BE HERE (distance = 2)
m++; // DECLARATION OF VARIABLE 'm' SHOULD BE HERE (distance = 3)
b++;
}
}
public void testMethod9() {
boolean result = false;
boolean b1 = true;
boolean b2 = false;
if (b1) {
if (!b2) {
result = true;
}
result = true;
}
}
public boolean testMethod10() {
boolean result;
try {
result = true;
} catch (Exception e) {
result = false;
} finally {
result = false;
}
return result;
}
public void testMethod11() {
int a = 0;
int b = 10;
boolean result;
try {
b--;
} catch (Exception e) {
b++;
result = false; // DECLARATION OF VARIABLE 'result' SHOULD BE HERE (distance = 2)
} finally {
a++;
}
}
public void testMethod12() {
boolean result = false;
boolean b3 = true;
boolean b1 = true;
boolean b2 = false;
if (b1) {
if (b3) {
if (!b2) {
result = true;
}
result = true;
}
}
}
public void testMethod13() {
int i = 9;
int j = 6;
int g = i + 8;
int k = j + 10;
}
public void testMethod14() {
Session s = openSession();
Transaction t = s.beginTransaction();
A a = new A();
E d1 = new E();
C1 c = new C1();
E d2 = new E();
a.setForward(d1);
d1.setReverse(a);
c.setForward(d2); // DECLARATION OF VARIABLE 'c' SHOULD BE HERE (distance = 3)
// DECLARATION OF VARIABLE 'd2' SHOULD BE HERE (distance = 3)
d2.setReverse(c);
Serializable aid = s.save(a);
Serializable d2id = s.save(d2);
t.commit(); // DECLARATION OF VARIABLE 't' SHOULD BE HERE (distance = 5)
s.close();
}
public boolean isCheckBoxEnabled(int path) {
String model = "";
if (true) {
for (int index = 0; index < path; ++index) {
int nodeIndex = model.codePointAt(path);
if (model.contains("")) {
return false;
}
}
} else {
int nodeIndex = model.codePointAt(path);
if (model.contains("")) {
return false;
}
}
return true;
}
public Object readObject(String in) throws Exception {
String startDay = new String("");
String endDay = new String("");
return new String(startDay + endDay);
}
public int[] getSelectedIndices() {
int[] selected = new int[5];
String model = "";
int a = 0;
a++;
for (int index = 0; index < 5; ++index) {
selected[index] = Integer.parseInt(model.valueOf(a)); // DECLARATION OF VARIABLE 'selected' SHOULD BE HERE (distance = 2)
// DECLARATION OF VARIABLE 'model' SHOULD BE HERE (distance = 2)
}
return selected;
}
public void testMethod15() {
String confDebug = "";
if (!confDebug.equals("") && !confDebug.equals("null")) {
LogLog.warn("The \"" + "\" attribute is deprecated.");
LogLog.warn("Use the \"" + "\" attribute instead.");
LogLog.setInternalDebugging(confDebug, true);
}
int i = 0;
int k = 7;
boolean b = false;
for (; i < k; i++) {
b = true;
k++;
}
int sw;
switch (i) {
case 0:
k++;
sw = 0; // DECLARATION OF VARIABLE 'sw' SHOULD BE HERE (distance = 2)
break;
case 1:
b = false;
break;
default:
b = true;
}
int wh = 0;
b = true;
do {
k--;
i++;
} while (wh > 0); // DECLARATION OF VARIABLE 'wh' SHOULD BE HERE (distance = 2)
if (wh > 0) {
k++;
} else if (!b) {
i++;
} else {
i--;
}
}
public void testMethod16() {
int wh = 1, i = 4, k = 0;
if (i > 0) {
k++;
} else if (wh > 0) {
i++;
} else {
i--;
}
}
protected JMenuItem createSubMenuItem(LogLevel level) {
final JMenuItem result = new JMenuItem(level.toString());
final LogLevel logLevel = level;
result.setMnemonic(level.toString().charAt(0));
result.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
showLogLevelColorChangeDialog(result, logLevel); // DECLARATION OF VARIABLE 'logLevel' SHOULD BE HERE (distance = 2)
}
});
return result;
}
public static Color darker(Color color, double fraction) {
int red = (int) Math.round(color.getRed() * (1.0 - fraction));
int green = (int) Math.round(color.getGreen() * (1.0 - fraction));
int blue = (int) Math.round(color.getBlue() * (1.0 - fraction));
if (red < 0) {
red = 0;
} else if (red > 255) {
red = 255;
}
if (green < 0) { // DECLARATION OF VARIABLE 'green' SHOULD BE HERE (distance = 2)
green = 0;
} else if (green > 255) {
green = 255;
}
if (blue < 0) { // DECLARATION OF VARIABLE 'blue' SHOULD BE HERE (distance = 3)
// blue = 0;
}
int alpha = color.getAlpha();
return new Color(red, green, blue, alpha);
}
public void testFinal() {
AuthUpdateTask authUpdateTask = null;
final long intervalMs = 30 * 60000L; // 30 min
Object authCheckUrl = null, authInfo = null;
authUpdateTask = new AuthUpdateTask(authCheckUrl, authInfo, new IAuthListener() {
@Override
public void authTokenChanged(String cookie, String token) {
fireAuthTokenChanged(cookie, token);
}
});
Timer authUpdateTimer = new Timer("Auth Guard", true);
authUpdateTimer.schedule(authUpdateTask, intervalMs / 2, intervalMs); // DECLARATION OF VARIABLE 'intervalMs' SHOULD BE HERE (distance = 2)
}
public void testForCycle() {
int filterCount = 0;
for (int i = 0; i < 10; i++, filterCount++) {
int abc = 0;
System.identityHashCode(abc);
for (int j = 0; j < 10; j++) {
abc = filterCount;
System.identityHashCode(abc);
}
}
}
public void testIssue32_1()
{
Option srcDdlFile = OptionBuilder.create("f");
Option logDdlFile = OptionBuilder.create("o");
Option help = OptionBuilder.create("h");
Options options = new Options();
options.something();
options.something();
options.something();
options.something();
options.addOption(srcDdlFile, logDdlFile, help); // distance=1
}
public void testIssue32_2()
{
int mm = Integer.parseInt("2");
long timeNow = 0;
Calendar cal = Calendar.getInstance(TimeZone.getDefault(), Locale.getDefault());
cal.setTimeInMillis(timeNow);
cal.set(Calendar.SECOND, 0);
cal.set(Calendar.MILLISECOND, 0);
cal.set(Calendar.HOUR_OF_DAY, mm);
cal.set(Calendar.MINUTE, mm); // distance=1
}
public void testIssue32_3(MyObject[] objects) {
Calendar cal = Calendar.getInstance(TimeZone.getDefault(), Locale.getDefault());
for(int i=0; i<objects.length; i++) {
objects[i].setEnabled(true);
objects[i].setColor(0x121212);
objects[i].setUrl("http://google.com");
objects[i].setSize(789);
objects[i].setCalendar(cal); // distance=1
}
}
public String testIssue32_4(boolean flag) {
StringBuilder builder = new StringBuilder();
builder.append("flag is ");
builder.append(flag);
final String line = "";
if(flag) {
builder.append("line of AST is:");
builder.append("\n");
builder.append(String.valueOf(line)); //distance=1
builder.append("\n");
}
return builder.toString();
}
public void testIssue32_5() {
Option a = null;
Option b = null;
Option c = null;
boolean isCNull = isNull(c); // distance=1
boolean isBNull = isNull(b); // distance=1
boolean isANull = isNull(a); // distance=1
}
public void testIssue32_6() {
Option aOpt = null;
Option bOpt = null;
Option cOpt = null;
isNull(cOpt); // distance = 1
isNull(bOpt); // distance = 2
isNull(aOpt); // distance = 3
}
public void testIssue32_7() {
String line = "abc";
otherWriter.write(line);
line.charAt(1);
builder.append(line);
test(line, line, line);
}
public void testIssue32_8(Writer w1, Writer w2, Writer w3) {
String l1="1", l2="2", l3="3";
w1.write(l3); //distance=1
w2.write(l2); //distance=2
w3.write(l1); //distance=3
}
public void testIssue32_9() {
Options options = new Options();
Option myOption = null;
options.addBindFile(null);
options.addBindFile(null);
options.addBindFile(null);
options.addBindFile(null);
options.addBindFile(null);
System.identityHashCode("message");
myOption.setArgName("abc"); // distance=7
}
public void testIssue32_10() {
Options options = new Options();
Option myOption = null;
options.addBindFile(null);
options.addBindFile(null);
options.addBindFile(null);
options.addBindFile(null);
options.addBindFile(null);
myOption.setArgName("q"); // distance=6
}
public int testIssue32_11(String toDir)
throws Exception
{
int count = 0;
String[] files = {};
System.identityHashCode("Data archivation started");
files.notify();
System.identityHashCode("sss");
if (files == null || files.length == 0) {
System.identityHashCode("No files on a remote site");
}
else {
System.identityHashCode("Files on remote site: " + files.length);
for (String ftpFile : files) {
if (files.length == 0) {
"".concat("");
ftpFile.concat(files[2]);
count++;
}
}
}
System.lineSeparator();
return count;
}
//////////////////////////////////////////////////
// False positive. Will be fixed in future.
//////////////////////////////////////////////////
private TreeMapNode buildTree(Object[][] tree)
{
int k = 0;
tree.notify();
TreeMapNode root = null;
for (Object[] s : tree) {
Integer id = (Integer) s[0];
String label = (String) s[1];
Integer parentId = (Integer) s[2]; ///!!!!!!!!
Number weight = (Number) s[3];
Number value = (Number) s[4];
Integer childCount = (Integer) s[5];
TreeMapNode node;
if (childCount == 0) {
node = new TreeMapNode(label,
weight != null ? weight.doubleValue() : 0.0,
new DefaultValue(value != null ? value.doubleValue()
: 0.0));
}
else {
node = new TreeMapNode(label);
}
System.identityHashCode(id.toString() + node);
System.identityHashCode(node.toString() + id);
if (parentId == null || parentId == -1) { ///!!!!!!!
root = node;
}
else {
System.identityHashCode(parentId.toString() +node);
}
}
return root;
}
private Session openSession() {
return null;
}
class Session {
public Transaction beginTransaction() {
return null;
}
public void close() {
}
public Serializable save(E d2) {
return null;
}
public Serializable save(A a) {
return null;
}
}
class Transaction {
public void commit() {
}
}
class A {
public void setForward(E d1) {
}
}
class E {
public void setReverse(C1 c) {
}
public void setReverse(A a) {
}
}
class C1 {
public void setForward(E d2) {
}
}
class Serializable {
}
class JMenuItem {
public JMenuItem(String string) {
}
public void addActionListener(ActionListener actionListener) {
}
public void setMnemonic(char charAt) {
}
}
class LogLevel {
}
class ActionListener {
}
class ActionEvent {
}
private void showLogLevelColorChangeDialog(JMenuItem j, LogLevel l) { }
static class Color {
public Color(int red, int green, int blue, int alpha) {
}
public double getRed() {
return 0;
}
public int getAlpha() {
return 0;
}
public double getBlue() {
return 0;
}
public double getGreen() {
return 0;
}
}
class AuthUpdateTask {
public AuthUpdateTask(Object authCheckUrl, Object authInfo,
IAuthListener iAuthListener) {
}
}
interface IAuthListener {
void authTokenChanged(String cookie, String token);
}
void fireAuthTokenChanged(String s, String s1) {}
class Timer {
public Timer(String string, boolean b) {
}
public void schedule(AuthUpdateTask authUpdateTask, long l,
long intervalMs) {
}
}
class Option {
public void setArgName(String string) {
}
}
boolean isNull(Option o) {
return false;}
class Writer {
public void write(String l3) {
}
}
class Options {
public void addBindFile(Object object) {
}
public void
addOption(Option srcDdlFile, Option logDdlFile, Option help)
{
}
public void something()
{
}
}
class TreeMapNode {
public TreeMapNode(String label, double d, DefaultValue defaultValue) {
}
public TreeMapNode(String label) {
}
}
class DefaultValue {
public DefaultValue(double d) {
}
}
static class LogLog {
public static void warn(String string)
{
}
public static void setInternalDebugging(String confDebug, boolean b)
{
}
}
static class OptionBuilder {
public static Option create(String string)
{
return null;
}
}
class MyObject {
public void setEnabled(boolean b)
{
}
public void setCalendar(Calendar cal)
{
}
public void setSize(int i)
{
}
public void setUrl(String string)
{
}
public void setColor(int i)
{
}
}
static class otherWriter {
public static void write(String line)
{
}
}
void test(String s, String s1, String s2) {
}
static class builder {
public static void append(String line)
{
}
}
}
class New {
void a() {
int a = 1;
System.lineSeparator();
System.lineSeparator();
System.lineSeparator();
System.lineSeparator();
while (true) {
System.lineSeparator();
System.identityHashCode(a);
}
}
void b() {
int a = 1;
System.lineSeparator();
System.lineSeparator();
System.lineSeparator();
System.lineSeparator();
do {
System.lineSeparator();
System.identityHashCode(a);
} while (true);
}
void c() {
int a = 1;
System.lineSeparator();
System.lineSeparator();
System.lineSeparator();
System.lineSeparator();
for (;;) {
System.lineSeparator();
System.identityHashCode(a);
}
}
void d() {
int a = 1;
System.lineSeparator();
System.lineSeparator();
System.lineSeparator();
System.lineSeparator();
for (int i: new int[]{1,2,3}) {
System.lineSeparator();
System.identityHashCode(a);
}
}
void f() {
int a = 1;
System.lineSeparator();
System.lineSeparator();
System.lineSeparator();
System.lineSeparator();
while (true)
System.identityHashCode(a);
}
void h() {
int a = 1;
System.lineSeparator();
System.lineSeparator();
System.lineSeparator();
System.lineSeparator();
while (true)
while (true)
a++;
}
void i() {
int a = 1;
switch (Math.max(1, 2)) {
case 1:
System.lineSeparator();
break;
case 2:
System.lineSeparator();
break;
}
switch (Math.max(1, 2)) {
case 1:
System.identityHashCode(a);
break;
case 2:
System.identityHashCode(a);
break;
}
}
void k() {
int a = 1;
System.lineSeparator();
System.lineSeparator();
System.lineSeparator();
System.lineSeparator();
while (true) {
System.lineSeparator();
if (true) {
System.lineSeparator();
} else if (true) {
System.identityHashCode(a);
} else {
System.lineSeparator();
}
}
}
void l() {
int a = 1;
while (true) {
switch (hashCode()){}
switch (Math.max(1, 2)) {
case 1:
System.identityHashCode(a);
break;
case 2:
System.identityHashCode(a);
break;
}
}
}
void tryWithoutFinally() {
int a = 1;
System.lineSeparator();
System.lineSeparator();
System.lineSeparator();
try {
a = 2;
}
catch(Exception e){}
}
void m() {
final int a = 1;
int b = 0;
if (b == 1) {
System.lineSeparator();
}
final int c = a + 1;
}
}