| // 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; | 
 | } |