elte-soft / txtuml Goto Github PK
View Code? Open in Web Editor NEWTextual, eXecutable, Translatable UML
Home Page: http://txtuml.inf.elte.hu
License: Eclipse Public License 1.0
Textual, eXecutable, Translatable UML
Home Page: http://txtuml.inf.elte.hu
License: Eclipse Public License 1.0
When trying to compile the following lines of code in an effect:
int y = 3;
int x = y + 1;
Where numForward
is an attribute in the current class. However it is also produced when local variables are used.
state final;
is a perfect state declaration in XtxtUML, but the generated code is bogus:
public class final extends StateMachine.State {}
The wizard to create a new txtUML project allows illegal project names. These result in errors upon the creation of the project.
Description Resource Path Location Type
Bundle symbolic name contains illegal characters. Legal characters are A-Z a-z 0-9 . _ - MANIFEST.MF /proba a/META-INF line 1 Plug-in Problem
Please review the export.uml2.tests and export.uml2.tests.models projects and update them according to the recent changes that were made to the model exportation. These changes affected even the expected output so some tests might have become out-of-date.
The following code:
model ErrorReportingModel {
class A {
state A1 {
entry {
send new S() to this;
}
}
}
signal S;
}
Gives the error message
Type mismatch: cannot convert the expression to Class
When a reconcile happens, the JtxtUML validation rules are checked for the whole file instead of the fragment modified.
Operators like prefix and postfix ++
, and assignment operators like +=
should be supported.
If this is used to handle dependencies a classpath container should be defined.
Collection<PerformanceTestModel.A> a = this->PerformanceTestModel.AB.a;
This instruction produces the following error:
Type mismatch: cannot convert from Collection<PerformanceTestModel.A> to Collection<PerformanceTestModel.A>
Maybe a java type should not be used that way, but then what is the suggested method to deal with collection types?
For more information, see https://eclipse.org/Xtext/documentation/304_ide_concepts.html#templates.
The edited code (in class A
):
private void createChild() {
PerformanceTestModel.B b = new PerformanceTestModel.B();
b.
}
Tried to autocomplete after b.
424032 [Worker-10] ERROR org.eclipse.xtext.xbase.jvmmodel.JvmModelAssociator - Error calling inferrer
java.lang.IllegalArgumentException: Unhandled parameter types: [hu.elte.txtuml.xtxtuml.xtxtUML.impl.TUAttributeOrOperationDeclarationPrefixImpl@16c2cfd (visibility: package)]
at hu.elte.txtuml.xtxtuml.jvmmodel.XtxtUMLJvmModelInferrer.toJvmMember(XtxtUMLJvmModelInferrer.java:674)
at hu.elte.txtuml.xtxtuml.jvmmodel.XtxtUMLJvmModelInferrer.lambda$3(XtxtUMLJvmModelInferrer.java:215)
at hu.elte.txtuml.xtxtuml.jvmmodel.XtxtUMLJvmModelInferrer$$Lambda$2/464733325.apply(Unknown Source)
at org.eclipse.xtext.xbase.jvmmodel.JvmModelAssociator$1.run(JvmModelAssociator.java:397)
at org.eclipse.xtext.xbase.jvmmodel.JvmModelAssociator.installDerivedState(JvmModelAssociator.java:407)
at org.eclipse.xtext.resource.DerivedStateAwareResource.installDerivedState(DerivedStateAwareResource.java:240)
at org.eclipse.xtext.xbase.resource.BatchLinkableResource.getContents(BatchLinkableResource.java:148)
at org.eclipse.xtext.xbase.typesystem.internal.LogicalContainerAwareBatchTypeResolver.getEntryPoints(LogicalContainerAwareBatchTypeResolver.java:44)
at org.eclipse.xtext.xbase.typesystem.internal.DefaultBatchTypeResolver.getTypeResolver(DefaultBatchTypeResolver.java:63)
at org.eclipse.xtext.xbase.typesystem.internal.CachingBatchTypeResolver$1.get(CachingBatchTypeResolver.java:49)
at org.eclipse.xtext.xbase.typesystem.internal.CachingBatchTypeResolver$1.get(CachingBatchTypeResolver.java:1)
at org.eclipse.xtext.util.OnChangeEvictingCache.get(OnChangeEvictingCache.java:77)
at org.eclipse.xtext.xbase.typesystem.internal.CachingBatchTypeResolver.doResolveTypes(CachingBatchTypeResolver.java:46)
at org.eclipse.xtext.xbase.typesystem.internal.AbstractBatchTypeResolver.resolveTypes(AbstractBatchTypeResolver.java:69)
at org.eclipse.xtext.xbase.resource.BatchLinkingService.resolveBatched(BatchLinkingService.java:71)
at org.eclipse.xtext.xbase.resource.BatchLinkableResource.resolveLazyCrossReferences(BatchLinkableResource.java:165)
at org.eclipse.xtext.EcoreUtil2.resolveLazyCrossReferences(EcoreUtil2.java:528)
at org.eclipse.xtext.ui.editor.reconciler.XtextDocumentReconcileStrategy.postParse(XtextDocumentReconcileStrategy.java:175)
at org.eclipse.xtext.ui.editor.reconciler.XtextDocumentReconcileStrategy.doReconcile(XtextDocumentReconcileStrategy.java:153)
at org.eclipse.xtext.ui.editor.reconciler.XtextDocumentReconcileStrategy.reconcile(XtextDocumentReconcileStrategy.java:67)
at org.eclipse.xtext.ui.editor.reconciler.XtextReconciler.doRun(XtextReconciler.java:442)
at org.eclipse.xtext.ui.editor.reconciler.XtextReconciler.access$3(XtextReconciler.java:422)
at org.eclipse.xtext.ui.editor.reconciler.XtextReconciler$1.process(XtextReconciler.java:363)
at org.eclipse.xtext.ui.editor.reconciler.XtextReconciler$1.process(XtextReconciler.java:1)
at org.eclipse.xtext.util.concurrent.IUnitOfWork$Void.exec(IUnitOfWork.java:37)
at org.eclipse.xtext.resource.OutdatedStateManager.exec(OutdatedStateManager.java:121)
at org.eclipse.xtext.ui.editor.model.XtextDocument$XtextDocumentLocker.modify(XtextDocument.java:428)
at org.eclipse.xtext.ui.editor.model.XtextDocument.internalModify(XtextDocument.java:162)
at org.eclipse.xtext.ui.editor.reconciler.XtextReconciler.run(XtextReconciler.java:360)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
426593 [main] ERROR org.eclipse.xtext.xbase.jvmmodel.JvmModelAssociator - Error calling inferrer
java.lang.IllegalArgumentException: Unhandled parameter types: [hu.elte.txtuml.xtxtuml.xtxtUML.impl.TUAttributeOrOperationDeclarationPrefixImpl@15b12bc5 (visibility: package)]
at hu.elte.txtuml.xtxtuml.jvmmodel.XtxtUMLJvmModelInferrer.toJvmMember(XtxtUMLJvmModelInferrer.java:674)
at hu.elte.txtuml.xtxtuml.jvmmodel.XtxtUMLJvmModelInferrer.lambda$3(XtxtUMLJvmModelInferrer.java:215)
at hu.elte.txtuml.xtxtuml.jvmmodel.XtxtUMLJvmModelInferrer$$Lambda$2/464733325.apply(Unknown Source)
at org.eclipse.xtext.xbase.jvmmodel.JvmModelAssociator$1.run(JvmModelAssociator.java:397)
at org.eclipse.xtext.xbase.jvmmodel.JvmModelAssociator.installDerivedState(JvmModelAssociator.java:407)
at org.eclipse.xtext.resource.DerivedStateAwareResource.installDerivedState(DerivedStateAwareResource.java:240)
at org.eclipse.xtext.xbase.resource.BatchLinkableResource.getContents(BatchLinkableResource.java:148)
at org.eclipse.xtext.xbase.typesystem.internal.LogicalContainerAwareBatchTypeResolver.getEntryPoints(LogicalContainerAwareBatchTypeResolver.java:44)
at org.eclipse.xtext.xbase.typesystem.internal.DefaultBatchTypeResolver.getTypeResolver(DefaultBatchTypeResolver.java:63)
at org.eclipse.xtext.xbase.typesystem.internal.CachingBatchTypeResolver$1.get(CachingBatchTypeResolver.java:49)
at org.eclipse.xtext.xbase.typesystem.internal.CachingBatchTypeResolver$1.get(CachingBatchTypeResolver.java:1)
at org.eclipse.xtext.util.OnChangeEvictingCache.get(OnChangeEvictingCache.java:77)
at org.eclipse.xtext.xbase.typesystem.internal.CachingBatchTypeResolver.doResolveTypes(CachingBatchTypeResolver.java:46)
at org.eclipse.xtext.xbase.typesystem.internal.AbstractBatchTypeResolver.resolveTypes(AbstractBatchTypeResolver.java:69)
at org.eclipse.xtext.xbase.resource.BatchLinkingService.resolveBatched(BatchLinkingService.java:71)
at org.eclipse.xtext.xbase.resource.BatchLinkableResource.resolveLazyCrossReferences(BatchLinkableResource.java:165)
at org.eclipse.xtext.EcoreUtil2.resolveLazyCrossReferences(EcoreUtil2.java:528)
at org.eclipse.xtext.ui.editor.reconciler.XtextDocumentReconcileStrategy.postParse(XtextDocumentReconcileStrategy.java:175)
at org.eclipse.xtext.ui.editor.reconciler.XtextDocumentReconcileStrategy.doReconcile(XtextDocumentReconcileStrategy.java:153)
at org.eclipse.xtext.ui.editor.reconciler.XtextDocumentReconcileStrategy.reconcile(XtextDocumentReconcileStrategy.java:67)
at org.eclipse.xtext.ui.editor.reconciler.XtextReconciler.doRun(XtextReconciler.java:442)
at org.eclipse.xtext.ui.editor.reconciler.XtextReconciler.access$3(XtextReconciler.java:422)
at org.eclipse.xtext.ui.editor.reconciler.XtextReconciler$DocumentListener$1.exec(XtextReconciler.java:133)
at org.eclipse.xtext.ui.editor.reconciler.XtextReconciler$DocumentListener$1.exec(XtextReconciler.java:1)
at org.eclipse.xtext.resource.OutdatedStateManager.exec(OutdatedStateManager.java:121)
at org.eclipse.xtext.ui.editor.model.XtextDocument$XtextDocumentLocker.modify(XtextDocument.java:428)
at org.eclipse.xtext.ui.editor.model.XtextDocument$XtextDocumentLocker.process(XtextDocument.java:337)
at org.eclipse.xtext.ui.editor.reconciler.XtextReconciler$DocumentListener.performNecessaryUpdates(XtextReconciler.java:130)
at org.eclipse.xtext.ui.editor.model.XtextDocument.updateContentBeforeRead(XtextDocument.java:249)
at org.eclipse.xtext.ui.editor.model.XtextDocument$XtextDocumentLocker.internalReadOnly(XtextDocument.java:518)
at org.eclipse.xtext.ui.editor.model.XtextDocument$XtextDocumentLocker.priorityReadOnly(XtextDocument.java:485)
at org.eclipse.xtext.ui.editor.model.XtextDocument.priorityReadOnly(XtextDocument.java:142)
at org.eclipse.xtext.ui.editor.contentassist.RepeatedContentAssistProcessor.computeCompletionProposals(RepeatedContentAssistProcessor.java:111)
at org.eclipse.xtext.ui.editor.contentassist.RepeatedContentAssistProcessor.computeCompletionProposals(RepeatedContentAssistProcessor.java:80)
at org.eclipse.jface.text.contentassist.ContentAssistant$5.run(ContentAssistant.java:1904)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.jface.text.contentassist.ContentAssistant.computeCompletionProposals(ContentAssistant.java:1902)
at org.eclipse.jface.text.contentassist.CompletionProposalPopup.computeProposals(CompletionProposalPopup.java:573)
at org.eclipse.jface.text.contentassist.CompletionProposalPopup.access$16(CompletionProposalPopup.java:570)
at org.eclipse.jface.text.contentassist.CompletionProposalPopup$2.run(CompletionProposalPopup.java:505)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
at org.eclipse.jface.text.contentassist.CompletionProposalPopup.showProposals(CompletionProposalPopup.java:499)
at org.eclipse.jface.text.contentassist.ContentAssistant.showPossibleCompletions(ContentAssistant.java:1720)
at org.eclipse.jface.text.source.SourceViewer.doOperation(SourceViewer.java:932)
at org.eclipse.jface.text.source.projection.ProjectionViewer.doOperation(ProjectionViewer.java:1501)
at org.eclipse.ui.texteditor.ContentAssistAction$1.run(ContentAssistAction.java:82)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
at org.eclipse.ui.texteditor.ContentAssistAction.run(ContentAssistAction.java:80)
at org.eclipse.jface.action.Action.runWithEvent(Action.java:519)
at org.eclipse.jface.commands.ActionHandler.execute(ActionHandler.java:122)
at org.eclipse.ui.internal.handlers.E4HandlerProxy.execute(E4HandlerProxy.java:90)
at sun.reflect.GeneratedMethodAccessor116.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:55)
at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:247)
at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:229)
at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:132)
at org.eclipse.e4.core.commands.internal.HandlerServiceHandler.execute(HandlerServiceHandler.java:149)
at org.eclipse.core.commands.Command.executeWithChecks(Command.java:499)
at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:508)
at org.eclipse.e4.core.commands.internal.HandlerServiceImpl.executeHandler(HandlerServiceImpl.java:210)
at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.executeCommand(KeyBindingDispatcher.java:286)
at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.press(KeyBindingDispatcher.java:507)
at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.processKeyEvent(KeyBindingDispatcher.java:558)
at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.filterKeySequenceBindings(KeyBindingDispatcher.java:378)
at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.access$0(KeyBindingDispatcher.java:324)
at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher$KeyDownFilter.handleEvent(KeyBindingDispatcher.java:86)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Display.filterEvent(Display.java:1262)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1060)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1085)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1070)
at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1112)
at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1108)
at org.eclipse.swt.widgets.Widget.wmChar(Widget.java:1529)
at org.eclipse.swt.widgets.Control.WM_CHAR(Control.java:4722)
at org.eclipse.swt.widgets.Canvas.WM_CHAR(Canvas.java:343)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:4610)
at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:339)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:5023)
at org.eclipse.swt.internal.win32.OS.DispatchMessageW(Native Method)
at org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java:2549)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3759)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1151)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1032)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:148)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:636)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:579)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:135)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:648)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:603)
at org.eclipse.equinox.launcher.Main.run(Main.java:1465)
at org.eclipse.equinox.launcher.Main.main(Main.java:1438)
Currently an association can be declared like this:
association AB {
public 1 A a;
public * B b;
}
It would be much more nicer to write it implicitely declaring a
as single multiplicity:
association AB {
public A a;
public *B b;
}
Omitting 1 is not only forbidden, but produces an exception:
java.lang.NullPointerException
at hu.elte.txtuml.xtxtuml.jvmmodel.XtxtUMLJvmModelInferrer.calculateApiSuperType(XtxtUMLJvmModelInferrer.java:519)
at hu.elte.txtuml.xtxtuml.jvmmodel.XtxtUMLJvmModelInferrer.lambda$14(XtxtUMLJvmModelInferrer.java:452)
at hu.elte.txtuml.xtxtuml.jvmmodel.XtxtUMLJvmModelInferrer$$Lambda$26/1656456005.apply(Unknown Source)
at org.eclipse.xtext.xbase.jvmmodel.JvmTypesBuilder.initializeSafely(JvmTypesBuilder.java:206)
at org.eclipse.xtext.xbase.jvmmodel.JvmTypesBuilder.toClass(JvmTypesBuilder.java:384)
at org.eclipse.xtext.xbase.jvmmodel.JvmTypesBuilder.toClass(JvmTypesBuilder.java:361)
at hu.elte.txtuml.xtxtuml.jvmmodel.XtxtUMLJvmModelInferrer._toJvmMember(XtxtUMLJvmModelInferrer.java:455)
at hu.elte.txtuml.xtxtuml.jvmmodel.XtxtUMLJvmModelInferrer.toJvmMember(XtxtUMLJvmModelInferrer.java:670)
at hu.elte.txtuml.xtxtuml.jvmmodel.XtxtUMLJvmModelInferrer.lambda$5(XtxtUMLJvmModelInferrer.java:290)
at hu.elte.txtuml.xtxtuml.jvmmodel.XtxtUMLJvmModelInferrer$$Lambda$25/500951252.apply(Unknown Source)
at org.eclipse.xtext.xbase.jvmmodel.JvmTypesBuilder.initializeSafely(JvmTypesBuilder.java:206)
at org.eclipse.xtext.xbase.jvmmodel.JvmTypesBuilder.toClass(JvmTypesBuilder.java:384)
at org.eclipse.xtext.xbase.jvmmodel.JvmTypesBuilder.toClass(JvmTypesBuilder.java:361)
at hu.elte.txtuml.xtxtuml.jvmmodel.XtxtUMLJvmModelInferrer._toJvmMember(XtxtUMLJvmModelInferrer.java:294)
at hu.elte.txtuml.xtxtuml.jvmmodel.XtxtUMLJvmModelInferrer.toJvmMember(XtxtUMLJvmModelInferrer.java:654)
at hu.elte.txtuml.xtxtuml.jvmmodel.XtxtUMLJvmModelInferrer.lambda$0(XtxtUMLJvmModelInferrer.java:93)
at hu.elte.txtuml.xtxtuml.jvmmodel.XtxtUMLJvmModelInferrer$$Lambda$1/1059378513.apply(Unknown Source)
at org.eclipse.xtext.xbase.jvmmodel.JvmModelAssociator$1.run(JvmModelAssociator.java:397)
at org.eclipse.xtext.xbase.jvmmodel.JvmModelAssociator.installDerivedState(JvmModelAssociator.java:407)
at org.eclipse.xtext.resource.DerivedStateAwareResource.installDerivedState(DerivedStateAwareResource.java:240)
at org.eclipse.xtext.xbase.resource.BatchLinkableResource.getContents(BatchLinkableResource.java:148)
at org.eclipse.xtext.xbase.typesystem.internal.LogicalContainerAwareBatchTypeResolver.getEntryPoints(LogicalContainerAwareBatchTypeResolver.java:44)
at org.eclipse.xtext.xbase.typesystem.internal.DefaultBatchTypeResolver.getTypeResolver(DefaultBatchTypeResolver.java:63)
at org.eclipse.xtext.xbase.typesystem.internal.CachingBatchTypeResolver$1.get(CachingBatchTypeResolver.java:49)
at org.eclipse.xtext.xbase.typesystem.internal.CachingBatchTypeResolver$1.get(CachingBatchTypeResolver.java:1)
at org.eclipse.xtext.util.OnChangeEvictingCache.get(OnChangeEvictingCache.java:77)
at org.eclipse.xtext.xbase.typesystem.internal.CachingBatchTypeResolver.doResolveTypes(CachingBatchTypeResolver.java:46)
at org.eclipse.xtext.xbase.typesystem.internal.AbstractBatchTypeResolver.resolveTypes(AbstractBatchTypeResolver.java:69)
at org.eclipse.xtext.xbase.resource.BatchLinkingService.resolveBatched(BatchLinkingService.java:71)
at org.eclipse.xtext.xbase.resource.BatchLinkableResource.resolveLazyCrossReferences(BatchLinkableResource.java:165)
at org.eclipse.xtext.EcoreUtil2.resolveLazyCrossReferences(EcoreUtil2.java:528)
at org.eclipse.xtext.ui.editor.reconciler.XtextDocumentReconcileStrategy.postParse(XtextDocumentReconcileStrategy.java:175)
at org.eclipse.xtext.ui.editor.reconciler.XtextDocumentReconcileStrategy.doReconcile(XtextDocumentReconcileStrategy.java:153)
at org.eclipse.xtext.ui.editor.reconciler.XtextDocumentReconcileStrategy.reconcile(XtextDocumentReconcileStrategy.java:67)
at org.eclipse.xtext.ui.editor.reconciler.XtextReconciler.doRun(XtextReconciler.java:442)
at org.eclipse.xtext.ui.editor.reconciler.XtextReconciler.access$3(XtextReconciler.java:422)
at org.eclipse.xtext.ui.editor.reconciler.XtextReconciler$1.process(XtextReconciler.java:363)
at org.eclipse.xtext.ui.editor.reconciler.XtextReconciler$1.process(XtextReconciler.java:1)
at org.eclipse.xtext.util.concurrent.IUnitOfWork$Void.exec(IUnitOfWork.java:37)
at org.eclipse.xtext.resource.OutdatedStateManager.exec(OutdatedStateManager.java:121)
at org.eclipse.xtext.ui.editor.model.XtextDocument$XtextDocumentLocker.modify(XtextDocument.java:428)
at org.eclipse.xtext.ui.editor.model.XtextDocument.internalModify(XtextDocument.java:162)
at org.eclipse.xtext.ui.editor.reconciler.XtextReconciler.run(XtextReconciler.java:360)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
In the declaration of a transition:
transition init_A1 {
from init;
to A2;
}
It should be beneficial to be able omit the name, it can be generated from the from and to declarations.
The name should be in readable format, if the transition goes from A
to B
it should be A_B
If there are multiple transitions from A
to B
they should be labeled A_B_n
where n
is a number based on the order of declarations.
This could be used in all IDE-centric plugin, like hu.elte.txtuml.project
Currently, it is possible to define the layout of class diagrams. This should be possible also for state machines.
Disable explicitly sending null
and boolean literals. Also disable sending to explicit target null
and boolean literals. Values null
, true
and false
should be removed from the code completion in the place of signal and also at the target.
Diagram generation re-exports the UML model each time a diagram is generated. Re-export should only be done if the txtUML model has changed. Otherwise only the changed diagrams should be re-generated.
(The long-term goal is incremental transformation.)
Otherwise it is not possible to use the signal properties.
The Papyrus API has been changed compared to Luna, therefore the Papyrus diagram generation plugin needs to be adapted.
Instead of:
state A1;
state A2;
state A3;
state A4;
it would be nice to write
state A1, A2, A3, A4;
Complete the validation of the structural part of the JtxtUML models and then add validation rules for the action code as well.
It is inevitable to let JtxtUML models to be split into more files. So the only question that remains is how to do it.
For the validation and the UML2 export it is a necessity to maintain some connection between the files of a model as we need to decide which files are part of it and which are not. My proposal is to keep all the files of a model in a single Java package and its subpackages. It would also be a good idea to have a main class representing the model in the top package. The subpackages could represent packages of the model.
Use clean Eclipse Luna Java edition, try to install the txtUML update site generated from txtUML trunk as of 2015-10-14.
The install fails, because it cannot find Moka.
Cannot complete the install because one or more required items could not be found.
Software being installed: txtUML 0.1.1.201510140920 (hu.elte.txtuml.feature.feature.group 0.1.1.201510140920)
Missing requirement: txtUML Diagnostic Extensions 0.1.0.201510140920 (hu.elte.txtuml.diagnostics 0.1.0.201510140920) requires 'bundle org.eclipse.papyrus.moka.ui 0.0.0' but it could not be found
Cannot satisfy dependency:
From: txtUML 0.1.1.201510140920 (hu.elte.txtuml.feature.feature.group 0.1.1.201510140920)
To: hu.elte.txtuml.diagnostics [0.1.0.201510140920]
Action.create might be enhanced with the use of lambda expressions.
Current syntax (with an int
and a boolean
parameter):
A a = Action.create(A.class, 2, true);
New syntax would be:
A a = Action.create(A::new, 2, true);
Pros:
Cons:
The performance test model produces that. There is a validation error in the model, and there are invalid files, but the error is not caused by neither of them.
java.lang.NullPointerException
java.lang.NullPointerException
at hu.elte.txtuml.export.uml2.transform.exporters.expressions.ExpressionExporter.createCallOperationAction(ExpressionExporter.java:280)
at hu.elte.txtuml.export.uml2.transform.exporters.expressions.OperatorExporter.export(OperatorExporter.java:33)
at hu.elte.txtuml.export.uml2.transform.exporters.expressions.OperatorExporter.exportRaw(OperatorExporter.java:25)
at hu.elte.txtuml.export.uml2.transform.exporters.expressions.ExpressionVisitor.visit(ExpressionVisitor.java:140)
at org.eclipse.jdt.core.dom.InfixExpression.accept0(InfixExpression.java:365)
at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2711)
at hu.elte.txtuml.export.uml2.transform.exporters.expressions.ExpressionExporter.export(ExpressionExporter.java:94)
at hu.elte.txtuml.export.uml2.transform.exporters.controls.IfActionExporter.exportIfStatement(IfActionExporter.java:45)
at hu.elte.txtuml.export.uml2.transform.visitors.BlockVisitor.visit(BlockVisitor.java:84)
at org.eclipse.jdt.core.dom.IfStatement.accept0(IfStatement.java:187)
at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2711)
at hu.elte.txtuml.export.uml2.transform.exporters.BlockExporter.lambda$0(BlockExporter.java:93)
at hu.elte.txtuml.export.uml2.transform.exporters.BlockExporter$$Lambda$31/1922254984.accept(Unknown Source)
at java.lang.Iterable.forEach(Iterable.java:75)
at hu.elte.txtuml.export.uml2.transform.exporters.BlockExporter.export(BlockExporter.java:92)
at hu.elte.txtuml.export.uml2.transform.exporters.BlockExporter.exportBody(BlockExporter.java:65)
at hu.elte.txtuml.export.uml2.transform.exporters.MethodBodyExporter.exportMethodBody(MethodBodyExporter.java:46)
at hu.elte.txtuml.export.uml2.transform.exporters.MethodBodyExporter.export(MethodBodyExporter.java:32)
at hu.elte.txtuml.export.uml2.transform.exporters.MethodBodyExporter.export(MethodBodyExporter.java:25)
at hu.elte.txtuml.export.uml2.transform.exporters.VertexExporter.exportStateEntryAction(VertexExporter.java:93)
at hu.elte.txtuml.export.uml2.transform.exporters.VertexExporter.exportVertex(VertexExporter.java:47)
at hu.elte.txtuml.export.uml2.transform.visitors.VertexVisitor.visit(VertexVisitor.java:29)
at org.eclipse.jdt.core.dom.TypeDeclaration.accept0(TypeDeclaration.java:453)
at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2711)
at org.eclipse.jdt.core.dom.ASTNode.acceptChildren(ASTNode.java:2782)
at org.eclipse.jdt.core.dom.TypeDeclaration.accept0(TypeDeclaration.java:470)
at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2711)
at hu.elte.txtuml.export.uml2.transform.exporters.RegionExporter.exportVertices(RegionExporter.java:28)
at hu.elte.txtuml.export.uml2.transform.exporters.RegionExporter.exportRegion(RegionExporter.java:20)
at hu.elte.txtuml.export.uml2.transform.exporters.ModelExporter.exportStateMachine(ModelExporter.java:316)
at hu.elte.txtuml.export.uml2.transform.exporters.ModelExporter.lambda$2(ModelExporter.java:304)
at hu.elte.txtuml.export.uml2.transform.exporters.ModelExporter$$Lambda$30/881901549.accept(Unknown Source)
at java.util.HashMap.forEach(HashMap.java:1280)
at hu.elte.txtuml.export.uml2.transform.exporters.ModelExporter.exportStateMachinesOfEveryClass(ModelExporter.java:302)
at hu.elte.txtuml.export.uml2.transform.exporters.ModelExporter.exportModel(ModelExporter.java:181)
at hu.elte.txtuml.export.uml2.UML2.exportModel(UML2.java:107)
at hu.elte.txtuml.export.uml2.UML2.exportModel(UML2.java:58)
at hu.elte.txtuml.export.ExportUtils.exportTxtUMLModelToUML2(ExportUtils.java:31)
at hu.elte.txtuml.export.papyrus.wizardz.TxtUMLVisuzalizeWizard$1.run(TxtUMLVisuzalizeWizard.java:109)
at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:466)
at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:374)
at org.eclipse.jface.dialogs.ProgressMonitorDialog.run(ProgressMonitorDialog.java:527)
at org.eclipse.ui.internal.progress.ProgressMonitorJobsDialog.run(ProgressMonitorJobsDialog.java:284)
at org.eclipse.ui.internal.progress.ProgressManager.run(ProgressManager.java:1190)
at org.eclipse.ui.internal.progress.ProgressManager$RunnableWithStatus.run(ProgressManager.java:1380)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
at org.eclipse.ui.internal.progress.ProgressManager$5.run(ProgressManager.java:1214)
at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:187)
at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:156)
at org.eclipse.swt.widgets.Display.syncExec(Display.java:4734)
at org.eclipse.ui.internal.progress.ProgressManager.runInUI(ProgressManager.java:1211)
at hu.elte.txtuml.export.papyrus.wizardz.TxtUMLVisuzalizeWizard.performFinish(TxtUMLVisuzalizeWizard.java:89)
at org.eclipse.jface.wizard.WizardDialog.finishPressed(WizardDialog.java:853)
at org.eclipse.jface.wizard.WizardDialog.buttonPressed(WizardDialog.java:438)
at org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.java:619)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:248)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4353)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1061)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4172)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3761)
at org.eclipse.jface.window.Window.runEventLoop(Window.java:832)
at org.eclipse.jface.window.Window.open(Window.java:808)
at hu.elte.txtuml.export.papyrus.handlers.TxtUMLVisualizeHandler.execute(TxtUMLVisualizeHandler.java:27)
at org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:294)
at org.eclipse.ui.internal.handlers.E4HandlerProxy.execute(E4HandlerProxy.java:90)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:55)
at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:247)
at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:229)
at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:132)
at org.eclipse.e4.core.commands.internal.HandlerServiceHandler.execute(HandlerServiceHandler.java:149)
at org.eclipse.core.commands.Command.executeWithChecks(Command.java:499)
at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:508)
at org.eclipse.e4.core.commands.internal.HandlerServiceImpl.executeHandler(HandlerServiceImpl.java:210)
at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem.executeItem(HandledContributionItem.java:825)
at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem.handleWidgetSelection(HandledContributionItem.java:701)
at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem.access$6(HandledContributionItem.java:685)
at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem$4.handleEvent(HandledContributionItem.java:613)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4353)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1061)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4172)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3761)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1151)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1032)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:148)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:636)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:579)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:135)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:648)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:603)
at org.eclipse.equinox.launcher.Main.run(Main.java:1465)
at org.eclipse.equinox.launcher.Main.main(Main.java:1438)
The last step of the code generation should be an automatic formatting.
The current support for object equality and inequality checks (the use of == and != operators on objects) in exported models was quickly made to avoid a NullPointerException
during exportation. Please, review this and look for a better solution if possible.
First, the code generator should be updated according to the new activity export, then make it available from the Eclipse interface.
Now the formatter emits a single line, and only wraps it when it is longer than 80 characters. Implement a custom formatter.
The create action fails (returns null) when I give it a parameter of type int.
A a = Action.create(PerformanceTestModel_.A.class, 10000);
The constructor looks like this:
public A(final int numCycles) {
//...
}
The workaround is to use Integer
parameter instead of an int
(but that is a validator error).
Also, when the create
action fails it should raise an exception and stop the execution instead of silently returning a null
that causes a NullPointerException
later.
The same .
operator means different things, so this->PerformanceTestModel.AB.a.selectAny()
must be written like (this->PerformanceTestModel.AB.a).selectAny()
, that is strange. It would be nice to use double colon instead in qualified names.
I created a patch that solves this issue
ModelExecutorThread.java.txt
Is there support for defining external classes in the custom syntax?
model PerformanceTestModel {
class A {
state S {
entry {
A a;
}
}
}
}
The error message is the following:
Type mismatch: cannot convert the expression to Class PerformanceTestModel.xtxtuml
The xtxtuml code:
state finalstate {
entry {
if ((this->PerformanceTestModel.AB.a).isEmpty()) {
} else {
PerformanceTestModel.A a = (this->PerformanceTestModel.AB.a).selectAny();
unlink(PerformanceTestModel.AB.a, a, AB.b, PerformanceTestModel.B.this);
a.childTerminated();
}
delete(PerformanceTestModel.B.this);
}
}
The generated code:
public class finalstate extends StateMachine.State {
@Override
public void entry() {
Collection<PerformanceTestModel.A> _ralfassocnavexpression = this.assoc(PerformanceTestModel.AB.a.class);
boolean _isEmpty = _ralfassocnavexpression.isEmpty();
if (_isEmpty) {
} else {
Collection<PerformanceTestModel.A> _ralfassocnavexpression_1 = this.assoc(PerformanceTestModel.AB.a.class);
PerformanceTestModel.A a = _ralfassocnavexpression_1.selectAny();
Action.<PerformanceTestModel.A, PerformanceTestModel.B>unlink(PerformanceTestModel.AB.a.class, a, PerformanceTestModel.AB.b.class, B.this);
a.childTerminated();
}
Action.delete(B.this);
}
}
Where this should be qualified but it isn't.
Goal: speed up execution.
In the wiki: http://txtuml.inf.elte.hu/wiki/
Use page names prefixed with: 'v020:' (See the doc pages and page names of the v011 release.)
Do not link these pages yet.
Create a folder called 'v020' in the media manager and add screenshots there.
In case the diagram definition is contradictory or the algorithm cannot solve the problem of overlapping boxes, the resulting diagram contains all boxes on top of each other.
In this case, the problematic boxes should be placed at empty locations, eg. under the rest of the diagram.
This error came up after silent exceptions started to appear in bigger numbers.
I was editing this code fragment:
PerformanceTestModel.Forward sig = getSignal(PerformanceTestModel.Forward);
// if (sig.nf % 4 == 0) {
// createChild();
// }
if ((this->PerformanceTestModel.AB.b).isEmpty()) {
//
} else {
send new Forward(0) to this->PerformanceTestModel.AB.b;
}
Error updating dirty state editor
Missing type computation for expression type: RAlfAssocNavExpression / ExpressionTypeComputationState: ExpressionAwareStackedResolvedTypes: [
expressionTypes:
org.eclipse.xtext.xbase.impl.XNumberLiteralImpl@79c074f2 (value: 0) ->
TypeData [expectation=ObservableTypeExpectation [expectation=int], type=int, flags=[UNCHECKED], returnType=false]
org.eclipse.xtext.xbase.impl.XConstructorCallImplCustom@4fd6351d (invalidFeatureIssueCode: null, validFeature: false, explicitConstructorCall: true, anonymousClassConstructorCall: false) ->
TypeData [expectation=NoExpectation [expectation=<no expectation>], type=Forward, flags=[UNCHECKED], returnType=false]
hu.elte.txtuml.xtxtuml.xtxtUML.impl.RAlfSendSignalExpressionImpl@b8f3b0e ->
TypeData [expectation=NoExpectation [expectation=<no expectation>], type=Forward, flags=[UNCHECKED], returnType=false]
featureLinking:
org.eclipse.xtext.xbase.impl.XConstructorCallImplCustom@4fd6351d (invalidFeatureIssueCode: null, validFeature: false, explicitConstructorCall: true, anonymousClassConstructorCall: false) -> ConstructorLinkingCandidate [Forward:PerformanceTestModel$Forward.Forward(int) [key: Forward(int)+]]
parent: [
parent: [
expressionTypes:
this ->
TypeData [expectation=RootNoExpectation [expectation=<no expectation>], type=PerformanceTestModel$A$A1_A2, flags=[UNCHECKED], returnType=true]
TypeData [expectation=RootNoExpectation [expectation=<no expectation>], type=PerformanceTestModel$A$A1_A2, flags=[UNCHECKED], returnType=false]
hu.elte.txtuml.xtxtuml.xtxtUML.impl.RAlfAssocNavExpressionImpl@3e8d7f80 ->
TypeData [expectation=TypeExpectation [expectation=Collection<PerformanceTestModel$B>], type=Collection<PerformanceTestModel$B>, flags=[UNCHECKED], returnType=false]
<RAlfAssocNavExpressionImpl>.isEmpty() ->
TypeData [expectation=TypeExpectation [expectation=boolean], type=boolean, flags=[UNCHECKED], returnType=false]
{
} ->
TypeData [expectation=NoExpectation [expectation=<no expectation>], type=null, flags=[UNCHECKED], returnType=false]
org.eclipse.xtext.xbase.impl.XIfExpressionImpl@41cf7b8f ->
TypeData [expectation=NoExpectation [expectation=<no expectation>], type=null, flags=[UNCHECKED], returnType=false]
featureLinking:
this -> FeatureLinkingCandidate [SimpleIdentifiableElementDescription[this]]
<RAlfAssocNavExpressionImpl>.isEmpty() -> [isEmpty:hu.elte.txtuml.api.model.Collection.isEmpty() [key: isEmpty()+]]
propagatedTypes:
org.eclipse.xtext.xbase.impl.XIfExpressionImpl@41cf7b8f
parent: [
types:
var sig -> Forward
expressionTypes:
<implicit: PerformanceTestModel$A$A1_A2> ->
TypeData [expectation=TypeExpectation [expectation=PerformanceTestModel$A$A1_A2], type=PerformanceTestModel$A$A1_A2, flags=[UNCHECKED], returnType=false]
PerformanceTestModel ->
TypeData [expectation=TypeExpectation [expectation=<void not allowed>], type=Class<PerformanceTestModel>, flags=[UNCHECKED], returnType=false]
<XFeatureCallImplCustom>.Forward ->
TypeData [expectation=ObservableTypeExpectation [expectation=Class<Forward>], type=Class<Forward>, flags=[UNCHECKED], returnType=false]
getSignal(<XMemberFeatureCallImplCustom>) ->
TypeData [expectation=TypeExpectation [expectation=Forward], type=Forward, flags=[UNCHECKED], returnType=false]
var sig ->
TypeData [expectation=NoExpectation [expectation=<no expectation>], type=void, flags=[UNCHECKED], returnType=false]
featureLinking:
<implicit: PerformanceTestModel$A$A1_A2> -> org.eclipse.xtext.xbase.typesystem.internal.ImplicitReceiver@36c3a476
getSignal(<XMemberFeatureCallImplCustom>) -> FeatureLinkingCandidate [getSignal:hu.elte.txtuml.api.model.StateMachine$Transition.getSignal(java.lang.Class) [key: getSignal(java.lang.Class):implicitReceiver+]]
PerformanceTestModel -> TypeLiteralLinkingCandidate [TypeLiteralDescription[PerformanceTestModel]]
<XFeatureCallImplCustom>.Forward -> [TypeLiteralDescription[Forward]]
typeParameterHints:
java.lang.Object@1a85de09 ->
LightweightBoundTypeArgument [
typeReference = Forward
source = RESOLVED
origin = Forward
declaredVariance = INVARIANT
actualVariance = INVARIANT
]
parent: [
types:
JvmOperation: PerformanceTestModel$A$A1_A2.effect() (visibility: PUBLIC, simpleName: effect, identifier: PerformanceTestModel$A$A1_A2.effect(), deprecated: <unset>) (varArgs: false) (static: false, final: false, abstract: false, synchronized: false, default: false, native: false, strictFloatingPoint: false) -> void
parent: [
reassignedTypes:
JvmGenericType: hu.elte.txtuml.api.model.StateMachine$Transition (visibility: PUBLIC, simpleName: Transition, identifier: hu.elte.txtuml.api.model.StateMachine$Transition, deprecated: false) (abstract: false, static: false, final: false, packageName: null) (interface: false, strictFloatingPoint: false, anonymous: false) -> StateMachine$Transition
JvmGenericType: PerformanceTestModel$A$A1_A2 (visibility: PUBLIC, simpleName: A1_A2, identifier: PerformanceTestModel$A$A1_A2, deprecated: <unset>) (abstract: false, static: false, final: false, packageName: null) (interface: false, strictFloatingPoint: false, anonymous: false) -> PerformanceTestModel$A$A1_A2
parent: [
types:
JvmField: PerformanceTestModel$A.remainingCycles (visibility: DEFAULT, simpleName: remainingCycles, identifier: PerformanceTestModel$A.remainingCycles, deprecated: <unset>) (static: false, final: false, volatile: false, transient: false, constant: <unset>, constantValue: null) -> int
JvmField: PerformanceTestModel$A.numForward (visibility: DEFAULT, simpleName: numForward, identifier: PerformanceTestModel$A.numForward, deprecated: <unset>) (static: false, final: false, volatile: false, transient: false, constant: <unset>, constantValue: null) -> int
JvmConstructor: PerformanceTestModel$A.A(int) (visibility: PUBLIC, simpleName: A, identifier: PerformanceTestModel$A.A(int), deprecated: <unset>) (varArgs: false) -> PerformanceTestModel$A
JvmConstructor: PerformanceTestModel$A$init.init() (visibility: PUBLIC, simpleName: init, identifier: PerformanceTestModel$A$init.init(), deprecated: <unset>) (varArgs: false) -> PerformanceTestModel$A$init
JvmOperation: PerformanceTestModel$A$A1.entry() (visibility: PUBLIC, simpleName: entry, identifier: PerformanceTestModel$A$A1.entry(), deprecated: <unset>) (varArgs: false) (static: false, final: false, abstract: false, synchronized: false, default: false, native: false, strictFloatingPoint: false) -> void
JvmConstructor: PerformanceTestModel$A$A1.A1() (visibility: PUBLIC, simpleName: A1, identifier: PerformanceTestModel$A$A1.A1(), deprecated: <unset>) (varArgs: false) -> PerformanceTestModel$A$A1
JvmConstructor: PerformanceTestModel$A$A2.A2() (visibility: PUBLIC, simpleName: A2, identifier: PerformanceTestModel$A$A2.A2(), deprecated: <unset>) (varArgs: false) -> PerformanceTestModel$A$A2
JvmConstructor: PerformanceTestModel$A$A3.A3() (visibility: PUBLIC, simpleName: A3, identifier: PerformanceTestModel$A$A3.A3(), deprecated: <unset>) (varArgs: false) -> PerformanceTestModel$A$A3
JvmConstructor: PerformanceTestModel$A$A4.A4() (visibility: PUBLIC, simpleName: A4, identifier: PerformanceTestModel$A$A4.A4(), deprecated: <unset>) (varArgs: false) -> PerformanceTestModel$A$A4
JvmOperation: PerformanceTestModel$A.createChild() (visibility: PRIVATE, simpleName: createChild, identifier: PerformanceTestModel$A.createChild(), deprecated: <unset>) (varArgs: false) (static: false, final: false, abstract: false, synchronized: false, default: false, native: false, strictFloatingPoint: false) -> void
var b -> PerformanceTestModel$B
JvmOperation: PerformanceTestModel$A.childTerminated() (visibility: PRIVATE, simpleName: childTerminated, identifier: PerformanceTestModel$A.childTerminated(), deprecated: <unset>) (varArgs: false) (static: false, final: false, abstract: false, synchronized: false, default: false, native: false, strictFloatingPoint: false) -> void
JvmOperation: PerformanceTestModel$A$init_A1.effect() (visibility: PUBLIC, simpleName: effect, identifier: PerformanceTestModel$A$init_A1.effect(), deprecated: <unset>) (varArgs: false) (static: false, final: false, abstract: false, synchronized: false, default: false, native: false, strictFloatingPoint: false) -> void
JvmConstructor: PerformanceTestModel$A$init_A1.init_A1() (visibility: PUBLIC, simpleName: init_A1, identifier: PerformanceTestModel$A$init_A1.init_A1(), deprecated: <unset>) (varArgs: false) -> PerformanceTestModel$A$init_A1
reassignedTypes:
JvmGenericType: hu.elte.txtuml.api.model.ModelClass (visibility: PUBLIC, simpleName: ModelClass, identifier: hu.elte.txtuml.api.model.ModelClass, deprecated: false) (abstract: false, static: false, final: false, packageName: hu.elte.txtuml.api.model) (interface: false, strictFloatingPoint: false, anonymous: false) -> ModelClass
JvmGenericType: PerformanceTestModel$A (visibility: PUBLIC, simpleName: A, identifier: PerformanceTestModel$A, deprecated: <unset>) (abstract: false, static: false, final: false, packageName: PerformanceTestModel) (interface: false, strictFloatingPoint: false, anonymous: false) -> PerformanceTestModel$A
expressionTypes:
<implicit: PerformanceTestModel$A> ->
TypeData [expectation=TypeExpectation [expectation=PerformanceTestModel$A], type=PerformanceTestModel$A, flags=[UNCHECKED], returnType=false]
numCycles ->
TypeData [expectation=ObservableTypeExpectation [expectation=int], type=int, flags=[UNCHECKED], returnType=false]
<null>.remainingCycles = <XFeatureCallImplCustom> ->
TypeData [expectation=NoExpectation [expectation=<no expectation>], type=int, flags=[UNCHECKED], returnType=false]
<implicit: PerformanceTestModel$A> ->
TypeData [expectation=TypeExpectation [expectation=PerformanceTestModel$A], type=PerformanceTestModel$A, flags=[UNCHECKED], returnType=false]
org.eclipse.xtext.xbase.impl.XNumberLiteralImpl@419fe75d (value: 0) ->
TypeData [expectation=ObservableTypeExpectation [expectation=int], type=int, flags=[UNCHECKED], returnType=false]
<null>.numForward = <XNumberLiteralImpl> ->
TypeData [expectation=NoExpectation [expectation=<no expectation>], type=int, flags=[UNCHECKED], returnType=false]
{
<null>.remainingCycles = <XFeatureCallImplCustom>
<null>.numForward = <XNumberLiteralImpl>
} ->
TypeData [expectation=RootTypeExpectation [expectation=void], type=void, flags=[SUCCESS, CHECKED], returnType=true]
TypeData [expectation=RootTypeExpectation [expectation=void], type=void, flags=[SUCCESS, CHECKED], returnType=false]
{
} ->
TypeData [expectation=RootTypeExpectation [expectation=void], type=void, flags=[SUCCESS, CHECKED], returnType=true]
TypeData [expectation=RootTypeExpectation [expectation=void], type=void, flags=[SUCCESS, CHECKED], returnType=false]
org.eclipse.xtext.xbase.impl.XConstructorCallImplCustom@3d9d2bd3 (invalidFeatureIssueCode: null, validFeature: false, explicitConstructorCall: true, anonymousClassConstructorCall: false) ->
TypeData [expectation=TypeExpectation [expectation=PerformanceTestModel$B], type=PerformanceTestModel$B, flags=[UNCHECKED], returnType=false]
var b ->
TypeData [expectation=NoExpectation [expectation=<no expectation>], type=void, flags=[UNCHECKED], returnType=false]
{
var b
} ->
TypeData [expectation=RootTypeExpectation [expectation=void], type=void, flags=[SUCCESS, CHECKED], returnType=true]
TypeData [expectation=RootTypeExpectation [expectation=void], type=void, flags=[SUCCESS, CHECKED], returnType=false]
org.eclipse.xtext.xbase.impl.XConstructorCallImplCustom@84135aa (invalidFeatureIssueCode: null, validFeature: false, explicitConstructorCall: true, anonymousClassConstructorCall: false) ->
TypeData [expectation=NoExpectation [expectation=<no expectation>], type=Backward, flags=[UNCHECKED], returnType=false]
hu.elte.txtuml.xtxtuml.xtxtUML.impl.RAlfSendSignalExpressionImpl@4c7c1651 ->
TypeData [expectation=NoExpectation [expectation=<no expectation>], type=ModelElement, flags=[UNCHECKED, MERGED], returnType=true]
TypeData [expectation=NoExpectation [expectation=<no expectation>], type=ModelElement, flags=[UNCHECKED, MERGED], returnType=false]
this ->
TypeData [expectation=NoExpectation [expectation=<no expectation>], type=PerformanceTestModel$A, flags=[UNCHECKED], returnType=false]
{
hu.elte.txtuml.xtxtuml.xtxtUML.impl.RAlfSendSignalExpressionImpl@4c7c1651
} ->
TypeData [expectation=RootTypeExpectation [expectation=void], type=void, flags=[SUCCESS, CHECKED], returnType=true]
TypeData [expectation=RootTypeExpectation [expectation=void], type=void, flags=[SUCCESS, CHECKED], returnType=false]
<implicit: PerformanceTestModel$A> ->
TypeData [expectation=TypeExpectation [expectation=PerformanceTestModel$A], type=PerformanceTestModel$A, flags=[UNCHECKED], returnType=false]
numForward ->
TypeData [expectation=ObservableTypeExpectation [expectation=int], type=int, flags=[UNCHECKED], returnType=false]
org.eclipse.xtext.xbase.impl.XConstructorCallImplCustom@ad30ea0 (invalidFeatureIssueCode: null, validFeature: false, explicitConstructorCall: true, anonymousClassConstructorCall: false) ->
TypeData [expectation=NoExpectation [expectation=<no expectation>], type=Forward, flags=[UNCHECKED], returnType=false]
hu.elte.txtuml.xtxtuml.xtxtUML.impl.RAlfSendSignalExpressionImpl@4eef1c52 ->
TypeData [expectation=NoExpectation [expectation=<no expectation>], type=ModelElement, flags=[UNCHECKED, MERGED], returnType=true]
TypeData [expectation=NoExpectation [expectation=<no expectation>], type=ModelElement, flags=[UNCHECKED, MERGED], returnType=false]
PerformanceTestModel ->
TypeData [expectation=TypeExpectation [expectation=<void not allowed>], type=Class<PerformanceTestModel>, flags=[UNCHECKED], returnType=false]
<XFeatureCallImplCustom>.A ->
TypeData [expectation=TypeExpectation [expectation=<void not allowed>], type=Class<PerformanceTestModel$A>, flags=[UNCHECKED], returnType=false]
<XMemberFeatureCallImplCustom>.this ->
TypeData [expectation=NoExpectation [expectation=<no expectation>], type=PerformanceTestModel$A, flags=[UNCHECKED], returnType=false]
{
hu.elte.txtuml.xtxtuml.xtxtUML.impl.RAlfSendSignalExpressionImpl@4eef1c52
} ->
TypeData [expectation=RootTypeExpectation [expectation=void], type=void, flags=[SUCCESS, CHECKED], returnType=true]
TypeData [expectation=RootTypeExpectation [expectation=void], type=void, flags=[SUCCESS, CHECKED], returnType=false]
featureLinking:
<implicit: PerformanceTestModel$A> -> org.eclipse.xtext.xbase.typesystem.internal.ImplicitReceiver@198b51b7
<null>.remainingCycles = <XFeatureCallImplCustom> -> FeatureLinkingCandidate [remainingCycles:PerformanceTestModel$A.remainingCycles [key: remainingCycles:implicitReceiver+]]
numCycles -> FeatureLinkingCandidate [SimpleIdentifiableElementDescription[numCycles]]
<implicit: PerformanceTestModel$A> -> org.eclipse.xtext.xbase.typesystem.internal.ImplicitReceiver@6a867ba4
<null>.numForward = <XNumberLiteralImpl> -> FeatureLinkingCandidate [numForward:PerformanceTestModel$A.numForward [key: numForward:implicitReceiver+]]
org.eclipse.xtext.xbase.impl.XConstructorCallImplCustom@3d9d2bd3 (invalidFeatureIssueCode: null, validFeature: false, explicitConstructorCall: true, anonymousClassConstructorCall: false) -> ConstructorLinkingCandidate [PerformanceTestModel.B:PerformanceTestModel$B.B() [key: B()+]]
org.eclipse.xtext.xbase.impl.XConstructorCallImplCustom@84135aa (invalidFeatureIssueCode: null, validFeature: false, explicitConstructorCall: true, anonymousClassConstructorCall: false) -> ConstructorLinkingCandidate [Backward:PerformanceTestModel$Backward.Backward() [key: Backward()+]]
this -> FeatureLinkingCandidate [SimpleIdentifiableElementDescription[this]]
org.eclipse.xtext.xbase.impl.XConstructorCallImplCustom@ad30ea0 (invalidFeatureIssueCode: null, validFeature: false, explicitConstructorCall: true, anonymousClassConstructorCall: false) -> ConstructorLinkingCandidate [Forward:PerformanceTestModel$Forward.Forward(int) [key: Forward(int)+]]
<implicit: PerformanceTestModel$A> -> org.eclipse.xtext.xbase.typesystem.internal.ImplicitReceiver@414d9296
numForward -> FeatureLinkingCandidate [numForward:PerformanceTestModel$A.numForward [key: numForward:implicitReceiver+]]
PerformanceTestModel -> TypeLiteralLinkingCandidate [TypeLiteralDescription[PerformanceTestModel]]
<XFeatureCallImplCustom>.A -> [TypeLiteralDescription[A]]
<XMemberFeatureCallImplCustom>.this -> [this:PerformanceTestModel$A [key: A+qualifiedThis]]
parent: [
types:
JvmOperation: PerformanceTestModel$Test.test() (visibility: PUBLIC, simpleName: test, identifier: PerformanceTestModel$Test.test(), deprecated: <unset>) (varArgs: false) (static: false, final: false, abstract: false, synchronized: false, default: false, native: false, strictFloatingPoint: false) -> void
JvmConstructor: PerformanceTestModel$Test.Test() (visibility: PUBLIC, simpleName: Test, identifier: PerformanceTestModel$Test.Test(), deprecated: <unset>) (varArgs: false) -> PerformanceTestModel$Test
reassignedTypes:
JvmGenericType: hu.elte.txtuml.api.model.Model (visibility: PUBLIC, simpleName: Model, identifier: hu.elte.txtuml.api.model.Model, deprecated: false) (abstract: false, static: false, final: false, packageName: hu.elte.txtuml.api.model) (interface: false, strictFloatingPoint: false, anonymous: false) -> Model
JvmGenericType: PerformanceTestModel (visibility: PUBLIC, simpleName: PerformanceTestModel, identifier: PerformanceTestModel, deprecated: <unset>) (abstract: false, static: false, final: false, packageName: null) (interface: false, strictFloatingPoint: false, anonymous: false) -> PerformanceTestModel
expressionTypes:
org.eclipse.xtext.xbase.impl.XNumberLiteralImpl@2745eab6 (value: 10000) ->
TypeData [expectation=ObservableTypeExpectation [expectation=int], type=int, flags=[UNCHECKED], returnType=false]
org.eclipse.xtext.xbase.impl.XConstructorCallImplCustom@9df263b (invalidFeatureIssueCode: null, validFeature: false, explicitConstructorCall: true, anonymousClassConstructorCall: false) ->
TypeData [expectation=NoExpectation [expectation=<no expectation>], type=PerformanceTestModel$A, flags=[UNCHECKED], returnType=false]
{
org.eclipse.xtext.xbase.impl.XConstructorCallImplCustom@9df263b (invalidFeatureIssueCode: null, validFeature: false, explicitConstructorCall: true, anonymousClassConstructorCall: false)
} ->
TypeData [expectation=RootTypeExpectation [expectation=void], type=void, flags=[SUCCESS, CHECKED], returnType=true]
TypeData [expectation=RootTypeExpectation [expectation=void], type=void, flags=[SUCCESS, CHECKED], returnType=false]
featureLinking:
org.eclipse.xtext.xbase.impl.XConstructorCallImplCustom@9df263b (invalidFeatureIssueCode: null, validFeature: false, explicitConstructorCall: true, anonymousClassConstructorCall: false) -> ConstructorLinkingCandidate [A:PerformanceTestModel$A.A(int) [key: A(int)+]]
parent: []
]
]
]
]
]
]
]
]
When creating a new JtxtUML/XtxtUML model, the open curly brace of the model is not separated with a space.
class a extends Model{
}
model a{
}
Support field initializer expressions for class fields, eg.
class Init {
int myFavouriteNumber = 42;
}
Using an installed version of trunk as of 2015.10.14.
When creating a new XtxtUML model (either from the wizard or by creating a new file with .xtxtuml extension) the following error and exceptions are produced:
org.eclipse.e4.core.di.InjectionException: java.lang.NoClassDefFoundError: hu/elte/txtuml/xtxtuml/XtxtUMLRuntimeModule
at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:62)
at org.eclipse.e4.core.internal.di.InjectorImpl.processAnnotated(InjectorImpl.java:888)
at org.eclipse.e4.core.internal.di.InjectorImpl.processAnnotated(InjectorImpl.java:869)
at org.eclipse.e4.core.internal.di.InjectorImpl.inject(InjectorImpl.java:120)
at org.eclipse.e4.core.internal.di.InjectorImpl.internalMake(InjectorImpl.java:337)
at org.eclipse.e4.core.internal.di.InjectorImpl.make(InjectorImpl.java:258)
at org.eclipse.e4.core.contexts.ContextInjectionFactory.make(ContextInjectionFactory.java:162)
at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.createFromBundle(ReflectionContributionFactory.java:104)
at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.doCreate(ReflectionContributionFactory.java:73)
at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.create(ReflectionContributionFactory.java:55)
at org.eclipse.e4.ui.workbench.renderers.swt.ContributedPartRenderer.createWidget(ContributedPartRenderer.java:127)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createWidget(PartRenderingEngine.java:983)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:662)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:766)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$2(PartRenderingEngine.java:737)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$7.run(PartRenderingEngine.java:731)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:715)
at org.eclipse.e4.ui.workbench.renderers.swt.StackRenderer.showTab(StackRenderer.java:1246)
at org.eclipse.e4.ui.workbench.renderers.swt.LazyStackRenderer$1.handleEvent(LazyStackRenderer.java:69)
at org.eclipse.e4.ui.services.internal.events.UIEventHandler$1.run(UIEventHandler.java:40)
at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:187)
at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:156)
at org.eclipse.swt.widgets.Display.syncExec(Display.java:4734)
at org.eclipse.e4.ui.internal.workbench.swt.E4Application$1.syncExec(E4Application.java:218)
at org.eclipse.e4.ui.services.internal.events.UIEventHandler.handleEvent(UIEventHandler.java:36)
at org.eclipse.equinox.internal.event.EventHandlerWrapper.handleEvent(EventHandlerWrapper.java:197)
at org.eclipse.equinox.internal.event.EventHandlerTracker.dispatchEvent(EventHandlerTracker.java:197)
at org.eclipse.equinox.internal.event.EventHandlerTracker.dispatchEvent(EventHandlerTracker.java:1)
at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148)
at org.eclipse.equinox.internal.event.EventAdminImpl.dispatchEvent(EventAdminImpl.java:135)
at org.eclipse.equinox.internal.event.EventAdminImpl.sendEvent(EventAdminImpl.java:78)
at org.eclipse.equinox.internal.event.EventComponent.sendEvent(EventComponent.java:39)
at org.eclipse.e4.ui.services.internal.events.EventBroker.send(EventBroker.java:81)
at org.eclipse.e4.ui.internal.workbench.UIEventPublisher.notifyChanged(UIEventPublisher.java:59)
at org.eclipse.emf.common.notify.impl.BasicNotifierImpl.eNotify(BasicNotifierImpl.java:374)
at org.eclipse.e4.ui.model.application.ui.impl.ElementContainerImpl.setSelectedElement(ElementContainerImpl.java:171)
at org.eclipse.e4.ui.internal.workbench.ModelServiceImpl.showElementInWindow(ModelServiceImpl.java:488)
at org.eclipse.e4.ui.internal.workbench.ModelServiceImpl.bringToTop(ModelServiceImpl.java:454)
at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.delegateBringToTop(PartServiceImpl.java:705)
at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.bringToTop(PartServiceImpl.java:392)
at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.showPart(PartServiceImpl.java:1145)
at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(WorkbenchPage.java:3210)
at org.eclipse.ui.internal.WorkbenchPage.access$23(WorkbenchPage.java:3125)
at org.eclipse.ui.internal.WorkbenchPage$9.run(WorkbenchPage.java:3107)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:3102)
at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:3066)
at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:3047)
at org.eclipse.ui.ide.IDE.openEditor(IDE.java:573)
at hu.elte.txtuml.project.wizards.TxtUMLModelFileCreatorWizard.performFinish(TxtUMLModelFileCreatorWizard.java:42)
at org.eclipse.jface.wizard.WizardDialog.finishPressed(WizardDialog.java:853)
at org.eclipse.jface.wizard.WizardDialog.buttonPressed(WizardDialog.java:438)
at org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.java:619)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:248)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4353)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1061)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4172)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3761)
at org.eclipse.jface.window.Window.runEventLoop(Window.java:832)
at org.eclipse.jface.window.Window.open(Window.java:808)
at org.eclipse.ui.internal.handlers.WizardHandler$New.executeHandler(WizardHandler.java:269)
at org.eclipse.ui.internal.handlers.WizardHandler.execute(WizardHandler.java:290)
at org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:294)
at org.eclipse.ui.internal.handlers.E4HandlerProxy.execute(E4HandlerProxy.java:90)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:55)
at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:247)
at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:229)
at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:132)
at org.eclipse.e4.core.commands.internal.HandlerServiceHandler.execute(HandlerServiceHandler.java:149)
at org.eclipse.core.commands.Command.executeWithChecks(Command.java:499)
at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:508)
at org.eclipse.e4.core.commands.internal.HandlerServiceImpl.executeHandler(HandlerServiceImpl.java:210)
at org.eclipse.ui.internal.handlers.LegacyHandlerService.executeCommand(LegacyHandlerService.java:343)
at org.eclipse.ui.internal.actions.CommandAction.runWithEvent(CommandAction.java:159)
at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:595)
at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:511)
at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:420)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4353)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1061)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4172)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3761)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1151)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1032)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:148)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:636)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:579)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:135)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:648)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:603)
at org.eclipse.equinox.launcher.Main.run(Main.java:1465)
at org.eclipse.equinox.launcher.Main.main(Main.java:1438)
Caused by: java.lang.NoClassDefFoundError: hu/elte/txtuml/xtxtuml/XtxtUMLRuntimeModule
at hu.elte.txtuml.xtxtuml.ui.internal.XtxtUMLActivator.getRuntimeModule(XtxtUMLActivator.java:77)
at hu.elte.txtuml.xtxtuml.ui.internal.XtxtUMLActivator.createInjector(XtxtUMLActivator.java:63)
at hu.elte.txtuml.xtxtuml.ui.internal.XtxtUMLActivator.getInjector(XtxtUMLActivator.java:55)
at hu.elte.txtuml.xtxtuml.ui.XtxtUMLExecutableExtensionFactory.getInjector(XtxtUMLExecutableExtensionFactory.java:26)
at org.eclipse.xtext.ui.guice.AbstractGuiceAwareExecutableExtensionFactory.create(AbstractGuiceAwareExecutableExtensionFactory.java:49)
at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:262)
at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:55)
at org.eclipse.ui.internal.WorkbenchPlugin.createExtension(WorkbenchPlugin.java:285)
at org.eclipse.ui.internal.registry.EditorDescriptor.createEditor(EditorDescriptor.java:235)
at org.eclipse.ui.internal.EditorReference.createPart(EditorReference.java:349)
at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.createPart(CompatibilityPart.java:265)
at org.eclipse.ui.internal.e4.compatibility.CompatibilityEditor.createPart(CompatibilityEditor.java:63)
at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.create(CompatibilityPart.java:303)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:55)
... 110 more
java.lang.NoClassDefFoundError: hu/elte/txtuml/xtxtuml/XtxtUMLRuntimeModule
at hu.elte.txtuml.xtxtuml.ui.internal.XtxtUMLActivator.getRuntimeModule(XtxtUMLActivator.java:77)
at hu.elte.txtuml.xtxtuml.ui.internal.XtxtUMLActivator.createInjector(XtxtUMLActivator.java:63)
at hu.elte.txtuml.xtxtuml.ui.internal.XtxtUMLActivator.getInjector(XtxtUMLActivator.java:55)
at hu.elte.txtuml.xtxtuml.ui.XtxtUMLExecutableExtensionFactory.getInjector(XtxtUMLExecutableExtensionFactory.java:26)
at org.eclipse.xtext.ui.guice.AbstractGuiceAwareExecutableExtensionFactory.create(AbstractGuiceAwareExecutableExtensionFactory.java:49)
at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:262)
at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:55)
at org.eclipse.ui.internal.WorkbenchPlugin.createExtension(WorkbenchPlugin.java:285)
at org.eclipse.ui.internal.registry.EditorDescriptor.getEditorMatchingStrategy(EditorDescriptor.java:638)
at org.eclipse.ui.internal.WorkbenchPage.checkEditor(WorkbenchPage.java:2312)
at org.eclipse.ui.internal.WorkbenchPage.findEditors(WorkbenchPage.java:2282)
at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(WorkbenchPage.java:3160)
at org.eclipse.ui.internal.WorkbenchPage.access$23(WorkbenchPage.java:3125)
at org.eclipse.ui.internal.WorkbenchPage$9.run(WorkbenchPage.java:3107)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:3102)
at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:3066)
at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:3056)
at org.eclipse.ui.ide.IDE.openEditor(IDE.java:541)
at org.eclipse.ui.ide.IDE.openEditor(IDE.java:500)
at org.eclipse.jdt.internal.ui.javaeditor.EditorUtility.openInEditor(EditorUtility.java:360)
at org.eclipse.jdt.internal.ui.javaeditor.EditorUtility.openInEditor(EditorUtility.java:167)
at org.eclipse.jdt.ui.actions.OpenAction.run(OpenAction.java:268)
at org.eclipse.jdt.ui.actions.OpenAction.run(OpenAction.java:233)
at org.eclipse.jdt.ui.actions.SelectionDispatchAction.dispatchRun(SelectionDispatchAction.java:275)
at org.eclipse.jdt.ui.actions.SelectionDispatchAction.run(SelectionDispatchAction.java:251)
at org.eclipse.jdt.internal.ui.packageview.PackageExplorerActionGroup.handleOpen(PackageExplorerActionGroup.java:376)
at org.eclipse.jdt.internal.ui.packageview.PackageExplorerPart$4.open(PackageExplorerPart.java:538)
at org.eclipse.ui.OpenAndLinkWithEditorHelper$InternalListener.open(OpenAndLinkWithEditorHelper.java:48)
at org.eclipse.jface.viewers.StructuredViewer$2.run(StructuredViewer.java:853)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:50)
at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:178)
at org.eclipse.jface.viewers.StructuredViewer.fireOpen(StructuredViewer.java:850)
at org.eclipse.jface.viewers.StructuredViewer.handleOpen(StructuredViewer.java:1142)
at org.eclipse.jface.viewers.StructuredViewer$6.handleOpen(StructuredViewer.java:1249)
at org.eclipse.jface.util.OpenStrategy.fireOpenEvent(OpenStrategy.java:278)
at org.eclipse.jface.util.OpenStrategy.access$2(OpenStrategy.java:272)
at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:313)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4353)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1061)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4172)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3761)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1151)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1032)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:148)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:636)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:579)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:135)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:648)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:603)
at org.eclipse.equinox.launcher.Main.run(Main.java:1465)
at org.eclipse.equinox.launcher.Main.main(Main.java:1438)
ModelClass should contain a destroy
method that is automatically called when the object is destroyed with Action.delete
.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.