3e44898e08
TEST=existing Change-Id: I72583e500cb0b69d9352b040c3e2885f9e0450c5 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/195681 Commit-Queue: Johnni Winther <johnniwinther@google.com> Reviewed-by: Jens Johansen <jensj@google.com>
45 lines
1.8 KiB
Dart
45 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.md file.
|
|
|
|
// @dart = 2.9
|
|
|
|
import 'package:async_helper/async_helper.dart' show asyncTest;
|
|
|
|
import 'package:expect/expect.dart' show Expect;
|
|
|
|
import 'package:front_end/src/fasta/builder/invalid_type_declaration_builder.dart';
|
|
|
|
import 'package:front_end/src/fasta/compiler_context.dart' show CompilerContext;
|
|
|
|
import 'package:front_end/src/fasta/dill/dill_library_builder.dart'
|
|
show DillLibraryBuilder;
|
|
|
|
import 'package:front_end/src/fasta/dill/dill_target.dart' show DillTarget;
|
|
|
|
import 'package:kernel/ast.dart'
|
|
show Field, Library, Name, Component, StringLiteral;
|
|
|
|
main() async {
|
|
await asyncTest(() async {
|
|
Uri uri = Uri.parse("org.dartlang.fasta:library");
|
|
Library library = new Library(uri, fileUri: uri);
|
|
Field field = new Field.immutable(new Name("_exports#", 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.options.ticker,
|
|
await c.options.getUriTranslator(), c.options.target);
|
|
target.loader.appendLibraries(component);
|
|
DillLibraryBuilder builder = target.loader.read(library.importUri, -1);
|
|
await target.loader.buildOutline(builder);
|
|
builder.markAsReadyToFinalizeExports();
|
|
var mainExport =
|
|
builder.exportScope.lookupLocalMember("main", setter: false);
|
|
Expect.isTrue(mainExport is InvalidTypeDeclarationBuilder);
|
|
});
|
|
});
|
|
}
|