type github.com/evanw/esbuild/internal/js_ast.EBinary

117 uses

	github.com/evanw/esbuild/internal/js_ast (current package)
		js_ast.go#L397: type EBinary struct {
		js_ast.go#L648: func (*EBinary) isExpr()            {}
		js_ast.go#L695: 	return Expr{Loc: a.Loc, Data: &EBinary{Op: BinOpAssign, Left: a, Right: b}}
		js_ast.go#L744: 	case *EBinary:
		js_ast.go#L790: 	case *EBinary:
		js_ast.go#L822: 	case *EBinary:
		js_ast.go#L858: 	case *EBinary:
		js_ast.go#L879: 	if comma, ok := a.Data.(*EBinary); ok && comma.Op == BinOpComma {
		js_ast.go#L886: 	if binary, ok := b.Data.(*EBinary); ok && binary.Op == op {
		js_ast.go#L896: 	return Expr{Loc: a.Loc, Data: &EBinary{Op: op, Left: a, Right: b}}
		js_ast.go#L900: 	return Expr{Loc: a.Loc, Data: &EBinary{Op: BinOpComma, Left: a, Right: b}}

	github.com/evanw/esbuild/internal/js_parser
		js_parser.go#L687: 	case *js_ast.EBinary:
		js_parser.go#L752: 	case *js_ast.EBinary:
		js_parser.go#L852: 	case *js_ast.EBinary:
		js_parser.go#L948: 	case *js_ast.EBinary:
		js_parser.go#L949: 		if b, ok := right.(*js_ast.EBinary); ok && a.Op == b.Op && valuesLookTheSame(a.Left.Data, b.Left.Data) &&
		js_parser.go#L2461: 	if assign, ok := expr.Data.(*js_ast.EBinary); ok && assign.Op == js_ast.BinOpAssign {
		js_parser.go#L2762: 				value = js_ast.Expr{Loc: loc, Data: &js_ast.EBinary{
		js_parser.go#L2779: 				value = js_ast.Expr{Loc: loc, Data: &js_ast.EBinary{
		js_parser.go#L2785: 					value = js_ast.Expr{Loc: loc, Data: &js_ast.EBinary{
		js_parser.go#L3324: 					left = js_ast.Expr{Loc: left.Loc, Data: &js_ast.EBinary{Op: js_ast.BinOpComma, Left: left, Right: p.parseExpr(js_ast.LComma)}}
		js_parser.go#L3591: 			left = js_ast.Expr{Loc: left.Loc, Data: &js_ast.EBinary{Op: js_ast.BinOpComma, Left: left, Right: p.parseExpr(js_ast.LComma)}}
		js_parser.go#L3598: 			left = js_ast.Expr{Loc: left.Loc, Data: &js_ast.EBinary{Op: js_ast.BinOpAdd, Left: left, Right: p.parseExpr(js_ast.LAdd)}}
		js_parser.go#L3605: 			left = js_ast.Expr{Loc: left.Loc, Data: &js_ast.EBinary{Op: js_ast.BinOpAddAssign, Left: left, Right: p.parseExpr(js_ast.LAssign - 1)}}
		js_parser.go#L3612: 			left = js_ast.Expr{Loc: left.Loc, Data: &js_ast.EBinary{Op: js_ast.BinOpSub, Left: left, Right: p.parseExpr(js_ast.LAdd)}}
		js_parser.go#L3619: 			left = js_ast.Expr{Loc: left.Loc, Data: &js_ast.EBinary{Op: js_ast.BinOpSubAssign, Left: left, Right: p.parseExpr(js_ast.LAssign - 1)}}
		js_parser.go#L3626: 			left = js_ast.Expr{Loc: left.Loc, Data: &js_ast.EBinary{Op: js_ast.BinOpMul, Left: left, Right: p.parseExpr(js_ast.LMultiply)}}
		js_parser.go#L3633: 			left = js_ast.Expr{Loc: left.Loc, Data: &js_ast.EBinary{Op: js_ast.BinOpPow, Left: left, Right: p.parseExpr(js_ast.LExponentiation - 1)}}
		js_parser.go#L3640: 			left = js_ast.Expr{Loc: left.Loc, Data: &js_ast.EBinary{Op: js_ast.BinOpPowAssign, Left: left, Right: p.parseExpr(js_ast.LAssign - 1)}}
		js_parser.go#L3647: 			left = js_ast.Expr{Loc: left.Loc, Data: &js_ast.EBinary{Op: js_ast.BinOpMulAssign, Left: left, Right: p.parseExpr(js_ast.LAssign - 1)}}
		js_parser.go#L3654: 			left = js_ast.Expr{Loc: left.Loc, Data: &js_ast.EBinary{Op: js_ast.BinOpRem, Left: left, Right: p.parseExpr(js_ast.LMultiply)}}
		js_parser.go#L3661: 			left = js_ast.Expr{Loc: left.Loc, Data: &js_ast.EBinary{Op: js_ast.BinOpRemAssign, Left: left, Right: p.parseExpr(js_ast.LAssign - 1)}}
		js_parser.go#L3668: 			left = js_ast.Expr{Loc: left.Loc, Data: &js_ast.EBinary{Op: js_ast.BinOpDiv, Left: left, Right: p.parseExpr(js_ast.LMultiply)}}
		js_parser.go#L3675: 			left = js_ast.Expr{Loc: left.Loc, Data: &js_ast.EBinary{Op: js_ast.BinOpDivAssign, Left: left, Right: p.parseExpr(js_ast.LAssign - 1)}}
		js_parser.go#L3682: 			left = js_ast.Expr{Loc: left.Loc, Data: &js_ast.EBinary{Op: js_ast.BinOpLooseEq, Left: left, Right: p.parseExpr(js_ast.LEquals)}}
		js_parser.go#L3689: 			left = js_ast.Expr{Loc: left.Loc, Data: &js_ast.EBinary{Op: js_ast.BinOpLooseNe, Left: left, Right: p.parseExpr(js_ast.LEquals)}}
		js_parser.go#L3696: 			left = js_ast.Expr{Loc: left.Loc, Data: &js_ast.EBinary{Op: js_ast.BinOpStrictEq, Left: left, Right: p.parseExpr(js_ast.LEquals)}}
		js_parser.go#L3703: 			left = js_ast.Expr{Loc: left.Loc, Data: &js_ast.EBinary{Op: js_ast.BinOpStrictNe, Left: left, Right: p.parseExpr(js_ast.LEquals)}}
		js_parser.go#L3718: 			left = js_ast.Expr{Loc: left.Loc, Data: &js_ast.EBinary{Op: js_ast.BinOpLt, Left: left, Right: p.parseExpr(js_ast.LCompare)}}
		js_parser.go#L3725: 			left = js_ast.Expr{Loc: left.Loc, Data: &js_ast.EBinary{Op: js_ast.BinOpLe, Left: left, Right: p.parseExpr(js_ast.LCompare)}}
		js_parser.go#L3732: 			left = js_ast.Expr{Loc: left.Loc, Data: &js_ast.EBinary{Op: js_ast.BinOpGt, Left: left, Right: p.parseExpr(js_ast.LCompare)}}
		js_parser.go#L3739: 			left = js_ast.Expr{Loc: left.Loc, Data: &js_ast.EBinary{Op: js_ast.BinOpGe, Left: left, Right: p.parseExpr(js_ast.LCompare)}}
		js_parser.go#L3746: 			left = js_ast.Expr{Loc: left.Loc, Data: &js_ast.EBinary{Op: js_ast.BinOpShl, Left: left, Right: p.parseExpr(js_ast.LShift)}}
		js_parser.go#L3753: 			left = js_ast.Expr{Loc: left.Loc, Data: &js_ast.EBinary{Op: js_ast.BinOpShlAssign, Left: left, Right: p.parseExpr(js_ast.LAssign - 1)}}
		js_parser.go#L3760: 			left = js_ast.Expr{Loc: left.Loc, Data: &js_ast.EBinary{Op: js_ast.BinOpShr, Left: left, Right: p.parseExpr(js_ast.LShift)}}
		js_parser.go#L3767: 			left = js_ast.Expr{Loc: left.Loc, Data: &js_ast.EBinary{Op: js_ast.BinOpShrAssign, Left: left, Right: p.parseExpr(js_ast.LAssign - 1)}}
		js_parser.go#L3774: 			left = js_ast.Expr{Loc: left.Loc, Data: &js_ast.EBinary{Op: js_ast.BinOpUShr, Left: left, Right: p.parseExpr(js_ast.LShift)}}
		js_parser.go#L3781: 			left = js_ast.Expr{Loc: left.Loc, Data: &js_ast.EBinary{Op: js_ast.BinOpUShrAssign, Left: left, Right: p.parseExpr(js_ast.LAssign - 1)}}
		js_parser.go#L3788: 			left = js_ast.Expr{Loc: left.Loc, Data: &js_ast.EBinary{Op: js_ast.BinOpNullishCoalescing, Left: left, Right: p.parseExpr(js_ast.LNullishCoalescing)}}
		js_parser.go#L3795: 			left = js_ast.Expr{Loc: left.Loc, Data: &js_ast.EBinary{Op: js_ast.BinOpNullishCoalescingAssign, Left: left, Right: p.parseExpr(js_ast.LAssign - 1)}}
		js_parser.go#L3809: 			left = js_ast.Expr{Loc: left.Loc, Data: &js_ast.EBinary{Op: js_ast.BinOpLogicalOr, Left: left, Right: right}}
		js_parser.go#L3824: 			left = js_ast.Expr{Loc: left.Loc, Data: &js_ast.EBinary{Op: js_ast.BinOpLogicalOrAssign, Left: left, Right: p.parseExpr(js_ast.LAssign - 1)}}
		js_parser.go#L3837: 			left = js_ast.Expr{Loc: left.Loc, Data: &js_ast.EBinary{Op: js_ast.BinOpLogicalAnd, Left: left, Right: p.parseExpr(js_ast.LLogicalAnd)}}
		js_parser.go#L3852: 			left = js_ast.Expr{Loc: left.Loc, Data: &js_ast.EBinary{Op: js_ast.BinOpLogicalAndAssign, Left: left, Right: p.parseExpr(js_ast.LAssign - 1)}}
		js_parser.go#L3859: 			left = js_ast.Expr{Loc: left.Loc, Data: &js_ast.EBinary{Op: js_ast.BinOpBitwiseOr, Left: left, Right: p.parseExpr(js_ast.LBitwiseOr)}}
		js_parser.go#L3866: 			left = js_ast.Expr{Loc: left.Loc, Data: &js_ast.EBinary{Op: js_ast.BinOpBitwiseOrAssign, Left: left, Right: p.parseExpr(js_ast.LAssign - 1)}}
		js_parser.go#L3873: 			left = js_ast.Expr{Loc: left.Loc, Data: &js_ast.EBinary{Op: js_ast.BinOpBitwiseAnd, Left: left, Right: p.parseExpr(js_ast.LBitwiseAnd)}}
		js_parser.go#L3880: 			left = js_ast.Expr{Loc: left.Loc, Data: &js_ast.EBinary{Op: js_ast.BinOpBitwiseAndAssign, Left: left, Right: p.parseExpr(js_ast.LAssign - 1)}}
		js_parser.go#L3887: 			left = js_ast.Expr{Loc: left.Loc, Data: &js_ast.EBinary{Op: js_ast.BinOpBitwiseXor, Left: left, Right: p.parseExpr(js_ast.LBitwiseXor)}}
		js_parser.go#L3894: 			left = js_ast.Expr{Loc: left.Loc, Data: &js_ast.EBinary{Op: js_ast.BinOpBitwiseXorAssign, Left: left, Right: p.parseExpr(js_ast.LAssign - 1)}}
		js_parser.go#L3917: 			left = js_ast.Expr{Loc: left.Loc, Data: &js_ast.EBinary{Op: js_ast.BinOpIn, Left: left, Right: p.parseExpr(js_ast.LCompare)}}
		js_parser.go#L3934: 			left = js_ast.Expr{Loc: left.Loc, Data: &js_ast.EBinary{Op: js_ast.BinOpInstanceof, Left: left, Right: p.parseExpr(js_ast.LCompare)}}
		js_parser.go#L7035: 						if comma, ok := prevS.Test.Data.(*js_ast.EBinary); ok && comma.Op == js_ast.BinOpComma {
		js_parser.go#L7094: 					if comma, ok := prevS.Test.Data.(*js_ast.EBinary); ok && comma.Op == js_ast.BinOpComma {
		js_parser.go#L7239: 	case *js_ast.EBinary:
		js_parser.go#L7578: 				s.Test = &js_ast.Expr{Loc: s.Test.Loc, Data: &js_ast.EBinary{Op: js_ast.BinOpLogicalAnd, Left: *s.Test, Right: not}}
		js_parser.go#L7591: 					s.Test = &js_ast.Expr{Loc: s.Test.Loc, Data: &js_ast.EBinary{Op: js_ast.BinOpLogicalAnd, Left: *s.Test, Right: ifS.Test}}
		js_parser.go#L7739: 	if comma, ok := e.Test.Data.(*js_ast.EBinary); ok && comma.Op == js_ast.BinOpComma {
		js_parser.go#L7803: 	if comma, ok := e.No.Data.(*js_ast.EBinary); ok && comma.Op == js_ast.BinOpComma && valuesLookTheSame(e.Yes.Data, comma.Right.Data) {
		js_parser.go#L7811: 	if comma, ok := e.Yes.Data.(*js_ast.EBinary); ok && comma.Op == js_ast.BinOpComma && valuesLookTheSame(comma.Right.Data, e.No.Data) {
		js_parser.go#L7819: 	if binary, ok := e.Yes.Data.(*js_ast.EBinary); ok && binary.Op == js_ast.BinOpLogicalOr &&
		js_parser.go#L7821: 		return js_ast.Expr{Loc: loc, Data: &js_ast.EBinary{
		js_parser.go#L7829: 	if binary, ok := e.No.Data.(*js_ast.EBinary); ok && binary.Op == js_ast.BinOpLogicalAnd &&
		js_parser.go#L7831: 		return js_ast.Expr{Loc: loc, Data: &js_ast.EBinary{
		js_parser.go#L7880: 		if binary, ok := e.Test.Data.(*js_ast.EBinary); ok {
		js_parser.go#L9292: func maybeSimplifyEqualityComparison(e *js_ast.EBinary, isNotEqual bool) (js_ast.Expr, bool) {
		js_parser.go#L9535: 	case *js_ast.EBinary:
		js_parser.go#L9703: 	if a, ok := left.Data.(*js_ast.EBinary); ok && a.Op == op {
		js_parser.go#L9704: 		if b, ok := right.Data.(*js_ast.EBinary); ok && b.Op == op {
		js_parser.go#L9747: func locAfterOp(e *js_ast.EBinary) logger.Loc {
		js_parser.go#L10015: 	case *js_ast.EBinary:
		js_parser.go#L10204: 				if right, ok := e.Right.Data.(*js_ast.EBinary); ok && right.Op == js_ast.BinOpNullishCoalescing {
		js_parser.go#L10231: 				if right, ok := e.Right.Data.(*js_ast.EBinary); ok && right.Op == js_ast.BinOpLogicalOr {
		js_parser.go#L10261: 				if right, ok := e.Right.Data.(*js_ast.EBinary); ok && right.Op == js_ast.BinOpLogicalAnd {
		js_parser.go#L10286: 			if left, ok := e.Left.Data.(*js_ast.EBinary); ok && left.Op == js_ast.BinOpAdd {
		js_parser.go#L10289: 					return js_ast.Expr{Loc: expr.Loc, Data: &js_ast.EBinary{Op: left.Op, Left: left.Left, Right: *result}}, exprOut{}
		js_parser.go#L10481: 			if comma, ok := e.Left.Data.(*js_ast.EBinary); ok && comma.Op == js_ast.BinOpComma {
		js_parser.go#L10484: 					Data: &js_ast.EBinary{
		js_parser.go#L10730: 			if comma, ok := e.Value.Data.(*js_ast.EBinary); ok && comma.Op == js_ast.BinOpComma {
		js_parser.go#L10918: 			case *js_ast.EBinary:
		js_parser.go#L10982: 				if binary, ok := property.Value.Data.(*js_ast.EBinary); ok && binary.Op == js_ast.BinOpAssign {
		js_parser.go#L12376: 	case *js_ast.EBinary:
		js_parser.go#L12418: 				result = js_ast.Expr{Loc: part.Value.Loc, Data: &js_ast.EBinary{
		js_parser.go#L12490: 				result = maybeJoinWithComma(result, js_ast.Expr{Loc: property.Key.Loc, Data: &js_ast.EBinary{
		js_parser.go#L12536: 	case *js_ast.EBinary:
		js_parser.go#L12597: 	case *js_ast.EBinary:
		js_parser_lower.go#L718: 		Test: js_ast.Expr{Loc: loc, Data: &js_ast.EBinary{
		js_parser_lower.go#L789: func (p *parser) lowerExponentiationAssignmentOperator(loc logger.Loc, e *js_ast.EBinary) js_ast.Expr {
		js_parser_lower.go#L806: func (p *parser) lowerNullishCoalescingAssignmentOperator(loc logger.Loc, e *js_ast.EBinary) js_ast.Expr {
		js_parser_lower.go#L818: 		return targetWrapFunc(js_ast.Expr{Loc: loc, Data: &js_ast.EBinary{
		js_parser_lower.go#L832: 		return js_ast.Expr{Loc: loc, Data: &js_ast.EBinary{
		js_parser_lower.go#L840: func (p *parser) lowerLogicalAssignmentOperator(loc logger.Loc, e *js_ast.EBinary, op js_ast.OpCode) js_ast.Expr {
		js_parser_lower.go#L845: 		return targetWrapFunc(js_ast.Expr{Loc: loc, Data: &js_ast.EBinary{
		js_parser_lower.go#L855: 		return js_ast.Expr{Loc: loc, Data: &js_ast.EBinary{
		js_parser_lower.go#L868: 		Test: js_ast.Expr{Loc: loc, Data: &js_ast.EBinary{
		js_parser_lower.go#L1036: 		assign := valueWrapFunc(targetWrapFunc(p.lowerPrivateSet(target, loc, private, js_ast.Expr{Loc: target.Loc, Data: &js_ast.EBinary{
		js_parser_lower.go#L1045: 	return targetWrapFunc(p.lowerPrivateSet(target, loc, private, js_ast.Expr{Loc: target.Loc, Data: &js_ast.EBinary{
		js_parser_lower.go#L1055: 	return targetWrapFunc(p.lowerPrivateSet(targetFunc(), loc, private, js_ast.Expr{Loc: value.Loc, Data: &js_ast.EBinary{
		js_parser_lower.go#L1093: 	case *js_ast.EBinary:
		js_parser_lower.go#L1255: 		case *js_ast.EBinary:
		js_parser_lower.go#L1338: 		if binary, ok := binding.Data.(*js_ast.EBinary); ok && binary.Op == js_ast.BinOpAssign {
		js_parser_lower.go#L1498: 			return js_ast.Expr{Loc: loc, Data: &js_ast.EBinary{
		ts_parser.go#L1011: 			js_ast.Expr{Loc: nameLoc, Data: &js_ast.EBinary{
		ts_parser.go#L1033: 		argExpr = js_ast.Expr{Loc: nameLoc, Data: &js_ast.EBinary{

	github.com/evanw/esbuild/internal/js_printer
		js_printer.go#L2034: 	case *js_ast.EBinary:
		js_printer.go#L2063: 			if left, ok := e.Left.Data.(*js_ast.EBinary); ok && (left.Op == js_ast.BinOpLogicalOr || left.Op == js_ast.BinOpLogicalAnd) {
		js_printer.go#L2066: 			if right, ok := e.Right.Data.(*js_ast.EBinary); ok && (right.Op == js_ast.BinOpLogicalOr || right.Op == js_ast.BinOpLogicalAnd) {