Skip to content

Commit

Permalink
codegen: add newline between implicit and normal params
Browse files Browse the repository at this point in the history
  • Loading branch information
oiweiwei committed Feb 14, 2025
1 parent 767998a commit a09a748
Show file tree
Hide file tree
Showing 51 changed files with 291 additions and 82 deletions.
17 changes: 10 additions & 7 deletions codegen/gen/operation.go
Original file line number Diff line number Diff line change
Expand Up @@ -329,13 +329,16 @@ func (p *Generator) GenOperationStruct(ctx context.Context, op *midl.Operation,

// generate go structure for the in/out/any parameters.
p.Structure(p.OpName(ctx, op, dir), func() {
for _, param := range p.GetOutputParamImplicitDependents(ctx, op, dir) {
p.P("//", "XXX:", param.Name, "is an implicit input depedency for output parameters")
p.NewParamGenerator(ctx, param.Type).GenStructField(ctx, &midl.Field{
Name: param.Name,
Attrs: param.Attrs.FieldAttr,
Type: param.Type,
})
if implicit := p.GetOutputParamImplicitDependents(ctx, op, dir); len(implicit) > 0 {
for _, param := range implicit {
p.P("//", "XXX:", param.Name, "is an implicit input depedency for output parameters")
p.NewParamGenerator(ctx, param.Type).GenStructField(ctx, &midl.Field{
Name: param.Name,
Attrs: param.Attrs.FieldAttr,
Type: param.Type,
})
}
p.P()
}

for _, param := range p.OperationParams(ctx, op) {
Expand Down
48 changes: 32 additions & 16 deletions msrpc/cmrp/clusapi2/v2/v2.go
Original file line number Diff line number Diff line change
Expand Up @@ -9723,7 +9723,8 @@ func (o *QueryValueRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) erro
// QueryValueResponse structure represents the ApiQueryValue operation response
type QueryValueResponse struct {
// XXX: cbData is an implicit input depedency for output parameters
DataLength uint32 `idl:"name:cbData" json:"data_length"`
DataLength uint32 `idl:"name:cbData" json:"data_length"`

ValueType uint32 `idl:"name:lpValueType" json:"value_type"`
Data []byte `idl:"name:lpData;size_is:(cbData)" json:"data"`
RequiredLength uint32 `idl:"name:lpcbRequired" json:"required_length"`
Expand Down Expand Up @@ -17382,7 +17383,8 @@ func (o *NodeResourceControlRequest) UnmarshalNDR(ctx context.Context, r ndr.Rea
// NodeResourceControlResponse structure represents the ApiNodeResourceControl operation response
type NodeResourceControlResponse struct {
// XXX: nOutBufferSize is an implicit input depedency for output parameters
OutBufferSize uint32 `idl:"name:nOutBufferSize" json:"out_buffer_size"`
OutBufferSize uint32 `idl:"name:nOutBufferSize" json:"out_buffer_size"`

OutBuffer []byte `idl:"name:lpOutBuffer;size_is:(nOutBufferSize);length_is:(lpBytesReturned)" json:"out_buffer"`
BytesReturned uint32 `idl:"name:lpBytesReturned" json:"bytes_returned"`
RequiredLength uint32 `idl:"name:lpcbRequired" json:"required_length"`
Expand Down Expand Up @@ -17773,7 +17775,8 @@ func (o *ResourceControlRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader)
// ResourceControlResponse structure represents the ApiResourceControl operation response
type ResourceControlResponse struct {
// XXX: nOutBufferSize is an implicit input depedency for output parameters
OutBufferSize uint32 `idl:"name:nOutBufferSize" json:"out_buffer_size"`
OutBufferSize uint32 `idl:"name:nOutBufferSize" json:"out_buffer_size"`

OutBuffer []byte `idl:"name:lpOutBuffer;size_is:(nOutBufferSize);length_is:(lpBytesReturned)" json:"out_buffer"`
BytesReturned uint32 `idl:"name:lpBytesReturned" json:"bytes_returned"`
RequiredLength uint32 `idl:"name:lpcbRequired" json:"required_length"`
Expand Down Expand Up @@ -18207,7 +18210,8 @@ func (o *NodeResourceTypeControlRequest) UnmarshalNDR(ctx context.Context, r ndr
// NodeResourceTypeControlResponse structure represents the ApiNodeResourceTypeControl operation response
type NodeResourceTypeControlResponse struct {
// XXX: nOutBufferSize is an implicit input depedency for output parameters
OutBufferSize uint32 `idl:"name:nOutBufferSize" json:"out_buffer_size"`
OutBufferSize uint32 `idl:"name:nOutBufferSize" json:"out_buffer_size"`

OutBuffer []byte `idl:"name:lpOutBuffer;size_is:(nOutBufferSize);length_is:(lpBytesReturned)" json:"out_buffer"`
BytesReturned uint32 `idl:"name:lpBytesReturned" json:"bytes_returned"`
RequiredLength uint32 `idl:"name:lpcbRequired" json:"required_length"`
Expand Down Expand Up @@ -18616,7 +18620,8 @@ func (o *ResourceTypeControlRequest) UnmarshalNDR(ctx context.Context, r ndr.Rea
// ResourceTypeControlResponse structure represents the ApiResourceTypeControl operation response
type ResourceTypeControlResponse struct {
// XXX: nOutBufferSize is an implicit input depedency for output parameters
OutBufferSize uint32 `idl:"name:nOutBufferSize" json:"out_buffer_size"`
OutBufferSize uint32 `idl:"name:nOutBufferSize" json:"out_buffer_size"`

OutBuffer []byte `idl:"name:lpOutBuffer;size_is:(nOutBufferSize);length_is:(lpBytesReturned)" json:"out_buffer"`
BytesReturned uint32 `idl:"name:lpBytesReturned" json:"bytes_returned"`
RequiredLength uint32 `idl:"name:lpcbRequired" json:"required_length"`
Expand Down Expand Up @@ -19032,7 +19037,8 @@ func (o *NodeGroupControlRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader
// NodeGroupControlResponse structure represents the ApiNodeGroupControl operation response
type NodeGroupControlResponse struct {
// XXX: nOutBufferSize is an implicit input depedency for output parameters
OutBufferSize uint32 `idl:"name:nOutBufferSize" json:"out_buffer_size"`
OutBufferSize uint32 `idl:"name:nOutBufferSize" json:"out_buffer_size"`

OutBuffer []byte `idl:"name:lpOutBuffer;size_is:(nOutBufferSize);length_is:(lpBytesReturned)" json:"out_buffer"`
BytesReturned uint32 `idl:"name:lpBytesReturned" json:"bytes_returned"`
RequiredLength uint32 `idl:"name:lpcbRequired" json:"required_length"`
Expand Down Expand Up @@ -19423,7 +19429,8 @@ func (o *GroupControlRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) er
// GroupControlResponse structure represents the ApiGroupControl operation response
type GroupControlResponse struct {
// XXX: nOutBufferSize is an implicit input depedency for output parameters
OutBufferSize uint32 `idl:"name:nOutBufferSize" json:"out_buffer_size"`
OutBufferSize uint32 `idl:"name:nOutBufferSize" json:"out_buffer_size"`

OutBuffer []byte `idl:"name:lpOutBuffer;size_is:(nOutBufferSize);length_is:(lpBytesReturned)" json:"out_buffer"`
BytesReturned uint32 `idl:"name:lpBytesReturned" json:"bytes_returned"`
RequiredLength uint32 `idl:"name:lpcbRequired" json:"required_length"`
Expand Down Expand Up @@ -19839,7 +19846,8 @@ func (o *NodeNodeControlRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader)
// NodeNodeControlResponse structure represents the ApiNodeNodeControl operation response
type NodeNodeControlResponse struct {
// XXX: nOutBufferSize is an implicit input depedency for output parameters
OutBufferSize uint32 `idl:"name:nOutBufferSize" json:"out_buffer_size"`
OutBufferSize uint32 `idl:"name:nOutBufferSize" json:"out_buffer_size"`

OutBuffer []byte `idl:"name:lpOutBuffer;size_is:(nOutBufferSize);length_is:(lpBytesReturned)" json:"out_buffer"`
BytesReturned uint32 `idl:"name:lpBytesReturned" json:"bytes_returned"`
RequiredLength uint32 `idl:"name:lpcbRequired" json:"required_length"`
Expand Down Expand Up @@ -20230,7 +20238,8 @@ func (o *NodeControlRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) err
// NodeControlResponse structure represents the ApiNodeControl operation response
type NodeControlResponse struct {
// XXX: nOutBufferSize is an implicit input depedency for output parameters
OutBufferSize uint32 `idl:"name:nOutBufferSize" json:"out_buffer_size"`
OutBufferSize uint32 `idl:"name:nOutBufferSize" json:"out_buffer_size"`

OutBuffer []byte `idl:"name:lpOutBuffer;size_is:(nOutBufferSize);length_is:(lpBytesReturned)" json:"out_buffer"`
BytesReturned uint32 `idl:"name:lpBytesReturned" json:"bytes_returned"`
RequiredLength uint32 `idl:"name:lpcbRequired" json:"required_length"`
Expand Down Expand Up @@ -21964,7 +21973,8 @@ func (o *NodeNetworkControlRequest) UnmarshalNDR(ctx context.Context, r ndr.Read
// NodeNetworkControlResponse structure represents the ApiNodeNetworkControl operation response
type NodeNetworkControlResponse struct {
// XXX: nOutBufferSize is an implicit input depedency for output parameters
OutBufferSize uint32 `idl:"name:nOutBufferSize" json:"out_buffer_size"`
OutBufferSize uint32 `idl:"name:nOutBufferSize" json:"out_buffer_size"`

OutBuffer []byte `idl:"name:lpOutBuffer;size_is:(nOutBufferSize);length_is:(lpBytesReturned)" json:"out_buffer"`
BytesReturned uint32 `idl:"name:lpBytesReturned" json:"bytes_returned"`
RequiredLength uint32 `idl:"name:lpcbRequired" json:"required_length"`
Expand Down Expand Up @@ -22355,7 +22365,8 @@ func (o *NetworkControlRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader)
// NetworkControlResponse structure represents the ApiNetworkControl operation response
type NetworkControlResponse struct {
// XXX: nOutBufferSize is an implicit input depedency for output parameters
OutBufferSize uint32 `idl:"name:nOutBufferSize" json:"out_buffer_size"`
OutBufferSize uint32 `idl:"name:nOutBufferSize" json:"out_buffer_size"`

OutBuffer []byte `idl:"name:lpOutBuffer;size_is:(nOutBufferSize);length_is:(lpBytesReturned)" json:"out_buffer"`
BytesReturned uint32 `idl:"name:lpBytesReturned" json:"bytes_returned"`
RequiredLength uint32 `idl:"name:lpcbRequired" json:"required_length"`
Expand Down Expand Up @@ -24132,7 +24143,8 @@ func (o *NodeNetInterfaceControlRequest) UnmarshalNDR(ctx context.Context, r ndr
// NodeNetInterfaceControlResponse structure represents the ApiNodeNetInterfaceControl operation response
type NodeNetInterfaceControlResponse struct {
// XXX: nOutBufferSize is an implicit input depedency for output parameters
OutBufferSize uint32 `idl:"name:nOutBufferSize" json:"out_buffer_size"`
OutBufferSize uint32 `idl:"name:nOutBufferSize" json:"out_buffer_size"`

OutBuffer []byte `idl:"name:lpOutBuffer;size_is:(nOutBufferSize);length_is:(lpBytesReturned)" json:"out_buffer"`
BytesReturned uint32 `idl:"name:lpBytesReturned" json:"bytes_returned"`
RequiredLength uint32 `idl:"name:lpcbRequired" json:"required_length"`
Expand Down Expand Up @@ -24525,7 +24537,8 @@ func (o *NetInterfaceControlRequest) UnmarshalNDR(ctx context.Context, r ndr.Rea
// NetInterfaceControlResponse structure represents the ApiNetInterfaceControl operation response
type NetInterfaceControlResponse struct {
// XXX: nOutBufferSize is an implicit input depedency for output parameters
OutBufferSize uint32 `idl:"name:nOutBufferSize" json:"out_buffer_size"`
OutBufferSize uint32 `idl:"name:nOutBufferSize" json:"out_buffer_size"`

OutBuffer []byte `idl:"name:lpOutBuffer;size_is:(nOutBufferSize);length_is:(lpBytesReturned)" json:"out_buffer"`
BytesReturned uint32 `idl:"name:lpBytesReturned" json:"bytes_returned"`
RequiredLength uint32 `idl:"name:lpcbRequired" json:"required_length"`
Expand Down Expand Up @@ -26280,7 +26293,8 @@ func (o *NodeClusterControlRequest) UnmarshalNDR(ctx context.Context, r ndr.Read
// NodeClusterControlResponse structure represents the ApiNodeClusterControl operation response
type NodeClusterControlResponse struct {
// XXX: nOutBufferSize is an implicit input depedency for output parameters
OutBufferSize uint32 `idl:"name:nOutBufferSize" json:"out_buffer_size"`
OutBufferSize uint32 `idl:"name:nOutBufferSize" json:"out_buffer_size"`

OutBuffer []byte `idl:"name:lpOutBuffer;size_is:(nOutBufferSize);length_is:(lpBytesReturned)" json:"out_buffer"`
BytesReturned uint32 `idl:"name:lpBytesReturned" json:"bytes_returned"`
RequiredLength uint32 `idl:"name:lpcbRequired" json:"required_length"`
Expand Down Expand Up @@ -26671,7 +26685,8 @@ func (o *ClusterControlRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader)
// ClusterControlResponse structure represents the ApiClusterControl operation response
type ClusterControlResponse struct {
// XXX: nOutBufferSize is an implicit input depedency for output parameters
OutBufferSize uint32 `idl:"name:nOutBufferSize" json:"out_buffer_size"`
OutBufferSize uint32 `idl:"name:nOutBufferSize" json:"out_buffer_size"`

OutBuffer []byte `idl:"name:lpOutBuffer;size_is:(nOutBufferSize);length_is:(lpBytesReturned)" json:"out_buffer"`
BytesReturned uint32 `idl:"name:lpBytesReturned" json:"bytes_returned"`
RequiredLength uint32 `idl:"name:lpcbRequired" json:"required_length"`
Expand Down Expand Up @@ -27125,7 +27140,8 @@ func (o *SetServiceAccountPasswordRequest) UnmarshalNDR(ctx context.Context, r n
// SetServiceAccountPasswordResponse structure represents the ApiSetServiceAccountPassword operation response
type SetServiceAccountPasswordResponse struct {
// XXX: ReturnStatusBufferSize is an implicit input depedency for output parameters
ReturnStatusBufferSize uint32 `idl:"name:ReturnStatusBufferSize" json:"return_status_buffer_size"`
ReturnStatusBufferSize uint32 `idl:"name:ReturnStatusBufferSize" json:"return_status_buffer_size"`

ReturnStatusBufferPointer []*ClusterSetPasswordStatus `idl:"name:ReturnStatusBufferPtr;size_is:(ReturnStatusBufferSize);length_is:(SizeReturned)" json:"return_status_buffer_pointer"`
SizeReturned uint32 `idl:"name:SizeReturned" json:"size_returned"`
ExpectedBufferSize uint32 `idl:"name:ExpectedBufferSize" json:"expected_buffer_size"`
Expand Down
Loading

0 comments on commit a09a748

Please sign in to comment.