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).

// We should really switch to tokenizing...

!609

!596

!629

String s = loadMainJava();

// quicknew stuff

s = s.replaceAll("new\\s+(\\w+)\\s+(\\w+);", "$1 $2 = new $1();");
s = s.replaceAll("new\\s+L<([\\w\\[\\]<>,\\s]+)>\\s+(\\w+);", "List<$1> $2 = new ArrayList<$1>();");
s = s.replaceAll("new\\s+List<([\\w\\[\\]<>,\\s]+)>\\s+(\\w+);", "List<$1> $2 = new ArrayList<$1>();");
s = s.replaceAll("new\\s+\\(Hash\\)Set<(\\w+)>\\s+(\\w+);", "Set<$1> $2 = new HashSet<$1>();");
s = s.replaceAll("new\\s+\\(Tree\\)Set<(\\w+)>\\s+(\\w+);", "Set<$1> $2 = new TreeSet<$1>();");
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.
s = s.replaceAll("new\\s+\\(Hash\\)Map<([\\w\\s,]+)>\\s+(\\w+);", "Map<$1> $2 = new HashMap<$1>();");
s = s.replaceAll("new\\s+\\(Tree\\)Map<([\\w\\s,]+)>\\s+(\\w+);", "Map<$1> $2 = new TreeMap<$1>();");

// TreeMap when string as key
s = s.replaceAll("new\\s+Map<(S,[\\w\\s,]+)>\\s+(\\w+);", "Map<$1> $2 = new TreeMap<$1>();");
s = s.replaceAll("new\\s+Map<(String,[\\w\\s,]+)>\\s+(\\w+);", "Map<$1> $2 = new TreeMap<$1>();");

// HashMap is default for everything else
s = s.replaceAll("new\\s+Map<([\\w\\s,]+)>\\s+(\\w+);", "Map<$1> $2 = new HashMap<$1>();");

s = s.replaceAll("new\\s+(\\w+<[\\w\\s,]+>)\\s+(\\w+);", "$1 $2 = new $1();");

// Constructor calls without parantheses
// So you can say something like: predictors.add(new P1);

s = s.replaceAll("new\\s+(\\w+)\\s*([,\\);])", "new $1()$2");

// replace "new List" with "new ArrayList"
s = s.replaceAll("new\\s+List\\s*\\(", "new ArrayList(");

// for args

s = s.replace("for args {", "for (int i = 0; i < args.length; i++) { final String arg = args[i];");

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: 1347 / 26127
Referenced in: [show references]