Files
sdk/pkg/dev_compiler/test/codegen/language/naming3_test.dart
T
John Messerly ff1b78ca42 fix a few more codegen issues:
* don't generate script tag
* handle U+2028 and U+2029
* handle name conflict with constructor

R=vsm@google.com

Review URL: https://codereview.chromium.org/1347453002 .
2015-09-14 17:06:28 -07:00

48 lines
1.2 KiB
Dart

// 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";
class A {
var __PROTO__ = 499;
var constructor = 1;
var prototype = 2;
}
// TODO(jmesserly): changed this test to avoid shadowing a field with a getter,
// which DDC doesn't currently support, see:
// https://github.com/dart-lang/dev_compiler/issues/52
class A2 {
get __PROTO__ => 499;
get constructor => 1;
get prototype => 2;
}
class B extends A2 {
get __PROTO__ => 42;
get constructor => 3;
get prototype => 4;
}
main() {
var a = new A();
var a2 = new A2();
var b = new B();
var list = [a, a2, b];
for (int i = 0; i < list.length; i++) {
var proto = list[i].__PROTO__;
var constructor = list[i].constructor;
var prototype = list[i].prototype;
if (i < 2) {
Expect.equals(499, proto);
Expect.equals(1, constructor);
Expect.equals(2, prototype);
} else {
Expect.equals(42, proto);
Expect.equals(3, constructor);
Expect.equals(4, prototype);
}
}
}