private CodeGenerationContextInfo GetCodeGenerationContextInfo( SyntaxNode containerNode, OptionSet?options = null, EnvDTE.vsCMAccess access = EnvDTE.vsCMAccess.vsCMAccessDefault, bool generateMethodBodies = true) { var generateDefaultAccessibility = (access & EnvDTE.vsCMAccess.vsCMAccessDefault) == 0; var globalOptions = State.ProjectCodeModelFactory.GlobalOptions; var languageServices = Workspace.Services.GetLanguageServices(containerNode.SyntaxTree.Options.Language); var fallbackOptions = globalOptions.GetCodeGenerationOptions(languageServices); var codeGenOptions = CodeGenerationOptions.Create(options ?? Workspace.Options, fallbackOptions, languageServices); return(codeGenOptions.GetInfo( new CodeGenerationContext( generateDefaultAccessibility: generateDefaultAccessibility, generateMethodBodies: generateMethodBodies), containerNode.SyntaxTree.Options)); }