sensorlog: Change vdl go codegen to emit __VDLInit funcs.

Fixes a subtle init-ordering issue in vdl-generated go code.  The
basic problem looks something like this; there are many variants
to this problem, this is just one simple example:

// User's file a.go
package foo
import "v.io/v23/vdl"
var myType := vdl.TypeOf(FooType{})

// Generated file foo.vdl.go
package foo
import "v.io/v23/vdl"
func init() {
vdl.RegisterNative(FooToNative, FooFromNative)
}

The problem is that the vdl.RegisterNative call must occur before
the vdl.TypeOf call, so that the vdl package knows about native
types, and can analyze the type correctly.  But init funcs are
always processed after all package-level variables have been
initialized, so we get the wrong order above.

We fix that by moving all initialization into a generated
__VDLInit func, with a trick to turn it into a var
initialization.  Note that we still haven't fixed the above
example, since the package-level vars in a.go are typically
processed before foo.vdl.go.  In the rare case where this
happens, the user can add a call to __VDLInit in a var
initializer early in their a.go file.

Similar problems existed with vom.RawBytesOf, and the
manually-generated types we were storing in package-level vars.

The new strategy is to put all ordering-dependent init logic in
__VDLInit, and to ensure that the order that we call things
within the function is correct.  We also sort types, consts and
interfaces in the compiler as best we can.  Note that sorting
types isn't strictly required (or meaningful), since we allow
cyclic types.  But it still might be nice for some generated
languages.

There are further cleanups possible; we can probably add
error-checking more methodically for cases like above where the
user needs to add a call to __VDLInit, and we should replace the
long hex hash for generated type names to a simple counter.  But
that'll occur in a separate CL; this is the more important one.

MultiPart: 6/6

Change-Id: I86724bc81f0f3d3a2afa319c5d9587656f534892
diff --git a/go/src/v.io/x/sensorlog/internal/sbmodel/sbmodel.vdl.go b/go/src/v.io/x/sensorlog/internal/sbmodel/sbmodel.vdl.go
index a0f7371..28075dd 100644
--- a/go/src/v.io/x/sensorlog/internal/sbmodel/sbmodel.vdl.go
+++ b/go/src/v.io/x/sensorlog/internal/sbmodel/sbmodel.vdl.go
@@ -20,6 +20,11 @@
 	time_2 "v.io/v23/vdlroot/time"
 )
 
