Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 4 of 4 for itabType (0.5 sec)

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

    			// ok: operations that don't require function calls.
    			// Expand as needed.
    		}
    
    		return false
    	})
    }
    
    // itabType loads the _type field from a runtime.itab struct.
    func itabType(itab ir.Node) ir.Node {
    	if itabTypeField == nil {
    		// internal/abi.ITab's Type field
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Feb 27 20:56:00 UTC 2024
    - 10.4K bytes
    - Viewed (0)
  2. src/cmd/compile/internal/walk/switch.go

    			var typeArg ir.Node
    			if s.srcName.Type().IsEmptyInterface() {
    				typeArg = ir.NewConvExpr(base.Pos, ir.OCONVNOP, types.Types[types.TUINT8].PtrTo(), srcItab)
    			} else {
    				typeArg = itabType(srcItab)
    			}
    			caseVar := typecheck.TempAt(base.Pos, ir.CurFunc, types.Types[types.TINT])
    			isw := ir.NewInterfaceSwitchStmt(base.Pos, caseVar, s.itabName, typeArg, dotHash, lsym)
    			sw.Compiled.Append(isw)
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Mar 04 17:34:01 UTC 2024
    - 30.1K bytes
    - Viewed (0)
  3. src/cmd/compile/internal/walk/compare.go

    			tab.SetTypecheck(1)
    			eqtype = ir.NewBinaryExpr(base.Pos, eq, tab, rtyp)
    		} else {
    			nonnil := ir.NewBinaryExpr(base.Pos, brcom(eq), typecheck.NodNil(), tab)
    			match := ir.NewBinaryExpr(base.Pos, eq, itabType(tab), rtyp)
    			eqtype = ir.NewLogicalExpr(base.Pos, andor, nonnil, match)
    		}
    		// Check for data equal.
    		eqdata := ir.NewBinaryExpr(base.Pos, eq, ifaceData(n.Pos(), l, r.Type()), r)
    		// Put it all together.
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 24 21:55:14 UTC 2023
    - 16.2K bytes
    - Viewed (0)
  4. src/cmd/compile/internal/walk/convert.go

    		nif := ir.NewIfStmt(base.Pos, typecheck.Expr(ir.NewBinaryExpr(base.Pos, ir.ONE, typeWord, typecheck.NodNil())), nil, nil)
    		nif.Body = []ir.Node{ir.NewAssignStmt(base.Pos, typeWord, itabType(typeWord))}
    		init.Append(nif)
    
    		// Build the result.
    		// e = iface{typeWord, data}
    		e := ir.NewBinaryExpr(base.Pos, ir.OMAKEFACE, typeWord, data)
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Oct 09 17:28:22 UTC 2023
    - 18.2K bytes
    - Viewed (0)
Back to top