Skip to content

Commit 37935cf

Browse files
committed
delete obsolete helpers
1 parent 9eb36b8 commit 37935cf

File tree

4 files changed

+24
-102
lines changed

4 files changed

+24
-102
lines changed

internal/ast/utilities.go

Lines changed: 6 additions & 69 deletions
Original file line numberDiff line numberDiff line change
@@ -3638,78 +3638,15 @@ func GetSemanticJsxChildren(children []*JsxChild) []*JsxChild {
36383638
})
36393639
}
36403640

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 {
36823642
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
37063644
}
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
37103647
}
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)
37133650
}
37143651
return false
37153652
}

internal/binder/binder.go

Lines changed: 2 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1019,30 +1019,18 @@ func getInitializerSymbol(symbol *ast.Symbol) *ast.Symbol {
10191019
case ast.IsVariableDeclaration(declaration) &&
10201020
(declaration.Parent.Flags&ast.NodeFlagsConst != 0 || ast.IsInJSFile(declaration)):
10211021
initializer := declaration.Initializer()
1022-
if isExpandoInitializer(initializer) {
1022+
if ast.IsExpandoInitializer(initializer) {
10231023
return initializer.Symbol()
10241024
}
10251025
case ast.IsBinaryExpression(declaration) && ast.IsInJSFile(declaration):
10261026
initializer := declaration.AsBinaryExpression().Right
1027-
if isExpandoInitializer(initializer) {
1027+
if ast.IsExpandoInitializer(initializer) {
10281028
return initializer.Symbol()
10291029
}
10301030
}
10311031
return nil
10321032
}
10331033

1034-
func isExpandoInitializer(initializer *ast.Node) bool {
1035-
if initializer == nil {
1036-
return false
1037-
}
1038-
if ast.IsFunctionExpressionOrArrowFunction(initializer) {
1039-
return true
1040-
} else if ast.IsInJSFile(initializer) {
1041-
return ast.IsClassExpression(initializer) || (ast.IsObjectLiteralExpression(initializer) && len(initializer.AsObjectLiteralExpression().Properties.Nodes) == 0)
1042-
}
1043-
return false
1044-
}
1045-
10461034
func (b *Binder) bindThisPropertyAssignment(node *ast.Node) {
10471035
if !ast.IsInJSFile(node) {
10481036
return

internal/checker/emitresolver.go

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -612,33 +612,33 @@ func (r *emitResolver) IsExpandoFunctionDeclaration(node *ast.Node) bool {
612612
r.checkerMu.Lock()
613613
defer r.checkerMu.Unlock()
614614

615-
var symbol *ast.Symbol
615+
var declaration *ast.Node
616616
if ast.IsVariableDeclaration(node) {
617-
if node.Type() != nil || (!ast.IsInJSFile(node) && !ast.IsVarConstLike(node)) {
618-
return false
619-
}
620-
initializer := ast.GetDeclaredExpandoInitializer(node)
621-
if initializer == nil || !ast.CanHaveSymbol(initializer) {
622-
return false
617+
initializer := node.Initializer()
618+
if node.Type() == nil && (ast.IsInJSFile(node) || ast.IsVarConstLike(node)) && ast.IsExpandoInitializer(initializer) {
619+
declaration = initializer
623620
}
624-
symbol = r.checker.getSymbolOfDeclaration(initializer)
625-
} else if ast.IsFunctionDeclaration(node) {
626-
symbol = r.checker.getSymbolOfDeclaration(node)
627621
}
628622

623+
if ast.IsFunctionDeclaration(node) {
624+
declaration = node
625+
}
626+
627+
if declaration == nil {
628+
return false
629+
}
630+
631+
symbol := r.checker.getSymbolOfDeclaration(declaration)
629632
if symbol == nil || (symbol.Flags&(ast.SymbolFlagsFunction|ast.SymbolFlagsVariable)) == 0 {
630633
return false
631634
}
632635

633636
exports := r.checker.getExportsOfSymbol(symbol)
634637
for _, p := range exports {
635-
if p.Flags&ast.SymbolFlagsValue == 0 {
636-
continue
637-
}
638-
if p.ValueDeclaration == nil {
638+
if p.ValueDeclaration == nil || p.Flags&ast.SymbolFlagsValue == 0 || p.Flags&ast.SymbolFlagsAssignment == 0 {
639639
continue
640640
}
641-
if ast.IsExpandoPropertyDeclaration(p.ValueDeclaration) {
641+
if p.ValueDeclaration.Flags&ast.NodeFlagsAmbient == 0 {
642642
return true
643643
}
644644
}

internal/transformers/declarations/transform.go

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1181,10 +1181,7 @@ func (tx *DeclarationTransformer) transformFunctionDeclaration(input *ast.Functi
11811181
declarations := []*ast.Statement{}
11821182

11831183
for _, p := range props {
1184-
if p.ValueDeclaration == nil {
1185-
continue
1186-
}
1187-
if !ast.IsExpandoPropertyDeclaration(p.ValueDeclaration) {
1184+
if p.ValueDeclaration == nil || p.Flags&ast.SymbolFlagsAssignment == 0 {
11881185
continue
11891186
}
11901187
if !scanner.IsIdentifierText(p.Name, core.LanguageVariantStandard) {

0 commit comments

Comments
 (0)