Browse Source

Adjust SharpDevelop to NRefactory changes.

pull/32/merge
Daniel Grunwald 12 years ago
parent
commit
01d63f17b9
  1. 5
      samples/PortSD4AddInToSD5/WorkbenchSingletonIssueProvider.cs
  2. 23
      src/AddIns/BackendBindings/CSharpBinding/Project/CSharpBinding.addin
  3. 7
      src/AddIns/BackendBindings/CSharpBinding/Project/Src/Completion/CSharpCompletionDataFactory.cs
  4. 2
      src/AddIns/BackendBindings/CSharpBinding/Project/Src/Completion/ImportCompletionData.cs
  5. 2
      src/AddIns/BackendBindings/CSharpBinding/Project/Src/Completion/OverrideCompletionData.cs
  6. 11
      src/AddIns/BackendBindings/CSharpBinding/Project/Src/FormattingStrategy/CSharpFormatter.cs

5
samples/PortSD4AddInToSD5/WorkbenchSingletonIssueProvider.cs

@ -135,7 +135,8 @@ namespace PortSD4AddInToSD5 @@ -135,7 +135,8 @@ namespace PortSD4AddInToSD5
var newInvocation = (InvocationExpression)invocationExpression.Clone();
((MemberReferenceExpression)newInvocation.Target).MemberName = "InvokeAsyncAndForget";
script.Replace(invocationExpression.Parent.Parent, newInvocation);
}));
},
ident));
}
break;
}
@ -145,7 +146,7 @@ namespace PortSD4AddInToSD5 @@ -145,7 +146,7 @@ namespace PortSD4AddInToSD5
CodeIssue Issue(AstNode node, Action<Script> fix = null)
{
return new CodeIssue("WorkbenchSingleton is obsolete", node.StartLocation, node.EndLocation,
fix != null ? new CodeAction("Use SD5 API", fix) : null);
fix != null ? new CodeAction("Use SD5 API", fix, node) : null);
}
}
}

23
src/AddIns/BackendBindings/CSharpBinding/Project/CSharpBinding.addin

