From a20edfd4bfca44b26d99238610435480d1097de3 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 13 Apr 2026 03:08:17 +0000 Subject: [PATCH 1/5] Plan: fix codc nested unit paths and register sequencing Agent-Logs-Url: https://github.com/DanexCodr/Coderive/sessions/4f6f620c-7443-4a6b-a3d7-26c36bfcdbdc Co-authored-by: DanexCodr <216312766+DanexCodr@users.noreply.github.com> --- source_.jar | Bin 355393 -> 355393 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/source_.jar b/source_.jar index 1aa1a7a5918e4e5a5f2515dabb48f2338acea746..07ca843cd58f296167d51b52bb043d931a4d8dfb 100644 GIT binary patch delta 12886 zcmZ`<2Ut{B_MdrgE@db~2Ps1pR8V@cAdFoQ0b5i`P!tpuHJYNq;Fwqvqee%)F-FB? zZ|D0ShdJeU&OP_ubIY5?OTLYl zd|eB2Wu0E5adOi99M zf@Fd=1Ib41W+W!5JCYiyHjgA9Bqdq$ z-5f0jH;OmJZ69*ayA=Vc@9KVzyge~oCU1v^Ct2=$xwxz0Em2+^jShQlK{C<%btFyR z{g9;j5c9gv0QgoP?ORGf>x+^s2mCydb=uEOLPZRuAkfhsJG{dq)G`KUQY0loJ&C>( zTthU#s3#f~T7uM4l90p`yqUA*NEo)K{!G{kgWwNDvL)eHBE7rPaufIotal zo_rhCvQmbUj}@t%k-qURwJh{CHFx|zZ=RVG=C{q(#vgn8LTVVPKP4J|SChYKAo^9m`5rG<`!uzFZD zAsiY$7=ax}j3M^;k@Xm3z5nP`qC>~#lG^&BzR3QjD1g5HRXhm4_A5EVfLgrDMVgpG+Ks+%Xm3BQaHuMY5q1vu}BQQZ|y)lU5+wY- zTz_^lgJR|ib+ymwYI-AI@-7Cgagt!TlDmO;T}h9 zO#SkYJTTDuy2CTN097Hm+jV&Tupc8R>KE?&c!RR_O-Z{68P=|P?GoxI69)2Fa$alH zI=35rS&d0uhR7PtmmYkkQ4T;IYp92|3NvS2>aESkh^$vbw1wDqYkZjYCdOvU3-YE9jr6m%Qq#o_VxO(rCsyi5wA9T_5ISEw7cVq#V3J+Ccvtd`+S$ z&vlEWJLut;MUo#$^sh^YssB%|mQI0$uUR84MrvFu?LrFeO+^bGm$n#@L6hkGev#sv z`=vuNh2!k+IIC2v(VUTa)&TenCT}I%NQ3N2k~9zb-zahM zlxdx??)H-Vk;-r0GA(RY4_|o^>AvkJKSABM{beJm90-tW>7VX_O4tQKax<#r2g^Rx z(uqcyR%YwWP??q!>)bF|48n)uat2u^N6JIUfjLT8&+n)-aaXkLN|J*y@=C-V+DUO; z-C6EI#@o9<8)@b^Mn8M}B+Q%-`An@G!M~1`za{>nu>8ZwFXl6hz;B9^e?X|qT@@z| z@p2b|Fg|@{&Ti1`$@l0%^VtOXQ`GF7DAO*B=O)R2&^TB+yu;b;pcts-3Ad$SK3|d< zpOGvdLG^?bxsXD8HC4Vr|5T)ley~<&$fKz}pLUnOLfy?holp-c;wHF>d2TTkoTOJpi5t(G%B zkbUe{7VGpkgjJMu>)dik+j7=)a&{<;@%!(bgSQ#Y8_v6Zjs zEU0X`?i0kH?uT`>pg?xz8@KB8ylktErfT(89rizeW}EH?(jMD&-y)@aXH_vrK6nRd zTA$gW`-8HQe?WJPTzh`1d!C|N@}=&wBQ^8Fiy_)c4jN5AUmkW-7iwL8P4^nr6Q7&9 z#k3Y|xTl-tM7lpW&Whd-2Z)VvSUv(cdb4K!sXMQSLj*TSEEVYhiDe^QA~D(|06#FK z+4K&Kw^`4X$4?tKxjMc8_F6u&IEz5+KZA<4nY+pi>kN;RS)kl(YO)mSeR-+OsNHuv zvp`+5DMD*0lmguC0QQ0f2uG8Ue=jqSFkFmGzdf8;27asH=?G8Dr@_2RXm-;v>HPTtm^{2N{0X3c<+~coJKj0c|k< z*{b~tV}2p1jS8^d(5IV1H5w01GvCKp7Byi0p;X@!Ai4|-K~I|s0{&OFXmy!9&p~9T z$N>`2VAe6-jnbxo!zBzz(wCr$k<~`u_N1j?weD(?WhfwEBommv3V7I^!IOWP`dPBbyxH(Bj#ykCmPM0-5BmG`G15`7avjzbQkksMkU4k zg^#7MGLoNlhpJNRE*iVcolpaPTSRzb;d%oZ%=IIf90Q|`TM2R-%tr-xg8>SJ(o- zJ#wy}C9!`eUZ#Xw-GN%;+aI`z{IJ43jofC_#ev)u$l}^Li(KJo;t<}4&Kga+%31F~ zHVB<50Is#X>tsLVz6m79qgpjA8*|;-xkB`oL?qi>VF4@)V*O}Jgst0R$c4Fd z9Q20SRIurdL9Coqb{V^NjR%!mpfXCOVhU!J81S7aYH@QuR{J=*&uJHn=~#%i0<1T} zQ=~$P4`EXgMXB}~h18|jLYOyo{ z-1t@_3!xZA$=*AhB=g6**yl7XluRFy0xt_?spOvfT;e&<@-G}Un!L7gn@5dofwF8G z89{3US=7A0IrIVqJI6tz>94YI8Le3OT1rQIkOgHp@ZTp+-T}=);HP!KVkgvvF}$3j zS`78oGn}Q7kF|>jeSHorv`nMvs`7E62+C9>eS3bpXo@Mm^TTwq#@if zn&Bp%2S-!DM~Q2BFv*)&MGHsD7PeqApC7{l_-=)L2o0J|i->LH4}eVptXpQDb`>1! zA!n`oL+t7B7?wpU#y>4%zXg@wK&5rjK$UqhtVg?~d)k_T1mv+AsvmSNI$lSknUOZ{AsMn zfSWj(bcz%GfafL{NDXT&jhlS<%W*kK8~SU5JW@8qhVa1#Sd4bQQWGUCCFe z;Ffe{VW?XxxF2i+-R`_+H)VXjHF@w(s}me5ps1)9r>9-nAnMRn7ccBS4vp^v(_J+_ z&2#o(IF>zoJo$q(;k>RJIbZM*1$wC)3n2_|>pWd-7mcR!XM2p*hezXA+s54?%VacQz^}l&fP4fA?Rh(`bJ1uxpJuGEC?fhiQXtE}8|F zb4MY|NEX|;(qwYcoGIArl7;7kf<0+~VE>WKLdogjxR^IAFb=xK+SMuZ@tLR^$w#NK z4wP-bj~~B=^F|LVSL+IZ^=f$v+!{c-&Zp4ndNof-WdZFr28n@p4Gd<=L^vmetJ2*q zl_gO$#s@D|ai}3?NJB(h6|>uFo|wuy@O7!opHzPxx$TE*uvJ_EXV^%U>diGm^%ev{ zfnRvA;Z!gTgN zRQ_<=e&tKZO7=*NCZTN{JUpG5Fe_M^VP&pOXI=2?j&wQ+?BeEh7R+y^vv6upKvU}V z6M(ZcNu%l17RQ`=7dyg-?)`aohB)MvWI)8tCeuTkjP62qBD=x7pq1^x?dG@w%0RDVEy`Txcw&P&oH6iEnM;;eadO{ff1Jyp>OX(-=}Qr(tj&hN`2E%+!l@Z{um?DDuR2_hMcY@Tra-b56iou>!W2 zF{=Jurl`W}7DxW57YihP+q)Rh?Wod!dyIf?c|C)dth_3d@?SKzjqJTlW+bfW;h&$z z-OvGeR1?75yU3>R&s}=A^cUzssPyqysMzbd6!Xt}!!#@aRdie0o80zM*e@1K9=!7; zrM_-h^ke!#==OWh+3g7U+1@Ob^7&Q2Wj#&cp&vZznh=)7l1SyRVeh`333KoXL=$!3|Dl6%>dl3~va*!d>r!V^qN)$%{rrQ0nCVKxk1RSh+} zy=2pmqIP%xLG$r>Q1t*+bzx~VF%zj|mRkHKKw7F`Otl{SFg2lllw)7(i!nQge10F6 zO{1gWgmywHpt!;^psu7I3wUB*CY ze)fsxwSATDI(NtWxl17a1aK*n7JIR zpTHB=7R7vcwMgaie#-G?;FakQazW)8dsTj{A4{ZEE-haeTLt1;cvRDqyZ2YFxrdn0L947&oBB|0_`{H@dL={l8|!uf53dI8Klgo z*0+lGW3O(27<*p}^WFyuocj+H*K6_M308%WPXxOXzEY!ixeZRe4r8Yv+`gJ^9H`V; z!_Jxli<_{0$-Vy((n6S0#6T zUXfiFGQVpmgH!%BsNF4?cou;5Gk-9Pp^o3UXx*z(26zz)-KnmO0k=gz6yz`+-#u6? zZKnrQNVN~!$h0{^hI1WO(bpf_WWMC0=BK*Yt1v?E>FkdQpR}s#`IEd;AvpC}YK0>oHyYaUex3;Kpn%!rBw#K%$!_)m zcn&2``<;d5eP`LJUG4Q*aaH>_a2Ny*V}Z7O8u%+i8NP(%hXl$(7vboLOZ%1@^2yOM zSD})V&w?q{h7W!mIUay@FxX++Vf!?gr@0B$EpD=b4;?FVdQ8Ch8-%RDAh&-tu;5C4 z*Hr*?10GfH@%RFkMmLxqFMYmo9C$4Quj*y#DNihb6uwu$#E|^sVnoHC0HlRV4f|Nz zr@{Q5mx$qtm+Z&&g-Y+_&i!M@zd>uMeX`6ydJFyGh2mY&%tFeD&KFZ3&i58FPpS?n zeXkrl2ngALpe~8m3zd>+sDB)B5meTKifT19zv<6!6hizb{AG`Jr||VJ-~AV^*Sn$B z>XEZEK*Y9d81ttf>QXNK`XzY48K6oKzcEa?xcj}s<*7$N1z$l#0&V#;nEM3@w0S}J z`ggdJnWi`X9go*`FT>djWR?=}E002ivkXrA3s z=$!212sdsN`Pm#TWdDfjc?BNKA6VGvsc3XW?!Ne5J%__K*Lz0bp>nsIHyN8@mYAue!)Vwha6v zV79~x8Pr(A+B_v_+fOk7O11UkrK831wQe*8@mW_Kx?%kKXfZz?3-({#1ZesgaodzP zhP0y-1RH*^A!;LKX#M34?%4d*;7m0!c;gsas@IMs>#QU(>9WR(1*urD(~|`#{H&v0 zsoo=0qEduPNs8=jUre<{1pZ>GP=T>#;JHQ0Kp1yA>-~R0X#F8H^>i7VF7#Iyi56}b zFyk}CRDL%DX2pGg!47K{vP0d43DiFw?^P^Tv;1OmzorMu0{F=uvY}lG7=LQY^{H?s zznN-39LswPvrEOwTfi~5$_xJs!TP~=QB^ItM~Qe3s$72d%;DNn7G$4|w@N6S*+R;9 zBC&KunpFxg|Zi~9VY;njU&LA#cdR(ESA07bx2g&u@CzI z_&Hc2RLdPVjAwl?HsxJ-^>~&}OX<^<732R8Zl{Cbw;9>0aLW0N@vJkyJDx?;0zm5WA+F!p!~v!|cS5!&hWq7wqC~f?c;w_U6|nD)q(huaE*GY)juR(P;1o z0WBZ+A;1Kdhvs`G5bB^q!u-ucav(Q=Im$vNl5G1)A-i`HstH1)%q(OLcZBT09a!gE zWIqYn^v6P0|5y&@)#bvjsDdz$`*U*@+#fYnF!!|qu*~nR5b`5J-eaas9zpqulHIBY zLuoMXx4RSM@s$jJw#t>C7zAz=mh?lX-IdBA@q;>Z^%7|PXYllG$pX*@exs6&prP~9 z!|%Rd1gu7QR4?|;x!c-6(r>3~C$UHhYf-P~0~dqAKkbe9(MjUh07@P3+JP8BJZG{p zc{Vi<{O>kbjb;bT9Mxbl=PIfTcIX1Q>l8(Qmt~lL4Rqxl=tuR^-uHljZkjCWwObXX zn0+ePy*||$2!;Z_Jg!1s2FI(}A@(QuSE|I-V52a9=9(~v-*0)5Ip#QU3PC&F6tb+F pij1J&3J$&J3+MG?a3<>m`DppTUF;M#oK#wW@MYHs{$vX4`~QF(#N_}0 delta 12884 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 Date: Mon, 13 Apr 2026 03:09:17 +0000 Subject: [PATCH 2/5] Fix codc unit path nesting and stabilize bytecode register counters Agent-Logs-Url: https://github.com/DanexCodr/Coderive/sessions/4f6f620c-7443-4a6b-a3d7-26c36bfcdbdc Co-authored-by: DanexCodr <216312766+DanexCodr@users.noreply.github.com> --- source_.jar | Bin 355393 -> 355516 bytes src/main/cod/demo/src/bin/project.codc | Bin 0 -> 460683 bytes src/main/java/cod/ir/IRManager.java | 9 +++++++-- src/main/java/cod/ptac/Lowerer.java | 7 +++++++ src/main/java/cod/runner/CommandRunner.java | 6 ++++-- src/main/java/cod/runner/TestRunner.java | 3 ++- 6 files changed, 20 insertions(+), 5 deletions(-) create mode 100644 src/main/cod/demo/src/bin/project.codc diff --git a/source_.jar b/source_.jar index 07ca843cd58f296167d51b52bb043d931a4d8dfb..0203767a5e0031f1ba79caad32e52dbe9571ee1e 100644 GIT binary patch delta 15096 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 uJ`iPrgJb=lN%Xg2dhumy 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 UZQr3zN*%zM2(Zw52n@{s1I(?gjsO4v diff --git a/src/main/cod/demo/src/bin/project.codc b/src/main/cod/demo/src/bin/project.codc new file mode 100644 index 0000000000000000000000000000000000000000..2e498287af2d8256a431e14e41749177160fe135 GIT binary patch literal 460683 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 literal 0 HcmV?d00001 diff --git a/src/main/java/cod/ir/IRManager.java b/src/main/java/cod/ir/IRManager.java index 220d910d..a548e590 100644 --- a/src/main/java/cod/ir/IRManager.java +++ b/src/main/java/cod/ir/IRManager.java @@ -210,7 +210,7 @@ private void putArtifactCache(String unit, String className, Artifact artifact) } private File getIRFile(String unit, String className) { - String path = projectRoot + "/src/" + BIN_DIR + "/" + unit + "/" + className + IR_EXT; + String path = projectRoot + "/src/" + BIN_DIR + "/" + toUnitPath(unit) + "/" + className + IR_EXT; return new File(path); } @@ -220,7 +220,12 @@ private File getContainerFile(String unit) { } private String getContainerEntryName(String unit, String className) { - return unit + "/" + className + IR_EXT; + return toUnitPath(unit) + "/" + className + IR_EXT; + } + + private String toUnitPath(String unit) { + if (unit == null) return ""; + return unit.replace('.', '/'); } private String getProjectIndexEntryName() { diff --git a/src/main/java/cod/ptac/Lowerer.java b/src/main/java/cod/ptac/Lowerer.java index bac3a95d..47b37717 100644 --- a/src/main/java/cod/ptac/Lowerer.java +++ b/src/main/java/cod/ptac/Lowerer.java @@ -14,6 +14,7 @@ public final class Lowerer { private int lambdaCounter = 0; public Unit lower(String unitName, Type type) { + resetCounters(); Unit unit = new Unit(); unit.unitName = unitName; unit.className = type != null ? type.name : null; @@ -34,6 +35,12 @@ public Unit lower(String unitName, Type type) { return unit; } + private void resetCounters() { + tempCounter = 0; + patternCounter = 0; + lambdaCounter = 0; + } + private Function lowerMethod(Method method, Unit unit) { Function fn = new Function(); fn.name = method != null ? method.methodName : "anonymous"; diff --git a/src/main/java/cod/runner/CommandRunner.java b/src/main/java/cod/runner/CommandRunner.java index 3b17d708..849d91e5 100644 --- a/src/main/java/cod/runner/CommandRunner.java +++ b/src/main/java/cod/runner/CommandRunner.java @@ -139,7 +139,8 @@ private void handleCompileCommand(String[] args) throws Exception { int compiled = 0; for (Type type : ast.unit.types) { bm.save(ast.unit.name, type); - System.out.println("Compiled (CodP-TAC artifact): " + type.name + " → .codc/" + ast.unit.name + "/" + type.name + ".codb"); + String unitPath = ast.unit.name == null ? "" : ast.unit.name.replace('.', '/'); + System.out.println("Compiled (CodP-TAC artifact): " + type.name + " → .codc/" + unitPath + "/" + type.name + ".codb"); compiled++; } @@ -227,7 +228,8 @@ private void compileToBytecode(Program ast) { try { irManager.save(unitName, type); compiled++; - DebugSystem.debug(NAME + LOG_TAG, "Compiled CodP-TAC artifact: " + type.name + " → .codc/" + unitName + "/" + type.name + ".codb"); + String unitPath = unitName.replace('.', '/'); + DebugSystem.debug(NAME + LOG_TAG, "Compiled CodP-TAC artifact: " + type.name + " → .codc/" + unitPath + "/" + type.name + ".codb"); } catch (Exception e) { DebugSystem.warn(NAME + LOG_TAG, "Failed to compile " + type.name + ": " + e.getMessage()); } diff --git a/src/main/java/cod/runner/TestRunner.java b/src/main/java/cod/runner/TestRunner.java index 28d36df7..95054228 100644 --- a/src/main/java/cod/runner/TestRunner.java +++ b/src/main/java/cod/runner/TestRunner.java @@ -312,7 +312,8 @@ private void compileToBytecode(Program ast) { try { irManager.save(unitName, type); compiled++; - DebugSystem.debug(NAME + LOG_TAG, "Compiled CodP-TAC artifact: " + type.name + " → .codc/" + unitName + "/" + type.name + ".codb"); + String unitPath = unitName.replace('.', '/'); + DebugSystem.debug(NAME + LOG_TAG, "Compiled CodP-TAC artifact: " + type.name + " → .codc/" + unitPath + "/" + type.name + ".codb"); } catch (Exception e) { DebugSystem.warn(NAME + LOG_TAG, "Failed to compile " + type.name + ": " + e.getMessage()); } From c571995b565fb33a0d1c1773dc85e9b830ba9e4d Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 13 Apr 2026 03:10:03 +0000 Subject: [PATCH 3/5] Remove generated demo project.codc artifact from repo changes Agent-Logs-Url: https://github.com/DanexCodr/Coderive/sessions/4f6f620c-7443-4a6b-a3d7-26c36bfcdbdc Co-authored-by: DanexCodr <216312766+DanexCodr@users.noreply.github.com> --- src/main/cod/demo/src/bin/project.codc | Bin 460683 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 src/main/cod/demo/src/bin/project.codc diff --git a/src/main/cod/demo/src/bin/project.codc b/src/main/cod/demo/src/bin/project.codc deleted file mode 100644 index 2e498287af2d8256a431e14e41749177160fe135..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 460683 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 From 4356ae8b83f4807c93dddfc3d84b1362b8ec203a Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 13 Apr 2026 03:12:32 +0000 Subject: [PATCH 4/5] Normalize unit path formatting consistently in runners Agent-Logs-Url: https://github.com/DanexCodr/Coderive/sessions/4f6f620c-7443-4a6b-a3d7-26c36bfcdbdc Co-authored-by: DanexCodr <216312766+DanexCodr@users.noreply.github.com> --- src/main/java/cod/runner/CommandRunner.java | 8 ++++++-- src/main/java/cod/runner/TestRunner.java | 6 +++++- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/main/java/cod/runner/CommandRunner.java b/src/main/java/cod/runner/CommandRunner.java index 849d91e5..19479991 100644 --- a/src/main/java/cod/runner/CommandRunner.java +++ b/src/main/java/cod/runner/CommandRunner.java @@ -139,7 +139,7 @@ private void handleCompileCommand(String[] args) throws Exception { int compiled = 0; for (Type type : ast.unit.types) { bm.save(ast.unit.name, type); - String unitPath = ast.unit.name == null ? "" : ast.unit.name.replace('.', '/'); + String unitPath = toUnitPath(ast.unit.name); System.out.println("Compiled (CodP-TAC artifact): " + type.name + " → .codc/" + unitPath + "/" + type.name + ".codb"); compiled++; } @@ -228,7 +228,7 @@ private void compileToBytecode(Program ast) { try { irManager.save(unitName, type); compiled++; - String unitPath = unitName.replace('.', '/'); + String unitPath = toUnitPath(unitName); DebugSystem.debug(NAME + LOG_TAG, "Compiled CodP-TAC artifact: " + type.name + " → .codc/" + unitPath + "/" + type.name + ".codb"); } catch (Exception e) { DebugSystem.warn(NAME + LOG_TAG, "Failed to compile " + type.name + ": " + e.getMessage()); @@ -289,4 +289,8 @@ private Type findMainType(Program ast) { } return !ast.unit.types.isEmpty() ? ast.unit.types.get(0) : null; } + + private String toUnitPath(String unitName) { + return unitName == null ? "" : unitName.replace('.', '/'); + } } diff --git a/src/main/java/cod/runner/TestRunner.java b/src/main/java/cod/runner/TestRunner.java index 95054228..a241dbed 100644 --- a/src/main/java/cod/runner/TestRunner.java +++ b/src/main/java/cod/runner/TestRunner.java @@ -312,7 +312,7 @@ private void compileToBytecode(Program ast) { try { irManager.save(unitName, type); compiled++; - String unitPath = unitName.replace('.', '/'); + String unitPath = toUnitPath(unitName); DebugSystem.debug(NAME + LOG_TAG, "Compiled CodP-TAC artifact: " + type.name + " → .codc/" + unitPath + "/" + type.name + ".codb"); } catch (Exception e) { DebugSystem.warn(NAME + LOG_TAG, "Failed to compile " + type.name + ": " + e.getMessage()); @@ -387,4 +387,8 @@ private Type findMainType(Program ast) { } return !ast.unit.types.isEmpty() ? ast.unit.types.get(0) : null; } + + private String toUnitPath(String unitName) { + return unitName == null ? "" : unitName.replace('.', '/'); + } } From ec06cb16f3791e1889139400890bd06a73a6ae3e Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 13 Apr 2026 03:14:17 +0000 Subject: [PATCH 5/5] Deduplicate unit path normalization via IRManager helper Agent-Logs-Url: https://github.com/DanexCodr/Coderive/sessions/4f6f620c-7443-4a6b-a3d7-26c36bfcdbdc Co-authored-by: DanexCodr <216312766+DanexCodr@users.noreply.github.com> --- src/main/java/cod/ir/IRManager.java | 2 +- src/main/java/cod/runner/CommandRunner.java | 7 ++----- src/main/java/cod/runner/TestRunner.java | 5 +---- 3 files changed, 4 insertions(+), 10 deletions(-) diff --git a/src/main/java/cod/ir/IRManager.java b/src/main/java/cod/ir/IRManager.java index a548e590..02a8263f 100644 --- a/src/main/java/cod/ir/IRManager.java +++ b/src/main/java/cod/ir/IRManager.java @@ -223,7 +223,7 @@ private String getContainerEntryName(String unit, String className) { return toUnitPath(unit) + "/" + className + IR_EXT; } - private String toUnitPath(String unit) { + public static String toUnitPath(String unit) { if (unit == null) return ""; return unit.replace('.', '/'); } diff --git a/src/main/java/cod/runner/CommandRunner.java b/src/main/java/cod/runner/CommandRunner.java index 19479991..85a3346c 100644 --- a/src/main/java/cod/runner/CommandRunner.java +++ b/src/main/java/cod/runner/CommandRunner.java @@ -139,7 +139,7 @@ private void handleCompileCommand(String[] args) throws Exception { int compiled = 0; for (Type type : ast.unit.types) { bm.save(ast.unit.name, type); - String unitPath = toUnitPath(ast.unit.name); + String unitPath = IRManager.toUnitPath(ast.unit.name); System.out.println("Compiled (CodP-TAC artifact): " + type.name + " → .codc/" + unitPath + "/" + type.name + ".codb"); compiled++; } @@ -228,7 +228,7 @@ private void compileToBytecode(Program ast) { try { irManager.save(unitName, type); compiled++; - String unitPath = toUnitPath(unitName); + String unitPath = IRManager.toUnitPath(unitName); DebugSystem.debug(NAME + LOG_TAG, "Compiled CodP-TAC artifact: " + type.name + " → .codc/" + unitPath + "/" + type.name + ".codb"); } catch (Exception e) { DebugSystem.warn(NAME + LOG_TAG, "Failed to compile " + type.name + ": " + e.getMessage()); @@ -290,7 +290,4 @@ private Type findMainType(Program ast) { return !ast.unit.types.isEmpty() ? ast.unit.types.get(0) : null; } - private String toUnitPath(String unitName) { - return unitName == null ? "" : unitName.replace('.', '/'); - } } diff --git a/src/main/java/cod/runner/TestRunner.java b/src/main/java/cod/runner/TestRunner.java index a241dbed..88be6f2b 100644 --- a/src/main/java/cod/runner/TestRunner.java +++ b/src/main/java/cod/runner/TestRunner.java @@ -312,7 +312,7 @@ private void compileToBytecode(Program ast) { try { irManager.save(unitName, type); compiled++; - String unitPath = toUnitPath(unitName); + String unitPath = IRManager.toUnitPath(unitName); DebugSystem.debug(NAME + LOG_TAG, "Compiled CodP-TAC artifact: " + type.name + " → .codc/" + unitPath + "/" + type.name + ".codb"); } catch (Exception e) { DebugSystem.warn(NAME + LOG_TAG, "Failed to compile " + type.name + ": " + e.getMessage()); @@ -388,7 +388,4 @@ private Type findMainType(Program ast) { return !ast.unit.types.isEmpty() ? ast.unit.types.get(0) : null; } - private String toUnitPath(String unitName) { - return unitName == null ? "" : unitName.replace('.', '/'); - } }