public AmbienceReflectionDecorator(IAmbience conv) { if (conv == null) { throw new System.ArgumentNullException("conv"); } this.conv = conv; }
public GoToMemberAction(IMember member, IAmbience ambience) { if (ambience == null) throw new ArgumentNullException("ambience"); if (member == null) throw new ArgumentNullException("member"); this.Member = member; this.Title = ambience.Convert(member); }
public GoToClassAction(IClass c, IAmbience ambience) { if (ambience == null) throw new ArgumentNullException("ambience"); if (c == null) throw new ArgumentNullException("c"); this.Class = c; this.Title = ambience.Convert(c); }
void AddClasses(ArrayList items, ICollection <IClass> classes) { foreach (IClass c in classes) { IAmbience ambience = AmbienceService.GetCurrentAmbience(); ambience.ConversionFlags = ConversionFlags.UseFullyQualifiedMemberNames | ConversionFlags.ShowTypeParameterList; items.Add(new ComboBoxItem(c, ambience.Convert(c), ClassBrowserIconService.GetIcon(c), true)); AddClasses(items, c.InnerClasses); } }
public override string ToString() { if (cachedStringRepresentation == null) { IAmbience ambience = AmbienceService.GetCurrentAmbience(); ambience.ConversionFlags = ConversionFlags.ShowParameterNames; cachedStringRepresentation = ambience.Convert(method); } return(cachedStringRepresentation); }
public string GetInsightData(int number) { IMember method = methods[number]; IAmbience conv = AmbienceService.GetCurrentAmbience(); conv.ConversionFlags = ConversionFlags.StandardConversionFlags | ConversionFlags.UseFullyQualifiedMemberNames; string documentation = method.Documentation; string text = conv.Convert(method); return(text + "\n" + CodeCompletionData.ConvertDocumentation(documentation)); }
public CodeCompletionData(IEvent e) { member = e; ambience = Parser.ProjectParser.CurrentAmbience; ambience.ConversionFlags = ConversionFlags.ShowReturnType | ConversionFlags.ShowParameterNames | ConversionFlags.ShowModifiers; imageIndex = ScriptControl.GetIcon(e); text = e.Name; description = ambience.Convert(e); documentation = e.Documentation; GetPriority(e.DotNetName); }
static string GetMemberText(IAmbience ambience, IEntity member, string expression, out bool debuggerCanShowValue) { bool tryDisplayValue = false; debuggerCanShowValue = false; StringBuilder text = new StringBuilder(); if (member is IField) { text.Append(ambience.Convert(member as IField)); tryDisplayValue = true; } else if (member is IProperty) { text.Append(ambience.Convert(member as IProperty)); tryDisplayValue = true; } else if (member is IEvent) { text.Append(ambience.Convert(member as IEvent)); } else if (member is IMethod) { text.Append(ambience.Convert(member as IMethod)); } else if (member is IClass) { text.Append(ambience.Convert(member as IClass)); } else { text.Append("unknown member "); text.Append(member.ToString()); } if (tryDisplayValue && currentDebugger != null) { LoggingService.Info("asking debugger for value of '" + expression + "'"); string currentValue = currentDebugger.GetValueAsString(expression); if (currentValue != null) { debuggerCanShowValue = true; text.Append(" = "); text.Append(currentValue); } } string documentation = member.Documentation; if (documentation != null && documentation.Length > 0) { text.Append('\n'); text.Append(ICSharpCode.SharpDevelop.Editor.CodeCompletion.CodeCompletionItem.ConvertDocumentation(documentation)); } return(text.ToString()); }
public CodeCompletionData(IEvent e) { member = e; ambience = AmbienceService.CurrentAmbience; ambience.ConversionFlags = ConversionFlags.ShowReturnType | ConversionFlags.ShowParameterNames | ConversionFlags.ShowModifiers; imageIndex = ClassBrowserIconService.GetIcon(e); text = e.Name; description = ambience.Convert(e); documentation = e.Documentation; GetPriority(e.DotNetName); }
public CodeCompletionData(IProperty property) { _member = property; _ambience = Parser.ProjectParser.CurrentAmbience; _ambience.ConversionFlags = ConversionFlags.ShowReturnType | ConversionFlags.ShowParameterNames | ConversionFlags.ShowModifiers; _imageIndex = ScriptControl.GetIcon(property); _text = property.Name; _description = _ambience.Convert(property); _documentation = property.Documentation; GetPriority(property.DotNetName); }
public void SetupDataProvider(string fileName) { IExpressionFinder expressionFinder; if (IntellisenseForm.SupportedLanguage == ESupportedLanguage.VisualBasic) { expressionFinder = new VBExpressionFinder(); } else { expressionFinder = new CSharpExpressionFinder(iForm.ParseInformation); } //TextLocation position = m_textarea.Caret.Position; //ExpressionResult expression = expressionFinder.FindFullExpression(m_textarea.MotherTextEditorControl.Text, m_textarea.Document.PositionToOffset(position)); //if (expression.Region.IsEmpty) //{ // expression.Region = new DomRegion(position.Line + 1, position.Column + 1); //} ExpressionResult expression = expressionFinder.FindFullExpression( m_textarea.MotherTextEditorControl.Text, m_textarea.MotherTextEditorControl.Document.PositionToOffset(m_textarea.Caret.Position) - 1); if (expression.Region.IsEmpty) { expression.Region = new DomRegion(m_textarea.Caret.Position.Line + 1, m_textarea.Caret.Position.Column + 1); } NRefactoryResolver resolver = new NRefactoryResolver(iForm.ProjectContent.Language); ResolveResult rr = resolver.Resolve(expression, iForm.ParseInformation, m_textarea.MotherTextEditorControl.Text); List <string> lines = new List <string>(); if (rr is MethodGroupResolveResult) { MethodGroupResolveResult mrr = rr as MethodGroupResolveResult; IAmbience ambience = IntellisenseForm.SupportedLanguage == ESupportedLanguage.VisualBasic ? (IAmbience) new VBNetAmbience() : new CSharpAmbience(); ambience.ConversionFlags = ConversionFlags.StandardConversionFlags | ConversionFlags.ShowAccessibility; foreach (MethodGroup methodgroup in mrr.Methods) { foreach (IMethod method in methodgroup) { lines.Add(ToolTipProvider.GetMemberText(ambience, method)); } } } m_insighttext = (lines.Count > 0) ? lines.ToArray() : null; m_argumentstartoffset = m_textarea.Caret.Offset; }
public CodeCompletionData(IMember member) { this.entity = member; imageIndex = ClassBrowserIconService.GetIcon(member); IAmbience ambience = AmbienceService.GetCurrentAmbience(); ambience.ConversionFlags = ConversionFlags.None; text = ambience.Convert(member); ambience.ConversionFlags = ConversionFlags.StandardConversionFlags; description = ambience.Convert(member); InitializePriority(member.DotNetName); }
protected override void PrepareMembersContent() { Items.Clear(); IMethod invokeMethod = RepresentedClassType.SearchMember("Invoke", RepresentedClassType.ProjectContent.Language) as IMethod; IAmbience ambience = GetAmbience(); foreach (IParameter par in invokeMethod.Parameters) { TextSegment ts = new TextSegment(Graphics, par.Name + " : " + ambience.Convert(par.ReturnType), MemberFont, true); Items.Add(ts); } }
public CompilationUnitCreatorVisitor(IProjectContent projectContent, string fileContent, string fileName, string[] lexerTags) { this.CompilationUnit = new XamlCompilationUnit(projectContent); this.CompilationUnit.FileName = fileName; this.fileContent = fileContent; this.lexerTags = lexerTags; this.projectContent = projectContent; this.currentAmbience = projectContent.Language.GetAmbience(); this.nodeStack = new Stack <NodeWrapper>(); }
public CompilationUnitCreatorVisitor(IProjectContent projectContent, string fileContent, string fileName, string[] lexerTags) { this.CompilationUnit = new XamlCompilationUnit(projectContent); this.CompilationUnit.FileName = fileName; this.fileContent = fileContent; this.lexerTags = lexerTags; this.projectContent = projectContent; this.currentAmbience = projectContent.Language.GetAmbience(); this.nodeStack = new Stack<NodeWrapper>(); }
/// <summary> /// Converts a member to text. /// Returns the declaration of the member as C# or VB code, e.g. /// "public void MemberName(string parameter)" /// </summary> static string GetText(IEntity entity) { IAmbience ambience = csharpAmbience; ambience.ConversionFlags = ConversionFlags.StandardConversionFlags; if (entity is ITypeDefinition) { // Show fully qualified Type name ambience.ConversionFlags |= ConversionFlags.UseFullyQualifiedTypeNames; } return(ambience.ConvertEntity(entity)); }
public CodeCompletionData(IClass c) { ambience = Parser.ProjectParser.CurrentAmbience; // save class (for the delegate description shortcut) this.c = c; imageIndex = ScriptControl.GetIcon(c); ambience.ConversionFlags = ConversionFlags.None; text = ambience.Convert(c); ambience.ConversionFlags = ConversionFlags.UseFullyQualifiedNames | ConversionFlags.ShowReturnType | ConversionFlags.ShowModifiers; description = ambience.Convert(c); documentation = c.Documentation; GetPriority(c.DotNetName); }
object GetText() { var member = model.Resolve(); if (member == null) { return(model.Name); } IAmbience ambience = AmbienceService.GetCurrentAmbience(); ambience.ConversionFlags = ConversionFlags.ShowTypeParameterList | ConversionFlags.ShowParameterList | ConversionFlags.ShowParameterNames; return(ambience.ConvertSymbol(member)); }
public GoToClassAction(IClass c, IAmbience ambience) { if (ambience == null) { throw new ArgumentNullException("ambience"); } if (c == null) { throw new ArgumentNullException("c"); } this.Class = c; this.Title = ambience.Convert(c); }
public GoToMemberAction(IMember member, IAmbience ambience) { if (ambience == null) { throw new ArgumentNullException("ambience"); } if (member == null) { throw new ArgumentNullException("member"); } this.Member = member; this.Title = ambience.Convert(member); }
internal static string GetText(IClass c) { if (ICSharpCode.Core.PropertyService.Initialized) { IAmbience ambience = c.ProjectContent.Language.GetAmbience(); ambience.ConversionFlags = ConversionFlags.ShowTypeParameterList; return(ambience.Convert(c)); } else { return(c.Name); } }
public CodeCompletionData(IClass c) { IAmbience ambience = AmbienceService.GetCurrentAmbience(); // save class (for the delegate description shortcut) this.entity = c; imageIndex = ClassBrowserIconService.GetIcon(c); ambience.ConversionFlags = ConversionFlags.ShowTypeParameterList; text = ambience.Convert(c); ambience.ConversionFlags = ConversionFlags.StandardConversionFlags | ConversionFlags.UseFullyQualifiedMemberNames; description = ambience.Convert(c); InitializePriority(c.DotNetName); }
object GenerateHeader() { IAmbience ambience = AmbienceService.GetCurrentAmbience(); ambience.ConversionFlags = ConversionFlags.StandardConversionFlags; if (headerText == null) { headerText = ambience.Convert(entity); } if (highlightParameter < 0) { return(headerText); } if (entity is IMethod) { var method = entity as IMethod; string param = ""; if (method.Parameters.Count > highlightParameter) { param = ambience.Convert(method.Parameters[highlightParameter]); } if (!string.IsNullOrEmpty(param)) { // append ',' or ')' to avoid missing highlighting if there are multiple parameter names starting with the same substring. string[] parts = headerText.Split(new[] { param + (method.Parameters.Count - 1 == highlightParameter ? ')' : ',') }, StringSplitOptions.None); if (parts.Length != 2) { return(headerText); } return(new TextBlock { // add text wrapping TextWrapping = TextWrapping.Wrap, Inlines = { parts[0], new Bold() { Inlines = { param } }, (method.Parameters.Count - 1 == highlightParameter ? ')' : ',') + parts[1] } }); } } return(headerText); }
// TODO: i think these really belong in the model (ExtractInterfaceOptions) // rather than the view's code-behind... string FormatMemberForDisplay(IMember m) { IAmbience ambience = options.ClassEntity.ProjectContent.Language.GetAmbience(); if (m is IProperty) ambience.ConversionFlags |= ConversionFlags.IncludeBody; ambience.ConversionFlags &= ~(ConversionFlags.ShowAccessibility | ConversionFlags.ShowModifiers); return ambience.Convert(m) .Replace('\n', ' ') .Replace('\t', ' ') .Replace('\r', ' ') .Replace(" ", " "); }
object GenerateHeader() { IAmbience ambience = AmbienceService.GetCurrentAmbience(); ambience.ConversionFlags = ConversionFlags.StandardConversionFlags; if (headerText == null) { headerText = ambience.Convert(entity); } if (highlightParameter < 0) { return(headerText); } if (entity is IMethod) { var method = entity as IMethod; string param = ""; if (method.Parameters.Count > highlightParameter) { param = ambience.Convert(method.Parameters[highlightParameter]); } if (!string.IsNullOrEmpty(param)) { string[] parts = headerText.Split(new[] { param }, StringSplitOptions.None); if (parts.Length != 2) { return(headerText); } return(new Span() { Inlines = { parts[0], new Bold() { Inlines = { param } }, parts[1] } }); } } return(headerText); }
public SettingsView() { InitializeComponent(); ambience = AmbienceService.GetCurrentAmbience(); foreach (Type type in defaultAvailableTypes) { types.Add(type); typeNames.Add(ambience.GetIntrinsicTypeName(type.FullName)); } foreach (SpecialTypeDescriptor d in SpecialTypeDescriptor.Descriptors) { types.Add(d.type); typeNames.Add(d.name); } ScopeColumn.DataSource = Enum.GetValues(typeof(SettingScope)); TypeColumn.DataSource = typeNames; }
public SettingsView() { InitializeComponent(); ambience = AmbienceService.GetCurrentAmbience(); compilation = MinimalCorlib.Instance.CreateCompilation(); foreach (Type type in defaultAvailableTypes) { types.Add(type); typeNames.Add(ambience.ConvertType(type.ToTypeReference().Resolve(compilation))); } foreach (SpecialTypeDescriptor d in SpecialTypeDescriptor.Descriptors) { types.Add(d.type); typeNames.Add(d.name); } Entries = new ObservableCollection <SettingsVM>(); }
public EntityItem(IEntity entity, int typeCode) { this.IsInSamePart = true; this.entity = entity; this.typeCode = typeCode; IAmbience ambience = entity.ProjectContent.Language.GetAmbience(); if (entity is IClass) { ambience.ConversionFlags = ConversionFlags.ShowTypeParameterList | ConversionFlags.UseFullyQualifiedMemberNames; } else { ambience.ConversionFlags = ConversionFlags.ShowTypeParameterList | ConversionFlags.ShowParameterList | ConversionFlags.ShowParameterNames; } text = ambience.Convert(entity); image = ClassBrowserIconService.GetIcon(entity); }
public FieldWrapper(IField member) { if (member == null) { throw new ArgumentNullException("member"); } this.field = member; addSetter = true; IAmbience ambience = AmbienceService.GetCurrentAmbience(); ambience.ConversionFlags |= ConversionFlags.ShowReturnType | ConversionFlags.ShowModifiers | ConversionFlags.ShowAccessibility; this.text = ambience.ConvertSymbol(member); }
protected virtual void PrepareTitles() { if (classtype == null) { return; } IAmbience ambience = GetAmbience(); DrawableItemsStack title = new DrawableItemsStack(); title.OrientationAxis = Axis.X; TextSegment titleString = new TextSegment(base.Graphics, classtype.Name, TitleFont, true); title.Add(titleString); title.Add(collapseExpandShape); collapseExpandShape.Collapsed = Collapsed; titles.OrientationAxis = Axis.Y; titles.Add(title); titles.Add(new TextSegment(base.Graphics, typeclass, SubtextFont, true)); if (classtype.BaseClass != null) { DrawableItemsStack inherits = new DrawableItemsStack(); inherits.OrientationAxis = Axis.X; inherits.Add(new InheritanceShape()); inherits.Add(new TextSegment(base.Graphics, classtype.BaseClass.Name, SubtextFont, true)); titles.Add(inherits); } foreach (IReturnType rt in classtype.BaseTypes) { IClass ct = rt.GetUnderlyingClass(); if (ct != null && ct.ClassType == ClassType.Interface) { interfaces.Add(new TextSegment(base.Graphics, ambience.Convert(rt), SubtextFont, true)); } } }
public CSharpDocumentationBuilder(IAmbience ambience) { this.ambience = ambience; this.flowDocument = new FlowDocument(); this.blockCollection = flowDocument.Blocks; this.ShowSummary = true; this.ShowAllParameters = true; this.ShowReturns = true; this.ShowThreadSafety = true; this.ShowExceptions = true; this.ShowTypeParameters = true; this.ShowExample = true; this.ShowPreliminary = true; this.ShowSeeAlso = true; this.ShowValue = true; this.ShowPermissions = true; this.ShowRemarks = true; }
public SettingsView() { InitializeComponent(); ambience = AmbienceService.GetCurrentAmbience(); compilation = MinimalCorlib.Instance.CreateCompilation(); foreach (Type type in defaultAvailableTypes) { types.Add(type); typeNames.Add(ambience.ConvertType(type.ToTypeReference().Resolve(compilation))); } foreach (SpecialTypeDescriptor d in SpecialTypeDescriptor.Descriptors) { types.Add(d.type); typeNames.Add(d.name); } Entries = new ObservableCollection<SettingsVM>(); }
public CodeCompletionItem(IEntity entity, IProjectContent projectContent) { if (entity == null) { throw new ArgumentNullException("entity"); } _entity = entity; _projectContent = projectContent; IAmbience ambience = AmbienceService.GetCurrentAmbience(); ambience.ConversionFlags = entity is IClass ? ConversionFlags.ShowTypeParameterList : ConversionFlags.None; Text = entity.Name; Content = ambience.Convert(entity); Overloads = 1; Priority = CodeCompletionDataUsageCache.GetPriority(entity.DotNetName, true); }
/// <summary> /// Converts a member to text. /// Returns the declaration of the member as C# or VB code, e.g. /// "public void MemberName(string parameter)". /// </summary> /// <param name="entity">Entity that gets converted.</param> /// <returns>The result of the conversion.</returns> private static string GetText(IEntity entity) { IAmbience ambience = MainForm.IsVisualBasic ? (IAmbience)VbAmbience : CsharpAmbience; var method = entity as IMethod; if (method != null) { return(ambience.Convert(method)); } var property = entity as IProperty; if (property != null) { return(ambience.Convert(property)); } var entityAsEvent = entity as IEvent; if (entityAsEvent != null) { return(ambience.Convert(entityAsEvent)); } var field = entity as IField; if (field != null) { return(ambience.Convert(field)); } var entityAsClass = entity as IClass; if (entityAsClass != null) { return(ambience.Convert(entityAsClass)); } // unknown entity: return(entity.ToString()); }
internal static string GetMemberText(IAmbience ambience, IEntity member) { var text = new StringBuilder(); // ReSharper disable once CanBeReplacedWithTryCastAndCheckForNull if (member is IField) { text.Append(ambience.Convert((IField)member)); } else if (member is IProperty) { text.Append(ambience.Convert((IProperty)member)); } else if (member is IEvent) { text.Append(ambience.Convert((IEvent)member)); } else if (member is IMethod) { text.Append(ambience.Convert((IMethod)member)); } else if (member is IClass) { text.Append(ambience.Convert((IClass)member)); } else { text.Append("unknown member "); text.Append(member); } var documentation = member.Documentation; if (string.IsNullOrEmpty(documentation)) { return(text.ToString()); } text.Append('\n'); text.Append(CodeCompletionData.XmlDocumentationToText(documentation)); return(text.ToString()); }
public DocumentationUIBuilder(IAmbience ambience = null) { this.ambience = ambience ?? AmbienceService.GetCurrentAmbience(); this.flowDocument = new FlowDocument(); this.blockCollection = flowDocument.Blocks; this.ShowSummary = true; this.ShowAllParameters = true; this.ShowReturns = true; this.ShowThreadSafety = true; this.ShowExceptions = true; this.ShowTypeParameters = true; this.ShowExample = true; this.ShowPreliminary = true; this.ShowSeeAlso = true; this.ShowValue = true; this.ShowPermissions = true; this.ShowRemarks = true; }
void AppendTextLine(string indentation, IAmbience ambience, int maxLineLength, StringWriter insertedText, string line) { const int minimumLineLength = 10; string commentedLine; while (true) { commentedLine = ambience.WrapComment(line); int commentingOverhead = commentedLine.Length - line.Length; if (commentingOverhead < 0 || (maxLineLength - commentingOverhead) < minimumLineLength) break; if (commentedLine.Length > maxLineLength) { int pos = FindWrapPositionBefore(line, maxLineLength - commentingOverhead); if (pos < minimumLineLength) break; insertedText.WriteLine(ambience.WrapComment(line.Substring(0, pos))); insertedText.Write(indentation); line = line.Substring(pos + 1); } else { break; } } insertedText.WriteLine(commentedLine); insertedText.Write(indentation); // indentation for next line }
static string GetMemberText(IAmbience ambience, IEntity member) { StringBuilder text = new StringBuilder(); if (member is IField) { text.Append(ambience.Convert(member as IField)); } else if (member is IProperty) { text.Append(ambience.Convert(member as IProperty)); } else if (member is IEvent) { text.Append(ambience.Convert(member as IEvent)); } else if (member is IMethod) { text.Append(ambience.Convert(member as IMethod)); } else if (member is IClass) { text.Append(ambience.Convert(member as IClass)); } else { text.Append("unknown member "); text.Append(member.ToString()); } string documentation = member.Documentation; if (documentation != null && documentation.Length > 0) { text.Append('\n'); text.Append(CodeCompletionData.XmlDocumentationToText(documentation)); } return text.ToString(); }
public AmbienceReflectionDecorator(IAmbience conv) { this.conv = conv; }
protected PopupViewModelBuilder() { this.LabelAmbience = AmbienceService.GetCurrentAmbience(); this.LabelAmbience.ConversionFlags = ConversionFlags.ShowTypeParameterList; }
public CodeCompletionData(string s, int imageIndex) { ambience = AmbienceService.CurrentAmbience; description = documentation = String.Empty; text = s; this.imageIndex = imageIndex; GetPriority(s); }
public CodeCompletionData(IClass c) { ambience = AmbienceService.CurrentAmbience; // save class (for the delegate description shortcut) this.c = c; imageIndex = ClassBrowserIconService.GetIcon(c); ambience.ConversionFlags = ConversionFlags.None; text = ambience.Convert(c); ambience.ConversionFlags = ConversionFlags.UseFullyQualifiedNames | ConversionFlags.ShowReturnType | ConversionFlags.ShowModifiers; description = ambience.Convert(c); documentation = c.Documentation; GetPriority(c.DotNetName); }
internal static string GetMemberText(IAmbience ambience, IEntity member) { var text = new StringBuilder(); if (member is IField) { text.Append(ambience.Convert(member as IField)); } else if (member is IProperty) { text.Append(ambience.Convert(member as IProperty)); } else if (member is IEvent) { text.Append(ambience.Convert(member as IEvent)); } else if (member is IMethod) { text.Append(ambience.Convert(member as IMethod)); } else if (member is IClass) { text.Append(ambience.Convert(member as IClass)); } else { text.Append("unknown member "); text.Append(member); } var documentation = member.Documentation; if (string.IsNullOrEmpty(documentation)) return text.ToString(); text.Append('\n'); text.Append(CodeCompletionData.XmlDocumentationToText(documentation)); return text.ToString(); }
/// <summary> /// Gets the current ambience. /// Might return a new ambience object, or use an existing. Use this method only on the main thread. /// </summary> public static IAmbience GetCurrentAmbience() { Gui.WorkbenchSingleton.AssertMainThread(); IAmbience ambience; if (UseProjectAmbienceIfPossible) { ICSharpCode.SharpDevelop.Project.IProject p = ICSharpCode.SharpDevelop.Project.ProjectService.CurrentProject; if (p != null) { ambience = p.GetAmbience(); if (ambience != null) return ambience; } } if (defaultAmbience == null) { string language = DefaultAmbienceName; try { ambience = (IAmbience)AddInTree.BuildItem("/SharpDevelop/Workbench/Ambiences/" + language, null); } catch (TreePathNotFoundException) { ambience = null; } if (ambience == null && Gui.WorkbenchSingleton.MainForm != null) { MessageService.ShowError("${res:ICSharpCode.SharpDevelop.Services.AmbienceService.AmbienceNotFoundError}"); } defaultAmbience = ambience ?? new NetAmbience(); } return defaultAmbience; }
static string GetMemberText(IAmbience ambience, IEntity member, string expression, out bool debuggerCanShowValue) { bool tryDisplayValue = false; debuggerCanShowValue = false; StringBuilder text = new StringBuilder(); if (member is IField) { text.Append(ambience.Convert(member as IField)); tryDisplayValue = true; } else if (member is IProperty) { text.Append(ambience.Convert(member as IProperty)); tryDisplayValue = true; } else if (member is IEvent) { text.Append(ambience.Convert(member as IEvent)); } else if (member is IMethod) { text.Append(ambience.Convert(member as IMethod)); } else if (member is IClass) { text.Append(ambience.Convert(member as IClass)); } else { text.Append("unknown member "); text.Append(member.ToString()); } if (tryDisplayValue && currentDebugger != null) { LoggingService.Info("asking debugger for value of '" + expression + "'"); string currentValue = currentDebugger.GetValueAsString(expression); if (currentValue != null) { debuggerCanShowValue = true; text.Append(" = "); text.Append(currentValue); } } string documentation = member.Documentation; if (documentation != null && documentation.Length > 0) { text.Append('\n'); text.Append(ICSharpCode.SharpDevelop.DefaultEditor.Gui.Editor.CodeCompletionData.ConvertDocumentation(documentation)); } return text.ToString(); }