reflecthelpers

package
v2.0.0-alpha.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 20, 2021 License: MIT Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func DeepCopyInto

func DeepCopyInto(in client.Object, out client.Object)

DeepCopyInto calls in.DeepCopyInto(out)

func FindResourceReferences

func FindResourceReferences(transformer interface{}) (map[genruntime.ResourceReference]struct{}, error)

FindResourceReferences finds all ResourceReferences specified by a given genruntime.ARMTransformer (resource spec)

func IdentityVisitMap

func IdentityVisitMap(this *ReflectVisitor, it interface{}, ctx interface{}) error

IdentityVisitMap is the identity visit function for maps. It visits each key and value in the map.

func IdentityVisitPrimitive

func IdentityVisitPrimitive(this *ReflectVisitor, it interface{}, ctx interface{}) error

IdentityVisitPrimitive is the identity visit function for primitive types.

func IdentityVisitPtr

func IdentityVisitPtr(this *ReflectVisitor, it interface{}, ctx interface{}) error

IdentityVisitPtr is the identity visit function for pointer types. It dereferences the pointer and visits the type pointed to.

func IdentityVisitSlice

func IdentityVisitSlice(this *ReflectVisitor, it interface{}, ctx interface{}) error

IdentityVisitSlice is the identity visit function for slices. It visits each element of the slice.

func IdentityVisitStruct

func IdentityVisitStruct(this *ReflectVisitor, it interface{}, ctx interface{}) error

IdentityVisitStruct is the identity visit function for structs. It visits each exported field of the struct.

func IsPrimitiveKind

func IsPrimitiveKind(k reflect.Kind) bool

IsPrimitiveKind returns true if the provided reflect.Kind is for a primitive type, otherwise false.

func ValueOfPtr

func ValueOfPtr(ptr interface{}) interface{}

ValueOfPtr dereferences a pointer and returns the value the pointer points to. Use this as carefully as you would the * operator TODO: Can we delete this helper later when we have some better code generated functions?

Types

type ReflectVisitor

type ReflectVisitor struct {
	VisitPrimitive func(this *ReflectVisitor, it interface{}, ctx interface{}) error
	VisitStruct    func(this *ReflectVisitor, it interface{}, ctx interface{}) error
	VisitPtr       func(this *ReflectVisitor, it interface{}, ctx interface{}) error
	VisitSlice     func(this *ReflectVisitor, it interface{}, ctx interface{}) error
	VisitMap       func(this *ReflectVisitor, it interface{}, ctx interface{}) error
}

ReflectVisitor allows traversing an arbitrary object graph.

func NewReflectVisitor

func NewReflectVisitor() *ReflectVisitor

NewReflectVisitor creates an identity ReflectVisitor.

func (*ReflectVisitor) Visit

func (r *ReflectVisitor) Visit(val interface{}, ctx interface{}) error

Visit visits the provided value. The ctx parameter can be used to pass data through the visit hierarchy.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL