Decl *Name
}
-func NewField(pos src.XPos, sym *types.Sym, ntyp Ntype, typ *types.Type) *Field {
- return &Field{Pos: pos, Sym: sym, Ntype: ntyp, Type: typ}
+func NewField(pos src.XPos, sym *types.Sym, typ *types.Type) *Field {
+ return &Field{Pos: pos, Sym: sym, Ntype: nil, Type: typ}
}
func (f *Field) String() string {
// func sym(p *T, h uintptr) uintptr
args := []*ir.Field{
- ir.NewField(base.Pos, typecheck.Lookup("p"), nil, types.NewPtr(t)),
- ir.NewField(base.Pos, typecheck.Lookup("h"), nil, types.Types[types.TUINTPTR]),
+ ir.NewField(base.Pos, typecheck.Lookup("p"), types.NewPtr(t)),
+ ir.NewField(base.Pos, typecheck.Lookup("h"), types.Types[types.TUINTPTR]),
}
- results := []*ir.Field{ir.NewField(base.Pos, nil, nil, types.Types[types.TUINTPTR])}
+ results := []*ir.Field{ir.NewField(base.Pos, nil, types.Types[types.TUINTPTR])}
tfn := ir.NewFuncType(base.Pos, nil, args, results)
fn := typecheck.DeclFunc(sym, tfn)
// func sym(p, q *T) bool
tfn := ir.NewFuncType(base.Pos, nil,
- []*ir.Field{ir.NewField(base.Pos, typecheck.Lookup("p"), nil, types.NewPtr(t)), ir.NewField(base.Pos, typecheck.Lookup("q"), nil, types.NewPtr(t))},
- []*ir.Field{ir.NewField(base.Pos, typecheck.Lookup("r"), nil, types.Types[types.TBOOL])})
+ []*ir.Field{ir.NewField(base.Pos, typecheck.Lookup("p"), types.NewPtr(t)), ir.NewField(base.Pos, typecheck.Lookup("q"), types.NewPtr(t))},
+ []*ir.Field{ir.NewField(base.Pos, typecheck.Lookup("r"), types.Types[types.TBOOL])})
fn := typecheck.DeclFunc(sym, tfn)
np := ir.AsNode(tfn.Type().Params().Field(0).Nname)
typecheck.DeclContext = ir.PEXTERN
tfn := ir.NewFuncType(base.Pos,
- ir.NewField(base.Pos, typecheck.Lookup(".this"), nil, rcvr),
+ ir.NewField(base.Pos, typecheck.Lookup(".this"), rcvr),
typecheck.NewFuncParams(method.Type.Params(), true),
typecheck.NewFuncParams(method.Type.Results(), false))