@@ -441,6 +441,72 @@ extension LoadCommand {
441441 }
442442}
443443
444+ extension LoadCommand {
445+ public var commandSize : Int {
446+ let cmdSize = switch self {
447+ case let . segment( info) : info. cmdsize
448+ case let . symtab( info) : info. cmdsize
449+ case let . symseg( info) : info. cmdsize
450+ case let . thread( info) : info. cmdsize
451+ case let . unixthread( info) : info. cmdsize
452+ case let . loadfvmlib( info) : info. cmdsize
453+ case let . idfvmlib( info) : info. cmdsize
454+ case let . ident( info) : info. cmdsize
455+ case let . fvmfile( info) : info. cmdsize
456+ case let . prepage( info) : info. cmdsize
457+ case let . dysymtab( info) : info. cmdsize
458+ case let . loadDylib( info) : info. cmdsize
459+ case let . idDylib( info) : info. cmdsize
460+ case let . loadDylinker( info) : info. cmdsize
461+ case let . idDylinker( info) : info. cmdsize
462+ case let . preboundDylib( info) : info. cmdsize
463+ case let . routines( info) : info. cmdsize
464+ case let . subFramework( info) : info. cmdsize
465+ case let . subUmbrella( info) : info. cmdsize
466+ case let . subClient( info) : info. cmdsize
467+ case let . subLibrary( info) : info. cmdsize
468+ case let . twolevelHints( info) : info. cmdsize
469+ case let . prebindCksum( info) : info. cmdsize
470+ case let . loadWeakDylib( info) : info. cmdsize
471+ case let . segment64( info) : info. cmdsize
472+ case let . routines64( info) : info. cmdsize
473+ case let . uuid( info) : info. cmdsize
474+ case let . rpath( info) : info. cmdsize
475+ case let . codeSignature( info) : info. cmdsize
476+ case let . segmentSplitInfo( info) : info. cmdsize
477+ case let . reexportDylib( info) : info. cmdsize
478+ case let . lazyLoadDylib( info) : info. cmdsize
479+ case let . encryptionInfo( info) : info. cmdsize
480+ case let . dyldInfo( info) : info. cmdsize
481+ case let . dyldInfoOnly( info) : info. cmdsize
482+ case let . loadUpwardDylib( info) : info. cmdsize
483+ case let . versionMinMacosx( info) : info. cmdsize
484+ case let . versionMinIphoneos( info) : info. cmdsize
485+ case let . functionStarts( info) : info. cmdsize
486+ case let . dyldEnvironment( info) : info. cmdsize
487+ case let . main( info) : info. cmdsize
488+ case let . dataInCode( info) : info. cmdsize
489+ case let . sourceVersion( info) : info. cmdsize
490+ case let . dylibCodeSignDrs( info) : info. cmdsize
491+ case let . encryptionInfo64( info) : info. cmdsize
492+ case let . linkerOption( info) : info. cmdsize
493+ case let . linkerOptimizationHint( info) : info. cmdsize
494+ case let . versionMinTvos( info) : info. cmdsize
495+ case let . versionMinWatchos( info) : info. cmdsize
496+ case let . note( info) : info. cmdsize
497+ case let . buildVersion( info) : info. cmdsize
498+ case let . dyldExportsTrie( info) : info. cmdsize
499+ case let . dyldChainedFixups( info) : info. cmdsize
500+ case let . filesetEntry( info) : info. cmdsize
501+ case let . atomInfo( info) : info. cmdsize
502+ case let . functionVariants( info) : info. cmdsize
503+ case let . functionVariantFixups( info) : info. cmdsize
504+ case let . targetTriple( info) : info. cmdsize
505+ }
506+ return numericCast ( cmdSize)
507+ }
508+ }
509+
444510extension LoadCommand {
445511 public var info : any LoadCommandWrapper {
446512 switch self {
0 commit comments