blob: 5b07db1f3adc0051afeaa5b947f1c6e76e7a2012 [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.
library fasta.loader;
import 'package:_fe_analyzer_shared/src/messages/severity.dart' show Severity;
import 'package:kernel/ast.dart' show Class, DartType;
import 'builder/class_builder.dart';
import 'builder/library_builder.dart';
import 'builder/type_builder.dart';
import 'messages.dart' show FormattedMessage, LocatedMessage, Message;
import 'target_implementation.dart' show TargetImplementation;
const String untranslatableUriScheme = "org-dartlang-untranslatable-uri";
abstract class Loader {
TargetImplementation get target;
Map<Uri, LibraryBuilder> get builders;
/// 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,
Severity? severity,
bool problemOnLibrary: false,
List<Uri>? involvedFiles});
ClassBuilder computeClassBuilderFromTargetClass(Class cls);
TypeBuilder computeTypeBuilder(DartType type);
LibraryBuilder get coreLibrary;
}