blob: 9c8ce7744aab359bcf2f45cc1a9b2883f45e9376 [file] [log] [blame]
// 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.
library fasta.unresolved_type;
import 'builder.dart' show LibraryBuilder, Scope, TypeBuilder;
/// A wrapper around a type that is yet to be resolved.
class UnresolvedType<T extends TypeBuilder> {
final T builder;
final int charOffset;
final Uri fileUri;
UnresolvedType(this.builder, this.charOffset, this.fileUri);
void resolveIn(Scope scope, LibraryBuilder library) =>
builder.resolveIn(scope, charOffset, fileUri, library);
/// Performs checks on the type after it's resolved.
void checkType(LibraryBuilder library) {
return builder.check(library, charOffset, fileUri);
}
/// Normalizes the type arguments in accordance with Dart 1 semantics.
void normalizeType() => builder.normalize(charOffset, fileUri);
String toString() => "UnresolvedType(@$charOffset, $builder)";
}