| Constants.INDEXED;
Constants.instExcs[Constants.INVOKEVIRTUAL] = ExceptionConstants.EXCS_INTERFACE_METHOD_RESOLUTION_INVOKESPECIAL_INVOKEVIRTUAL;
+ //@formatter:off
char[] lengths = // . = varies in length, / = undefined
("1111111111111111" + // nop > dconst_1
- "2323322222111111" + // bipush > lload_1
- "1111111111111111" + // lload_2 > laload
- "1111112222211111" + // faload > lstore_0
- "1111111111111111" + // lstore_1 > iastore
- "1111111111111111" + // lastore > swap
- "1111111111111111" + // iadd > ddiv
- "1111111111111111" + // irem > land
- "1111311111111111" + // ior > d2l
- "1111111113333333" + // d2f > if_icmpeq
- "3333333332..1111" + // if_icmpne > dreturn
- "1133333335/32311" + // areturn > athrow
- "3311.433551/////").toCharArray(); // checkcast >
+ "2323322222111111" + // bipush > lload_1
+ "1111111111111111" + // lload_2 > laload
+ "1111112222211111" + // faload > lstore_0
+ "1111111111111111" + // lstore_1 > iastore
+ "1111111111111111" + // lastore > swap
+ "1111111111111111" + // iadd > ddiv
+ "1111111111111111" + // irem > land
+ "1111311111111111" + // ior > d2l
+ "1111111113333333" + // d2f > if_icmpeq
+ "3333333332..1111" + // if_icmpne > dreturn
+ "1133333335532311" + // areturn > athrow
+ "3311.433551/////").toCharArray(); // checkcast >
+ //@formatter:on
int count = 0;
for (; count < lengths.length; count++) {
Constants.iLen[count] = (byte) (lengths[count] - 48);
"1212021211212212" + // ior > d2l
"1111111110000000" + // d2f > if_icmpeq
"0000000010000000" + // if_icmpne > dreturn
- "00.0.0..../11111" + // areturn > athrow
+ "00.0.0.....11111" + // areturn > athrow
"11000100010/").toCharArray(); // checkcast >
count = 0;
for (; count < producesOnStack.length; count++) {
--- /dev/null
+package de.scrum_master.app;
+
+import java.util.HashMap;
+import java.util.Map;
+
+public class Application {
+ static Map/*<String, Map<Integer, String>>*/ languages = new HashMap<>();
+
+ static {
+ Map<Integer, String> englishNumbers = new HashMap<>();
+ englishNumbers.put(11, "eleven");
+ englishNumbers.put(12, "twelve");
+ englishNumbers.put(13, "thirteen");
+ languages.put("EN", englishNumbers);
+
+ Map<Integer, String> germanNumbers = new HashMap<>();
+ germanNumbers.put(11, "elf");
+ germanNumbers.put(12, "zwölf");
+ germanNumbers.put(13, "dreizehn");
+ languages.put("DE", germanNumbers);
+
+
+ }
+
+ public static void main(String[] args) {
+ languages.entrySet().stream().forEach((language) -> {
+// String languageCode = language.getKey();
+ Map/*<Integer, String>*/ numbers = (Map)((Map.Entry)language).getValue();
+// System.out.println("Language code = " + languageCode);
+ numbers.entrySet().stream().forEach((number) -> {
+// int numericValue = number.getKey();
+// String textualValue = number.getValue();
+// System.out.println(" " + numericValue + " -> " + textualValue);
+ });
+ });
+ }
+}
--- /dev/null
+package de.scrum_master.aspect;
+
+import de.scrum_master.app.Application;
+
+public aspect MyAspect {
+ before() : execution(* Application.lambda$0(..)) {
+// System.out.println(thisJoinPointStaticPart);
+ }
+}
*/
public class Ajc181Tests extends org.aspectj.testing.XMLBasedAjcTestCase {
+ public void testLvarTable_435446() throws Exception {
+ runTest("lvartable");
+ }
+
public void testBrokenAnnotations_377096() throws Exception {
runTest("broken annotations");
Method method = getMethodFromClass(getClassFrom(ajc.getSandboxDirectory(), "C"), "xxx");
<suite>
+ <ajc-test dir="bugs181/435446" title="lvartable">
+ <compile options="-1.8" files="Application.java MyAspect.java">
+ </compile>
+ <run class="de.scrum_master.app.Application">
+ </run>
+ </ajc-test>
+
<ajc-test dir="bugs181/377096" title="broken annotations">
<compile options="-1.5 -proceedOnError" files="A.java">
<message kind="error" text="The attribute wibble is undefined for the annotation type A"/>