+var _ = __VDLInit() // Must be first; see __VDLInit comments for details.
+
+//////////////////////////////////////////////////
+// Type definitions
+
 // devicecfg : <DevId>
 // Measuring device handle. Master only.
 type VDeviceCfg struct {
@@ -35,9 +40,6 @@
 }
 
 func (m *VDeviceCfg) FillVDLTarget(t vdl.Target, tt *vdl.Type) error {
-	if __VDLType_v_io_x_sensorlog_internal_sbmodel_VDeviceCfg == nil || __VDLType0 == nil {
-		panic("Initialization order error: types generated for FillVDLTarget not initialized. Consider moving caller to an init() block.")
-	}
 	fieldsTarget1, err := t.StartFields(tt)
 	if err != nil {
 		return err
@@ -48,7 +50,7 @@
 		return err
 	}
 	if err != vdl.ErrFieldNoExist {
-		if err := fieldTarget3.FromString(string(m.Desc), vdl.StringType); err != nil {
+		if err := fieldTarget3.FromString(string(m.Desc), tt.NonOptional().Field(0).Type); err != nil {
 			return err
 		}
 		if err := fieldsTarget1.FinishField(keyTarget2, fieldTarget3); err != nil {
@@ -60,7 +62,7 @@
 		return err
 	}
 	if err != vdl.ErrFieldNoExist {
-		if err := fieldTarget5.FromString(string(m.SgPublishSb), vdl.StringType); err != nil {
+		if err := fieldTarget5.FromString(string(m.SgPublishSb), tt.NonOptional().Field(1).Type); err != nil {
 			return err
 		}
 		if err := fieldsTarget1.FinishField(keyTarget4, fieldTarget5); err != nil {
@@ -87,8 +89,8 @@
 
 func (t *VDeviceCfgTarget) StartFields(tt *vdl.Type) (vdl.FieldsTarget, error) {
 
-	if !vdl.Compatible(tt, __VDLType_v_io_x_sensorlog_internal_sbmodel_VDeviceCfg) {
-		return nil, fmt.Errorf("type %v incompatible with %v", tt, __VDLType_v_io_x_sensorlog_internal_sbmodel_VDeviceCfg)
+	if ttWant := vdl.TypeOf((*VDeviceCfg)(nil)).Elem(); !vdl.Compatible(tt, ttWant) {
+		return nil, fmt.Errorf("type %v incompatible with %v", tt, ttWant)
 	}
 	return t, nil
 }
@@ -103,7 +105,7 @@
 		target, err := &t.sgPublishSbTarget, error(nil)
 		return nil, target, err
 	default:
-		return nil, nil, fmt.Errorf("field %s not in struct %v", name, __VDLType_v_io_x_sensorlog_internal_sbmodel_VDeviceCfg)
+		return nil, nil, fmt.Errorf("field %s not in struct v.io/x/sensorlog/internal/sbmodel.VDeviceCfg", name)
 	}
 }
 func (t *VDeviceCfgTarget) FinishField(_, _ vdl.Target) error {
@@ -124,9 +126,6 @@
 }
 
 func (m *KDeviceCfg) FillVDLTarget(t vdl.Target, tt *vdl.Type) error {
-	if __VDLType_v_io_x_sensorlog_internal_sbmodel_KDeviceCfg == nil || __VDLType1 == nil {
-		panic("Initialization order error: types generated for FillVDLTarget not initialized. Consider moving caller to an init() block.")
-	}
 	fieldsTarget1, err := t.StartFields(tt)
 	if err != nil {
 		return err
@@ -137,7 +136,7 @@
 		return err
 	}
 	if err != vdl.ErrFieldNoExist {
-		if err := fieldTarget3.FromString(string(m.DevId), vdl.StringType); err != nil {
+		if err := fieldTarget3.FromString(string(m.DevId), tt.NonOptional().Field(0).Type); err != nil {
 			return err
 		}
 		if err := fieldsTarget1.FinishField(keyTarget2, fieldTarget3); err != nil {
@@ -163,8 +162,8 @@
 
 func (t *KDeviceCfgTarget) StartFields(tt *vdl.Type) (vdl.FieldsTarget, error) {
 
-	if !vdl.Compatible(tt, __VDLType_v_io_x_sensorlog_internal_sbmodel_KDeviceCfg) {
-		return nil, fmt.Errorf("type %v incompatible with %v", tt, __VDLType_v_io_x_sensorlog_internal_sbmodel_KDeviceCfg)
+	if ttWant := vdl.TypeOf((*KDeviceCfg)(nil)).Elem(); !vdl.Compatible(tt, ttWant) {
+		return nil, fmt.Errorf("type %v incompatible with %v", tt, ttWant)
 	}
 	return t, nil
 }
@@ -175,7 +174,7 @@
 		target, err := &t.devIdTarget, error(nil)
 		return nil, target, err
 	default:
-		return nil, nil, fmt.Errorf("field %s not in struct %v", name, __VDLType_v_io_x_sensorlog_internal_sbmodel_KDeviceCfg)
+		return nil, nil, fmt.Errorf("field %s not in struct v.io/x/sensorlog/internal/sbmodel.KDeviceCfg", name)
 	}
 }
 func (t *KDeviceCfgTarget) FinishField(_, _ vdl.Target) error {
@@ -186,6 +185,127 @@
 	return nil
 }
 
+// Sampling script and polling frequency.
+type SamplerDef struct {
+	// Shell script executed after every Interval, starting from Start.
+	// It should output a single data point, if available. A non-zero exit
+	// status or failure to parse the value will produce an error instead.
+	Script   string
+	Start    time.Time
+	Interval time.Duration
+}
+
+func (SamplerDef) __VDLReflect(struct {
+	Name string `vdl:"v.io/x/sensorlog/internal/sbmodel.SamplerDef"`
+}) {
+}
+
+func (m *SamplerDef) FillVDLTarget(t vdl.Target, tt *vdl.Type) error {
+	fieldsTarget1, err := t.StartFields(tt)
+	if err != nil {
+		return err
+	}
+
+	keyTarget2, fieldTarget3, err := fieldsTarget1.StartField("Script")
+	if err != vdl.ErrFieldNoExist && err != nil {
+		return err
+	}
+	if err != vdl.ErrFieldNoExist {
+		if err := fieldTarget3.FromString(string(m.Script), tt.NonOptional().Field(0).Type); err != nil {
+			return err
+		}
+		if err := fieldsTarget1.FinishField(keyTarget2, fieldTarget3); err != nil {
+			return err
+		}
+	}
+	var wireValue4 time_2.Time
+	if err := time_2.TimeFromNative(&wireValue4, m.Start); err != nil {
+		return err
+	}
+
+	keyTarget5, fieldTarget6, err := fieldsTarget1.StartField("Start")
+	if err != vdl.ErrFieldNoExist && err != nil {
+		return err
+	}
+	if err != vdl.ErrFieldNoExist {
+
+		if err := wireValue4.FillVDLTarget(fieldTarget6, tt.NonOptional().Field(1).Type); err != nil {
+			return err
+		}
+		if err := fieldsTarget1.FinishField(keyTarget5, fieldTarget6); err != nil {
+			return err
+		}
+	}
+	var wireValue7 time_2.Duration
+	if err := time_2.DurationFromNative(&wireValue7, m.Interval); err != nil {
+		return err
+	}
+
+	keyTarget8, fieldTarget9, err := fieldsTarget1.StartField("Interval")
+	if err != vdl.ErrFieldNoExist && err != nil {
+		return err
+	}
+	if err != vdl.ErrFieldNoExist {
+
+		if err := wireValue7.FillVDLTarget(fieldTarget9, tt.NonOptional().Field(2).Type); err != nil {
+			return err
+		}
+		if err := fieldsTarget1.FinishField(keyTarget8, fieldTarget9); err != nil {
+			return err
+		}
+	}
+	if err := t.FinishFields(fieldsTarget1); err != nil {
+		return err
+	}
+	return nil
+}
+
+func (m *SamplerDef) MakeVDLTarget() vdl.Target {
+	return &SamplerDefTarget{Value: m}
+}
+
+type SamplerDefTarget struct {
+	Value          *SamplerDef
+	scriptTarget   vdl.StringTarget
+	startTarget    time_2.TimeTarget
+	intervalTarget time_2.DurationTarget
+	vdl.TargetBase
+	vdl.FieldsTargetBase
+}
+
+func (t *SamplerDefTarget) StartFields(tt *vdl.Type) (vdl.FieldsTarget, error) {
+
+	if ttWant := vdl.TypeOf((*SamplerDef)(nil)).Elem(); !vdl.Compatible(tt, ttWant) {
+		return nil, fmt.Errorf("type %v incompatible with %v", tt, ttWant)
+	}
+	return t, nil
+}
+func (t *SamplerDefTarget) StartField(name string) (key, field vdl.Target, _ error) {
+	switch name {
+	case "Script":
+		t.scriptTarget.Value = &t.Value.Script
+		target, err := &t.scriptTarget, error(nil)
+		return nil, target, err
+	case "Start":
+		t.startTarget.Value = &t.Value.Start
+		target, err := &t.startTarget, error(nil)
+		return nil, target, err
+	case "Interval":
+		t.intervalTarget.Value = &t.Value.Interval
+		target, err := &t.intervalTarget, error(nil)
+		return nil, target, err
+	default:
+		return nil, nil, fmt.Errorf("field %s not in struct v.io/x/sensorlog/internal/sbmodel.SamplerDef", name)
+	}
+}
+func (t *SamplerDefTarget) FinishField(_, _ vdl.Target) error {
+	return nil
+}
+func (t *SamplerDefTarget) FinishFields(_ vdl.FieldsTarget) error {
+
+	return nil
+}
+
 // streamdef : <DevId>/<StreamId>
 // Configures a stream of data to be measured.
 type VStreamDef struct {
@@ -203,7 +323,6 @@
 }
 
 func (m *VStreamDef) FillVDLTarget(t vdl.Target, tt *vdl.Type) error {
-	__VDLEnsureNativeBuilt()
 	fieldsTarget1, err := t.StartFields(tt)
 	if err != nil {
 		return err
@@ -214,7 +333,7 @@
 		return err
 	}
 	if err != vdl.ErrFieldNoExist {
-		if err := fieldTarget3.FromString(string(m.Desc), vdl.StringType); err != nil {
+		if err := fieldTarget3.FromString(string(m.Desc), tt.NonOptional().Field(0).Type); err != nil {
 			return err
 		}
 		if err := fieldsTarget1.FinishField(keyTarget2, fieldTarget3); err != nil {
@@ -227,7 +346,7 @@
 	}
 	if err != vdl.ErrFieldNoExist {
 
-		if err := m.Sampler.FillVDLTarget(fieldTarget5, __VDLType_v_io_x_sensorlog_internal_sbmodel_SamplerDef); err != nil {
+		if err := m.Sampler.FillVDLTarget(fieldTarget5, tt.NonOptional().Field(1).Type); err != nil {
 			return err
 		}
 		if err := fieldsTarget1.FinishField(keyTarget4, fieldTarget5); err != nil {
@@ -239,7 +358,7 @@
 		return err
 	}
 	if err != vdl.ErrFieldNoExist {
-		if err := fieldTarget7.FromBool(bool(m.Enabled), vdl.BoolType); err != nil {
+		if err := fieldTarget7.FromBool(bool(m.Enabled), tt.NonOptional().Field(2).Type); err != nil {
 			return err
 		}
 		if err := fieldsTarget1.FinishField(keyTarget6, fieldTarget7); err != nil {
@@ -267,8 +386,8 @@
 
 func (t *VStreamDefTarget) StartFields(tt *vdl.Type) (vdl.FieldsTarget, error) {
 
-	if !vdl.Compatible(tt, __VDLType_v_io_x_sensorlog_internal_sbmodel_VStreamDef) {
-		return nil, fmt.Errorf("type %v incompatible with %v", tt, __VDLType_v_io_x_sensorlog_internal_sbmodel_VStreamDef)
+	if ttWant := vdl.TypeOf((*VStreamDef)(nil)).Elem(); !vdl.Compatible(tt, ttWant) {
+		return nil, fmt.Errorf("type %v incompatible with %v", tt, ttWant)
 	}
 	return t, nil
 }
@@ -287,7 +406,7 @@
 		target, err := &t.enabledTarget, error(nil)
 		return nil, target, err
 	default:
-		return nil, nil, fmt.Errorf("field %s not in struct %v", name, __VDLType_v_io_x_sensorlog_internal_sbmodel_VStreamDef)
+		return nil, nil, fmt.Errorf("field %s not in struct v.io/x/sensorlog/internal/sbmodel.VStreamDef", name)
 	}
 }
 func (t *VStreamDefTarget) FinishField(_, _ vdl.Target) error {
@@ -298,48 +417,6 @@
 	return nil
 }
 
-type SamplerDefTarget struct {
-	Value          *SamplerDef
-	scriptTarget   vdl.StringTarget
-	startTarget    time_2.TimeTarget
-	intervalTarget time_2.DurationTarget
-	vdl.TargetBase
-	vdl.FieldsTargetBase
-}
-
-func (t *SamplerDefTarget) StartFields(tt *vdl.Type) (vdl.FieldsTarget, error) {
-
-	if !vdl.Compatible(tt, __VDLType_v_io_x_sensorlog_internal_sbmodel_SamplerDef) {
-		return nil, fmt.Errorf("type %v incompatible with %v", tt, __VDLType_v_io_x_sensorlog_internal_sbmodel_SamplerDef)
-	}
-	return t, nil
-}
-func (t *SamplerDefTarget) StartField(name string) (key, field vdl.Target, _ error) {
-	switch name {
-	case "Script":
-		t.scriptTarget.Value = &t.Value.Script
-		target, err := &t.scriptTarget, error(nil)
-		return nil, target, err
-	case "Start":
-		t.startTarget.Value = &t.Value.Start
-		target, err := &t.startTarget, error(nil)
-		return nil, target, err
-	case "Interval":
-		t.intervalTarget.Value = &t.Value.Interval
-		target, err := &t.intervalTarget, error(nil)
-		return nil, target, err
-	default:
-		return nil, nil, fmt.Errorf("field %s not in struct %v", name, __VDLType_v_io_x_sensorlog_internal_sbmodel_SamplerDef)
-	}
-}
-func (t *SamplerDefTarget) FinishField(_, _ vdl.Target) error {
-	return nil
-}
-func (t *SamplerDefTarget) FinishFields(_ vdl.FieldsTarget) error {
-
-	return nil
-}
-
 type KStreamDef struct {
 	DevId    string
 	StreamId string
@@ -351,9 +428,6 @@
 }
 
 func (m *KStreamDef) FillVDLTarget(t vdl.Target, tt *vdl.Type) error {
-	if __VDLType_v_io_x_sensorlog_internal_sbmodel_KStreamDef == nil || __VDLType3 == nil {
-		panic("Initialization order error: types generated for FillVDLTarget not initialized. Consider moving caller to an init() block.")
-	}
 	fieldsTarget1, err := t.StartFields(tt)
 	if err != nil {
 		return err
@@ -364,7 +438,7 @@
 		return err
 	}
 	if err != vdl.ErrFieldNoExist {
-		if err := fieldTarget3.FromString(string(m.DevId), vdl.StringType); err != nil {
+		if err := fieldTarget3.FromString(string(m.DevId), tt.NonOptional().Field(0).Type); err != nil {
 			return err
 		}
 		if err := fieldsTarget1.FinishField(keyTarget2, fieldTarget3); err != nil {
@@ -376,7 +450,7 @@
 		return err
 	}
 	if err != vdl.ErrFieldNoExist {
-		if err := fieldTarget5.FromString(string(m.StreamId), vdl.StringType); err != nil {
+		if err := fieldTarget5.FromString(string(m.StreamId), tt.NonOptional().Field(1).Type); err != nil {
 			return err
 		}
 		if err := fieldsTarget1.FinishField(keyTarget4, fieldTarget5); err != nil {
@@ -403,8 +477,8 @@
 
 func (t *KStreamDefTarget) StartFields(tt *vdl.Type) (vdl.FieldsTarget, error) {
 
-	if !vdl.Compatible(tt, __VDLType_v_io_x_sensorlog_internal_sbmodel_KStreamDef) {
-		return nil, fmt.Errorf("type %v incompatible with %v", tt, __VDLType_v_io_x_sensorlog_internal_sbmodel_KStreamDef)
+	if ttWant := vdl.TypeOf((*KStreamDef)(nil)).Elem(); !vdl.Compatible(tt, ttWant) {
+		return nil, fmt.Errorf("type %v incompatible with %v", tt, ttWant)
 	}
 	return t, nil
 }
@@ -419,7 +493,7 @@
 		target, err := &t.streamIdTarget, error(nil)
 		return nil, target, err
 	default:
-		return nil, nil, fmt.Errorf("field %s not in struct %v", name, __VDLType_v_io_x_sensorlog_internal_sbmodel_KStreamDef)
+		return nil, nil, fmt.Errorf("field %s not in struct v.io/x/sensorlog/internal/sbmodel.KStreamDef", name)
 	}
 }
 func (t *KStreamDefTarget) FinishField(_, _ vdl.Target) error {
@@ -430,86 +504,6 @@
 	return nil
 }
 
-// Sampling script and polling frequency.
-type SamplerDef struct {
-	// Shell script executed after every Interval, starting from Start.
-	// It should output a single data point, if available. A non-zero exit
-	// status or failure to parse the value will produce an error instead.
-	Script   string
-	Start    time.Time
-	Interval time.Duration
-}
-
-func (SamplerDef) __VDLReflect(struct {
-	Name string `vdl:"v.io/x/sensorlog/internal/sbmodel.SamplerDef"`
-}) {
-}
-
-func (m *SamplerDef) FillVDLTarget(t vdl.Target, tt *vdl.Type) error {
-	__VDLEnsureNativeBuilt()
-	fieldsTarget1, err := t.StartFields(tt)
-	if err != nil {
-		return err
-	}
-
-	keyTarget2, fieldTarget3, err := fieldsTarget1.StartField("Script")
-	if err != vdl.ErrFieldNoExist && err != nil {
-		return err
-	}
-	if err != vdl.ErrFieldNoExist {
-		if err := fieldTarget3.FromString(string(m.Script), vdl.StringType); err != nil {
-			return err
-		}
-		if err := fieldsTarget1.FinishField(keyTarget2, fieldTarget3); err != nil {
-			return err
-		}
-	}
-	var wireValue4 time_2.Time
-	if err := time_2.TimeFromNative(&wireValue4, m.Start); err != nil {
-		return err
-	}
-
-	keyTarget5, fieldTarget6, err := fieldsTarget1.StartField("Start")
-	if err != vdl.ErrFieldNoExist && err != nil {
-		return err
-	}
-	if err != vdl.ErrFieldNoExist {
-
-		if err := wireValue4.FillVDLTarget(fieldTarget6, __VDLType_time_Time); err != nil {
-			return err
-		}
-		if err := fieldsTarget1.FinishField(keyTarget5, fieldTarget6); err != nil {
-			return err
-		}
-	}
-	var wireValue7 time_2.Duration
-	if err := time_2.DurationFromNative(&wireValue7, m.Interval); err != nil {
-		return err
-	}
-
-	keyTarget8, fieldTarget9, err := fieldsTarget1.StartField("Interval")
-	if err != vdl.ErrFieldNoExist && err != nil {
-		return err
-	}
-	if err != vdl.ErrFieldNoExist {
-
-		if err := wireValue7.FillVDLTarget(fieldTarget9, __VDLType_time_Duration); err != nil {
-			return err
-		}
-		if err := fieldsTarget1.FinishField(keyTarget8, fieldTarget9); err != nil {
-			return err
-		}
-	}
-	if err := t.FinishFields(fieldsTarget1); err != nil {
-		return err
-	}
-	return nil
-}
-
-func (m *SamplerDef) MakeVDLTarget() vdl.Target {
-	return &SamplerDefTarget{Value: m}
-}
-
 // sdata : <DevId>/<StreamId>/<Timestamp>
 // Measured data value or error.
 type KDataPoint struct {
@@ -524,7 +518,6 @@
 }
 
 func (m *KDataPoint) FillVDLTarget(t vdl.Target, tt *vdl.Type) error {
-	__VDLEnsureNativeBuilt()
 	fieldsTarget1, err := t.StartFields(tt)
 	if err != nil {
 		return err
@@ -535,7 +528,7 @@
 		return err
 	}
 	if err != vdl.ErrFieldNoExist {
-		if err := fieldTarget3.FromString(string(m.DevId), vdl.StringType); err != nil {
+		if err := fieldTarget3.FromString(string(m.DevId), tt.NonOptional().Field(0).Type); err != nil {
 			return err
 		}
 		if err := fieldsTarget1.FinishField(keyTarget2, fieldTarget3); err != nil {
@@ -547,7 +540,7 @@
 		return err
 	}
 	if err != vdl.ErrFieldNoExist {
-		if err := fieldTarget5.FromString(string(m.StreamId), vdl.StringType); err != nil {
+		if err := fieldTarget5.FromString(string(m.StreamId), tt.NonOptional().Field(1).Type); err != nil {
 			return err
 		}
 		if err := fieldsTarget1.FinishField(keyTarget4, fieldTarget5); err != nil {
@@ -565,7 +558,7 @@
 	}
 	if err != vdl.ErrFieldNoExist {
 
-		if err := wireValue6.FillVDLTarget(fieldTarget8, __VDLType_time_Time); err != nil {
+		if err := wireValue6.FillVDLTarget(fieldTarget8, tt.NonOptional().Field(2).Type); err != nil {
 			return err
 		}
 		if err := fieldsTarget1.FinishField(keyTarget7, fieldTarget8); err != nil {
@@ -593,8 +586,8 @@
 
 func (t *KDataPointTarget) StartFields(tt *vdl.Type) (vdl.FieldsTarget, error) {
 
-	if !vdl.Compatible(tt, __VDLType_v_io_x_sensorlog_internal_sbmodel_KDataPoint) {
-		return nil, fmt.Errorf("type %v incompatible with %v", tt, __VDLType_v_io_x_sensorlog_internal_sbmodel_KDataPoint)
+	if ttWant := vdl.TypeOf((*KDataPoint)(nil)).Elem(); !vdl.Compatible(tt, ttWant) {
+		return nil, fmt.Errorf("type %v incompatible with %v", tt, ttWant)
 	}
 	return t, nil
 }
@@ -613,7 +606,7 @@
 		target, err := &t.timestampTarget, error(nil)
 		return nil, target, err
 	default:
-		return nil, nil, fmt.Errorf("field %s not in struct %v", name, __VDLType_v_io_x_sensorlog_internal_sbmodel_KDataPoint)
+		return nil, nil, fmt.Errorf("field %s not in struct v.io/x/sensorlog/internal/sbmodel.KDataPoint", name)
 	}
 }
 func (t *KDataPointTarget) FinishField(_, _ vdl.Target) error {
@@ -658,7 +651,7 @@
 func (x VDataPointValue) __VDLReflect(__VDataPointReflect) {}
 
 func (m VDataPointValue) FillVDLTarget(t vdl.Target, tt *vdl.Type) error {
-	fieldsTarget1, err := t.StartFields(__VDLType_v_io_x_sensorlog_internal_sbmodel_VDataPoint)
+	fieldsTarget1, err := t.StartFields(tt)
 	if err != nil {
 		return err
 	}
@@ -666,7 +659,7 @@
 	if err != nil {
 		return err
 	}
-	if err := fieldTarget3.FromFloat(float64(m.Value), vdl.Float64Type); err != nil {
+	if err := fieldTarget3.FromFloat(float64(m.Value), tt.NonOptional().Field(0).Type); err != nil {
 		return err
 	}
 	if err := fieldsTarget1.FinishField(keyTarget2, fieldTarget3); err != nil {
@@ -689,7 +682,7 @@
 func (x VDataPointError) __VDLReflect(__VDataPointReflect) {}
 
 func (m VDataPointError) FillVDLTarget(t vdl.Target, tt *vdl.Type) error {
-	fieldsTarget1, err := t.StartFields(__VDLType_v_io_x_sensorlog_internal_sbmodel_VDataPoint)
+	fieldsTarget1, err := t.StartFields(tt)
 	if err != nil {
 		return err
 	}
@@ -697,7 +690,7 @@
 	if err != nil {
 		return err
 	}
-	if err := fieldTarget3.FromString(string(m.Value), vdl.StringType); err != nil {
+	if err := fieldTarget3.FromString(string(m.Value), tt.NonOptional().Field(1).Type); err != nil {
 		return err
 	}
 	if err := fieldsTarget1.FinishField(keyTarget2, fieldTarget3); err != nil {
@@ -714,291 +707,34 @@
 	return nil
 }
 
-func init() {
+var __VDLInitCalled bool
+
+// __VDLInit performs vdl initialization.  It is safe to call multiple times.
+// If you have an init ordering issue, just insert the following line verbatim
+// into your source files in this package, right after the "package foo" clause:
+//
+//    var _ = __VDLInit()
+//
+// The purpose of this function is to ensure that vdl initialization occurs in
+// the right order, and very early in the init sequence.  In particular, vdl
+// registration and package variable initialization needs to occur before
+// functions like vdl.TypeOf will work properly.
+//
+// This function returns a dummy value, so that it can be used to initialize the
+// first var in the file, to take advantage of Go's defined init order.
+func __VDLInit() struct{} {
+	if __VDLInitCalled {
+		return struct{}{}
+	}
+
+	// Register types.
 	vdl.Register((*VDeviceCfg)(nil))
 	vdl.Register((*KDeviceCfg)(nil))
+	vdl.Register((*SamplerDef)(nil))
 	vdl.Register((*VStreamDef)(nil))
 	vdl.Register((*KStreamDef)(nil))
-	vdl.Register((*SamplerDef)(nil))
 	vdl.Register((*KDataPoint)(nil))
 	vdl.Register((*VDataPoint)(nil))
-}
 
-var __VDLType5 *vdl.Type
-
-func __VDLType5_gen() *vdl.Type {
-	__VDLType5Builder := vdl.TypeBuilder{}
-
-	__VDLType51 := __VDLType5Builder.Optional()
-	__VDLType52 := __VDLType5Builder.Struct()
-	__VDLType53 := __VDLType5Builder.Named("v.io/x/sensorlog/internal/sbmodel.KDataPoint").AssignBase(__VDLType52)
-	__VDLType54 := vdl.StringType
-	__VDLType52.AppendField("DevId", __VDLType54)
-	__VDLType52.AppendField("StreamId", __VDLType54)
-	__VDLType55 := __VDLType5Builder.Struct()
-	__VDLType56 := __VDLType5Builder.Named("time.Time").AssignBase(__VDLType55)
-	__VDLType57 := vdl.Int64Type
-	__VDLType55.AppendField("Seconds", __VDLType57)
-	__VDLType58 := vdl.Int32Type
-	__VDLType55.AppendField("Nanos", __VDLType58)
-	__VDLType52.AppendField("Timestamp", __VDLType56)
-	__VDLType51.AssignElem(__VDLType53)
-	__VDLType5Builder.Build()
-	__VDLType5v, err := __VDLType51.Built()
-	if err != nil {
-		panic(err)
-	}
-	return __VDLType5v
-}
-func init() {
-	__VDLType5 = __VDLType5_gen()
-}
-
-var __VDLType1 *vdl.Type = vdl.TypeOf((*KDeviceCfg)(nil))
-var __VDLType3 *vdl.Type = vdl.TypeOf((*KStreamDef)(nil))
-var __VDLType4 *vdl.Type
-
-func __VDLType4_gen() *vdl.Type {
-	__VDLType4Builder := vdl.TypeBuilder{}
-
-	__VDLType41 := __VDLType4Builder.Optional()
-	__VDLType42 := __VDLType4Builder.Struct()
-	__VDLType43 := __VDLType4Builder.Named("v.io/x/sensorlog/internal/sbmodel.SamplerDef").AssignBase(__VDLType42)
-	__VDLType44 := vdl.StringType
-	__VDLType42.AppendField("Script", __VDLType44)
-	__VDLType45 := __VDLType4Builder.Struct()
-	__VDLType46 := __VDLType4Builder.Named("time.Time").AssignBase(__VDLType45)
-	__VDLType47 := vdl.Int64Type
-	__VDLType45.AppendField("Seconds", __VDLType47)
-	__VDLType48 := vdl.Int32Type
-	__VDLType45.AppendField("Nanos", __VDLType48)
-	__VDLType42.AppendField("Start", __VDLType46)
-	__VDLType49 := __VDLType4Builder.Struct()
-	__VDLType410 := __VDLType4Builder.Named("time.Duration").AssignBase(__VDLType49)
-	__VDLType49.AppendField("Seconds", __VDLType47)
-	__VDLType49.AppendField("Nanos", __VDLType48)
-	__VDLType42.AppendField("Interval", __VDLType410)
-	__VDLType41.AssignElem(__VDLType43)
-	__VDLType4Builder.Build()
-	__VDLType4v, err := __VDLType41.Built()
-	if err != nil {
-		panic(err)
-	}
-	return __VDLType4v
-}
-func init() {
-	__VDLType4 = __VDLType4_gen()
-}
-
-var __VDLType0 *vdl.Type = vdl.TypeOf((*VDeviceCfg)(nil))
-var __VDLType2 *vdl.Type
-
-func __VDLType2_gen() *vdl.Type {
-	__VDLType2Builder := vdl.TypeBuilder{}
-
-	__VDLType21 := __VDLType2Builder.Optional()
-	__VDLType22 := __VDLType2Builder.Struct()
-	__VDLType23 := __VDLType2Builder.Named("v.io/x/sensorlog/internal/sbmodel.VStreamDef").AssignBase(__VDLType22)
-	__VDLType24 := vdl.StringType
-	__VDLType22.AppendField("Desc", __VDLType24)
-	__VDLType25 := __VDLType2Builder.Struct()
-	__VDLType26 := __VDLType2Builder.Named("v.io/x/sensorlog/internal/sbmodel.SamplerDef").AssignBase(__VDLType25)
-	__VDLType25.AppendField("Script", __VDLType24)
-	__VDLType27 := __VDLType2Builder.Struct()
-	__VDLType28 := __VDLType2Builder.Named("time.Time").AssignBase(__VDLType27)
-	__VDLType29 := vdl.Int64Type
-	__VDLType27.AppendField("Seconds", __VDLType29)
-	__VDLType210 := vdl.Int32Type
-	__VDLType27.AppendField("Nanos", __VDLType210)
-	__VDLType25.AppendField("Start", __VDLType28)
-	__VDLType211 := __VDLType2Builder.Struct()
-	__VDLType212 := __VDLType2Builder.Named("time.Duration").AssignBase(__VDLType211)
-	__VDLType211.AppendField("Seconds", __VDLType29)
-	__VDLType211.AppendField("Nanos", __VDLType210)
-	__VDLType25.AppendField("Interval", __VDLType212)
-	__VDLType22.AppendField("Sampler", __VDLType26)
-	__VDLType213 := vdl.BoolType
-	__VDLType22.AppendField("Enabled", __VDLType213)
-	__VDLType21.AssignElem(__VDLType23)
-	__VDLType2Builder.Build()
-	__VDLType2v, err := __VDLType21.Built()
-	if err != nil {
-		panic(err)
-	}
-	return __VDLType2v
-}
-func init() {
-	__VDLType2 = __VDLType2_gen()
-}
-
-var __VDLType_time_Duration *vdl.Type
-
-func __VDLType_time_Duration_gen() *vdl.Type {
-	__VDLType_time_DurationBuilder := vdl.TypeBuilder{}
-
-	__VDLType_time_Duration1 := __VDLType_time_DurationBuilder.Struct()
-	__VDLType_time_Duration2 := __VDLType_time_DurationBuilder.Named("time.Duration").AssignBase(__VDLType_time_Duration1)
-	__VDLType_time_Duration3 := vdl.Int64Type
-	__VDLType_time_Duration1.AppendField("Seconds", __VDLType_time_Duration3)
-	__VDLType_time_Duration4 := vdl.Int32Type
-	__VDLType_time_Duration1.AppendField("Nanos", __VDLType_time_Duration4)
-	__VDLType_time_DurationBuilder.Build()
-	__VDLType_time_Durationv, err := __VDLType_time_Duration2.Built()
-	if err != nil {
-		panic(err)
-	}
-	return __VDLType_time_Durationv
-}
-func init() {
-	__VDLType_time_Duration = __VDLType_time_Duration_gen()
-}
-
-var __VDLType_time_Time *vdl.Type
-
-func __VDLType_time_Time_gen() *vdl.Type {
-	__VDLType_time_TimeBuilder := vdl.TypeBuilder{}
-
-	__VDLType_time_Time1 := __VDLType_time_TimeBuilder.Struct()
-	__VDLType_time_Time2 := __VDLType_time_TimeBuilder.Named("time.Time").AssignBase(__VDLType_time_Time1)
-	__VDLType_time_Time3 := vdl.Int64Type
-	__VDLType_time_Time1.AppendField("Seconds", __VDLType_time_Time3)
-	__VDLType_time_Time4 := vdl.Int32Type
-	__VDLType_time_Time1.AppendField("Nanos", __VDLType_time_Time4)
-	__VDLType_time_TimeBuilder.Build()
-	__VDLType_time_Timev, err := __VDLType_time_Time2.Built()
-	if err != nil {
-		panic(err)
-	}
-	return __VDLType_time_Timev
-}
-func init() {
-	__VDLType_time_Time = __VDLType_time_Time_gen()
-}
-
-var __VDLType_v_io_x_sensorlog_internal_sbmodel_KDataPoint *vdl.Type
-
-func __VDLType_v_io_x_sensorlog_internal_sbmodel_KDataPoint_gen() *vdl.Type {
-	__VDLType_v_io_x_sensorlog_internal_sbmodel_KDataPointBuilder := vdl.TypeBuilder{}
-
-	__VDLType_v_io_x_sensorlog_internal_sbmodel_KDataPoint1 := __VDLType_v_io_x_sensorlog_internal_sbmodel_KDataPointBuilder.Struct()
-	__VDLType_v_io_x_sensorlog_internal_sbmodel_KDataPoint2 := __VDLType_v_io_x_sensorlog_internal_sbmodel_KDataPointBuilder.Named("v.io/x/sensorlog/internal/sbmodel.KDataPoint").AssignBase(__VDLType_v_io_x_sensorlog_internal_sbmodel_KDataPoint1)
-	__VDLType_v_io_x_sensorlog_internal_sbmodel_KDataPoint3 := vdl.StringType
-	__VDLType_v_io_x_sensorlog_internal_sbmodel_KDataPoint1.AppendField("DevId", __VDLType_v_io_x_sensorlog_internal_sbmodel_KDataPoint3)
-	__VDLType_v_io_x_sensorlog_internal_sbmodel_KDataPoint1.AppendField("StreamId", __VDLType_v_io_x_sensorlog_internal_sbmodel_KDataPoint3)
-	__VDLType_v_io_x_sensorlog_internal_sbmodel_KDataPoint4 := __VDLType_v_io_x_sensorlog_internal_sbmodel_KDataPointBuilder.Struct()
-	__VDLType_v_io_x_sensorlog_internal_sbmodel_KDataPoint5 := __VDLType_v_io_x_sensorlog_internal_sbmodel_KDataPointBuilder.Named("time.Time").AssignBase(__VDLType_v_io_x_sensorlog_internal_sbmodel_KDataPoint4)
-	__VDLType_v_io_x_sensorlog_internal_sbmodel_KDataPoint6 := vdl.Int64Type
-	__VDLType_v_io_x_sensorlog_internal_sbmodel_KDataPoint4.AppendField("Seconds", __VDLType_v_io_x_sensorlog_internal_sbmodel_KDataPoint6)
-	__VDLType_v_io_x_sensorlog_internal_sbmodel_KDataPoint7 := vdl.Int32Type
-	__VDLType_v_io_x_sensorlog_internal_sbmodel_KDataPoint4.AppendField("Nanos", __VDLType_v_io_x_sensorlog_internal_sbmodel_KDataPoint7)
-	__VDLType_v_io_x_sensorlog_internal_sbmodel_KDataPoint1.AppendField("Timestamp", __VDLType_v_io_x_sensorlog_internal_sbmodel_KDataPoint5)
-	__VDLType_v_io_x_sensorlog_internal_sbmodel_KDataPointBuilder.Build()
-	__VDLType_v_io_x_sensorlog_internal_sbmodel_KDataPointv, err := __VDLType_v_io_x_sensorlog_internal_sbmodel_KDataPoint2.Built()
-	if err != nil {
-		panic(err)
-	}
-	return __VDLType_v_io_x_sensorlog_internal_sbmodel_KDataPointv
-}
-func init() {
-	__VDLType_v_io_x_sensorlog_internal_sbmodel_KDataPoint = __VDLType_v_io_x_sensorlog_internal_sbmodel_KDataPoint_gen()
-}
-
-var __VDLType_v_io_x_sensorlog_internal_sbmodel_KDeviceCfg *vdl.Type = vdl.TypeOf(KDeviceCfg{})
-var __VDLType_v_io_x_sensorlog_internal_sbmodel_KStreamDef *vdl.Type = vdl.TypeOf(KStreamDef{})
-var __VDLType_v_io_x_sensorlog_internal_sbmodel_SamplerDef *vdl.Type
-
-func __VDLType_v_io_x_sensorlog_internal_sbmodel_SamplerDef_gen() *vdl.Type {
-	__VDLType_v_io_x_sensorlog_internal_sbmodel_SamplerDefBuilder := vdl.TypeBuilder{}
-
-	__VDLType_v_io_x_sensorlog_internal_sbmodel_SamplerDef1 := __VDLType_v_io_x_sensorlog_internal_sbmodel_SamplerDefBuilder.Struct()
-	__VDLType_v_io_x_sensorlog_internal_sbmodel_SamplerDef2 := __VDLType_v_io_x_sensorlog_internal_sbmodel_SamplerDefBuilder.Named("v.io/x/sensorlog/internal/sbmodel.SamplerDef").AssignBase(__VDLType_v_io_x_sensorlog_internal_sbmodel_SamplerDef1)
-	__VDLType_v_io_x_sensorlog_internal_sbmodel_SamplerDef3 := vdl.StringType
-	__VDLType_v_io_x_sensorlog_internal_sbmodel_SamplerDef1.AppendField("Script", __VDLType_v_io_x_sensorlog_internal_sbmodel_SamplerDef3)
-	__VDLType_v_io_x_sensorlog_internal_sbmodel_SamplerDef4 := __VDLType_v_io_x_sensorlog_internal_sbmodel_SamplerDefBuilder.Struct()
-	__VDLType_v_io_x_sensorlog_internal_sbmodel_SamplerDef5 := __VDLType_v_io_x_sensorlog_internal_sbmodel_SamplerDefBuilder.Named("time.Time").AssignBase(__VDLType_v_io_x_sensorlog_internal_sbmodel_SamplerDef4)
-	__VDLType_v_io_x_sensorlog_internal_sbmodel_SamplerDef6 := vdl.Int64Type
-	__VDLType_v_io_x_sensorlog_internal_sbmodel_SamplerDef4.AppendField("Seconds", __VDLType_v_io_x_sensorlog_internal_sbmodel_SamplerDef6)
-	__VDLType_v_io_x_sensorlog_internal_sbmodel_SamplerDef7 := vdl.Int32Type
-	__VDLType_v_io_x_sensorlog_internal_sbmodel_SamplerDef4.AppendField("Nanos", __VDLType_v_io_x_sensorlog_internal_sbmodel_SamplerDef7)
-	__VDLType_v_io_x_sensorlog_internal_sbmodel_SamplerDef1.AppendField("Start", __VDLType_v_io_x_sensorlog_internal_sbmodel_SamplerDef5)
-	__VDLType_v_io_x_sensorlog_internal_sbmodel_SamplerDef8 := __VDLType_v_io_x_sensorlog_internal_sbmodel_SamplerDefBuilder.Struct()
-	__VDLType_v_io_x_sensorlog_internal_sbmodel_SamplerDef9 := __VDLType_v_io_x_sensorlog_internal_sbmodel_SamplerDefBuilder.Named("time.Duration").AssignBase(__VDLType_v_io_x_sensorlog_internal_sbmodel_SamplerDef8)
-	__VDLType_v_io_x_sensorlog_internal_sbmodel_SamplerDef8.AppendField("Seconds", __VDLType_v_io_x_sensorlog_internal_sbmodel_SamplerDef6)
-	__VDLType_v_io_x_sensorlog_internal_sbmodel_SamplerDef8.AppendField("Nanos", __VDLType_v_io_x_sensorlog_internal_sbmodel_SamplerDef7)
-	__VDLType_v_io_x_sensorlog_internal_sbmodel_SamplerDef1.AppendField("Interval", __VDLType_v_io_x_sensorlog_internal_sbmodel_SamplerDef9)
-	__VDLType_v_io_x_sensorlog_internal_sbmodel_SamplerDefBuilder.Build()
-	__VDLType_v_io_x_sensorlog_internal_sbmodel_SamplerDefv, err := __VDLType_v_io_x_sensorlog_internal_sbmodel_SamplerDef2.Built()
-	if err != nil {
-		panic(err)
-	}
-	return __VDLType_v_io_x_sensorlog_internal_sbmodel_SamplerDefv
-}
-func init() {
-	__VDLType_v_io_x_sensorlog_internal_sbmodel_SamplerDef = __VDLType_v_io_x_sensorlog_internal_sbmodel_SamplerDef_gen()
-}
-
-var __VDLType_v_io_x_sensorlog_internal_sbmodel_VDataPoint *vdl.Type = vdl.TypeOf(VDataPoint(VDataPointValue{float64(0)}))
-var __VDLType_v_io_x_sensorlog_internal_sbmodel_VDeviceCfg *vdl.Type = vdl.TypeOf(VDeviceCfg{})
-var __VDLType_v_io_x_sensorlog_internal_sbmodel_VStreamDef *vdl.Type
-
-func __VDLType_v_io_x_sensorlog_internal_sbmodel_VStreamDef_gen() *vdl.Type {
-	__VDLType_v_io_x_sensorlog_internal_sbmodel_VStreamDefBuilder := vdl.TypeBuilder{}
-
-	__VDLType_v_io_x_sensorlog_internal_sbmodel_VStreamDef1 := __VDLType_v_io_x_sensorlog_internal_sbmodel_VStreamDefBuilder.Struct()
-	__VDLType_v_io_x_sensorlog_internal_sbmodel_VStreamDef2 := __VDLType_v_io_x_sensorlog_internal_sbmodel_VStreamDefBuilder.Named("v.io/x/sensorlog/internal/sbmodel.VStreamDef").AssignBase(__VDLType_v_io_x_sensorlog_internal_sbmodel_VStreamDef1)
-	__VDLType_v_io_x_sensorlog_internal_sbmodel_VStreamDef3 := vdl.StringType
-	__VDLType_v_io_x_sensorlog_internal_sbmodel_VStreamDef1.AppendField("Desc", __VDLType_v_io_x_sensorlog_internal_sbmodel_VStreamDef3)
-	__VDLType_v_io_x_sensorlog_internal_sbmodel_VStreamDef4 := __VDLType_v_io_x_sensorlog_internal_sbmodel_VStreamDefBuilder.Struct()
-	__VDLType_v_io_x_sensorlog_internal_sbmodel_VStreamDef5 := __VDLType_v_io_x_sensorlog_internal_sbmodel_VStreamDefBuilder.Named("v.io/x/sensorlog/internal/sbmodel.SamplerDef").AssignBase(__VDLType_v_io_x_sensorlog_internal_sbmodel_VStreamDef4)
-	__VDLType_v_io_x_sensorlog_internal_sbmodel_VStreamDef4.AppendField("Script", __VDLType_v_io_x_sensorlog_internal_sbmodel_VStreamDef3)
-	__VDLType_v_io_x_sensorlog_internal_sbmodel_VStreamDef6 := __VDLType_v_io_x_sensorlog_internal_sbmodel_VStreamDefBuilder.Struct()
-	__VDLType_v_io_x_sensorlog_internal_sbmodel_VStreamDef7 := __VDLType_v_io_x_sensorlog_internal_sbmodel_VStreamDefBuilder.Named("time.Time").AssignBase(__VDLType_v_io_x_sensorlog_internal_sbmodel_VStreamDef6)
-	__VDLType_v_io_x_sensorlog_internal_sbmodel_VStreamDef8 := vdl.Int64Type
-	__VDLType_v_io_x_sensorlog_internal_sbmodel_VStreamDef6.AppendField("Seconds", __VDLType_v_io_x_sensorlog_internal_sbmodel_VStreamDef8)
-	__VDLType_v_io_x_sensorlog_internal_sbmodel_VStreamDef9 := vdl.Int32Type
-	__VDLType_v_io_x_sensorlog_internal_sbmodel_VStreamDef6.AppendField("Nanos", __VDLType_v_io_x_sensorlog_internal_sbmodel_VStreamDef9)
-	__VDLType_v_io_x_sensorlog_internal_sbmodel_VStreamDef4.AppendField("Start", __VDLType_v_io_x_sensorlog_internal_sbmodel_VStreamDef7)
-	__VDLType_v_io_x_sensorlog_internal_sbmodel_VStreamDef10 := __VDLType_v_io_x_sensorlog_internal_sbmodel_VStreamDefBuilder.Struct()
-	__VDLType_v_io_x_sensorlog_internal_sbmodel_VStreamDef11 := __VDLType_v_io_x_sensorlog_internal_sbmodel_VStreamDefBuilder.Named("time.Duration").AssignBase(__VDLType_v_io_x_sensorlog_internal_sbmodel_VStreamDef10)
-	__VDLType_v_io_x_sensorlog_internal_sbmodel_VStreamDef10.AppendField("Seconds", __VDLType_v_io_x_sensorlog_internal_sbmodel_VStreamDef8)
-	__VDLType_v_io_x_sensorlog_internal_sbmodel_VStreamDef10.AppendField("Nanos", __VDLType_v_io_x_sensorlog_internal_sbmodel_VStreamDef9)
-	__VDLType_v_io_x_sensorlog_internal_sbmodel_VStreamDef4.AppendField("Interval", __VDLType_v_io_x_sensorlog_internal_sbmodel_VStreamDef11)
-	__VDLType_v_io_x_sensorlog_internal_sbmodel_VStreamDef1.AppendField("Sampler", __VDLType_v_io_x_sensorlog_internal_sbmodel_VStreamDef5)
-	__VDLType_v_io_x_sensorlog_internal_sbmodel_VStreamDef12 := vdl.BoolType
-	__VDLType_v_io_x_sensorlog_internal_sbmodel_VStreamDef1.AppendField("Enabled", __VDLType_v_io_x_sensorlog_internal_sbmodel_VStreamDef12)
-	__VDLType_v_io_x_sensorlog_internal_sbmodel_VStreamDefBuilder.Build()
-	__VDLType_v_io_x_sensorlog_internal_sbmodel_VStreamDefv, err := __VDLType_v_io_x_sensorlog_internal_sbmodel_VStreamDef2.Built()
-	if err != nil {
-		panic(err)
-	}
-	return __VDLType_v_io_x_sensorlog_internal_sbmodel_VStreamDefv
-}
-func init() {
-	__VDLType_v_io_x_sensorlog_internal_sbmodel_VStreamDef = __VDLType_v_io_x_sensorlog_internal_sbmodel_VStreamDef_gen()
-}
-func __VDLEnsureNativeBuilt() {
-	if __VDLType5 == nil {
-		__VDLType5 = __VDLType5_gen()
-	}
-	if __VDLType4 == nil {
-		__VDLType4 = __VDLType4_gen()
-	}
-	if __VDLType2 == nil {
-		__VDLType2 = __VDLType2_gen()
-	}
-	if __VDLType_time_Duration == nil {
-		__VDLType_time_Duration = __VDLType_time_Duration_gen()
-	}
-	if __VDLType_time_Time == nil {
-		__VDLType_time_Time = __VDLType_time_Time_gen()
-	}
-	if __VDLType_v_io_x_sensorlog_internal_sbmodel_KDataPoint == nil {
-		__VDLType_v_io_x_sensorlog_internal_sbmodel_KDataPoint = __VDLType_v_io_x_sensorlog_internal_sbmodel_KDataPoint_gen()
-	}
-	if __VDLType_v_io_x_sensorlog_internal_sbmodel_SamplerDef == nil {
-		__VDLType_v_io_x_sensorlog_internal_sbmodel_SamplerDef = __VDLType_v_io_x_sensorlog_internal_sbmodel_SamplerDef_gen()
-	}
-	if __VDLType_v_io_x_sensorlog_internal_sbmodel_VStreamDef == nil {
-		__VDLType_v_io_x_sensorlog_internal_sbmodel_VStreamDef = __VDLType_v_io_x_sensorlog_internal_sbmodel_VStreamDef_gen()
-	}
+	return struct{}{}
 }