Free cookie consent management tool by TermsFeed Policy Generator

source: tags/3.3.11/HeuristicLab.ExtLibs/HeuristicLab.NRefactory/5.5.0/NRefactory-5.5.0/TypeSystem/IAmbience.cs @ 12011

Last change on this file since 12011 was 11700, checked in by jkarder, 10 years ago

#2077: created branch and added first version

File size: 3.4 KB
Line 
1// Copyright (c) 2010-2013 AlphaSierraPapa for the SharpDevelop Team
2//
3// Permission is hereby granted, free of charge, to any person obtaining a copy of this
4// software and associated documentation files (the "Software"), to deal in the Software
5// without restriction, including without limitation the rights to use, copy, modify, merge,
6// publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons
7// to whom the Software is furnished to do so, subject to the following conditions:
8//
9// The above copyright notice and this permission notice shall be included in all copies or
10// substantial portions of the Software.
11//
12// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
13// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
14// PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE
15// FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
16// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
17// DEALINGS IN THE SOFTWARE.
18
19using System;
20
21namespace ICSharpCode.NRefactory.TypeSystem
22{
23  [Flags]
24  public enum ConversionFlags
25  {
26    /// <summary>
27    /// Convert only the name.
28    /// </summary>
29    None = 0,
30    /// <summary>
31    /// Show the parameter list
32    /// </summary>
33    ShowParameterList      = 1,
34    /// <summary>
35    /// Show names for parameters
36    /// </summary>
37    ShowParameterNames     = 2,
38    /// <summary>
39    /// Show the accessibility (private, public, etc.)
40    /// </summary>
41    ShowAccessibility      = 4,
42    /// <summary>
43    /// Show the definition key word (class, struct, Sub, Function, etc.)
44    /// </summary>
45    ShowDefinitionKeyword  = 8,
46    /// <summary>
47    /// Show the declaring type for the member
48    /// </summary>
49    ShowDeclaringType = 0x10,
50    /// <summary>
51    /// Show modifiers (virtual, override, etc.)
52    /// </summary>
53    ShowModifiers          = 0x20,
54    /// <summary>
55    /// Show the return type
56    /// </summary>
57    ShowReturnType = 0x40,
58    /// <summary>
59    /// Use fully qualified names for types.
60    /// </summary>
61    UseFullyQualifiedTypeNames = 0x80,
62    /// <summary>
63    /// Show the list of type parameters on method and class declarations.
64    /// Type arguments for parameter/return types are always shown.
65    /// </summary>
66    ShowTypeParameterList = 0x100,
67    /// <summary>
68    /// For fields, events and methods: adds a semicolon at the end.
69    /// For properties: shows "{ get; }" or similar.
70    /// </summary>
71    ShowBody = 0x200,
72   
73    /// <summary>
74    /// Use fully qualified names for members.
75    /// </summary>
76    UseFullyQualifiedEntityNames = 0x400,
77   
78    StandardConversionFlags = ShowParameterNames |
79      ShowAccessibility |
80      ShowParameterList |
81      ShowReturnType |
82      ShowModifiers |
83      ShowTypeParameterList |
84      ShowDefinitionKeyword |
85      ShowBody,
86   
87    All = 0x7ff,
88  }
89 
90  /// <summary>
91  /// Ambiences are used to convert type system symbols to text (usually for displaying the symbol to the user; e.g. in editor tooltips).
92  /// </summary>
93  public interface IAmbience
94  {
95    ConversionFlags ConversionFlags { get; set; }
96   
97    [Obsolete("Use ConvertSymbol() instead")]
98    string ConvertEntity(IEntity entity);
99    string ConvertSymbol(ISymbol symbol);
100    string ConvertType(IType type);
101    [Obsolete("Use ConvertSymbol() instead")]
102    string ConvertVariable(IVariable variable);
103    string ConvertConstantValue(object constantValue);
104   
105    string WrapComment(string comment);
106  }
107}
Note: See TracBrowser for help on using the repository browser.