1/*
2Copyright 2018 The Kubernetes Authors.
3
4Licensed under the Apache License, Version 2.0 (the "License");
5you may not use this file except in compliance with the License.
6You may obtain a copy of the License at
7
8    http://www.apache.org/licenses/LICENSE-2.0
9
10Unless required by applicable law or agreed to in writing, software
11distributed under the License is distributed on an "AS IS" BASIS,
12WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13See the License for the specific language governing permissions and
14limitations under the License.
15*/
16
17package wholepkg
18
19import (
20	"k8s.io/gengo/examples/defaulter-gen/_output_tests/empty"
21)
22
23// Only primitives
24type Struct_Primitives struct {
25	empty.TypeMeta
26	BoolField   *bool
27	IntField    *int
28	StringField *string
29	FloatField  *float64
30}
31type Struct_Primitives_Alias Struct_Primitives
32
33type Struct_Struct_Primitives struct {
34	empty.TypeMeta
35	StructField Struct_Primitives
36}
37
38//Pointer
39type Struct_Pointer struct {
40	empty.TypeMeta
41	PointerStructPrimitivesField             Struct_Primitives
42	PointerPointerStructPrimitivesField      *Struct_Primitives
43	PointerStructPrimitivesAliasField        Struct_Primitives_Alias
44	PointerPointerStructPrimitivesAliasField Struct_Primitives_Alias
45	PointerStructStructPrimitives            Struct_Struct_Primitives
46	PointerPointerStructStructPrimitives     *Struct_Struct_Primitives
47}
48
49// Slices
50type Struct_Slices struct {
51	empty.TypeMeta
52	SliceStructPrimitivesField             []Struct_Primitives
53	SlicePointerStructPrimitivesField      []*Struct_Primitives
54	SliceStructPrimitivesAliasField        []Struct_Primitives_Alias
55	SlicePointerStructPrimitivesAliasField []*Struct_Primitives_Alias
56	SliceStructStructPrimitives            []Struct_Struct_Primitives
57	SlicePointerStructStructPrimitives     []*Struct_Struct_Primitives
58}
59
60// Everything
61type Struct_Everything struct {
62	empty.TypeMeta
63	BoolPtrField       *bool
64	IntPtrField        *int
65	StringPtrField     *string
66	FloatPtrField      *float64
67	PointerStructField Struct_Pointer
68	SliceBoolField     []bool
69	SliceByteField     []byte
70	SliceIntField      []int
71	SliceStringField   []string
72	SliceFloatField    []float64
73	SlicesStructField  Struct_Slices
74}
75