summaryrefslogtreecommitdiff
path: root/src/analysis
diff options
context:
space:
mode:
Diffstat (limited to 'src/analysis')
-rw-r--r--src/analysis/analysis.cpp4
-rw-r--r--src/analysis/statement.cpp6
-rw-r--r--src/analysis/statement.h5
3 files changed, 15 insertions, 0 deletions
diff --git a/src/analysis/analysis.cpp b/src/analysis/analysis.cpp
index e35de85..32c0170 100644
--- a/src/analysis/analysis.cpp
+++ b/src/analysis/analysis.cpp
@@ -55,6 +55,7 @@
#include "nodes/ref/component_ref.h"
+#include "nodes/stmt/break_stmt.h"
#include "nodes/stmt/continue_stmt.h"
#include "nodes/stmt/if_stmt.h"
#include "nodes/stmt/while_stmt.h"
@@ -278,6 +279,9 @@ void analyseNode(Node *node, const WalkItem &wi, WalkItem &wo)
case VAR_DECL:
analyseVarDecl(static_cast<VarDeclNode*>(node), wi2, wo);
break;
+ case BREAK_STMT:
+ analyseBreakStmt(static_cast<BreakStmtNode*>(node), wi2, wo);
+ break;
case IF_STMT:
analyseIfStmt(static_cast<IfStmtNode*>(node), wi2, wo);
break;
diff --git a/src/analysis/statement.cpp b/src/analysis/statement.cpp
index e22cdae..5e6ea7a 100644
--- a/src/analysis/statement.cpp
+++ b/src/analysis/statement.cpp
@@ -34,6 +34,7 @@
#include "nodes/ref/indirect_ref.h"
+#include "nodes/stmt/break_stmt.h"
#include "nodes/stmt/continue_stmt.h"
#include "nodes/stmt/if_stmt.h"
#include "nodes/stmt/while_stmt.h"
@@ -285,4 +286,9 @@ void analyseContinueStmt(ContinueStmtNode *node, const WalkItem &wi, WalkItem &w
wo.isContinued = true;
}
+void analyseBreakStmt(BreakStmtNode *node, const WalkItem &wi, WalkItem &wo)
+{
+ wo.isContinued = true;
+}
+
}
diff --git a/src/analysis/statement.h b/src/analysis/statement.h
index 5637da7..c24e50a 100644
--- a/src/analysis/statement.h
+++ b/src/analysis/statement.h
@@ -22,6 +22,7 @@
#include "includes.h"
+struct BreakStmtNode;
struct ContinueStmtNode;
struct IfStmtNode;
struct Node;
@@ -45,6 +46,10 @@ namespace Analysis
const WalkItem &wi,
WalkItem &wo);
+ void analyseBreakStmt(BreakStmtNode *node,
+ const WalkItem &wi,
+ WalkItem &wo);
+
void analyseContinueStmt(ContinueStmtNode *node,
const WalkItem &wi,
WalkItem &wo);