Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 343336

Summary: [compare] ClassCastException on opening compare editor for .xtext grammar
Product: [Modeling] TMF Reporter: Karsten Thoms <karsten.thoms>
Component: XtextAssignee: Project Inbox <tmf.xtext-inbox>
Status: CLOSED FIXED QA Contact:
Severity: normal    
Priority: P3 CC: clay, sebastian.zarnekow
Version: 2.0.0Flags: sebastian.zarnekow: indigo+
Target Milestone: M7   
Hardware: Macintosh   
OS: Mac OS X   
Whiteboard:
Attachments:
Description Flags
Screenshot
none
proposed patch pls verify none

Description Karsten Thoms CLA 2011-04-20 00:26:10 EDT
I am facing a ClassCastException under the following situation:
- .xtext grammar is under SVN version control
- changed grammar from base revision
- opening Compare With / Base from Working Copy

=>

java.lang.ClassCastException: org.eclipse.jface.text.Document cannot be cast to org.eclipse.xtext.ui.editor.model.XtextDocument
	at org.eclipse.xtext.ui.editor.syntaxcoloring.TokenScanner.getTokens(TokenScanner.java:134)
	at org.eclipse.xtext.ui.editor.syntaxcoloring.TokenScanner$RangedReentrantIterator.setRange(TokenScanner.java:94)
	at org.eclipse.xtext.ui.editor.syntaxcoloring.TokenScanner.setRange(TokenScanner.java:130)
	at org.eclipse.jface.text.rules.DefaultDamagerRepairer.createPresentation(DefaultDamagerRepairer.java:172)
	at org.eclipse.jface.text.presentation.PresentationReconciler.createPresentation(PresentationReconciler.java:453)
	at org.eclipse.jface.text.presentation.PresentationReconciler.processDamage(PresentationReconciler.java:566)
	at org.eclipse.jface.text.presentation.PresentationReconciler.access$3(PresentationReconciler.java:564)
	at org.eclipse.jface.text.presentation.PresentationReconciler$InternalListener.inputDocumentChanged(PresentationReconciler.java:119)
	at org.eclipse.jface.text.TextViewer.fireInputDocumentChanged(TextViewer.java:2888)
	at org.eclipse.jface.text.TextViewer.setDocument(TextViewer.java:2937)
	at org.eclipse.jface.text.source.SourceViewer.setDocument(SourceViewer.java:636)
	at org.eclipse.jface.text.source.projection.ProjectionViewer.setDocument(ProjectionViewer.java:376)
	at org.eclipse.jface.text.source.SourceViewer.setDocument(SourceViewer.java:570)
	at org.eclipse.compare.contentmergeviewer.TextMergeViewer$ContributorInfo.updateViewerDocument(TextMergeViewer.java:771)
	at org.eclipse.compare.contentmergeviewer.TextMergeViewer$ContributorInfo.internalSetDocument(TextMergeViewer.java:728)
	at org.eclipse.compare.contentmergeviewer.TextMergeViewer$ContributorInfo.setDocument(TextMergeViewer.java:646)
	at org.eclipse.compare.contentmergeviewer.TextMergeViewer.updateContent(TextMergeViewer.java:2837)
	at org.eclipse.xtext.ui.compare.DefaultMergeViewer.updateContent(DefaultMergeViewer.java:61)
	at org.eclipse.compare.contentmergeviewer.ContentMergeViewer.internalRefresh(ContentMergeViewer.java:743)
	at org.eclipse.compare.contentmergeviewer.ContentMergeViewer.inputChanged(ContentMergeViewer.java:643)
	at org.eclipse.jface.viewers.ContentViewer.setInput(ContentViewer.java:280)
	at org.eclipse.compare.CompareViewerSwitchingPane.setInput(CompareViewerSwitchingPane.java:277)
	at org.eclipse.compare.internal.CompareContentViewerSwitchingPane.setInput(CompareContentViewerSwitchingPane.java:158)
	at org.eclipse.compare.CompareEditorInput.internalSetContentPaneInput(CompareEditorInput.java:845)
	at org.eclipse.compare.CompareEditorInput.access$8(CompareEditorInput.java:843)
	at org.eclipse.compare.CompareEditorInput$11.run(CompareEditorInput.java:779)
	at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
	at org.eclipse.compare.CompareEditorInput.feed1(CompareEditorInput.java:773)
	at org.eclipse.compare.CompareEditorInput.feedInput(CompareEditorInput.java:751)
	at org.eclipse.compare.CompareEditorInput.createContents(CompareEditorInput.java:555)
	at org.eclipse.compare.internal.CompareEditor.createCompareControl(CompareEditor.java:462)
	at org.eclipse.compare.internal.CompareEditor.createPartControl(CompareEditor.java:414)
	at org.eclipse.ui.internal.EditorReference.createPartHelper(EditorReference.java:670)
Comment 1 Karsten Thoms CLA 2011-04-20 00:27:40 EDT
Created attachment 193647 [details]
Screenshot
Comment 2 Sebastian Zarnekow CLA 2011-04-20 02:02:57 EDT
Hi Karsten,

thanks for the bug report.
Which Eclipse Version do you use? Which Xtext build is installed?
Comment 3 Michael Clay CLA 2011-04-20 10:41:12 EDT
Created attachment 193707 [details]
proposed patch pls verify
Comment 4 Sebastian Zarnekow CLA 2011-04-20 10:43:42 EDT
Looks good to me. Please apply.

Would it be too much effort to provide a testcase, too?
Comment 5 Michael Clay CLA 2011-04-20 11:53:33 EDT
pushed to master
Comment 6 Karsten Thoms CLA 2017-09-19 18:08:12 EDT
Closing all bugs that were set to RESOLVED before Neon.0
Comment 7 Karsten Thoms CLA 2017-09-19 18:17:42 EDT
Closing all bugs that were set to RESOLVED before Neon.0