blob: 40f86af44bace97a03efd6b9e278eec5ede7221e [file] [log] [blame]
// Copyright (c) 2018, 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.
/// This library exports all API from Kernel that can be used throughout fasta.
library fasta.kernel_api;
export 'package:kernel/type_algebra.dart' show Substitution, substitute;
export 'package:kernel/class_hierarchy.dart' show ClassHierarchy;
export 'package:kernel/clone.dart' show CloneVisitorNotMembers;
export 'package:kernel/core_types.dart' show CoreTypes;
export 'package:kernel/transformations/flags.dart' show TransformerFlag;
export 'package:kernel/text/ast_to_text.dart' show NameSystem;
export 'package:kernel/type_environment.dart' show TypeEnvironment;
export 'package:kernel/src/bounds_checks.dart' show instantiateToBounds;
import 'package:kernel/text/ast_to_text.dart' show NameSystem, Printer;
import 'package:kernel/ast.dart' show Class, Member, Node;
void printNodeOn(Node? node, StringSink sink, {NameSystem? syntheticNames}) {
if (node == null) {
sink.write("null");
} else {
syntheticNames ??= new NameSystem();
new Printer(sink, syntheticNames: syntheticNames).writeNode(node);
}
}
void printQualifiedNameOn(Member? member, StringSink sink) {
if (member == null) {
sink.write("null");
} else {
sink.write(member.enclosingLibrary.importUri);
sink.write("::");
Class? cls = member.enclosingClass;
if (cls != null) {
sink.write(cls.name);
sink.write("::");
}
sink.write(member.name.text);
}
}