* Processes the provided pattern. * @param {Pattern | Property} pattern pattern * @param {OnIdent} onIdent on ident callback
(pattern, onIdent)
| 4738 | * @param {OnIdent} onIdent on ident callback |
| 4739 | */ |
| 4740 | enterPattern(pattern, onIdent) { |
| 4741 | if (!pattern) return; |
| 4742 | switch (pattern.type) { |
| 4743 | case "ArrayPattern": |
| 4744 | this.enterArrayPattern(pattern, onIdent); |
| 4745 | break; |
| 4746 | case "AssignmentPattern": |
| 4747 | this.enterAssignmentPattern(pattern, onIdent); |
| 4748 | break; |
| 4749 | case "Identifier": |
| 4750 | this.enterIdentifier(pattern, onIdent); |
| 4751 | break; |
| 4752 | case "ObjectPattern": |
| 4753 | this.enterObjectPattern(pattern, onIdent); |
| 4754 | break; |
| 4755 | case "RestElement": |
| 4756 | this.enterRestElement(pattern, onIdent); |
| 4757 | break; |
| 4758 | case "Property": |
| 4759 | if (pattern.shorthand && pattern.value.type === "Identifier") { |
| 4760 | this.scope.inShorthand = pattern.value.name; |
| 4761 | this.enterIdentifier(pattern.value, onIdent); |
| 4762 | this.scope.inShorthand = false; |
| 4763 | } else { |
| 4764 | this.enterPattern(/** @type {Pattern} */ (pattern.value), onIdent); |
| 4765 | } |
| 4766 | break; |
| 4767 | } |
| 4768 | } |
| 4769 | |
| 4770 | /** |
| 4771 | * Processes the provided pattern. |
no test coverage detected