1
3 package jminusminus;
4
5 import static jminusminus.CLConstants.*;
6
7
10 class JThis extends JExpression {
11
16 public JThis(int line) {
17 super(line);
18 }
19
20
23 public JExpression analyze(Context context) {
24 type = ((JClassDeclaration) context.classContext.definition()).thisType();
25 return this;
26 }
27
28
31 public void codegen(CLEmitter output) {
32 output.addNoArgInstruction(ALOAD_0);
33 }
34
35
38 public void toJSON(JSONElement json) {
39 JSONElement e = new JSONElement();
40 json.addChild("JThis:" + line, e);
41 }
42 }
43