@@ -3638,78 +3638,15 @@ func GetSemanticJsxChildren(children []*JsxChild) []*JsxChild {
3638
3638
})
3639
3639
}
3640
3640
3641
- func IsExpandoPropertyDeclaration (node * Node ) bool {
3642
- if node == nil {
3643
- return false
3644
- }
3645
- return IsPropertyAccessExpression (node ) || IsElementAccessExpression (node ) || IsBinaryExpression (node )
3646
- }
3647
-
3648
- func GetExpandoInitializer (initializer * Node , isPrototypeAssignment bool ) * Node {
3649
- if initializer .Kind == KindCallExpression {
3650
- expr := SkipParentheses (initializer .Expression ())
3651
- if expr .Kind == KindFunctionExpression || expr .Kind == KindArrowFunction {
3652
- return initializer
3653
- }
3654
- return nil
3655
- }
3656
-
3657
- if initializer .Kind == KindFunctionExpression || initializer .Kind == KindCallExpression || initializer .Kind == KindArrowFunction {
3658
- return initializer
3659
- }
3660
-
3661
- if initializer .Kind == KindObjectLiteralExpression && (len (initializer .Properties ()) == 0 || isPrototypeAssignment ) {
3662
- return initializer
3663
- }
3664
-
3665
- return nil
3666
- }
3667
-
3668
- func GetEffectiveInitializer (node * Node ) * Expression {
3669
- if IsInJSFile (node ) && node .Initializer () != nil && IsBinaryExpression (node .Initializer ()) {
3670
- initializer := node .Initializer ().AsBinaryExpression ()
3671
- if initializer .OperatorToken .Kind == KindBarBarToken || initializer .OperatorToken .Kind == KindQuestionQuestionToken {
3672
- if node .Name () != nil && IsEntityNameExpressionEx (node .Name (), IsInJSFile (node )) && IsSameEntityName (node .Name (), initializer .Left ) {
3673
- return initializer .Right
3674
- }
3675
- }
3676
- }
3677
- return node .Initializer ()
3678
- }
3679
-
3680
- func GetDeclaredExpandoInitializer (node * Node ) * Expression {
3681
- initializer := GetEffectiveInitializer (node )
3641
+ func IsExpandoInitializer (initializer * Node ) bool {
3682
3642
if initializer == nil {
3683
- return nil
3684
- }
3685
- return GetExpandoInitializer (initializer , IsPrototypeAccess (node .Name ()))
3686
- }
3687
-
3688
- func IsPrototypeAccess (node * Node ) bool {
3689
- return IsBindableStaticAccessExpression (node , false /*excludeThisKeyword*/ )
3690
- }
3691
-
3692
- func IsLiteralLikeAccess (node * Node ) bool {
3693
- return IsPropertyAccessExpression (node ) || IsLiteralLikeElementAccess (node )
3694
- }
3695
-
3696
- func GetNameOrArgument (node * Expression ) * Expression {
3697
- if IsPropertyAccessExpression (node ) {
3698
- return node .Name ()
3699
- }
3700
- return node .AsElementAccessExpression ().ArgumentExpression
3701
- }
3702
-
3703
- func IsSameEntityName (name * Expression , initializer * Expression ) bool {
3704
- if IsPropertyNameLiteral (name ) && IsPropertyNameLiteral (initializer ) {
3705
- return name .Text () == initializer .Text ()
3643
+ return false
3706
3644
}
3707
- if IsMemberName (name ) && IsLiteralLikeAccess (initializer ) && (initializer .Expression ().Kind == KindThisKeyword || IsIdentifier (initializer .Expression ()) &&
3708
- (initializer .Expression ().Text () == "window" || initializer .Expression ().Text () == "self" || initializer .Expression ().Text () == "global" )) {
3709
- return IsSameEntityName (name , GetNameOrArgument (initializer ))
3645
+ if IsFunctionExpressionOrArrowFunction (initializer ) {
3646
+ return true
3710
3647
}
3711
- if IsLiteralLikeAccess ( name ) && IsLiteralLikeAccess (initializer ) {
3712
- return GetElementOrPropertyAccessName ( name ) == GetElementOrPropertyAccessName ( initializer ) && IsSameEntityName ( name . Expression (), initializer . Expression () )
3648
+ if IsInJSFile (initializer ) {
3649
+ return IsClassExpression ( initializer ) || ( IsObjectLiteralExpression ( initializer ) && len ( initializer . AsObjectLiteralExpression (). Properties . Nodes ) == 0 )
3713
3650
}
3714
3651
return false
3715
3652
}
0 commit comments