Libraryless. Click here for Pure Java version (129L/2K/5K).
// Syntax: actionListener { doSomething(); }
!592 1000265 // auto-importer, standard function adder
public class main {
public static void main(String[] args) throws Exception {
String s = loadMainJava();
Pattern regex = Pattern.compile("actionListener\\s*\\{");
for (int i = 0; i < 100; i++) {
Matcher matcher = regex.matcher(s);
if (!matcher.find())
break;
System.out.println("Iteration " + (i+1));
int start = matcher.start(), end = matcher.end();
int endOfBlock = findEndOfBlock(s, end);
String listener = "new java.awt.event.ActionListener() {\n" +
"public void actionPerformed(java.awt.event.ActionEvent _evt) {\n" +
s.substring(end, endOfBlock) + "\n}";
s = s.substring(0, start) + listener + s.substring(endOfBlock);
}
saveMainJava(s);
}
// start is the index AFTER the opening bracket
// returns index OF closing bracket
static int findEndOfBlock(String s, int start) {
int level = 1;
for (int i = start; i < s.length(); i++) {
if (s.charAt(i) == '{') ++level;
else if (s.charAt(i) == '}') --level;
if (level == 0)
return i;
}
return s.length();
}
}Began life as a copy of #605
download show line numbers debug dex old transpilations
Travelled to 17 computer(s): aoiabmzegqzx, bhatertpkbcr, cbybwowwnfue, cfunsshuasjs, dhtvkmknsjym, gwrvuhgaqvyk, ishqpsrjomds, lpdgvwnxivlt, mqqgnosmbjvj, onxytkatvevr, pyentgdyhuwx, pzhvpgtvlbxg, qbtsjoyahagl, teubizvjbppd, tslmcundralx, tvejysmllsmz, vouqrxazstgt
No comments. add comment