(ast: AST.AST)
| 619 | } |
| 620 | |
| 621 | function getIdentifierAnnotation(ast: AST.AST): string | undefined { |
| 622 | const identifier = Option.getOrUndefined(AST.getJSONIdentifier(ast)) |
| 623 | if (identifier === undefined) { |
| 624 | if (AST.isSuspend(ast)) { |
| 625 | return getIdentifierAnnotation(ast.f()) |
| 626 | } |
| 627 | if (AST.isTransformation(ast) && AST.isTypeLiteral(ast.from) && AST.isDeclaration(ast.to)) { |
| 628 | const to = ast.to |
| 629 | const surrogate = AST.getSurrogateAnnotation(to) |
| 630 | if (Option.isSome(surrogate)) { |
| 631 | return getIdentifierAnnotation(to) |
| 632 | } |
| 633 | } |
| 634 | } |
| 635 | return identifier |
| 636 | } |
| 637 | |
| 638 | function go( |
| 639 | ast: AST.AST, |
no test coverage detected
searching dependent graphs…