Label statement.
git-svn-id: svn://10.0.0.236/trunk@129239 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
parent
9b70bdb1e1
commit
411ebed350
@ -107,10 +107,15 @@ namespace MetaData {
|
||||
{
|
||||
LabelStmtNode *l = checked_cast<LabelStmtNode *>(p);
|
||||
l->labelID = bCon->getLabel();
|
||||
std::pair<LabelSet::iterator, bool> result = stmtLbl->insert(LabelSet::value_type(&l->name, l->labelID));
|
||||
if (!result.second)
|
||||
std::pair<LabelSet::iterator, bool> breakResult = jt->breakTargets->insert(LabelSet::value_type(&l->name, l->labelID));
|
||||
if (!breakResult.second)
|
||||
reportError(Exception::syntaxError, "Duplicate statement label", p->pos);
|
||||
std::pair<LabelSet::iterator, bool> stmtLblResult = stmtLbl->insert(LabelSet::value_type(&l->name, l->labelID));
|
||||
|
||||
ValidateStmt(cxt, env, l->stmt, stmtLbl, jt);
|
||||
|
||||
jt->breakTargets->erase(breakResult.first);
|
||||
stmtLbl->erase(stmtLblResult.first);
|
||||
}
|
||||
break;
|
||||
case StmtNode::If:
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user