@@ -589,52 +589,57 @@ private String getPrimitiveFromClass(String clazz) {
589
589
}
590
590
591
591
private class MyInterpreter extends BasicInterpreter
592
- {
593
- @ Override
594
- public BasicValue newValue (final Type type )
595
- {
596
- if (type == null )
597
- return new BasicValue (Type .getType ("Ljava/lang/Object;" ));
598
- switch (type .getSort ())
599
- {
600
- case Type .VOID :
601
- return null ;
602
- case Type .BOOLEAN :
603
- case Type .CHAR :
604
- case Type .BYTE :
605
- case Type .SHORT :
606
- case Type .INT :
607
- return BasicValue .INT_VALUE ;
608
- case Type .FLOAT :
609
- return BasicValue .FLOAT_VALUE ;
610
- case Type .LONG :
611
- return BasicValue .LONG_VALUE ;
612
- case Type .DOUBLE :
613
- return BasicValue .DOUBLE_VALUE ;
614
- case Type .ARRAY :
615
- case Type .OBJECT :
616
- return new BasicValue (type );
617
- default :
618
- throw new Error ("Internal error" );
619
- }
620
- }
621
-
622
- @ Override
623
- public BasicValue binaryOperation (final AbstractInsnNode insn ,
624
- final BasicValue value1 , final BasicValue value2 )
625
- throws AnalyzerException
626
- {
627
- if (insn .getOpcode () == Opcodes .AALOAD )
628
- return new BasicValue (value1 .getType ().getElementType ());
629
- return super .binaryOperation (insn , value1 , value2 );
630
- }
631
-
632
- @ Override
633
- public BasicValue merge (final BasicValue v , final BasicValue w )
634
- {
635
- if (!v .equals (w ))
636
- return new BasicValue (Type .getType ("Ljava/lang/Object;" ));
637
- return v ;
638
- }
639
- }
592
+ {
593
+ public MyInterpreter ()
594
+ {
595
+ super (Opcodes .ASM8 );
596
+ }
597
+
598
+ @ Override
599
+ public BasicValue newValue (final Type type )
600
+ {
601
+ if (type == null )
602
+ return new BasicValue (Type .getType ("Ljava/lang/Object;" ));
603
+ switch (type .getSort ())
604
+ {
605
+ case Type .VOID :
606
+ return null ;
607
+ case Type .BOOLEAN :
608
+ case Type .CHAR :
609
+ case Type .BYTE :
610
+ case Type .SHORT :
611
+ case Type .INT :
612
+ return BasicValue .INT_VALUE ;
613
+ case Type .FLOAT :
614
+ return BasicValue .FLOAT_VALUE ;
615
+ case Type .LONG :
616
+ return BasicValue .LONG_VALUE ;
617
+ case Type .DOUBLE :
618
+ return BasicValue .DOUBLE_VALUE ;
619
+ case Type .ARRAY :
620
+ case Type .OBJECT :
621
+ return new BasicValue (type );
622
+ default :
623
+ throw new Error ("Internal error" );
624
+ }
625
+ }
626
+
627
+ @ Override
628
+ public BasicValue binaryOperation (final AbstractInsnNode insn ,
629
+ final BasicValue value1 , final BasicValue value2 )
630
+ throws AnalyzerException
631
+ {
632
+ if (insn .getOpcode () == Opcodes .AALOAD )
633
+ return new BasicValue (value1 .getType ().getElementType ());
634
+ return super .binaryOperation (insn , value1 , value2 );
635
+ }
636
+
637
+ @ Override
638
+ public BasicValue merge (final BasicValue v , final BasicValue w )
639
+ {
640
+ if (!v .equals (w ))
641
+ return new BasicValue (Type .getType ("Ljava/lang/Object;" ));
642
+ return v ;
643
+ }
644
+ }
640
645
}
0 commit comments