Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 2 of 2 for CompareRType (0.16 sec)

  1. src/cmd/compile/internal/reflectdata/helpers.go

    		return n.RType
    	}
    	return sliceElemRType(pos, n.Type())
    }
    
    // CompareRType asserts that n is a comparison (== or !=) operation
    // between expressions of interface and non-interface type, and
    // returns an expression that yields the *runtime._type value
    // representing the non-interface type.
    func CompareRType(pos src.XPos, n *ir.BinaryExpr) ir.Node {
    	assertOp2(n, ir.OEQ, ir.ONE)
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Sep 12 04:50:32 UTC 2023
    - 7.1K bytes
    - Viewed (0)
  2. src/cmd/compile/internal/walk/compare.go

    		//
    		// TODO(mdempsky): For non-empty interface comparisons, just
    		// compare against the itab address directly?
    		var eqtype ir.Node
    		tab := ir.NewUnaryExpr(base.Pos, ir.OITAB, l)
    		rtyp := reflectdata.CompareRType(base.Pos, n)
    		if l.Type().IsEmptyInterface() {
    			tab.SetType(types.NewPtr(types.Types[types.TUINT8]))
    			tab.SetTypecheck(1)
    			eqtype = ir.NewBinaryExpr(base.Pos, eq, tab, rtyp)
    		} else {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 24 21:55:14 UTC 2023
    - 16.2K bytes
    - Viewed (0)
Back to top