visitConstructorDeclaration method

  1. @override
void visitConstructorDeclaration(
  1. ConstructorDeclaration node
)
override

Implementation

@override
void visitConstructorDeclaration(ConstructorDeclaration node) {
  if (className != null && _currentClassName != className) {
    return;
  }
  final constructorNameToken = node.name;
  bool isUnamedConstructor = constructorNameToken == null;
  // print({
  //   "className": className,
  //   // "_currentClassName": _currentClassName,
  //   "constructorName": constructorName,
  //   "node.name?.lexeme": constructorNameToken?.lexeme,
  //   "isUnamedConstructor": isUnamedConstructor,
  // });
  // for constructorList
  if (isUnamedConstructor) {
    constructorList.add(_currentClassName);
  } else {
    constructorList.add('$_currentClassName.$constructorNameToken');
  }

  // for targetNode
  if (className == constructorNameToken?.lexeme && isUnamedConstructor) {
    targetNode = node;
  } else if (constructorName == constructorNameToken?.lexeme) {
    targetNode = node;
  }
}