visitMethodDeclaration method

  1. @override
void visitMethodDeclaration(
  1. MethodDeclaration node
)
override

Implementation

@override
void visitMethodDeclaration(MethodDeclaration node) {
  final methodName = node.name.lexeme;
  final qualifiedName = _currentContainer != null ? (_currentContainer! + '.' + methodName) : methodName;
  final methodId = SymbolNode.buildId(filePath, qualifiedName);

  final typeStr = node.isGetter ? 'getter' : (node.isSetter ? 'setter' : 'method');

  graph.addSymbol(SymbolNode(
    id: methodId,
    filePath: filePath,
    symbolName: qualifiedName,
    containerName: _currentContainer,
    symbolType: typeStr,
    isTest: filePath.startsWith('test/'),
  ));

  final oldSymbolId = _currentSymbolId;
  _currentSymbolId = methodId;

  super.visitMethodDeclaration(node);

  _currentSymbolId = oldSymbolId;
}