f50661aac4
Fixes #248 R=jmesserly@google.com Review URL: https://codereview.chromium.org/1224083017.
79 lines
1.3 KiB
Dart
79 lines
1.3 KiB
Dart
// Copyright (c) 2015, 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.
|
|
|
|
library fieldtest;
|
|
|
|
class A {
|
|
int x = 42;
|
|
}
|
|
|
|
class B<T> {
|
|
int x;
|
|
num y;
|
|
T z;
|
|
}
|
|
|
|
int foo(A a) {
|
|
print(a.x);
|
|
return a.x;
|
|
}
|
|
|
|
int bar(a) {
|
|
print(a.x);
|
|
return a.x;
|
|
}
|
|
|
|
baz(A a) => a.x;
|
|
|
|
int compute() => 123;
|
|
int y = compute() + 444;
|
|
|
|
String get q => 'life, ' + 'the universe ' + 'and everything';
|
|
int get z => 42;
|
|
void set z(value) {
|
|
y = value;
|
|
}
|
|
|
|
// Supported: use field to implement a getter
|
|
abstract class BaseWithGetter {
|
|
int get foo => 1;
|
|
int get bar;
|
|
}
|
|
class Derived extends BaseWithGetter {
|
|
int foo = 2;
|
|
int bar = 3;
|
|
}
|
|
|
|
class Generic<T> {
|
|
foo(T t) => print(bar + (t as String));
|
|
|
|
static String bar = 'hello';
|
|
}
|
|
|
|
class StaticFieldOrder1 {
|
|
static const a = b + 1;
|
|
static const c = d + 2;
|
|
static const b = c + 3;
|
|
static const d = 4;
|
|
}
|
|
class StaticFieldOrder2 {
|
|
static const a = StaticFieldOrder2.b + 1;
|
|
static const c = StaticFieldOrder2.d + 2;
|
|
static const b = StaticFieldOrder2.c + 3;
|
|
static const d = 4;
|
|
}
|
|
|
|
enum MyEnum { Val1, Val2, Val3, Val4 }
|
|
|
|
void main() {
|
|
var a = new A();
|
|
foo(a);
|
|
bar(a);
|
|
print(baz(a));
|
|
|
|
print(new Generic<String>().foo(' world'));
|
|
|
|
print(MyEnum.values);
|
|
}
|