Skip to content
This repository was archived by the owner on Oct 16, 2020. It is now read-only.

Commit b7643d6

Browse files
author
gumme
committed
Merge remote-tracking branch 'upstream/master'
2 parents 991c306 + c3c6584 commit b7643d6

25 files changed

Lines changed: 123 additions & 68 deletions

File tree

src/AddIns/BackendBindings/CSharpBinding/Project/Src/CSharpSemanticHighlighter.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -256,7 +256,7 @@ HighlightedLine DoHighlightLine(int lineNumber, IDocumentLine documentLine, Cach
256256
if (parseInfo == null) {
257257
if (invalidLines != null && !invalidLines.Contains(documentLine)) {
258258
invalidLines.Add(documentLine);
259-
Debug.WriteLine("Semantic highlighting for line {0} - marking as invalid", lineNumber);
259+
//Debug.WriteLine("Semantic highlighting for line {0} - marking as invalid", lineNumber);
260260
}
261261

262262
if (cachedLine != null) {

src/AddIns/BackendBindings/CSharpBinding/Project/Src/Refactoring/CSharpCodeActionProviderDoozer.cs

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
using System.Linq;
88
using System.Threading;
99
using System.Threading.Tasks;
10+
using ICSharpCode.SharpDevelop;
1011
using CSharpBinding.Parser;
1112
using ICSharpCode.Core;
1213
using ICSharpCode.NRefactory.CSharp;
@@ -93,11 +94,17 @@ public Task<IContextAction[]> GetAvailableActionsAsync(EditorRefactoringContext
9394
int selectionLength = editor.SelectionLength;
9495
return Task.Run(
9596
async delegate {
96-
if (!CreateCodeActionProvider())
97+
try {
98+
if (!CreateCodeActionProvider())
99+
return new IContextAction[0];
100+
CSharpAstResolver resolver = await context.GetAstResolverAsync().ConfigureAwait(false);
101+
var refactoringContext = new SDRefactoringContext(context.TextSource, resolver, context.CaretLocation, selectionStart, selectionLength, cancellationToken);
102+
return codeActionProvider.GetActions(refactoringContext).Select(Wrap).ToArray();
103+
} catch (Exception ex) {
104+
SD.Log.WarnFormatted("CSharpContextActionProviderWrapper crashed: {0}", ex);
105+
SD.AnalyticsMonitor.TrackException(ex);
97106
return new IContextAction[0];
98-
CSharpAstResolver resolver = await context.GetAstResolverAsync().ConfigureAwait(false);
99-
var refactoringContext = new SDRefactoringContext(context.TextSource, resolver, context.CaretLocation, selectionStart, selectionLength, cancellationToken);
100-
return codeActionProvider.GetActions(refactoringContext).Select(Wrap).ToArray();
107+
}
101108
}, cancellationToken);
102109
}
103110

src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Rendering/TextView.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1027,7 +1027,7 @@ VisualLine BuildVisualLine(DocumentLine documentLine,
10271027
if (heightTree.GetIsCollapsed(documentLine.LineNumber))
10281028
throw new InvalidOperationException("Trying to build visual line from collapsed line");
10291029

1030-
Debug.WriteLine("Building line " + documentLine.LineNumber);
1030+
//Debug.WriteLine("Building line " + documentLine.LineNumber);
10311031

10321032
VisualLine visualLine = new VisualLine(this, documentLine);
10331033
VisualLineTextSource textSource = new VisualLineTextSource(visualLine) {

src/Libraries/NRefactory/ICSharpCode.NRefactory.CSharp.Refactoring/CodeIssues/Uncategorized/CompilerErrors/CS1729TypeHasNoConstructorWithNArgumentsIssue.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,8 @@ public override void VisitObjectCreateExpression(ObjectCreateExpression objectCr
117117

118118
bool BaseTypeHasUsableParameterlessConstructor()
119119
{
120+
if (baseType.Kind == TypeKind.Unknown)
121+
return true; // don't show CS1729 error message if base type is unknown
120122
var memberLookup = new MemberLookup(currentType.GetDefinition(), ctx.Compilation.MainAssembly);
121123
OverloadResolution or = new OverloadResolution(ctx.Compilation, new ResolveResult[0]);
122124
foreach (var ctor in baseType.GetConstructors()) {

src/Libraries/NRefactory/ICSharpCode.NRefactory.CSharp/OutputVisitor/CSharpAmbience.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,7 @@ void WriteTypeDeclarationName(ITypeDefinition typeDef, TokenWriter writer, CShar
167167
if (typeDef.DeclaringTypeDefinition != null) {
168168
WriteTypeDeclarationName(typeDef.DeclaringTypeDefinition, writer, formattingPolicy);
169169
writer.WriteToken(Roles.Dot, ".");
170-
} else if ((ConversionFlags & ConversionFlags.UseFullyQualifiedTypeNames) == ConversionFlags.UseFullyQualifiedTypeNames) {
170+
} else if ((ConversionFlags & ConversionFlags.UseFullyQualifiedMemberNames) == ConversionFlags.UseFullyQualifiedMemberNames) {
171171
WriteQualifiedName(typeDef.Namespace, writer, formattingPolicy);
172172
writer.WriteToken(Roles.Dot, ".");
173173
}
@@ -265,13 +265,15 @@ public string ConvertType(IType type)
265265
throw new ArgumentNullException("type");
266266

267267
TypeSystemAstBuilder astBuilder = CreateAstBuilder();
268+
astBuilder.AlwaysUseShortTypeNames = (ConversionFlags & ConversionFlags.UseFullyQualifiedMemberNames) != ConversionFlags.UseFullyQualifiedMemberNames;
268269
AstType astType = astBuilder.ConvertType(type);
269270
return astType.ToString();
270271
}
271272

272273
public void ConvertType(IType type, TokenWriter writer, CSharpFormattingOptions formattingPolicy)
273274
{
274275
TypeSystemAstBuilder astBuilder = CreateAstBuilder();
276+
astBuilder.AlwaysUseShortTypeNames = (ConversionFlags & ConversionFlags.UseFullyQualifiedMemberNames) != ConversionFlags.UseFullyQualifiedMemberNames;
275277
AstType astType = astBuilder.ConvertType(type);
276278
astType.AcceptVisitor(new CSharpOutputVisitor(writer, formattingPolicy));
277279
}

src/Libraries/NRefactory/ICSharpCode.NRefactory/TypeSystem/IAmbience.cs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,11 @@ public enum ConversionFlags
7070
/// </summary>
7171
ShowBody = 0x200,
7272

73+
/// <summary>
74+
/// Use fully qualified names for members.
75+
/// </summary>
76+
UseFullyQualifiedMemberNames = 0x400,
77+
7378
StandardConversionFlags = ShowParameterNames |
7479
ShowAccessibility |
7580
ShowParameterList |
@@ -79,7 +84,7 @@ public enum ConversionFlags
7984
ShowDefinitionKeyword |
8085
ShowBody,
8186

82-
All = 0x3ff,
87+
All = 0x7ff,
8388
}
8489

8590
public interface IAmbience

src/Main/Base/Project/Dom/ClassBrowser/AssemblyReferenceTreeNode.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,9 @@ public AssemblyReferenceTreeNode(IAssemblyReferenceModel model)
1919
if (model == null)
2020
throw new ArgumentNullException("model");
2121
this.model = model;
22+
23+
// To avoid the "+" sign in front of node...
24+
this.LazyLoading = false;
2225
}
2326

2427
protected override object GetModel()

src/Main/Base/Project/Dom/ClassBrowser/ClassBrowserTreeView.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -183,7 +183,7 @@ public bool GoToEntity(IEntity entity)
183183
int entityParamsCount = parametrizedEntityMember.Parameters != null ? parametrizedEntityMember.Parameters.Count : 0;
184184
if (treeNodeParamsCount == entityParamsCount) {
185185
for (int i = 0; i < entityParamsCount; i++) {
186-
if (parametrizedEntityMember.Parameters[i].Type.FullName != parametrizedTreeNodeMember.Parameters[i].Type.Resolve(entityAssembly.Compilation).FullName) {
186+
if (!parametrizedEntityMember.Parameters[i].Type.Equals(parametrizedTreeNodeMember.Parameters[i].Type.Resolve(entityAssembly.Compilation))) {
187187
return false;
188188
}
189189
}

src/Main/Base/Project/Dom/ClassBrowser/TypeDefinitionTreeNode.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ public class TypeDefinitionTreeNode : ModelCollectionTreeNode
1717
{
1818
static readonly IComparer<SharpTreeNode> TypeMemberNodeComparer = new TypeDefinitionMemberNodeComparer();
1919
ITypeDefinitionModel definition;
20+
IModelCollection<object> combinedModelChildren;
2021

2122
public TypeDefinitionTreeNode(ITypeDefinitionModel definition)
2223
{
@@ -27,6 +28,7 @@ public TypeDefinitionTreeNode(ITypeDefinitionModel definition)
2728
UpdateBaseTypesNode();
2829
UpdateDerivedTypesNode();
2930
};
31+
this.combinedModelChildren = definition.NestedTypes.Concat<object>(definition.Members);
3032
}
3133

3234
protected override object GetModel()
@@ -55,7 +57,7 @@ protected override IComparer<SharpTreeNode> NodeComparer {
5557

5658
protected override IModelCollection<object> ModelChildren {
5759
get {
58-
return definition.NestedTypes.Concat<object>(definition.Members);
60+
return combinedModelChildren;
5961
}
6062
}
6163

src/Main/Base/Project/Dom/ClassBrowser/WorkspaceTreeNode.cs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,11 +34,14 @@ public int Compare(SharpTreeNode x, SharpTreeNode y)
3434
return stringComparer.Compare(x.Text.ToString(), y.Text.ToString());
3535
}
3636
}
37+
38+
IModelCollection<object> combinedModelChildren;
3739

3840
protected static readonly IComparer<SharpTreeNode> ChildNodeComparer = new WorkspaceChildComparer();
3941

4042
public WorkspaceTreeNode()
4143
{
44+
combinedModelChildren = SD.ClassBrowser.MainAssemblyList.Assemblies.Concat(SD.ClassBrowser.UnpinnedAssemblies.Assemblies);
4245
SD.ClassBrowser.CurrentWorkspace.AssemblyLists.CollectionChanged += AssemblyListsCollectionChanged;
4346
}
4447

@@ -48,7 +51,7 @@ protected override object GetModel()
4851
}
4952

5053
protected override IModelCollection<object> ModelChildren {
51-
get { return SD.ClassBrowser.MainAssemblyList.Assemblies.Concat(SD.ClassBrowser.UnpinnedAssemblies.Assemblies); }
54+
get { return combinedModelChildren; }
5255
}
5356

5457
protected override IComparer<SharpTreeNode> NodeComparer {

0 commit comments

Comments
 (0)