| // Copyright (c) 2016, 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:_fe_analyzer_shared/src/messages/severity.dart' | |
| show CfeSeverity; | |
| import 'package:kernel/ast.dart' show Class, DartType, ExtensionTypeDeclaration; | |
| import '../builder/declaration_builders.dart'; | |
| import '../builder/compilation_unit.dart'; | |
| import '../builder/library_builder.dart'; | |
| import '../builder/type_builder.dart'; | |
| import 'messages.dart' show FormattedMessage, LocatedMessage, Message; | |
| const String untranslatableUriScheme = "org-dartlang-untranslatable-uri"; | |
| abstract class Loader { | |
| /// Register [message] as a problem with a severity determined by the | |
| /// intrinsic severity of the message. | |
| FormattedMessage? addProblem( | |
| Message message, | |
| int charOffset, | |
| int length, | |
| Uri? fileUri, { | |
| bool wasHandled = false, | |
| List<LocatedMessage>? context, | |
| CfeSeverity? severity, | |
| bool problemOnLibrary = false, | |
| List<Uri>? involvedFiles, | |
| }); | |
| ClassBuilder computeClassBuilderFromTargetClass(Class cls); | |
| ExtensionTypeDeclarationBuilder | |
| computeExtensionTypeBuilderFromTargetExtensionType( | |
| ExtensionTypeDeclaration extensionType, | |
| ); | |
| TypeBuilder computeTypeBuilder(DartType type); | |
| /// The [LibraryBuilder] for 'dart:core'. | |
| LibraryBuilder get coreLibrary; | |
| /// The main compilation unit for 'dart:core'. | |
| CompilationUnit get coreLibraryCompilationUnit; | |
| } |