blob: a84b58d7db7d43aa3003da2abd5fa99ac00f9721 [file] [log] [blame]
// 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;
}