summaryrefslogtreecommitdiff
path: root/src/main/java/io/devnulllabs/openjava/ptree/SwitchStatement.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/io/devnulllabs/openjava/ptree/SwitchStatement.java')
-rw-r--r--src/main/java/io/devnulllabs/openjava/ptree/SwitchStatement.java86
1 files changed, 86 insertions, 0 deletions
diff --git a/src/main/java/io/devnulllabs/openjava/ptree/SwitchStatement.java b/src/main/java/io/devnulllabs/openjava/ptree/SwitchStatement.java
new file mode 100644
index 0000000..c4d161f
--- /dev/null
+++ b/src/main/java/io/devnulllabs/openjava/ptree/SwitchStatement.java
@@ -0,0 +1,86 @@
+/*
+ * SwitchStatement.java 1.0
+ *
+ * Jun 20, 1997 mich
+ * Sep 29, 1997 bv
+ * Oct 11, 1997 mich
+ *
+ * @see io.devnulllabs.openjava.ptree.ParseTree
+ * @version 1.0 last updated: Oct 11, 1997
+ * @author Michiaki Tatsubori
+ */
+package io.devnulllabs.openjava.ptree;
+
+import io.devnulllabs.openjava.ptree.util.ParseTreeVisitor;
+
+/**
+ * The <code>SwitchStatement</code> class represents switch statement node
+ * of parse tree.
+ * <br>
+ * The specification around <code>CaseGroupList</code> may be
+ * modified in the later version of OpenJava.
+ *
+ * @see io.devnulllabs.openjava.ptree.ParseTree
+ * @see io.devnulllabs.openjava.ptree.NonLeaf
+ * @see io.devnulllabs.openjava.ptree.Statement
+ * @see io.devnulllabs.openjava.ptree.CaseGroupList
+ */
+public class SwitchStatement extends NonLeaf implements Statement {
+
+ /**
+ * Allocates a new object.
+ *
+ * @param expr the condition of this switch statement.
+ * @param cglist the list of the group of case and statements.
+ */
+ public SwitchStatement(Expression expr, CaseGroupList cglist) {
+ super();
+ if (cglist == null)
+ cglist = new CaseGroupList();
+ set((ParseTree) expr, cglist);
+ }
+
+ SwitchStatement() {
+ }
+
+ /**
+ * Gets the expression of the condition to switch.
+ *
+ * @return the expression of the condition.
+ */
+ public Expression getExpression() {
+ return (Expression) elementAt(0);
+ }
+
+ /**
+ * Sets the expression of the condition to switch.
+ *
+ * @param expr the expression of the condition to set.
+ */
+ public void setExpression(Expression expr) {
+ setElementAt(expr, 0);
+ }
+
+ /**
+ * Gets the case group list.
+ *
+ * @return the case group list.
+ */
+ public CaseGroupList getCaseGroupList() {
+ return (CaseGroupList) elementAt(1);
+ }
+
+ /**
+ * Sets the case group list.
+ *
+ * @param cglist the case group list.
+ */
+ public void setCaseGroupList(CaseGroupList cglist) {
+ setElementAt(cglist, 1);
+ }
+
+ public void accept(ParseTreeVisitor v) throws ParseTreeException {
+ v.visit(this);
+ }
+
+}