protected SyntaxNode CreateDestructorDeclaration(SyntaxNode containerNode, string typeName) { var destination = CodeModelService.GetDestination(containerNode); var newMethodSymbol = CodeGenerationSymbolFactory.CreateDestructorSymbol( attributes: default(ImmutableArray <AttributeData>), typeName: typeName); return(CodeGenerationService.CreateMethodDeclaration( newMethodSymbol, destination)); }
protected SyntaxNode CreateConstructorDeclaration(SyntaxNode containerNode, string typeName, EnvDTE.vsCMAccess access) { var destination = CodeModelService.GetDestination(containerNode); var newMethodSymbol = CodeGenerationSymbolFactory.CreateConstructorSymbol( attributes: default(ImmutableArray <AttributeData>), accessibility: CodeModelService.GetAccessibility(access, SymbolKind.Method, destination), modifiers: new DeclarationModifiers(), typeName: typeName, parameters: default(ImmutableArray <IParameterSymbol>)); return(CodeGenerationService.CreateMethodDeclaration( newMethodSymbol, destination, options: GetCodeGenerationOptions(access, containerNode.SyntaxTree.Options))); }
protected SyntaxNode CreateMethodDeclaration(SyntaxNode containerNode, string name, EnvDTE.vsCMAccess access, ITypeSymbol returnType) { var destination = CodeModelService.GetDestination(containerNode); var newMethodSymbol = CodeGenerationSymbolFactory.CreateMethodSymbol( attributes: null, accessibility: CodeModelService.GetAccessibility(access, SymbolKind.Method, destination), modifiers: new DeclarationModifiers(), returnType: returnType, explicitInterfaceSymbol: null, name: name, typeParameters: null, parameters: null); return(CodeGenerationService.CreateMethodDeclaration( newMethodSymbol, destination, options: GetCodeGenerationOptions(access))); }