Don't add dynamic to a reused dart:core library.

Change-Id: I6e4b5bef9e6cd244b7dd59d1be676e47358ec9b8
Reviewed-on: https://dart-review.googlesource.com/30453
Commit-Queue: Peter von der Ahé <ahe@google.com>
Reviewed-by: Jens Johansen <jensj@google.com>
This commit is contained in:
Peter von der Ahé 2017-12-20 11:05:55 +00:00 committed by commit-bot@chromium.org
parent 3b6e403f1b
commit 2eab494036
2 changed files with 6 additions and 11 deletions

View file

@ -175,8 +175,10 @@ abstract class LibraryBuilder<T extends TypeBuilder, R>
int finishTypeVariables(ClassBuilder object) => 0;
void becomeCoreLibrary(dynamicType) {
addBuilder("dynamic",
new DynamicTypeBuilder<T, dynamic>(dynamicType, this, -1), -1);
if (scope.local["dynamic"] == null) {
addBuilder("dynamic",
new DynamicTypeBuilder<T, dynamic>(dynamicType, this, -1), -1);
}
}
void forEach(void f(String name, Builder builder)) {

View file

@ -16,8 +16,7 @@ import 'package:front_end/src/base/processed_options.dart'
import 'package:front_end/src/fasta/compiler_context.dart' show CompilerContext;
import 'package:front_end/src/fasta/fasta_codes.dart'
show LocatedMessage, codeDuplicatedDefinition;
import 'package:front_end/src/fasta/fasta_codes.dart' show LocatedMessage;
import 'package:front_end/src/fasta/incremental_compiler.dart'
show FastaDelta, IncrementalCompiler;
@ -26,12 +25,7 @@ import 'package:front_end/src/fasta/severity.dart' show Severity;
void problemHandler(LocatedMessage message, Severity severity, String formatted,
int line, int column) {
if (message.code != codeDuplicatedDefinition ||
message.arguments["name"] != "dynamic") {
throw "Unexpected message: $formatted";
} else {
print(formatted);
}
throw "Unexpected message: $formatted";
}
test() async {
@ -60,7 +54,6 @@ test() async {
delta = await compiler.computeDelta(entryPoint: helloDart);
// Expect that the new program contains exactly hello.dart
Expect.isTrue(delta.newProgram.libraries.length == 1);
print("new program has expected length");
}
void main() {