Skip to content

Commit 615aa61

Browse files
committed
Add Extensions to end of interfaces
Signed-off-by: Evan Lezar <[email protected]>
1 parent 23dbbb0 commit 615aa61

File tree

2 files changed

+13
-2
lines changed

2 files changed

+13
-2
lines changed

gen/nvml/generateapi.go

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -240,7 +240,18 @@ func generateInterface(sourceDir string, input GeneratableInterfacePoperties) (s
240240
return "", err
241241
}
242242

243+
// We separate the methods into two sets to ensure that extensions are always included last.
244+
var generatedMethods []*ast.FuncDecl
245+
var extensions []*ast.FuncDecl
243246
for _, method := range methods {
247+
if method.Name.Name == "Extensions" {
248+
extensions = append(extensions, method)
249+
continue
250+
}
251+
generatedMethods = append(generatedMethods, method)
252+
}
253+
254+
for _, method := range append(generatedMethods, extensions...) {
244255
formatted := fmt.Sprintf("\t%s\n", formatMethodSignature(method))
245256
signature.WriteString(formatted)
246257
}

pkg/nvml/zz_generated.api.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -583,7 +583,6 @@ type Interface interface {
583583
EventSetCreate() (EventSet, Return)
584584
EventSetFree(EventSet) Return
585585
EventSetWait(EventSet, uint32) (EventData, Return)
586-
Extensions() ExtendedInterface
587586
GetExcludedDeviceCount() (int, Return)
588587
GetExcludedDeviceInfoByIndex(int) (ExcludedDeviceInfo, Return)
589588
GetVgpuCompatibility(*VgpuMetadata, *VgpuPgpuMetadata) (VgpuPgpuCompatibility, Return)
@@ -668,6 +667,7 @@ type Interface interface {
668667
VgpuTypeGetName(VgpuTypeId) (string, Return)
669668
VgpuTypeGetNumDisplayHeads(VgpuTypeId) (int, Return)
670669
VgpuTypeGetResolution(VgpuTypeId, int) (uint32, uint32, Return)
670+
Extensions() ExtendedInterface
671671
}
672672

673673
// Device represents the interface for the nvmlDevice type.
@@ -990,7 +990,6 @@ type VgpuInstance interface {
990990
//
991991
//go:generate moq -out mock/vgputypeid.go -pkg mock . VgpuTypeId:VgpuTypeId
992992
type VgpuTypeId interface {
993-
Extensions() ExtendedVgpuTypeId
994993
GetCapabilities(VgpuCapability) (bool, Return)
995994
GetClass() (string, Return)
996995
GetCreatablePlacements(Device) (VgpuPlacementList, Return)
@@ -1005,4 +1004,5 @@ type VgpuTypeId interface {
10051004
GetNumDisplayHeads() (int, Return)
10061005
GetResolution(int) (uint32, uint32, Return)
10071006
GetSupportedPlacements(Device) (VgpuPlacementList, Return)
1007+
Extensions() ExtendedVgpuTypeId
10081008
}

0 commit comments

Comments
 (0)