Not logged in.  Login/Logout/Register | List snippets | | Create snippet | Upload image | Upload data

41
LINES

< > BotCompany Repo | #680 // "quicknew" (new Type var; + for args {)

JavaX translator [tags: use-pretranspiled]

Libraryless. Click here for Pure Java version (186L/2K/6K).

1  
// We should really switch to tokenizing...
2  
3  
!609
4  
!596
5  
!629
6  
7  
String s = loadMainJava();
8  
9  
// quicknew stuff
10  
11  
s = s.replaceAll("new\\s+(\\w+)\\s+(\\w+);", "$1 $2 = new $1();");
12  
s = s.replaceAll("new\\s+L<([\\w\\[\\]<>,\\s]+)>\\s+(\\w+);", "List<$1> $2 = new ArrayList<$1>();");
13  
s = s.replaceAll("new\\s+List<([\\w\\[\\]<>,\\s]+)>\\s+(\\w+);", "List<$1> $2 = new ArrayList<$1>();");
14  
s = s.replaceAll("new\\s+\\(Hash\\)Set<(\\w+)>\\s+(\\w+);", "Set<$1> $2 = new HashSet<$1>();");
15  
s = s.replaceAll("new\\s+\\(Tree\\)Set<(\\w+)>\\s+(\\w+);", "Set<$1> $2 = new TreeSet<$1>();");
16  
s = s.replaceAll("new\\s+Set<(\\w+)>\\s+(\\w+);", "Set<$1> $2 = new TreeSet<$1>();"); // TreeSet now default - pay attention to explicitly say HashSet if you need it.
17  
s = s.replaceAll("new\\s+\\(Hash\\)Map<([\\w\\s,]+)>\\s+(\\w+);", "Map<$1> $2 = new HashMap<$1>();");
18  
s = s.replaceAll("new\\s+\\(Tree\\)Map<([\\w\\s,]+)>\\s+(\\w+);", "Map<$1> $2 = new TreeMap<$1>();");
19  
20  
// TreeMap when string as key
21  
s = s.replaceAll("new\\s+Map<(S,[\\w\\s,]+)>\\s+(\\w+);", "Map<$1> $2 = new TreeMap<$1>();");
22  
s = s.replaceAll("new\\s+Map<(String,[\\w\\s,]+)>\\s+(\\w+);", "Map<$1> $2 = new TreeMap<$1>();");
23  
24  
// HashMap is default for everything else
25  
s = s.replaceAll("new\\s+Map<([\\w\\s,]+)>\\s+(\\w+);", "Map<$1> $2 = new HashMap<$1>();");
26  
27  
s = s.replaceAll("new\\s+(\\w+<[\\w\\s,]+>)\\s+(\\w+);", "$1 $2 = new $1();");
28  
29  
// Constructor calls without parantheses
30  
// So you can say something like: predictors.add(new P1);
31  
32  
s = s.replaceAll("new\\s+(\\w+)\\s*([,\\);])", "new $1()$2");
33  
34  
// replace "new List" with "new ArrayList"
35  
s = s.replaceAll("new\\s+List\\s*\\(", "new ArrayList(");
36  
37  
// for args
38  
39  
s = s.replace("for args {", "for (int i = 0; i < args.length; i++) { final String arg = args[i];");
40  
41  
saveMainJava(s);

download  show line numbers  debug dex  old transpilations   

Travelled to 27 computer(s): aoiabmzegqzx, bhatertpkbcr, cbybwowwnfue, cfunsshuasjs, ddnzoavkxhuk, dhtvkmknsjym, exkalrxbqyxc, gwrvuhgaqvyk, hxnwyiuffukg, ishqpsrjomds, jlatgrcjtklg, jtubtzbbkimh, kmhbujppghqa, liwcxgsjrgqn, lpdgvwnxivlt, mqqgnosmbjvj, mrjhfnjfopze, nrtiiiyxqhmw, omzkqqnokwlv, onfqjnomoxuw, onxytkatvevr, pyentgdyhuwx, pzhvpgtvlbxg, teubizvjbppd, tslmcundralx, tvejysmllsmz, vouqrxazstgt

Comments [hide]

ID Author/Program Comment Date
194 #1000604 (pitcher) 2015-08-20 15:28:24

add comment

Snippet ID: #680
Snippet name: "quicknew" (new Type var; + for args {)
Eternal ID of this version: #680/1
Text MD5: e1d3a222ee4911816097e6ed97953bbb
Transpilation MD5: 4eb310df6d0a67603423699ccc2116fb
Author: stefan
Category: javax
Type: JavaX translator
Public (visible to everyone): Yes
Archived (hidden from active list): No
Created/modified: 2016-04-19 02:26:10
Source code size: 1818 bytes / 41 lines
Pitched / IR pitched: No / No
Views / Downloads: 1351 / 26135
Referenced in: [show references]