<commit_before>// Copyright (c) 2012, the Dart project authors.  Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.

import "package:expect/expect.dart";

main() {
  const f0 = 42;
  const f1; /// 01: compile-time error
  const int f2 = 87;
  const int f3; /// 02: compile-time error
  Expect.equals(42, f0);
  Expect.equals(87, f2);

  Expect.equals(42, F0);
  Expect.equals(null, F1); /// 03: compile-time error
  Expect.equals(87, F2);
  Expect.equals(null, F3); /// 04: compile-time error

  Expect.isTrue(P0 is Point);
  Expect.isTrue(P1 is int);   /// 05: compile-time error
  Expect.isTrue(P2 is Point); /// 06: compile-time error
  Expect.isTrue(P3 is int);   /// 07: compile-time error

  Expect.isTrue(A0 is int);
  Expect.isTrue(A1 is int);
  Expect.isTrue(A2 is int); /// 08: compile-time error
  Expect.isTrue(A3 is int); /// 08: continued

  Expect.isTrue(C0.X is C1);
  Expect.isTrue(C0.X.x is C1); /// 09: compile-time error

  Expect.equals("Hello 42", B2);
  Expect.equals("42Hello", B3); /// 10: compile-time error

  const cf1 = identical(const Point(1, 2), const Point(1, 2));

  const cf2 = identical(const Point(1, 2), new Point(1, 2));  /// 11: compile-time error

  var f4 = B4;   /// 12: compile-time error
  var f5 = B5;
}

const F0 = 42;
const F1;                 /// 03: continued
const int F2 = 87;
const int F3;             /// 04: continued

class Point {
  final x, y;
  const Point(this.x, this.y);
  operator +(int other) => x;
}

// Check that compile time expressions can include invocations of
// user-defined const constructors.
const P0 = const Point(0, 0);
const P1 = const Point(0, 0) + 1; /// 05: continued
const P2 = new Point(0, 0);       /// 06: continued
const P3 = new Point(0, 0) + 1;   /// 07: continued

// Check that we cannot have cyclic references in compile time
// expressions.
const A0 = 42;
const A1 = A0 + 1;
const A2 = A3 + 1; /// 08: continued
const A3 = A2 + 1; /// 08: continued

class C0 {
  static const X = const C1();
}

class C1 {
  const C1()
      : x = C0.X /// 09: continued
  ;
  final x = null;
}

// Check that sub-expressions of binary + are numeric.
const B0 = 42;
const B1 = "Hello";
const B2 = "$B1 $B0";
const B3 = B0 + B1; /// 10: continued

// Check identical.

const B4 = identical(1, new Point(1,2));
const B5 = identical(1, const Point(1,2));<commit_msg>Fix test so that dartanalyzer can hadle it correctly.<commit_after>// Copyright (c) 2012, the Dart project authors.  Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.

import "package:expect/expect.dart";

main() {
  const f0 = 42;
  const f1; /// 01: compile-time error
  const int f2 = 87;
  const int f3; /// 02: compile-time error
  Expect.equals(42, f0);
  Expect.equals(87, f2);

  Expect.equals(42, F0);
  Expect.equals(null, F1); /// 03: compile-time error
  Expect.equals(87, F2);
  Expect.equals(null, F3); /// 04: compile-time error

  Expect.isTrue(P0 is Point);
  Expect.isTrue(P1 is int);   /// 05: compile-time error
  Expect.isTrue(P2 is Point); /// 06: compile-time error
  Expect.isTrue(P3 is int);   /// 07: compile-time error

  Expect.isTrue(A0 is int);
  Expect.isTrue(A1 is int);
  Expect.isTrue(A2 is int); /// 08: compile-time error
  Expect.isTrue(A3 is int); /// 08: continued

  Expect.isTrue(C0.X is C1);
  Expect.isTrue(C0.X.x is C1); /// 09: compile-time error

  Expect.equals("Hello 42", B2);
  Expect.equals("42Hello", B3); /// 10: compile-time error

  const cf1 = identical(const Point(1, 2), const Point(1, 2));

  const cf2 = identical(const Point(1, 2), new Point(1, 2));  /// 11: compile-time error

  var f4 = B4;   /// 12: compile-time error
  var f5 = B5;
}

const F0 = 42;
const F1;                 /// 03: continued
const int F2 = 87;
const int F3;             /// 04: continued

class Point {
  final x, y;
  const Point(this.x, this.y);
  operator +(int other) => x;
}

// Check that compile time expressions can include invocations of
// user-defined const constructors.
const P0 = const Point(0, 0);
const P1 = const Point(0, 0) + 1; /// 05: continued
const P2 = new Point(0, 0);       /// 06: continued
const P3 = new Point(0, 0) + 1;   /// 07: continued

// Check that we cannot have cyclic references in compile time
// expressions.
const A0 = 42;
const A1 = A0 + 1;
const A2 = A3 + 1; /// 08: continued
const A3 = A2 + 1; /// 08: continued

class C0 {
  static const X = const C1();
}

class C1 {
  const C1()
      : x = C0.X /// 09: continued
  ;
  final x = null;
}

// Check that sub-expressions of binary + are numeric.
const B0 = 42;
const B1 = "Hello";
const B2 = "$B1 $B0";
const B3 = B0 + B1; /// 10: continued

// Check identical.

const B4 = identical(1, new Point(1,2));  /// 12: compile-time error
const B5 = identical(1, const Point(1,2));
{'fraction_non_alphanumeric': 0.1487138263665595, 'fraction_numerical': 0.06430868167202572, 'mean_word_length': 2.7733131159969675, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5613395', 'n_tokens_mistral': 1927, 'n_tokens_neox': 1739, 'n_words': 632}