1.1 --- a/boot/src/main/java/org/netbeans/html/boot/impl/FnUtils.java Sat Nov 29 22:25:40 2014 +0100
1.2 +++ b/boot/src/main/java/org/netbeans/html/boot/impl/FnUtils.java Fri Dec 12 11:22:40 2014 +0100
1.3 @@ -296,6 +296,7 @@
1.4 // init Fn
1.5 super.visitInsn(Opcodes.POP);
1.6 super.visitLdcInsn(Type.getObjectType(FindInClass.this.name));
1.7 + super.visitInsn(fia.keepAlive ? Opcodes.ICONST_1 : Opcodes.ICONST_0);
1.8 super.visitLdcInsn(body);
1.9 super.visitIntInsn(Opcodes.SIPUSH, args.size());
1.10 super.visitTypeInsn(Opcodes.ANEWARRAY, "java/lang/String");
1.11 @@ -311,7 +312,7 @@
1.12 }
1.13 super.visitMethodInsn(Opcodes.INVOKESTATIC,
1.14 "org/netbeans/html/boot/spi/Fn", "define",
1.15 - "(Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/String;)Lorg/netbeans/html/boot/spi/Fn;"
1.16 + "(Ljava/lang/Class;ZLjava/lang/String;[Ljava/lang/String;)Lorg/netbeans/html/boot/spi/Fn;"
1.17 );
1.18 Label noPresenter = new Label();
1.19 super.visitInsn(Opcodes.DUP);
1.20 @@ -526,6 +527,7 @@
1.21 String body;
1.22 boolean javacall = false;
1.23 boolean wait4js = true;
1.24 + boolean keepAlive = false;
1.25
1.26 public FindInAnno() {
1.27 super(Opcodes.ASM4);
1.28 @@ -545,7 +547,11 @@
1.29 wait4js = (Boolean) value;
1.30 return;
1.31 }
1.32 - assert name.equals("body");
1.33 + if (name.equals("keepAlive")) { // NOI18N
1.34 + keepAlive = (Boolean) value;
1.35 + return;
1.36 + }
1.37 + assert name.equals("body"); // NOI18N
1.38 body = (String) value;
1.39 }
1.40