mark vararg expressions
This commit is contained in:
@@ -89,6 +89,10 @@ public class Exp {
|
||||
return false;
|
||||
}
|
||||
|
||||
public boolean isvarargexp() {
|
||||
return false;
|
||||
}
|
||||
|
||||
abstract public static class PrimaryExp extends Exp {
|
||||
public boolean isvarexp() {
|
||||
return false;
|
||||
@@ -168,6 +172,10 @@ public class Exp {
|
||||
public void accept(Visitor visitor) {
|
||||
visitor.visit(this);
|
||||
}
|
||||
|
||||
public boolean isvarargexp() {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
public static class MethodCall extends FuncCall {
|
||||
@@ -202,7 +210,11 @@ public class Exp {
|
||||
|
||||
public void accept(Visitor visitor) {
|
||||
visitor.visit(this);
|
||||
}
|
||||
}
|
||||
|
||||
public boolean isvarargexp() {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
public static class UnopExp extends Exp {
|
||||
@@ -233,13 +245,14 @@ public class Exp {
|
||||
}
|
||||
|
||||
public static class AnonFuncDef extends Exp {
|
||||
public final FuncBody funcbody;
|
||||
public final FuncBody body;
|
||||
public AnonFuncDef(FuncBody funcbody) {
|
||||
this.funcbody = funcbody;
|
||||
this.body = funcbody;
|
||||
}
|
||||
|
||||
public void accept(Visitor visitor) {
|
||||
visitor.visit(this);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -48,8 +48,9 @@ abstract public class Visitor {
|
||||
public void visit(Stat.NumericFor stat) {
|
||||
visit(stat.name);
|
||||
stat.initial.accept(this);
|
||||
stat.step.accept(this);
|
||||
stat.limit.accept(this);
|
||||
if ( stat.step != null )
|
||||
stat.step.accept(this);
|
||||
stat.block.accept(this);
|
||||
}
|
||||
public void visit(Stat.RepeatUntil stat) {
|
||||
@@ -78,7 +79,7 @@ abstract public class Visitor {
|
||||
field.rhs.accept(this);
|
||||
}
|
||||
public void visit(Exp.AnonFuncDef exp) {
|
||||
exp.funcbody.accept(this);
|
||||
exp.body.accept(this);
|
||||
}
|
||||
public void visit(Exp.BinopExp exp) {
|
||||
exp.lhs.accept(this);
|
||||
|
||||
Reference in New Issue
Block a user