anchor.diff:    }
   
     @override
  -  visitCheckLibraryIsLoaded(CheckLibraryIsLoaded node) {
  +  Constant visitCheckLibraryIsLoaded(CheckLibraryIsLoaded node) {
       return report(
           node, templateConstEvalDeferredLibrary.withArguments(node.import.name));
     }
  
positive.code:   ///   IDENTIFIER_PART_NO_DOLLAR:
    ///       IDENTIFIER_START_NO_DOLLAR | DIGIT
    ///
    static final publicIdentifierRegExp =
        new RegExp(r'^[a-zA-Z$][a-zA-Z0-9_$]*$');
  
    static const nonUsableKeywords = const <String>[
      'assert',
      'break',
      'case',
  
negative.code:         : canonicalize(new IntConstant(node.value));
    }
  
    @override
    Constant visitDoubleLiteral(DoubleLiteral node) {
      return canonicalize(makeDoubleConstant(node.value));
    }
  
    @override
    Constant visitStringLiteral(StringLiteral node) {
      return canonicalize(new StringConstant(node.value));
    }
  
    @override
    Constant visitTypeLiteral(TypeLiteral node) {
      final DartType type = evaluateDartType(node, node.type);
      return canonicalize(new TypeLiteralConstant(type));
    }
  
    @override
    Constant visitConstantExpression(ConstantExpression node) {
      Constant constant = node.constant;
      Constant result = constant;
      if (constant is UnevaluatedConstant) {
  