/src/org/ooc/frontend/model/FlowControl.java

http://github.com/nddrylliog/ooc · Java · 50 lines · 37 code · 13 blank · 0 comment · 0 complexity · 3d70a779edb02ab2ee70f55baf07079c MD5 · raw file

  1. package org.ooc.frontend.model;
  2. import java.io.IOException;
  3. import org.ooc.frontend.Visitor;
  4. import org.ooc.frontend.model.tokens.Token;
  5. public class FlowControl extends ControlStatement {
  6. public static enum Mode {
  7. BREAK,
  8. CONTINUE,
  9. }
  10. private Mode mode;
  11. public FlowControl(Mode mode, Token startToken) {
  12. super(startToken);
  13. this.mode = mode;
  14. }
  15. @Override
  16. public boolean replace(Node oldie, Node kiddo) {
  17. return false;
  18. }
  19. public void accept(Visitor visitor) throws IOException {
  20. visitor.visit(this);
  21. }
  22. public void acceptChildren(Visitor visitor) throws IOException {}
  23. public boolean hasChildren() {
  24. return false;
  25. }
  26. public Mode getMode() {
  27. return mode;
  28. }
  29. public String getKeyword() {
  30. switch(mode) {
  31. case CONTINUE:
  32. return "continue";
  33. case BREAK: default:
  34. return "break";
  35. }
  36. }
  37. }