MCPcopy Create free account
hub / github.com/despiteallobjections/amigo / expr

Method expr

types/builder.go:825–842  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

823}
824
825func (r *reader) expr() Value {
826 if r.bool() { // constant
827 typ, val := r.typ(), r.val()
828 return NewSSAConst(val, typ)
829 }
830
831 var v Value
832 if r.bool() { // addressable
833 // Prefer pointer arithmetic ({Index,Field}Addr) followed
834 // by Load over subelement extraction (e.g. Index, Field),
835 // to avoid large copies.
836 v = r.addr().load(r.b)
837 } else {
838 v = r.expr0()
839 }
840 r.emitDebugRef(v)
841 return v
842}
843
844func (w *writer) expr0(e Expr) {
845 w.exprTODO(e)

Callers 11

condMethod · 0.95
logicalBinopMethod · 0.95
exprNMethod · 0.95
builtinMethod · 0.95
addrMethod · 0.95
assignMethod · 0.95
expr0Method · 0.95
receiverMethod · 0.95
setCallFuncMethod · 0.95
setCallArgsMethod · 0.95
compLitMethod · 0.95

Calls 8

boolMethod · 0.95
typMethod · 0.95
valMethod · 0.95
addrMethod · 0.95
expr0Method · 0.95
emitDebugRefMethod · 0.95
NewSSAConstFunction · 0.85
loadMethod · 0.65

Tested by

no test coverage detected