| Index: pkg/compiler/lib/src/js/builder.dart
|
| diff --git a/pkg/compiler/lib/src/js/builder.dart b/pkg/compiler/lib/src/js/builder.dart
|
| index 917c0606778877e31f58c981d4ef7420e4ab2b65..0fa01cc01bef3bed461608af9e5591c026423b23 100644
|
| --- a/pkg/compiler/lib/src/js/builder.dart
|
| +++ b/pkg/compiler/lib/src/js/builder.dart
|
| @@ -716,6 +716,8 @@ class MiniJsParser {
|
| return new LiteralNull();
|
| } else if (last == "function") {
|
| return parseFunctionExpression();
|
| + } else if (last == "this") {
|
| + return new This();
|
| } else {
|
| return new VariableUse(last);
|
| }
|
| @@ -1116,9 +1118,12 @@ class MiniJsParser {
|
|
|
| if (lastToken == 'default') error("Default outside switch.");
|
|
|
| + if (lastToken == 'yield') return parseYield();
|
| +
|
| if (lastToken == 'with') {
|
| error('Not implemented in mini parser');
|
| }
|
| +
|
| }
|
|
|
| bool checkForInterpolatedStatement = lastCategory == HASH;
|
| @@ -1153,6 +1158,13 @@ class MiniJsParser {
|
| return new Return(expression);
|
| }
|
|
|
| + Statement parseYield() {
|
| + bool hasStar = acceptString('*');
|
| + Expression expression = parseExpression();
|
| + expectSemicolon();
|
| + return new DartYield(expression, hasStar);
|
| + }
|
| +
|
| Statement parseThrow() {
|
| if (skippedNewline) error('throw expression must be on same line');
|
| Expression expression = parseExpression();
|
|
|