@@ -573,25 +573,19 @@ func skipSatisfiesExpressions(node *ast.Node) *ast.Node {
573573
574574func getFunctionLikeHost (host * ast.Node ) * ast.Node {
575575 fun := host
576- if host .Kind == ast .KindVariableStatement && host .AsVariableStatement ().DeclarationList != nil {
577- for _ , declaration := range host .AsVariableStatement ().DeclarationList .AsVariableDeclarationList ().Declarations .Nodes {
578- initializer := skipSatisfiesExpressions (declaration .Initializer ())
579- if ast .IsFunctionLike (initializer ) {
580- fun = initializer
581- break
582- }
576+ switch host .Kind {
577+ case ast .KindVariableStatement :
578+ if nodes := host .AsVariableStatement ().DeclarationList .AsVariableDeclarationList ().Declarations .Nodes ; len (nodes ) != 0 {
579+ fun = nodes [0 ].Initializer ()
583580 }
584- } else if host .Kind == ast .KindPropertyAssignment {
585- fun = skipSatisfiesExpressions (host .Initializer ())
586- } else if host .Kind == ast .KindPropertyDeclaration {
587- fun = skipSatisfiesExpressions (host .Initializer ())
588- } else if host .Kind == ast .KindExportAssignment {
589- fun = host .Expression ()
590- } else if host .Kind == ast .KindReturnStatement {
581+ case ast .KindPropertyAssignment , ast .KindPropertyDeclaration :
582+ fun = host .Initializer ()
583+ case ast .KindExportAssignment , ast .KindReturnStatement :
591584 fun = host .Expression ()
592- } else if host . Kind == ast .KindExpressionStatement {
585+ case ast .KindExpressionStatement :
593586 fun = ast .GetRightMostAssignedExpression (host .Expression ())
594587 }
588+ fun = skipSatisfiesExpressions (fun )
595589 if ast .IsFunctionLike (fun ) {
596590 return fun
597591 }
0 commit comments