Documentation ¶
Index ¶
- Variables
- func Field(ctx context.Context) *midl.Field
- func FieldName(i int, n string) string
- func File(ctx context.Context) *midl.File
- func GoFieldName(field *midl.Field) string
- func GoHex(n int) func(uint64) string
- func GoPackage(ctx context.Context, n string) (string, *midl.Version, bool)
- func GoPrimitiveTypeName(t midl.Kind) string
- func Interface(ctx context.Context) *midl.Interface
- func IsOp(ctx context.Context) bool
- func IsReserved(ctx context.Context) bool
- func LookupName(ctx context.Context, scopes *Scopes) string
- func MSUnion(ctx context.Context) bool
- func ParamName(dir int) string
- func PointerDefault(ctx context.Context) midl.PointerType
- func UUIDToGUID(u *uuid.UUID) string
- func WithField(ctx context.Context, field *midl.Field) context.Context
- func WithFile(ctx context.Context, f *midl.File) context.Context
- func WithInterface(ctx context.Context, iff *midl.Interface) context.Context
- func WithOp(ctx context.Context) context.Context
- func WithReserved(ctx context.Context) context.Context
- func WithVarName(ctx context.Context, n string) context.Context
- type FileBuffer
- type Generator
- func (p *Generator) AddImport(imp Import) string
- func (p *Generator) Amp(v interface{}) string
- func (p *Generator) B(pre interface{}, s ...interface{}) string
- func (p *Generator) BPtr(ptr interface{}) string
- func (p *Generator) Block(args ...interface{})
- func (p *Generator) BufVar(name string) string
- func (p *Generator) ByteLen(ctx context.Context, n string, isNullTerminated bool) string
- func (p *Generator) CB(f func())
- func (p *Generator) DataLen(ctx context.Context, field *midl.Field, scopes *Scopes, n string, ...) string
- func (p *Generator) EO(n string) string
- func (p *Generator) Else(args ...interface{}) []interface{}
- func (p *Generator) ElseIf(args ...interface{}) []interface{}
- func (p *Generator) EmbeddedTypeName(ctx context.Context, attrs *midl.TypeAttr, field *midl.Field) string
- func (p *Generator) Gen(ctx context.Context, fn string) error
- func (p *Generator) GenClient(ctx context.Context, iff *midl.Interface)
- func (p *Generator) GenClientInterface(ctx context.Context, iff *midl.Interface)
- func (p *Generator) GenComment(ctx context.Context, docs []string)
- func (p *Generator) GenConst(ctx context.Context, c *midl.Const)
- func (p *Generator) GenDoAlignmentMarshalNDR(ctx context.Context, alignment int)
- func (p *Generator) GenDoAlignmentUnmarshalNDR(ctx context.Context, alignment int)
- func (p *Generator) GenImportGuards(ctx context.Context)
- func (p *Generator) GenImports(ctx context.Context)
- func (p *Generator) GenInterfaceID(ctx context.Context, iff *midl.Interface)
- func (p *Generator) GenOpName(ctx context.Context, op *midl.Operation, dir int)
- func (p *Generator) GenOpNum(ctx context.Context, op *midl.Operation, dir int)
- func (p *Generator) GenOperation(ctx context.Context, op *midl.Operation)
- func (p *Generator) GenOperationFromOp(ctx context.Context, op *midl.Operation, dir int)
- func (p *Generator) GenOperationMarshalNDR(ctx context.Context, op *midl.Operation, dir int)
- func (p *Generator) GenOperationStruct(ctx context.Context, op *midl.Operation, dir int)
- func (p *Generator) GenOperationToOp(ctx context.Context, op *midl.Operation, dir int)
- func (p *Generator) GenOperationUnmarshalNDR(ctx context.Context, op *midl.Operation, dir int)
- func (p *Generator) GenPackage(ctx context.Context, f *midl.File)
- func (p *Generator) GenPackageImportGuard(ctx context.Context)
- func (p *Generator) GenParamComment(ctx context.Context, param *midl.Param) string
- func (p *Generator) GenPointerType(ctx context.Context, scopes *Scopes) midl.PointerType
- func (p *Generator) GenRange(ctx context.Context, n string, i, upto int, fn func(context.Context, string))
- func (p *Generator) GenReadSize(ctx context.Context, sz interface{})
- func (p *Generator) GenServerHandle(ctx context.Context, iff *midl.Interface)
- func (p *Generator) GenServerInterface(ctx context.Context, iff *midl.Interface)
- func (p *Generator) GenTag(ctx context.Context, field *midl.Field) string
- func (p *Generator) GenType(ctx context.Context, t *midl.Type)
- func (p *Generator) GenWriteSize(ctx context.Context, sz interface{})
- func (p *Generator) GetImports() []Import
- func (p *Generator) GoFieldTypeName(ctx context.Context, attr *midl.TypeAttr, field *midl.Field) string
- func (p *Generator) GoInterfaceTypeName(ctx context.Context, iff *midl.Interface, n string) string
- func (p *Generator) GoPackageName(ctx context.Context, scopes *Scopes) string
- func (p *Generator) GoScopeTypeName(ctx context.Context, attr *midl.TypeAttr, field *midl.Field, scopes *Scopes, ...) string
- func (p *Generator) GoTypeName(ctx context.Context, attrs *midl.TypeAttr, field *midl.Field, scopes *Scopes) string
- func (p *Generator) GoTypeZeroValue(ctx context.Context, attr *midl.TypeAttr, field *midl.Field, scopes *Scopes) string
- func (p *Generator) IVar(n string, idxs ...interface{}) string
- func (p *Generator) If(args ...interface{})
- func (p *Generator) IsDir(ctx context.Context, pdir midl.Direction, dir int) bool
- func (p *Generator) IsUnusedOp(n string) bool
- func (p *Generator) Len(n string) string
- func (p *Generator) MethodName(ctx context.Context, op *midl.Operation) string
- func (p *Generator) NewParamGenerator(ctx context.Context, typ *midl.Type) *ParamGenerator
- func (p *Generator) NewTypeGenerator(ctx context.Context, typ *midl.Type) *TypeGenerator
- func (p *Generator) O(n string) string
- func (p *Generator) OpName(ctx context.Context, op *midl.Operation, dir int) string
- func (p *Generator) OperationParams(ctx context.Context, op *midl.Operation) []*midl.Param
- func (p *Generator) OperationReturnValue(ctx context.Context, op *midl.Operation) *midl.Param
- func (p *Generator) P(args ...interface{})
- func (p *Generator) PrepareOperationPayloadHook(ctx context.Context, dir int)
- func (p *Generator) Q(n string) string
- func (p *Generator) R(start, s, end string, count int) string
- func (p *Generator) Range(args ...interface{})
- func (p *Generator) Reset(ctx context.Context, source interface{}, n ...string)
- func (p *Generator) ReturnValue() string
- func (p *Generator) Structure(args ...interface{})
- func (p *Generator) SyntaxName(ctx context.Context, iff *midl.Interface) string
- func (p *Generator) T(args ...interface{})
- func (p *Generator) ToVar(s string) string
- func (p *Generator) UTF16Len(ctx context.Context, n string, isNullTerminated bool) string
- func (p *Generator) Var(n string, idx ...interface{}) string
- func (p *Generator) VarName(ctx context.Context, index ...interface{}) string
- func (p *Generator) XXX() string
- type GeneratorOptions
- type Import
- type ParamGenerator
- type Scopes
- func (i *Scopes) Alias() string
- func (i *Scopes) Alignment() int
- func (i *Scopes) Array() *midl.Array
- func (i *Scopes) Base() *Scopes
- func (i *Scopes) Dim() midl.Dim
- func (i *Scopes) Enum() *midl.Enum
- func (i *Scopes) EnumType() midl.Kind
- func (i *Scopes) GoName() string
- func (i *Scopes) Is(kind midl.Kind) bool
- func (i *Scopes) IsBool() bool
- func (i *Scopes) IsConformant() bool
- func (i *Scopes) IsDeferrable() bool
- func (i *Scopes) IsNotFixedArray() bool
- func (i *Scopes) IsTopLevelArray() bool
- func (i *Scopes) IsTopLevelPointer() bool
- func (i *Scopes) IsV1Enum() bool
- func (i *Scopes) IsVarying() bool
- func (i *Scopes) Kind() midl.Kind
- func (i *Scopes) Next() *Scopes
- func (i *Scopes) PointerCount() int
- func (i *Scopes) Scope() *midl.TypeAttr
- func (i *Scopes) ScopedType() *midl.Type
- func (i *Scopes) Struct() *midl.Struct
- func (i *Scopes) StructLastField() *midl.Field
- func (i *Scopes) Type() *midl.Type
- func (i *Scopes) Union() *midl.Union
- func (i *Scopes) WithAlias(a string) *Scopes
- type TypeGenerator
- func (p *TypeGenerator) ArmFields(ctx context.Context, cases *midl.UnionCase) []*midl.Field
- func (p *TypeGenerator) GenArraySizeVar(ctx context.Context, field *midl.Field, i int, scopes *Scopes, name string, ...) string
- func (p *TypeGenerator) GenCUnion(ctx context.Context)
- func (p *TypeGenerator) GenEnum(ctx context.Context)
- func (p *TypeGenerator) GenExpr(ctx context.Context, expr midl.Expr, field *midl.Field, typ string, ...) string
- func (p *TypeGenerator) GenFieldMarshalNDR(ctx context.Context, field *midl.Field, scopes *Scopes, index ...interface{})
- func (p *TypeGenerator) GenFieldUnmarshalNDR(ctx context.Context, field *midl.Field, scopes *Scopes, index ...interface{})
- func (p *TypeGenerator) GenInterface(ctx context.Context)
- func (p *TypeGenerator) GenLayout(ctx context.Context)
- func (p *TypeGenerator) GenMarshalSizeInfo(ctx context.Context, field *midl.Field, scopes *Scopes, index ...interface{}) bool
- func (p *TypeGenerator) GenStruct(ctx context.Context)
- func (p *TypeGenerator) GenStructField(ctx context.Context, field *midl.Field)
- func (p *TypeGenerator) GenStructFieldComment(ctx context.Context, field *midl.Field, defaultPtr ...string) string
- func (p *TypeGenerator) GenStructMarshalNDR(ctx context.Context)
- func (p *TypeGenerator) GenStructMarshalNDRSizePreamble(ctx context.Context, field *midl.Field)
- func (p *TypeGenerator) GenStructNDRSizeInfo(ctx context.Context)
- func (p *TypeGenerator) GenStructPreparePayload(ctx context.Context)
- func (p *TypeGenerator) GenStructPreparePayloadAfterHook(ctx context.Context)
- func (p *TypeGenerator) GenStructPreparePayloadFields(ctx context.Context, fields []*midl.Field)
- func (p *TypeGenerator) GenStructPreparePayloadSizeExpr(ctx context.Context, field *midl.Field, scopes *Scopes, sz midl.Expr)
- func (p *TypeGenerator) GenStructUnmarshalNDR(ctx context.Context)
- func (p *TypeGenerator) GenStructUnmarshalNDRSizePreamble(ctx context.Context, field *midl.Field)
- func (p *TypeGenerator) GenSubType(ctx context.Context, field *midl.Field)
- func (p *TypeGenerator) GenSubTypes(ctx context.Context, fields []*midl.Field)
- func (p *TypeGenerator) GenUnion(ctx context.Context)
- func (p *TypeGenerator) GenUnionArm(ctx context.Context, cases *midl.UnionCase)
- func (p *TypeGenerator) GenUnionArmInterface(ctx context.Context, cases *midl.UnionCase)
- func (p *TypeGenerator) GenUnionArmMarshalNDR(ctx context.Context, arm *midl.UnionCase, caseName string)
- func (p *TypeGenerator) GenUnionArmPrimitiveTypeMarshalNDR(ctx context.Context, cases *midl.UnionCase, armName string)
- func (p *TypeGenerator) GenUnionArmPrimitiveTypeUnmarshalNDR(ctx context.Context, cases *midl.UnionCase, armName string)
- func (p *TypeGenerator) GenUnionArmUnmarshalNDR(ctx context.Context, arm *midl.UnionCase, caseName string)
- func (p *TypeGenerator) GenUnionMarshalNDR(ctx context.Context)
- func (p *TypeGenerator) GenUnionUnmarshalNDR(ctx context.Context)
- func (p *TypeGenerator) GenWriteStringBuffer(ctx context.Context, scopes *Scopes, field *midl.Field, index ...interface{}) string
- func (p *TypeGenerator) GenZeroArrayFieldMarhalNDR(ctx context.Context, field *midl.Field, scopes *Scopes, index ...interface{})
- func (p *TypeGenerator) GenZeroEnumFieldMarshalNDR(ctx context.Context, field *midl.Field, scopes *Scopes, index ...interface{})
- func (p *TypeGenerator) GenZeroFieldMarshalNDR(ctx context.Context, field *midl.Field, scopes *Scopes, index ...interface{})
- func (p *TypeGenerator) GenZeroPointerFieldMarshalNDR(ctx context.Context, field *midl.Field, scopes *Scopes, index ...interface{})
- func (p *TypeGenerator) GenZeroStructFieldMarshalNDR(ctx context.Context, field *midl.Field, scopes *Scopes, index ...interface{})
- func (p *TypeGenerator) GenZeroUnionFieldMarshalNDR(ctx context.Context, field *midl.Field, scopes *Scopes, index ...interface{})
- func (p *TypeGenerator) GenerateNDRSwitchValue(ctx context.Context)
- func (p *TypeGenerator) GenerateSwitchIs(ctx context.Context, field *midl.Field, scopes *Scopes, switchVar string)
- func (p *TypeGenerator) GenerateUnionGetValue(ctx context.Context)
- func (p *TypeGenerator) GetMinVarValue(ctx context.Context, sizeExpr midl.Expr) (midl.Expr, int64, bool)
- func (p *TypeGenerator) GoFieldName(field *midl.Field) string
- func (p *TypeGenerator) IsArmPointerToPrimitiveType(ctx context.Context, cases *midl.UnionCase) bool
- func (p *TypeGenerator) IsEmbeddedArmStruct(ctx context.Context, cases *midl.UnionCase) bool
- func (p *TypeGenerator) LookupExprField(ctx context.Context, expr midl.Expr) *midl.Field
- func (p *TypeGenerator) Skip() bool
- func (p *TypeGenerator) SwitchType(ctx context.Context, scopes *Scopes) string
- func (p *TypeGenerator) SwitchTypeZeroValue(ctx context.Context, switchType string) any
- func (p *TypeGenerator) UnionArmName(ctx context.Context, cases *midl.UnionCase) string
Constants ¶
This section is empty.
Variables ¶
var ( CheckErr1 = func(p *Generator) func(...interface{}) { return func(args ...interface{}) { p.Block(append(append([]interface{}{"if", "err", ":="}, args...), ";", "err != nil", func() { p.P("return", "err") })) } } CheckErr2 = func(p *Generator) func(...interface{}) { return func(args ...interface{}) { p.P(args...) } } )
var ( HexImport = Import{ Name: "encoding/hex", Guard: "hex.DecodeString", } DefaultImports = []Import{ { Name: "context", Guard: "context.Background", }, { Name: "fmt", Guard: "fmt.Errorf", }, { Name: "unicode/utf16", Guard: "utf16.Encode", }, { Name: "strings", Guard: "strings.TrimPrefix", }, { Name: "ndr", Guard: "ndr.ZeroString", Path: "github.com/oiweiwei/go-msrpc/ndr", }, { Name: "uuid", Guard: "(*uuid.UUID)(nil)", Path: "github.com/oiweiwei/go-msrpc/midl/uuid", }, { Name: "dcerpc", Guard: "(*dcerpc.SyntaxID)(nil)", Path: "github.com/oiweiwei/go-msrpc/dcerpc", }, { Name: "errors", Guard: "(*errors.Error)(nil)", Path: "github.com/oiweiwei/go-msrpc/dcerpc/errors", }, } )
var ( GoName = go_names.GoName GoNameNoReserved = go_names.GoNameNoReserved GoMergeNames = go_names.GoMergeNames GoSnakeCase = go_names.GoSnakeCase LexName = go_names.GoLexName Escape = go_names.Escape RPCName = go_names.Unescape Title = go_names.Title )
var ( AnyParam = 0 InParam = 1 OutParam = 2 )
var ( // UTF16 String. UTF16LenFunc = "ndr.UTF16Len" // Char String. ByteLenFunc = "ndr.CharLen" // UTF16 Null-Terminated String. UTF16NLenFunc = "ndr.UTF16NLen" // Char Null-Terminated String. ByteNLenFunc = "ndr.CharNLen" // MultiSzLen MultiSzLenFunc = "ndr.MultiSzLen" )
var (
Obj = "o"
)
var (
ZeroLen = "%ZERO%"
)
Functions ¶
func GoFieldName ¶
func GoPrimitiveTypeName ¶
func IsReserved ¶
func PointerDefault ¶
func PointerDefault(ctx context.Context) midl.PointerType
func UUIDToGUID ¶
Types ¶
type FileBuffer ¶
type FileBuffer struct { Out *bytes.Buffer Path string PackageName string Imports []Import FileName string IsRoot bool }
func NewFileBuffer ¶
func NewFileBuffer(path string, pkg string, n ...string) *FileBuffer
func (*FileBuffer) Reset ¶
func (f *FileBuffer) Reset() []byte
type Generator ¶
type Generator struct { Trace bool MultiFile bool Format bool ImportsPath string Dir string Doc *doc.Doc Cache string Opts GeneratorOptions CheckErr func(...interface{}) Files []*FileBuffer // contains filtered or unexported fields }
func (*Generator) ByteLen ¶
ByteLen function returns the byte length-count function call on variable `n`.
func (*Generator) DataLen ¶
func (p *Generator) DataLen(ctx context.Context, field *midl.Field, scopes *Scopes, n string, defaultTypeSize ...string) string
DataLen function returns the proper length-count function call on variable `n`.
func (*Generator) EmbeddedTypeName ¶
func (*Generator) GenClientInterface ¶
func (*Generator) GenDoAlignmentMarshalNDR ¶
func (*Generator) GenDoAlignmentUnmarshalNDR ¶
func (*Generator) GenImportGuards ¶
func (*Generator) GenImports ¶
func (*Generator) GenInterfaceID ¶
func (*Generator) GenOperation ¶
func (*Generator) GenOperationFromOp ¶
func (*Generator) GenOperationMarshalNDR ¶
func (*Generator) GenOperationStruct ¶
func (*Generator) GenOperationToOp ¶
func (*Generator) GenOperationUnmarshalNDR ¶
func (*Generator) GenPackageImportGuard ¶
func (*Generator) GenParamComment ¶
func (*Generator) GenPointerType ¶
When no pointer attribute is associated with a pointer that is a member of a structure or union, the MIDL compiler assigns pointer attributes using the following priority rules (1 is highest):
1. Attributes explicitly applied to the pointer type 2. Attributes explicitly applied to the pointer parameter or member 3. (?) The pointer_default attribute in the IDL file that defines the type 4. The pointer_default attribute in the IDL file that imports the type 5. Unique (Microsoft RPC default mode)
func (*Generator) GenReadSize ¶
func (*Generator) GenServerHandle ¶
func (*Generator) GenServerInterface ¶
func (*Generator) GenWriteSize ¶
func (*Generator) GetImports ¶
func (*Generator) GoFieldTypeName ¶
func (*Generator) GoInterfaceTypeName ¶
func (*Generator) GoPackageName ¶
func (*Generator) GoScopeTypeName ¶
func (*Generator) GoTypeName ¶
func (*Generator) GoTypeZeroValue ¶
func (p *Generator) GoTypeZeroValue(ctx context.Context, attr *midl.TypeAttr, field *midl.Field, scopes *Scopes) string
GoTypeZeroValue function returns the zero value for the given type. (nil, "", intX(0), uintX(0), false).
func (*Generator) IsUnusedOp ¶
func (*Generator) MethodName ¶
func (*Generator) NewParamGenerator ¶
func (*Generator) NewTypeGenerator ¶
func (*Generator) OperationParams ¶
func (*Generator) OperationReturnValue ¶
func (*Generator) PrepareOperationPayloadHook ¶
func (*Generator) ReturnValue ¶
func (*Generator) SyntaxName ¶
func (*Generator) UTF16Len ¶
UTF16Len function returns the UTF16 length-count function call on variable `n`.
type GeneratorOptions ¶
type ParamGenerator ¶
type ParamGenerator struct { *Generator *TypeGenerator }
type Scopes ¶
type Scopes struct {
// contains filtered or unexported fields
}
Scopes structure is a scope list iterator. Within single scope pointer default attributes are applied.
func (*Scopes) IsConformant ¶
IsConformant function returns `true` if array is conformant. That is, array is conformant if it's not fixed (and length needed to be determined in a runtime).
func (*Scopes) IsDeferrable ¶
func (*Scopes) IsNotFixedArray ¶
func (*Scopes) IsTopLevelArray ¶
IsTopLevelArray function returns true if given array should have a conformance data written. It can be top-level if the data type is a pointer, or a fixed array. The top level array may contain varying information which needs to be written.
func (*Scopes) IsTopLevelPointer ¶
IsTopLevelPointer function returns `true` if current scope points to a first pointer in a possible chain of pointers.
func (*Scopes) IsVarying ¶
IsVarying function checks if the given array is varying. Varying array is an array that has length_is, first_is, last_is, and for some reason it has a string property. (or it is a pointer to wchar_t, char, which is a non-null terminated string.)
func (*Scopes) PointerCount ¶
PointerCount function returns the number of pointers following the current pointer (+ current pointer itself).
func (*Scopes) ScopedType ¶
ScopedType function return type with scope attributes.
func (*Scopes) StructLastField ¶
type TypeGenerator ¶
type TypeGenerator struct { *Generator *Scopes GoTypeName string Doc *doc.TypeDoc OrigType *midl.Type }
func (*TypeGenerator) GenArraySizeVar ¶
func (*TypeGenerator) GenCUnion ¶
func (p *TypeGenerator) GenCUnion(ctx context.Context)
func (*TypeGenerator) GenEnum ¶
func (p *TypeGenerator) GenEnum(ctx context.Context)
func (*TypeGenerator) GenFieldMarshalNDR ¶
func (*TypeGenerator) GenFieldUnmarshalNDR ¶
func (*TypeGenerator) GenInterface ¶
func (p *TypeGenerator) GenInterface(ctx context.Context)
func (*TypeGenerator) GenLayout ¶ added in v1.0.2
func (p *TypeGenerator) GenLayout(ctx context.Context)
func (*TypeGenerator) GenMarshalSizeInfo ¶
func (*TypeGenerator) GenStruct ¶
func (p *TypeGenerator) GenStruct(ctx context.Context)
func (*TypeGenerator) GenStructField ¶
func (p *TypeGenerator) GenStructField(ctx context.Context, field *midl.Field)
func (*TypeGenerator) GenStructFieldComment ¶
func (*TypeGenerator) GenStructMarshalNDR ¶
func (p *TypeGenerator) GenStructMarshalNDR(ctx context.Context)
func (*TypeGenerator) GenStructMarshalNDRSizePreamble ¶
func (p *TypeGenerator) GenStructMarshalNDRSizePreamble(ctx context.Context, field *midl.Field)
func (*TypeGenerator) GenStructNDRSizeInfo ¶
func (p *TypeGenerator) GenStructNDRSizeInfo(ctx context.Context)
func (*TypeGenerator) GenStructPreparePayload ¶
func (p *TypeGenerator) GenStructPreparePayload(ctx context.Context)
func (*TypeGenerator) GenStructPreparePayloadAfterHook ¶
func (p *TypeGenerator) GenStructPreparePayloadAfterHook(ctx context.Context)
func (*TypeGenerator) GenStructPreparePayloadFields ¶
func (p *TypeGenerator) GenStructPreparePayloadFields(ctx context.Context, fields []*midl.Field)
func (*TypeGenerator) GenStructPreparePayloadSizeExpr ¶
func (*TypeGenerator) GenStructUnmarshalNDR ¶
func (p *TypeGenerator) GenStructUnmarshalNDR(ctx context.Context)
func (*TypeGenerator) GenStructUnmarshalNDRSizePreamble ¶
func (p *TypeGenerator) GenStructUnmarshalNDRSizePreamble(ctx context.Context, field *midl.Field)
func (*TypeGenerator) GenSubType ¶
func (p *TypeGenerator) GenSubType(ctx context.Context, field *midl.Field)
func (*TypeGenerator) GenSubTypes ¶
func (p *TypeGenerator) GenSubTypes(ctx context.Context, fields []*midl.Field)
func (*TypeGenerator) GenUnion ¶
func (p *TypeGenerator) GenUnion(ctx context.Context)
func (*TypeGenerator) GenUnionArm ¶
func (p *TypeGenerator) GenUnionArm(ctx context.Context, cases *midl.UnionCase)
func (*TypeGenerator) GenUnionArmInterface ¶
func (p *TypeGenerator) GenUnionArmInterface(ctx context.Context, cases *midl.UnionCase)
func (*TypeGenerator) GenUnionArmMarshalNDR ¶
func (*TypeGenerator) GenUnionArmPrimitiveTypeMarshalNDR ¶
func (*TypeGenerator) GenUnionArmPrimitiveTypeUnmarshalNDR ¶
func (*TypeGenerator) GenUnionArmUnmarshalNDR ¶
func (*TypeGenerator) GenUnionMarshalNDR ¶
func (p *TypeGenerator) GenUnionMarshalNDR(ctx context.Context)
func (*TypeGenerator) GenUnionUnmarshalNDR ¶
func (p *TypeGenerator) GenUnionUnmarshalNDR(ctx context.Context)
func (*TypeGenerator) GenWriteStringBuffer ¶
func (p *TypeGenerator) GenWriteStringBuffer(ctx context.Context, scopes *Scopes, field *midl.Field, index ...interface{}) string
GenWriteStringBuffer function ...
func (*TypeGenerator) GenZeroArrayFieldMarhalNDR ¶
func (*TypeGenerator) GenZeroEnumFieldMarshalNDR ¶
func (*TypeGenerator) GenZeroFieldMarshalNDR ¶
func (*TypeGenerator) GenZeroPointerFieldMarshalNDR ¶
func (*TypeGenerator) GenZeroStructFieldMarshalNDR ¶
func (*TypeGenerator) GenZeroUnionFieldMarshalNDR ¶
func (*TypeGenerator) GenerateNDRSwitchValue ¶
func (p *TypeGenerator) GenerateNDRSwitchValue(ctx context.Context)
func (*TypeGenerator) GenerateSwitchIs ¶
func (*TypeGenerator) GenerateUnionGetValue ¶
func (p *TypeGenerator) GenerateUnionGetValue(ctx context.Context)
func (*TypeGenerator) GetMinVarValue ¶
func (*TypeGenerator) GoFieldName ¶
func (p *TypeGenerator) GoFieldName(field *midl.Field) string
func (*TypeGenerator) IsArmPointerToPrimitiveType ¶
func (*TypeGenerator) IsEmbeddedArmStruct ¶
func (*TypeGenerator) LookupExprField ¶
func (*TypeGenerator) Skip ¶
func (p *TypeGenerator) Skip() bool
func (*TypeGenerator) SwitchType ¶
func (p *TypeGenerator) SwitchType(ctx context.Context, scopes *Scopes) string
func (*TypeGenerator) SwitchTypeZeroValue ¶ added in v1.0.2
func (p *TypeGenerator) SwitchTypeZeroValue(ctx context.Context, switchType string) any