anchor.diff:            // TODO(askesc): Give more meaningful error message if name is null.
           } else {
             // Leave environment constant unevaluated.
  -          return new UnevaluatedConstant(new StaticInvocation(
  -              target, unevaluatedArguments(arguments),
  +          return unevaluated(new StaticInvocation(
  +              target, unevaluatedArguments(positionals, named, arguments.types),
                 isConst: true));
           }
         }
  
positive.code:       // Ensure the "identical()" function comes from dart:core.
        final parent = target.parent;
        if (parent is Library && parent == coreTypes.coreLibrary) {
          final positionalArguments = evaluatePositionalArguments(arguments);
          final Constant left = positionalArguments[0];
          final Constant right = positionalArguments[1];
          // Since we canonicalize constants during the evaluation, we can use
          // identical here.
          return identical(left, right) ? trueConstant : falseConstant;
  
negative.code:         if (target.isConst) {
            if (target.isInExternalLibrary && target.initializer == null) {
              // The variable is unavailable due to separate compilation.
              return unevaluated(node);
            }
            return runInsideContext(target, () {
              return _evaluateSubexpression(target.initializer);
  