anchor.diff:      return node;
     }
   
  -  visitField(Field node) {
  +  @override
  +  Field visitField(Field node) {
       return constantEvaluator.withNewEnvironment(() {
         if (node.isConst) {
           transformAnnotations(node.annotations, node);
  
positive.code: 
    // Handle definition of constants:
  
    visitFunctionNode(FunctionNode node) {
      final int positionalParameterCount = node.positionalParameters.length;
      for (int i = 0; i < positionalParameterCount; ++i) {
        final VariableDeclaration variable = node.positionalParameters[i];
  
negative.code:     return builder.build();
    }
  
    @override
    Constant visitFunctionExpression(FunctionExpression node) {
      return report(
          node, templateConstEvalNonConstantLiteral.withArguments('Function'));
    }
  
    @override
    Constant visitConstructorInvocation(ConstructorInvocation node) {
      final Constructor constructor = node.target;
      final Class klass = constructor.enclosingClass;
      bool isSymbol = klass == coreTypes.internalSymbolClass;
  