#87 Temp detection in deENodeKit broken

closed-fixed
7
2005-05-31
2005-05-31
Anonymous
No

? def root := [1, root, 1, <import:java.lang.StringBuffer>]
# value: [1, ***CYCLE***, 1,
<import:java.lang.StringBuffer>]

? def surgeon :=
<elib:serial.makeSurgeon>.withSrcKit("de: ")
# value: <surgeon>

? def depiction := surgeon.serialize(root)
# value: "de: def t_0 := [def t_2 := 1,
# t_0,
# t_2,
# <import:java.lang.StringBuffer>]"

? surgeon.unserialize(depiction)
# problem: <IndexOutOfBoundsException: "t_0__1" not found>
#
# - EMap#get(Object)
# . ["null" => null, "false" => ..."type__uriGetter"
=> <type>].get("t_0__1")
# @ get/1:
<file:/C:/Documents%20and%20Settings/millerm1/e/src/esrc/org/erights/e/elib/serial/deSubgraphKit.emaker#:span::260:57::260:57>
# -
org.erights.e.elib.serial.deSubgraphKit$deSubgraphKit__C$deSubgraphBuilder__C#buildImport/1:
<file:/C:/Documents%20and%20Settings/millerm1/e/src/esrc/org/erights/e/elib/serial/deSubgraphKit.emaker#:span::260:15::260:25>
# . <deSubgraphBuilder>.buildImport("t_0__1")
# @ buildImport/1:
<file:/C:/Documents%20and%20Settings/millerm1/e/src/esrc/org/erights/e/elib/serial/deENodeKit.emaker#:span::199:28::199:38>
# -
org.erights.e.elib.serial.deENodeKit$deENodeKit__C$visitor__C#visitNounExpr/2:
<file:/C:/Documents%20and%20Settings/millerm1/e/src/esrc/org/erights/e/elib/serial/deENodeKit.emaker#:span::195:15::195:27>
# . <visitor>.visitNounExpr(e`t_0__1`, "t_0__1")
# - NounExpr#welcome(ETreeVisitor)
# . e`t_0__1`.welcome(<visitor>)
# @ welcome/1:
<file:/C:/Documents%20and%20Settings/millerm1/e/src/esrc/org/erights/e/elib/serial/deENodeKit.emaker#:span::208:39::208:45>
# -
org.erights.e.elib.serial.deENodeKit$deENodeKit__C$visitor__C$1#run/2
# . <...visitor$1>(1, e`t_0__1`)
# - EList#iterate(AssocFunc)
# . [e`def t_2 := 1`,
e`t_0__1`,...("java.lang.StringBuffer")`].iterate(<...visitor$1>)
# @ iterate/1
# -
org.erights.e.elib.serial.deENodeKit$deENodeKit__C$visitor__C#visitCallExpr/4:
<file:/C:/Documents%20and%20Settings/millerm1/e/src/esrc/org/erights/e/elib/serial/deENodeKit.emaker#:span::203:15::203:27>
# . <visitor>.visitCallExpr(e`__makeList.run(def
t...ang.StringBuffer"))`, e`__makeList`, "run", [e`def
t_2 := 1`, e`t_0...a.lang.StringBuffer")`])
# - CallExpr#welcome(ETreeVisitor)
# . e`__makeList.run(def t_2 :=
...("java.lang.StringBuffer"))`.welcome(<visitor>)
# @ welcome/1:
<file:/C:/Documents%20and%20Settings/millerm1/e/src/esrc/org/erights/e/elib/serial/deENodeKit.emaker#:span::276:48::276:54>
# -
org.erights.e.elib.serial.deENodeKit$deENodeKit__C$visitor__C#visitSeqExpr/2:
<file:/C:/Documents%20and%20Settings/millerm1/e/src/esrc/org/erights/e/elib/serial/deENodeKit.emaker#:span::235:15::235:26>
# . <visitor>.visitSeqExpr(e`def [t_0__1, t_0R__3] :=
Ref.promise()\ndef
...ringBuffer"))\nt_0R__3.resolve(t_0)\nres__5`, [e`def
[t_0__1, t_0...e(t_0)`, e`res__5`])
# - SeqExpr#welcome(ETreeVisitor)
# . e`def [t_0__1, t_0R__3] :=
R..._0R__3.resolve(t_0)\nres__5`.welcome(<visitor>)
# @ welcome/1:
<file:/C:/Documents%20and%20Settings/millerm1/e/src/esrc/org/erights/e/elib/serial/deENodeKit.emaker#:span::283:30::283:36>
# -
org.erights.e.elib.serial.deENodeKit$deENodeKit__C#recognize/2:
<file:/C:/Documents%20and%20Settings/millerm1/e/src/esrc/org/erights/e/elib/serial/deENodeKit.emaker#:span::170:7::170:15>
# . <deENodeKit>.recognize(e`def [t_0__1, t_0R__3] :=
Ref.promise()\ndef
...ringBuffer"))\nt_0R__3.resolve(t_0)\nres__5`,
<deSubgraphBuilder>)
# @ recognize/2:
<file:/C:/Documents%20and%20Settings/millerm1/e/src/esrc/org/erights/e/elib/serial/deSrcKit.emaker#:span::136:19::136:27>
# -
org.erights.e.elib.serial.deSrcKit$deSrcKit__C#recognize/2:
<file:/C:/Documents%20and%20Settings/millerm1/e/src/esrc/org/erights/e/elib/serial/deSrcKit.emaker#:span::133:7::133:15>
# . <deSrcKit>.recognize("def t_0 := [def t_2 := 1,\n
t_0,\n ...
<import:java.lang.StringBuffer>]", <deSubgraphBuilder>)
# @ recognize/2:
<file:/C:/Documents%20and%20Settings/millerm1/e/src/esrc/org/erights/e/elib/serial/makeSurgeon.emaker#:span::164:36::164:44>
# -
org.erights.e.elib.serial.makeSurgeon$makeSurgeon__C$surgeon__C#unserialize/1:
<file:/C:/Documents%20and%20Settings/millerm1/e/src/esrc/org/erights/e/elib/serial/makeSurgeon.emaker#:span::158:15::158:25>
# . <surgeon>.unserialize("de: def t_0 := [def t_2 :=
1,\n t_0,\n t_2,\n
<import:java.lang.StringBuffer>]")
# @ unserialize/1: <-.e#:span::4:8::4:18>
# - EExpr#evalToPair(Scope)
# . e`surgeon.unserialize(depiction)`.evalToPair(<a
Scope>)
# @ evalToPair/1:
<file:/C:/Documents%20and%20Settings/millerm1/e/src/esrc/org/erights/e/elang/cmd/cmdMakerMaker.emaker#:span::119:57::119:66>

Discussion

  • Mark Samuel Miller

    • priority: 5 --> 7
    • assigned_to: nobody --> caplet
     
  • Mark Samuel Miller

    • status: open --> closed
     
  • Mark Samuel Miller

    Logged In: YES
    user_id=54168

    The problem was that Data-E serialization still assumed that
    an E temp-name was <base>_<digits>, whereas it's now
    <base>__<digits>. (Two underbars rather than one.) With this
    assumption fixed, things seem to work again.

    This will appear in the first release after 0.8.34p.

     
  • Mark Samuel Miller

    • status: closed --> closed-fixed
     

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:





No, thanks