github.com/evanw/esbuild/internal/js_ast.Stmt.Data (field)

283 uses

	github.com/evanw/esbuild/internal/js_ast (current package)
		js_ast.go#L699: 	return Stmt{Loc: a.Loc, Data: &SExpr{Value: Assign(a, b)}}
		js_ast.go#L918: 	Data S
		js_ast.go#L1199: 	if expr, ok := stmt.Data.(*SExpr); ok {

	github.com/evanw/esbuild/internal/bundler
		linker.go#L960: 				chunkRepr.crossChunkSuffixStmts = []js_ast.Stmt{{Data: &js_ast.SExportClause{
		linker.go#L994: 					crossChunkPrefixStmts = append(crossChunkPrefixStmts, js_ast.Stmt{Data: &js_ast.SImport{
		linker.go#L1000: 					crossChunkPrefixStmts = append(crossChunkPrefixStmts, js_ast.Stmt{Data: &js_ast.SImport{
		linker.go#L1421: 	lazy, ok := part.Stmts[0].Data.(*js_ast.SLazyExport)
		linker.go#L1460: 			stmt = js_ast.Stmt{Loc: value.Loc, Data: &js_ast.SExportDefault{
		linker.go#L1465: 			stmt = js_ast.Stmt{Loc: value.Loc, Data: &js_ast.SLocal{
		linker.go#L1607: 				entryPointExportStmts = append(entryPointExportStmts, js_ast.Stmt{Data: &js_ast.SLocal{
		linker.go#L1655: 		body := js_ast.FnBody{Stmts: []js_ast.Stmt{{Loc: value.Loc, Data: &js_ast.SReturn{Value: &value}}}}
		linker.go#L1686: 		nsExportStmts = append(nsExportStmts, js_ast.Stmt{Data: &js_ast.SLocal{Decls: []js_ast.Decl{{
		linker.go#L1703: 		nsExportStmts = append(nsExportStmts, js_ast.Stmt{Data: &js_ast.SExpr{Value: js_ast.Expr{Data: &js_ast.ECall{
		linker.go#L1725: 		nsExportStmts = append(nsExportStmts, js_ast.Stmt{Data: &js_ast.SExpr{Value: js_ast.Expr{Data: &js_ast.ECall{
		linker.go#L1776: 			js_ast.Stmt{Data: &js_ast.SExportClause{Items: entryPointES6ExportItems}})
		linker.go#L1787: 				cjsWrapStmt = js_ast.Stmt{Data: &js_ast.SExpr{Value: js_ast.Expr{Data: &js_ast.ECall{
		linker.go#L1794: 					cjsWrapStmt = js_ast.Stmt{Data: &js_ast.SReturn{Value: &js_ast.Expr{Data: &js_ast.ECall{
		linker.go#L1799: 					cjsWrapStmt = js_ast.Stmt{Data: &js_ast.SExpr{Value: js_ast.Expr{Data: &js_ast.ECall{
		linker.go#L1818: 				cjsWrapStmt = js_ast.Stmt{Data: &js_ast.SExportDefault{Value: js_ast.ExprOrStmt{Expr: &js_ast.Expr{Data: &js_ast.ECall{
		linker.go#L1824: 			cjsWrapStmt = js_ast.Stmt{Data: &js_ast.SReturn{Value: &js_ast.Expr{Data: &js_ast.EIdentifier{Ref: repr.ast.ExportsRef}}}}
		linker.go#L1828: 	if len(entryPointExportStmts) > 0 || cjsWrapStmt.Data != nil {
		linker.go#L1830: 		if cjsWrapStmt.Data != nil {
		linker.go#L2888: 		if s, ok := part.Stmts[0].Data.(*js_ast.SImport); ok {
		linker.go#L3038: 		Data: &js_ast.SLocal{Decls: []js_ast.Decl{{
		linker.go#L3053: 		switch s := stmt.Data.(type) {
		linker.go#L3077: 							stmt.Data = &js_ast.SImport{
		linker.go#L3087: 								Data: &js_ast.SExpr{Value: js_ast.Expr{Loc: stmt.Loc, Data: &js_ast.ECall{
		linker.go#L3108: 								Data: &js_ast.SExpr{Value: js_ast.Expr{Loc: stmt.Loc, Data: &js_ast.ECall{
		linker.go#L3130: 					stmt.Data = &js_ast.SImport{
		linker.go#L3155: 				stmt.Data = &js_ast.SImport{
		linker.go#L3187: 				stmt.Data = &clone
		linker.go#L3195: 				stmt.Data = &clone
		linker.go#L3203: 				stmt.Data = &clone
		linker.go#L3211: 					stmt = js_ast.Stmt{Loc: stmt.Loc, Data: &js_ast.SLocal{Decls: []js_ast.Decl{
		linker.go#L3215: 					switch s2 := s.Value.Stmt.Data.(type) {
		linker.go#L3224: 						stmt = js_ast.Stmt{Loc: s.Value.Stmt.Loc, Data: s2}
		linker.go#L3234: 						stmt = js_ast.Stmt{Loc: s.Value.Stmt.Loc, Data: s2}
		linker.go#L3258: 		if after, ok := stmt.Data.(*js_ast.SLocal); ok {
		linker.go#L3259: 			if before, ok := stmts[end-1].Data.(*js_ast.SLocal); ok {
		linker.go#L3272: 						stmts[end-1].Data = &clone
		linker.go#L3419: 		stmts = append(stmtList.es6StmtsForCJSWrap, js_ast.Stmt{Data: &js_ast.SLocal{
		linker.go#L3592: 						switch s := stmt.Data.(type) {
		linker.go#L4384: 			switch s := stmt.Data.(type) {

	github.com/evanw/esbuild/internal/js_parser
		js_parser.go#L2181: 		Body:       js_ast.FnBody{Loc: arrowLoc, Stmts: []js_ast.Stmt{{Loc: expr.Loc, Data: &js_ast.SReturn{Value: &expr}}}},
		js_parser.go#L3985: 			return js_ast.Expr{}, js_ast.Stmt{Loc: letRange.Loc, Data: &js_ast.SLocal{
		js_parser.go#L4785: 	return js_ast.Stmt{Loc: loc, Data: &js_ast.SClass{Class: class, IsExport: opts.isExport}}
		js_parser.go#L4980: 		return js_ast.Stmt{Loc: loc, Data: &js_ast.STypeScript{}}
		js_parser.go#L5005: 	return js_ast.Stmt{Loc: loc, Data: &js_ast.SFunction{Fn: fn, IsExport: opts.isExport}}
		js_parser.go#L5041: 		return js_ast.Stmt{Loc: loc, Data: &js_ast.SEmpty{}}
		js_parser.go#L5098: 				return js_ast.Stmt{Loc: loc, Data: &js_ast.STypeScript{}}
		js_parser.go#L5125: 					return js_ast.Stmt{Loc: loc, Data: &js_ast.STypeScript{}}
		js_parser.go#L5179: 					if _, ok := stmt.Data.(*js_ast.STypeScript); ok {
		js_parser.go#L5185: 					if s, ok := stmt.Data.(*js_ast.SFunction); ok && s.Fn.Name != nil {
		js_parser.go#L5191: 					return js_ast.Stmt{Loc: loc, Data: &js_ast.SExportDefault{DefaultName: defaultName, Value: js_ast.ExprOrStmt{Stmt: &stmt}}}
		js_parser.go#L5197: 				return js_ast.Stmt{Loc: loc, Data: &js_ast.SExportDefault{DefaultName: defaultName, Value: js_ast.ExprOrStmt{Expr: &expr}}}
		js_parser.go#L5206: 				if _, ok := stmt.Data.(*js_ast.STypeScript); ok {
		js_parser.go#L5212: 				switch s := stmt.Data.(type) {
		js_parser.go#L5229: 				return js_ast.Stmt{Loc: loc, Data: &js_ast.SExportDefault{DefaultName: defaultName, Value: js_ast.ExprOrStmt{Stmt: &stmt}}}
		js_parser.go#L5246: 					if s, ok := stmt.Data.(*js_ast.SClass); ok && s.Class.Name != nil {
		js_parser.go#L5252: 					return js_ast.Stmt{Loc: loc, Data: &js_ast.SExportDefault{DefaultName: defaultName, Value: js_ast.ExprOrStmt{Stmt: &stmt}}}
		js_parser.go#L5258: 			return js_ast.Stmt{Loc: loc, Data: &js_ast.SExportDefault{DefaultName: defaultName, Value: js_ast.ExprOrStmt{Expr: &expr}}}
		js_parser.go#L5294: 			return js_ast.Stmt{Loc: loc, Data: &js_ast.SExportStar{
		js_parser.go#L5313: 				return js_ast.Stmt{Loc: loc, Data: &js_ast.SExportFrom{
		js_parser.go#L5321: 			return js_ast.Stmt{Loc: loc, Data: &js_ast.SExportClause{Items: items, IsSingleLine: isSingleLine}}
		js_parser.go#L5330: 				return js_ast.Stmt{Loc: loc, Data: &js_ast.SExportEquals{Value: value}}
		js_parser.go#L5401: 		return js_ast.Stmt{Loc: loc, Data: &js_ast.SLocal{
		js_parser.go#L5423: 		return js_ast.Stmt{Loc: loc, Data: &js_ast.SLocal{
		js_parser.go#L5441: 		return js_ast.Stmt{Loc: loc, Data: &js_ast.SIf{Test: test, Yes: yes, No: no}}
		js_parser.go#L5456: 		return js_ast.Stmt{Loc: loc, Data: &js_ast.SDoWhile{Body: body, Test: test}}
		js_parser.go#L5464: 		return js_ast.Stmt{Loc: loc, Data: &js_ast.SWhile{Test: test, Body: body}}
		js_parser.go#L5480: 		return js_ast.Stmt{Loc: loc, Data: &js_ast.SWith{Value: test, BodyLoc: bodyLoc, Body: body}}
		js_parser.go#L5530: 		return js_ast.Stmt{Loc: loc, Data: &js_ast.SSwitch{
		js_parser.go#L5601: 		return js_ast.Stmt{Loc: loc, Data: &js_ast.STry{
		js_parser.go#L5652: 			init = &js_ast.Stmt{Loc: initLoc, Data: &js_ast.SLocal{Kind: js_ast.LocalVar, Decls: decls}}
		js_parser.go#L5658: 			init = &js_ast.Stmt{Loc: initLoc, Data: &js_ast.SLocal{Kind: js_ast.LocalConst, Decls: decls}}
		js_parser.go#L5666: 			if stmt.Data != nil {
		js_parser.go#L5670: 				init = &js_ast.Stmt{Loc: initLoc, Data: &js_ast.SExpr{Value: expr}}
		js_parser.go#L5695: 			return js_ast.Stmt{Loc: loc, Data: &js_ast.SForOf{IsAwait: isForAwait, Init: *init, Value: value, Body: body}}
		js_parser.go#L5705: 			return js_ast.Stmt{Loc: loc, Data: &js_ast.SForIn{Init: *init, Value: value, Body: body}}
		js_parser.go#L5710: 			if local, ok := init.Data.(*js_ast.SLocal); ok && local.Kind == js_ast.LocalConst {
		js_parser.go#L5731: 		return js_ast.Stmt{Loc: loc, Data: &js_ast.SFor{Init: init, Test: test, Update: update, Body: body}}
		js_parser.go#L5753: 			return js_ast.Stmt{Loc: loc, Data: &js_ast.SExpr{Value: expr}}
		js_parser.go#L5814: 							return js_ast.Stmt{Loc: loc, Data: &js_ast.STypeScript{}}
		js_parser.go#L5825: 						return js_ast.Stmt{Loc: loc, Data: &js_ast.STypeScript{}}
		js_parser.go#L5833: 						return js_ast.Stmt{Loc: loc, Data: &js_ast.STypeScript{}}
		js_parser.go#L5913: 		return js_ast.Stmt{Loc: loc, Data: &stmt}
		js_parser.go#L5919: 		return js_ast.Stmt{Loc: loc, Data: &js_ast.SBreak{Label: name}}
		js_parser.go#L5925: 		return js_ast.Stmt{Loc: loc, Data: &js_ast.SContinue{Label: name}}
		js_parser.go#L5942: 		return js_ast.Stmt{Loc: loc, Data: &js_ast.SReturn{Value: value}}
		js_parser.go#L5952: 		return js_ast.Stmt{Loc: loc, Data: &js_ast.SThrow{Value: expr}}
		js_parser.go#L5957: 		return js_ast.Stmt{Loc: loc, Data: &js_ast.SDebugger{}}
		js_parser.go#L5966: 		return js_ast.Stmt{Loc: loc, Data: &js_ast.SBlock{Stmts: stmts}}
		js_parser.go#L5985: 			if stmt.Data != nil {
		js_parser.go#L6005: 					return js_ast.Stmt{Loc: loc, Data: &js_ast.SLabel{Name: name, Stmt: stmt}}
		js_parser.go#L6014: 							return js_ast.Stmt{Loc: loc, Data: &js_ast.STypeScript{}}
		js_parser.go#L6030: 						return js_ast.Stmt{Loc: loc, Data: &js_ast.STypeScript{}}
		js_parser.go#L6043: 							return js_ast.Stmt{Loc: loc, Data: &js_ast.STypeScript{}}
		js_parser.go#L6062: 							return js_ast.Stmt{Loc: loc, Data: &js_ast.STypeScript{}}
		js_parser.go#L6093: 							if s, ok := stmt.Data.(*js_ast.SLocal); ok {
		js_parser.go#L6099: 								return js_ast.Stmt{Loc: loc, Data: &js_ast.SLocal{
		js_parser.go#L6107: 						return js_ast.Stmt{Loc: loc, Data: &js_ast.STypeScript{}}
		js_parser.go#L6114: 		return js_ast.Stmt{Loc: loc, Data: &js_ast.SExpr{Value: expr}}
		js_parser.go#L6189: 					Data: &js_ast.SComment{Text: comment.Text},
		js_parser.go#L6202: 			if _, ok := stmt.Data.(*js_ast.STypeScript); ok {
		js_parser.go#L6210: 			if expr, ok := stmt.Data.(*js_ast.SExpr); ok {
		js_parser.go#L6212: 					stmt.Data = &js_ast.SDirective{Value: str.Value, LegacyOctalLoc: str.LegacyOctalLoc}
		js_parser.go#L6234: 						stmt.Data = &js_ast.SEmpty{}
		js_parser.go#L6245: 			if s, ok := stmt.Data.(*js_ast.SReturn); ok && s.Value == nil && !p.latestReturnHadSemicolon {
		js_parser.go#L6249: 					if _, ok := stmt.Data.(*js_ast.SExpr); ok {
		js_parser.go#L6413: 	switch s := stmt.Data.(type) {
		js_parser.go#L6511: 		stmt := js_ast.Stmt{Data: &js_ast.SLocal{Kind: js_ast.LocalVar, Decls: decls}}
		js_parser.go#L6542: 		switch s := stmt.Data.(type) {
		js_parser.go#L6570: 			s, ok := stmt.Data.(*js_ast.SFunction)
		js_parser.go#L6603: 		before = append(before[:0], js_ast.Stmt{Loc: letDecls[0].Value.Loc, Data: &js_ast.SLocal{Kind: kind, Decls: letDecls}})
		js_parser.go#L6607: 				if assign.Data != nil {
		js_parser.go#L6611: 				before = append(before, js_ast.Stmt{Loc: varDecls[0].Value.Loc, Data: &js_ast.SLocal{Kind: js_ast.LocalVar, Decls: varDecls}})
		js_parser.go#L6639: 			if s, ok := stmt.Data.(*js_ast.SLocal); ok && s.Kind == js_ast.LocalVar && end > 0 {
		js_parser.go#L6641: 				if prevS, ok := prevStmt.Data.(*js_ast.SLocal); ok && prevS.Kind == js_ast.LocalVar && s.IsExport == prevS.IsExport {
		js_parser.go#L6710: 				if prevS, ok := result[len(result)-1].Data.(*js_ast.SLocal); ok && prevS.Kind != js_ast.LocalVar {
		js_parser.go#L6743: 		switch s := stmt.Data.(type) {
		js_parser.go#L6757: 				if prevS, ok := prevStmt.Data.(*js_ast.SLocal); ok && s.Kind == prevS.Kind && s.IsExport == prevS.IsExport {
		js_parser.go#L6767: 				if prevS, ok := prevStmt.Data.(*js_ast.SExpr); ok && !js_ast.IsSuperCall(prevStmt) {
		js_parser.go#L6778: 				if prevS, ok := prevStmt.Data.(*js_ast.SExpr); ok && !js_ast.IsSuperCall(prevStmt) {
		js_parser.go#L6788: 				if prevS, ok := prevStmt.Data.(*js_ast.SExpr); ok && !js_ast.IsSuperCall(prevStmt) {
		js_parser.go#L6794: 			if isJumpStatement(s.Yes.Data) {
		js_parser.go#L6800: 					if prevS, ok := prevStmt.Data.(*js_ast.SIf); ok && prevS.No == nil && jumpStmtsLookTheSame(prevS.Yes.Data, s.Yes.Data) {
		js_parser.go#L6813: 					if continueS, ok := s.Yes.Data.(*js_ast.SContinue); ok && continueS.Label == nil {
		js_parser.go#L6821: 					if returnS, ok := s.Yes.Data.(*js_ast.SReturn); ok && returnS.Value == nil {
		js_parser.go#L6874: 						s, ok = stmt.Data.(*js_ast.SIf)
		js_parser.go#L6875: 						if !ok || !isJumpStatement(s.Yes.Data) || s.No == nil {
		js_parser.go#L6880: 					if isJumpStatement(stmt.Data) {
		js_parser.go#L6891: 				if prevS, ok := prevStmt.Data.(*js_ast.SExpr); ok {
		js_parser.go#L6893: 					result[len(result)-1] = js_ast.Stmt{Loc: prevStmt.Loc, Data: &js_ast.SReturn{Value: &value}}
		js_parser.go#L6904: 				if prevS, ok := prevStmt.Data.(*js_ast.SExpr); ok {
		js_parser.go#L6905: 					result[len(result)-1] = js_ast.Stmt{Loc: prevStmt.Loc, Data: &js_ast.SThrow{Value: js_ast.JoinWithComma(prevS.Value, s.Value)}}
		js_parser.go#L6918: 				if prevS, ok := prevStmt.Data.(*js_ast.SExpr); ok {
		js_parser.go#L6922: 						s.Init = &js_ast.Stmt{Loc: prevStmt.Loc, Data: &js_ast.SExpr{Value: prevS.Value}}
		js_parser.go#L6924: 					} else if s2, ok := s.Init.Data.(*js_ast.SExpr); ok {
		js_parser.go#L6926: 						s.Init = &js_ast.Stmt{Loc: prevStmt.Loc, Data: &js_ast.SExpr{Value: js_ast.JoinWithComma(prevS.Value, s2.Value)}}
		js_parser.go#L6934: 						if s2, ok := prevStmt.Data.(*js_ast.SLocal); ok && s2.Kind == js_ast.LocalVar && !s2.IsExport {
		js_parser.go#L6940: 						if s2, ok := prevStmt.Data.(*js_ast.SLocal); ok && s2.Kind == js_ast.LocalVar && !s2.IsExport {
		js_parser.go#L6941: 							if s3, ok := s.Init.Data.(*js_ast.SLocal); ok && s3.Kind == js_ast.LocalVar {
		js_parser.go#L6943: 								s.Init.Data = &js_ast.SLocal{Kind: js_ast.LocalVar, Decls: append(s2.Decls, s3.Decls...)}
		js_parser.go#L6960: 			if continueS, ok := result[len(result)-1].Data.(*js_ast.SContinue); ok && continueS.Label == nil {
		js_parser.go#L6966: 			if returnS, ok := result[len(result)-1].Data.(*js_ast.SReturn); ok && returnS.Value == nil {
		js_parser.go#L6976: 		if lastReturn, ok := lastStmt.Data.(*js_ast.SReturn); ok {
		js_parser.go#L6983: 				switch prevS := prevStmt.Data.(type) {
		js_parser.go#L6995: 					lastStmt = js_ast.Stmt{Loc: prevStmt.Loc, Data: lastReturn}
		js_parser.go#L7006: 					prevReturn, ok := prevS.Yes.Data.(*js_ast.SReturn)
		js_parser.go#L7047: 					lastStmt = js_ast.Stmt{Loc: prevStmt.Loc, Data: lastReturn}
		js_parser.go#L7055: 		} else if lastThrow, ok := lastStmt.Data.(*js_ast.SThrow); ok {
		js_parser.go#L7062: 				switch prevS := prevStmt.Data.(type) {
		js_parser.go#L7068: 					lastStmt = js_ast.Stmt{Loc: prevStmt.Loc, Data: lastThrow}
		js_parser.go#L7079: 					prevThrow, ok := prevS.Yes.Data.(*js_ast.SThrow)
		js_parser.go#L7101: 					lastStmt = js_ast.Stmt{Loc: prevStmt.Loc, Data: lastThrow}
		js_parser.go#L7118: 	switch s := stmt.Data.(type) {
		js_parser.go#L7390: 	p.loopBody = stmt.Data
		js_parser.go#L7398: 	fn, ok := stmt.Data.(*js_ast.SFunction)
		js_parser.go#L7420: 		return js_ast.Stmt{Loc: loc, Data: &js_ast.SEmpty{}}
		js_parser.go#L7424: 		if s, ok := stmts[0].Data.(*js_ast.SLocal); !ok || s.Kind == js_ast.LocalVar {
		js_parser.go#L7428: 	return js_ast.Stmt{Loc: loc, Data: &js_ast.SBlock{Stmts: stmts}}
		js_parser.go#L7432: 	switch s := stmt.Data.(type) {
		js_parser.go#L7526: 	switch s := stmt.Data.(type) {
		js_parser.go#L7542: 	if block, ok := body.Data.(*js_ast.SBlock); ok && len(block.Stmts) > 0 {
		js_parser.go#L7555: 	return js_ast.Stmt{Loc: body.Loc, Data: &js_ast.SEmpty{}}
		js_parser.go#L7561: 	if block, ok := first.Data.(*js_ast.SBlock); ok && len(block.Stmts) > 0 {
		js_parser.go#L7565: 	if ifS, ok := first.Data.(*js_ast.SIf); ok {
		js_parser.go#L7570: 		if breakS, ok := ifS.Yes.Data.(*js_ast.SBreak); ok && breakS.Label == nil {
		js_parser.go#L7589: 			if breakS, ok := ifS.No.Data.(*js_ast.SBreak); ok && breakS.Label == nil {
		js_parser.go#L7603: 	if block, ok := body.Data.(*js_ast.SBlock); ok {
		js_parser.go#L7617: 		return append(stmts, js_ast.Stmt{Loc: body.Loc, Data: &js_ast.SBlock{Stmts: []js_ast.Stmt{body}}})
		js_parser.go#L7633: 						stmts = append(stmts, js_ast.Stmt{Loc: s.Test.Loc, Data: &js_ast.SExpr{Value: test}})
		js_parser.go#L7647: 						stmts = append(stmts, js_ast.Stmt{Loc: s.Test.Loc, Data: &js_ast.SExpr{Value: test}})
		js_parser.go#L7660: 	if yes, ok := s.Yes.Data.(*js_ast.SExpr); ok {
		js_parser.go#L7665: 				return append(stmts, js_ast.Stmt{Loc: loc, Data: &js_ast.SExpr{
		js_parser.go#L7669: 				return append(stmts, js_ast.Stmt{Loc: loc, Data: &js_ast.SExpr{
		js_parser.go#L7672: 		} else if no, ok := s.No.Data.(*js_ast.SExpr); ok {
		js_parser.go#L7674: 			return append(stmts, js_ast.Stmt{Loc: loc, Data: &js_ast.SExpr{Value: p.mangleIfExpr(loc, &js_ast.EIf{
		js_parser.go#L7680: 	} else if _, ok := s.Yes.Data.(*js_ast.SEmpty); ok {
		js_parser.go#L7689: 				return append(stmts, js_ast.Stmt{Loc: loc, Data: &js_ast.SExpr{Value: s.Test}})
		js_parser.go#L7691: 		} else if no, ok := s.No.Data.(*js_ast.SExpr); ok {
		js_parser.go#L7694: 				return append(stmts, js_ast.Stmt{Loc: loc, Data: &js_ast.SExpr{
		js_parser.go#L7698: 				return append(stmts, js_ast.Stmt{Loc: loc, Data: &js_ast.SExpr{
		js_parser.go#L7726: 			if s2, ok := s.Yes.Data.(*js_ast.SIf); ok && s2.No == nil {
		js_parser.go#L7734: 	return append(stmts, js_ast.Stmt{Loc: loc, Data: s})
		js_parser.go#L7940: 	return js_ast.Stmt{Loc: loc, Data: &js_ast.SExpr{
		js_parser.go#L7952: 	switch s := stmt.Data.(type) {
		js_parser.go#L8036: 					js_ast.Stmt{Loc: stmt.Loc, Data: &js_ast.SImport{
		js_parser.go#L8041: 					js_ast.Stmt{Loc: stmt.Loc, Data: &js_ast.SExportClause{
		js_parser.go#L8076: 			switch s2 := s.Value.Stmt.Data.(type) {
		js_parser.go#L8154: 		switch s.Stmt.Data.(type) {
		js_parser.go#L8215: 					stmts = append(stmts, js_ast.Stmt{Loc: stmt.Loc, Data: &js_ast.SExpr{Value: target}})
		js_parser.go#L8227: 				if assign.Data != nil {
		js_parser.go#L8241: 				stmt = js_ast.Stmt{Loc: stmt.Loc, Data: &js_ast.SEmpty{}}
		js_parser.go#L8280: 				stmt = js_ast.Stmt{Loc: stmt.Loc, Data: &js_ast.SEmpty{}}
		js_parser.go#L8307: 			stmt = js_ast.Stmt{Loc: stmt.Loc, Data: forS}
		js_parser.go#L8352: 				if _, ok := s.No.Data.(*js_ast.SEmpty); ok {
		js_parser.go#L8389: 			if init, ok := s.Init.Data.(*js_ast.SLocal); ok && init.Kind == js_ast.LocalVar {
		js_parser.go#L8391: 					if assign.Data != nil {
		js_parser.go#L8413: 		if local, ok := s.Init.Data.(*js_ast.SLocal); ok && local.Kind == js_ast.LocalVar && len(local.Decls) == 1 {
		js_parser.go#L8419: 				stmts = append(stmts, js_ast.Stmt{Loc: stmt.Loc, Data: &js_ast.SExpr{Value: js_ast.Assign(
		js_parser.go#L8428: 		if init, ok := s.Init.Data.(*js_ast.SLocal); ok && init.Kind == js_ast.LocalVar {
		js_parser.go#L8442: 		if init, ok := s.Init.Data.(*js_ast.SLocal); ok && init.Kind == js_ast.LocalVar {
		js_parser.go#L8657: 				valueStmts = append(valueStmts, js_ast.Stmt{Loc: joined.Loc, Data: &js_ast.SExpr{Value: joined}})
		js_parser.go#L8660: 					valueStmts = append(valueStmts, js_ast.Stmt{Loc: expr.Loc, Data: &js_ast.SExpr{Value: expr}})
		js_parser.go#L8678: 			if local, ok := childStmt.Data.(*js_ast.SLocal); ok {
		js_parser.go#L8755: 	return js_ast.Stmt{Loc: value.Loc, Data: &js_ast.SExpr{Value: value}}, true
		js_parser.go#L8927: 						Body:       js_ast.FnBody{Loc: loc, Stmts: []js_ast.Stmt{{Loc: loc, Data: &js_ast.SReturn{Value: &expr}}}},
		js_parser.go#L9109: 		switch s := stmt.Data.(type) {
		js_parser.go#L11150: 				body := js_ast.FnBody{Loc: arg.Loc, Stmts: []js_ast.Stmt{{Loc: arg.Loc, Data: &js_ast.SReturn{Value: &value}}}}
		js_parser.go#L11432: 			if s, ok := e.Body.Stmts[0].Data.(*js_ast.SReturn); ok {
		js_parser.go#L11707: 		switch s := stmt.Data.(type) {
		js_parser.go#L12120: 				part.Stmts = append(part.Stmts, js_ast.Stmt{Loc: local.Loc, Data: &js_ast.SLocal{
		js_parser.go#L12142: 		switch s := stmt.Data.(type) {
		js_parser.go#L12189: 				switch s2 := s.Value.Stmt.Data.(type) {
		js_parser.go#L12721: 			switch s := stmt.Data.(type) {
		js_parser.go#L12743: 		importMetaStmt := js_ast.Stmt{Data: &js_ast.SLocal{
		js_parser.go#L12790: 			switch s := stmt.Data.(type) {
		js_parser.go#L12796: 					parts = p.appendPart(parts, []js_ast.Stmt{{Loc: stmt.Loc, Data: &clone}})
		js_parser.go#L12841: 		Stmts:      []js_ast.Stmt{{Loc: expr.Loc, Data: &js_ast.SLazyExport{Value: expr}}},
		js_parser.go#L13031: 		Stmts: []js_ast.Stmt{{Data: &js_ast.SImport{
		js_parser.go#L13096: 			if s, ok := stmt.Data.(*js_ast.SExportClause); ok {
		js_parser_lower.go#L278: 						Data: &js_ast.SLocal{Kind: js_ast.LocalVar, Decls: decls}})
		js_parser_lower.go#L417: 		returnStmt := js_ast.Stmt{Loc: bodyLoc, Data: &js_ast.SReturn{Value: &callAsync}}
		js_parser_lower.go#L423: 			superIndexStmt := js_ast.Stmt{Loc: bodyLoc, Data: &js_ast.SLocal{
		js_parser_lower.go#L432: 							Stmts: []js_ast.Stmt{{Loc: bodyLoc, Data: &js_ast.SReturn{
		js_parser_lower.go#L1148: 	switch s := init.Data.(type) {
		js_parser_lower.go#L1156: 				bodyPrefixStmt = js_ast.Stmt{Loc: expr.Loc, Data: &js_ast.SExpr{Value: expr}}
		js_parser_lower.go#L1169: 			bodyPrefixStmt = js_ast.Stmt{Loc: init.Loc, Data: &js_ast.SLocal{Kind: s.Kind, Decls: decls}}
		js_parser_lower.go#L1173: 	if bodyPrefixStmt.Data != nil {
		js_parser_lower.go#L1174: 		if block, ok := body.Data.(*js_ast.SBlock); ok {
		js_parser_lower.go#L1180: 			body.Data = &js_ast.SBlock{Stmts: []js_ast.Stmt{bodyPrefixStmt, *body}}
		js_parser_lower.go#L1197: 		stmts = append(stmts, js_ast.Stmt{Loc: catch.Binding.Loc, Data: &js_ast.SLocal{Kind: js_ast.LocalLet, Decls: decls}})
		js_parser_lower.go#L1542: 	if stmt.Data == nil {
		js_parser_lower.go#L1562: 	} else if s, ok := stmt.Data.(*js_ast.SClass); ok {
		js_parser_lower.go#L1571: 		s, _ := stmt.Data.(*js_ast.SExportDefault)
		js_parser_lower.go#L1572: 		s2, _ := s.Value.Stmt.Data.(*js_ast.SClass)
		js_parser_lower.go#L1582: 	if stmt.Data == nil {
		js_parser_lower.go#L1878: 					instanceMembers = append(instanceMembers, js_ast.Stmt{Loc: loc, Data: &js_ast.SExpr{Value: expr}})
		js_parser_lower.go#L1947: 						instancePrivateMethods = append(instancePrivateMethods, js_ast.Stmt{Loc: loc, Data: &js_ast.SExpr{Value: expr}})
		js_parser_lower.go#L2013: 				ctor.Fn.Body.Stmts = append(ctor.Fn.Body.Stmts, js_ast.Stmt{Loc: classLoc, Data: &js_ast.SExpr{Value: js_ast.Expr{Loc: classLoc, Data: &js_ast.ECall{
		js_parser_lower.go#L2159: 			stmts = append(stmts, js_ast.Stmt{Loc: classLoc, Data: &js_ast.SLocal{
		js_parser_lower.go#L2180: 		stmts = append(stmts, js_ast.Stmt{Loc: classLoc, Data: &js_ast.SLocal{
		js_parser_lower.go#L2191: 			stmts = append(stmts, js_ast.Stmt{Loc: classLoc, Data: &js_ast.SClass{Class: *class}})
		js_parser_lower.go#L2193: 			stmts = append(stmts, js_ast.Stmt{Loc: classLoc, Data: &js_ast.SClass{Class: *class, IsExport: true}})
		js_parser_lower.go#L2195: 			stmts = append(stmts, js_ast.Stmt{Loc: classLoc, Data: &js_ast.SExportDefault{
		js_parser_lower.go#L2197: 				Value:       js_ast.ExprOrStmt{Stmt: &js_ast.Stmt{Loc: classLoc, Data: &js_ast.SClass{Class: *class}}},
		js_parser_lower.go#L2211: 		stmts = append(stmts, js_ast.Stmt{Loc: expr.Loc, Data: &js_ast.SExpr{Value: computedPropertyCache}})
		js_parser_lower.go#L2214: 		stmts = append(stmts, js_ast.Stmt{Loc: expr.Loc, Data: &js_ast.SExpr{Value: expr}})
		js_parser_lower.go#L2217: 		stmts = append(stmts, js_ast.Stmt{Loc: expr.Loc, Data: &js_ast.SExpr{Value: expr}})
		js_parser_lower.go#L2220: 		stmts = append(stmts, js_ast.Stmt{Loc: expr.Loc, Data: &js_ast.SExpr{Value: expr}})
		js_parser_lower.go#L2223: 		stmts = append(stmts, js_ast.Stmt{Loc: expr.Loc, Data: &js_ast.SExpr{Value: expr}})
		js_parser_lower.go#L2226: 		stmts = append(stmts, js_ast.Stmt{Loc: expr.Loc, Data: &js_ast.SExpr{Value: expr}})
		js_parser_lower.go#L2249: 			stmts = append(stmts, js_ast.Stmt{Loc: classLoc, Data: &js_ast.SExportDefault{
		js_parser_lower.go#L2261: 	if keepNameStmt.Data != nil {
		ts_parser.go#L824: 	return js_ast.Stmt{Loc: loc, Data: &js_ast.SEnum{
		ts_parser.go#L872: 	return js_ast.Stmt{Loc: loc, Data: &js_ast.SLocal{
		ts_parser.go#L915: 		if local, ok := stmt.Data.(*js_ast.SLocal); ok && local.WasTSImportEquals && !local.IsExport {
		ts_parser.go#L930: 		return js_ast.Stmt{Loc: loc, Data: &js_ast.STypeScript{}}
		ts_parser.go#L966: 	return js_ast.Stmt{Loc: loc, Data: &js_ast.SNamespace{
		ts_parser.go#L991: 			stmts = append(stmts, js_ast.Stmt{Loc: stmtLoc, Data: &js_ast.SLocal{
		ts_parser.go#L998: 			stmts = append(stmts, js_ast.Stmt{Loc: stmtLoc, Data: &js_ast.SLocal{
		ts_parser.go#L1046: 	stmts = append(stmts, js_ast.Stmt{Loc: stmtLoc, Data: &js_ast.SExpr{Value: js_ast.Expr{Loc: stmtLoc, Data: &js_ast.ECall{

	github.com/evanw/esbuild/internal/js_printer
		js_printer.go#L1657: 			if s, ok := e.Body.Stmts[0].Data.(*js_ast.SReturn); ok && s.Value != nil {
		js_printer.go#L2304: 	switch s := init.Data.(type) {
		js_printer.go#L2342: 	if block, ok := body.Data.(*js_ast.SBlock); ok {
		js_printer.go#L2378: 			s = current.No.Data
		js_printer.go#L2381: 			s = current.Body.Data
		js_printer.go#L2384: 			s = current.Body.Data
		js_printer.go#L2387: 			s = current.Body.Data
		js_printer.go#L2390: 			s = current.Body.Data
		js_printer.go#L2393: 			s = current.Body.Data
		js_printer.go#L2409: 	if yes, ok := s.Yes.Data.(*js_ast.SBlock); ok {
		js_printer.go#L2418: 	} else if wrapToAvoidAmbiguousElse(s.Yes.Data) {
		js_printer.go#L2452: 		if no, ok := s.No.Data.(*js_ast.SBlock); ok {
		js_printer.go#L2456: 		} else if no, ok := s.No.Data.(*js_ast.SIf); ok {
		js_printer.go#L2493: 	switch s := stmt.Data.(type) {
		js_printer.go#L2554: 		switch s2 := s.Value.Stmt.Data.(type) {
		js_printer.go#L2705: 		if block, ok := s.Body.Data.(*js_ast.SBlock); ok {
		js_printer.go#L2862: 				if block, ok := c.Body[0].Data.(*js_ast.SBlock); ok {
		js_printer.go#L3026: 		panic(fmt.Sprintf("Unexpected statement of type %T", stmt.Data))