| // 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.builtin_type_builder; |
| |
| import 'package:kernel/ast.dart' show DartType, Nullability; |
| |
| import 'library_builder.dart'; |
| import 'nullability_builder.dart'; |
| import 'type_builder.dart'; |
| |
| import 'type_declaration_builder.dart'; |
| |
| abstract class BuiltinTypeDeclarationBuilder |
| extends TypeDeclarationBuilderImpl { |
| final DartType type; |
| |
| @override |
| final Uri fileUri; |
| |
| BuiltinTypeDeclarationBuilder( |
| String name, this.type, LibraryBuilder compilationUnit, int charOffset) |
| : fileUri = compilationUnit.fileUri, |
| super(null, 0, name, compilationUnit, charOffset); |
| |
| DartType buildType(LibraryBuilder library, |
| NullabilityBuilder nullabilityBuilder, List<TypeBuilder>? arguments, |
| {bool? nonInstanceContext}) { |
| return type.withDeclaredNullability(nullabilityBuilder.build(library)); |
| } |
| |
| DartType buildTypesWithBuiltArguments(LibraryBuilder library, |
| Nullability nullability, List<DartType> arguments) { |
| return type.withDeclaredNullability(nullability); |
| } |
| |
| String get debugName => "BuiltinTypeDeclarationBuilder"; |
| } |