Mercurial > projects > ddmd
comparison dmd/ContinueStatement.d @ 155:a43c65469219
+ Statement.interpret()
+ ContinueStatement.interpret()
+ DoStatement.interpret()
author | trass3r |
---|---|
date | Wed, 15 Sep 2010 17:31:22 +0200 |
parents | e28b18c23469 |
children | e3afd1303184 |
comparison
equal
deleted
inserted
replaced
154:14feb7ae01a6 | 155:a43c65469219 |
---|---|
1 module dmd.ContinueStatement; | 1 module dmd.ContinueStatement; |
2 | 2 |
3 import dmd.common; | 3 import dmd.common; |
4 import dmd.interpret.Util; | |
4 import dmd.Statement; | 5 import dmd.Statement; |
5 import dmd.FuncDeclaration; | 6 import dmd.FuncDeclaration; |
7 import dmd.GlobalExpressions; | |
6 import dmd.IntegerExp; | 8 import dmd.IntegerExp; |
7 import dmd.ReturnStatement; | 9 import dmd.ReturnStatement; |
8 import dmd.LabelStatement; | 10 import dmd.LabelStatement; |
9 import dmd.Identifier; | 11 import dmd.Identifier; |
10 import dmd.Loc; | 12 import dmd.Loc; |
107 return this; | 109 return this; |
108 } | 110 } |
109 | 111 |
110 override Expression interpret(InterState istate) | 112 override Expression interpret(InterState istate) |
111 { | 113 { |
112 assert(false); | 114 version(LOG) |
115 writef("ContinueStatement::interpret()\n"); | |
116 | |
117 mixin(START); | |
118 if (ident) | |
119 return EXP_CANT_INTERPRET; | |
120 else | |
121 return EXP_CONTINUE_INTERPRET; | |
113 } | 122 } |
114 | 123 |
115 override BE blockExit() | 124 override BE blockExit() |
116 { | 125 { |
117 return ident ? BE.BEgoto : BE.BEcontinue; | 126 return ident ? BE.BEgoto : BE.BEcontinue; |