1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.springframework.expression.spel.ast;
18
19 import org.springframework.asm.MethodVisitor;
20 import org.springframework.expression.TypedValue;
21 import org.springframework.expression.spel.CodeFlow;
22
23
24
25
26
27
28
29 public class NullLiteral extends Literal {
30
31 public NullLiteral(int pos) {
32 super(null,pos);
33 this.exitTypeDescriptor = "Ljava/lang/Object";
34 }
35
36
37 @Override
38 public TypedValue getLiteralValue() {
39 return TypedValue.NULL;
40 }
41
42 @Override
43 public String toString() {
44 return "null";
45 }
46
47 @Override
48 public boolean isCompilable() {
49 return true;
50 }
51
52 @Override
53 public void generateCode(MethodVisitor mv, CodeFlow cf) {
54 mv.visitInsn(ACONST_NULL);
55 cf.pushDescriptor(this.exitTypeDescriptor);
56 }
57
58 }