!752 !include #1004828 // Java Analysis sS snippetID = "#1004812"; p { loadConcepts(); autoSaveConcepts(); deleteAll(JavaToken.class); // load snippet (SSnippet) if we don't have it yet ensureHas(SSnippet.class, r { new SSnippet s; s.snippetID = snippetID; s.grabbedWhen = now(); s.text = loadSnippet(snippetID); }); // Do a javaTok on every snippet ensureHas(SSnippet.class, JavaTok.class, voidfunc(SSnippet s) { new JavaTok j; j.onSnippet.set(s); assertNotNull(s.text); j.text = s.text; j.tok = javaTok(s.text); }); // Make the tokens forEvery(JavaTok.class, voidfunc(JavaTok j) { if (j.tok == null) ret; // Find existing tokens Map tokens = indexByField(findBackRefs(j, JavaToken.class), "index"); // Let's just do the C tokens int charIndex = 0; for (int i = 0; i < l(j.tok); i++) { if (odd(i) && tokens.get(i) == null) new JavaToken(j, i, charIndex); charIndex += l(j.tok.get(i)); } }); }