MCPcopy
hub / github.com/kubepug/kubepug / argsFromType

Method argsFromType

generator/deprecations/gen.go:382–447  ·  view source on GitHub ↗
(_ *generator.Context, t *types.Type)

Source from the content-addressed store, hash-verified

380}
381
382func (g *genDeprecatedDefinitions) argsFromType(_ *generator.Context, t *types.Type) (*APIDeprecation, error) {
383 _, introducedMajor, introducedMinor, err := extractIntroducedTag(t)
384 if err != nil {
385 return nil, err
386 }
387
388 // compute based on our policy
389 deprecatedMajor := introducedMajor
390 deprecatedMinor := introducedMinor + 3
391 // if someone intentionally override the deprecation release
392 exists, err := tagExists(deprecatedTagName, t)
393 if err != nil {
394 return nil, err
395 }
396 if exists {
397 _, deprecatedMajor, deprecatedMinor, err = extractDeprecatedTag(t)
398 if err != nil {
399 return nil, err
400 }
401 }
402
403 // compute based on our policy
404 removedMajor := deprecatedMajor
405 removedMinor := deprecatedMinor + 3
406 // if someone intentionally override the removed release
407 exists, err = tagExists(removedTagName, t)
408 if err != nil {
409 return nil, err
410 }
411 if exists {
412 _, removedMajor, removedMinor, err = extractRemovedTag(t)
413 if err != nil {
414 return nil, err
415 }
416 }
417
418 replacementGroup, replacementVersion, replacementKind, hasReplacement, err := extractReplacementTag(t)
419 if err != nil {
420 return nil, err
421 }
422
423 reg := APIDeprecation{
424 IntroducedVersion: Version{
425 VersionMajor: introducedMajor,
426 VersionMinor: introducedMinor,
427 },
428 DeprecatedVersion: Version{
429 VersionMajor: deprecatedMajor,
430 VersionMinor: deprecatedMinor,
431 },
432 RemovedVersion: Version{
433 VersionMajor: removedMajor,
434 VersionMinor: removedMinor,
435 },
436 }
437
438 if hasReplacement {
439 reg.Replacement = GroupVersionKind{

Callers 3

GenerateTypeMethod · 0.95
TestTagParsingFunction · 0.95
TestReplacementTagFunction · 0.95

Calls 5

extractIntroducedTagFunction · 0.85
tagExistsFunction · 0.85
extractDeprecatedTagFunction · 0.85
extractRemovedTagFunction · 0.85
extractReplacementTagFunction · 0.85

Tested by 2

TestTagParsingFunction · 0.76
TestReplacementTagFunction · 0.76