(String s)
| 287 | |
| 288 | |
| 289 | private static Object matchSymbol(String s){ |
| 290 | Matcher m = symbolPat.matcher(s); |
| 291 | if(m.matches()) |
| 292 | { |
| 293 | int gc = m.groupCount(); |
| 294 | String ns = m.group(1); |
| 295 | String name = m.group(2); |
| 296 | if(ns != null && ns.endsWith(":/") |
| 297 | || name.endsWith(":") |
| 298 | || s.indexOf("::", 1) != -1) |
| 299 | return null; |
| 300 | if(s.startsWith("::")) |
| 301 | { |
| 302 | return null; |
| 303 | } |
| 304 | boolean isKeyword = s.charAt(0) == ':'; |
| 305 | Symbol sym = Symbol.intern(s.substring(isKeyword ? 1 : 0)); |
| 306 | if(isKeyword) |
| 307 | return Keyword.intern(sym); |
| 308 | return sym; |
| 309 | } |
| 310 | return null; |
| 311 | } |
| 312 | |
| 313 | |
| 314 | private static Object matchNumber(String s){ |
no test coverage detected