Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOlivier Thomann2005-11-09 12:25:03 -0500
committerOlivier Thomann2005-11-09 12:25:03 -0500
commit8d4c6e1c6c4bbed1ce86e17432fd480dd1f95b50 (patch)
treead5b6be1608040d881cb534a0e6b08629338895c
parent82bf3172623e551b5e2247bd1c04d6f6f5720443 (diff)
downloadeclipse.jdt.core-8d4c6e1c6c4bbed1ce86e17432fd480dd1f95b50.tar.gz
eclipse.jdt.core-8d4c6e1c6c4bbed1ce86e17432fd480dd1f95b50.tar.xz
eclipse.jdt.core-8d4c6e1c6c4bbed1ce86e17432fd480dd1f95b50.zip
3.0 maintenance - Fix for 115408
-rw-r--r--org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/XLargeTest.java686
-rw-r--r--org.eclipse.jdt.core/buildnotes_jdt-core.html4
-rw-r--r--org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/codegen/CodeStream.java4
3 files changed, 690 insertions, 4 deletions
diff --git a/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/XLargeTest.java b/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/XLargeTest.java
index b5c30cb5d6..8b655e51f4 100644
--- a/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/XLargeTest.java
+++ b/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/XLargeTest.java
@@ -1,5 +1,9 @@
package org.eclipse.jdt.core.tests.compiler.regression;
+import java.util.Map;
+
+import org.eclipse.jdt.internal.compiler.impl.CompilerOptions;
+
import junit.framework.Test;
import junit.framework.TestSuite;
@@ -1850,7 +1854,687 @@ public void test007() {
},
"SUCCESS");
}
-
+//https://bugs.eclipse.org/bugs/show_bug.cgi?id=115408
+public void test008() {
+ Map options = getCompilerOptions();
+ options.put(CompilerOptions.OPTION_LineNumberAttribute, CompilerOptions.DO_NOT_GENERATE);
+ options.put(CompilerOptions.OPTION_LocalVariableAttribute, CompilerOptions.DO_NOT_GENERATE);
+ options.put(CompilerOptions.OPTION_SourceFileAttribute, CompilerOptions.DO_NOT_GENERATE);
+ this.runConformTest(new String[] {
+ "X.java",
+ "public class X extends B implements IToken {\n" +
+ " public X( int t, int endOffset, char [] filename, int line ) {\n" +
+ " super( t, filename, line );\n" +
+ " setOffsetAndLength( endOffset );\n" +
+ " }\n" +
+ " protected int offset;\n" +
+ " public int getOffset() { \n" +
+ " return offset; \n" +
+ " }\n" +
+ " public int getLength() {\n" +
+ " return getCharImage().length;\n" +
+ " }\n" +
+ " protected void setOffsetAndLength( int endOffset ) {\n" +
+ " this.offset = endOffset - getLength();\n" +
+ " }\n" +
+ " public String foo() { \n" +
+ " switch ( getType() ) {\n" +
+ " case IToken.tCOLONCOLON :\n" +
+ " return \"::\" ; //$NON-NLS-1$\n" +
+ " case IToken.tCOLON :\n" +
+ " return \":\" ; //$NON-NLS-1$\n" +
+ " case IToken.tSEMI :\n" +
+ " return \";\" ; //$NON-NLS-1$\n" +
+ " case IToken.tCOMMA :\n" +
+ " return \",\" ; //$NON-NLS-1$\n" +
+ " case IToken.tQUESTION :\n" +
+ " return \"?\" ; //$NON-NLS-1$\n" +
+ " case IToken.tLPAREN :\n" +
+ " return \"(\" ; //$NON-NLS-1$\n" +
+ " case IToken.tRPAREN :\n" +
+ " return \")\" ; //$NON-NLS-1$\n" +
+ " case IToken.tLBRACKET :\n" +
+ " return \"[\" ; //$NON-NLS-1$\n" +
+ " case IToken.tRBRACKET :\n" +
+ " return \"]\" ; //$NON-NLS-1$\n" +
+ " case IToken.tLBRACE :\n" +
+ " return \"{\" ; //$NON-NLS-1$\n" +
+ " case IToken.tRBRACE :\n" +
+ " return \"}\"; //$NON-NLS-1$\n" +
+ " case IToken.tPLUSASSIGN :\n" +
+ " return \"+=\"; //$NON-NLS-1$\n" +
+ " case IToken.tINCR :\n" +
+ " return \"++\" ; //$NON-NLS-1$\n" +
+ " case IToken.tPLUS :\n" +
+ " return \"+\"; //$NON-NLS-1$\n" +
+ " case IToken.tMINUSASSIGN :\n" +
+ " return \"-=\" ; //$NON-NLS-1$\n" +
+ " case IToken.tDECR :\n" +
+ " return \"--\" ; //$NON-NLS-1$\n" +
+ " case IToken.tARROWSTAR :\n" +
+ " return \"->*\" ; //$NON-NLS-1$\n" +
+ " case IToken.tARROW :\n" +
+ " return \"->\" ; //$NON-NLS-1$\n" +
+ " case IToken.tMINUS :\n" +
+ " return \"-\" ; //$NON-NLS-1$\n" +
+ " case IToken.tSTARASSIGN :\n" +
+ " return \"*=\" ; //$NON-NLS-1$\n" +
+ " case IToken.tSTAR :\n" +
+ " return \"*\" ; //$NON-NLS-1$\n" +
+ " case IToken.tMODASSIGN :\n" +
+ " return \"%=\" ; //$NON-NLS-1$\n" +
+ " case IToken.tMOD :\n" +
+ " return \"%\" ; //$NON-NLS-1$\n" +
+ " case IToken.tXORASSIGN :\n" +
+ " return \"^=\" ; //$NON-NLS-1$\n" +
+ " case IToken.tXOR :\n" +
+ " return \"^\" ; //$NON-NLS-1$\n" +
+ " case IToken.tAMPERASSIGN :\n" +
+ " return \"&=\" ; //$NON-NLS-1$\n" +
+ " case IToken.tAND :\n" +
+ " return \"&&\" ; //$NON-NLS-1$\n" +
+ " case IToken.tAMPER :\n" +
+ " return \"&\" ; //$NON-NLS-1$\n" +
+ " case IToken.tBITORASSIGN :\n" +
+ " return \"|=\" ; //$NON-NLS-1$\n" +
+ " case IToken.tOR :\n" +
+ " return \"||\" ; //$NON-NLS-1$\n" +
+ " case IToken.tBITOR :\n" +
+ " return \"|\" ; //$NON-NLS-1$\n" +
+ " case IToken.tCOMPL :\n" +
+ " return \"~\" ; //$NON-NLS-1$\n" +
+ " case IToken.tNOTEQUAL :\n" +
+ " return \"!=\" ; //$NON-NLS-1$\n" +
+ " case IToken.tNOT :\n" +
+ " return \"!\" ; //$NON-NLS-1$\n" +
+ " case IToken.tEQUAL :\n" +
+ " return \"==\" ; //$NON-NLS-1$\n" +
+ " case IToken.tASSIGN :\n" +
+ " return \"=\" ; //$NON-NLS-1$\n" +
+ " case IToken.tSHIFTL :\n" +
+ " return \"<<\" ; //$NON-NLS-1$\n" +
+ " case IToken.tLTEQUAL :\n" +
+ " return \"<=\" ; //$NON-NLS-1$\n" +
+ " case IToken.tLT :\n" +
+ " return \"<\"; //$NON-NLS-1$\n" +
+ " case IToken.tSHIFTRASSIGN :\n" +
+ " return \">>=\" ; //$NON-NLS-1$\n" +
+ " case IToken.tSHIFTR :\n" +
+ " return \">>\" ; //$NON-NLS-1$\n" +
+ " case IToken.tGTEQUAL :\n" +
+ " return \">=\" ; //$NON-NLS-1$\n" +
+ " case IToken.tGT :\n" +
+ " return \">\" ; //$NON-NLS-1$\n" +
+ " case IToken.tSHIFTLASSIGN :\n" +
+ " return \"<<=\" ; //$NON-NLS-1$\n" +
+ " case IToken.tELLIPSIS :\n" +
+ " return \"...\" ; //$NON-NLS-1$\n" +
+ " case IToken.tDOTSTAR :\n" +
+ " return \".*\" ; //$NON-NLS-1$\n" +
+ " case IToken.tDOT :\n" +
+ " return \".\" ; //$NON-NLS-1$\n" +
+ " case IToken.tDIVASSIGN :\n" +
+ " return \"/=\" ; //$NON-NLS-1$\n" +
+ " case IToken.tDIV :\n" +
+ " return \"/\" ; //$NON-NLS-1$\n" +
+ " case IToken.t_and :\n" +
+ " return Keywords.AND;\n" +
+ " case IToken.t_and_eq :\n" +
+ " return Keywords.AND_EQ ;\n" +
+ " case IToken.t_asm :\n" +
+ " return Keywords.ASM ;\n" +
+ " case IToken.t_auto :\n" +
+ " return Keywords.AUTO ;\n" +
+ " case IToken.t_bitand :\n" +
+ " return Keywords.BITAND ;\n" +
+ " case IToken.t_bitor :\n" +
+ " return Keywords.BITOR ;\n" +
+ " case IToken.t_bool :\n" +
+ " return Keywords.BOOL ;\n" +
+ " case IToken.t_break :\n" +
+ " return Keywords.BREAK ;\n" +
+ " case IToken.t_case :\n" +
+ " return Keywords.CASE ;\n" +
+ " case IToken.t_catch :\n" +
+ " return Keywords.CATCH ;\n" +
+ " case IToken.t_char :\n" +
+ " return Keywords.CHAR ;\n" +
+ " case IToken.t_class :\n" +
+ " return Keywords.CLASS ;\n" +
+ " case IToken.t_compl :\n" +
+ " return Keywords.COMPL ;\n" +
+ " case IToken.t_const :\n" +
+ " return Keywords.CONST ;\n" +
+ " case IToken.t_const_cast :\n" +
+ " return Keywords.CONST_CAST ;\n" +
+ " case IToken.t_continue :\n" +
+ " return Keywords.CONTINUE ;\n" +
+ " case IToken.t_default :\n" +
+ " return Keywords.DEFAULT ;\n" +
+ " case IToken.t_delete :\n" +
+ " return Keywords.DELETE ;\n" +
+ " case IToken.t_do :\n" +
+ " return Keywords.DO;\n" +
+ " case IToken.t_double :\n" +
+ " return Keywords.DOUBLE ;\n" +
+ " case IToken.t_dynamic_cast :\n" +
+ " return Keywords.DYNAMIC_CAST ;\n" +
+ " case IToken.t_else :\n" +
+ " return Keywords.ELSE;\n" +
+ " case IToken.t_enum :\n" +
+ " return Keywords.ENUM ;\n" +
+ " case IToken.t_explicit :\n" +
+ " return Keywords.EXPLICIT ;\n" +
+ " case IToken.t_export :\n" +
+ " return Keywords.EXPORT ;\n" +
+ " case IToken.t_extern :\n" +
+ " return Keywords.EXTERN;\n" +
+ " case IToken.t_false :\n" +
+ " return Keywords.FALSE;\n" +
+ " case IToken.t_float :\n" +
+ " return Keywords.FLOAT;\n" +
+ " case IToken.t_for :\n" +
+ " return Keywords.FOR;\n" +
+ " case IToken.t_friend :\n" +
+ " return Keywords.FRIEND;\n" +
+ " case IToken.t_goto :\n" +
+ " return Keywords.GOTO;\n" +
+ " case IToken.t_if :\n" +
+ " return Keywords.IF ;\n" +
+ " case IToken.t_inline :\n" +
+ " return Keywords.INLINE ;\n" +
+ " case IToken.t_int :\n" +
+ " return Keywords.INT ;\n" +
+ " case IToken.t_long :\n" +
+ " return Keywords.LONG ;\n" +
+ " case IToken.t_mutable :\n" +
+ " return Keywords.MUTABLE ;\n" +
+ " case IToken.t_namespace :\n" +
+ " return Keywords.NAMESPACE ;\n" +
+ " case IToken.t_new :\n" +
+ " return Keywords.NEW ;\n" +
+ " case IToken.t_not :\n" +
+ " return Keywords.NOT ;\n" +
+ " case IToken.t_not_eq :\n" +
+ " return Keywords.NOT_EQ; \n" +
+ " case IToken.t_operator :\n" +
+ " return Keywords.OPERATOR ;\n" +
+ " case IToken.t_or :\n" +
+ " return Keywords.OR ;\n" +
+ " case IToken.t_or_eq :\n" +
+ " return Keywords.OR_EQ;\n" +
+ " case IToken.t_private :\n" +
+ " return Keywords.PRIVATE ;\n" +
+ " case IToken.t_protected :\n" +
+ " return Keywords.PROTECTED ;\n" +
+ " case IToken.t_public :\n" +
+ " return Keywords.PUBLIC ;\n" +
+ " case IToken.t_register :\n" +
+ " return Keywords.REGISTER ;\n" +
+ " case IToken.t_reinterpret_cast :\n" +
+ " return Keywords.REINTERPRET_CAST ;\n" +
+ " case IToken.t_return :\n" +
+ " return Keywords.RETURN ;\n" +
+ " case IToken.t_short :\n" +
+ " return Keywords.SHORT ;\n" +
+ " case IToken.t_sizeof :\n" +
+ " return Keywords.SIZEOF ;\n" +
+ " case IToken.t_static :\n" +
+ " return Keywords.STATIC ;\n" +
+ " case IToken.t_static_cast :\n" +
+ " return Keywords.STATIC_CAST ;\n" +
+ " case IToken.t_signed :\n" +
+ " return Keywords.SIGNED ;\n" +
+ " case IToken.t_struct :\n" +
+ " return Keywords.STRUCT ;\n" +
+ " case IToken.t_switch :\n" +
+ " return Keywords.SWITCH ;\n" +
+ " case IToken.t_template :\n" +
+ " return Keywords.TEMPLATE ;\n" +
+ " case IToken.t_this :\n" +
+ " return Keywords.THIS ;\n" +
+ " case IToken.t_throw :\n" +
+ " return Keywords.THROW ;\n" +
+ " case IToken.t_true :\n" +
+ " return Keywords.TRUE ;\n" +
+ " case IToken.t_try :\n" +
+ " return Keywords.TRY ;\n" +
+ " case IToken.t_typedef :\n" +
+ " return Keywords.TYPEDEF ;\n" +
+ " case IToken.t_typeid :\n" +
+ " return Keywords.TYPEID ;\n" +
+ " case IToken.t_typename :\n" +
+ " return Keywords.TYPENAME ;\n" +
+ " case IToken.t_union :\n" +
+ " return Keywords.UNION ;\n" +
+ " case IToken.t_unsigned :\n" +
+ " return Keywords.UNSIGNED ;\n" +
+ " case IToken.t_using :\n" +
+ " return Keywords.USING ;\n" +
+ " case IToken.t_virtual :\n" +
+ " return Keywords.VIRTUAL ;\n" +
+ " case IToken.t_void :\n" +
+ " return Keywords.VOID ;\n" +
+ " case IToken.t_volatile :\n" +
+ " return Keywords.VOLATILE;\n" +
+ " case IToken.t_wchar_t :\n" +
+ " return Keywords.WCHAR_T ;\n" +
+ " case IToken.t_while :\n" +
+ " return Keywords.WHILE ;\n" +
+ " case IToken.t_xor :\n" +
+ " return Keywords.XOR ;\n" +
+ " case IToken.t_xor_eq :\n" +
+ " return Keywords.XOR_EQ ;\n" +
+ " case IToken.t__Bool :\n" +
+ " return Keywords._BOOL ;\n" +
+ " case IToken.t__Complex :\n" +
+ " return Keywords._COMPLEX ;\n" +
+ " case IToken.t__Imaginary :\n" +
+ " return Keywords._IMAGINARY ;\n" +
+ " case IToken.t_restrict :\n" +
+ " return Keywords.RESTRICT ;\n" +
+ " case IScanner.tPOUND:\n" +
+ " return \"#\"; //$NON-NLS-1$\n" +
+ " case IScanner.tPOUNDPOUND:\n" +
+ " return \"##\"; //$NON-NLS-1$\n" +
+ " case IToken.tEOC:\n" +
+ " return \"EOC\"; //$NON-NLS-1$\n" +
+ " default :\n" +
+ " return \"\"; //$NON-NLS-1$ \n" +
+ " } \n" +
+ " }\n" +
+ " public char[] getCharImage() {\n" +
+ " return getCharImage( getType() );\n" +
+ " }\n" +
+ " static public char[] getCharImage( int type ){\n" +
+ " return null;\n" +
+ " }\n" +
+ " public static void main(String[] args) {\n" +
+ " System.out.println(\"SUCCESS\");\n" +
+ " }\n" +
+ "}\n" +
+ "interface IToken {\n" +
+ " static public final int tIDENTIFIER = 1;\n" +
+ " static public final int tINTEGER = 2;\n" +
+ " static public final int tCOLONCOLON = 3;\n" +
+ " static public final int tCOLON = 4;\n" +
+ " static public final int tSEMI = 5;\n" +
+ " static public final int tCOMMA = 6;\n" +
+ " static public final int tQUESTION = 7;\n" +
+ " static public final int tLPAREN = 8;\n" +
+ " static public final int tRPAREN = 9;\n" +
+ " static public final int tLBRACKET = 10;\n" +
+ " static public final int tRBRACKET = 11;\n" +
+ " static public final int tLBRACE = 12;\n" +
+ " static public final int tRBRACE = 13;\n" +
+ " static public final int tPLUSASSIGN = 14;\n" +
+ " static public final int tINCR = 15;\n" +
+ " static public final int tPLUS = 16;\n" +
+ " static public final int tMINUSASSIGN = 17;\n" +
+ " static public final int tDECR = 18;\n" +
+ " static public final int tARROWSTAR = 19;\n" +
+ " static public final int tARROW = 20;\n" +
+ " static public final int tMINUS = 21;\n" +
+ " static public final int tSTARASSIGN = 22;\n" +
+ " static public final int tSTAR = 23;\n" +
+ " static public final int tMODASSIGN = 24;\n" +
+ " static public final int tMOD = 25;\n" +
+ " static public final int tXORASSIGN = 26;\n" +
+ " static public final int tXOR = 27;\n" +
+ " static public final int tAMPERASSIGN = 28;\n" +
+ " static public final int tAND = 29;\n" +
+ " static public final int tAMPER = 30;\n" +
+ " static public final int tBITORASSIGN = 31;\n" +
+ " static public final int tOR = 32;\n" +
+ " static public final int tBITOR = 33;\n" +
+ " static public final int tCOMPL = 34;\n" +
+ " static public final int tNOTEQUAL = 35;\n" +
+ " static public final int tNOT = 36;\n" +
+ " static public final int tEQUAL = 37;\n" +
+ " static public final int tASSIGN = 38;\n" +
+ " static public final int tSHIFTL = 40;\n" +
+ " static public final int tLTEQUAL = 41;\n" +
+ " static public final int tLT = 42;\n" +
+ " static public final int tSHIFTRASSIGN = 43;\n" +
+ " static public final int tSHIFTR = 44;\n" +
+ " static public final int tGTEQUAL = 45;\n" +
+ " static public final int tGT = 46;\n" +
+ " static public final int tSHIFTLASSIGN = 47;\n" +
+ " static public final int tELLIPSIS = 48;\n" +
+ " static public final int tDOTSTAR = 49;\n" +
+ " static public final int tDOT = 50;\n" +
+ " static public final int tDIVASSIGN = 51;\n" +
+ " static public final int tDIV = 52;\n" +
+ " static public final int t_and = 54;\n" +
+ " static public final int t_and_eq = 55;\n" +
+ " static public final int t_asm = 56;\n" +
+ " static public final int t_auto = 57;\n" +
+ " static public final int t_bitand = 58;\n" +
+ " static public final int t_bitor = 59;\n" +
+ " static public final int t_bool = 60;\n" +
+ " static public final int t_break = 61;\n" +
+ " static public final int t_case = 62;\n" +
+ " static public final int t_catch = 63;\n" +
+ " static public final int t_char = 64;\n" +
+ " static public final int t_class = 65;\n" +
+ " static public final int t_compl = 66;\n" +
+ " static public final int t_const = 67;\n" +
+ " static public final int t_const_cast = 69;\n" +
+ " static public final int t_continue = 70;\n" +
+ " static public final int t_default = 71;\n" +
+ " static public final int t_delete = 72;\n" +
+ " static public final int t_do = 73;\n" +
+ " static public final int t_double = 74;\n" +
+ " static public final int t_dynamic_cast = 75;\n" +
+ " static public final int t_else = 76;\n" +
+ " static public final int t_enum = 77;\n" +
+ " static public final int t_explicit = 78;\n" +
+ " static public final int t_export = 79;\n" +
+ " static public final int t_extern = 80;\n" +
+ " static public final int t_false = 81;\n" +
+ " static public final int t_float = 82;\n" +
+ " static public final int t_for = 83;\n" +
+ " static public final int t_friend = 84;\n" +
+ " static public final int t_goto = 85;\n" +
+ " static public final int t_if = 86;\n" +
+ " static public final int t_inline = 87;\n" +
+ " static public final int t_int = 88;\n" +
+ " static public final int t_long = 89;\n" +
+ " static public final int t_mutable = 90;\n" +
+ " static public final int t_namespace = 91;\n" +
+ " static public final int t_new = 92;\n" +
+ " static public final int t_not = 93;\n" +
+ " static public final int t_not_eq = 94;\n" +
+ " static public final int t_operator = 95;\n" +
+ " static public final int t_or = 96;\n" +
+ " static public final int t_or_eq = 97;\n" +
+ " static public final int t_private = 98;\n" +
+ " static public final int t_protected = 99;\n" +
+ " static public final int t_public = 100;\n" +
+ " static public final int t_register = 101;\n" +
+ " static public final int t_reinterpret_cast = 102;\n" +
+ " static public final int t_return = 103;\n" +
+ " static public final int t_short = 104;\n" +
+ " static public final int t_sizeof = 105;\n" +
+ " static public final int t_static = 106;\n" +
+ " static public final int t_static_cast = 107;\n" +
+ " static public final int t_signed = 108;\n" +
+ " static public final int t_struct = 109;\n" +
+ " static public final int t_switch = 110;\n" +
+ " static public final int t_template = 111;\n" +
+ " static public final int t_this = 112;\n" +
+ " static public final int t_throw = 113;\n" +
+ " static public final int t_true = 114;\n" +
+ " static public final int t_try = 115;\n" +
+ " static public final int t_typedef = 116;\n" +
+ " static public final int t_typeid = 117;\n" +
+ " static public final int t_typename = 118;\n" +
+ " static public final int t_union = 119;\n" +
+ " static public final int t_unsigned = 120;\n" +
+ " static public final int t_using = 121;\n" +
+ " static public final int t_virtual = 122;\n" +
+ " static public final int t_void = 123;\n" +
+ " static public final int t_volatile = 124;\n" +
+ " static public final int t_wchar_t = 125;\n" +
+ " static public final int t_while = 126;\n" +
+ " static public final int t_xor = 127;\n" +
+ " static public final int t_xor_eq = 128;\n" +
+ " static public final int tFLOATINGPT = 129;\n" +
+ " static public final int tSTRING = 130;\n" +
+ " static public final int tLSTRING = 131;\n" +
+ " static public final int tCHAR = 132;\n" +
+ " static public final int tLCHAR = 133;\n" +
+ " static public final int t__Bool = 134;\n" +
+ " static public final int t__Complex = 135;\n" +
+ " static public final int t__Imaginary = 136;\n" +
+ " static public final int t_restrict = 137;\n" +
+ " static public final int tMACROEXP = 138;\n" +
+ " static public final int tPOUNDPOUND = 139;\n" +
+ " static public final int tCOMPLETION = 140;\n" +
+ " static public final int tEOC = 141; // End of Completion\\n\" + \n" +
+ " static public final int tLAST = 141;\n" +
+ "}\n" +
+ "class Keywords {\n" +
+ " public static final String CAST = \"cast\"; //$NON-NLS-1$\n" +
+ " public static final String ALIGNOF = \"alignof\"; //$NON-NLS-1$\n" +
+ " public static final String TYPEOF = \"typeof\"; //$NON-NLS-1$\n" +
+ " public static final String cpMIN = \"<?\"; //$NON-NLS-1$\n" +
+ " public static final String cpMAX = \">?\"; //$NON-NLS-1$\n" +
+ " public static final String _BOOL = \"_Bool\"; //$NON-NLS-1$\n" +
+ " public static final String _COMPLEX = \"_Complex\"; //$NON-NLS-1$\n" +
+ " public static final String _IMAGINARY = \"_Imaginary\"; //$NON-NLS-1$\n" +
+ " public static final String AND = \"and\"; //$NON-NLS-1$\n" +
+ " public static final String AND_EQ = \"and_eq\"; //$NON-NLS-1$\n" +
+ " public static final String ASM = \"asm\"; //$NON-NLS-1$\n" +
+ " public static final String AUTO = \"auto\"; //$NON-NLS-1$\n" +
+ " public static final String BITAND = \"bitand\"; //$NON-NLS-1$\n" +
+ " public static final String BITOR = \"bitor\"; //$NON-NLS-1$\n" +
+ " public static final String BOOL = \"bool\"; //$NON-NLS-1$\n" +
+ " public static final String BREAK = \"break\"; //$NON-NLS-1$\n" +
+ " public static final String CASE = \"case\"; //$NON-NLS-1$\n" +
+ " public static final String CATCH = \"catch\"; //$NON-NLS-1$\n" +
+ " public static final String CHAR = \"char\"; //$NON-NLS-1$\n" +
+ " public static final String CLASS = \"class\"; //$NON-NLS-1$\n" +
+ " public static final String COMPL = \"compl\"; //$NON-NLS-1$\n" +
+ " public static final String CONST = \"const\"; //$NON-NLS-1$\n" +
+ " public static final String CONST_CAST = \"const_cast\"; //$NON-NLS-1$\n" +
+ " public static final String CONTINUE = \"continue\"; //$NON-NLS-1$\n" +
+ " public static final String DEFAULT = \"default\"; //$NON-NLS-1$\n" +
+ " public static final String DELETE = \"delete\"; //$NON-NLS-1$\n" +
+ " public static final String DO = \"do\"; //$NON-NLS-1$\n" +
+ " public static final String DOUBLE = \"double\"; //$NON-NLS-1$\n" +
+ " public static final String DYNAMIC_CAST = \"dynamic_cast\"; //$NON-NLS-1$\n" +
+ " public static final String ELSE = \"else\"; //$NON-NLS-1$\n" +
+ " public static final String ENUM = \"enum\"; //$NON-NLS-1$\n" +
+ " public static final String EXPLICIT = \"explicit\"; //$NON-NLS-1$\n" +
+ " public static final String EXPORT = \"export\"; //$NON-NLS-1$\n" +
+ " public static final String EXTERN = \"extern\"; //$NON-NLS-1$\n" +
+ " public static final String FALSE = \"false\"; //$NON-NLS-1$\n" +
+ " public static final String FLOAT = \"float\"; //$NON-NLS-1$\n" +
+ " public static final String FOR = \"for\"; //$NON-NLS-1$\n" +
+ " public static final String FRIEND = \"friend\"; //$NON-NLS-1$\n" +
+ " public static final String GOTO = \"goto\"; //$NON-NLS-1$\n" +
+ " public static final String IF = \"if\"; //$NON-NLS-1$\n" +
+ " public static final String INLINE = \"inline\"; //$NON-NLS-1$\n" +
+ " public static final String INT = \"int\"; //$NON-NLS-1$\n" +
+ " public static final String LONG = \"long\"; //$NON-NLS-1$\n" +
+ " public static final String LONG_LONG = \"long long\"; //$NON-NLS-1$\n" +
+ " public static final String MUTABLE = \"mutable\"; //$NON-NLS-1$\n" +
+ " public static final String NAMESPACE = \"namespace\"; //$NON-NLS-1$\n" +
+ " public static final String NEW = \"new\"; //$NON-NLS-1$\n" +
+ " public static final String NOT = \"not\"; //$NON-NLS-1$\n" +
+ " public static final String NOT_EQ = \"not_eq\"; //$NON-NLS-1$\n" +
+ " public static final String OPERATOR = \"operator\"; //$NON-NLS-1$\n" +
+ " public static final String OR = \"or\"; //$NON-NLS-1$\n" +
+ " public static final String OR_EQ = \"or_eq\"; //$NON-NLS-1$\n" +
+ " public static final String PRIVATE = \"private\"; //$NON-NLS-1$\n" +
+ " public static final String PROTECTED = \"protected\"; //$NON-NLS-1$\n" +
+ " public static final String PUBLIC = \"public\"; //$NON-NLS-1$\n" +
+ " public static final String REGISTER = \"register\"; //$NON-NLS-1$\n" +
+ " public static final String REINTERPRET_CAST = \"reinterpret_cast\"; //$NON-NLS-1$\n" +
+ " public static final String RESTRICT = \"restrict\"; //$NON-NLS-1$\n" +
+ " public static final String RETURN = \"return\"; //$NON-NLS-1$\n" +
+ " public static final String SHORT = \"short\"; //$NON-NLS-1$\n" +
+ " public static final String SIGNED = \"signed\"; //$NON-NLS-1$\n" +
+ " public static final String SIZEOF = \"sizeof\"; //$NON-NLS-1$\n" +
+ " public static final String STATIC = \"static\"; //$NON-NLS-1$\n" +
+ " public static final String STATIC_CAST = \"static_cast\"; //$NON-NLS-1$\n" +
+ " public static final String STRUCT = \"struct\"; //$NON-NLS-1$\n" +
+ " public static final String SWITCH = \"switch\"; //$NON-NLS-1$\n" +
+ " public static final String TEMPLATE = \"template\"; //$NON-NLS-1$\n" +
+ " public static final String THIS = \"this\"; //$NON-NLS-1$\n" +
+ " public static final String THROW = \"throw\"; //$NON-NLS-1$\n" +
+ " public static final String TRUE = \"true\"; //$NON-NLS-1$\n" +
+ " public static final String TRY = \"try\"; //$NON-NLS-1$\n" +
+ " public static final String TYPEDEF = \"typedef\"; //$NON-NLS-1$\n" +
+ " public static final String TYPEID = \"typeid\"; //$NON-NLS-1$\n" +
+ " public static final String TYPENAME = \"typename\"; //$NON-NLS-1$\n" +
+ " public static final String UNION = \"union\"; //$NON-NLS-1$\n" +
+ " public static final String UNSIGNED = \"unsigned\"; //$NON-NLS-1$\n" +
+ " public static final String USING = \"using\"; //$NON-NLS-1$\n" +
+ " public static final String VIRTUAL = \"virtual\"; //$NON-NLS-1$\n" +
+ " public static final String VOID = \"void\"; //$NON-NLS-1$\n" +
+ " public static final String VOLATILE = \"volatile\"; //$NON-NLS-1$\n" +
+ " public static final String WCHAR_T = \"wchar_t\"; //$NON-NLS-1$\n" +
+ " public static final String WHILE = \"while\"; //$NON-NLS-1$\n" +
+ " public static final String XOR = \"xor\"; //$NON-NLS-1$\n" +
+ " public static final String XOR_EQ = \"xor_eq\"; //$NON-NLS-1$\n" +
+ " public static final char[] c_BOOL = \"_Bool\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] c_COMPLEX = \"_Complex\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] c_IMAGINARY = \"_Imaginary\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cAND = \"and\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cAND_EQ = \"and_eq\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cASM = \"asm\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cAUTO = \"auto\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cBITAND = \"bitand\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cBITOR = \"bitor\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cBOOL = \"bool\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cBREAK = \"break\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cCASE = \"case\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cCATCH = \"catch\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cCHAR = \"char\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cCLASS = \"class\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cCOMPL = \"compl\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cCONST = \"const\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cCONST_CAST = \"const_cast\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cCONTINUE = \"continue\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cDEFAULT = \"default\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cDELETE = \"delete\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cDO = \"do\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cDOUBLE = \"double\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cDYNAMIC_CAST = \"dynamic_cast\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cELSE = \"else\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cENUM = \"enum\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cEXPLICIT = \"explicit\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cEXPORT = \"export\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cEXTERN = \"extern\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cFALSE = \"false\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cFLOAT = \"float\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cFOR = \"for\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cFRIEND = \"friend\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cGOTO = \"goto\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cIF = \"if\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cINLINE = \"inline\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cINT = \"int\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cLONG = \"long\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cMUTABLE = \"mutable\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cNAMESPACE = \"namespace\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cNEW = \"new\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cNOT = \"not\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cNOT_EQ = \"not_eq\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cOPERATOR = \"operator\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cOR = \"or\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cOR_EQ = \"or_eq\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cPRIVATE = \"private\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cPROTECTED = \"protected\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cPUBLIC = \"public\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cREGISTER = \"register\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cREINTERPRET_CAST = \"reinterpret_cast\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cRESTRICT = \"restrict\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cRETURN = \"return\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cSHORT = \"short\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cSIGNED = \"signed\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cSIZEOF = \"sizeof\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cSTATIC = \"static\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cSTATIC_CAST = \"static_cast\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cSTRUCT = \"struct\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cSWITCH = \"switch\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cTEMPLATE = \"template\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cTHIS = \"this\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cTHROW = \"throw\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cTRUE = \"true\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cTRY = \"try\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cTYPEDEF = \"typedef\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cTYPEID = \"typeid\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cTYPENAME = \"typename\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cUNION = \"union\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cUNSIGNED = \"unsigned\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cUSING = \"using\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cVIRTUAL = \"virtual\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cVOID = \"void\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cVOLATILE = \"volatile\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cWCHAR_T = \"wchar_t\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cWHILE = \"while\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cXOR = \"xor\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cXOR_EQ = \"xor_eq\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cpCOLONCOLON = \"::\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cpCOLON = \":\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cpSEMI = \";\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cpCOMMA = \",\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cpQUESTION = \"?\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cpLPAREN = \"(\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cpRPAREN = \")\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cpLBRACKET = \"[\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cpRBRACKET = \"]\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cpLBRACE = \"{\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cpRBRACE = \"}\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cpPLUSASSIGN = \"+=\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cpINCR = \"++\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cpPLUS = \"+\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cpMINUSASSIGN = \"-=\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cpDECR = \"--\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cpARROWSTAR = \"->*\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cpARROW = \"->\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cpMINUS = \"-\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cpSTARASSIGN = \"*=\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cpSTAR = \"*\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cpMODASSIGN = \"%=\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cpMOD = \"%\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cpXORASSIGN = \"^=\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cpXOR = \"^\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cpAMPERASSIGN = \"&=\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cpAND = \"&&\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cpAMPER = \"&\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cpBITORASSIGN = \"|=\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cpOR = \"||\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cpBITOR = \"|\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cpCOMPL = \"~\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cpNOTEQUAL = \"!=\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cpNOT = \"!\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cpEQUAL = \"==\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cpASSIGN =\"=\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cpSHIFTL = \"<<\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cpLTEQUAL = \"<=\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cpLT = \"<\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cpSHIFTRASSIGN = \">>=\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cpSHIFTR = \">>\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cpGTEQUAL = \">=\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cpGT = \">\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cpSHIFTLASSIGN = \"<<=\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cpELLIPSIS = \"...\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cpDOTSTAR = \".*\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cpDOT = \".\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cpDIVASSIGN = \"/=\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cpDIV = \"/\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cpPOUND = \"#\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cpPOUNDPOUND = \"##\".toCharArray(); //$NON-NLS-1$\n" +
+ " // preprocessor keywords\\n\" + \n" +
+ " public static final char[] cIFDEF = \"ifdef\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cIFNDEF = \"ifndef\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cELIF = \"elif\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cENDIF = \"endif\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cINCLUDE = \"include\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cDEFINE = \"define\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cUNDEF = \"undef\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cERROR = \"error\".toCharArray(); //$NON-NLS-1$\n" +
+ " public static final char[] cINCLUDE_NEXT = \"include_next\".toCharArray(); //$NON-NLS-1$\n" +
+ "}\n" +
+ "interface IScanner {\n" +
+ " public static final int tPOUNDPOUND = -6;\n" +
+ " public static final int tPOUND = -7;\n" +
+ "}\n" +
+ "abstract class B {\n" +
+ " public B( int type, char [] filename, int lineNumber ) {\n" +
+ " }\n" +
+ " public int getType() { return 0; }\n" +
+ "}",
+ },
+ "SUCCESS",
+ null,
+ true,
+ null,
+ options);
+}
public static Class testClass() {
return XLargeTest.class;
}
diff --git a/org.eclipse.jdt.core/buildnotes_jdt-core.html b/org.eclipse.jdt.core/buildnotes_jdt-core.html
index ee571f21f7..80fea9f866 100644
--- a/org.eclipse.jdt.core/buildnotes_jdt-core.html
+++ b/org.eclipse.jdt.core/buildnotes_jdt-core.html
@@ -56,7 +56,9 @@ What's new in this drop</h2>
</ul>
<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=114855">114855</a>
+<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=115408">115408</a>
+[compiler] ArrayIndexOutOfBoundsException in CodeStream.java
+<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=114855">114855</a>
[compiler] OutOfMemoryError compiling deeply nested try-catch
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=88351">88351</a>
Compiler dependency problem in 2.1.3 &amp; the latest 3.0.2 build
diff --git a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/codegen/CodeStream.java b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/codegen/CodeStream.java
index 4d7a6ef338..4bb4bbdb30 100644
--- a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/codegen/CodeStream.java
+++ b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/codegen/CodeStream.java
@@ -4682,8 +4682,8 @@ public void resetForProblemClinit(ClassFile targetClassFile) {
private final void resizeByteArray() {
int length = bCodeStream.length;
int requiredSize = length + length;
- if (classFileOffset > requiredSize) {
- // must be sure to grow by enough
+ if (classFileOffset >= requiredSize) {
+ // must be sure to grow enough
requiredSize = classFileOffset + length;
}
System.arraycopy(bCodeStream, 0, bCodeStream = new byte[requiredSize], 0, length);

Back to the top