summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/colm.lm3
-rw-r--r--src/loadcolm.cc3
2 files changed, 4 insertions, 2 deletions
diff --git a/src/colm.lm b/src/colm.lm
index 4104140f..30a50c31 100644
--- a/src/colm.lm
+++ b/src/colm.lm
@@ -453,7 +453,8 @@ def statement
| [var_def opt_def_init] :VarDef commit
| [FOR id COLON type_ref IN iter_call block_or_single] :For commit
| [IF code_expr block_or_single elsif_list] :If commit
-| [SWITCH var_ref case_clause_list] :Switch
+| [SWITCH var_ref case_clause_list] :SwitchUnder
+| [SWITCH var_ref COPEN case_clause_list CCLOSE] :SwitchBlock
| [WHILE code_expr block_or_single] :While commit
| [var_ref EQUALS code_expr] :LhsVarRef commit
| [YIELD var_ref] :Yield commit
diff --git a/src/loadcolm.cc b/src/loadcolm.cc
index 494c1447..4bb773d3 100644
--- a/src/loadcolm.cc
+++ b/src/loadcolm.cc
@@ -245,7 +245,8 @@ struct LoadColm
stmt = LangStmt::cons( LangStmt::IfType, expr, stmtList, elsifList );
break;
}
- case statement::Switch: {
+ case statement::SwitchUnder:
+ case statement::SwitchBlock: {
pushScope();
stmt = walkCaseClauseList( Statement.case_clause_list(), Statement.var_ref() );
popScope();