anchor.diff:    FieldNames get names => builder.fieldNames;
   
     StatementBuilder(this.builder, this.environment) {
  -    expressionBuilder = new ExpressionBuilder(builder, environment);
  +    expressionBuilder = new ExpressionBuilder(builder, this, environment);
     }
   
     Completion build(Statement node) => node.accept(this);
  
positive.code:   }
  
    int _makeDeclarationSiteFieldInitializer(Field field) {
      return new ExpressionBuilder(this, new Environment(this, null, field))
          .build(field.initializer);
    }
  
    void buildConstructor(Class hostClass, Constructor node) {
  
negative.code:     if (addTypeBasedSummary) {
        int returnFromType = buildCovariantType(node.returnType, environment);
        environment.addAssign(returnFromType, environment.returnVariable);
      } else if (node.body != null) {
        Completion completes =
            new StatementBuilder(this, environment).build(node.body);
        if (completes == Completion.Maybe) {
  