Bug 519070 - Compiler hangs while compiling very large Java files (> 100
Mb)

Change-Id: I98d1a37944d80fb782861b365beb9dad5da816bb
diff --git a/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/AbstractRegressionTest.java b/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/AbstractRegressionTest.java
index 715e64d..03b3e57 100644
--- a/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/AbstractRegressionTest.java
+++ b/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/AbstractRegressionTest.java
@@ -1402,7 +1402,13 @@
 		for (int i = 0; i < testFiles.length; i += 2) {
 			System.out.print(testFiles[i]);
 			System.out.println(" ["); //$NON-NLS-1$
-			System.out.println(testFiles[i + 1]);
+			String content = testFiles[i + 1];
+			if (content.length() > 10000) {
+				System.out.println(content.substring(0, 10000));
+				System.out.println("...(truncated)"); //$NON-NLS-1$
+			} else {
+				System.out.println(content);
+			}
 			System.out.println("]"); //$NON-NLS-1$
 		}
 	}
@@ -1417,7 +1423,13 @@
 	protected void printFiles(String[] testFiles) {
 		for (int i=0, length=testFiles.length; i<length; i++) {
 			System.out.println(testFiles[i++]);
-			System.out.println(testFiles[i]);
+			String content = testFiles[i];
+			if (content.length() > 10000) {
+				System.out.println(content.substring(0, 10000));
+				System.out.println("...(truncated)"); //$NON-NLS-1$
+			} else {
+				System.out.println(content);
+			}
 		}
 		System.out.println("");
 	}
@@ -2936,12 +2948,7 @@
 					if (execOutputString != null && execOutputString.length() > 0) {
 						System.out.println("[OUT]:"+execOutputString); //$NON-NLS-1$
 					}
-					for (int i = 0; i < testFiles.length; i += 2) {
-						System.out.print(testFiles[i]);
-						System.out.println(" ["); //$NON-NLS-1$
-						System.out.println(testFiles[i + 1]);
-						System.out.println("]"); //$NON-NLS-1$
-					}
+					logTestFiles(false, testFiles);
 					assertEquals(this.verifier.failureReason, expectedErrorString == null ? "" : expectedErrorString, execErrorString);
 					assertEquals(this.verifier.failureReason, expectedOutputString == null ? "" : expectedOutputString, execOutputString);
 				}