diff --git a/org.eventb.texteditor.feature/feature.xml b/org.eventb.texteditor.feature/feature.xml index 6bfea24008aed25ef12ca7871a6c2d1a41a1e2ab..abf50fba6752049c90d40d82c2074f6c0cd4b328 100644 --- a/org.eventb.texteditor.feature/feature.xml +++ b/org.eventb.texteditor.feature/feature.xml @@ -9,6 +9,7 @@ <description> A text editor for the Rodin platform to edit Event-B models --- Release History --- +3.5.1 - Fix "Empty label" error when adding a variant to a machine 3.5.0 - Compatibility with EventB-EMF 7.0.0 - fixes CamilleX dependency conflict. Fixed OOM error when top-level end keyword is missing. 3.4.1 - Internal updates to the build process - no visible changes. 3.4.0 - Release for Rodin 3.5 and related dependencies diff --git a/org.eventb.texteditor.ui/META-INF/MANIFEST.MF b/org.eventb.texteditor.ui/META-INF/MANIFEST.MF index a87e4f9719363cef7f38cd466b16f0cd0cd6bd42..80143c75d5668947bb7f0d860d26e63c2c2ad8fd 100644 --- a/org.eventb.texteditor.ui/META-INF/MANIFEST.MF +++ b/org.eventb.texteditor.ui/META-INF/MANIFEST.MF @@ -16,9 +16,9 @@ Require-Bundle: org.eclipse.core.resources;bundle-version="[3.8.1,4.0.0)", org.eclipse.ui.workbench.texteditor, org.eventb.core;bundle-version="[3.1.0,4.0.0)", org.eventb.core.ast;bundle-version="[3.1.0,4.0.0)", - org.eventb.emf.core;bundle-version="[4.0.0,7.0.0)", - org.eventb.emf.formulas;bundle-version="[1.4.0,3.0.0)", - org.eventb.emf.persistence;bundle-version="[3.1.1,5.0.0)";visibility:=reexport, + org.eventb.emf.core;bundle-version="[5.0.0,7.0.0)", + org.eventb.emf.formulas;bundle-version="[1.5.0,3.0.0)", + org.eventb.emf.persistence;bundle-version="[3.6.0,5.0.0)";visibility:=reexport, org.eventb.texteditor.parsers;bundle-version="[3.5.1,3.6.0)", org.eventb.texttools;bundle-version="[3.5.1,3.6.0)";visibility:=reexport, org.eventb.ui;bundle-version="[3.0.0,4.0.0)";visibility:=reexport, diff --git a/org.eventb.texttools/META-INF/MANIFEST.MF b/org.eventb.texttools/META-INF/MANIFEST.MF index 8e0ddf314a590a6071fd6dfe5c82a7397be09915..ed60264e4240178724dad1870cdd7165ebe964ba 100644 --- a/org.eventb.texttools/META-INF/MANIFEST.MF +++ b/org.eventb.texttools/META-INF/MANIFEST.MF @@ -15,9 +15,9 @@ Require-Bundle: org.eclipse.core.resources;bundle-version="[3.8.1,4.0.0)", org.eclipse.jface.text;bundle-version="[3.6.0,4.0.0)", org.eventb.core;bundle-version="[3.1.0,4.0.0)", org.eventb.core.ast;bundle-version="[3.1.0,4.0.0)", - org.eventb.emf.core;bundle-version="[4.0.0,7.0.0)", - org.eventb.emf.formulas;bundle-version="[1.4.0,3.0.0)", - org.eventb.emf.persistence;bundle-version="[3.1.1,5.0.0)", + org.eventb.emf.core;bundle-version="[5.0.0,7.0.0)", + org.eventb.emf.formulas;bundle-version="[1.5.0,3.0.0)", + org.eventb.emf.persistence;bundle-version="[3.6.0,5.0.0)", org.eventb.texteditor.parsers;bundle-version="[3.5.1,3.6.0)", org.rodinp.core;bundle-version="[1.7.0,2.0.0)" Bundle-Vendor: Heinrich-Heine University Dusseldorf diff --git a/org.eventb.texttools/src/org/eventb/texttools/internal/parsing/TransformationVisitor.java b/org.eventb.texttools/src/org/eventb/texttools/internal/parsing/TransformationVisitor.java index 4e034fc6d01f20f3adfa3122146aee86778c4e25..7e7c9d70b418b843e46058ae15bfc54e88b3bb94 100644 --- a/org.eventb.texttools/src/org/eventb/texttools/internal/parsing/TransformationVisitor.java +++ b/org.eventb.texttools/src/org/eventb/texttools/internal/parsing/TransformationVisitor.java @@ -11,29 +11,6 @@ import java.util.LinkedList; import java.util.List; import java.util.Stack; -import org.eclipse.emf.common.util.EList; -import org.eclipse.jface.text.BadLocationException; -import org.eclipse.jface.text.IDocument; -import org.eventb.emf.core.EventBCommented; -import org.eventb.emf.core.EventBElement; -import org.eventb.emf.core.EventBNamed; -import org.eventb.emf.core.EventBNamedCommentedPredicateElement; -import org.eventb.emf.core.EventBObject; -import org.eventb.emf.core.context.Axiom; -import org.eventb.emf.core.context.Context; -import org.eventb.emf.core.context.ContextFactory; -import org.eventb.emf.core.machine.Action; -import org.eventb.emf.core.machine.Convergence; -import org.eventb.emf.core.machine.Event; -import org.eventb.emf.core.machine.Guard; -import org.eventb.emf.core.machine.Invariant; -import org.eventb.emf.core.machine.Machine; -import org.eventb.emf.core.machine.MachineFactory; -import org.eventb.emf.core.machine.Variant; -import org.eventb.texttools.TextPositionUtil; -import org.eventb.texttools.model.texttools.TextRange; -import org.eventb.texttools.model.texttools.TexttoolsFactory; - import de.be4.eventb.core.parser.analysis.DepthFirstAdapter; import de.be4.eventb.core.parser.node.AAction; import de.be4.eventb.core.parser.node.AAnticipatedConvergence; @@ -67,6 +44,30 @@ import de.hhu.stups.sablecc.patch.IToken; import de.hhu.stups.sablecc.patch.PositionedNode; import de.hhu.stups.sablecc.patch.SourcePosition; +import org.eclipse.emf.common.util.EList; +import org.eclipse.jface.text.BadLocationException; +import org.eclipse.jface.text.IDocument; +import org.eventb.core.IVariant; +import org.eventb.emf.core.EventBCommented; +import org.eventb.emf.core.EventBElement; +import org.eventb.emf.core.EventBNamed; +import org.eventb.emf.core.EventBNamedCommentedPredicateElement; +import org.eventb.emf.core.EventBObject; +import org.eventb.emf.core.context.Axiom; +import org.eventb.emf.core.context.Context; +import org.eventb.emf.core.context.ContextFactory; +import org.eventb.emf.core.machine.Action; +import org.eventb.emf.core.machine.Convergence; +import org.eventb.emf.core.machine.Event; +import org.eventb.emf.core.machine.Guard; +import org.eventb.emf.core.machine.Invariant; +import org.eventb.emf.core.machine.Machine; +import org.eventb.emf.core.machine.MachineFactory; +import org.eventb.emf.core.machine.Variant; +import org.eventb.texttools.TextPositionUtil; +import org.eventb.texttools.model.texttools.TextRange; +import org.eventb.texttools.model.texttools.TexttoolsFactory; + public class TransformationVisitor extends DepthFirstAdapter { private IDocument document; @@ -217,6 +218,9 @@ public class TransformationVisitor extends DepthFirstAdapter { TextPositionUtil.annotatePosition(newNode, createTextRange(node)); handleComment(newNode, node.getComments()); + // Work around an Event-B EMF bug that sets an explicit empty label and suppresses the default label. + // TODO Allow a label here in the Camille grammar? + newNode.setName(IVariant.DEFAULT_LABEL); final TFormula exprToken = node.getExpression(); final String exprString = exprToken.getText();