|
Bugzilla – Full Text Bug Listing |
| Summary: | Document formatter doesn't work | ||
|---|---|---|---|
| Product: | [Mono] MonoDevelop | Reporter: | Bojan Rajkovic <brajkovic> |
| Component: | texteditor | Assignee: | Mike Krueger <mkrueger> |
| Status: | RESOLVED FIXED | QA Contact: | MD Bugs <monodevelop-bugs> |
| Severity: | Major | ||
| Priority: | P5 - None | CC: | kobi2187 |
| Version: | SVN | ||
| Target Milestone: | --- | ||
| Hardware: | x86-64 | ||
| OS: | Mac OS X 10.6 | ||
| Whiteboard: | |||
| Found By: | --- | Services Priority: | |
| Business Priority: | Blocker: | --- | |
| Marketing QA Status: | --- | IT Deployment: | --- |
| Attachments: |
Screenshot of the exception
File that causes failure File that causes failure The file in the screencast. Solution file with formatter settings. Solution file with formatter settings. |
||
I need the file where that has happened. It's some expression in that file causing this. Created attachment 414454 [details]
File that causes failure
It happens on every file in my solution, but here's one that you can use. When the formatter does work (once in a blue moon), it introduces a lot of broken whitespace.
Hmm, after updating master and rebuilding MonoDevelop, this bug seems to have gone away. Closing, will reopen if it happens again. Created attachment 414470 [details]
File that causes failure
Gah, got it again, this time on a slightly more complex, but still valid file.
Reopening due to re-discovered failure. Created attachment 414480 [details] The file in the screencast. Another file that fails, in a totally different way, and a screencast showing the failure: http://screencast.com/t/P4WTlNaopQ4 *** Bug 670213 has been marked as a duplicate of this bug. *** I think I was able to find something in the binary expressions. But this isn't easy to solve. For the other files I need your formatting settings since they format for me with the standard 'mono' settings. (the project file would help - or did you change the formatting settings in the 'policies' panel ?). *** Bug 658027 has been marked as a duplicate of this bug. *** Created attachment 414887 [details]
Solution file with formatter settings.
Attaching the solution file with the formatter settings, which are just based on the Mono set but with some minor changes.
Created attachment 414888 [details]
Solution file with formatter settings.
Attaching the solution file with the formatter settings, which are just based on the Mono set but with some minor changes.
|
Created attachment 414183 [details] Screenshot of the exception User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_6; en-US) AppleWebKit/534.13 (KHTML, like Gecko) Chrome/9.0.597.102 Safari/534.13 Trying to use the Document Formatter on Git master (built about 20 minutes ago) reliably reproduces the following exception: System.InvalidOperationException: Tried to remove non ws chars: '...' at:[DocumentLocation: Line=1, Column=1] at MonoDevelop.CSharp.Formatting.AstSpacingVisitor.AddChange (Int32 offset, Int32 removedChars, System.String insertedText) [0x00180] in /Users/bojanrajkovic/Projects/monodevelop/main/src/addins/CSharpBinding/MonoDevelop.CSharp.Formatting/AstSpacingVisitor.cs:333 at MonoDevelop.CSharp.Formatting.AstSpacingVisitor.ForceSpace (Int32 startOffset, Int32 endOffset, Boolean forceSpace) [0x00009] in /Users/bojanrajkovic/Projects/monodevelop/main/src/addins/CSharpBinding/MonoDevelop.CSharp.Formatting/AstSpacingVisitor.cs:365 at MonoDevelop.CSharp.Formatting.AstSpacingVisitor.ForceSpacesAfter (MonoDevelop.CSharp.Ast.AstNode n, Boolean forceSpaces) [0x0006f] in /Users/bojanrajkovic/Projects/monodevelop/main/src/addins/CSharpBinding/MonoDevelop.CSharp.Formatting/AstSpacingVisitor.cs:213 at MonoDevelop.CSharp.Formatting.AstSpacingVisitor.ForceSpacesAround (MonoDevelop.CSharp.Ast.AstNode node, Boolean forceSpaces) [0x0001f] in /Users/bojanrajkovic/Projects/monodevelop/main/src/addins/CSharpBinding/MonoDevelop.CSharp.Formatting/AstSpacingVisitor.cs:195 at MonoDevelop.CSharp.Formatting.AstSpacingVisitor.VisitBinaryOperatorExpression (MonoDevelop.CSharp.Ast.BinaryOperatorExpression binaryOperatorExpression, System.Object data) [0x000e8] in /Users/bojanrajkovic/Projects/monodevelop/main/src/addins/CSharpBinding/MonoDevelop.CSharp.Formatting/AstSpacingVisitor.cs:163 at MonoDevelop.CSharp.Ast.BinaryOperatorExpression.AcceptVisitor[Object,Object] (IAstVisitor`2 visitor, System.Object data) [0x00000] in /Users/bojanrajkovic/Projects/monodevelop/main/src/addins/CSharpBinding/MonoDevelop.CSharp.Ast/Expressions/BinaryOperatorExpression.cs:71 at MonoDevelop.CSharp.Formatting.AstSpacingVisitor.VisitVariableInitializer (MonoDevelop.CSharp.Ast.VariableInitializer variableInitializer, System.Object data) [0x00037] in /Users/bojanrajkovic/Projects/monodevelop/main/src/addins/CSharpBinding/MonoDevelop.CSharp.Formatting/AstSpacingVisitor.cs:445 at MonoDevelop.CSharp.Ast.VariableInitializer.AcceptVisitor[Object,Object] (IAstVisitor`2 visitor, System.Object data) [0x00000] in /Users/bojanrajkovic/Projects/monodevelop/main/src/addins/CSharpBinding/MonoDevelop.CSharp.Ast/TypeMembers/VariableInitializer.cs:57 at MonoDevelop.CSharp.Formatting.AstSpacingVisitor.VisitVariableDeclarationStatement (MonoDevelop.CSharp.Ast.VariableDeclarationStatement variableDeclarationStatement, System.Object data) [0x00018] in /Users/bojanrajkovic/Projects/monodevelop/main/src/addins/CSharpBinding/MonoDevelop.CSharp.Formatting/AstSpacingVisitor.cs:452 at MonoDevelop.CSharp.Ast.VariableDeclarationStatement.AcceptVisitor[Object,Object] (IAstVisitor`2 visitor, System.Object data) [0x00000] in /Users/bojanrajkovic/Projects/monodevelop/main/src/addins/CSharpBinding/MonoDevelop.CSharp.Ast/Statements/VariableDeclarationStatement.cs:58 at MonoDevelop.CSharp.Ast.DepthFirstAstVisitor`2[System.Object,System.Object].VisitChildren (MonoDevelop.CSharp.Ast.AstNode node, System.Object data) [0x00013] in /Users/bojanrajkovic/Projects/monodevelop/main/src/addins/CSharpBinding/MonoDevelop.CSharp.Ast/DepthFirstAstVisitor.cs:43 at MonoDevelop.CSharp.Ast.DepthFirstAstVisitor`2[System.Object,System.Object].VisitBlockStatement (MonoDevelop.CSharp.Ast.BlockStatement blockStatement, System.Object data) [0x00000] in /Users/bojanrajkovic/Projects/monodevelop/main/src/addins/CSharpBinding/MonoDevelop.CSharp.Ast/DepthFirstAstVisitor.cs:205 at MonoDevelop.CSharp.Formatting.AstSpacingVisitor.VisitBlockStatement (MonoDevelop.CSharp.Ast.BlockStatement blockStatement, System.Object data) [0x00000] in /Users/bojanrajkovic/Projects/monodevelop/main/src/addins/CSharpBinding/MonoDevelop.CSharp.Formatting/AstSpacingVisitor.cs:114 at MonoDevelop.CSharp.Ast.BlockStatement.AcceptVisitor[Object,Object] (IAstVisitor`2 visitor, System.Object data) [0x00000] in /Users/bojanrajkovic/Projects/monodevelop/main/src/addins/CSharpBinding/MonoDevelop.CSharp.Ast/Statements/BlockStatement.cs:70 at MonoDevelop.CSharp.Formatting.AstSpacingVisitor.VisitForStatement (MonoDevelop.CSharp.Ast.ForStatement forStatement, System.Object data) [0x000e1] in /Users/bojanrajkovic/Projects/monodevelop/main/src/addins/CSharpBinding/MonoDevelop.CSharp.Formatting/AstSpacingVisitor.cs:527 at MonoDevelop.CSharp.Ast.ForStatement.AcceptVisitor[Object,Object] (IAstVisitor`2 visitor, System.Object data) [0x00000] in /Users/bojanrajkovic/Projects/monodevelop/main/src/addins/CSharpBinding/MonoDevelop.CSharp.Ast/Statements/ForStatement.cs:78 at MonoDevelop.CSharp.Ast.DepthFirstAstVisitor`2[System.Object,System.Object].VisitChildren (MonoDevelop.CSharp.Ast.AstNode node, System.Object data) [0x00013] in /Users/bojanrajkovic/Projects/monodevelop/main/src/addins/CSharpBinding/MonoDevelop.CSharp.Ast/DepthFirstAstVisitor.cs:43 at MonoDevelop.CSharp.Ast.DepthFirstAstVisitor`2[System.Object,System.Object].VisitBlockStatement (MonoDevelop.CSharp.Ast.BlockStatement blockStatement, System.Object data) [0x00000] in /Users/bojanrajkovic/Projects/monodevelop/main/src/addins/CSharpBinding/MonoDevelop.CSharp.Ast/DepthFirstAstVisitor.cs:205 at MonoDevelop.CSharp.Formatting.AstSpacingVisitor.VisitBlockStatement (MonoDevelop.CSharp.Ast.BlockStatement blockStatement, System.Object data) [0x00000] in /Users/bojanrajkovic/Projects/monodevelop/main/src/addins/CSharpBinding/MonoDevelop.CSharp.Formatting/AstSpacingVisitor.cs:114 at MonoDevelop.CSharp.Ast.BlockStatement.AcceptVisitor[Object,Object] (IAstVisitor`2 visitor, System.Object data) [0x00000] in /Users/bojanrajkovic/Projects/monodevelop/main/src/addins/CSharpBinding/MonoDevelop.CSharp.Ast/Statements/BlockStatement.cs:70 at MonoDevelop.CSharp.Ast.DepthFirstAstVisitor`2[System.Object,System.Object].VisitChildren (MonoDevelop.CSharp.Ast.AstNode node, System.Object data) [0x00013] in /Users/bojanrajkovic/Projects/monodevelop/main/src/addins/CSharpBinding/MonoDevelop.CSharp.Ast/DepthFirstAstVisitor.cs:43 at MonoDevelop.CSharp.Ast.DepthFirstAstVisitor`2[System.Object,System.Object].VisitMethodDeclaration (MonoDevelop.CSharp.Ast.MethodDeclaration methodDeclaration, System.Object data) [0x00000] in /Users/bojanrajkovic/Projects/monodevelop/main/src/addins/CSharpBinding/MonoDevelop.CSharp.Ast/DepthFirstAstVisitor.cs:170 at MonoDevelop.CSharp.Formatting.AstSpacingVisitor.VisitMethodDeclaration (MonoDevelop.CSharp.Ast.MethodDeclaration methodDeclaration, System.Object data) [0x000a8] in /Users/bojanrajkovic/Projects/monodevelop/main/src/addins/CSharpBinding/MonoDevelop.CSharp.Formatting/AstSpacingVisitor.cs:284 at MonoDevelop.CSharp.Ast.MethodDeclaration.AcceptVisitor[Object,Object] (IAstVisitor`2 visitor, System.Object data) [0x00000] in /Users/bojanrajkovic/Projects/monodevelop/main/src/addins/CSharpBinding/MonoDevelop.CSharp.Ast/TypeMembers/MethodDeclaration.cs:71 at MonoDevelop.CSharp.Ast.DepthFirstAstVisitor`2[System.Object,System.Object].VisitChildren (MonoDevelop.CSharp.Ast.AstNode node, System.Object data) [0x00013] in /Users/bojanrajkovic/Projects/monodevelop/main/src/addins/CSharpBinding/MonoDevelop.CSharp.Ast/DepthFirstAstVisitor.cs:43 at MonoDevelop.CSharp.Ast.DepthFirstAstVisitor`2[System.Object,System.Object].VisitTypeDeclaration (MonoDevelop.CSharp.Ast.TypeDeclaration typeDeclaration, System.Object data) [0x00000] in /Users/bojanrajkovic/Projects/monodevelop/main/src/addins/CSharpBinding/MonoDevelop.CSharp.Ast/DepthFirstAstVisitor.cs:110 at MonoDevelop.CSharp.Formatting.AstSpacingVisitor.VisitTypeDeclaration (MonoDevelop.CSharp.Ast.TypeDeclaration typeDeclaration, System.Object data) [0x00000] in /Users/bojanrajkovic/Projects/monodevelop/main/src/addins/CSharpBinding/MonoDevelop.CSharp.Formatting/AstSpacingVisitor.cs:93 at MonoDevelop.CSharp.Ast.TypeDeclaration.AcceptVisitor[Object,Object] (IAstVisitor`2 visitor, System.Object data) [0x00000] in /Users/bojanrajkovic/Projects/monodevelop/main/src/addins/CSharpBinding/MonoDevelop.CSharp.Ast/GeneralScope/TypeDeclaration.cs:92 at MonoDevelop.CSharp.Ast.DepthFirstAstVisitor`2[System.Object,System.Object].VisitChildren (MonoDevelop.CSharp.Ast.AstNode node, System.Object data) [0x00013] in /Users/bojanrajkovic/Projects/monodevelop/main/src/addins/CSharpBinding/MonoDevelop.CSharp.Ast/DepthFirstAstVisitor.cs:43 at MonoDevelop.CSharp.Ast.DepthFirstAstVisitor`2[System.Object,System.Object].VisitNamespaceDeclaration (MonoDevelop.CSharp.Ast.NamespaceDeclaration namespaceDeclaration, System.Object data) [0x00000] in /Users/bojanrajkovic/Projects/monodevelop/main/src/addins/CSharpBinding/MonoDevelop.CSharp.Ast/DepthFirstAstVisitor.cs:105 at MonoDevelop.CSharp.Ast.NamespaceDeclaration.AcceptVisitor[Object,Object] (IAstVisitor`2 visitor, System.Object data) [0x00000] in /Users/bojanrajkovic/Projects/monodevelop/main/src/addins/CSharpBinding/MonoDevelop.CSharp.Ast/GeneralScope/NamespaceDeclaration.cs:103 at MonoDevelop.CSharp.Ast.DepthFirstAstVisitor`2[System.Object,System.Object].VisitChildren (MonoDevelop.CSharp.Ast.AstNode node, System.Object data) [0x00013] in /Users/bojanrajkovic/Projects/monodevelop/main/src/addins/CSharpBinding/MonoDevelop.CSharp.Ast/DepthFirstAstVisitor.cs:43 at MonoDevelop.CSharp.Ast.DepthFirstAstVisitor`2[System.Object,System.Object].VisitCompilationUnit (MonoDevelop.CSharp.Ast.CompilationUnit unit, System.Object data) [0x00000] in /Users/bojanrajkovic/Projects/monodevelop/main/src/addins/CSharpBinding/MonoDevelop.CSharp.Ast/DepthFirstAstVisitor.cs:50 at MonoDevelop.CSharp.Formatting.AstSpacingVisitor.VisitCompilationUnit (MonoDevelop.CSharp.Ast.CompilationUnit unit, System.Object data) [0x00000] in /Users/bojanrajkovic/Projects/monodevelop/main/src/addins/CSharpBinding/MonoDevelop.CSharp.Formatting/AstSpacingVisitor.cs:84 at MonoDevelop.CSharp.Ast.CompilationUnit.AcceptVisitor[Object,Object] (IAstVisitor`2 visitor, System.Object data) [0x00000] in /Users/bojanrajkovic/Projects/monodevelop/main/src/addins/CSharpBinding/MonoDevelop.CSharp.Ast/CompilationUnit.cs:101 at MonoDevelop.CSharp.Formatting.CSharpFormatter.FormatText (MonoDevelop.Projects.Policies.PolicyContainer policyParent, IEnumerable`1 mimeTypeChain, System.String input, Int32 startOffset, Int32 endOffset) [0x000e2] in /Users/bojanrajkovic/Projects/monodevelop/main/src/addins/CSharpBinding/MonoDevelop.CSharp.Formatting/CSharpFormatter.cs:214 at MonoDevelop.Ide.CodeFormatting.AbstractCodeFormatter.FormatText (MonoDevelop.Projects.Policies.PolicyContainer policyParent, IEnumerable`1 mimeTypeChain, System.String input) [0x0000d] in /Users/bojanrajkovic/Projects/monodevelop/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CodeFormatting/ICodeFormatter.cs:53 at MonoDevelop.Ide.CodeFormatting.CodeFormatter.FormatText (MonoDevelop.Projects.Policies.PolicyContainer policyParent, System.String input) [0x00000] in /Users/bojanrajkovic/Projects/monodevelop/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CodeFormatting/CodeFormatter.cs:49 at MonoDevelop.Ide.CodeFormatting.FormatBufferHandler.Run (System.Object tool) [0x00052] in /Users/bojanrajkovic/Projects/monodevelop/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CodeFormatting/CodeFormattingCommands.cs:64 at MonoDevelop.Components.Commands.CommandHandler.InternalRun (System.Object dataItem) [0x00000] in /Users/bojanrajkovic/Projects/monodevelop/main/src/core/MonoDevelop.Ide/MonoDevelop.Components.Commands/CommandHandler.cs:42 at MonoDevelop.Components.Commands.CommandManager.DefaultDispatchCommand (MonoDevelop.Components.Commands.ActionCommand cmd, MonoDevelop.Components.Commands.CommandInfo info, System.Object dataItem, System.Object target, CommandSource source) [0x00076] in /Users/bojanrajkovic/Projects/monodevelop/main/src/core/MonoDevelop.Ide/MonoDevelop.Components.Commands/CommandManager.cs:643 at MonoDevelop.Components.Commands.CommandManager.DispatchCommand (System.Object commandId, System.Object dataItem, System.Object initialTarget, CommandSource source) [0x002cb] in /Users/bojanrajkovic/Projects/monodevelop/main/src/core/MonoDevelop.Ide/MonoDevelop.Components.Commands/CommandManager.cs:613 The text in the ... block is always different, of course (depending on what the current file is). Reproducible: Always Steps to Reproduce: 1. Open document 2. Try to format document Actual Results: The above exception is raised. Expected Results: The document would come out formatted.