diff --git a/.vscodeignore b/.vscodeignore
index cdeca6b..49df7ba 100644
--- a/.vscodeignore
+++ b/.vscodeignore
@@ -7,3 +7,7 @@ src/**
tsconfig.json
gulpfile.js
.gitignore
+images/**
+testprojects/**
+TestPlan.md
+.github/**
\ No newline at end of file
diff --git a/TestPlan.md b/TestPlan.md
new file mode 100644
index 0000000..7793d02
--- /dev/null
+++ b/TestPlan.md
@@ -0,0 +1,412 @@
+# Test Plan
+## Hello World
+
+ 1. Create a new folder `helloworld`, create a file named `App.java` in this folder and filling the following codes:
+
+
+2. Set BP on println
+3. Press F5, verify for launch.json generated with right `mainClass`
+4. Press F5, verify for BP to be hit, verify variable args shows like `String[0] (id=%d)`
+5. Add watch `args.toString() + " test"`, verify the result like `[Ljava.lang.String;@726f3b58 test`
+6. Input `args.toString() + " test"` in debug console, verify the same result in debug console and it is expandable.
+7. Verify stack with thread list and on paused thread and one stack:
+ `App.main(String[]) (App.java:5)`
+8. Press F10, verify `Hello World!` in debug console.
+9. Press F5, verify program terminates.
+
+## Call Stack
+1. Open test project `2.callstack`
+2. Open `Bar.java`, set BP on line 3
+1. Press F5, verify for launch.json generated with right `projectName` and `mainClass`
+4. Press F5, verify for BP to be hit, verify variable args shows `i: 20` and `this: Bar (id=^d)`
+
+1. Verify the stackframe shows:
+
+1. Click the testFoo line in the call stack view, verify vscode views verify variable args shows `j: 10` and `this: Foo (id=^d)` and `this` is expandable with only member `bar: Bar (id=^d)`, the bar should not be expandable.
+1. Change `j` to `32` and switch to stackframe `Bar.testBar(int) (Bar.java:3)` and switch back to `Foo.testFoo(int) (Foo.java:6)`, input `j + 1` in debug console and verify `33` is diplayed.
+1. Add watch `this.bar.toString()` and verify the result `"Bar@^d" (id=^d)`
+1. Add watch `"test" + new Bar().hashCode()` and verify the result `"test^d" (id=^d)`
+1. Add watch `bar.testBar(j + 10)` and verify there is a message `This is test method in bar.` printed in debug console.
+9. Press F5, verify program terminates.
+
+## Call Stack
+1. Open test project `2.callstack`
+2. Open `Bar.java`, set BP on line 3
+1. Press F5, verify for launch.json generated with right `projectName` and `mainClass`
+4. Press F5, verify for BP to be hit, verify variable args shows `i: 20` and `this: Bar (id=^d)`
+
+1. Verify the stackframe shows:
+
+1. Click the testFoo line in the call stack view, verify vscode views verify variable args shows `j: 10` and `this: Foo (id=^d)` and `this` is expandable with only member `bar: Bar (id=^d)`, the bar should not be expandable.
+1. Change `j` to `32` and switch to stackframe `Bar.testBar(int) (Bar.java:3)` and switch back to `Foo.testFoo(int) (Foo.java:6)`, input `j + 1` in debug console and verify `33` is diplayed.
+1. Add watch `this.bar.toString()` and verify the result `"Bar@^d" (id=^d)`
+1. Add watch `"test" + new Bar().hashCode()` and verify the result `"test^d" (id=^d)`
+1. Add watch `bar.testBar(j + 10)` and verify there is a message `This is test method in bar.` printed in debug console.
+9. Press F5, verify program terminates.
+
+## Variables
+1. Open test project `4.variable`
+
+1. Set BP on the last statement of `VariableTest#test`
+1. Press F5 choose `java` and F5 again to start debug and wait for BP to be hit
+1. Verify
+ 1. `i` should be `111`
+ 1. `nullstr` should be `null`
+ 1. `str` should be full displayed with 1000 `a`
+ 1. `object` should be `Object (id=^d)` and not expandable
+ 1. `test` should be `VariableTest (id=^d)` and expandable with `x (VariableTest): 100`, `i:19099` and `x (Foo): 0`
+ 1. `a` is not expandable
+ 1. `b` is displayed as `Class (A) (id=^d)` and expand `b->classLoader`, there should be no errors on logs
+ 1. `intarray` should have 3 integers `1, 2, 3`
+ 1. `strList` should have children `size: 2` and expandable `elementData`, expand `elementData`, a long string `string test aaaaaaa...` should be displayed
+ 1. `map` should have `size: 1` and expandable `table` with a `HashMap$Node` child.
+ 1. `t` should have one element `hello`
+ 1. `genericArray` should be displayed `String[10][] (id=^d)` with first non-empty element
+ 1. `multi` should be displayed `String[5][][] (id=^d)` and two levels expandable tree nodes.
+ 1. `d` should not be expandable
+ 1. `dd` should be displayed as `GenericsFoo (id=^d)` and should have one child `x: Foo (id=^d)` with only one child `x: 0`
+ 1. `list` should have only one element of `int[1] (id=^d)` at index `0`
+ 1. `this` variable should be displayed
+1.
+1. set value on `test->x (VariableTest)`, input value `1`, verify `this->x (VariableTest)` has also been changed to `1`
+
+1. Open user settings and set
+
+1. verify
+ 1. numbers are displayed in hex, and static variable is hiden and class names have been changed to fully qualified, `str` should be changed to `"string ..." (id=0x^d)`
+2. add watch `this.hashCode()` verify the result should be hex format.
+1. add watch `str + str.length()` in debug console, verify the result `"string ..." (id=0x^d)`
+1. Press F5, verify program terminates.
+
+## Big stack frame
+1. Open test project `6. recursivefunction`
+2. Open `RecursiveTest.java`, and set BP on line 8: return 1
+1. Press F5 choose `java` and F5 again to start debug and wait for BP to be hit
+1. Add watch `number + 100` and verify the call stack list is a long list, and you can switch between them freely with changed arguments number and changed watch values
+1. click on the Load More Stack Frames button, verify you can click on it continually. (The total stack frame count is 1000, and vscode will load 20 of them in one page, so you can click Load More Stack Frames button about 50 times), verify there is no PERFORMANCE issue (no delay more than 1 second during the test steps).
+1. Press F5, verify program terminates.
+
+## Breakpoint and innner class
+1. Open test project `5.breakpoint`
+1. Change the code to:
+```
+class A {
+
+ void m() {
+ System.out.println("outer");
+ }
+
+ String n() {
+ return "outer";
+ }
+}
+
+public class BreakPointTest {
+ public static void main(String[] args) {
+ new BreakPointTest().go();
+ int j = 0;
+ new A() {
+ @Override
+ void m() {
+ System.out.println("anonymous");
+ }
+ }.m();
+ for (int i = 1; i <= 100; i++) {
+ if (i <= 99) {
+ j++;
+ } else {
+ System.out.println(j);
+ }
+
+ }
+ }
+
+ void go() {
+ new A().m();
+ class A {
+ String n() {
+ return "inner";
+ }
+
+ void m() {
+ System.out.println("inner");
+ }
+ }
+ new A().m();
+ }
+
+ static class A {
+ String n() {
+ return "middle";
+ }
+
+ void m() {
+ System.out.println("middle");
+ }
+ }
+}
+```
+
+1. Set BP on each `println` statement
+1. Add watch `new A().n()`
+1. Press F5 to start debug, verify the line `System.out.println("middle");` is hit, verify the watch result is `middle`
+1. Press F5 again, verify the line `System.out.println("inner");` is hit, verify the watch result is displayed with red error message
+1. press F5 again and verify the line `System.out.println("anonymous");` is hit and the watch result is `middle`
+1. press F5 again and verify the line `System.out.println(j);` is hit and the watch result is `middle`
+1. Press F5, verify the program stops, verify no error in logs.
+1. verify the following messages in debug console
+middle
+inner
+anonymous
+99
+
+
+## Variable Performance Test
+1. Open test project `7.variableperformance`
+2. Open `TooManyVariables.java`, and set BP on `System.out.println("variable perf test.")`
+1. Press F5 choose `java` and F5 again to start debug
+1. Open debug view and expand the ‘this’ variable in variable view.
+1. Verify the time for expanding are less than 5 seconds
+1. Press F5, verify program terminates.
+
+## No Debug Information Test
+1. Open test project `8.nosource`
+1. Open `NoSourceTest.java`, and set breakpoint on line 4: `System.out.println(i+10);`
+1. Press F5 choose `java` and F5 again to start debug, verify the BP is hit
+1. Verify the following stack frames:
+
+1. Select stack frame `Foo.bar(int,int,Consumer) (Unknown Source:-1)`, add watch `this.hashCode() - arg0` and verify an integer as the result, verify watch `new Foo()` results in `Foo (id=^d)`
+1. Press F5, verify program terminates.
+
+## Maven Test
+1. Open cmd.exe and create an empty folder and run `mvn archetype:generate –DarchetypeArtifactId:maven-archetype-quickstart`
+ 1. On `Define value for property 'groupId'` please input `com.ms.samples`
+ 1. On `Define value for property 'artifactId'` please input `simple-app`
+ 1. For other options, press Enter
+1. Open generated `simple-app` folder using vscode
+1. Wait and verify `.project` and `.classpath` files and `target` folder are generated.
+1. Set BP on the `println`
+1. Press F5 choose `java` and F5 again to start debug, verify the BP is hit
+1. Press F5, verify program terminates with output `Hello World!`
+
+## Gradle Test
+1. create a new folder and create file `build.gradle` with the following text:
+
+ apply plugin: 'java'
+
+ // Redefine where to look for app and test code
+ // In this example, our code is structured as:
+ // project
+ // └── src
+ // ├── main
+ // │ ├── java
+ // │ └── resources
+ sourceSets {
+ main.java.srcDirs = ['src/main/java']
+ }
+
+1. copy the src/main folder from prevous test case `Maven Test` to this folder.
+1. Set BP on the `println`
+1. Press F5 choose `java` and F5 again to start debug, verify the BP is hit
+1. Press F5, verify program terminates with output `Hello World!`
+
+## PetClinic
+1. Clone code from `https://github.com/spring-projects/spring-petclinic.git`
+1. Open the cloned project and verify `.project` and `.classpath` files and `target` folder are generated.
+1. Set BP on `WelcomeController.java` on line `return "welcome";` and `main` on `PetClinicApplication.java`
+1. Press F5 choose `java` and F5 again to start debug, verify the BP on `main` is hit.
+1. Press F5 and verify the BP on `main` is hit again.
+1. Wait for output `2017-11-23 20:23:25.230 INFO 9448 --- [ restartedMain] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(s): 8080 (http)
+`
+1. Open IE and navigate to `http://localhost:8080`, verify the `welcome` method is hit
+1. Press F5 and verify page like `spring-petclinic/target/classes/templates/welcome.html` is displayed on IE with `bad` css.
+1. STOP debug and do the test again from step 4
+
+## TODO application
+1. Clone code from `https://github.com/Microsoft/todo-app-java-on-azure.git`
+1. Open the cloned project and verify `.project` and `.classpath` files and `target` folder are generated.
+1. Open file `todo-app-java-on-azure\src\main\resources\application.properties` and replaces it with a test configuration(see my email attachment)
+1. Set BP on `TodoListController.java` on `addNewTodoItem(@RequestBody TodoItem item)` and `main` on `TodoApplication.java`
+1. Press F5 choose `java` and F5 again to start debug, verify the BP on `main` is hit.
+1. Press F5 to continue, open IE and open `http://localhost:8080/#/TodoList` and add a todo, press Button `Add` and verify the BP on addNewTodoItem is hit, wait a little time to load the stack frame.
+1. Press F10 and then Press F5, verify the todo item is added.
+
+
+## Single file build
+1. Open file in folder `21.single-file`.(`Open folder` or `Open file`)
+2. Press F5, make sure it debugs well.
+3. update the src to introduce a compilation error. For example, change `String s = "1";` to `String s = 1;`. Then hit F5, check whether vscode pop out an error message "Build fails, do you want to proceed", click `abort`, make sure there is no more error message.
+
+## Console application
+
+1. Open project `23.console-app` in vscode.
+2. Press `F5` choose java and make sure `launch.json` is generated.
+3. Press `F5` again to start debug.
+4. See VSCode `DEBUG CONSOLE` view, verify the program is blocking at the line `Please input your name:`.
+5. Terminate debugger.
+6. Go to `launch.json`, change the option `console` to `integratedTerminal`.
+7. Press `F5` again.
+8. See VSCode `TERMINAL` view, and user can input his/her name there and the program continue to run.
+9. Terminate debugger.
+10.Go to `launch.json`, change the option `console` to `externalTerminal`.
+11. Press `F5` again, and the debugger will pop up an external terminal (e.g. cmd.exe).
+12. User can input his/her name there and the program continue to run.
+
+## Java 9 modular application
+
+1. In your PC, install latest java 9 JDK, configure `JAVA_HOME`.
+2. Open project `19.java9-app` in vscode.
+3. Press `F5` choose java and verify `launch.json` is auto generated.
+4. Press `F5` to start debug.
+5. Verify `breakpoint` and `step` work.
+6. Click `Call Stack`, it will open the associated source file in VSCode correctly.
+
+## Multi-root
+
+1. Clone code from https://github.com/spring-projects/spring-petclinic.git
+2. Clone code https://github.com/Microsoft/todo-app-java-on-azure.git
+3. Open both above projects in the same VSCode windows under workspace features
+4. Navigate to the Debug view
+5. Generate configuration for sprintclinic
+6. Generate configuration for TODO
+7. Check both launch.json to see the selected project's main are generated.
+
+# Step Filters
+
+1. Open project `19.java9-app` in vscode.
+2. Follow gif to verify step filters feature.
+
+
+The new gif:
+
+
+## Hot Code Replace
+
+1. Open project `24.hotCodeReplace` in vscode.
+2. Set breakpoints: NameProvider.java line 12; Person.java line 13
+3. Press `F5` to start debug.
+4. The program stopped at the Person.java line 13
+5. Change the value of the line "old" to "new"
+5. Save the document to trigger HCR. Check the breakpoint will stop at line 12
+6. Click F10 to step over, check the value of `res` on the debug view of local variable which should be `new`
+
+## Conditional Breakpoints
+
+1. Open project `simple-java` in vscode, write the following code:
+
+package com.ms.samples;
+
+/**
+ * Hello world!
+ *
+ */
+public class App
+{
+ public static void main( String[] args )
+ {
+ int i = 0;
+ for (; i <= 1000; i++) {
+ if (i == 1000) {
+ System.out.println( "Hello World!" );
+ }
+ }
+ System.out.println( "Hello World!" );
+ }
+}
+
+
+
+2. set conditional breakpoint on line 13 with condition `i ==1000`, F5 and wait the breakpoint to be hit
+
+
+
+3. verify i equals 1000 in variable window.
+4. F5 and wait for program to exit.
+
+## Restart Frame
+
+1. Open project `25.restartFrame` in vscode.
+2. Set breakpoint: Person.java line 28
+3. Press `F5` to start debug.
+4. The program stopped at the Person.java line 28
+5. Open the debug view, find the call stack of current breakpoint
+6. Right click the `HelloWorld$1.run()`, choose `Restart Frame`. Result: It should fail with error message in the right corner.
+7. Right click the `Persona.getInternalName()`, choose `Restart Frame`. Result: The program stop at the entry of getInternalName
+7. Right click the `Persona.getName()`, choose `Restart Frame`. Result: The program stop at the entry of getName. The above call stacks are popped.
+
+## Encoding Test for project under chinese directory
+
+1. Find some project under chinese characters directory.
+2. Open it in vscode.
+3. Press `F5` to start debug.
+4. Verify the program can be launched normally.
+
+
+## Encoding Test for text file encoding
+
+1. Open a hello world project, and print `System.out.println("䏿–‡å—符3323")`.
+2. Press F5 to start debug.
+3. Verify the output in DEBUG CONSOLE view is correctly displayed.
+
+
+## Caught and Uncaught exceptions test
+
+1. Open project `simple-java` in vscode, change code from line12 to line16 with following code:
+```
+for (; i <= 1000; i++) {
+ if (i == 1) {
+ throw new IllegalStateException();
+ }
+ }
+```
+2. Open debug view and tick both Uncaught exceptions and Caught exeptions
+3. Press F5, verify progress stop at line 14
+4. Press F5 again, verify following messages in debug console
+```
+Exception in thread "main" java.lang.IllegalStateException
+ at com.ms.samples.App.main(App.java:14)
+```
+
+
+## Restart Frame
+
+1. Open project `25.restartFrame` in vscode.
+2. Set breakpoint: Person.java line 28
+3. Press `F5` to start debug.
+4. The program stopped at the Person.java line 28
+5. Open the debug console, input `s` or `g` , the auto complete window will pop up with intellisense support.
+
+## Logpoint
+
+1. Open a project in vscode, and add a logpoint. The log message is the simple text message. If you want to print the expression, you need wrap it with a curly bracket `{ javaExpression }`.
+2. Launch java debugger and continue your program.
+3. When the logpoint code branch is hit, it just log the message to the console and doesn't stop your program.
+
+
+
+
+
diff --git a/images/33868694-673f14b0-df3f-11e7-9983-b3cff5842020.gif b/images/33868694-673f14b0-df3f-11e7-9983-b3cff5842020.gif
new file mode 100644
index 0000000..61c9528
Binary files /dev/null and b/images/33868694-673f14b0-df3f-11e7-9983-b3cff5842020.gif differ
diff --git a/images/34507770-69597114-f074-11e7-8f32-027ad1d7a4fd.gif b/images/34507770-69597114-f074-11e7-8f32-027ad1d7a4fd.gif
new file mode 100644
index 0000000..489cb81
Binary files /dev/null and b/images/34507770-69597114-f074-11e7-8f32-027ad1d7a4fd.gif differ
diff --git a/images/37269785-0ffef8e6-2607-11e8-955f-93548ad5a0ad.gif b/images/37269785-0ffef8e6-2607-11e8-955f-93548ad5a0ad.gif
new file mode 100644
index 0000000..3ce29cb
Binary files /dev/null and b/images/37269785-0ffef8e6-2607-11e8-955f-93548ad5a0ad.gif differ
diff --git a/images/41949312-77627a40-79f3-11e8-9fd2-def4fa06e28d.gif b/images/41949312-77627a40-79f3-11e8-9fd2-def4fa06e28d.gif
new file mode 100644
index 0000000..0645eac
Binary files /dev/null and b/images/41949312-77627a40-79f3-11e8-9fd2-def4fa06e28d.gif differ
diff --git a/testprojects/1.helloworld/.classpath b/testprojects/1.helloworld/.classpath
new file mode 100644
index 0000000..0261015
--- /dev/null
+++ b/testprojects/1.helloworld/.classpath
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/testprojects/1.helloworld/.project b/testprojects/1.helloworld/.project
new file mode 100644
index 0000000..ab52c1a
--- /dev/null
+++ b/testprojects/1.helloworld/.project
@@ -0,0 +1,17 @@
+
+
+ 1.helloworld
+
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+
+ org.eclipse.jdt.core.javanature
+
+
diff --git a/testprojects/1.helloworld/src/main/java/HelloWorld.java b/testprojects/1.helloworld/src/main/java/HelloWorld.java
new file mode 100644
index 0000000..507090d
--- /dev/null
+++ b/testprojects/1.helloworld/src/main/java/HelloWorld.java
@@ -0,0 +1,13 @@
+public class HelloWorld {
+ public static void main(String[] args) {
+ System.out.print("hello");
+ if (args != null && args.length > 0) {
+ for (String arg : args) {
+ System.out.print(" " + arg);
+ }
+ System.out.println();
+ } else {
+ System.out.println(" world");
+ }
+ }
+}
\ No newline at end of file
diff --git a/testprojects/10.junit/.classpath b/testprojects/10.junit/.classpath
new file mode 100644
index 0000000..5fb1676
--- /dev/null
+++ b/testprojects/10.junit/.classpath
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/testprojects/10.junit/.project b/testprojects/10.junit/.project
new file mode 100644
index 0000000..d19df6c
--- /dev/null
+++ b/testprojects/10.junit/.project
@@ -0,0 +1,17 @@
+
+
+ 10.junit
+
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+
+ org.eclipse.jdt.core.javanature
+
+
diff --git a/testprojects/10.junit/build.gradle_ b/testprojects/10.junit/build.gradle_
new file mode 100644
index 0000000..fcac967
--- /dev/null
+++ b/testprojects/10.junit/build.gradle_
@@ -0,0 +1,39 @@
+apply plugin: 'java'
+apply plugin: 'eclipse'
+apply plugin: 'idea'
+
+buildscript {
+ repositories {
+ mavenCentral()
+ }
+ dependencies { classpath "commons-io:commons-io:2.5" }
+}
+
+import org.apache.commons.io.FilenameUtils;
+
+sourceSets {
+ main.java.srcDirs = ['src/main/java']
+}
+dependencies {
+ testCompile 'junit:junit:4.12'
+}
+
+
+repositories {
+ mavenCentral()
+}
+
+def getShortJar = { e -> FilenameUtils.getName(e) }
+eclipse.classpath.file {
+ withXml{xml ->
+ def node = xml.asNode()
+
+ node.classpathentry.each{
+ if (it.@kind == 'lib') {
+ it.@path = 'lib/' + getShortJar(it.@path);
+ it.@sourcepath = 'lib/' + getShortJar(it.@sourcepath);
+ }
+
+ }
+ }
+}
\ No newline at end of file
diff --git a/testprojects/10.junit/lib/hamcrest-core-1.3-sources.jar b/testprojects/10.junit/lib/hamcrest-core-1.3-sources.jar
new file mode 100644
index 0000000..c3c110b
Binary files /dev/null and b/testprojects/10.junit/lib/hamcrest-core-1.3-sources.jar differ
diff --git a/testprojects/10.junit/lib/hamcrest-core-1.3.jar b/testprojects/10.junit/lib/hamcrest-core-1.3.jar
new file mode 100644
index 0000000..9d5fe16
Binary files /dev/null and b/testprojects/10.junit/lib/hamcrest-core-1.3.jar differ
diff --git a/testprojects/10.junit/lib/junit-4.12-sources.jar b/testprojects/10.junit/lib/junit-4.12-sources.jar
new file mode 100644
index 0000000..884f92f
Binary files /dev/null and b/testprojects/10.junit/lib/junit-4.12-sources.jar differ
diff --git a/testprojects/10.junit/lib/junit-4.12.jar b/testprojects/10.junit/lib/junit-4.12.jar
new file mode 100644
index 0000000..3a7fc26
Binary files /dev/null and b/testprojects/10.junit/lib/junit-4.12.jar differ
diff --git a/testprojects/10.junit/src/main/java/MyClass.java b/testprojects/10.junit/src/main/java/MyClass.java
new file mode 100644
index 0000000..20dc61a
--- /dev/null
+++ b/testprojects/10.junit/src/main/java/MyClass.java
@@ -0,0 +1,17 @@
+/*******************************************************************************
+ * Copyright (c) 2017 Microsoft Corporation and others. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors: Microsoft Corporation - initial API and implementation
+ *******************************************************************************/
+
+public class MyClass {
+ public int multiply(int x, int y) {
+ if (x > 999) {
+ throw new IllegalArgumentException("X should be less than 1000");
+ }
+ return x * y;
+ }
+}
diff --git a/testprojects/10.junit/src/test/java/MyTest.java b/testprojects/10.junit/src/test/java/MyTest.java
new file mode 100644
index 0000000..2b1abe0
--- /dev/null
+++ b/testprojects/10.junit/src/test/java/MyTest.java
@@ -0,0 +1,18 @@
+import static org.junit.Assert.assertEquals;
+
+import org.junit.Test;
+
+public class MyTest {
+
+ @Test(expected = IllegalArgumentException.class)
+ public void testExceptionIsThrown() {
+ MyClass tester = new MyClass();
+ tester.multiply(1000, 5);
+ }
+
+ @Test
+ public void testMultiply() {
+ MyClass tester = new MyClass();
+ assertEquals("10 x 5 must be 50", 50, tester.multiply(10, 5));
+ }
+}
\ No newline at end of file
diff --git a/testprojects/11.maven/pom.xml b/testprojects/11.maven/pom.xml
new file mode 100644
index 0000000..88b3fe2
--- /dev/null
+++ b/testprojects/11.maven/pom.xml
@@ -0,0 +1,18 @@
+
+ 4.0.0
+ com.mycompany.app
+ my-app
+ jar
+ 1.0-SNAPSHOT
+ my-app
+ http://maven.apache.org
+
+
+ junit
+ junit
+ 3.8.1
+ test
+
+
+
diff --git a/testprojects/11.maven/src/main/java/com/mycompany/app/App.java b/testprojects/11.maven/src/main/java/com/mycompany/app/App.java
new file mode 100644
index 0000000..77cf3e0
--- /dev/null
+++ b/testprojects/11.maven/src/main/java/com/mycompany/app/App.java
@@ -0,0 +1,13 @@
+package com.mycompany.app;
+
+/**
+ * Hello world!
+ *
+ */
+public class App
+{
+ public static void main( String[] args )
+ {
+ System.out.println( "Hello World!" );
+ }
+}
diff --git a/testprojects/11.maven/src/test/java/com/mycompany/app/AppTest.java b/testprojects/11.maven/src/test/java/com/mycompany/app/AppTest.java
new file mode 100644
index 0000000..3355990
--- /dev/null
+++ b/testprojects/11.maven/src/test/java/com/mycompany/app/AppTest.java
@@ -0,0 +1,38 @@
+package com.mycompany.app;
+
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+
+/**
+ * Unit test for simple App.
+ */
+public class AppTest
+ extends TestCase
+{
+ /**
+ * Create the test case
+ *
+ * @param testName name of the test case
+ */
+ public AppTest( String testName )
+ {
+ super( testName );
+ }
+
+ /**
+ * @return the suite of tests being tested
+ */
+ public static Test suite()
+ {
+ return new TestSuite( AppTest.class );
+ }
+
+ /**
+ * Rigourous Test :-)
+ */
+ public void testApp()
+ {
+ assertTrue( true );
+ }
+}
diff --git a/testprojects/12.gradle/build.gradle b/testprojects/12.gradle/build.gradle
new file mode 100644
index 0000000..ed50e20
--- /dev/null
+++ b/testprojects/12.gradle/build.gradle
@@ -0,0 +1,6 @@
+apply plugin: 'java'
+
+
+sourceSets {
+ main.java.srcDirs = ['src/main/java']
+}
\ No newline at end of file
diff --git a/testprojects/12.gradle/src/main/java/GradleTest.java b/testprojects/12.gradle/src/main/java/GradleTest.java
new file mode 100644
index 0000000..f741d95
--- /dev/null
+++ b/testprojects/12.gradle/src/main/java/GradleTest.java
@@ -0,0 +1,5 @@
+public class GradleTest {
+ public static void main(String[] args) {
+ System.out.println("This is a sample gradle project");
+ }
+}
\ No newline at end of file
diff --git a/testprojects/13.customcl/.classpath b/testprojects/13.customcl/.classpath
new file mode 100644
index 0000000..56aca1a
--- /dev/null
+++ b/testprojects/13.customcl/.classpath
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/testprojects/13.customcl/.project b/testprojects/13.customcl/.project
new file mode 100644
index 0000000..815fce5
--- /dev/null
+++ b/testprojects/13.customcl/.project
@@ -0,0 +1,17 @@
+
+
+ 13.customcl
+
+
+
+ org.eclipse.jdt.core.javanature
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+
+
diff --git a/testprojects/13.customcl/replacement/Foo.class b/testprojects/13.customcl/replacement/Foo.class
new file mode 100644
index 0000000..ef0cc91
Binary files /dev/null and b/testprojects/13.customcl/replacement/Foo.class differ
diff --git a/testprojects/13.customcl/src/main/java/CustomCL.java b/testprojects/13.customcl/src/main/java/CustomCL.java
new file mode 100644
index 0000000..76b4e25
--- /dev/null
+++ b/testprojects/13.customcl/src/main/java/CustomCL.java
@@ -0,0 +1,56 @@
+import java.io.ByteArrayOutputStream;
+import java.io.File;
+import java.io.IOException;
+import java.io.InputStream;
+import java.nio.file.Files;
+import java.nio.file.Paths;
+
+class CustomCL extends ClassLoader {
+ private String baseFolder;
+
+ public CustomCL(String baseFolder) {
+ super(null);
+ this.baseFolder = baseFolder;
+ }
+
+ @Override
+ protected Class> findClass(String name) throws ClassNotFoundException {
+ // load from parent
+ Class> result = findLoadedClass(name);
+ if (result != null) {
+ return result;
+ }
+
+ try {
+ File classFile = new File(baseFolder, name + ".class");
+ if (classFile.exists()) {
+ byte[] bytes = Files.readAllBytes(Paths.get(classFile.getAbsolutePath()));
+ return defineClass(name, bytes, 0, bytes.length);
+ }
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ return getSystemClassLoader().loadClass(name);
+
+ }
+
+ @Override
+ protected Class loadClass(String name, boolean resolve)
+ throws ClassNotFoundException {
+ Class cls;
+
+ cls = findLoadedClass(name);
+ if (cls == null) {
+ cls = findClass(name);
+ }
+
+ if (cls == null) {
+ throw new ClassNotFoundException(name);
+ }
+
+ if (resolve)
+ resolveClass(cls);
+ return cls;
+ }
+
+}
\ No newline at end of file
diff --git a/testprojects/13.customcl/src/main/java/CustomClassLoaderTest.java b/testprojects/13.customcl/src/main/java/CustomClassLoaderTest.java
new file mode 100644
index 0000000..e33d06d
--- /dev/null
+++ b/testprojects/13.customcl/src/main/java/CustomClassLoaderTest.java
@@ -0,0 +1,26 @@
+import java.io.File;
+
+public class CustomClassLoaderTest {
+ public static void main(String[] args) {
+ File replacement = new File(new File("").getAbsolutePath(), "replacement");
+ if (!replacement.exists()) {
+ replacement = new File(new File("").getAbsolutePath(), "../replacement");
+ }
+
+
+ final String replacementFolder = replacement.getAbsolutePath();
+ new Thread(()-> {
+ try {
+ System.out.println("Using " + replacementFolder);
+ CustomCL cl = new CustomCL(replacementFolder);
+ Class cls = cl.loadClass("Foo");
+
+ IFoo foo = (IFoo)cls.newInstance();
+ new Foo().sayHello();
+ foo.sayHello();
+ } catch(Exception ex) {
+ ex.printStackTrace();
+ }
+ }).start();
+ }
+}
\ No newline at end of file
diff --git a/testprojects/13.customcl/src/main/java/Foo.java b/testprojects/13.customcl/src/main/java/Foo.java
new file mode 100644
index 0000000..847995b
--- /dev/null
+++ b/testprojects/13.customcl/src/main/java/Foo.java
@@ -0,0 +1,5 @@
+public class Foo implements IFoo {
+ public void sayHello() {
+ System.out.println("hello world! (version one)");
+ }
+}
\ No newline at end of file
diff --git a/testprojects/13.customcl/src/main/java/IFoo.java b/testprojects/13.customcl/src/main/java/IFoo.java
new file mode 100644
index 0000000..3815c90
--- /dev/null
+++ b/testprojects/13.customcl/src/main/java/IFoo.java
@@ -0,0 +1,3 @@
+public interface IFoo {
+ void sayHello();
+}
diff --git a/testprojects/14.encoding/.classpath b/testprojects/14.encoding/.classpath
new file mode 100644
index 0000000..56aca1a
--- /dev/null
+++ b/testprojects/14.encoding/.classpath
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/testprojects/14.encoding/.project b/testprojects/14.encoding/.project
new file mode 100644
index 0000000..930649f
--- /dev/null
+++ b/testprojects/14.encoding/.project
@@ -0,0 +1,17 @@
+
+
+ 14.encoding
+
+
+
+ org.eclipse.jdt.core.javanature
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+
+
diff --git a/testprojects/14.encoding/.settings/org.eclipse.core.resources.prefs b/testprojects/14.encoding/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..e9a7277
--- /dev/null
+++ b/testprojects/14.encoding/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding//src/main/java/EncodingTest.java=gbk
diff --git a/testprojects/14.encoding/src/main/java/EncodingTest.java b/testprojects/14.encoding/src/main/java/EncodingTest.java
new file mode 100644
index 0000000..9a42422
--- /dev/null
+++ b/testprojects/14.encoding/src/main/java/EncodingTest.java
@@ -0,0 +1,25 @@
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.OutputStreamWriter;
+import java.nio.charset.Charset;
+
+public class EncodingTest {
+ public static void main(String[] args) throws Exception {
+ String var = "abcÖÐÎÄdef";
+ System.out.println(var);
+ System.out.println(var.length());
+ System.out.println("Default Charset=" + Charset.defaultCharset());
+ System.out.println("file.encoding=" + System.getProperty("file.encoding"));
+ System.out.println("Default Charset in Use=" + getDefaultCharSet());
+ }
+
+ private static String getDefaultCharSet() {
+ try (OutputStreamWriter writer = new OutputStreamWriter(new ByteArrayOutputStream())) {
+ return writer.getEncoding();
+ } catch (IOException ex) {
+ ex.printStackTrace();
+ return "exception";
+ }
+
+ }
+}
\ No newline at end of file
diff --git a/testprojects/15.specialname/.classpath b/testprojects/15.specialname/.classpath
new file mode 100644
index 0000000..56aca1a
--- /dev/null
+++ b/testprojects/15.specialname/.classpath
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/testprojects/15.specialname/.project b/testprojects/15.specialname/.project
new file mode 100644
index 0000000..f64f086
--- /dev/null
+++ b/testprojects/15.specialname/.project
@@ -0,0 +1,17 @@
+
+
+ 15.specialname
+
+
+
+ org.eclipse.jdt.core.javanature
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+
+
diff --git a/testprojects/15.specialname/src/main/java/ab$c/Hello$orld.java b/testprojects/15.specialname/src/main/java/ab$c/Hello$orld.java
new file mode 100644
index 0000000..7e7eb63
--- /dev/null
+++ b/testprojects/15.specialname/src/main/java/ab$c/Hello$orld.java
@@ -0,0 +1,6 @@
+package ab$c;
+public class Hello$orld {
+ public static void main(String args[]) {
+ System.out.println("Hello$orld");
+ }
+}
\ No newline at end of file
diff --git a/testprojects/16.resolvemainclass/.classpath b/testprojects/16.resolvemainclass/.classpath
new file mode 100644
index 0000000..57ee5fb
--- /dev/null
+++ b/testprojects/16.resolvemainclass/.classpath
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
diff --git a/testprojects/16.resolvemainclass/.project b/testprojects/16.resolvemainclass/.project
new file mode 100644
index 0000000..b72952b
--- /dev/null
+++ b/testprojects/16.resolvemainclass/.project
@@ -0,0 +1,17 @@
+
+
+ 16.resolvemainclass
+
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+
+ org.eclipse.jdt.core.javanature
+
+
diff --git a/testprojects/16.resolvemainclass/build.gradle_ b/testprojects/16.resolvemainclass/build.gradle_
new file mode 100644
index 0000000..fcac967
--- /dev/null
+++ b/testprojects/16.resolvemainclass/build.gradle_
@@ -0,0 +1,39 @@
+apply plugin: 'java'
+apply plugin: 'eclipse'
+apply plugin: 'idea'
+
+buildscript {
+ repositories {
+ mavenCentral()
+ }
+ dependencies { classpath "commons-io:commons-io:2.5" }
+}
+
+import org.apache.commons.io.FilenameUtils;
+
+sourceSets {
+ main.java.srcDirs = ['src/main/java']
+}
+dependencies {
+ testCompile 'junit:junit:4.12'
+}
+
+
+repositories {
+ mavenCentral()
+}
+
+def getShortJar = { e -> FilenameUtils.getName(e) }
+eclipse.classpath.file {
+ withXml{xml ->
+ def node = xml.asNode()
+
+ node.classpathentry.each{
+ if (it.@kind == 'lib') {
+ it.@path = 'lib/' + getShortJar(it.@path);
+ it.@sourcepath = 'lib/' + getShortJar(it.@sourcepath);
+ }
+
+ }
+ }
+}
\ No newline at end of file
diff --git a/testprojects/16.resolvemainclass/lib/hamcrest-core-1.3-sources.jar b/testprojects/16.resolvemainclass/lib/hamcrest-core-1.3-sources.jar
new file mode 100644
index 0000000..c3c110b
Binary files /dev/null and b/testprojects/16.resolvemainclass/lib/hamcrest-core-1.3-sources.jar differ
diff --git a/testprojects/16.resolvemainclass/lib/hamcrest-core-1.3.jar b/testprojects/16.resolvemainclass/lib/hamcrest-core-1.3.jar
new file mode 100644
index 0000000..9d5fe16
Binary files /dev/null and b/testprojects/16.resolvemainclass/lib/hamcrest-core-1.3.jar differ
diff --git a/testprojects/16.resolvemainclass/lib/junit-4.12-sources.jar b/testprojects/16.resolvemainclass/lib/junit-4.12-sources.jar
new file mode 100644
index 0000000..884f92f
Binary files /dev/null and b/testprojects/16.resolvemainclass/lib/junit-4.12-sources.jar differ
diff --git a/testprojects/16.resolvemainclass/lib/junit-4.12.jar b/testprojects/16.resolvemainclass/lib/junit-4.12.jar
new file mode 100644
index 0000000..3a7fc26
Binary files /dev/null and b/testprojects/16.resolvemainclass/lib/junit-4.12.jar differ
diff --git a/testprojects/16.resolvemainclass/src/main/java/MyApp.java b/testprojects/16.resolvemainclass/src/main/java/MyApp.java
new file mode 100644
index 0000000..2ca40d8
--- /dev/null
+++ b/testprojects/16.resolvemainclass/src/main/java/MyApp.java
@@ -0,0 +1,14 @@
+/*******************************************************************************
+ * Copyright (c) 2017 Microsoft Corporation and others. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors: Microsoft Corporation - initial API and implementation
+ *******************************************************************************/
+
+public class MyApp {
+ public static void main(String agrsp[]) {
+ System.out.println("Hello App!");
+ }
+}
diff --git a/testprojects/16.resolvemainclass/src/test/java/MyAppTest.java b/testprojects/16.resolvemainclass/src/test/java/MyAppTest.java
new file mode 100644
index 0000000..90c0d58
--- /dev/null
+++ b/testprojects/16.resolvemainclass/src/test/java/MyAppTest.java
@@ -0,0 +1,7 @@
+
+public class MyAppTest {
+
+ public static void main(String agrsp[]) {
+ System.out.println("Hello test App!");
+ }
+}
\ No newline at end of file
diff --git a/testprojects/17.argstest/.classpath b/testprojects/17.argstest/.classpath
new file mode 100644
index 0000000..51a8bba
--- /dev/null
+++ b/testprojects/17.argstest/.classpath
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/testprojects/17.argstest/.project b/testprojects/17.argstest/.project
new file mode 100644
index 0000000..587e9cc
--- /dev/null
+++ b/testprojects/17.argstest/.project
@@ -0,0 +1,17 @@
+
+
+ 17.argstest
+
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+
+ org.eclipse.jdt.core.javanature
+
+
diff --git a/testprojects/17.argstest/.settings/org.eclipse.jdt.core.prefs b/testprojects/17.argstest/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..3a21537
--- /dev/null
+++ b/testprojects/17.argstest/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,11 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.8
diff --git a/testprojects/17.argstest/src/test/ArgsTest.java b/testprojects/17.argstest/src/test/ArgsTest.java
new file mode 100644
index 0000000..5d9a2dc
--- /dev/null
+++ b/testprojects/17.argstest/src/test/ArgsTest.java
@@ -0,0 +1,23 @@
+package test;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+ public class ArgsTest {
+
+ public static void main(String[] args) throws IOException {
+
+ List proList=Arrays.asList(args);
+
+ String sysProp1Value = System.getProperty("sysProp1");
+ String sysProp2Value = System.getProperty("sysProp2");
+ List vmList=new ArrayList<>();
+ vmList.add(sysProp1Value );
+ vmList.add(sysProp2Value );
+ String encoding=System.getProperty("file.encoding");
+ System.out.println("Program Arguments:"+String.join(" ", proList)+" VM Arguments:"+String.join(" ",vmList));
+
+ }
+ }
\ No newline at end of file
diff --git a/testprojects/18.attachdebug/.classpath b/testprojects/18.attachdebug/.classpath
new file mode 100644
index 0000000..51a8bba
--- /dev/null
+++ b/testprojects/18.attachdebug/.classpath
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/testprojects/18.attachdebug/.project b/testprojects/18.attachdebug/.project
new file mode 100644
index 0000000..e7f9590
--- /dev/null
+++ b/testprojects/18.attachdebug/.project
@@ -0,0 +1,17 @@
+
+
+ 18.attachdebug
+
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+
+ org.eclipse.jdt.core.javanature
+
+
diff --git a/testprojects/18.attachdebug/.settings/org.eclipse.jdt.core.prefs b/testprojects/18.attachdebug/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..3a21537
--- /dev/null
+++ b/testprojects/18.attachdebug/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,11 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.8
diff --git a/testprojects/18.attachdebug/src/test/attachdebug.java b/testprojects/18.attachdebug/src/test/attachdebug.java
new file mode 100644
index 0000000..75df2e6
--- /dev/null
+++ b/testprojects/18.attachdebug/src/test/attachdebug.java
@@ -0,0 +1,14 @@
+package test;
+import java.util.stream.Stream;
+
+public class attachdebug {
+ public static void main(String[] args) {
+ String concat = Stream.of("A", "B", "C", "D").reduce("", String::concat);
+ Integer[] sixNums = {1, 2, 3, 4, 5, 6};
+ int evens =
+ Stream.of(sixNums).filter(n -> n%2 == 0).reduce(0, Integer::sum);
+
+ System.out.println(concat+" "+evens);
+ }
+
+}
diff --git a/testprojects/19.java9-app/pom.xml b/testprojects/19.java9-app/pom.xml
new file mode 100644
index 0000000..14f82c2
--- /dev/null
+++ b/testprojects/19.java9-app/pom.xml
@@ -0,0 +1,39 @@
+
+ 4.0.0
+ com.microsoft.app
+ java9-app
+ jar
+ 1.0-SNAPSHOT
+ java9-app
+ http://maven.apache.org
+
+
+ junit
+ junit
+ 3.8.1
+ test
+
+
+ com.google.code.gson
+ gson
+ 2.7
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ 3.7.0
+
+ 9
+ 9
+ true
+ true
+
+
+
+
+
diff --git a/testprojects/19.java9-app/src/main/java/com/microsoft/app/App.java b/testprojects/19.java9-app/src/main/java/com/microsoft/app/App.java
new file mode 100644
index 0000000..b9cf309
--- /dev/null
+++ b/testprojects/19.java9-app/src/main/java/com/microsoft/app/App.java
@@ -0,0 +1,22 @@
+package com.microsoft.app;
+
+import com.google.gson.Gson;
+
+public class App
+{
+ public static void main( String[] args )
+ {
+ Gson GSON = new Gson();
+ String name = "jinbwan";
+ Employee employee = GSON.fromJson("{\"name\": \"" + name + "\"}", Employee.class);
+ System.out.println(employee.getName());
+ }
+
+ static class Employee {
+ public String name;
+
+ public String getName() {
+ return this.name;
+ }
+ }
+}
diff --git a/testprojects/19.java9-app/src/main/java/com/microsoft/app/Launcher.java b/testprojects/19.java9-app/src/main/java/com/microsoft/app/Launcher.java
new file mode 100644
index 0000000..868c824
--- /dev/null
+++ b/testprojects/19.java9-app/src/main/java/com/microsoft/app/Launcher.java
@@ -0,0 +1,11 @@
+package com.microsoft.app;
+
+import java.nio.file.Paths;
+
+public class Launcher {
+ public static void main(String[] args) {
+ System.out.println(Paths.get("").toAbsolutePath().toString());
+
+ System.out.println(System.getenv("Path"));
+ }
+}
\ No newline at end of file
diff --git a/testprojects/19.java9-app/src/main/java/module-info.java b/testprojects/19.java9-app/src/main/java/module-info.java
new file mode 100644
index 0000000..b5f133e
--- /dev/null
+++ b/testprojects/19.java9-app/src/main/java/module-info.java
@@ -0,0 +1,6 @@
+module com.microsoft.app.mymodule {
+ requires gson;
+ requires java.base;
+ requires java.sql;
+ opens com.microsoft.app;
+}
\ No newline at end of file
diff --git a/testprojects/19.java9-app/src/test/java/com/microsoft/app/AppTest.java b/testprojects/19.java9-app/src/test/java/com/microsoft/app/AppTest.java
new file mode 100644
index 0000000..1fc3010
--- /dev/null
+++ b/testprojects/19.java9-app/src/test/java/com/microsoft/app/AppTest.java
@@ -0,0 +1,38 @@
+package com.microsoft.app;
+
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+
+/**
+ * Unit test for simple App.
+ */
+public class AppTest
+ extends TestCase
+{
+ /**
+ * Create the test case
+ *
+ * @param testName name of the test case
+ */
+ public AppTest( String testName )
+ {
+ super( testName );
+ }
+
+ /**
+ * @return the suite of tests being tested
+ */
+ public static Test suite()
+ {
+ return new TestSuite( AppTest.class );
+ }
+
+ /**
+ * Rigourous Test :-)
+ */
+ public void testApp()
+ {
+ assertTrue( true );
+ }
+}
diff --git a/testprojects/2.callstack/.classpath b/testprojects/2.callstack/.classpath
new file mode 100644
index 0000000..56aca1a
--- /dev/null
+++ b/testprojects/2.callstack/.classpath
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/testprojects/2.callstack/.project b/testprojects/2.callstack/.project
new file mode 100644
index 0000000..3b77e1d
--- /dev/null
+++ b/testprojects/2.callstack/.project
@@ -0,0 +1,17 @@
+
+
+ 2.callstack
+
+
+
+ org.eclipse.jdt.core.javanature
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+
+
diff --git a/testprojects/2.callstack/src/main/java/Bar.java b/testprojects/2.callstack/src/main/java/Bar.java
new file mode 100644
index 0000000..cdd93c1
--- /dev/null
+++ b/testprojects/2.callstack/src/main/java/Bar.java
@@ -0,0 +1,5 @@
+public class Bar {
+ public void testBar(int i) {
+ System.out.println("This is test method in bar.");
+ }
+}
diff --git a/testprojects/2.callstack/src/main/java/CallStack.java b/testprojects/2.callstack/src/main/java/CallStack.java
new file mode 100644
index 0000000..aeecfa0
--- /dev/null
+++ b/testprojects/2.callstack/src/main/java/CallStack.java
@@ -0,0 +1,6 @@
+public class CallStack {
+ public static void main(String[] args) {
+ Foo foo = new Foo();
+ foo.testFoo(10);
+ }
+}
\ No newline at end of file
diff --git a/testprojects/2.callstack/src/main/java/Foo.java b/testprojects/2.callstack/src/main/java/Foo.java
new file mode 100644
index 0000000..5ef022f
--- /dev/null
+++ b/testprojects/2.callstack/src/main/java/Foo.java
@@ -0,0 +1,9 @@
+public class Foo {
+ private Bar bar = new Bar();
+
+ public void testFoo(int j) {
+ System.out.println("This is test method in foo.");
+ bar.testBar(j + 10);
+ }
+
+}
diff --git a/testprojects/20.usersettings/.classpath b/testprojects/20.usersettings/.classpath
new file mode 100644
index 0000000..0261015
--- /dev/null
+++ b/testprojects/20.usersettings/.classpath
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/testprojects/20.usersettings/.project b/testprojects/20.usersettings/.project
new file mode 100644
index 0000000..5924af8
--- /dev/null
+++ b/testprojects/20.usersettings/.project
@@ -0,0 +1,17 @@
+
+
+ 20.usersettings
+
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+
+ org.eclipse.jdt.core.javanature
+
+
diff --git a/testprojects/20.usersettings/src/main/java/usersettings/UserSettings.java b/testprojects/20.usersettings/src/main/java/usersettings/UserSettings.java
new file mode 100644
index 0000000..d94a506
--- /dev/null
+++ b/testprojects/20.usersettings/src/main/java/usersettings/UserSettings.java
@@ -0,0 +1,13 @@
+package usersettings;
+
+public class UserSettings {
+ private static int number = 20;
+
+ public static void main(String[] args) {
+
+ String testName = "usersettings";
+ System.out.println("Test name is " + testName + " and the test number is " + number);
+
+ }
+
+}
diff --git a/testprojects/21.evaluate/.classpath b/testprojects/21.evaluate/.classpath
new file mode 100644
index 0000000..0261015
--- /dev/null
+++ b/testprojects/21.evaluate/.classpath
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/testprojects/21.evaluate/.project b/testprojects/21.evaluate/.project
new file mode 100644
index 0000000..90a7461
--- /dev/null
+++ b/testprojects/21.evaluate/.project
@@ -0,0 +1,17 @@
+
+
+ 21.evaluate
+
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+
+ org.eclipse.jdt.core.javanature
+
+
diff --git a/testprojects/21.evaluate/src/main/java/evaluate/EvaluateTest.java b/testprojects/21.evaluate/src/main/java/evaluate/EvaluateTest.java
new file mode 100644
index 0000000..656a86f
--- /dev/null
+++ b/testprojects/21.evaluate/src/main/java/evaluate/EvaluateTest.java
@@ -0,0 +1,14 @@
+package evaluate;
+
+public class EvaluateTest {
+ public static void main(String[] args) {
+ int i = 0;
+ i++;
+ int test1 = new EvaluateTest().test();
+ System.out.print(test1 + i);
+ }
+
+ public static int test() {
+ return 3;
+ }
+}
diff --git a/testprojects/21.single-file/Main.java b/testprojects/21.single-file/Main.java
new file mode 100644
index 0000000..1063e69
--- /dev/null
+++ b/testprojects/21.single-file/Main.java
@@ -0,0 +1,14 @@
+public class Main{
+ public static void main(String[] args) {
+ String s = "1";
+ char sr = 'c';
+ int t = 1;
+ t++;
+ test(t);
+ }
+
+ private static void test(int t) {
+ int s = 1;
+ System.out.println("test" + s + t);
+ }
+}
\ No newline at end of file
diff --git a/testprojects/22.jdkversion/.classpath b/testprojects/22.jdkversion/.classpath
new file mode 100644
index 0000000..0261015
--- /dev/null
+++ b/testprojects/22.jdkversion/.classpath
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/testprojects/22.jdkversion/.project b/testprojects/22.jdkversion/.project
new file mode 100644
index 0000000..9bd4546
--- /dev/null
+++ b/testprojects/22.jdkversion/.project
@@ -0,0 +1,17 @@
+
+
+ 22.jdkversion
+
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+
+ org.eclipse.jdt.core.javanature
+
+
diff --git a/testprojects/22.jdkversion/src/main/java/JdkVersion.java b/testprojects/22.jdkversion/src/main/java/JdkVersion.java
new file mode 100644
index 0000000..754f339
--- /dev/null
+++ b/testprojects/22.jdkversion/src/main/java/JdkVersion.java
@@ -0,0 +1,13 @@
+import java.util.Arrays;
+import java.util.List;
+
+public class JdkVersion {
+ public static void main(String[] args) {
+ String jdkVersion = System.getProperty("java.version");
+
+ List nums = Arrays.asList(1, 2, 3, 4);
+ float squareNums = nums.stream().map(n -> n * n).reduce((sum, n) -> sum + n).get().floatValue();
+ System.out.println(jdkVersion);
+ System.out.println(squareNums);
+ }
+}
\ No newline at end of file
diff --git a/testprojects/23.console-app/pom.xml b/testprojects/23.console-app/pom.xml
new file mode 100644
index 0000000..2c1477a
--- /dev/null
+++ b/testprojects/23.console-app/pom.xml
@@ -0,0 +1,18 @@
+
+ 4.0.0
+ com.microsoft.test
+ console-app
+ jar
+ 1.0-SNAPSHOT
+ console-app
+ http://maven.apache.org
+
+
+ junit
+ junit
+ 3.8.1
+ test
+
+
+
diff --git a/testprojects/23.console-app/src/main/java/com/microsoft/test/App.java b/testprojects/23.console-app/src/main/java/com/microsoft/test/App.java
new file mode 100644
index 0000000..956e736
--- /dev/null
+++ b/testprojects/23.console-app/src/main/java/com/microsoft/test/App.java
@@ -0,0 +1,16 @@
+package com.microsoft.test;
+
+import java.util.Scanner;
+
+public class App
+{
+ public static void main( String[] args )
+ {
+ System.out.println("Please input your name:");
+
+ Scanner in = new Scanner(System.in);
+ String name = in.nextLine();
+
+ System.out.println("Thanks, " + name);
+ }
+}
diff --git a/testprojects/23.console-app/src/test/java/com/microsoft/test/AppTest.java b/testprojects/23.console-app/src/test/java/com/microsoft/test/AppTest.java
new file mode 100644
index 0000000..fe41eec
--- /dev/null
+++ b/testprojects/23.console-app/src/test/java/com/microsoft/test/AppTest.java
@@ -0,0 +1,38 @@
+package com.microsoft.test;
+
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+
+/**
+ * Unit test for simple App.
+ */
+public class AppTest
+ extends TestCase
+{
+ /**
+ * Create the test case
+ *
+ * @param testName name of the test case
+ */
+ public AppTest( String testName )
+ {
+ super( testName );
+ }
+
+ /**
+ * @return the suite of tests being tested
+ */
+ public static Test suite()
+ {
+ return new TestSuite( AppTest.class );
+ }
+
+ /**
+ * Rigourous Test :-)
+ */
+ public void testApp()
+ {
+ assertTrue( true );
+ }
+}
diff --git a/testprojects/24.hotCodeReplace/.classpath b/testprojects/24.hotCodeReplace/.classpath
new file mode 100644
index 0000000..63b7e89
--- /dev/null
+++ b/testprojects/24.hotCodeReplace/.classpath
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/testprojects/24.hotCodeReplace/.project b/testprojects/24.hotCodeReplace/.project
new file mode 100644
index 0000000..ac71c48
--- /dev/null
+++ b/testprojects/24.hotCodeReplace/.project
@@ -0,0 +1,17 @@
+
+
+ HelloWorld
+
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+
+ org.eclipse.jdt.core.javanature
+
+
diff --git a/testprojects/24.hotCodeReplace/.settings/org.eclipse.jdt.core.prefs b/testprojects/24.hotCodeReplace/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..bb35fa0
--- /dev/null
+++ b/testprojects/24.hotCodeReplace/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,11 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.8
diff --git a/testprojects/24.hotCodeReplace/src/com/microsoft/debug/HelloWorld.java b/testprojects/24.hotCodeReplace/src/com/microsoft/debug/HelloWorld.java
new file mode 100644
index 0000000..0c8591f
--- /dev/null
+++ b/testprojects/24.hotCodeReplace/src/com/microsoft/debug/HelloWorld.java
@@ -0,0 +1,64 @@
+package com.microsoft.debug;
+
+
+public class HelloWorld {
+ static class InnerType {
+ public static void print() {
+ System.out.println("Inner Type.");
+ }
+ }
+
+ private static int value = 0;
+
+ public static void main(String[] args) throws Exception {
+ new Thread() {
+ public void run() {
+ while (true) {
+ try {
+ Thread.sleep(500);
+
+ System.out.println("thread 1");
+
+ Person person = new Person("c4");
+ System.out.println(person.getName());
+ person.toString();
+ } catch (InterruptedException e) {
+ }
+ }
+ }
+ }.start();
+
+
+ new Thread() {
+ public void run() {
+ while (true) {
+ try {
+ Thread.sleep(500);
+
+ System.out.println("thread 2");
+
+ Person person = new Person("c4");
+ System.out.println(person.getName());
+ person.toString();
+ } catch (InterruptedException e) {
+ }
+ }
+ }
+ }.start();
+
+ change();
+ while (true) {
+ try {
+ Thread.sleep(1000);
+ } catch (InterruptedException e) {
+
+ }
+ }
+ }
+
+ public static void change() {
+ value++;
+ System.out.println(value);
+ }
+
+}
diff --git a/testprojects/24.hotCodeReplace/src/com/microsoft/debug/NameProvider.java b/testprojects/24.hotCodeReplace/src/com/microsoft/debug/NameProvider.java
new file mode 100644
index 0000000..2350954
--- /dev/null
+++ b/testprojects/24.hotCodeReplace/src/com/microsoft/debug/NameProvider.java
@@ -0,0 +1,14 @@
+package com.microsoft.debug;
+
+public class NameProvider {
+
+ public String fieldName;
+
+ public NameProvider(String fieldName) {
+ this.fieldName = fieldName;
+ }
+
+ public String getName() {
+ return " + Provider" + this.fieldName;
+ }
+}
\ No newline at end of file
diff --git a/testprojects/24.hotCodeReplace/src/com/microsoft/debug/Person.java b/testprojects/24.hotCodeReplace/src/com/microsoft/debug/Person.java
new file mode 100644
index 0000000..c4e84f9
--- /dev/null
+++ b/testprojects/24.hotCodeReplace/src/com/microsoft/debug/Person.java
@@ -0,0 +1,30 @@
+package com.microsoft.debug;
+
+public class Person {
+
+ private String name;
+
+ public Person(String name) {
+ this.name = name;
+ }
+
+ public String getName() {
+ String res = "old";
+ for (int i = 0; i < 2; i++) {
+ res += i;
+ }
+ res += this.getInternalName();
+ return res;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ private String getInternalName() {
+ int i = 2;
+ NameProvider provider = new NameProvider("");
+ i++;
+ return provider.getName();
+ }
+}
diff --git a/testprojects/25.restartFrame/.classpath b/testprojects/25.restartFrame/.classpath
new file mode 100644
index 0000000..63b7e89
--- /dev/null
+++ b/testprojects/25.restartFrame/.classpath
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/testprojects/25.restartFrame/.project b/testprojects/25.restartFrame/.project
new file mode 100644
index 0000000..ac71c48
--- /dev/null
+++ b/testprojects/25.restartFrame/.project
@@ -0,0 +1,17 @@
+
+
+ HelloWorld
+
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+
+ org.eclipse.jdt.core.javanature
+
+
diff --git a/testprojects/25.restartFrame/.settings/org.eclipse.jdt.core.prefs b/testprojects/25.restartFrame/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..bb35fa0
--- /dev/null
+++ b/testprojects/25.restartFrame/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,11 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.8
diff --git a/testprojects/25.restartFrame/src/com/microsoft/debug/HelloWorld.java b/testprojects/25.restartFrame/src/com/microsoft/debug/HelloWorld.java
new file mode 100644
index 0000000..0c8591f
--- /dev/null
+++ b/testprojects/25.restartFrame/src/com/microsoft/debug/HelloWorld.java
@@ -0,0 +1,64 @@
+package com.microsoft.debug;
+
+
+public class HelloWorld {
+ static class InnerType {
+ public static void print() {
+ System.out.println("Inner Type.");
+ }
+ }
+
+ private static int value = 0;
+
+ public static void main(String[] args) throws Exception {
+ new Thread() {
+ public void run() {
+ while (true) {
+ try {
+ Thread.sleep(500);
+
+ System.out.println("thread 1");
+
+ Person person = new Person("c4");
+ System.out.println(person.getName());
+ person.toString();
+ } catch (InterruptedException e) {
+ }
+ }
+ }
+ }.start();
+
+
+ new Thread() {
+ public void run() {
+ while (true) {
+ try {
+ Thread.sleep(500);
+
+ System.out.println("thread 2");
+
+ Person person = new Person("c4");
+ System.out.println(person.getName());
+ person.toString();
+ } catch (InterruptedException e) {
+ }
+ }
+ }
+ }.start();
+
+ change();
+ while (true) {
+ try {
+ Thread.sleep(1000);
+ } catch (InterruptedException e) {
+
+ }
+ }
+ }
+
+ public static void change() {
+ value++;
+ System.out.println(value);
+ }
+
+}
diff --git a/testprojects/25.restartFrame/src/com/microsoft/debug/NameProvider.java b/testprojects/25.restartFrame/src/com/microsoft/debug/NameProvider.java
new file mode 100644
index 0000000..2350954
--- /dev/null
+++ b/testprojects/25.restartFrame/src/com/microsoft/debug/NameProvider.java
@@ -0,0 +1,14 @@
+package com.microsoft.debug;
+
+public class NameProvider {
+
+ public String fieldName;
+
+ public NameProvider(String fieldName) {
+ this.fieldName = fieldName;
+ }
+
+ public String getName() {
+ return " + Provider" + this.fieldName;
+ }
+}
\ No newline at end of file
diff --git a/testprojects/25.restartFrame/src/com/microsoft/debug/Person.java b/testprojects/25.restartFrame/src/com/microsoft/debug/Person.java
new file mode 100644
index 0000000..c4e84f9
--- /dev/null
+++ b/testprojects/25.restartFrame/src/com/microsoft/debug/Person.java
@@ -0,0 +1,30 @@
+package com.microsoft.debug;
+
+public class Person {
+
+ private String name;
+
+ public Person(String name) {
+ this.name = name;
+ }
+
+ public String getName() {
+ String res = "old";
+ for (int i = 0; i < 2; i++) {
+ res += i;
+ }
+ res += this.getInternalName();
+ return res;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ private String getInternalName() {
+ int i = 2;
+ NameProvider provider = new NameProvider("");
+ i++;
+ return provider.getName();
+ }
+}
diff --git a/testprojects/3.thread/.classpath b/testprojects/3.thread/.classpath
new file mode 100644
index 0000000..56aca1a
--- /dev/null
+++ b/testprojects/3.thread/.classpath
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/testprojects/3.thread/.project b/testprojects/3.thread/.project
new file mode 100644
index 0000000..65e43cd
--- /dev/null
+++ b/testprojects/3.thread/.project
@@ -0,0 +1,17 @@
+
+
+ 3.thread
+
+
+
+ org.eclipse.jdt.core.javanature
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+
+
diff --git a/testprojects/3.thread/src/main/java/ThreadTest.java b/testprojects/3.thread/src/main/java/ThreadTest.java
new file mode 100644
index 0000000..651d7b9
--- /dev/null
+++ b/testprojects/3.thread/src/main/java/ThreadTest.java
@@ -0,0 +1,39 @@
+import java.util.concurrent.atomic.AtomicInteger;
+
+public class ThreadTest {
+ public static void main(String[] args) throws Exception {
+ Object object = new Object();
+ AtomicInteger ai = new AtomicInteger();
+ Thread thread1 = new Thread(() -> {
+ for (;;) {
+ try {
+ synchronized(object) {
+ object.wait();
+ }
+ System.out.println(String.format("Print %d in %d" , ai.incrementAndGet(), Thread.currentThread().getId()));
+ } catch (InterruptedException e) {
+ e.printStackTrace();
+ break;
+ }
+ }
+ });
+ Thread thread2 = new Thread(() -> {
+ for (;;) {
+ System.out.println(String.format("Print %d in %d" , ai.incrementAndGet(), Thread.currentThread().getId()));
+ synchronized(object) {
+ object.notify();
+ }
+ try {
+ Thread.sleep(1000);
+ } catch (InterruptedException e) {
+ e.printStackTrace();
+ break;
+ }
+ }
+ });
+ thread1.start();
+ thread2.start();
+ thread1.join();
+ thread2.join();
+ }
+}
\ No newline at end of file
diff --git a/testprojects/4.variable/.classpath b/testprojects/4.variable/.classpath
new file mode 100644
index 0000000..56aca1a
--- /dev/null
+++ b/testprojects/4.variable/.classpath
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/testprojects/4.variable/.project b/testprojects/4.variable/.project
new file mode 100644
index 0000000..f3d7554
--- /dev/null
+++ b/testprojects/4.variable/.project
@@ -0,0 +1,17 @@
+
+
+ 4.variable
+
+
+
+ org.eclipse.jdt.core.javanature
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+
+
diff --git a/testprojects/4.variable/src/main/java/VariableTest.java b/testprojects/4.variable/src/main/java/VariableTest.java
new file mode 100644
index 0000000..87980d0
--- /dev/null
+++ b/testprojects/4.variable/src/main/java/VariableTest.java
@@ -0,0 +1,106 @@
+import java.lang.reflect.Array;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+@SuppressWarnings("unused")
+public class VariableTest extends Foo {
+ private static int x = 100;
+
+ @SuppressWarnings("unchecked")
+ public static T[] createArray(Class type, int size) {
+ return (T[]) Array.newInstance(type, size);
+ }
+
+ private int i = 19099;
+ @SuppressWarnings({ "rawtypes", "unchecked" })
+ public void test() {
+ int[] arrays = new int[] { 1 };
+ int i = 100;
+ i += 10;
+ String nullstr = null;
+ String str = "string test";
+ for (int l = 0; l < 1000; l++) {
+ str += "a";
+ }
+ Object obj = new Object();
+ Object test = new VariableTest();
+ Object a = new A();
+ Class b = A.class;
+ int[] intarray = new int[] { 1, 2, 3 };
+ List strList = new ArrayList<>();
+ strList.add(str);
+ strList.add(null);
+ Map map = new HashMap();
+ String[] t = new String[] { "hello" };
+
+ String[][] genericArray = createArray((Class) t.getClass(), 10);
+ String[][][] multi = new String[5][10][32];
+ genericArray[0] = t;
+ map.put("a", 1);
+ i++;
+ ArrayList[] d = new ArrayList[0];
+ System.out.println(d.length);
+
+ GenericsFoo dd = new GenericsFoo(new Foo());
+ ArrayList list = new ArrayList<>();
+ list.add(new int[] { 1 });
+ i++;
+ }
+
+ public static void main(String[] args) {
+ new VariableTest().test();
+ }
+}
+
+
+@SuppressWarnings("unused")
+interface BBB {
+ static void test() {
+ int j = 0;
+ j++;
+ }
+}
+
+class BaseA {
+
+ class BBB {
+ }
+
+ int baseI = 10;
+}
+
+class A {
+ class BB {
+ public void test() {
+ A.this.new BB();
+ }
+
+ class CC {
+ class DD {
+
+ }
+ }
+ }
+}
+@SuppressWarnings("unused")
+class Foo {
+ private int x;
+}
+
+class GenericsFoo {
+ private G x;
+
+ public GenericsFoo(G x) {
+ this.x = x;
+ }
+
+ public G getX() {
+ return x;
+ }
+
+ public void setX(G x) {
+ this.x = x;
+ }
+}
\ No newline at end of file
diff --git a/testprojects/5.breakpoint/.classpath b/testprojects/5.breakpoint/.classpath
new file mode 100644
index 0000000..56aca1a
--- /dev/null
+++ b/testprojects/5.breakpoint/.classpath
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/testprojects/5.breakpoint/.project b/testprojects/5.breakpoint/.project
new file mode 100644
index 0000000..3a2ca6b
--- /dev/null
+++ b/testprojects/5.breakpoint/.project
@@ -0,0 +1,17 @@
+
+
+ 5.breakpoint
+
+
+
+ org.eclipse.jdt.core.javanature
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+
+
diff --git a/testprojects/5.breakpoint/src/main/java/BreakPointTest.java b/testprojects/5.breakpoint/src/main/java/BreakPointTest.java
new file mode 100644
index 0000000..343d21a
--- /dev/null
+++ b/testprojects/5.breakpoint/src/main/java/BreakPointTest.java
@@ -0,0 +1,41 @@
+class A {
+ void m() {
+ System.out.println("outer");
+ }
+}
+
+public class BreakPointTest {
+ public static void main(String[] args) {
+ new BreakPointTest().go();
+ int j = 0;
+ new A() {
+ void m() {
+ System.out.println("anonymous");
+ }
+ }.m();
+ for (int i = 1; i <= 100; i++) {
+ if (i <= 99) {
+ j++;
+ } else {
+ System.out.println(j);
+ }
+
+ }
+ }
+
+ void go() {
+ new A().m();
+ class A {
+ void m() {
+ System.out.println("inner");
+ }
+ }
+ new A().m();
+ }
+
+ static class A {
+ void m() {
+ System.out.println("middle");
+ }
+ }
+}
\ No newline at end of file
diff --git a/testprojects/6.recursivefunction/.classpath b/testprojects/6.recursivefunction/.classpath
new file mode 100644
index 0000000..56aca1a
--- /dev/null
+++ b/testprojects/6.recursivefunction/.classpath
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/testprojects/6.recursivefunction/.project b/testprojects/6.recursivefunction/.project
new file mode 100644
index 0000000..eb30c6f
--- /dev/null
+++ b/testprojects/6.recursivefunction/.project
@@ -0,0 +1,17 @@
+
+
+ 6.recursivefunction
+
+
+
+ org.eclipse.jdt.core.javanature
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+
+
diff --git a/testprojects/6.recursivefunction/src/main/java/RecursiveTest.java b/testprojects/6.recursivefunction/src/main/java/RecursiveTest.java
new file mode 100644
index 0000000..f4d8646
--- /dev/null
+++ b/testprojects/6.recursivefunction/src/main/java/RecursiveTest.java
@@ -0,0 +1,14 @@
+public class RecursiveTest {
+ public static void main(String[] args) {
+ testRecursion(1000);
+ }
+
+ public static int testRecursion(int number) {
+ if (number == 1) {
+ return 1;
+ } else {
+ int result = 1 + testRecursion(number - 1);
+ return result;
+ }
+ }
+}
\ No newline at end of file
diff --git a/testprojects/7.variableperformance/.classpath b/testprojects/7.variableperformance/.classpath
new file mode 100644
index 0000000..56aca1a
--- /dev/null
+++ b/testprojects/7.variableperformance/.classpath
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/testprojects/7.variableperformance/.project b/testprojects/7.variableperformance/.project
new file mode 100644
index 0000000..780c656
--- /dev/null
+++ b/testprojects/7.variableperformance/.project
@@ -0,0 +1,17 @@
+
+
+ 7.variableperformance
+
+
+
+ org.eclipse.jdt.core.javanature
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+
+
diff --git a/testprojects/7.variableperformance/src/main/java/TooManyVariables.java b/testprojects/7.variableperformance/src/main/java/TooManyVariables.java
new file mode 100644
index 0000000..9dd36ee
--- /dev/null
+++ b/testprojects/7.variableperformance/src/main/java/TooManyVariables.java
@@ -0,0 +1,5256 @@
+import java.util.*;
+public class TooManyVariables {
+ public void test() {
+ System.out.println("variable perf test.");
+ }
+ int i_0 = 0;
+ boolean j_0 = false;
+ String str_0 = new String("the 0-th string.");
+ int[] ia_0 = new int[]{0};
+ Object obj_0 = new Object();
+ List strList_0 = new ArrayList<>();
+ String[][][] multi_0 = new String[5][10][32];
+ int i_1 = 1;
+ boolean j_1 = true;
+ String str_1 = new String("the 1-th string.");
+ int[] ia_1 = new int[]{1};
+ Object obj_1 = new Object();
+ List strList_1 = new ArrayList<>();
+ String[][][] multi_1 = new String[5][10][32];
+ int i_2 = 2;
+ boolean j_2 = false;
+ String str_2 = new String("the 2-th string.");
+ int[] ia_2 = new int[]{2};
+ Object obj_2 = new Object();
+ List strList_2 = new ArrayList<>();
+ String[][][] multi_2 = new String[5][10][32];
+ int i_3 = 3;
+ boolean j_3 = true;
+ String str_3 = new String("the 3-th string.");
+ int[] ia_3 = new int[]{3};
+ Object obj_3 = new Object();
+ List strList_3 = new ArrayList<>();
+ String[][][] multi_3 = new String[5][10][32];
+ int i_4 = 4;
+ boolean j_4 = false;
+ String str_4 = new String("the 4-th string.");
+ int[] ia_4 = new int[]{4};
+ Object obj_4 = new Object();
+ List strList_4 = new ArrayList<>();
+ String[][][] multi_4 = new String[5][10][32];
+ int i_5 = 5;
+ boolean j_5 = true;
+ String str_5 = new String("the 5-th string.");
+ int[] ia_5 = new int[]{5};
+ Object obj_5 = new Object();
+ List strList_5 = new ArrayList<>();
+ String[][][] multi_5 = new String[5][10][32];
+ int i_6 = 6;
+ boolean j_6 = false;
+ String str_6 = new String("the 6-th string.");
+ int[] ia_6 = new int[]{6};
+ Object obj_6 = new Object();
+ List strList_6 = new ArrayList<>();
+ String[][][] multi_6 = new String[5][10][32];
+ int i_7 = 7;
+ boolean j_7 = true;
+ String str_7 = new String("the 7-th string.");
+ int[] ia_7 = new int[]{7};
+ Object obj_7 = new Object();
+ List strList_7 = new ArrayList<>();
+ String[][][] multi_7 = new String[5][10][32];
+ int i_8 = 8;
+ boolean j_8 = false;
+ String str_8 = new String("the 8-th string.");
+ int[] ia_8 = new int[]{8};
+ Object obj_8 = new Object();
+ List strList_8 = new ArrayList<>();
+ String[][][] multi_8 = new String[5][10][32];
+ int i_9 = 9;
+ boolean j_9 = true;
+ String str_9 = new String("the 9-th string.");
+ int[] ia_9 = new int[]{9};
+ Object obj_9 = new Object();
+ List strList_9 = new ArrayList<>();
+ String[][][] multi_9 = new String[5][10][32];
+ int i_10 = 10;
+ boolean j_10 = false;
+ String str_10 = new String("the 10-th string.");
+ int[] ia_10 = new int[]{10};
+ Object obj_10 = new Object();
+ List strList_10 = new ArrayList<>();
+ String[][][] multi_10 = new String[5][10][32];
+ int i_11 = 11;
+ boolean j_11 = true;
+ String str_11 = new String("the 11-th string.");
+ int[] ia_11 = new int[]{11};
+ Object obj_11 = new Object();
+ List strList_11 = new ArrayList<>();
+ String[][][] multi_11 = new String[5][10][32];
+ int i_12 = 12;
+ boolean j_12 = false;
+ String str_12 = new String("the 12-th string.");
+ int[] ia_12 = new int[]{12};
+ Object obj_12 = new Object();
+ List strList_12 = new ArrayList<>();
+ String[][][] multi_12 = new String[5][10][32];
+ int i_13 = 13;
+ boolean j_13 = true;
+ String str_13 = new String("the 13-th string.");
+ int[] ia_13 = new int[]{13};
+ Object obj_13 = new Object();
+ List strList_13 = new ArrayList<>();
+ String[][][] multi_13 = new String[5][10][32];
+ int i_14 = 14;
+ boolean j_14 = false;
+ String str_14 = new String("the 14-th string.");
+ int[] ia_14 = new int[]{14};
+ Object obj_14 = new Object();
+ List strList_14 = new ArrayList<>();
+ String[][][] multi_14 = new String[5][10][32];
+ int i_15 = 15;
+ boolean j_15 = true;
+ String str_15 = new String("the 15-th string.");
+ int[] ia_15 = new int[]{15};
+ Object obj_15 = new Object();
+ List strList_15 = new ArrayList<>();
+ String[][][] multi_15 = new String[5][10][32];
+ int i_16 = 16;
+ boolean j_16 = false;
+ String str_16 = new String("the 16-th string.");
+ int[] ia_16 = new int[]{16};
+ Object obj_16 = new Object();
+ List strList_16 = new ArrayList<>();
+ String[][][] multi_16 = new String[5][10][32];
+ int i_17 = 17;
+ boolean j_17 = true;
+ String str_17 = new String("the 17-th string.");
+ int[] ia_17 = new int[]{17};
+ Object obj_17 = new Object();
+ List strList_17 = new ArrayList<>();
+ String[][][] multi_17 = new String[5][10][32];
+ int i_18 = 18;
+ boolean j_18 = false;
+ String str_18 = new String("the 18-th string.");
+ int[] ia_18 = new int[]{18};
+ Object obj_18 = new Object();
+ List strList_18 = new ArrayList<>();
+ String[][][] multi_18 = new String[5][10][32];
+ int i_19 = 19;
+ boolean j_19 = true;
+ String str_19 = new String("the 19-th string.");
+ int[] ia_19 = new int[]{19};
+ Object obj_19 = new Object();
+ List strList_19 = new ArrayList<>();
+ String[][][] multi_19 = new String[5][10][32];
+ int i_20 = 20;
+ boolean j_20 = false;
+ String str_20 = new String("the 20-th string.");
+ int[] ia_20 = new int[]{20};
+ Object obj_20 = new Object();
+ List strList_20 = new ArrayList<>();
+ String[][][] multi_20 = new String[5][10][32];
+ int i_21 = 21;
+ boolean j_21 = true;
+ String str_21 = new String("the 21-th string.");
+ int[] ia_21 = new int[]{21};
+ Object obj_21 = new Object();
+ List strList_21 = new ArrayList<>();
+ String[][][] multi_21 = new String[5][10][32];
+ int i_22 = 22;
+ boolean j_22 = false;
+ String str_22 = new String("the 22-th string.");
+ int[] ia_22 = new int[]{22};
+ Object obj_22 = new Object();
+ List strList_22 = new ArrayList<>();
+ String[][][] multi_22 = new String[5][10][32];
+ int i_23 = 23;
+ boolean j_23 = true;
+ String str_23 = new String("the 23-th string.");
+ int[] ia_23 = new int[]{23};
+ Object obj_23 = new Object();
+ List strList_23 = new ArrayList<>();
+ String[][][] multi_23 = new String[5][10][32];
+ int i_24 = 24;
+ boolean j_24 = false;
+ String str_24 = new String("the 24-th string.");
+ int[] ia_24 = new int[]{24};
+ Object obj_24 = new Object();
+ List strList_24 = new ArrayList<>();
+ String[][][] multi_24 = new String[5][10][32];
+ int i_25 = 25;
+ boolean j_25 = true;
+ String str_25 = new String("the 25-th string.");
+ int[] ia_25 = new int[]{25};
+ Object obj_25 = new Object();
+ List strList_25 = new ArrayList<>();
+ String[][][] multi_25 = new String[5][10][32];
+ int i_26 = 26;
+ boolean j_26 = false;
+ String str_26 = new String("the 26-th string.");
+ int[] ia_26 = new int[]{26};
+ Object obj_26 = new Object();
+ List strList_26 = new ArrayList<>();
+ String[][][] multi_26 = new String[5][10][32];
+ int i_27 = 27;
+ boolean j_27 = true;
+ String str_27 = new String("the 27-th string.");
+ int[] ia_27 = new int[]{27};
+ Object obj_27 = new Object();
+ List strList_27 = new ArrayList<>();
+ String[][][] multi_27 = new String[5][10][32];
+ int i_28 = 28;
+ boolean j_28 = false;
+ String str_28 = new String("the 28-th string.");
+ int[] ia_28 = new int[]{28};
+ Object obj_28 = new Object();
+ List strList_28 = new ArrayList<>();
+ String[][][] multi_28 = new String[5][10][32];
+ int i_29 = 29;
+ boolean j_29 = true;
+ String str_29 = new String("the 29-th string.");
+ int[] ia_29 = new int[]{29};
+ Object obj_29 = new Object();
+ List strList_29 = new ArrayList<>();
+ String[][][] multi_29 = new String[5][10][32];
+ int i_30 = 30;
+ boolean j_30 = false;
+ String str_30 = new String("the 30-th string.");
+ int[] ia_30 = new int[]{30};
+ Object obj_30 = new Object();
+ List strList_30 = new ArrayList<>();
+ String[][][] multi_30 = new String[5][10][32];
+ int i_31 = 31;
+ boolean j_31 = true;
+ String str_31 = new String("the 31-th string.");
+ int[] ia_31 = new int[]{31};
+ Object obj_31 = new Object();
+ List strList_31 = new ArrayList<>();
+ String[][][] multi_31 = new String[5][10][32];
+ int i_32 = 32;
+ boolean j_32 = false;
+ String str_32 = new String("the 32-th string.");
+ int[] ia_32 = new int[]{32};
+ Object obj_32 = new Object();
+ List strList_32 = new ArrayList<>();
+ String[][][] multi_32 = new String[5][10][32];
+ int i_33 = 33;
+ boolean j_33 = true;
+ String str_33 = new String("the 33-th string.");
+ int[] ia_33 = new int[]{33};
+ Object obj_33 = new Object();
+ List strList_33 = new ArrayList<>();
+ String[][][] multi_33 = new String[5][10][32];
+ int i_34 = 34;
+ boolean j_34 = false;
+ String str_34 = new String("the 34-th string.");
+ int[] ia_34 = new int[]{34};
+ Object obj_34 = new Object();
+ List strList_34 = new ArrayList<>();
+ String[][][] multi_34 = new String[5][10][32];
+ int i_35 = 35;
+ boolean j_35 = true;
+ String str_35 = new String("the 35-th string.");
+ int[] ia_35 = new int[]{35};
+ Object obj_35 = new Object();
+ List strList_35 = new ArrayList<>();
+ String[][][] multi_35 = new String[5][10][32];
+ int i_36 = 36;
+ boolean j_36 = false;
+ String str_36 = new String("the 36-th string.");
+ int[] ia_36 = new int[]{36};
+ Object obj_36 = new Object();
+ List strList_36 = new ArrayList<>();
+ String[][][] multi_36 = new String[5][10][32];
+ int i_37 = 37;
+ boolean j_37 = true;
+ String str_37 = new String("the 37-th string.");
+ int[] ia_37 = new int[]{37};
+ Object obj_37 = new Object();
+ List strList_37 = new ArrayList<>();
+ String[][][] multi_37 = new String[5][10][32];
+ int i_38 = 38;
+ boolean j_38 = false;
+ String str_38 = new String("the 38-th string.");
+ int[] ia_38 = new int[]{38};
+ Object obj_38 = new Object();
+ List strList_38 = new ArrayList<>();
+ String[][][] multi_38 = new String[5][10][32];
+ int i_39 = 39;
+ boolean j_39 = true;
+ String str_39 = new String("the 39-th string.");
+ int[] ia_39 = new int[]{39};
+ Object obj_39 = new Object();
+ List strList_39 = new ArrayList<>();
+ String[][][] multi_39 = new String[5][10][32];
+ int i_40 = 40;
+ boolean j_40 = false;
+ String str_40 = new String("the 40-th string.");
+ int[] ia_40 = new int[]{40};
+ Object obj_40 = new Object();
+ List strList_40 = new ArrayList<>();
+ String[][][] multi_40 = new String[5][10][32];
+ int i_41 = 41;
+ boolean j_41 = true;
+ String str_41 = new String("the 41-th string.");
+ int[] ia_41 = new int[]{41};
+ Object obj_41 = new Object();
+ List strList_41 = new ArrayList<>();
+ String[][][] multi_41 = new String[5][10][32];
+ int i_42 = 42;
+ boolean j_42 = false;
+ String str_42 = new String("the 42-th string.");
+ int[] ia_42 = new int[]{42};
+ Object obj_42 = new Object();
+ List strList_42 = new ArrayList<>();
+ String[][][] multi_42 = new String[5][10][32];
+ int i_43 = 43;
+ boolean j_43 = true;
+ String str_43 = new String("the 43-th string.");
+ int[] ia_43 = new int[]{43};
+ Object obj_43 = new Object();
+ List strList_43 = new ArrayList<>();
+ String[][][] multi_43 = new String[5][10][32];
+ int i_44 = 44;
+ boolean j_44 = false;
+ String str_44 = new String("the 44-th string.");
+ int[] ia_44 = new int[]{44};
+ Object obj_44 = new Object();
+ List strList_44 = new ArrayList<>();
+ String[][][] multi_44 = new String[5][10][32];
+ int i_45 = 45;
+ boolean j_45 = true;
+ String str_45 = new String("the 45-th string.");
+ int[] ia_45 = new int[]{45};
+ Object obj_45 = new Object();
+ List strList_45 = new ArrayList<>();
+ String[][][] multi_45 = new String[5][10][32];
+ int i_46 = 46;
+ boolean j_46 = false;
+ String str_46 = new String("the 46-th string.");
+ int[] ia_46 = new int[]{46};
+ Object obj_46 = new Object();
+ List strList_46 = new ArrayList<>();
+ String[][][] multi_46 = new String[5][10][32];
+ int i_47 = 47;
+ boolean j_47 = true;
+ String str_47 = new String("the 47-th string.");
+ int[] ia_47 = new int[]{47};
+ Object obj_47 = new Object();
+ List strList_47 = new ArrayList<>();
+ String[][][] multi_47 = new String[5][10][32];
+ int i_48 = 48;
+ boolean j_48 = false;
+ String str_48 = new String("the 48-th string.");
+ int[] ia_48 = new int[]{48};
+ Object obj_48 = new Object();
+ List strList_48 = new ArrayList<>();
+ String[][][] multi_48 = new String[5][10][32];
+ int i_49 = 49;
+ boolean j_49 = true;
+ String str_49 = new String("the 49-th string.");
+ int[] ia_49 = new int[]{49};
+ Object obj_49 = new Object();
+ List strList_49 = new ArrayList<>();
+ String[][][] multi_49 = new String[5][10][32];
+ int i_50 = 50;
+ boolean j_50 = false;
+ String str_50 = new String("the 50-th string.");
+ int[] ia_50 = new int[]{50};
+ Object obj_50 = new Object();
+ List strList_50 = new ArrayList<>();
+ String[][][] multi_50 = new String[5][10][32];
+ int i_51 = 51;
+ boolean j_51 = true;
+ String str_51 = new String("the 51-th string.");
+ int[] ia_51 = new int[]{51};
+ Object obj_51 = new Object();
+ List strList_51 = new ArrayList<>();
+ String[][][] multi_51 = new String[5][10][32];
+ int i_52 = 52;
+ boolean j_52 = false;
+ String str_52 = new String("the 52-th string.");
+ int[] ia_52 = new int[]{52};
+ Object obj_52 = new Object();
+ List strList_52 = new ArrayList<>();
+ String[][][] multi_52 = new String[5][10][32];
+ int i_53 = 53;
+ boolean j_53 = true;
+ String str_53 = new String("the 53-th string.");
+ int[] ia_53 = new int[]{53};
+ Object obj_53 = new Object();
+ List strList_53 = new ArrayList<>();
+ String[][][] multi_53 = new String[5][10][32];
+ int i_54 = 54;
+ boolean j_54 = false;
+ String str_54 = new String("the 54-th string.");
+ int[] ia_54 = new int[]{54};
+ Object obj_54 = new Object();
+ List strList_54 = new ArrayList<>();
+ String[][][] multi_54 = new String[5][10][32];
+ int i_55 = 55;
+ boolean j_55 = true;
+ String str_55 = new String("the 55-th string.");
+ int[] ia_55 = new int[]{55};
+ Object obj_55 = new Object();
+ List strList_55 = new ArrayList<>();
+ String[][][] multi_55 = new String[5][10][32];
+ int i_56 = 56;
+ boolean j_56 = false;
+ String str_56 = new String("the 56-th string.");
+ int[] ia_56 = new int[]{56};
+ Object obj_56 = new Object();
+ List strList_56 = new ArrayList<>();
+ String[][][] multi_56 = new String[5][10][32];
+ int i_57 = 57;
+ boolean j_57 = true;
+ String str_57 = new String("the 57-th string.");
+ int[] ia_57 = new int[]{57};
+ Object obj_57 = new Object();
+ List strList_57 = new ArrayList<>();
+ String[][][] multi_57 = new String[5][10][32];
+ int i_58 = 58;
+ boolean j_58 = false;
+ String str_58 = new String("the 58-th string.");
+ int[] ia_58 = new int[]{58};
+ Object obj_58 = new Object();
+ List strList_58 = new ArrayList<>();
+ String[][][] multi_58 = new String[5][10][32];
+ int i_59 = 59;
+ boolean j_59 = true;
+ String str_59 = new String("the 59-th string.");
+ int[] ia_59 = new int[]{59};
+ Object obj_59 = new Object();
+ List strList_59 = new ArrayList<>();
+ String[][][] multi_59 = new String[5][10][32];
+ int i_60 = 60;
+ boolean j_60 = false;
+ String str_60 = new String("the 60-th string.");
+ int[] ia_60 = new int[]{60};
+ Object obj_60 = new Object();
+ List strList_60 = new ArrayList<>();
+ String[][][] multi_60 = new String[5][10][32];
+ int i_61 = 61;
+ boolean j_61 = true;
+ String str_61 = new String("the 61-th string.");
+ int[] ia_61 = new int[]{61};
+ Object obj_61 = new Object();
+ List strList_61 = new ArrayList<>();
+ String[][][] multi_61 = new String[5][10][32];
+ int i_62 = 62;
+ boolean j_62 = false;
+ String str_62 = new String("the 62-th string.");
+ int[] ia_62 = new int[]{62};
+ Object obj_62 = new Object();
+ List strList_62 = new ArrayList<>();
+ String[][][] multi_62 = new String[5][10][32];
+ int i_63 = 63;
+ boolean j_63 = true;
+ String str_63 = new String("the 63-th string.");
+ int[] ia_63 = new int[]{63};
+ Object obj_63 = new Object();
+ List strList_63 = new ArrayList<>();
+ String[][][] multi_63 = new String[5][10][32];
+ int i_64 = 64;
+ boolean j_64 = false;
+ String str_64 = new String("the 64-th string.");
+ int[] ia_64 = new int[]{64};
+ Object obj_64 = new Object();
+ List strList_64 = new ArrayList<>();
+ String[][][] multi_64 = new String[5][10][32];
+ int i_65 = 65;
+ boolean j_65 = true;
+ String str_65 = new String("the 65-th string.");
+ int[] ia_65 = new int[]{65};
+ Object obj_65 = new Object();
+ List strList_65 = new ArrayList<>();
+ String[][][] multi_65 = new String[5][10][32];
+ int i_66 = 66;
+ boolean j_66 = false;
+ String str_66 = new String("the 66-th string.");
+ int[] ia_66 = new int[]{66};
+ Object obj_66 = new Object();
+ List strList_66 = new ArrayList<>();
+ String[][][] multi_66 = new String[5][10][32];
+ int i_67 = 67;
+ boolean j_67 = true;
+ String str_67 = new String("the 67-th string.");
+ int[] ia_67 = new int[]{67};
+ Object obj_67 = new Object();
+ List strList_67 = new ArrayList<>();
+ String[][][] multi_67 = new String[5][10][32];
+ int i_68 = 68;
+ boolean j_68 = false;
+ String str_68 = new String("the 68-th string.");
+ int[] ia_68 = new int[]{68};
+ Object obj_68 = new Object();
+ List strList_68 = new ArrayList<>();
+ String[][][] multi_68 = new String[5][10][32];
+ int i_69 = 69;
+ boolean j_69 = true;
+ String str_69 = new String("the 69-th string.");
+ int[] ia_69 = new int[]{69};
+ Object obj_69 = new Object();
+ List strList_69 = new ArrayList<>();
+ String[][][] multi_69 = new String[5][10][32];
+ int i_70 = 70;
+ boolean j_70 = false;
+ String str_70 = new String("the 70-th string.");
+ int[] ia_70 = new int[]{70};
+ Object obj_70 = new Object();
+ List strList_70 = new ArrayList<>();
+ String[][][] multi_70 = new String[5][10][32];
+ int i_71 = 71;
+ boolean j_71 = true;
+ String str_71 = new String("the 71-th string.");
+ int[] ia_71 = new int[]{71};
+ Object obj_71 = new Object();
+ List strList_71 = new ArrayList<>();
+ String[][][] multi_71 = new String[5][10][32];
+ int i_72 = 72;
+ boolean j_72 = false;
+ String str_72 = new String("the 72-th string.");
+ int[] ia_72 = new int[]{72};
+ Object obj_72 = new Object();
+ List strList_72 = new ArrayList<>();
+ String[][][] multi_72 = new String[5][10][32];
+ int i_73 = 73;
+ boolean j_73 = true;
+ String str_73 = new String("the 73-th string.");
+ int[] ia_73 = new int[]{73};
+ Object obj_73 = new Object();
+ List strList_73 = new ArrayList<>();
+ String[][][] multi_73 = new String[5][10][32];
+ int i_74 = 74;
+ boolean j_74 = false;
+ String str_74 = new String("the 74-th string.");
+ int[] ia_74 = new int[]{74};
+ Object obj_74 = new Object();
+ List strList_74 = new ArrayList<>();
+ String[][][] multi_74 = new String[5][10][32];
+ int i_75 = 75;
+ boolean j_75 = true;
+ String str_75 = new String("the 75-th string.");
+ int[] ia_75 = new int[]{75};
+ Object obj_75 = new Object();
+ List strList_75 = new ArrayList<>();
+ String[][][] multi_75 = new String[5][10][32];
+ int i_76 = 76;
+ boolean j_76 = false;
+ String str_76 = new String("the 76-th string.");
+ int[] ia_76 = new int[]{76};
+ Object obj_76 = new Object();
+ List strList_76 = new ArrayList<>();
+ String[][][] multi_76 = new String[5][10][32];
+ int i_77 = 77;
+ boolean j_77 = true;
+ String str_77 = new String("the 77-th string.");
+ int[] ia_77 = new int[]{77};
+ Object obj_77 = new Object();
+ List strList_77 = new ArrayList<>();
+ String[][][] multi_77 = new String[5][10][32];
+ int i_78 = 78;
+ boolean j_78 = false;
+ String str_78 = new String("the 78-th string.");
+ int[] ia_78 = new int[]{78};
+ Object obj_78 = new Object();
+ List strList_78 = new ArrayList<>();
+ String[][][] multi_78 = new String[5][10][32];
+ int i_79 = 79;
+ boolean j_79 = true;
+ String str_79 = new String("the 79-th string.");
+ int[] ia_79 = new int[]{79};
+ Object obj_79 = new Object();
+ List strList_79 = new ArrayList<>();
+ String[][][] multi_79 = new String[5][10][32];
+ int i_80 = 80;
+ boolean j_80 = false;
+ String str_80 = new String("the 80-th string.");
+ int[] ia_80 = new int[]{80};
+ Object obj_80 = new Object();
+ List strList_80 = new ArrayList<>();
+ String[][][] multi_80 = new String[5][10][32];
+ int i_81 = 81;
+ boolean j_81 = true;
+ String str_81 = new String("the 81-th string.");
+ int[] ia_81 = new int[]{81};
+ Object obj_81 = new Object();
+ List strList_81 = new ArrayList<>();
+ String[][][] multi_81 = new String[5][10][32];
+ int i_82 = 82;
+ boolean j_82 = false;
+ String str_82 = new String("the 82-th string.");
+ int[] ia_82 = new int[]{82};
+ Object obj_82 = new Object();
+ List strList_82 = new ArrayList<>();
+ String[][][] multi_82 = new String[5][10][32];
+ int i_83 = 83;
+ boolean j_83 = true;
+ String str_83 = new String("the 83-th string.");
+ int[] ia_83 = new int[]{83};
+ Object obj_83 = new Object();
+ List strList_83 = new ArrayList<>();
+ String[][][] multi_83 = new String[5][10][32];
+ int i_84 = 84;
+ boolean j_84 = false;
+ String str_84 = new String("the 84-th string.");
+ int[] ia_84 = new int[]{84};
+ Object obj_84 = new Object();
+ List strList_84 = new ArrayList<>();
+ String[][][] multi_84 = new String[5][10][32];
+ int i_85 = 85;
+ boolean j_85 = true;
+ String str_85 = new String("the 85-th string.");
+ int[] ia_85 = new int[]{85};
+ Object obj_85 = new Object();
+ List strList_85 = new ArrayList<>();
+ String[][][] multi_85 = new String[5][10][32];
+ int i_86 = 86;
+ boolean j_86 = false;
+ String str_86 = new String("the 86-th string.");
+ int[] ia_86 = new int[]{86};
+ Object obj_86 = new Object();
+ List strList_86 = new ArrayList<>();
+ String[][][] multi_86 = new String[5][10][32];
+ int i_87 = 87;
+ boolean j_87 = true;
+ String str_87 = new String("the 87-th string.");
+ int[] ia_87 = new int[]{87};
+ Object obj_87 = new Object();
+ List strList_87 = new ArrayList<>();
+ String[][][] multi_87 = new String[5][10][32];
+ int i_88 = 88;
+ boolean j_88 = false;
+ String str_88 = new String("the 88-th string.");
+ int[] ia_88 = new int[]{88};
+ Object obj_88 = new Object();
+ List strList_88 = new ArrayList<>();
+ String[][][] multi_88 = new String[5][10][32];
+ int i_89 = 89;
+ boolean j_89 = true;
+ String str_89 = new String("the 89-th string.");
+ int[] ia_89 = new int[]{89};
+ Object obj_89 = new Object();
+ List strList_89 = new ArrayList<>();
+ String[][][] multi_89 = new String[5][10][32];
+ int i_90 = 90;
+ boolean j_90 = false;
+ String str_90 = new String("the 90-th string.");
+ int[] ia_90 = new int[]{90};
+ Object obj_90 = new Object();
+ List strList_90 = new ArrayList<>();
+ String[][][] multi_90 = new String[5][10][32];
+ int i_91 = 91;
+ boolean j_91 = true;
+ String str_91 = new String("the 91-th string.");
+ int[] ia_91 = new int[]{91};
+ Object obj_91 = new Object();
+ List strList_91 = new ArrayList<>();
+ String[][][] multi_91 = new String[5][10][32];
+ int i_92 = 92;
+ boolean j_92 = false;
+ String str_92 = new String("the 92-th string.");
+ int[] ia_92 = new int[]{92};
+ Object obj_92 = new Object();
+ List strList_92 = new ArrayList<>();
+ String[][][] multi_92 = new String[5][10][32];
+ int i_93 = 93;
+ boolean j_93 = true;
+ String str_93 = new String("the 93-th string.");
+ int[] ia_93 = new int[]{93};
+ Object obj_93 = new Object();
+ List strList_93 = new ArrayList<>();
+ String[][][] multi_93 = new String[5][10][32];
+ int i_94 = 94;
+ boolean j_94 = false;
+ String str_94 = new String("the 94-th string.");
+ int[] ia_94 = new int[]{94};
+ Object obj_94 = new Object();
+ List strList_94 = new ArrayList<>();
+ String[][][] multi_94 = new String[5][10][32];
+ int i_95 = 95;
+ boolean j_95 = true;
+ String str_95 = new String("the 95-th string.");
+ int[] ia_95 = new int[]{95};
+ Object obj_95 = new Object();
+ List strList_95 = new ArrayList<>();
+ String[][][] multi_95 = new String[5][10][32];
+ int i_96 = 96;
+ boolean j_96 = false;
+ String str_96 = new String("the 96-th string.");
+ int[] ia_96 = new int[]{96};
+ Object obj_96 = new Object();
+ List strList_96 = new ArrayList<>();
+ String[][][] multi_96 = new String[5][10][32];
+ int i_97 = 97;
+ boolean j_97 = true;
+ String str_97 = new String("the 97-th string.");
+ int[] ia_97 = new int[]{97};
+ Object obj_97 = new Object();
+ List strList_97 = new ArrayList<>();
+ String[][][] multi_97 = new String[5][10][32];
+ int i_98 = 98;
+ boolean j_98 = false;
+ String str_98 = new String("the 98-th string.");
+ int[] ia_98 = new int[]{98};
+ Object obj_98 = new Object();
+ List strList_98 = new ArrayList<>();
+ String[][][] multi_98 = new String[5][10][32];
+ int i_99 = 99;
+ boolean j_99 = true;
+ String str_99 = new String("the 99-th string.");
+ int[] ia_99 = new int[]{99};
+ Object obj_99 = new Object();
+ List strList_99 = new ArrayList<>();
+ String[][][] multi_99 = new String[5][10][32];
+ int i_100 = 100;
+ boolean j_100 = false;
+ String str_100 = new String("the 100-th string.");
+ int[] ia_100 = new int[]{100};
+ Object obj_100 = new Object();
+ List strList_100 = new ArrayList<>();
+ String[][][] multi_100 = new String[5][10][32];
+ int i_101 = 101;
+ boolean j_101 = true;
+ String str_101 = new String("the 101-th string.");
+ int[] ia_101 = new int[]{101};
+ Object obj_101 = new Object();
+ List strList_101 = new ArrayList<>();
+ String[][][] multi_101 = new String[5][10][32];
+ int i_102 = 102;
+ boolean j_102 = false;
+ String str_102 = new String("the 102-th string.");
+ int[] ia_102 = new int[]{102};
+ Object obj_102 = new Object();
+ List strList_102 = new ArrayList<>();
+ String[][][] multi_102 = new String[5][10][32];
+ int i_103 = 103;
+ boolean j_103 = true;
+ String str_103 = new String("the 103-th string.");
+ int[] ia_103 = new int[]{103};
+ Object obj_103 = new Object();
+ List strList_103 = new ArrayList<>();
+ String[][][] multi_103 = new String[5][10][32];
+ int i_104 = 104;
+ boolean j_104 = false;
+ String str_104 = new String("the 104-th string.");
+ int[] ia_104 = new int[]{104};
+ Object obj_104 = new Object();
+ List strList_104 = new ArrayList<>();
+ String[][][] multi_104 = new String[5][10][32];
+ int i_105 = 105;
+ boolean j_105 = true;
+ String str_105 = new String("the 105-th string.");
+ int[] ia_105 = new int[]{105};
+ Object obj_105 = new Object();
+ List strList_105 = new ArrayList<>();
+ String[][][] multi_105 = new String[5][10][32];
+ int i_106 = 106;
+ boolean j_106 = false;
+ String str_106 = new String("the 106-th string.");
+ int[] ia_106 = new int[]{106};
+ Object obj_106 = new Object();
+ List strList_106 = new ArrayList<>();
+ String[][][] multi_106 = new String[5][10][32];
+ int i_107 = 107;
+ boolean j_107 = true;
+ String str_107 = new String("the 107-th string.");
+ int[] ia_107 = new int[]{107};
+ Object obj_107 = new Object();
+ List strList_107 = new ArrayList<>();
+ String[][][] multi_107 = new String[5][10][32];
+ int i_108 = 108;
+ boolean j_108 = false;
+ String str_108 = new String("the 108-th string.");
+ int[] ia_108 = new int[]{108};
+ Object obj_108 = new Object();
+ List strList_108 = new ArrayList<>();
+ String[][][] multi_108 = new String[5][10][32];
+ int i_109 = 109;
+ boolean j_109 = true;
+ String str_109 = new String("the 109-th string.");
+ int[] ia_109 = new int[]{109};
+ Object obj_109 = new Object();
+ List strList_109 = new ArrayList<>();
+ String[][][] multi_109 = new String[5][10][32];
+ int i_110 = 110;
+ boolean j_110 = false;
+ String str_110 = new String("the 110-th string.");
+ int[] ia_110 = new int[]{110};
+ Object obj_110 = new Object();
+ List strList_110 = new ArrayList<>();
+ String[][][] multi_110 = new String[5][10][32];
+ int i_111 = 111;
+ boolean j_111 = true;
+ String str_111 = new String("the 111-th string.");
+ int[] ia_111 = new int[]{111};
+ Object obj_111 = new Object();
+ List strList_111 = new ArrayList<>();
+ String[][][] multi_111 = new String[5][10][32];
+ int i_112 = 112;
+ boolean j_112 = false;
+ String str_112 = new String("the 112-th string.");
+ int[] ia_112 = new int[]{112};
+ Object obj_112 = new Object();
+ List strList_112 = new ArrayList<>();
+ String[][][] multi_112 = new String[5][10][32];
+ int i_113 = 113;
+ boolean j_113 = true;
+ String str_113 = new String("the 113-th string.");
+ int[] ia_113 = new int[]{113};
+ Object obj_113 = new Object();
+ List strList_113 = new ArrayList<>();
+ String[][][] multi_113 = new String[5][10][32];
+ int i_114 = 114;
+ boolean j_114 = false;
+ String str_114 = new String("the 114-th string.");
+ int[] ia_114 = new int[]{114};
+ Object obj_114 = new Object();
+ List strList_114 = new ArrayList<>();
+ String[][][] multi_114 = new String[5][10][32];
+ int i_115 = 115;
+ boolean j_115 = true;
+ String str_115 = new String("the 115-th string.");
+ int[] ia_115 = new int[]{115};
+ Object obj_115 = new Object();
+ List strList_115 = new ArrayList<>();
+ String[][][] multi_115 = new String[5][10][32];
+ int i_116 = 116;
+ boolean j_116 = false;
+ String str_116 = new String("the 116-th string.");
+ int[] ia_116 = new int[]{116};
+ Object obj_116 = new Object();
+ List strList_116 = new ArrayList<>();
+ String[][][] multi_116 = new String[5][10][32];
+ int i_117 = 117;
+ boolean j_117 = true;
+ String str_117 = new String("the 117-th string.");
+ int[] ia_117 = new int[]{117};
+ Object obj_117 = new Object();
+ List strList_117 = new ArrayList<>();
+ String[][][] multi_117 = new String[5][10][32];
+ int i_118 = 118;
+ boolean j_118 = false;
+ String str_118 = new String("the 118-th string.");
+ int[] ia_118 = new int[]{118};
+ Object obj_118 = new Object();
+ List strList_118 = new ArrayList<>();
+ String[][][] multi_118 = new String[5][10][32];
+ int i_119 = 119;
+ boolean j_119 = true;
+ String str_119 = new String("the 119-th string.");
+ int[] ia_119 = new int[]{119};
+ Object obj_119 = new Object();
+ List strList_119 = new ArrayList<>();
+ String[][][] multi_119 = new String[5][10][32];
+ int i_120 = 120;
+ boolean j_120 = false;
+ String str_120 = new String("the 120-th string.");
+ int[] ia_120 = new int[]{120};
+ Object obj_120 = new Object();
+ List strList_120 = new ArrayList<>();
+ String[][][] multi_120 = new String[5][10][32];
+ int i_121 = 121;
+ boolean j_121 = true;
+ String str_121 = new String("the 121-th string.");
+ int[] ia_121 = new int[]{121};
+ Object obj_121 = new Object();
+ List strList_121 = new ArrayList<>();
+ String[][][] multi_121 = new String[5][10][32];
+ int i_122 = 122;
+ boolean j_122 = false;
+ String str_122 = new String("the 122-th string.");
+ int[] ia_122 = new int[]{122};
+ Object obj_122 = new Object();
+ List strList_122 = new ArrayList<>();
+ String[][][] multi_122 = new String[5][10][32];
+ int i_123 = 123;
+ boolean j_123 = true;
+ String str_123 = new String("the 123-th string.");
+ int[] ia_123 = new int[]{123};
+ Object obj_123 = new Object();
+ List strList_123 = new ArrayList<>();
+ String[][][] multi_123 = new String[5][10][32];
+ int i_124 = 124;
+ boolean j_124 = false;
+ String str_124 = new String("the 124-th string.");
+ int[] ia_124 = new int[]{124};
+ Object obj_124 = new Object();
+ List strList_124 = new ArrayList<>();
+ String[][][] multi_124 = new String[5][10][32];
+ int i_125 = 125;
+ boolean j_125 = true;
+ String str_125 = new String("the 125-th string.");
+ int[] ia_125 = new int[]{125};
+ Object obj_125 = new Object();
+ List strList_125 = new ArrayList<>();
+ String[][][] multi_125 = new String[5][10][32];
+ int i_126 = 126;
+ boolean j_126 = false;
+ String str_126 = new String("the 126-th string.");
+ int[] ia_126 = new int[]{126};
+ Object obj_126 = new Object();
+ List strList_126 = new ArrayList<>();
+ String[][][] multi_126 = new String[5][10][32];
+ int i_127 = 127;
+ boolean j_127 = true;
+ String str_127 = new String("the 127-th string.");
+ int[] ia_127 = new int[]{127};
+ Object obj_127 = new Object();
+ List strList_127 = new ArrayList<>();
+ String[][][] multi_127 = new String[5][10][32];
+ int i_128 = 128;
+ boolean j_128 = false;
+ String str_128 = new String("the 128-th string.");
+ int[] ia_128 = new int[]{128};
+ Object obj_128 = new Object();
+ List strList_128 = new ArrayList<>();
+ String[][][] multi_128 = new String[5][10][32];
+ int i_129 = 129;
+ boolean j_129 = true;
+ String str_129 = new String("the 129-th string.");
+ int[] ia_129 = new int[]{129};
+ Object obj_129 = new Object();
+ List strList_129 = new ArrayList<>();
+ String[][][] multi_129 = new String[5][10][32];
+ int i_130 = 130;
+ boolean j_130 = false;
+ String str_130 = new String("the 130-th string.");
+ int[] ia_130 = new int[]{130};
+ Object obj_130 = new Object();
+ List strList_130 = new ArrayList<>();
+ String[][][] multi_130 = new String[5][10][32];
+ int i_131 = 131;
+ boolean j_131 = true;
+ String str_131 = new String("the 131-th string.");
+ int[] ia_131 = new int[]{131};
+ Object obj_131 = new Object();
+ List strList_131 = new ArrayList<>();
+ String[][][] multi_131 = new String[5][10][32];
+ int i_132 = 132;
+ boolean j_132 = false;
+ String str_132 = new String("the 132-th string.");
+ int[] ia_132 = new int[]{132};
+ Object obj_132 = new Object();
+ List strList_132 = new ArrayList<>();
+ String[][][] multi_132 = new String[5][10][32];
+ int i_133 = 133;
+ boolean j_133 = true;
+ String str_133 = new String("the 133-th string.");
+ int[] ia_133 = new int[]{133};
+ Object obj_133 = new Object();
+ List strList_133 = new ArrayList<>();
+ String[][][] multi_133 = new String[5][10][32];
+ int i_134 = 134;
+ boolean j_134 = false;
+ String str_134 = new String("the 134-th string.");
+ int[] ia_134 = new int[]{134};
+ Object obj_134 = new Object();
+ List strList_134 = new ArrayList<>();
+ String[][][] multi_134 = new String[5][10][32];
+ int i_135 = 135;
+ boolean j_135 = true;
+ String str_135 = new String("the 135-th string.");
+ int[] ia_135 = new int[]{135};
+ Object obj_135 = new Object();
+ List strList_135 = new ArrayList<>();
+ String[][][] multi_135 = new String[5][10][32];
+ int i_136 = 136;
+ boolean j_136 = false;
+ String str_136 = new String("the 136-th string.");
+ int[] ia_136 = new int[]{136};
+ Object obj_136 = new Object();
+ List strList_136 = new ArrayList<>();
+ String[][][] multi_136 = new String[5][10][32];
+ int i_137 = 137;
+ boolean j_137 = true;
+ String str_137 = new String("the 137-th string.");
+ int[] ia_137 = new int[]{137};
+ Object obj_137 = new Object();
+ List strList_137 = new ArrayList<>();
+ String[][][] multi_137 = new String[5][10][32];
+ int i_138 = 138;
+ boolean j_138 = false;
+ String str_138 = new String("the 138-th string.");
+ int[] ia_138 = new int[]{138};
+ Object obj_138 = new Object();
+ List strList_138 = new ArrayList<>();
+ String[][][] multi_138 = new String[5][10][32];
+ int i_139 = 139;
+ boolean j_139 = true;
+ String str_139 = new String("the 139-th string.");
+ int[] ia_139 = new int[]{139};
+ Object obj_139 = new Object();
+ List strList_139 = new ArrayList<>();
+ String[][][] multi_139 = new String[5][10][32];
+ int i_140 = 140;
+ boolean j_140 = false;
+ String str_140 = new String("the 140-th string.");
+ int[] ia_140 = new int[]{140};
+ Object obj_140 = new Object();
+ List strList_140 = new ArrayList<>();
+ String[][][] multi_140 = new String[5][10][32];
+ int i_141 = 141;
+ boolean j_141 = true;
+ String str_141 = new String("the 141-th string.");
+ int[] ia_141 = new int[]{141};
+ Object obj_141 = new Object();
+ List strList_141 = new ArrayList<>();
+ String[][][] multi_141 = new String[5][10][32];
+ int i_142 = 142;
+ boolean j_142 = false;
+ String str_142 = new String("the 142-th string.");
+ int[] ia_142 = new int[]{142};
+ Object obj_142 = new Object();
+ List strList_142 = new ArrayList<>();
+ String[][][] multi_142 = new String[5][10][32];
+ int i_143 = 143;
+ boolean j_143 = true;
+ String str_143 = new String("the 143-th string.");
+ int[] ia_143 = new int[]{143};
+ Object obj_143 = new Object();
+ List strList_143 = new ArrayList<>();
+ String[][][] multi_143 = new String[5][10][32];
+ int i_144 = 144;
+ boolean j_144 = false;
+ String str_144 = new String("the 144-th string.");
+ int[] ia_144 = new int[]{144};
+ Object obj_144 = new Object();
+ List strList_144 = new ArrayList<>();
+ String[][][] multi_144 = new String[5][10][32];
+ int i_145 = 145;
+ boolean j_145 = true;
+ String str_145 = new String("the 145-th string.");
+ int[] ia_145 = new int[]{145};
+ Object obj_145 = new Object();
+ List strList_145 = new ArrayList<>();
+ String[][][] multi_145 = new String[5][10][32];
+ int i_146 = 146;
+ boolean j_146 = false;
+ String str_146 = new String("the 146-th string.");
+ int[] ia_146 = new int[]{146};
+ Object obj_146 = new Object();
+ List strList_146 = new ArrayList<>();
+ String[][][] multi_146 = new String[5][10][32];
+ int i_147 = 147;
+ boolean j_147 = true;
+ String str_147 = new String("the 147-th string.");
+ int[] ia_147 = new int[]{147};
+ Object obj_147 = new Object();
+ List strList_147 = new ArrayList<>();
+ String[][][] multi_147 = new String[5][10][32];
+ int i_148 = 148;
+ boolean j_148 = false;
+ String str_148 = new String("the 148-th string.");
+ int[] ia_148 = new int[]{148};
+ Object obj_148 = new Object();
+ List strList_148 = new ArrayList<>();
+ String[][][] multi_148 = new String[5][10][32];
+ int i_149 = 149;
+ boolean j_149 = true;
+ String str_149 = new String("the 149-th string.");
+ int[] ia_149 = new int[]{149};
+ Object obj_149 = new Object();
+ List strList_149 = new ArrayList<>();
+ String[][][] multi_149 = new String[5][10][32];
+ int i_150 = 150;
+ boolean j_150 = false;
+ String str_150 = new String("the 150-th string.");
+ int[] ia_150 = new int[]{150};
+ Object obj_150 = new Object();
+ List strList_150 = new ArrayList<>();
+ String[][][] multi_150 = new String[5][10][32];
+ int i_151 = 151;
+ boolean j_151 = true;
+ String str_151 = new String("the 151-th string.");
+ int[] ia_151 = new int[]{151};
+ Object obj_151 = new Object();
+ List strList_151 = new ArrayList<>();
+ String[][][] multi_151 = new String[5][10][32];
+ int i_152 = 152;
+ boolean j_152 = false;
+ String str_152 = new String("the 152-th string.");
+ int[] ia_152 = new int[]{152};
+ Object obj_152 = new Object();
+ List strList_152 = new ArrayList<>();
+ String[][][] multi_152 = new String[5][10][32];
+ int i_153 = 153;
+ boolean j_153 = true;
+ String str_153 = new String("the 153-th string.");
+ int[] ia_153 = new int[]{153};
+ Object obj_153 = new Object();
+ List strList_153 = new ArrayList<>();
+ String[][][] multi_153 = new String[5][10][32];
+ int i_154 = 154;
+ boolean j_154 = false;
+ String str_154 = new String("the 154-th string.");
+ int[] ia_154 = new int[]{154};
+ Object obj_154 = new Object();
+ List strList_154 = new ArrayList<>();
+ String[][][] multi_154 = new String[5][10][32];
+ int i_155 = 155;
+ boolean j_155 = true;
+ String str_155 = new String("the 155-th string.");
+ int[] ia_155 = new int[]{155};
+ Object obj_155 = new Object();
+ List strList_155 = new ArrayList<>();
+ String[][][] multi_155 = new String[5][10][32];
+ int i_156 = 156;
+ boolean j_156 = false;
+ String str_156 = new String("the 156-th string.");
+ int[] ia_156 = new int[]{156};
+ Object obj_156 = new Object();
+ List strList_156 = new ArrayList<>();
+ String[][][] multi_156 = new String[5][10][32];
+ int i_157 = 157;
+ boolean j_157 = true;
+ String str_157 = new String("the 157-th string.");
+ int[] ia_157 = new int[]{157};
+ Object obj_157 = new Object();
+ List strList_157 = new ArrayList<>();
+ String[][][] multi_157 = new String[5][10][32];
+ int i_158 = 158;
+ boolean j_158 = false;
+ String str_158 = new String("the 158-th string.");
+ int[] ia_158 = new int[]{158};
+ Object obj_158 = new Object();
+ List strList_158 = new ArrayList<>();
+ String[][][] multi_158 = new String[5][10][32];
+ int i_159 = 159;
+ boolean j_159 = true;
+ String str_159 = new String("the 159-th string.");
+ int[] ia_159 = new int[]{159};
+ Object obj_159 = new Object();
+ List strList_159 = new ArrayList<>();
+ String[][][] multi_159 = new String[5][10][32];
+ int i_160 = 160;
+ boolean j_160 = false;
+ String str_160 = new String("the 160-th string.");
+ int[] ia_160 = new int[]{160};
+ Object obj_160 = new Object();
+ List strList_160 = new ArrayList<>();
+ String[][][] multi_160 = new String[5][10][32];
+ int i_161 = 161;
+ boolean j_161 = true;
+ String str_161 = new String("the 161-th string.");
+ int[] ia_161 = new int[]{161};
+ Object obj_161 = new Object();
+ List strList_161 = new ArrayList<>();
+ String[][][] multi_161 = new String[5][10][32];
+ int i_162 = 162;
+ boolean j_162 = false;
+ String str_162 = new String("the 162-th string.");
+ int[] ia_162 = new int[]{162};
+ Object obj_162 = new Object();
+ List strList_162 = new ArrayList<>();
+ String[][][] multi_162 = new String[5][10][32];
+ int i_163 = 163;
+ boolean j_163 = true;
+ String str_163 = new String("the 163-th string.");
+ int[] ia_163 = new int[]{163};
+ Object obj_163 = new Object();
+ List strList_163 = new ArrayList<>();
+ String[][][] multi_163 = new String[5][10][32];
+ int i_164 = 164;
+ boolean j_164 = false;
+ String str_164 = new String("the 164-th string.");
+ int[] ia_164 = new int[]{164};
+ Object obj_164 = new Object();
+ List strList_164 = new ArrayList<>();
+ String[][][] multi_164 = new String[5][10][32];
+ int i_165 = 165;
+ boolean j_165 = true;
+ String str_165 = new String("the 165-th string.");
+ int[] ia_165 = new int[]{165};
+ Object obj_165 = new Object();
+ List strList_165 = new ArrayList<>();
+ String[][][] multi_165 = new String[5][10][32];
+ int i_166 = 166;
+ boolean j_166 = false;
+ String str_166 = new String("the 166-th string.");
+ int[] ia_166 = new int[]{166};
+ Object obj_166 = new Object();
+ List strList_166 = new ArrayList<>();
+ String[][][] multi_166 = new String[5][10][32];
+ int i_167 = 167;
+ boolean j_167 = true;
+ String str_167 = new String("the 167-th string.");
+ int[] ia_167 = new int[]{167};
+ Object obj_167 = new Object();
+ List strList_167 = new ArrayList<>();
+ String[][][] multi_167 = new String[5][10][32];
+ int i_168 = 168;
+ boolean j_168 = false;
+ String str_168 = new String("the 168-th string.");
+ int[] ia_168 = new int[]{168};
+ Object obj_168 = new Object();
+ List strList_168 = new ArrayList<>();
+ String[][][] multi_168 = new String[5][10][32];
+ int i_169 = 169;
+ boolean j_169 = true;
+ String str_169 = new String("the 169-th string.");
+ int[] ia_169 = new int[]{169};
+ Object obj_169 = new Object();
+ List strList_169 = new ArrayList<>();
+ String[][][] multi_169 = new String[5][10][32];
+ int i_170 = 170;
+ boolean j_170 = false;
+ String str_170 = new String("the 170-th string.");
+ int[] ia_170 = new int[]{170};
+ Object obj_170 = new Object();
+ List strList_170 = new ArrayList<>();
+ String[][][] multi_170 = new String[5][10][32];
+ int i_171 = 171;
+ boolean j_171 = true;
+ String str_171 = new String("the 171-th string.");
+ int[] ia_171 = new int[]{171};
+ Object obj_171 = new Object();
+ List strList_171 = new ArrayList<>();
+ String[][][] multi_171 = new String[5][10][32];
+ int i_172 = 172;
+ boolean j_172 = false;
+ String str_172 = new String("the 172-th string.");
+ int[] ia_172 = new int[]{172};
+ Object obj_172 = new Object();
+ List strList_172 = new ArrayList<>();
+ String[][][] multi_172 = new String[5][10][32];
+ int i_173 = 173;
+ boolean j_173 = true;
+ String str_173 = new String("the 173-th string.");
+ int[] ia_173 = new int[]{173};
+ Object obj_173 = new Object();
+ List strList_173 = new ArrayList<>();
+ String[][][] multi_173 = new String[5][10][32];
+ int i_174 = 174;
+ boolean j_174 = false;
+ String str_174 = new String("the 174-th string.");
+ int[] ia_174 = new int[]{174};
+ Object obj_174 = new Object();
+ List strList_174 = new ArrayList<>();
+ String[][][] multi_174 = new String[5][10][32];
+ int i_175 = 175;
+ boolean j_175 = true;
+ String str_175 = new String("the 175-th string.");
+ int[] ia_175 = new int[]{175};
+ Object obj_175 = new Object();
+ List strList_175 = new ArrayList<>();
+ String[][][] multi_175 = new String[5][10][32];
+ int i_176 = 176;
+ boolean j_176 = false;
+ String str_176 = new String("the 176-th string.");
+ int[] ia_176 = new int[]{176};
+ Object obj_176 = new Object();
+ List strList_176 = new ArrayList<>();
+ String[][][] multi_176 = new String[5][10][32];
+ int i_177 = 177;
+ boolean j_177 = true;
+ String str_177 = new String("the 177-th string.");
+ int[] ia_177 = new int[]{177};
+ Object obj_177 = new Object();
+ List strList_177 = new ArrayList<>();
+ String[][][] multi_177 = new String[5][10][32];
+ int i_178 = 178;
+ boolean j_178 = false;
+ String str_178 = new String("the 178-th string.");
+ int[] ia_178 = new int[]{178};
+ Object obj_178 = new Object();
+ List strList_178 = new ArrayList<>();
+ String[][][] multi_178 = new String[5][10][32];
+ int i_179 = 179;
+ boolean j_179 = true;
+ String str_179 = new String("the 179-th string.");
+ int[] ia_179 = new int[]{179};
+ Object obj_179 = new Object();
+ List strList_179 = new ArrayList<>();
+ String[][][] multi_179 = new String[5][10][32];
+ int i_180 = 180;
+ boolean j_180 = false;
+ String str_180 = new String("the 180-th string.");
+ int[] ia_180 = new int[]{180};
+ Object obj_180 = new Object();
+ List strList_180 = new ArrayList<>();
+ String[][][] multi_180 = new String[5][10][32];
+ int i_181 = 181;
+ boolean j_181 = true;
+ String str_181 = new String("the 181-th string.");
+ int[] ia_181 = new int[]{181};
+ Object obj_181 = new Object();
+ List strList_181 = new ArrayList<>();
+ String[][][] multi_181 = new String[5][10][32];
+ int i_182 = 182;
+ boolean j_182 = false;
+ String str_182 = new String("the 182-th string.");
+ int[] ia_182 = new int[]{182};
+ Object obj_182 = new Object();
+ List strList_182 = new ArrayList<>();
+ String[][][] multi_182 = new String[5][10][32];
+ int i_183 = 183;
+ boolean j_183 = true;
+ String str_183 = new String("the 183-th string.");
+ int[] ia_183 = new int[]{183};
+ Object obj_183 = new Object();
+ List strList_183 = new ArrayList<>();
+ String[][][] multi_183 = new String[5][10][32];
+ int i_184 = 184;
+ boolean j_184 = false;
+ String str_184 = new String("the 184-th string.");
+ int[] ia_184 = new int[]{184};
+ Object obj_184 = new Object();
+ List strList_184 = new ArrayList<>();
+ String[][][] multi_184 = new String[5][10][32];
+ int i_185 = 185;
+ boolean j_185 = true;
+ String str_185 = new String("the 185-th string.");
+ int[] ia_185 = new int[]{185};
+ Object obj_185 = new Object();
+ List strList_185 = new ArrayList<>();
+ String[][][] multi_185 = new String[5][10][32];
+ int i_186 = 186;
+ boolean j_186 = false;
+ String str_186 = new String("the 186-th string.");
+ int[] ia_186 = new int[]{186};
+ Object obj_186 = new Object();
+ List strList_186 = new ArrayList<>();
+ String[][][] multi_186 = new String[5][10][32];
+ int i_187 = 187;
+ boolean j_187 = true;
+ String str_187 = new String("the 187-th string.");
+ int[] ia_187 = new int[]{187};
+ Object obj_187 = new Object();
+ List strList_187 = new ArrayList<>();
+ String[][][] multi_187 = new String[5][10][32];
+ int i_188 = 188;
+ boolean j_188 = false;
+ String str_188 = new String("the 188-th string.");
+ int[] ia_188 = new int[]{188};
+ Object obj_188 = new Object();
+ List strList_188 = new ArrayList<>();
+ String[][][] multi_188 = new String[5][10][32];
+ int i_189 = 189;
+ boolean j_189 = true;
+ String str_189 = new String("the 189-th string.");
+ int[] ia_189 = new int[]{189};
+ Object obj_189 = new Object();
+ List strList_189 = new ArrayList<>();
+ String[][][] multi_189 = new String[5][10][32];
+ int i_190 = 190;
+ boolean j_190 = false;
+ String str_190 = new String("the 190-th string.");
+ int[] ia_190 = new int[]{190};
+ Object obj_190 = new Object();
+ List strList_190 = new ArrayList<>();
+ String[][][] multi_190 = new String[5][10][32];
+ int i_191 = 191;
+ boolean j_191 = true;
+ String str_191 = new String("the 191-th string.");
+ int[] ia_191 = new int[]{191};
+ Object obj_191 = new Object();
+ List strList_191 = new ArrayList<>();
+ String[][][] multi_191 = new String[5][10][32];
+ int i_192 = 192;
+ boolean j_192 = false;
+ String str_192 = new String("the 192-th string.");
+ int[] ia_192 = new int[]{192};
+ Object obj_192 = new Object();
+ List strList_192 = new ArrayList<>();
+ String[][][] multi_192 = new String[5][10][32];
+ int i_193 = 193;
+ boolean j_193 = true;
+ String str_193 = new String("the 193-th string.");
+ int[] ia_193 = new int[]{193};
+ Object obj_193 = new Object();
+ List strList_193 = new ArrayList<>();
+ String[][][] multi_193 = new String[5][10][32];
+ int i_194 = 194;
+ boolean j_194 = false;
+ String str_194 = new String("the 194-th string.");
+ int[] ia_194 = new int[]{194};
+ Object obj_194 = new Object();
+ List strList_194 = new ArrayList<>();
+ String[][][] multi_194 = new String[5][10][32];
+ int i_195 = 195;
+ boolean j_195 = true;
+ String str_195 = new String("the 195-th string.");
+ int[] ia_195 = new int[]{195};
+ Object obj_195 = new Object();
+ List strList_195 = new ArrayList<>();
+ String[][][] multi_195 = new String[5][10][32];
+ int i_196 = 196;
+ boolean j_196 = false;
+ String str_196 = new String("the 196-th string.");
+ int[] ia_196 = new int[]{196};
+ Object obj_196 = new Object();
+ List strList_196 = new ArrayList<>();
+ String[][][] multi_196 = new String[5][10][32];
+ int i_197 = 197;
+ boolean j_197 = true;
+ String str_197 = new String("the 197-th string.");
+ int[] ia_197 = new int[]{197};
+ Object obj_197 = new Object();
+ List strList_197 = new ArrayList<>();
+ String[][][] multi_197 = new String[5][10][32];
+ int i_198 = 198;
+ boolean j_198 = false;
+ String str_198 = new String("the 198-th string.");
+ int[] ia_198 = new int[]{198};
+ Object obj_198 = new Object();
+ List strList_198 = new ArrayList<>();
+ String[][][] multi_198 = new String[5][10][32];
+ int i_199 = 199;
+ boolean j_199 = true;
+ String str_199 = new String("the 199-th string.");
+ int[] ia_199 = new int[]{199};
+ Object obj_199 = new Object();
+ List strList_199 = new ArrayList<>();
+ String[][][] multi_199 = new String[5][10][32];
+ int i_200 = 200;
+ boolean j_200 = false;
+ String str_200 = new String("the 200-th string.");
+ int[] ia_200 = new int[]{200};
+ Object obj_200 = new Object();
+ List strList_200 = new ArrayList<>();
+ String[][][] multi_200 = new String[5][10][32];
+ int i_201 = 201;
+ boolean j_201 = true;
+ String str_201 = new String("the 201-th string.");
+ int[] ia_201 = new int[]{201};
+ Object obj_201 = new Object();
+ List strList_201 = new ArrayList<>();
+ String[][][] multi_201 = new String[5][10][32];
+ int i_202 = 202;
+ boolean j_202 = false;
+ String str_202 = new String("the 202-th string.");
+ int[] ia_202 = new int[]{202};
+ Object obj_202 = new Object();
+ List strList_202 = new ArrayList<>();
+ String[][][] multi_202 = new String[5][10][32];
+ int i_203 = 203;
+ boolean j_203 = true;
+ String str_203 = new String("the 203-th string.");
+ int[] ia_203 = new int[]{203};
+ Object obj_203 = new Object();
+ List strList_203 = new ArrayList<>();
+ String[][][] multi_203 = new String[5][10][32];
+ int i_204 = 204;
+ boolean j_204 = false;
+ String str_204 = new String("the 204-th string.");
+ int[] ia_204 = new int[]{204};
+ Object obj_204 = new Object();
+ List strList_204 = new ArrayList<>();
+ String[][][] multi_204 = new String[5][10][32];
+ int i_205 = 205;
+ boolean j_205 = true;
+ String str_205 = new String("the 205-th string.");
+ int[] ia_205 = new int[]{205};
+ Object obj_205 = new Object();
+ List strList_205 = new ArrayList<>();
+ String[][][] multi_205 = new String[5][10][32];
+ int i_206 = 206;
+ boolean j_206 = false;
+ String str_206 = new String("the 206-th string.");
+ int[] ia_206 = new int[]{206};
+ Object obj_206 = new Object();
+ List strList_206 = new ArrayList<>();
+ String[][][] multi_206 = new String[5][10][32];
+ int i_207 = 207;
+ boolean j_207 = true;
+ String str_207 = new String("the 207-th string.");
+ int[] ia_207 = new int[]{207};
+ Object obj_207 = new Object();
+ List strList_207 = new ArrayList<>();
+ String[][][] multi_207 = new String[5][10][32];
+ int i_208 = 208;
+ boolean j_208 = false;
+ String str_208 = new String("the 208-th string.");
+ int[] ia_208 = new int[]{208};
+ Object obj_208 = new Object();
+ List strList_208 = new ArrayList<>();
+ String[][][] multi_208 = new String[5][10][32];
+ int i_209 = 209;
+ boolean j_209 = true;
+ String str_209 = new String("the 209-th string.");
+ int[] ia_209 = new int[]{209};
+ Object obj_209 = new Object();
+ List strList_209 = new ArrayList<>();
+ String[][][] multi_209 = new String[5][10][32];
+ int i_210 = 210;
+ boolean j_210 = false;
+ String str_210 = new String("the 210-th string.");
+ int[] ia_210 = new int[]{210};
+ Object obj_210 = new Object();
+ List strList_210 = new ArrayList<>();
+ String[][][] multi_210 = new String[5][10][32];
+ int i_211 = 211;
+ boolean j_211 = true;
+ String str_211 = new String("the 211-th string.");
+ int[] ia_211 = new int[]{211};
+ Object obj_211 = new Object();
+ List strList_211 = new ArrayList<>();
+ String[][][] multi_211 = new String[5][10][32];
+ int i_212 = 212;
+ boolean j_212 = false;
+ String str_212 = new String("the 212-th string.");
+ int[] ia_212 = new int[]{212};
+ Object obj_212 = new Object();
+ List strList_212 = new ArrayList<>();
+ String[][][] multi_212 = new String[5][10][32];
+ int i_213 = 213;
+ boolean j_213 = true;
+ String str_213 = new String("the 213-th string.");
+ int[] ia_213 = new int[]{213};
+ Object obj_213 = new Object();
+ List strList_213 = new ArrayList<>();
+ String[][][] multi_213 = new String[5][10][32];
+ int i_214 = 214;
+ boolean j_214 = false;
+ String str_214 = new String("the 214-th string.");
+ int[] ia_214 = new int[]{214};
+ Object obj_214 = new Object();
+ List strList_214 = new ArrayList<>();
+ String[][][] multi_214 = new String[5][10][32];
+ int i_215 = 215;
+ boolean j_215 = true;
+ String str_215 = new String("the 215-th string.");
+ int[] ia_215 = new int[]{215};
+ Object obj_215 = new Object();
+ List strList_215 = new ArrayList<>();
+ String[][][] multi_215 = new String[5][10][32];
+ int i_216 = 216;
+ boolean j_216 = false;
+ String str_216 = new String("the 216-th string.");
+ int[] ia_216 = new int[]{216};
+ Object obj_216 = new Object();
+ List strList_216 = new ArrayList<>();
+ String[][][] multi_216 = new String[5][10][32];
+ int i_217 = 217;
+ boolean j_217 = true;
+ String str_217 = new String("the 217-th string.");
+ int[] ia_217 = new int[]{217};
+ Object obj_217 = new Object();
+ List strList_217 = new ArrayList<>();
+ String[][][] multi_217 = new String[5][10][32];
+ int i_218 = 218;
+ boolean j_218 = false;
+ String str_218 = new String("the 218-th string.");
+ int[] ia_218 = new int[]{218};
+ Object obj_218 = new Object();
+ List strList_218 = new ArrayList<>();
+ String[][][] multi_218 = new String[5][10][32];
+ int i_219 = 219;
+ boolean j_219 = true;
+ String str_219 = new String("the 219-th string.");
+ int[] ia_219 = new int[]{219};
+ Object obj_219 = new Object();
+ List strList_219 = new ArrayList<>();
+ String[][][] multi_219 = new String[5][10][32];
+ int i_220 = 220;
+ boolean j_220 = false;
+ String str_220 = new String("the 220-th string.");
+ int[] ia_220 = new int[]{220};
+ Object obj_220 = new Object();
+ List strList_220 = new ArrayList<>();
+ String[][][] multi_220 = new String[5][10][32];
+ int i_221 = 221;
+ boolean j_221 = true;
+ String str_221 = new String("the 221-th string.");
+ int[] ia_221 = new int[]{221};
+ Object obj_221 = new Object();
+ List strList_221 = new ArrayList<>();
+ String[][][] multi_221 = new String[5][10][32];
+ int i_222 = 222;
+ boolean j_222 = false;
+ String str_222 = new String("the 222-th string.");
+ int[] ia_222 = new int[]{222};
+ Object obj_222 = new Object();
+ List strList_222 = new ArrayList<>();
+ String[][][] multi_222 = new String[5][10][32];
+ int i_223 = 223;
+ boolean j_223 = true;
+ String str_223 = new String("the 223-th string.");
+ int[] ia_223 = new int[]{223};
+ Object obj_223 = new Object();
+ List strList_223 = new ArrayList<>();
+ String[][][] multi_223 = new String[5][10][32];
+ int i_224 = 224;
+ boolean j_224 = false;
+ String str_224 = new String("the 224-th string.");
+ int[] ia_224 = new int[]{224};
+ Object obj_224 = new Object();
+ List strList_224 = new ArrayList<>();
+ String[][][] multi_224 = new String[5][10][32];
+ int i_225 = 225;
+ boolean j_225 = true;
+ String str_225 = new String("the 225-th string.");
+ int[] ia_225 = new int[]{225};
+ Object obj_225 = new Object();
+ List strList_225 = new ArrayList<>();
+ String[][][] multi_225 = new String[5][10][32];
+ int i_226 = 226;
+ boolean j_226 = false;
+ String str_226 = new String("the 226-th string.");
+ int[] ia_226 = new int[]{226};
+ Object obj_226 = new Object();
+ List strList_226 = new ArrayList<>();
+ String[][][] multi_226 = new String[5][10][32];
+ int i_227 = 227;
+ boolean j_227 = true;
+ String str_227 = new String("the 227-th string.");
+ int[] ia_227 = new int[]{227};
+ Object obj_227 = new Object();
+ List strList_227 = new ArrayList<>();
+ String[][][] multi_227 = new String[5][10][32];
+ int i_228 = 228;
+ boolean j_228 = false;
+ String str_228 = new String("the 228-th string.");
+ int[] ia_228 = new int[]{228};
+ Object obj_228 = new Object();
+ List strList_228 = new ArrayList<>();
+ String[][][] multi_228 = new String[5][10][32];
+ int i_229 = 229;
+ boolean j_229 = true;
+ String str_229 = new String("the 229-th string.");
+ int[] ia_229 = new int[]{229};
+ Object obj_229 = new Object();
+ List strList_229 = new ArrayList<>();
+ String[][][] multi_229 = new String[5][10][32];
+ int i_230 = 230;
+ boolean j_230 = false;
+ String str_230 = new String("the 230-th string.");
+ int[] ia_230 = new int[]{230};
+ Object obj_230 = new Object();
+ List strList_230 = new ArrayList<>();
+ String[][][] multi_230 = new String[5][10][32];
+ int i_231 = 231;
+ boolean j_231 = true;
+ String str_231 = new String("the 231-th string.");
+ int[] ia_231 = new int[]{231};
+ Object obj_231 = new Object();
+ List strList_231 = new ArrayList<>();
+ String[][][] multi_231 = new String[5][10][32];
+ int i_232 = 232;
+ boolean j_232 = false;
+ String str_232 = new String("the 232-th string.");
+ int[] ia_232 = new int[]{232};
+ Object obj_232 = new Object();
+ List strList_232 = new ArrayList<>();
+ String[][][] multi_232 = new String[5][10][32];
+ int i_233 = 233;
+ boolean j_233 = true;
+ String str_233 = new String("the 233-th string.");
+ int[] ia_233 = new int[]{233};
+ Object obj_233 = new Object();
+ List strList_233 = new ArrayList<>();
+ String[][][] multi_233 = new String[5][10][32];
+ int i_234 = 234;
+ boolean j_234 = false;
+ String str_234 = new String("the 234-th string.");
+ int[] ia_234 = new int[]{234};
+ Object obj_234 = new Object();
+ List strList_234 = new ArrayList<>();
+ String[][][] multi_234 = new String[5][10][32];
+ int i_235 = 235;
+ boolean j_235 = true;
+ String str_235 = new String("the 235-th string.");
+ int[] ia_235 = new int[]{235};
+ Object obj_235 = new Object();
+ List strList_235 = new ArrayList<>();
+ String[][][] multi_235 = new String[5][10][32];
+ int i_236 = 236;
+ boolean j_236 = false;
+ String str_236 = new String("the 236-th string.");
+ int[] ia_236 = new int[]{236};
+ Object obj_236 = new Object();
+ List strList_236 = new ArrayList<>();
+ String[][][] multi_236 = new String[5][10][32];
+ int i_237 = 237;
+ boolean j_237 = true;
+ String str_237 = new String("the 237-th string.");
+ int[] ia_237 = new int[]{237};
+ Object obj_237 = new Object();
+ List strList_237 = new ArrayList<>();
+ String[][][] multi_237 = new String[5][10][32];
+ int i_238 = 238;
+ boolean j_238 = false;
+ String str_238 = new String("the 238-th string.");
+ int[] ia_238 = new int[]{238};
+ Object obj_238 = new Object();
+ List strList_238 = new ArrayList<>();
+ String[][][] multi_238 = new String[5][10][32];
+ int i_239 = 239;
+ boolean j_239 = true;
+ String str_239 = new String("the 239-th string.");
+ int[] ia_239 = new int[]{239};
+ Object obj_239 = new Object();
+ List strList_239 = new ArrayList<>();
+ String[][][] multi_239 = new String[5][10][32];
+ int i_240 = 240;
+ boolean j_240 = false;
+ String str_240 = new String("the 240-th string.");
+ int[] ia_240 = new int[]{240};
+ Object obj_240 = new Object();
+ List strList_240 = new ArrayList<>();
+ String[][][] multi_240 = new String[5][10][32];
+ int i_241 = 241;
+ boolean j_241 = true;
+ String str_241 = new String("the 241-th string.");
+ int[] ia_241 = new int[]{241};
+ Object obj_241 = new Object();
+ List