<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta name=Generator content="Microsoft Word 12 (filtered medium)"><!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:Verdana;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p
        {mso-style-priority:99;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
span.EmailStyle18
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:70.85pt 70.85pt 56.7pt 70.85pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=DE link=blue vlink=purple><div class=WordSection1><p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Yes, Stephan pointed that out already. As I suggested in my reply, we may consider avoiding EcoreUtil.delete altogether because its scope definition is not harmonized with the OppositeEndFinder's scope definition. I suggest we offer a delete(EObject) method somewhere that is based on the OppositeEndFinder's scope. Additionally, even for the tests, this may have the benefit of re-using an already attached cross reference adapter.<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>-- Axel<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><div style='border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in 4.0pt'><div><div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in'><p class=MsoNormal><b><span lang=EN-US style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span></b><span lang=EN-US style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'> furcas-discussion-bounces@lists.furcas.org [mailto:furcas-discussion-bounces@lists.furcas.org] <b>On Behalf Of </b>Thomas Goldschmidt<br><b>Sent:</b> Friday, February 11, 2011 3:34 PM<br><b>To:</b> furcas-discussion@lists.furcas.org<br><b>Subject:</b> Re: [furcas-discussion] [IMP] Incremental Lexer Crashes<o:p></o:p></span></p></div></div><p class=MsoNormal><o:p>&nbsp;</o:p></p><p class=MsoNormal><br><span style='font-size:10.0pt;font-family:"Arial","sans-serif"'>The problem that links to elements are nur nulled-out when the element is &quot;deleted&quot;, as it was the case in MOIN.</span> <o:p></o:p></p><table class=MsoNormalTable border=0 cellpadding=0><tr><td valign=top style='padding:.75pt .75pt .75pt .75pt'><p class=MsoNormal><img id="_x0000_i1025" src="cid:image001.gif@01CBCA05.7F5EFD50"><o:p></o:p></p></td><td style='padding:.75pt .75pt .75pt .75pt'><p class=MsoNormal>&nbsp; <o:p></o:p></p></td><td style='padding:.75pt .75pt .75pt .75pt'><p class=MsoNormal><b><span style='font-size:7.5pt;font-family:"Verdana","sans-serif"'>Thomas Goldschmidt </span></b><span style='font-size:7.5pt;font-family:"Verdana","sans-serif"'><br><br>ABB AG<br>Forschungszentrum<br>Wallstadter Straße 59<br>68526 Ladenburg<br>Office Phone: +49 6203 716134<br>Office Fax: +49 6203 716253<br>e-mail:<span style='color:blue'> thomas.goldschmidt@de.abb.com</span></span><o:p></o:p></p></td></tr></table><p class=MsoNormal style='margin-bottom:12.0pt'><br><br><span style='font-size:7.5pt;font-family:"Verdana","sans-serif";color:gray'><br>ABB AG<br>Sitz/Head Office: Mannheim <br>Registergericht/Registry Court: Mannheim<br>Handelsregisternummer/Commercial Register No.: HRB 4664<br>Geschäftsführung/Managing Board: Peter Smits (Vorsitzender), Joachim Schneider, Markus Ochsner, Hans-Georg Krabbe<br>Vorsitzender des Aufsichtsrats/Chairman of Supervisory Board: Bernhard Jucker<br><br>Diese E-Mail enthält vertrauliche und/oder rechtlich geschützte Informationen. Wenn Sie nicht der richtige Adressat sind oder diese E-Mail irrtümlich erhalten haben, informieren Sie bitte sofort den Absender und vernichten Sie diese Mail. Das unerlaubte Kopieren sowie die unbefugte Weitergabe dieser Mail ist nicht gestattet. <br><br>This e-mail may contain confidential and/or privileged information. If you are not the intended recipient (or have received this e-mail in error) please notify the sender immediately and destroy this e-mail. Any unauthorized copying, disclosure or distribution of the material in this e-mail is strictly forbidden.</span> <o:p></o:p></p><table class=MsoNormalTable border=0 cellpadding=0 width="100%" style='width:100.0%'><tr><td width="24%" valign=top style='width:24.0%;padding:.75pt .75pt .75pt .75pt'><p class=MsoNormal><b><span style='font-size:7.5pt;font-family:"Arial","sans-serif"'>&quot;Uhl, Axel&quot; &lt;axel.uhl@sap.com&gt;</span></b><span style='font-size:7.5pt;font-family:"Arial","sans-serif"'> </span><o:p></o:p></p><p><span style='font-size:7.5pt;font-family:"Arial","sans-serif"'>11.02.2011 15:05</span> <o:p></o:p></p></td><td width="75%" valign=top style='width:75.0%;padding:.75pt .75pt .75pt .75pt'><p class=MsoNormal><o:p>&nbsp;</o:p></p><table class=MsoNormalTable border=0 cellpadding=0 width="100%" style='width:100.0%'><tr><td width="6%" valign=top style='width:6.0%;padding:.75pt .75pt .75pt .75pt'><p class=MsoNormal align=right style='text-align:right'><span style='font-size:7.5pt;font-family:"Arial","sans-serif"'>To</span><o:p></o:p></p></td><td width="93%" valign=top style='width:93.0%;padding:.75pt .75pt .75pt .75pt'><p class=MsoNormal><span style='font-size:7.5pt;font-family:"Arial","sans-serif"'>Thomas Goldschmidt/DEABB/ABB@ABB, &quot;furcas-discussion@lists.furcas.org&quot; &lt;furcas-discussion@lists.furcas.org&gt;</span> <o:p></o:p></p></td></tr><tr><td valign=top style='padding:.75pt .75pt .75pt .75pt'><p class=MsoNormal align=right style='text-align:right'><span style='font-size:7.5pt;font-family:"Arial","sans-serif"'>cc</span><o:p></o:p></p></td><td valign=top style='padding:.75pt .75pt .75pt .75pt'></td></tr><tr><td valign=top style='padding:.75pt .75pt .75pt .75pt'><p class=MsoNormal align=right style='text-align:right'><span style='font-size:7.5pt;font-family:"Arial","sans-serif"'>Subject</span><o:p></o:p></p></td><td valign=top style='padding:.75pt .75pt .75pt .75pt'><p class=MsoNormal><span style='font-size:7.5pt;font-family:"Arial","sans-serif"'>RE: [furcas-discussion] [IMP] Incremental Lexer Crashes</span><o:p></o:p></p></td></tr></table><p class=MsoNormal style='margin-bottom:12.0pt'><o:p>&nbsp;</o:p></p><table class=MsoNormalTable border=0 cellpadding=0><tr><td valign=top style='padding:.75pt .75pt .75pt .75pt'></td><td valign=top style='padding:.75pt .75pt .75pt .75pt'></td></tr></table></td></tr></table><p class=MsoNormal><br><br><br><span style='font-family:"Calibri","sans-serif";color:#004080'><br>Did I miss something? Which of the horrible EMF element lifecycle aspects was at fault and how?</span> <span style='font-family:"Calibri","sans-serif";color:#004080'><br></span>&nbsp;<span style='font-family:"Calibri","sans-serif";color:#004080'><br>Cheers,</span> <span style='font-family:"Calibri","sans-serif";color:#004080'><br>-- Axel</span> <span style='font-family:"Calibri","sans-serif";color:#004080'><br></span>&nbsp;<b><span style='font-family:"Tahoma","sans-serif"'><br>From:</span></b><span style='font-family:"Tahoma","sans-serif"'> furcas-discussion-bounces@lists.furcas.org [mailto:furcas-discussion-bounces@lists.furcas.org] <b>On Behalf Of </b>Thomas Goldschmidt<b><br>Sent:</b> Friday, February 11, 2011 2:40 PM<b><br>To:</b> furcas-discussion@lists.furcas.org<b><br>Subject:</b> Re: [furcas-discussion] [IMP] Incremental Lexer Crashes</span> <br>&nbsp;<span style='font-family:"Arial","sans-serif"'><br><br>Thanks a lot! Sorry, that I had no time to do this myself.</span> <span style='font-family:"Arial","sans-serif"'><br><br>One more things about the horrible model element lifecycle in EMF :(</span> <o:p></o:p></p><table class=MsoNormalTable border=0 cellpadding=0><tr><td valign=top style='padding:.75pt .75pt .75pt .75pt'><p class=MsoNormal><img id="_x0000_i1026" src="cid:image001.gif@01CBCA05.7F5EFD50"><o:p></o:p></p></td><td style='padding:.75pt .75pt .75pt .75pt'><p class=MsoNormal>&nbsp; <o:p></o:p></p></td><td style='padding:.75pt .75pt .75pt .75pt'><p class=MsoNormal><b><span style='font-family:"Verdana","sans-serif"'>Thomas Goldschmidt </span></b><span style='font-family:"Verdana","sans-serif"'><br><br>ABB AG<br>Forschungszentrum<br>Wallstadter Straße 59<br>68526 Ladenburg<br>Office Phone: +49 6203 716134<br>Office Fax: +49 6203 716253<br>e-mail:<span style='color:blue'> thomas.goldschmidt@de.abb.com</span></span><o:p></o:p></p></td></tr></table><p><br><br><span style='font-family:"Verdana","sans-serif";color:gray'><br><br>ABB AG<br>Sitz/Head Office: Mannheim <br>Registergericht/Registry Court: Mannheim<br>Handelsregisternummer/Commercial Register No.: HRB 4664<br>Geschäftsführung/Managing Board: Peter Smits (Vorsitzender), Joachim Schneider, Markus Ochsner, Hans-Georg Krabbe<br>Vorsitzender des Aufsichtsrats/Chairman of Supervisory Board: Bernhard Jucker<br><br>Diese E-Mail enthält vertrauliche und/oder rechtlich geschützte Informationen. Wenn Sie nicht der richtige Adressat sind oder diese E-Mail irrtümlich erhalten haben, informieren Sie bitte sofort den Absender und vernichten Sie diese Mail. Das unerlaubte Kopieren sowie die unbefugte Weitergabe dieser Mail ist nicht gestattet. <br><br>This e-mail may contain confidential and/or privileged information. If you are not the intended recipient (or have received this e-mail in error) please notify the sender immediately and destroy this e-mail. Any unauthorized copying, disclosure or distribution of the material in this e-mail is strictly forbidden.</span> <o:p></o:p></p><table class=MsoNormalTable border=0 cellpadding=0 width="100%" style='width:100.0%'><tr><td width="45%" valign=top style='width:45.0%;padding:.75pt .75pt .75pt .75pt'><p class=MsoNormal><b><span style='font-family:"Arial","sans-serif"'>Stephan Erb &lt;stephan@dev.static-void.de&gt;</span></b><span style='font-family:"Arial","sans-serif"'> <br>Sent by: furcas-discussion-bounces@lists.furcas.org</span> <o:p></o:p></p><p><span style='font-family:"Arial","sans-serif"'>11.02.2011 14:37</span> <o:p></o:p></p></td><td width="54%" valign=top style='width:54.0%;padding:.75pt .75pt .75pt .75pt'><p class=MsoNormal><o:p>&nbsp;</o:p></p><table class=MsoNormalTable border=0 cellpadding=0 width="100%" style='width:100.0%'><tr><td width="12%" valign=top style='width:12.0%;padding:.75pt .75pt .75pt .75pt'><p class=MsoNormal align=right style='text-align:right'><span style='font-family:"Arial","sans-serif"'>To</span><o:p></o:p></p></td><td width="87%" valign=top style='width:87.0%;padding:.75pt .75pt .75pt .75pt'><p class=MsoNormal><span style='font-family:"Arial","sans-serif"'>furcas-discussion@lists.furcas.org</span> <o:p></o:p></p></td></tr><tr><td valign=top style='padding:.75pt .75pt .75pt .75pt'><p class=MsoNormal align=right style='text-align:right'><span style='font-family:"Arial","sans-serif"'>cc</span><o:p></o:p></p></td><td valign=top style='padding:.75pt .75pt .75pt .75pt'></td></tr><tr><td valign=top style='padding:.75pt .75pt .75pt .75pt'><p class=MsoNormal align=right style='text-align:right'><span style='font-family:"Arial","sans-serif"'>Subject</span><o:p></o:p></p></td><td valign=top style='padding:.75pt .75pt .75pt .75pt'><p class=MsoNormal><span style='font-family:"Arial","sans-serif"'>Re: [furcas-discussion] [IMP] Incremental Lexer Crashes</span><o:p></o:p></p></td></tr></table><p class=MsoNormal><br><br>&nbsp; <o:p></o:p></p><p><o:p>&nbsp;</o:p></p><table class=MsoNormalTable border=0 cellpadding=0><tr><td valign=top style='padding:.75pt .75pt .75pt .75pt'></td><td valign=top style='padding:.75pt .75pt .75pt .75pt'></td></tr></table></td></tr></table><p><br><br><br><span style='font-family:"Courier New"'><br><br>For the record: It's fixed in </span><a href="https://github.com/FURCAS-dev/FURCAS/commit/397d33c6ccc9b020041ed68fab741380cdd61a78"><span style='font-family:"Courier New"'>https://github.com/FURCAS-dev/FURCAS/commit/397d33c6ccc9b020041ed68fab741380cdd61a78<br><br>On Sat, 2011-02-05 at 15:58 +0100, Stephan Erb wrote:<br>&gt; Hey Thomas,<br>&gt; <br>&gt; the IMP branch contains the first partially working IMP editor (see<br>&gt; [1]). Unfortunately the incremental lexer is crashing regularly and I am<br>&gt; unable to find the cause.<br>&gt; <br>&gt; The lexer dies with: <br>&gt; <br>&gt; java.lang.ArrayIndexOutOfBoundsException<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;at java.lang.System.arraycopy(Native Method)<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;at org.eclipse.emf.common.util.BasicEList.addUnique(BasicEList.java:446)<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;at org.eclipse.emf.common.notify.impl.NotifyingListImpl.doAddUnique(NotifyingListImpl.java:393)<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;at org.eclipse.emf.common.notify.impl.NotifyingListImpl.addUnique(NotifyingListImpl.java:377)<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;at org.eclipse.emf.common.util.AbstractEList.add(AbstractEList.java:345)<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;at com.sap.ide.cts.parser.incremental.IncrementalLexer.addTokenIfNecessaryAndUpdateOffetsAndLengths(IncrementalLexer.java:675)<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;at com.sap.ide.cts.parser.incremental.IncrementalLexer.lexPhase(IncrementalLexer.java:528)<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;at com.sap.ide.cts.parser.incremental.IncrementalLexer.lex(IncrementalLexer.java:160)<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;at com.sap.ide.cts.parser.incremental.antlr.ANTLRIncrementalLexerAdapter.lex(ANTLRIncrementalLexerAdapter.java:301)<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;at com.sap.furcas.ide.editor.imp.services.FurcasParseController.parse(FurcasParseController.java:138)<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;at com.sap.furcas.ide.editor.commands.ParseCommand.execute(ParseCommand.java:30)<br>&gt; <br>&gt; At lines 518 and 519 within the IncrementalLexer we seem to have<br>&gt; inconsistently versioned TextBlocks: We have a token and its parent<br>&gt; block within the previous version. Now we map both to the current<br>&gt; version. However, during this process, the parent child relation seems<br>&gt; to get lost. The block does no longer contain the token. <br>&gt; <br>&gt; Given your experience with all this TextBlocks versioning, any idea<br>&gt; where I should start digging? <br>&gt; <br>&gt; Thanks!<br>&gt; Stephan<br>&gt; <br>&gt; PS: If you want to try it yourself you have to install IMP from<br>&gt; </span></a><a href="http://download.eclipse.org/technology/imp/updates/"><span style='font-family:"Courier New"'>http://download.eclipse.org/technology/imp/updates/<br>&gt; <br>&gt; <br>&gt; [1]<br>&gt; </span></a><a href="https://github.com/FURCAS-dev/FURCAS/blob/imp/DSLEngineering/com.sap.furcas.ide.editor/src/com/sap/furcas/ide/editor/imp/"><span style='font-family:"Courier New"'>https://github.com/FURCAS-dev/FURCAS/blob/imp/DSLEngineering/com.sap.furcas.ide.editor/src/com/sap/furcas/ide/editor/imp/<br>&gt; <br>&gt; _______________________________________________<br>&gt; Furcas-discussion mailing list<br>&gt; Furcas-discussion@lists.furcas.org<br>&gt; </span></a><a href="http://lists.furcas.org/cgi-bin/mailman/listinfo/furcas-discussion"><span style='font-family:"Courier New"'>http://lists.furcas.org/cgi-bin/mailman/listinfo/furcas-discussion<br><br><br>_______________________________________________<br>Furcas-discussion mailing list<br>Furcas-discussion@lists.furcas.org</span></a><u><span style='color:blue'><br></span></u><a href="http://lists.furcas.org/cgi-bin/mailman/listinfo/furcas-discussion"><span style='font-family:"Courier New"'>http://lists.furcas.org/cgi-bin/mailman/listinfo/furcas-discussion</span></a> <o:p></o:p></p></div></div></body></html>