Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 6 of 6 for ODOTMETH (0.12 sec)

  1. src/cmd/compile/internal/typecheck/expr.go

    // selection are necessary, those are inserted too.
    //
    // If callee is true, the result is an ODOTMETH/ODOTINTER, otherwise
    // an OMETHVALUE.
    func XDotMethod(pos src.XPos, x ir.Node, sym *types.Sym, callee bool) *ir.SelectorExpr {
    	n := ir.NewSelectorExpr(pos, ir.OXDOT, x, sym)
    	if callee {
    		n = Callee(n).(*ir.SelectorExpr)
    		if n.Op() != ir.ODOTMETH && n.Op() != ir.ODOTINTER {
    			base.FatalfAt(pos, "unexpected result op: %v (%v)", n.Op(), n)
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu Apr 04 14:29:45 UTC 2024
    - 23.1K bytes
    - Viewed (0)
  2. src/cmd/compile/internal/ir/func.go

    // Each distinct mention of a method expression in the source code
    // constructs a fresh node.
    //
    // A method value (t.M) is represented by ODOTMETH/ODOTINTER
    // when it is called directly and by OMETHVALUE otherwise.
    // These are like method expressions, except that for ODOTMETH/ODOTINTER,
    // the method name is stored in Sym instead of Right.
    // Each OMETHVALUE ends up being implemented as a new
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu May 23 01:05:44 UTC 2024
    - 21.1K bytes
    - Viewed (0)
  3. src/cmd/compile/internal/typecheck/typecheck.go

    // rewriting f()(...) to t0 := f(); t0(...).
    func RewriteNonNameCall(n *ir.CallExpr) {
    	np := &n.Fun
    	if dot, ok := (*np).(*ir.SelectorExpr); ok && (dot.Op() == ir.ODOTMETH || dot.Op() == ir.ODOTINTER || dot.Op() == ir.OMETHVALUE) {
    		np = &dot.X // peel away method selector
    	}
    
    	// Check for side effects in the callee expression.
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed Mar 20 19:08:34 UTC 2024
    - 30.5K bytes
    - Viewed (0)
  4. src/cmd/compile/internal/typecheck/func.go

    	}
    
    	call.Args = append(args[:vi], slice)
    	call.IsDDD = true
    }
    
    // FixMethodCall rewrites a method call t.M(...) into a function call T.M(t, ...).
    func FixMethodCall(call *ir.CallExpr) {
    	if call.Fun.Op() != ir.ODOTMETH {
    		return
    	}
    
    	dot := call.Fun.(*ir.SelectorExpr)
    
    	fn := NewMethodExpr(dot.Pos(), dot.X.Type(), dot.Selection.Sym)
    
    	args := make([]ir.Node, 1+len(call.Args))
    	args[0] = dot.X
    	copy(args[1:], call.Args)
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed Mar 06 15:23:18 UTC 2024
    - 21.1K bytes
    - Viewed (0)
  5. src/cmd/compile/internal/ir/fmt.go

    	OSLICE:            8,
    	OSLICESTR:         8,
    	OSLICEARR:         8,
    	OSLICE3:           8,
    	OSLICE3ARR:        8,
    	OSLICEHEADER:      8,
    	OSTRINGHEADER:     8,
    	ODOTINTER:         8,
    	ODOTMETH:          8,
    	ODOTPTR:           8,
    	ODOTTYPE2:         8,
    	ODOTTYPE:          8,
    	ODOT:              8,
    	OXDOT:             8,
    	OMETHVALUE:        8,
    	OMETHEXPR:         8,
    	OPLUS:             7,
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu Oct 05 15:20:28 UTC 2023
    - 26K bytes
    - Viewed (0)
  6. src/cmd/compile/internal/walk/expr.go

    		return walkMinMax(n, init)
    
    	case ir.ONOT, ir.ONEG, ir.OPLUS, ir.OBITNOT, ir.OREAL, ir.OIMAG, ir.OSPTR, ir.OITAB, ir.OIDATA:
    		n := n.(*ir.UnaryExpr)
    		n.X = walkExpr(n.X, init)
    		return n
    
    	case ir.ODOTMETH, ir.ODOTINTER:
    		n := n.(*ir.SelectorExpr)
    		n.X = walkExpr(n.X, init)
    		return n
    
    	case ir.OADDR:
    		n := n.(*ir.AddrExpr)
    		n.X = walkExpr(n.X, init)
    		return n
    
    	case ir.ODEREF:
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Mar 04 17:34:01 UTC 2024
    - 27.6K bytes
    - Viewed (0)
Back to top