File tree Expand file tree Collapse file tree 1 file changed +39
-0
lines changed
Expand file tree Collapse file tree 1 file changed +39
-0
lines changed Original file line number Diff line number Diff line change @@ -522,6 +522,45 @@ elseif ($TranspilerWarnings) {
522522 </ScriptMethod >
523523 </Members >
524524 </Type >
525+ <Type >
526+ <Name >System.Management.Automation.Language.ScriptRequirements</Name >
527+ <Members >
528+ <ScriptMethod >
529+ <Name >ToString</Name >
530+ <Script >
531+ $requirement = $this
532+ if ($requirement.RequirementPSVersion) {
533+ "#requires -Version $($requirement.RequirementPSVersion)"
534+ }
535+ if ($requirement.IsElevationRequired) {
536+ "#requires -RunAsAdministrator"
537+ }
538+ if ($requirement.RequiredModules) {
539+ "#requires -Module $(@(foreach ($reqModule in $requirement.RequiredModules) {
540+ if ($reqModule.Version -or $req.RequiredVersion -or $req.MaximumVersion) {
541+ '@{' + $(@(foreach ($prop in $reqModule.PSObject.Properties) {
542+ if (-not $prop.Value) { continue }
543+ if ($prop.Name -in 'Name', 'Version') {
544+ "Module$($prop.Name)='$($prop.Value.ToString().Replace("'","''"))'"
545+ } elseif ($prop.Name -eq 'RequiredVersion') {
546+ "MinimumVersion='$($prop.Value)'"
547+ } else {
548+ "$($prop.Name)='$($prop.Value)'"
549+ }
550+ }) -join ';') + '}'
551+ } else {
552+ $reqModule.Name
553+ }
554+ }) -join ',')"
555+ }
556+ if ($requirement.RequiredAssemblies) {
557+ "#requires -Assembly $($requirement.RequiredAssemblies -join ',')"
558+ }
559+
560+ </Script >
561+ </ScriptMethod >
562+ </Members >
563+ </Type >
525564 <Type >
526565 <Name >System.Management.Automation.Language.TypeConstraintAst</Name >
527566 <Members >
You can’t perform that action at this time.
0 commit comments