@ -139,8 +139,8 @@ @@ -139,8 +139,8 @@
</Path>
<Path path = "/SharpDevelop/ViewContent/TextEditor/C#/IssueProviders">
<!--<Class class = "ICSharpCode.NRefactory.CSharp.Refactoring.AccessToDisposedClosureIssue" />
<Class class = "ICSharpCode.NRefactory.CSharp.Refactoring.AccessToModifiedClosureIssue" />-->
<Class class = "CSharpBinding.Refactoring.CSharpSyntaxIssue" />
<Class class = "CSharpBinding.Refactoring.SDRedundantUsingIssue" />
<Class class = "ICSharpCode.NRefactory.CSharp.Refactoring.AssignmentMadeToSameVariableIssue" />
<Class class = "ICSharpCode.NRefactory.CSharp.Refactoring.BitwiseOperationOnNonFlagsEnumIssue" />
<Class class = "ICSharpCode.NRefactory.CSharp.Refactoring.CallToObjectEqualsViaBaseIssue" />
@ -152,10 +152,13 @@ @@ -152,10 +152,13 @@
<Class class = "ICSharpCode.NRefactory.CSharp.Refactoring.ConstantConditionIssue" />
<Class class = "ICSharpCode.NRefactory.CSharp.Refactoring.CS0127ReturnMustNotBeFollowedByAnyExpression" />
<Class class = "ICSharpCode.NRefactory.CSharp.Refactoring.DoubleNegationIssue" />
<Class class = "ICSharpCode.NRefactory.CSharp.Refactoring.DuplicateExpressionsInConditionsIssue" />
<Class class = "ICSharpCode.NRefactory.CSharp.Refactoring.DuplicateIfInIfChainIssue" />
<Class class = "ICSharpCode.NRefactory.CSharp.Refactoring.ExceptionRethrowIssue" />
<Class class = "ICSharpCode.NRefactory.CSharp.Refactoring.ExplicitConversionInForEachIssue" />
<Class class = "ICSharpCode.NRefactory.CSharp.Refactoring.ExpressionIsAlwaysOfProvidedTypeIssue" />
<Class class = "ICSharpCode.NRefactory.CSharp.Refactoring.ExpressionIsNeverOfProvidedTypeIssue" />
<Class class = "ICSharpCode.NRefactory.CSharp.Refactoring.ExpressionOfCompatibleTypeCastIssue" />
<Class class = "ICSharpCode.NRefactory.CSharp.Refactoring.ForControlVariableNotModifiedIssue" />
<Class class = "ICSharpCode.NRefactory.CSharp.Refactoring.FormatStringIssue" />
<Class class = "ICSharpCode.NRefactory.CSharp.Refactoring.IdenticalConditionalBranchIssue" />
@ -167,44 +170,48 @@ @@ -167,44 +170,48 @@
<Class class = "ICSharpCode.NRefactory.CSharp.Refactoring.MethodNeverReturnsIssue" />
<Class class = "ICSharpCode.NRefactory.CSharp.Refactoring.MethodOverloadHidesOptionalParameterIssue" />
<Class class = "ICSharpCode.NRefactory.CSharp.Refactoring.MissingStringComparisonIssue" />
<!--<Class class = "ICSharpCode.NRefactory.CSharp.Refactoring.MultipleEnumerationIssue" />-->
<Class class = "ICSharpCode.NRefactory.CSharp.Refactoring.NegativeRelationalExpressionIssue" />
<Class class = "ICSharpCode.NRefactory.CSharp.Refactoring.NoDefaultConstructorIssue" />
<Class class = "ICSharpCode.NRefactory.CSharp.Refactoring.NotImplementedExceptionIssue" />
<Class class = "ICSharpCode.NRefactory.CSharp.Refactoring.OptionalParameterCouldBeSkippedIssue" />
<Class class = "ICSharpCode.NRefactory.CSharp.Refactoring.ParameterCanBeDemotedIssue" />
<Class class = "ICSharpCode.NRefactory.CSharp.Refactoring.ParameterHidesMemberIssue" />
<Class class = "ICSharpCode.NRefactory.CSharp.Refactoring.ParameterNotUsedIssue" />
<Class class = "ICSharpCode.NRefactory.CSharp.Refactoring.ParameterOnlyAssignedIssue" />
<Class class = "ICSharpCode.NRefactory.CSharp.Refactoring.PublicConstructorInAbstractClassIssue" />
<Class class = "ICSharpCode.NRefactory.CSharp.Refactoring.RedundantArrayInitializerCommaIssue" />
<!--<Class class = "ICSharpCode.NRefactory.CSharp.Refactoring.RedundantAssignmentIssue" />-->
<Class class = "ICSharpCode.NRefactory.CSharp.Refactoring.RedundantAttributeParenthesesIssue" />
<Class class = "ICSharpCode.NRefactory.CSharp.Refactoring.RedundantBaseConstructorIssue" />
<Class class = "ICSharpCode.NRefactory.CSharp.Refactoring.RedundantCaseLabelIssue" />
<Class class = "ICSharpCode.NRefactory.CSharp.Refactoring.RedundantCatchIssue" />
<Class class = "ICSharpCode.NRefactory.CSharp.Refactoring.RedundantConstructorIssue" />
<Class class = "ICSharpCode.NRefactory.CSharp.Refactoring.RedundantElseIssue" />
<Class class = "ICSharpCode.NRefactory.CSharp.Refactoring.RedundantFieldInitializerIssue" />
<Class class = "ICSharpCode.NRefactory.CSharp.Refactoring.RedundantInternalIssue" />
<Class class = "ICSharpCode.NRefactory.CSharp.Refactoring.RedundantNamespaceUsageIssue" />
<Class class = "ICSharpCode.NRefactory.CSharp.Refactoring.RedundantNullCheckIssue" />
<Class class = "ICSharpCode.NRefactory.CSharp.Refactoring.RedundantObjectCreationArgumentListIssue" />
<Class class = "ICSharpCode.NRefactory.CSharp.Refactoring.RedundantObjectOrCollectionInitializerIssue" />
<Class class = "ICSharpCode.NRefactory.CSharp.Refactoring.RedundantPrivateIssue" />
<Class class = "ICSharpCode.NRefactory.CSharp.Refactoring.RedundantThisIssue" />
<Class class = "ICSharpCode.NRefactory.CSharp.Refactoring.RedundantToStringIssue" />
<Class class = "ICSharpCode.NRefactory.CSharp.Refactoring.RedundantTypeCastIssue" />
<Class class = "CSharpBinding.Refactoring.SDRedundantUsingIssue" />
<Class class = "ICSharpCode.NRefactory.CSharp.Refactoring.RedundantWhereWithPredicateIssue" />
<Class class = "ICSharpCode.NRefactory.CSharp.Refactoring.ReferenceEqualsCalledWithValueTypeIssue" />
<Class class = "ICSharpCode.NRefactory.CSharp.Refactoring.ReferenceToStaticMemberViaDerivedTypeIssue" />
<Class class = "ICSharpCode.NRefactory.CSharp.Refactoring.ResultOfAsyncCallShouldNotBeIgnoredIssue" />
<Class class = "ICSharpCode.NRefactory.CSharp.Refactoring.SimplifyAnonymousMethodToDelegateIssue" />
<Class class = "ICSharpCode.NRefactory.CSharp.Refactoring.StaticConstructorAccessModifierIssue" />
<Class class = "ICSharpCode.NRefactory.CSharp.Refactoring.StaticConstructorParameterIssue" />
<Class class = "ICSharpCode.NRefactory.CSharp.Refactoring.StaticFieldInGenericTypeIssue" />
<Class class = "ICSharpCode.NRefactory.CSharp.Refactoring.StringIsNullOrEmptyIssue" />
<Class class = "ICSharpCode.NRefactory.CSharp.Refactoring.ThreadStaticOnInstanceFieldIssue" />
<Class class = "ICSharpCode.NRefactory.CSharp.Refactoring.TypeParameterNotUsedIssue" />
<Class class = "ICSharpCode.NRefactory.CSharp.Refactoring.UnreachableCodeIssue" />
<Class class = "ICSharpCode.NRefactory.CSharp.Refactoring.UseBlockInsteadColonIssue" />
<Class class = "ICSharpCode.NRefactory.CSharp.Refactoring.UseVarKeywordIssue" />
<Class class = "ICSharpCode.NRefactory.CSharp.Refactoring.ValueParameterUnusedIssue" />
<Class class = "ICSharpCode.NRefactory.CSharp.Refactoring.VariableDeclaredInWideScopeIssue" />
<Class class = "CSharpBinding.Refactoring.CSharpSyntaxIssue" />
</Path>
<Path path = "/SharpDevelop/ViewContent/TextEditor/C#/ContextActions">
@ -232,6 +239,7 @@ @@ -232,6 +239,7 @@
<CSharpCodeActionProvider class = "ICSharpCode.NRefactory.CSharp.Refactoring.ConvertSwitchToIfAction" />
<CSharpCodeActionProvider class = "ICSharpCode.NRefactory.CSharp.Refactoring.ConvertToInitializerAction" />
<CSharpCodeActionProvider class = "ICSharpCode.NRefactory.CSharp.Refactoring.CreateBackingStoreAction" />
<CSharpCodeActionProvider class = "ICSharpCode.NRefactory.CSharp.Refactoring.CreateChangedEvent" />
<CSharpCodeActionProvider class = "ICSharpCode.NRefactory.CSharp.Refactoring.CreateClassDeclarationAction" />
<CSharpCodeActionProvider class = "ICSharpCode.NRefactory.CSharp.Refactoring.CreateConstructorDeclarationAction" />
<CSharpCodeActionProvider class = "ICSharpCode.NRefactory.CSharp.Refactoring.CreateCustomEventImplementationAction" />
@ -261,6 +269,7 @@ @@ -261,6 +269,7 @@
<CSharpCodeActionProvider class = "ICSharpCode.NRefactory.CSharp.Refactoring.IntroduceConstantAction" />
<CSharpCodeActionProvider class = "ICSharpCode.NRefactory.CSharp.Refactoring.IntroduceFormatItemAction" />
<CSharpCodeActionProvider class = "ICSharpCode.NRefactory.CSharp.Refactoring.InvertIfAction" />
<CSharpCodeActionProvider class = "ICSharpCode.NRefactory.CSharp.Refactoring.InvertIfAndSimplify" />
<CSharpCodeActionProvider class = "ICSharpCode.NRefactory.CSharp.Refactoring.IterateViaForeachAction" />
<CSharpCodeActionProvider class = "ICSharpCode.NRefactory.CSharp.Refactoring.JoinDeclarationAndAssignmentAction" />
<CSharpCodeActionProvider class = "ICSharpCode.NRefactory.CSharp.Refactoring.JoinStringAction" />
@ -273,6 +282,8 @@ @@ -273,6 +282,8 @@
<CSharpCodeActionProvider class = "ICSharpCode.NRefactory.CSharp.Refactoring.RemoveRedundantCatchTypeAction" />
<CSharpCodeActionProvider class = "ICSharpCode.NRefactory.CSharp.Refactoring.RemoveRegionAction" />
<CSharpCodeActionProvider class = "ICSharpCode.NRefactory.CSharp.Refactoring.ReplaceEmptyStringAction" />
<CSharpCodeActionProvider class = "ICSharpCode.NRefactory.CSharp.Refactoring.SimplifyIfFlowAction" />
<CSharpCodeActionProvider class = "ICSharpCode.NRefactory.CSharp.Refactoring.SimplifyIfInLoopsFlowAction" />
<CSharpCodeActionProvider class = "ICSharpCode.NRefactory.CSharp.Refactoring.SortUsingsAction" />
<CSharpCodeActionProvider class = "ICSharpCode.NRefactory.CSharp.Refactoring.SplitDeclarationAndAssignmentAction" />
<CSharpCodeActionProvider class = "ICSharpCode.NRefactory.CSharp.Refactoring.SplitDeclarationListAction" />

