1
2
3
4
5
6
7
8
9
10 package com.puppycrawl.tools.checkstyle.checks.coding.requirethis;
11
12 import java.io.*;
13 import java.util.Scanner;
14
15 public class InputRequireThisTryWithResourcesOnlyOverlappingFalse implements AutoCloseable {
16 private BufferedReader fldBufferedReader;
17 private InputStreamReader fldStreamReader;
18 private Scanner fldScanner;
19 private String fldCharset = "utf-8";
20
21 void oneResource() {
22 try (BufferedReader fldBufferedReader
23 = new BufferedReader(new InputStreamReader(null, "utf-8"))) { }
24 catch (IOException e) { }
25 }
26
27 void twoResourcesReferencingEachOther() {
28 try (InputStreamReader fldStreamReader = new InputStreamReader(null, "utf-8");
29 BufferedReader fldBufferedReader = new BufferedReader(fldStreamReader)) { }
30 catch (IOException e) { }
31 }
32
33 void threeResourcesReferencingEachOther() {
34 try (InputStreamReader fldStreamReader = new InputStreamReader(null, "utf-8");
35 BufferedReader fldBufferedReader = new BufferedReader(fldStreamReader);
36 Scanner fldScanner
37 = new Scanner(fldStreamReader.toString()
38 + fldBufferedReader.toString())) { }
39 catch (IOException e) { }
40 }
41
42 void failToHandleParameter() {
43 try (BufferedReader fldBufferedReader = new BufferedReader(new InputStreamReader(
44 null, fldCharset))) { }
45 catch (IOException e) { }
46 }
47
48 void handleParameter() {
49 try (BufferedReader fldBufferedReader = new BufferedReader(
50 new InputStreamReader(null, this.fldCharset))) { }
51 catch (IOException e) { }
52 }
53
54 void noResources() {
55 try {
56 int a = 5;
57 fldCharset += a;
58 }
59 catch (Exception ex) { }
60 }
61
62 String methodToInvoke() {
63 return "string";
64 }
65
66 void methodInvoke() {
67 try (BufferedReader fldBufferedReader = new BufferedReader(
68
69 new InputStreamReader(null, methodToInvoke()))) { }
70 catch (Exception ex) { }
71 }
72
73 void methodIdentCopy() {
74 try (BufferedReader methodToInvoke = new BufferedReader(
75 new InputStreamReader(null, this.methodToInvoke()))) {
76
77 String a = methodToInvoke() + methodToInvoke.toString();
78 }
79 catch (Exception ex) { }
80 }
81
82 final static InputRequireThisTryWithResources r1 = new InputRequireThisTryWithResources();
83 final InputRequireThisTryWithResources r2 = new InputRequireThisTryWithResources();
84 static InputRequireThisTryWithResources r3 = new InputRequireThisTryWithResources();
85 InputRequireThisTryWithResources r4 = new InputRequireThisTryWithResources();
86
87 void staticVariables() {
88 try (r1) { }
89 catch (Exception e) { }
90 try (r1.r2) { }
91 catch (Exception e) { }
92 try (r1.r2.r4.r2.r4.r2) { }
93 catch (Exception e) { }
94 }
95
96 void nestedTryWithResources() {
97 try (InputStreamReader fldStreamReader = new InputStreamReader(null, "utf-8")) {
98 try (BufferedReader fldBufferedReader = new BufferedReader(fldStreamReader)) {
99 try (Scanner fldScanner = new Scanner(
100 fldBufferedReader.toString() + fldStreamReader.toString())) { }
101 }
102
103 try (Scanner fldScanner = new Scanner(fldBufferedReader.toString()
104 + fldStreamReader.toString())) { }
105
106 String a = fldStreamReader.toString()
107 + fldBufferedReader.toString() + fldScanner.toString();
108 }
109 catch (IOException e) {
110 String a = fldStreamReader.toString()
111 + fldBufferedReader.toString() + fldScanner.toString();
112 }
113 }
114
115 @Override
116 public void close() throws Exception { }
117 }