From 7cc9c874730e87b06dbe54d50e77c1c472996c54 Mon Sep 17 00:00:00 2001 From: Dongbo Wang Date: Tue, 5 Apr 2022 12:00:41 -0700 Subject: [PATCH] Do not generate clean block in proxy function when the feature is disabled (#17112) --- .../engine/CommandMetadata.cs | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/System.Management.Automation/engine/CommandMetadata.cs b/src/System.Management.Automation/engine/CommandMetadata.cs index a9094f54b3..75d02ed59d 100644 --- a/src/System.Management.Automation/engine/CommandMetadata.cs +++ b/src/System.Management.Automation/engine/CommandMetadata.cs @@ -864,6 +864,15 @@ dynamicparam ", GetDynamicParamBlock()); } + string cleanBlock = string.Empty; + if (ExperimentalFeature.IsEnabled(ExperimentalFeature.PSCleanBlockFeatureName)) + { + cleanBlock = string.Format(CultureInfo.InvariantCulture, @" +clean +{{{0}}} +", GetCleanBlock()); + } + string result = string.Format(CultureInfo.InvariantCulture, @"{0} param({1}) @@ -875,9 +884,7 @@ process end {{{5}}} - -clean -{{{6}}} +{6} <# {7} #> @@ -888,7 +895,7 @@ clean GetBeginBlock(), GetProcessBlock(), GetEndBlock(), - GetCleanBlock(), + cleanBlock, CodeGeneration.EscapeBlockCommentContent(helpComment)); return result;