public class org.eclipse.jdt.internal.compiler.ast.UnaryExpression extends org.eclipse.jdt.internal.compiler.ast.OperatorExpression
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.eclipse.jdt.internal.compiler.ast.UnaryExpression
super_class: org.eclipse.jdt.internal.compiler.ast.OperatorExpression
{
public org.eclipse.jdt.internal.compiler.ast.Expression expression;
descriptor: Lorg/eclipse/jdt/internal/compiler/ast/Expression;
flags: (0x0001) ACC_PUBLIC
public org.eclipse.jdt.internal.compiler.impl.Constant optimizedBooleanConstant;
descriptor: Lorg/eclipse/jdt/internal/compiler/impl/Constant;
flags: (0x0001) ACC_PUBLIC
public void <init>(org.eclipse.jdt.internal.compiler.ast.Expression, int);
descriptor: (Lorg/eclipse/jdt/internal/compiler/ast/Expression;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial org.eclipse.jdt.internal.compiler.ast.OperatorExpression.<init>:()V
1: aload 0
aload 1
putfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.expression:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
2: aload 0
dup
getfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.bits:I
iload 2
bipush 6
ishl
ior
putfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.bits:I
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/eclipse/jdt/internal/compiler/ast/UnaryExpression;
0 4 1 expression Lorg/eclipse/jdt/internal/compiler/ast/Expression;
0 4 2 operator I
MethodParameters:
Name Flags
expression
operator
public org.eclipse.jdt.internal.compiler.flow.FlowInfo analyseCode(org.eclipse.jdt.internal.compiler.lookup.BlockScope, org.eclipse.jdt.internal.compiler.flow.FlowContext, org.eclipse.jdt.internal.compiler.flow.FlowInfo);
descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.bits:I
sipush 4032
iand
bipush 6
ishr
bipush 11
if_icmpne 8
1: aload 2
dup
getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.tagBits:I
iconst_4
ixor
putfield org.eclipse.jdt.internal.compiler.flow.FlowContext.tagBits:I
2: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.expression:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
3: aload 1
aload 2
aload 3
invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.analyseCode:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
4: invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.asNegatedCondition:()Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
5: astore 3
6: aload 2
dup
getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.tagBits:I
iconst_4
ixor
putfield org.eclipse.jdt.internal.compiler.flow.FlowContext.tagBits:I
7: goto 11
8: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.expression:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
9: aload 1
aload 2
aload 3
invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.analyseCode:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
10: astore 3
11: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.expression:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
aload 1
aload 2
aload 3
invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.checkNPE:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)Z
pop
12: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/eclipse/jdt/internal/compiler/ast/UnaryExpression;
0 13 1 currentScope Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
0 13 2 flowContext Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
0 13 3 flowInfo Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
MethodParameters:
Name Flags
currentScope
flowContext
flowInfo
public org.eclipse.jdt.internal.compiler.impl.Constant optimizedBooleanConstant();
descriptor: ()Lorg/eclipse/jdt/internal/compiler/impl/Constant;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.optimizedBooleanConstant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
ifnonnull 2
1: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.constant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
goto 3
2: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.optimizedBooleanConstant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
3: StackMap locals:
StackMap stack: org.eclipse.jdt.internal.compiler.impl.Constant
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/eclipse/jdt/internal/compiler/ast/UnaryExpression;
public void generateCode(org.eclipse.jdt.internal.compiler.lookup.BlockScope, org.eclipse.jdt.internal.compiler.codegen.CodeStream, boolean);
descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
getfield org.eclipse.jdt.internal.compiler.codegen.CodeStream.position:I
istore 4
start local 4 1: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.constant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
getstatic org.eclipse.jdt.internal.compiler.impl.Constant.NotAConstant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
if_acmpeq 6
2: iload 3
ifeq 4
3: aload 2
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.constant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.implicitConversion:I
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.generateConstant:(Lorg/eclipse/jdt/internal/compiler/impl/Constant;I)V
4: StackMap locals: int
StackMap stack:
aload 2
iload 4
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.sourceStart:I
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.recordPositionsFrom:(II)V
5: return
6: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.bits:I
sipush 4032
iand
bipush 6
ishr
tableswitch { // 11 - 14
11: 7
12: 27
13: 38
14: 60
default: 61
}
7: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.expression:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
getfield org.eclipse.jdt.internal.compiler.ast.Expression.implicitConversion:I
sipush 255
iand
iconst_4
ishr
tableswitch { // 5 - 5
5: 8
default: 26
}
8: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.expression:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
9: aload 1
10: aload 2
11: aconst_null
12: new org.eclipse.jdt.internal.compiler.codegen.BranchLabel
dup
aload 2
invokespecial org.eclipse.jdt.internal.compiler.codegen.BranchLabel.<init>:(Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;)V
dup
astore 5
start local 5 13: iload 3
14: invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.generateOptimizedBoolean:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;Z)V
15: iload 3
ifeq 25
16: aload 2
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.iconst_0:()V
17: aload 5
invokevirtual org.eclipse.jdt.internal.compiler.codegen.BranchLabel.forwardReferenceCount:()I
ifle 61
18: aload 2
new org.eclipse.jdt.internal.compiler.codegen.BranchLabel
dup
aload 2
invokespecial org.eclipse.jdt.internal.compiler.codegen.BranchLabel.<init>:(Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;)V
dup
astore 6
start local 6 19: invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.goto_:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
20: aload 2
iconst_1
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.decrStackSize:(I)V
21: aload 5
invokevirtual org.eclipse.jdt.internal.compiler.codegen.BranchLabel.place:()V
22: aload 2
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.iconst_1:()V
23: aload 6
invokevirtual org.eclipse.jdt.internal.compiler.codegen.BranchLabel.place:()V
end local 6 24: goto 61
25: StackMap locals: org.eclipse.jdt.internal.compiler.codegen.BranchLabel
StackMap stack:
aload 5
invokevirtual org.eclipse.jdt.internal.compiler.codegen.BranchLabel.place:()V
end local 5 26: StackMap locals:
StackMap stack:
goto 61
27: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.expression:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
getfield org.eclipse.jdt.internal.compiler.ast.Expression.implicitConversion:I
sipush 255
iand
iconst_4
ishr
tableswitch { // 7 - 10
7: 33
8: 37
9: 37
10: 28
default: 37
}
28: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.expression:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
aload 1
aload 2
iload 3
invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.generateCode:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;Z)V
29: iload 3
ifeq 61
30: aload 2
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.iconst_m1:()V
31: aload 2
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ixor:()V
32: goto 61
33: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.expression:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
aload 1
aload 2
iload 3
invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.generateCode:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;Z)V
34: iload 3
ifeq 61
35: aload 2
ldc -1
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ldc2_w:(J)V
36: aload 2
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.lxor:()V
37: StackMap locals:
StackMap stack:
goto 61
38: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.constant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
getstatic org.eclipse.jdt.internal.compiler.impl.Constant.NotAConstant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
if_acmpeq 49
39: iload 3
ifeq 61
40: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.expression:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
getfield org.eclipse.jdt.internal.compiler.ast.Expression.implicitConversion:I
sipush 255
iand
iconst_4
ishr
tableswitch { // 7 - 10
7: 45
8: 47
9: 43
10: 41
default: 48
}
41: StackMap locals:
StackMap stack:
aload 2
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.constant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.intValue:()I
iconst_m1
imul
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.generateInlinedValue:(I)V
42: goto 61
43: StackMap locals:
StackMap stack:
aload 2
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.constant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.floatValue:()F
ldc -1.0
fmul
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.generateInlinedValue:(F)V
44: goto 61
45: StackMap locals:
StackMap stack:
aload 2
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.constant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.longValue:()J
ldc -1
lmul
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.generateInlinedValue:(J)V
46: goto 61
47: StackMap locals:
StackMap stack:
aload 2
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.constant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.doubleValue:()D
ldc -1.0
dmul
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.generateInlinedValue:(D)V
48: StackMap locals:
StackMap stack:
goto 61
49: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.expression:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
aload 1
aload 2
iload 3
invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.generateCode:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;Z)V
50: iload 3
ifeq 61
51: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.expression:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
getfield org.eclipse.jdt.internal.compiler.ast.Expression.implicitConversion:I
sipush 255
iand
iconst_4
ishr
tableswitch { // 7 - 10
7: 56
8: 58
9: 54
10: 52
default: 59
}
52: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ineg:()V
53: goto 61
54: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.fneg:()V
55: goto 61
56: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.lneg:()V
57: goto 61
58: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.dneg:()V
59: StackMap locals:
StackMap stack:
goto 61
60: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.expression:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
aload 1
aload 2
iload 3
invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.generateCode:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;Z)V
61: StackMap locals:
StackMap stack:
iload 3
ifeq 63
62: aload 2
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.implicitConversion:I
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.generateImplicitConversion:(I)V
63: StackMap locals:
StackMap stack:
aload 2
iload 4
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.sourceStart:I
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.recordPositionsFrom:(II)V
64: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 65 0 this Lorg/eclipse/jdt/internal/compiler/ast/UnaryExpression;
0 65 1 currentScope Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
0 65 2 codeStream Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;
0 65 3 valueRequired Z
1 65 4 pc I
13 26 5 falseLabel Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
19 24 6 endifLabel Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
MethodParameters:
Name Flags
currentScope
codeStream
valueRequired
public void generateOptimizedBoolean(org.eclipse.jdt.internal.compiler.lookup.BlockScope, org.eclipse.jdt.internal.compiler.codegen.CodeStream, org.eclipse.jdt.internal.compiler.codegen.BranchLabel, org.eclipse.jdt.internal.compiler.codegen.BranchLabel, boolean);
descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.constant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
getstatic org.eclipse.jdt.internal.compiler.impl.Constant.NotAConstant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
if_acmpeq 9
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.constant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.typeID:()I
iconst_5
if_icmpne 9
1: aload 0
2: aload 1
3: aload 2
4: aload 3
5: aload 4
6: iload 5
7: invokespecial org.eclipse.jdt.internal.compiler.ast.OperatorExpression.generateOptimizedBoolean:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;Z)V
8: return
9: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.bits:I
sipush 4032
iand
bipush 6
ishr
bipush 11
if_icmpne 18
10: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.expression:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
11: aload 1
12: aload 2
13: aload 4
14: aload 3
15: iload 5
16: invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.generateOptimizedBoolean:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;Z)V
17: goto 25
18: StackMap locals:
StackMap stack:
aload 0
19: aload 1
20: aload 2
21: aload 3
22: aload 4
23: iload 5
24: invokespecial org.eclipse.jdt.internal.compiler.ast.OperatorExpression.generateOptimizedBoolean:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;Z)V
25: StackMap locals:
StackMap stack:
return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Lorg/eclipse/jdt/internal/compiler/ast/UnaryExpression;
0 26 1 currentScope Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
0 26 2 codeStream Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;
0 26 3 trueLabel Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
0 26 4 falseLabel Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
0 26 5 valueRequired Z
MethodParameters:
Name Flags
currentScope
codeStream
trueLabel
falseLabel
valueRequired
public java.lang.StringBuffer printExpressionNoParenthesis(int, java.lang.StringBuffer);
descriptor: (ILjava/lang/StringBuffer;)Ljava/lang/StringBuffer;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
aload 0
invokevirtual org.eclipse.jdt.internal.compiler.ast.UnaryExpression.operatorToString:()Ljava/lang/String;
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
bipush 32
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
1: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.expression:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
iconst_0
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.printExpression:(ILjava/lang/StringBuffer;)Ljava/lang/StringBuffer;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/eclipse/jdt/internal/compiler/ast/UnaryExpression;
0 2 1 indent I
0 2 2 output Ljava/lang/StringBuffer;
MethodParameters:
Name Flags
indent
output
public org.eclipse.jdt.internal.compiler.lookup.TypeBinding resolveType(org.eclipse.jdt.internal.compiler.lookup.BlockScope);
descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=9, args_size=2
start local 0 start local 1 0: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.expression:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
instanceof org.eclipse.jdt.internal.compiler.ast.CastExpression
dup
istore 2
start local 2 1: ifeq 2
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.expression:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
dup
getfield org.eclipse.jdt.internal.compiler.ast.Expression.bits:I
bipush 32
ior
putfield org.eclipse.jdt.internal.compiler.ast.Expression.bits:I
2: StackMap locals: int
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.expression:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
aload 1
invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.resolveType:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
astore 3
start local 3 3: aload 3
ifnonnull 6
4: aload 0
getstatic org.eclipse.jdt.internal.compiler.impl.Constant.NotAConstant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
putfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.constant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
5: aconst_null
areturn
6: StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeBinding
StackMap stack:
aload 3
getfield org.eclipse.jdt.internal.compiler.lookup.TypeBinding.id:I
istore 4
start local 4 7: aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.compilerOptions:()Lorg/eclipse/jdt/internal/compiler/impl/CompilerOptions;
getfield org.eclipse.jdt.internal.compiler.impl.CompilerOptions.sourceLevel:J
ldc 3211264
lcmp
iflt 8
iconst_1
goto 9
StackMap locals: int
StackMap stack:
8: iconst_0
StackMap locals:
StackMap stack: int
9: istore 5
start local 5 10: iload 5
ifeq 13
11: aload 3
invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isBaseType:()Z
ifne 13
12: aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.environment:()Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
aload 3
invokevirtual org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.computeBoxingType:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
getfield org.eclipse.jdt.internal.compiler.lookup.TypeBinding.id:I
istore 4
13: StackMap locals: int
StackMap stack:
iload 4
bipush 15
if_icmple 17
14: aload 0
getstatic org.eclipse.jdt.internal.compiler.impl.Constant.NotAConstant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
putfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.constant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
15: aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
aload 0
aload 3
invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.invalidOperator:(Lorg/eclipse/jdt/internal/compiler/ast/UnaryExpression;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)V
16: aconst_null
areturn
17: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.bits:I
sipush 4032
iand
bipush 6
ishr
tableswitch { // 11 - 12
11: 18
12: 20
default: 22
}
18: StackMap locals:
StackMap stack:
iconst_0
istore 6
start local 6 19: goto 23
end local 6 20: StackMap locals:
StackMap stack:
bipush 10
istore 6
start local 6 21: goto 23
end local 6 22: StackMap locals:
StackMap stack:
bipush 13
istore 6
start local 6 23: StackMap locals: int
StackMap stack:
getstatic org.eclipse.jdt.internal.compiler.ast.UnaryExpression.OperatorSignatures:[[I
iload 6
aaload
iload 4
iconst_4
ishl
iload 4
iadd
iaload
istore 7
start local 7 24: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.expression:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
aload 1
aload 1
iload 7
bipush 16
iushr
bipush 15
iand
invokestatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.wellKnownType:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;I)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
aload 3
invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.computeConversion:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)V
25: aload 0
dup
getfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.bits:I
iload 7
bipush 15
iand
ior
putfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.bits:I
26: iload 7
bipush 15
iand
tableswitch { // 2 - 10
2: 31
3: 29
4: 41
5: 27
6: 41
7: 39
8: 33
9: 35
10: 37
default: 41
}
27: StackMap locals: int
StackMap stack:
aload 0
getstatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.BOOLEAN:Lorg/eclipse/jdt/internal/compiler/lookup/BaseTypeBinding;
putfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.resolvedType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
28: goto 45
29: StackMap locals:
StackMap stack:
aload 0
getstatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.BYTE:Lorg/eclipse/jdt/internal/compiler/lookup/BaseTypeBinding;
putfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.resolvedType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
30: goto 45
31: StackMap locals:
StackMap stack:
aload 0
getstatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.CHAR:Lorg/eclipse/jdt/internal/compiler/lookup/BaseTypeBinding;
putfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.resolvedType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
32: goto 45
33: StackMap locals:
StackMap stack:
aload 0
getstatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.DOUBLE:Lorg/eclipse/jdt/internal/compiler/lookup/BaseTypeBinding;
putfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.resolvedType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
34: goto 45
35: StackMap locals:
StackMap stack:
aload 0
getstatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.FLOAT:Lorg/eclipse/jdt/internal/compiler/lookup/BaseTypeBinding;
putfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.resolvedType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
36: goto 45
37: StackMap locals:
StackMap stack:
aload 0
getstatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.INT:Lorg/eclipse/jdt/internal/compiler/lookup/BaseTypeBinding;
putfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.resolvedType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
38: goto 45
39: StackMap locals:
StackMap stack:
aload 0
getstatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.LONG:Lorg/eclipse/jdt/internal/compiler/lookup/BaseTypeBinding;
putfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.resolvedType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
40: goto 45
41: StackMap locals:
StackMap stack:
aload 0
getstatic org.eclipse.jdt.internal.compiler.impl.Constant.NotAConstant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
putfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.constant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
42: iload 4
ifeq 44
43: aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
aload 0
aload 3
invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.invalidOperator:(Lorg/eclipse/jdt/internal/compiler/ast/UnaryExpression;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)V
44: StackMap locals:
StackMap stack:
aconst_null
areturn
45: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.expression:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
getfield org.eclipse.jdt.internal.compiler.ast.Expression.constant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
getstatic org.eclipse.jdt.internal.compiler.impl.Constant.NotAConstant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
if_acmpeq 53
46: aload 0
47: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.expression:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
getfield org.eclipse.jdt.internal.compiler.ast.Expression.constant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
48: iload 4
49: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.bits:I
sipush 4032
iand
bipush 6
ishr
50: invokestatic org.eclipse.jdt.internal.compiler.impl.Constant.computeConstantOperation:(Lorg/eclipse/jdt/internal/compiler/impl/Constant;II)Lorg/eclipse/jdt/internal/compiler/impl/Constant;
51: putfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.constant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
52: goto 60
53: StackMap locals:
StackMap stack:
aload 0
getstatic org.eclipse.jdt.internal.compiler.impl.Constant.NotAConstant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
putfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.constant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
54: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.bits:I
sipush 4032
iand
bipush 6
ishr
bipush 11
if_icmpne 60
55: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.expression:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.optimizedBooleanConstant:()Lorg/eclipse/jdt/internal/compiler/impl/Constant;
astore 8
start local 8 56: aload 8
getstatic org.eclipse.jdt.internal.compiler.impl.Constant.NotAConstant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
if_acmpeq 60
57: aload 0
aload 8
invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.booleanValue:()Z
ifeq 58
iconst_0
goto 59
StackMap locals: org.eclipse.jdt.internal.compiler.ast.UnaryExpression org.eclipse.jdt.internal.compiler.lookup.BlockScope int org.eclipse.jdt.internal.compiler.lookup.TypeBinding int int int int org.eclipse.jdt.internal.compiler.impl.Constant
StackMap stack: org.eclipse.jdt.internal.compiler.ast.UnaryExpression
58: iconst_1
StackMap locals: org.eclipse.jdt.internal.compiler.ast.UnaryExpression org.eclipse.jdt.internal.compiler.lookup.BlockScope int org.eclipse.jdt.internal.compiler.lookup.TypeBinding int int int int org.eclipse.jdt.internal.compiler.impl.Constant
StackMap stack: org.eclipse.jdt.internal.compiler.ast.UnaryExpression int
59: invokestatic org.eclipse.jdt.internal.compiler.impl.BooleanConstant.fromValue:(Z)Lorg/eclipse/jdt/internal/compiler/impl/Constant;
putfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.optimizedBooleanConstant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
end local 8 60: StackMap locals:
StackMap stack:
iload 2
ifeq 62
61: aload 1
iload 6
iload 7
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.expression:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
iload 4
invokestatic org.eclipse.jdt.internal.compiler.ast.CastExpression.checkNeedForArgumentCast:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;IILorg/eclipse/jdt/internal/compiler/ast/Expression;I)V
62: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.resolvedType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
areturn
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 63 0 this Lorg/eclipse/jdt/internal/compiler/ast/UnaryExpression;
0 63 1 scope Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
1 63 2 expressionIsCast Z
3 63 3 expressionType Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
7 63 4 expressionTypeID I
10 63 5 use15specifics Z
19 20 6 tableId I
21 22 6 tableId I
23 63 6 tableId I
24 63 7 operatorSignature I
56 60 8 cst Lorg/eclipse/jdt/internal/compiler/impl/Constant;
MethodParameters:
Name Flags
scope
public void traverse(org.eclipse.jdt.internal.compiler.ASTVisitor, org.eclipse.jdt.internal.compiler.lookup.BlockScope);
descriptor: (Lorg/eclipse/jdt/internal/compiler/ASTVisitor;Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 0
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.ASTVisitor.visit:(Lorg/eclipse/jdt/internal/compiler/ast/UnaryExpression;Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;)Z
ifeq 2
1: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.expression:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
aload 1
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.traverse:(Lorg/eclipse/jdt/internal/compiler/ASTVisitor;Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;)V
2: StackMap locals:
StackMap stack:
aload 1
aload 0
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.ASTVisitor.endVisit:(Lorg/eclipse/jdt/internal/compiler/ast/UnaryExpression;Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;)V
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/eclipse/jdt/internal/compiler/ast/UnaryExpression;
0 4 1 visitor Lorg/eclipse/jdt/internal/compiler/ASTVisitor;
0 4 2 blockScope Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
MethodParameters:
Name Flags
visitor
blockScope
}
SourceFile: "UnaryExpression.java"