Lines 1887-1897
Link Here
|
1887 |
Label loopCond = new Label(this); |
1887 |
Label loopCond = new Label(this); |
1888 |
Label loopStart = new Label(this); |
1888 |
Label loopStart = new Label(this); |
1889 |
Label wrongConstant = new Label(this); |
1889 |
Label wrongConstant = new Label(this); |
1890 |
|
1890 |
|
1891 |
this.getstatic(enumValuesSyntheticfield); |
1891 |
this.getstatic(enumValuesSyntheticfield); |
1892 |
this.dup(); |
1892 |
this.dup(); |
1893 |
this.astore_1(); |
1893 |
this.astore_1(); |
1894 |
this.arraylength(); |
1894 |
this.arraylength(); |
|
|
1895 |
this.iconst_1(); |
1896 |
this.isub(); |
1895 |
this.istore_2(); |
1897 |
this.istore_2(); |
1896 |
this.goto_(loopCond); |
1898 |
this.goto_(loopCond); |
1897 |
loopStart.place(); |
1899 |
loopStart.place(); |
Lines 1901-1906
Link Here
|
1901 |
this.aaload(); |
1903 |
this.aaload(); |
1902 |
this.dup(); |
1904 |
this.dup(); |
1903 |
this.astore_3(); |
1905 |
this.astore_3(); |
|
|
1906 |
this.invokeJavaLangEnumname(this.classFile.referenceBinding); |
1904 |
this.invokeStringEquals(); |
1907 |
this.invokeStringEquals(); |
1905 |
this.ifeq(wrongConstant); |
1908 |
this.ifeq(wrongConstant); |
1906 |
this.aload_3(); |
1909 |
this.aload_3(); |
Lines 1909-1915
Link Here
|
1909 |
this.iinc(2, -1); |
1912 |
this.iinc(2, -1); |
1910 |
loopCond.place(); |
1913 |
loopCond.place(); |
1911 |
this.iload_2(); |
1914 |
this.iload_2(); |
1912 |
this.ifgt(loopStart); |
1915 |
this.ifge(loopStart); |
1913 |
this.newJavaLangIllegalArgumentException(); |
1916 |
this.newJavaLangIllegalArgumentException(); |
1914 |
this.dup(); |
1917 |
this.dup(); |
1915 |
this.aload_0(); |
1918 |
this.aload_0(); |
Lines 3307-3313
Link Here
|
3307 |
QualifiedNamesConstants.Init, |
3310 |
QualifiedNamesConstants.Init, |
3308 |
QualifiedNamesConstants.DefaultConstructorSignature); |
3311 |
QualifiedNamesConstants.DefaultConstructorSignature); |
3309 |
} |
3312 |
} |
3310 |
|
3313 |
public void invokeJavaLangEnumname(TypeBinding typeBinding) { |
|
|
3314 |
// invokevirtual: java.lang.Enum.name()String |
3315 |
if (DEBUG) System.out.println(position + "\t\tinvokevirtual: java.lang.Enum.name()Ljava/lang/String;"); //$NON-NLS-1$ |
3316 |
this.invoke( |
3317 |
OPC_invokevirtual, |
3318 |
0, |
3319 |
1, |
3320 |
typeBinding.constantPoolName(), |
3321 |
QualifiedNamesConstants.Name, |
3322 |
QualifiedNamesConstants.NameSignature); |
3323 |
} |
3311 |
public void invokeJavaLangIllegalArgumentExceptionStringConstructor() { |
3324 |
public void invokeJavaLangIllegalArgumentExceptionStringConstructor() { |
3312 |
// invokespecial: java.lang.IllegalArgumentException.<init>(String)V |
3325 |
// invokespecial: java.lang.IllegalArgumentException.<init>(String)V |
3313 |
if (DEBUG) System.out.println(position + "\t\tinvokespecial: java.lang.IllegalArgumentException.<init>(java.lang.String)V"); //$NON-NLS-1$ |
3326 |
if (DEBUG) System.out.println(position + "\t\tinvokespecial: java.lang.IllegalArgumentException.<init>(java.lang.String)V"); //$NON-NLS-1$ |