7
src/AddIns/BackendBindings/CSharpBinding/Project/Src/Completion/CSharpCompletionDataFactory.cs

@ -153,7 +153,12 @@ namespace CSharpBinding.Completion @@ -153,7 +153,12 @@ namespace CSharpBinding.Completion
{
return CreateMethodDataProvider(startOffset, accessibleIndexers);
}
IParameterDataProvider IParameterCompletionDataFactory.CreateTypeParameterDataProvider(int startOffset, IEnumerable<IMethod> methods)
{
return null;
}
IParameterDataProvider IParameterCompletionDataFactory.CreateTypeParameterDataProvider(int startOffset, IEnumerable<IType> types)
{
return null;

2
src/AddIns/BackendBindings/CSharpBinding/Project/Src/Completion/ImportCompletionData.cs

@ -30,7 +30,7 @@ namespace CSharpBinding.Completion @@ -30,7 +30,7 @@ namespace CSharpBinding.Completion
this.Description = "using " + typeDef.Namespace + ";";
if (useFullName) {
var astBuilder = new TypeSystemAstBuilder(new CSharpResolver(contextAtCaret));
insertionText = astBuilder.ConvertType(typeDef).GetText();
insertionText = astBuilder.ConvertType(typeDef).ToString();
} else {
insertionText = typeDef.Name;
insertUsing = typeDef.Namespace;

2
src/AddIns/BackendBindings/CSharpBinding/Project/Src/Completion/OverrideCompletionData.cs

@ -93,7 +93,7 @@ namespace CSharpBinding.Completion @@ -93,7 +93,7 @@ namespace CSharpBinding.Completion
var segment = segmentDict[throwStatement];
context.Editor.Select(declarationBegin + segment.Offset, segment.Length);
}
CSharpFormatter.Format(context.Editor, declarationBegin, newText.Length, formattingOptions);
CSharpFormatterHelper.Format(context.Editor, declarationBegin, newText.Length, formattingOptions);
}
}

