blob: c0b4f8ac7317994bc146ed629e9d51004915ca64 [file] [log] [blame]
// Copyright (c) 2022, 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 '../common.dart';
import '../elements/entities.dart';
import '../elements/jumps.dart';
import '../js/js.dart' as jsAst;
import '../universe/selector.dart' show Selector;
import 'package:js_shared/synced/embedded_names.dart' show JsGetName;
abstract class ModularNamer {
jsAst.Name get rtiFieldJsName;
jsAst.Name aliasedSuperMemberPropertyName(MemberEntity member);
jsAst.Name asName(String name);
String breakLabelName(LabelDefinition label);
String continueLabelName(LabelDefinition label);
String implicitBreakLabelName(JumpTarget target);
String implicitContinueLabelName(JumpTarget target);
jsAst.Name invocationName(Selector selector);
jsAst.Name instanceFieldPropertyName(FieldEntity element);
jsAst.Name instanceMethodName(FunctionEntity method);
jsAst.Name nameForGetInterceptor(Set<ClassEntity> classes);
jsAst.Name nameForOneShotInterceptor(
Selector selector, Set<ClassEntity> classes);
jsAst.Name getNameForJsGetName(Spannable spannable, JsGetName name);
jsAst.Expression readGlobalObjectForInterceptors();
}