Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [incquery-dev] Xtext compatibility problem

Hi,

I have further experimented with this issue, and the situation is not too nice. There were some minor related issues I have fixed in master, and after I still found the original issues

1) When working with IncQuery from source, both Xtext 2.4 and 2.5 works as expected.
2) When installing IncQuery from one of the 0.8 update site (built with Xtext 2.4), installed together with Xtext 2.5, it mostly works (including editor and builder), but content assist is basically unusable. Sometimes no alternatives are shown, sometimes an exception is thrown, other times it works. It is hard to predict which state will come.
3) When installing IncQuery from the Xcore site (built with Xtext 2.5) in 2.5, everything works as expected.

I do not have the time now to also test the Xcore site with Xtext 2.4, can I ask someone to do it? The following URL can be used to install IncQuery: https://hudson.eclipse.org/incquery/job/incquery-xcore/lastSuccessfulBuild/artifact/update-site-extra/

Cheers,
Zoli
-- Zoltán Ujhelyi
https://www.inf.mit.bme.hu/en/members/ujhelyiz

Fault Tolerant Systems Research Group
Budapest University of Technology and Economics

On 2014.04.11., at 11:06, Ujhelyi Zoltán <ujhelyiz@xxxxxxxxxx> wrote:

> Hi,
> 
> ignore the conclusions about compatibility; the same issue was reproducible over Xtext 2.5-built IncQuery instance as well. However, I don't know exactly what caused this issue, but it came while asking for content assist inside check expressions (I don't know whether any other conditions are required for this bug).
> 
> Cheers,
> Zoli
> -- Zoltán Ujhelyi
> https://www.inf.mit.bme.hu/en/members/ujhelyiz
> 
> Fault Tolerant Systems Research Group
> Budapest University of Technology and Economics
> 
> On 2014.04.10., at 19:14, Ujhelyi Zoltán <ujhelyiz@xxxxxxxxxx> wrote:
> 
>> Hi,
>> 
>> today I have seen a strange classcastexception from the internals of XbaseGrammarAccess (see the end of the mail for the concrete trace), that caused the entire code generator stop working.
>> 
>> After some evaluation, I realized the issue was that I used Xtext 2.5 with the latest installable version (compiled with Xtext 2.4). As an experiment, I have replaced the installed IncQuery version with the one compiled by the job https://hudson.eclipse.org/incquery/job/incquery-xcore/ (with Xtext 2.5), and this issue went away.
>> 
>> Alltogether, this means, we have source compatibility between Xtext 2.4 and 2.5 (IncQuery work fine with both), but needs to be compiled with the corresponding Xtext version. This does not mean we have to change our support plans (we can compile both versions automatically), just something we should be very careful about.
>> 
>> Cheers,
>> Zoli
>> -- Zoltán Ujhelyi
>> https://www.inf.mit.bme.hu/en/members/ujhelyiz
>> 
>> Fault Tolerant Systems Research Group
>> Budapest University of Technology and Economics
>> 
>> 
>> Caused by: java.lang.ClassCastException: org.eclipse.xtext.impl.AlternativesImpl cannot be cast to org.eclipse.xtext.Group
>> 	at org.eclipse.xtext.xbase.services.XtypeGrammarAccess$JvmTypeParameterElements.<init>(XtypeGrammarAccess.java:344)
>> 	at org.eclipse.xtext.xbase.services.XtypeGrammarAccess.getJvmTypeParameterAccess(XtypeGrammarAccess.java:694)
>> 	at org.eclipse.xtext.xbase.services.XbaseGrammarAccess.getJvmTypeParameterAccess(XbaseGrammarAccess.java:3804)
>> 	at org.eclipse.incquery.patternlanguage.services.PatternLanguageGrammarAccess.getJvmTypeParameterAccess(PatternLanguageGrammarAccess.java:2563)
>> 	at org.eclipse.incquery.patternlanguage.emf.services.EMFPatternLanguageGrammarAccess.getJvmTypeParameterAccess(EMFPatternLanguageGrammarAccess.java:1659)
>> 	at org.eclipse.incquery.patternlanguage.emf.ui.contentassist.antlr.EMFPatternLanguageParser$1.<init>(EMFPatternLanguageParser.java:82)
>> 	at org.eclipse.incquery.patternlanguage.emf.ui.contentassist.antlr.EMFPatternLanguageParser.getRuleName(EMFPatternLanguageParser.java:37)
>> 	at org.eclipse.xtext.ui.editor.contentassist.antlr.AbstractContentAssistParser.getFollowElements(AbstractContentAssistParser.java:67)
>> 	at org.eclipse.xtext.ui.editor.contentassist.antlr.ParserBasedContentAssistContextFactory$StatefulFactory.computeFollowElements(ParserBasedContentAssistContextFactory.java:463)
>> 	at org.eclipse.xtext.ui.editor.contentassist.antlr.ParserBasedContentAssistContextFactory$StatefulFactory.computeFollowElements(ParserBasedContentAssistContextFactory.java:401)
>> 	at org.eclipse.xtext.ui.editor.contentassist.antlr.ParserBasedContentAssistContextFactory$StatefulFactory.computeFollowElements(ParserBasedContentAssistContextFactory.java:395)
>> 	at org.eclipse.xtext.ui.editor.contentassist.antlr.ParserBasedContentAssistContextFactory$StatefulFactory.doCreateContexts(ParserBasedContentAssistContextFactory.java:345)
>> 	at org.eclipse.xtext.ui.editor.contentassist.antlr.ParserBasedContentAssistContextFactory$StatefulFactory.createContextsForLastCompleteNode(ParserBasedContentAssistContextFactory.java:325)
>> 	at org.eclipse.xtext.ui.editor.contentassist.antlr.ParserBasedContentAssistContextFactory$StatefulFactory.handleLastCompleteNodeIsPartOfLookahead(ParserBasedContentAssistContextFactory.java:259)
>> 	at org.eclipse.xtext.ui.editor.contentassist.antlr.ParserBasedContentAssistContextFactory$StatefulFactory.doCreateContexts(ParserBasedContentAssistContextFactory.java:225)
>> 	at org.eclipse.xtext.ui.editor.contentassist.antlr.ParserBasedContentAssistContextFactory$StatefulFactory.create(ParserBasedContentAssistContextFactory.java:200)
>> 	at org.eclipse.xtext.ui.editor.contentassist.antlr.ParserBasedContentAssistContextFactory.create(ParserBasedContentAssistContextFactory.java:644)
>> 	at org.eclipse.xtext.ui.editor.contentassist.CompletionProposalComputer.exec(CompletionProposalComputer.java:48)
>> 	at org.eclipse.xtext.ui.editor.contentassist.CompletionProposalComputer.exec(CompletionProposalComputer.java:1)
>> 	at org.eclipse.xtext.util.concurrent.AbstractReadWriteAcces.readOnly(AbstractReadWriteAcces.java:62)
>> 	at org.eclipse.xtext.ui.editor.model.XtextDocument$XtextDocumentLocker.readOnly(XtextDocument.java:243)
>> 	at org.eclipse.xtext.ui.editor.model.XtextDocument.readOnly(XtextDocument.java:84)
>> 	at org.eclipse.xtext.ui.editor.contentassist.XtextContentAssistProcessor.computeCompletionProposals(XtextContentAssistProcessor.java:68)
>> 	at org.eclipse.xtext.ui.editor.contentassist.RepeatedContentAssistProcessor.computeCompletionProposals(RepeatedContentAssistProcessor.java:75)
>> 	at org.eclipse.jface.text.contentassist.ContentAssistant.computeCompletionProposals(ContentAssistant.java:1839)
>> 	at org.eclipse.jface.text.contentassist.CompletionProposalPopup.computeProposals(CompletionProposalPopup.java:566)
>> 	at org.eclipse.jface.text.contentassist.CompletionProposalPopup.access$16(CompletionProposalPopup.java:563)
>> 	at org.eclipse.jface.text.contentassist.CompletionProposalPopup$2.run(CompletionProposalPopup.java:498)
>> 	at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
>> 	at org.eclipse.jface.text.contentassist.CompletionProposalPopup.showProposals(CompletionProposalPopup.java:492)
>> 	at org.eclipse.jface.text.contentassist.ContentAssistant$2.run(ContentAssistant.java:378)
>> 	at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
>> 	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135)
>> _______________________________________________
>> incquery-dev mailing list
>> incquery-dev@xxxxxxxxxxx
>> https://dev.eclipse.org/mailman/listinfo/incquery-dev
> 
> _______________________________________________
> incquery-dev mailing list
> incquery-dev@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/incquery-dev



Back to the top