* Processes the provided prop. * @param {Property | SpreadElement} prop property or spread element
(prop)
| 3668 | * @param {Property | SpreadElement} prop property or spread element |
| 3669 | */ |
| 3670 | walkProperty(prop) { |
| 3671 | if (prop.type === "SpreadElement") { |
| 3672 | this.walkExpression(prop.argument); |
| 3673 | return; |
| 3674 | } |
| 3675 | if (prop.computed) { |
| 3676 | this.walkExpression(prop.key); |
| 3677 | } |
| 3678 | if (prop.shorthand && prop.value && prop.value.type === "Identifier") { |
| 3679 | this.scope.inShorthand = prop.value.name; |
| 3680 | this.walkIdentifier(prop.value); |
| 3681 | this.scope.inShorthand = false; |
| 3682 | } else { |
| 3683 | this.walkExpression( |
| 3684 | /** @type {Exclude<Property["value"], AssignmentPattern | ObjectPattern | ArrayPattern | RestElement>} */ |
| 3685 | (prop.value) |
| 3686 | ); |
| 3687 | } |
| 3688 | } |
| 3689 | |
| 3690 | /** |
| 3691 | * Walk function expression. |
no test coverage detected