a077989c9d
This prepares for having getters and setters in the same builder. Change-Id: If800e7cccf1e71dbb7bca628a91a6ab48d8737c3 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/426162 Commit-Queue: Johnni Winther <johnniwinther@google.com> Reviewed-by: Chloe Stefantsova <cstefantsova@google.com>
39 lines
1.8 KiB
Dart
39 lines
1.8 KiB
Dart
// Copyright (c) 2017, 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/async_helper.dart' show asyncTest;
|
|
import 'package:expect/expect.dart' show Expect;
|
|
import 'package:front_end/src/base/compiler_context.dart' show CompilerContext;
|
|
import 'package:front_end/src/builder/declaration_builders.dart';
|
|
import 'package:front_end/src/dill/dill_library_builder.dart'
|
|
show DillLibraryBuilder;
|
|
import 'package:front_end/src/dill/dill_target.dart' show DillTarget;
|
|
import 'package:front_end/src/kernel/utils.dart';
|
|
import 'package:kernel/ast.dart'
|
|
show Field, Library, Name, Component, StringLiteral;
|
|
|
|
Future<void> main() async {
|
|
await asyncTest(() async {
|
|
Uri uri = Uri.parse("org.dartlang.cfe:library");
|
|
Library library = new Library(uri, fileUri: uri);
|
|
Field field = new Field.immutable(
|
|
new Name(unserializableExportName, library),
|
|
initializer: new StringLiteral('{"main":"Problem with main"}'),
|
|
fileUri: library.fileUri);
|
|
library.addField(field);
|
|
Component component = new Component(libraries: <Library>[library]);
|
|
await CompilerContext.runWithDefaultOptions((CompilerContext c) async {
|
|
DillTarget target = new DillTarget(c, c.options.ticker,
|
|
await c.options.getUriTranslator(), c.options.target);
|
|
target.loader.appendLibraries(component);
|
|
DillLibraryBuilder builder = target.loader.read(library.importUri, -1);
|
|
target.loader.buildOutline(builder);
|
|
builder.markAsReadyToFinalizeExports();
|
|
var mainExport =
|
|
builder.exportNameSpace.lookupLocalMember("main")?.getable;
|
|
Expect.isTrue(mainExport is InvalidTypeDeclarationBuilder);
|
|
});
|
|
});
|
|
}
|