add printf to fmt.
uses reflection to determine arguments.
for now, the arguments must be provided as a struct; the compiler
will soon do the packaging automatically for "..." parameters.
R=rsc
DELTA=1436 (909 added, 520 deleted, 7 changed)
OCL=17823
CL=17831
diff --git a/src/lib/reflect/value.go b/src/lib/reflect/value.go
index 7d6172d..80ad46e 100644
--- a/src/lib/reflect/value.go
+++ b/src/lib/reflect/value.go
@@ -444,9 +444,9 @@
export type PtrValue interface {
Kind() int;
- Sub() Value;
Type() Type;
- Indirect() Addr;
+ Sub() Value;
+ Get() Addr;
}
type PtrValueStruct struct {
@@ -462,12 +462,12 @@
return v.typ
}
-func (v *PtrValueStruct) Indirect() Addr {
+func (v *PtrValueStruct) Get() Addr {
return *AddrToPtrAddr(v.addr)
}
func (v *PtrValueStruct) Sub() Value {
- return NewValueAddr(v.typ.(PtrType).Sub(), v.Indirect());
+ return NewValueAddr(v.typ.(PtrType).Sub(), v.Get());
}
func PtrCreator(typ Type, addr Addr) Value {