Libraryless. Click here for Pure Java version (22482L/147K).
1 | svoid dm_javaEvalModule_doIt(S s) {
|
2 | dm_javaEvalModule_doIt(s, true); |
3 | } |
4 | |
5 | svoid dm_javaEvalModule_doIt(S s, bool realEval) {
|
6 | vm_cleanPrints(); |
7 | DynModule dm = dm_current_mandatory(); |
8 | //set transpileRaw_verySilent; |
9 | //printWithIndent("[CODE] ", s);
|
10 | print("==== EVALUATING...");
|
11 | logQuotedWithDate("expressions.txt", s);
|
12 | dm.setField(expression := s); |
13 | try {
|
14 | S toEvaluate = s; // "time(func { " + s + "})";
|
15 | //O value = javaEval_dependent(toEvaluate); |
16 | long time = sysNow(); |
17 | evalJava_myProgramID_main_time.set(null); |
18 | vmBus_send('javaEval_starting, toEvaluate, realEval);
|
19 | |
20 | temp tempSetTL(veryQuickJava_onJavaSource, src |
21 | -> saveProgramTextFile("main.java", src));
|
22 | |
23 | O value = realEval ? dm_javaEval(toEvaluate) : dm_javaEvalOrInterpret(toEvaluate); |
24 | |
25 | vmBus_send('javaEval_OK, toEvaluate, value);
|
26 | //dm.setField(value := null); // to prevent eq() call on data in next line |
27 | dm.setFields(+value, error := null); |
28 | print(); |
29 | new LS info; |
30 | info.add(or(evalJava_myProgramID_main_time!, elapsedMS(time)) + " ms"); |
31 | addAll(info, quickValueInformation_list(value)); |
32 | print("[" + joinWithComma(info) + "]");
|
33 | S string = str(value); |
34 | pcall { logStructureWithDate("with-results.txt", ll(s, string)); }
|
35 | S shortened = shorten(1000, string); |
36 | print(shortened); |
37 | |
38 | dm_handleEvalResult(value, shortened); |
39 | } catch e {
|
40 | dm.setFields(value := null, error := e); |
41 | printStackTrace2(e); |
42 | vmBus_send('javaEval_error, s, e);
|
43 | } |
44 | } |
download show line numbers debug dex old transpilations
Travelled to 15 computer(s): aoiabmzegqzx, bhatertpkbcr, cbybwowwnfue, cfunsshuasjs, gwrvuhgaqvyk, irmadwmeruwu, ishqpsrjomds, lpdgvwnxivlt, mqqgnosmbjvj, pyentgdyhuwx, pzhvpgtvlbxg, tslmcundralx, tvejysmllsmz, vouqrxazstgt, xrpafgyirdlv
No comments. add comment
| Snippet ID: | #1017550 |
| Snippet name: | dm_javaEvalModule_doIt |
| Eternal ID of this version: | #1017550/27 |
| Text MD5: | f59718188d30d198e849cfb8e09aa542 |
| Transpilation MD5: | 5d71480a841767a9f6d5602b7d4b3080 |
| Author: | stefan |
| Category: | javax / stefan's os |
| Type: | JavaX fragment (include) |
| Public (visible to everyone): | Yes |
| Archived (hidden from active list): | No |
| Created/modified: | 2021-12-14 16:45:01 |
| Source code size: | 1548 bytes / 44 lines |
| Pitched / IR pitched: | No / No |
| Views / Downloads: | 762 / 1002 |
| Version history: | 26 change(s) |
| Referenced in: | [show references] |