semantic/yield-call-requires-async-method.test \
semantic/yield-creation-requires-async-context.test \
semantic/yield-creation-requires-async-method.test \
+ semantic/yield-statement-requires-async-context.test \
$(NULL)
NON_NULL_TESTS = \
this.source_reference = source_reference;
}
+ public override bool check (CodeContext context) {
+ if (checked) {
+ return !error;
+ }
+
+ checked = true;
+
+ if (context.analyzer.current_method == null || !context.analyzer.current_method.coroutine) {
+ error = true;
+ Report.error (source_reference, "yield statement not available outside async method");
+ }
+
+ return !error;
+ }
+
public override void emit (CodeGenerator codegen) {
codegen.visit_yield_statement (this);
}