blob: e835b46fafe8eea61be835be00ca4fe5de31552e [file] [log] [blame]
// Copyright (c) 2019, 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:analyzer/dart/element/element.dart';
import 'package:dartdoc/src/comment_references/parser.dart';
import 'package:dartdoc/src/model/model.dart';
class Operator extends Method {
Operator(super.element, super.library, super.packageGraph);
Operator.providedByExtension(
super.element,
super.enclosingContainer,
super.library,
super.packageGraph, {
Element? originalMember,
}) : super.providedByExtension(
originalElement: originalMember as ExecutableElement?);
Operator.inherited(
super.element,
super.enclosingContainer,
super.library,
super.packageGraph, {
Element? originalMember,
}) : super.inherited(originalElement: originalMember as ExecutableElement?);
@override
String get fullyQualifiedName =>
'${library.name}.${enclosingElement.name}.${super.name}';
@override
bool get isOperator => true;
@override
String get name {
// TODO(jcollins-g): New lookup code will no longer require this operator
// prefix. Delete it and use super implementation after old lookup code
// is removed.
return 'operator ${super.name}';
}
@override
String get fileName => 'operator_${operatorNames[referenceName]}.html';
@override
String get referenceName => super.name;
}