Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 2 of 2 for RewriteMultiValueCall (0.43 sec)

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

    	as.PtrInit().Append(Stmt(ir.NewDecl(n.Pos(), ir.ODCL, tmp)))
    	*np = tmp
    
    	n.PtrInit().Append(Stmt(as))
    }
    
    // RewriteMultiValueCall rewrites multi-valued f() to use temporaries,
    // so the backend wouldn't need to worry about tuple-valued expressions.
    func RewriteMultiValueCall(n ir.InitNode, call ir.Node) {
    	as := ir.NewAssignListStmt(base.Pos, ir.OAS2, nil, []ir.Node{call})
    	results := call.Type().Fields()
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed Mar 20 19:08:34 UTC 2024
    - 30.5K bytes
    - Viewed (0)
  2. src/cmd/compile/internal/typecheck/stmt.go

    				failed = true
    			} else if lhs[i] != ir.BlankNode && !types.Identical(lhs[i].Type(), result) {
    				mismatched = true
    			}
    		}
    		if mismatched && !failed {
    			RewriteMultiValueCall(stmt, r)
    		}
    		return
    	}
    
    	for i, r := range rhs {
    		checkLHS(i, r.Type())
    		if lhs[i].Type() != nil {
    			rhs[i] = AssignConv(r, lhs[i].Type(), "assignment")
    		}
    	}
    }
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Nov 20 15:10:54 UTC 2023
    - 17.8K bytes
    - Viewed (0)
Back to top