implement visitors for null atom
This commit is contained in:
@@ -668,6 +668,15 @@ public class ContextAnalysis extends KlangBaseVisitor<Node> {
|
|||||||
return n;
|
return n;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Node visitNullAtom(KlangParser.NullAtomContext ctx) {
|
||||||
|
Node n = new NullExpression();
|
||||||
|
n.type = Type.getNullType();
|
||||||
|
n.line = ctx.start.getLine();
|
||||||
|
n.col = ctx.start.getCharPositionInLine();
|
||||||
|
return n;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Node visitFunctionDef(KlangParser.FunctionDefContext ctx) {
|
public Node visitFunctionDef(KlangParser.FunctionDefContext ctx) {
|
||||||
String name = ctx.funcName.getText();
|
String name = ctx.funcName.getText();
|
||||||
|
|||||||
@@ -496,4 +496,10 @@ public class EvalVisitor implements Visitor<Value> {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Value visit(NullExpression e) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -819,4 +819,10 @@ public class GenASM implements Visitor<Void> {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Void visit(NullExpression e) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -260,4 +260,9 @@ class GetVars implements Visitor<Void> {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Void visit(NullExpression e) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -432,4 +432,10 @@ public class PrettyPrintVisitor implements Visitor<Void> {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Void visit(NullExpression e) {
|
||||||
|
ex.write("null");
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -47,4 +47,5 @@ public interface Visitor<R> {
|
|||||||
R visit(StructField e);
|
R visit(StructField e);
|
||||||
R visit(StructFieldAccessExpression e);
|
R visit(StructFieldAccessExpression e);
|
||||||
R visit(ConstructorCall e);
|
R visit(ConstructorCall e);
|
||||||
|
R visit(NullExpression e);
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user