anchor.diff:    }
   
     @override
  -  visitConstructorInvocation(ConstructorInvocation node) {
  +  JS.Expression visitConstructorInvocation(ConstructorInvocation node) {
       var ctor = node.target;
       var args = node.arguments;
       var result = JS.New(_emitConstructorName(node.constructedType, ctor),
  
positive.code:   }
  
    @override
    defaultExpression(Expression node) => _emitInvalidNode(node);
  
    @override
    defaultBasicLiteral(BasicLiteral node) => defaultExpression(node);
  
    @override
    visitInvalidExpression(InvalidExpression node) => defaultExpression(node);
  
    @override
    visitConstantExpression(ConstantExpression node) =>
        node.constant.accept(this) as JS.Expression;
  
    @override
    visitVariableGet(VariableGet node) {
      var v = node.variable;
      var id = _emitVariableRef(v);
      if (id.name == v.name) {
  
negative.code:   }
  
    @override
    JS.Expression visitSetLiteral(SetLiteral node) {
      // TODO(markzipan): remove const check when we use front-end const eval
      if (!node.isConst) {
        var setType = visitInterfaceType(
  