11
src/AddIns/BackendBindings/CSharpBinding/Project/Src/FormattingStrategy/CSharpFormatter.cs

@ -9,18 +9,17 @@ using ICSharpCode.SharpDevelop.Editor; @@ -9,18 +9,17 @@ using ICSharpCode.SharpDevelop.Editor;
namespace CSharpBinding.FormattingStrategy
{
public class CSharpFormatter
public class CSharpFormatterHelper
{
/// <summary>
/// Formats the specified part of the document.
/// </summary>
public static void Format(ITextEditor editor, int offset, int length, CSharpFormattingOptions options)
{
var syntaxTree = new CSharpParser().Parse(editor.Document);
var fv = new AstFormattingVisitor(options, editor.Document, editor.ToEditorOptions());
fv.AddFormattingRegion(new DomRegion(editor.Document.GetLocation(offset), editor.Document.GetLocation(offset + length)));
syntaxTree.AcceptVisitor(fv);
fv.ApplyChanges(offset, length);
var formatter = new CSharpFormatter(options, editor.ToEditorOptions());
formatter.AddFormattingRegion(new DomRegion(editor.Document.GetLocation(offset), editor.Document.GetLocation(offset + length)));
var changes = formatter.AnalyzeFormatting(editor.Document, SyntaxTree.Parse(editor.Document));
changes.ApplyChanges(offset, length);
}
}
}

Loading…
Cancel
Save