| Index: pkg/smoke/test/static_test.dart
|
| diff --git a/pkg/smoke/test/static_test.dart b/pkg/smoke/test/static_test.dart
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..bd9ef20ea5c3f49cebc93d39196f0ae9f254aa41
|
| --- /dev/null
|
| +++ b/pkg/smoke/test/static_test.dart
|
| @@ -0,0 +1,104 @@
|
| +// Copyright (c) 2014, 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 smoke.test.static_test;
|
| +
|
| +import 'package:smoke/smoke.dart' show Declaration;
|
| +import 'package:smoke/static.dart';
|
| +import 'package:unittest/unittest.dart';
|
| +import 'common.dart' hide main;
|
| +import 'common.dart' as common show main;
|
| +
|
| +// Abstract class used to represent the mixing C&A in the smoke configuration.
|
| +abstract class C_with_A {}
|
| +
|
| +// Static configuration that declares only the symbols, getters, methods, and
|
| +// super-class relationships we want to preserve. This and the class above
|
| +// should be automatically generated by transformers using smoke.
|
| +var _config = new StaticConfiguration(
|
| + getters: {
|
| + #i: (o) => o.i,
|
| + #j: (o) => o.j,
|
| + #j2: (o) => o.j2,
|
| + #inc0: (o) => o.inc0,
|
| + #inc1: (o) => o.inc1,
|
| + #inc2: (o) => o.inc2,
|
| + },
|
| + setters: {
|
| + #i: (o, v) { o.i = v; },
|
| + #j2: (o, v) { o.j2 = v; },
|
| + },
|
| + parents: const {
|
| + A: Object,
|
| + B: Object,
|
| + C: Object,
|
| + C_with_A: C,
|
| + D: C_with_A,
|
| + E: Object,
|
| + E2: E,
|
| + F: Object,
|
| + F2: F,
|
| + G: Object,
|
| + H: G,
|
| + },
|
| + declarations: {
|
| + B: {
|
| + #a: const Declaration(#a, A),
|
| + #w: const Declaration(#w, int),
|
| + #f: const Declaration(#f, int, isFinal: true),
|
| + },
|
| + A: {
|
| + #i: const Declaration(#i, int),
|
| + #j: const Declaration(#j, int),
|
| + #j2: const Declaration(#j2, int),
|
| + #inc0: const Declaration(#inc0, Function, isMethod: true),
|
| + #inc1: const Declaration(#inc1, Function, isMethod: true),
|
| + #inc2: const Declaration(#inc2, Function, isMethod: true),
|
| + },
|
| + C: {
|
| + #x: const Declaration(#x, int),
|
| + #y: const Declaration(#y, String),
|
| + #b: const Declaration(#b, B),
|
| + #inc: const Declaration(#inc, Function, isMethod: true),
|
| + },
|
| + C_with_A: {
|
| + #i: const Declaration(#i, int),
|
| + #j: const Declaration(#j, int),
|
| + #j2: const Declaration(#j2, int),
|
| + #inc0: const Declaration(#inc0, Function, isMethod: true),
|
| + #inc1: const Declaration(#inc1, Function, isMethod: true),
|
| + #inc2: const Declaration(#inc2, Function, isMethod: true),
|
| + },
|
| + D: {
|
| + #x2: const Declaration(#x2, int),
|
| + #i2: const Declaration(#i2, int),
|
| + },
|
| + E: {
|
| + #y: const Declaration(#y, int, isFinal: true),
|
| + #noSuchMethod:
|
| + const Declaration(#noSuchMethody, Function, isMethod: true),
|
| + },
|
| + E2: const {},
|
| + F: {#staticMethod: const Declaration(#staticMethod, Function,
|
| + isMethod: true, isStatic: true)},
|
| + F2: const {},
|
| + G: {
|
| + #a: const Declaration(#a, int),
|
| + #b: const Declaration(#b, int, annotations: const [a1]),
|
| + #c: const Declaration(#c, int),
|
| + #d: const Declaration(#d, int, annotations: const [a2]),
|
| + },
|
| + H: {
|
| + #e: const Declaration(#e, int),
|
| + #f: const Declaration(#f, int, annotations: const [a1]),
|
| + #g: const Declaration(#g, int, annotations: const [a1]),
|
| + #h: const Declaration(#h, int, annotations: const [a2]),
|
| + },
|
| + },
|
| + names: {#i: 'i'});
|
| +
|
| +main() {
|
| + setUp(() => useGeneratedCode(_config));
|
| + common.main();
|
| +}
|
|
|