diff --git a/src/jse/org/luaj/vm2/ast/Stat.java b/src/jse/org/luaj/vm2/ast/Stat.java index 6d7e3163..343af7ef 100644 --- a/src/jse/org/luaj/vm2/ast/Stat.java +++ b/src/jse/org/luaj/vm2/ast/Stat.java @@ -81,6 +81,34 @@ public class Stat { return new IfThenElse(ifexp, ifblock, elseifexps, elseifblocks, elseblock); } + public static Stat gotostat(String name) { + return new Goto(name); + } + + public static Stat labelstat(String name) { + return new Label(name); + } + + public static class Goto extends Stat { + public final String name; + public Goto(String name) { + this.name = name; + } + public void accept(Visitor visitor) { + visitor.visit(this); + } + } + + public static class Label extends Stat { + public final String name; + public Label(String name) { + this.name = name; + } + public void accept(Visitor visitor) { + visitor.visit(this); + } + } + public static class Assign extends Stat { public final List vars; public final List exps; diff --git a/src/jse/org/luaj/vm2/ast/Visitor.java b/src/jse/org/luaj/vm2/ast/Visitor.java index 8687a624..de785719 100644 --- a/src/jse/org/luaj/vm2/ast/Visitor.java +++ b/src/jse/org/luaj/vm2/ast/Visitor.java @@ -173,4 +173,8 @@ abstract public class Visitor { } public void visit(NameScope scope) { } + public void visit(Stat.Goto gotostat) { + } + public void visit(Stat.Label label) { + } }