コード例 #1
0
ファイル: DecompilerSettings.cs プロジェクト: wllinger/ILSpy
 /// <summary>
 /// Creates a new DecompilerSettings instance with initial settings
 /// appropriate for the specified language version.
 /// </summary>
 /// <remarks>
 /// This does not imply that the resulting
 /// </remarks>
 public DecompilerSettings(CSharp.LanguageVersion languageVersion)
 {
     // By default, all decompiler features are enabled.
     // Disable some of them based on language version:
     if (languageVersion < CSharp.LanguageVersion.CSharp2)
     {
         anonymousMethods = false;
         liftNullables    = false;
         yieldReturn      = false;
         useImplicitMethodGroupConversion = false;
     }
     if (languageVersion < CSharp.LanguageVersion.CSharp3)
     {
         anonymousTypes = false;
         objectCollectionInitializers = false;
         automaticProperties          = false;
         extensionMethods             = false;
         queryExpressions             = false;
         expressionTrees = false;
     }
     if (languageVersion < CSharp.LanguageVersion.CSharp4)
     {
         dynamic           = false;
         namedArguments    = false;
         optionalArguments = false;
     }
     if (languageVersion < CSharp.LanguageVersion.CSharp5)
     {
         asyncAwait = false;
     }
     if (languageVersion < CSharp.LanguageVersion.CSharp6)
     {
         awaitInCatchFinally = false;
         useExpressionBodyForCalculatedGetterOnlyProperties = false;
         nullPropagation        = false;
         stringInterpolation    = false;
         dictionaryInitializers = false;
         extensionMethodsInCollectionInitializers = false;
     }
     if (languageVersion < CSharp.LanguageVersion.CSharp7)
     {
         outVariables     = false;
         tupleTypes       = false;
         tupleConversions = false;
         discards         = false;
         localFunctions   = false;
     }
     if (languageVersion < CSharp.LanguageVersion.CSharp7_2)
     {
         introduceReadonlyAndInModifiers = false;
         introduceRefModifiersOnStructs  = false;
         nonTrailingNamedArguments       = false;
     }
     if (languageVersion < CSharp.LanguageVersion.CSharp7_3)
     {
         //introduceUnmanagedTypeConstraint = false;
         stackAllocInitializers = false;
         tupleComparisons       = false;
     }
 }
コード例 #2
0
ファイル: DecompilerSettings.cs プロジェクト: zjuflyer/ILSpy
 /// <summary>
 /// Creates a new DecompilerSettings instance with initial settings
 /// appropriate for the specified language version.
 /// </summary>
 /// <remarks>
 /// This does not imply that the resulting
 /// </remarks>
 public DecompilerSettings(CSharp.LanguageVersion languageVersion)
 {
     // By default, all decompiler features are enabled.
     // Disable some of them based on language version:
     if (languageVersion < CSharp.LanguageVersion.CSharp2)
     {
         anonymousMethods = false;
         liftNullables    = false;
         yieldReturn      = false;
     }
     if (languageVersion < CSharp.LanguageVersion.CSharp3)
     {
         anonymousTypes = false;
         objectCollectionInitializers = false;
         automaticProperties          = false;
         queryExpressions             = false;
         expressionTrees = false;
     }
     if (languageVersion < CSharp.LanguageVersion.CSharp4)
     {
         // * dynamic (not supported yet)
         // * named and optional arguments (not supported yet)
     }
     if (languageVersion < CSharp.LanguageVersion.CSharp5)
     {
         asyncAwait = false;
     }
     if (languageVersion < CSharp.LanguageVersion.CSharp6)
     {
         awaitInCatchFinally = false;
         useExpressionBodyForCalculatedGetterOnlyProperties = false;
         nullPropagation        = false;
         stringInterpolation    = false;
         dictionaryInitializers = false;
     }
     if (languageVersion < CSharp.LanguageVersion.CSharp7)
     {
         outVariables = false;
         discards     = false;
     }
     if (languageVersion < CSharp.LanguageVersion.CSharp7_2)
     {
         introduceRefAndReadonlyModifiersOnStructs = false;
     }
     if (languageVersion < CSharp.LanguageVersion.CSharp7_3)
     {
         //introduceUnmanagedTypeConstraint = false;
         //...
     }
 }
コード例 #3
0
 /// <summary>
 /// Creates a new DecompilerSettings instance with initial settings
 /// appropriate for the specified language version.
 /// </summary>
 /// <remarks>
 /// This does not imply that the resulting code strictly uses only language features from that version.
 /// Language constructs like generics or ref locals cannot be removed from the compiled code.
 /// </remarks>
 public DecompilerSettings(CSharp.LanguageVersion languageVersion)
 {
     SetLanguageVersion(languageVersion);
 }
コード例 #4
0
 private static async Task VerifyCSCodeFixAsync(string source, string codeFix, CSharp.LanguageVersion languageVersion, ReferenceAssemblies referenceAssemblies)
 {
     await new VerifyCS.Test
     {
         LanguageVersion     = languageVersion,
         ReferenceAssemblies = referenceAssemblies,
         TestCode            = source,
         FixedCode           = codeFix
     }.RunAsync();
 }