| Index: pkg/dev_compiler/lib/src/compiler/code_generator.dart
|
| diff --git a/pkg/dev_compiler/lib/src/compiler/code_generator.dart b/pkg/dev_compiler/lib/src/compiler/code_generator.dart
|
| index 9cbc9ec0944963f19f5db971f50c5027fa1cbfb1..c673e0f91b2c825747328d52a2a8208d6e1939e8 100644
|
| --- a/pkg/dev_compiler/lib/src/compiler/code_generator.dart
|
| +++ b/pkg/dev_compiler/lib/src/compiler/code_generator.dart
|
| @@ -625,7 +625,7 @@ class CodeGenerator extends GeneralizingAstVisitor
|
| if (node.type == null) {
|
| // TODO(jmesserly): if the type fails to resolve, should we generate code
|
| // that throws instead?
|
| - assert(options.unsafeForceCompile);
|
| + assert(options.unsafeForceCompile || options.replCompile);
|
| return js.call('dart.dynamic');
|
| }
|
| return _emitType(node.type);
|
| @@ -3065,8 +3065,12 @@ class CodeGenerator extends GeneralizingAstVisitor
|
| [l, l, name, name, _visit(rhs)])
|
| ]);
|
| }
|
| - return js.call('dart.dput(#, #, #)',
|
| - [_visit(target), _emitMemberName(id.name), _visit(rhs)]);
|
| + return js.call('dart.#(#, #, #)', [
|
| + _emitDynamicOperationName('dput'),
|
| + _visit(target),
|
| + _emitMemberName(id.name),
|
| + _visit(rhs)
|
| + ]);
|
| }
|
|
|
| var accessor = id.staticElement;
|
| @@ -3351,10 +3355,16 @@ class CodeGenerator extends GeneralizingAstVisitor
|
| return new JS.Call(jsTarget, args);
|
| }
|
| if (typeArgs != null) {
|
| - return js.call('dart.dgsend(#, #, #, #)',
|
| - [jsTarget, new JS.ArrayInitializer(typeArgs), memberName, args]);
|
| + return js.call('dart.#(#, #, #, #)', [
|
| + _emitDynamicOperationName('dgsend'),
|
| + jsTarget,
|
| + new JS.ArrayInitializer(typeArgs),
|
| + memberName,
|
| + args
|
| + ]);
|
| } else {
|
| - return js.call('dart.dsend(#, #, #)', [jsTarget, memberName, args]);
|
| + return js.call('dart.#(#, #, #)',
|
| + [_emitDynamicOperationName('dsend'), jsTarget, memberName, args]);
|
| }
|
| }
|
| if (_isObjectMemberCall(target, name)) {
|
| @@ -4635,6 +4645,9 @@ class CodeGenerator extends GeneralizingAstVisitor
|
| return _emitFunctionTypeArguments(type, instantiated);
|
| }
|
|
|
| + JS.LiteralString _emitDynamicOperationName(String name) =>
|
| + js.string(options.replCompile ? '${name}Repl' : name);
|
| +
|
| JS.Expression _emitAccessInternal(Expression target, Element member,
|
| String memberName, List<JS.Expression> typeArgs) {
|
| bool isStatic = member is ClassMemberElement && member.isStatic;
|
| @@ -4649,7 +4662,8 @@ class CodeGenerator extends GeneralizingAstVisitor
|
| [l, l, name, l, name])
|
| ]);
|
| }
|
| - return js.call('dart.dload(#, #)', [_visit(target), name]);
|
| + return js.call('dart.#(#, #)',
|
| + [_emitDynamicOperationName('dload'), _visit(target), name]);
|
| }
|
|
|
| var jsTarget = _visit(target);
|
|
|