Mercurial > hg > graal-compiler
comparison graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/Utils.java @ 12564:935dcd8ad8eb
Truffle-DSL: fixed wrong type simple name references with ECJ in generated code.
author | Christian Humer <christian.humer@gmail.com> |
---|---|
date | Mon, 21 Oct 2013 11:07:32 +0200 |
parents | 8970574702a4 |
children | bd28da642eea |
comparison
equal
deleted
inserted
replaced
12454:ce4836e0212d | 12564:935dcd8ad8eb |
---|---|
304 case INT: | 304 case INT: |
305 return "Int"; | 305 return "Int"; |
306 case LONG: | 306 case LONG: |
307 return "Long"; | 307 return "Long"; |
308 case DECLARED: | 308 case DECLARED: |
309 return ((DeclaredType) mirror).asElement().getSimpleName().toString(); | 309 return fixECJBinaryNameIssue(((DeclaredType) mirror).asElement().getSimpleName().toString()); |
310 case ARRAY: | 310 case ARRAY: |
311 return getTypeId(((ArrayType) mirror).getComponentType()) + "Array"; | 311 return getTypeId(((ArrayType) mirror).getComponentType()) + "Array"; |
312 case VOID: | 312 case VOID: |
313 return "Void"; | 313 return "Void"; |
314 case WILDCARD: | 314 case WILDCARD: |
377 } | 377 } |
378 return b.toString(); | 378 return b.toString(); |
379 } | 379 } |
380 | 380 |
381 private static String getDeclaredName(DeclaredType element) { | 381 private static String getDeclaredName(DeclaredType element) { |
382 String simpleName = element.asElement().getSimpleName().toString(); | 382 String simpleName = fixECJBinaryNameIssue(element.asElement().getSimpleName().toString()); |
383 | 383 |
384 if (element.getTypeArguments().size() == 0) { | 384 if (element.getTypeArguments().size() == 0) { |
385 return simpleName; | 385 return simpleName; |
386 } | 386 } |
387 | 387 |
395 } | 395 } |
396 } | 396 } |
397 } | 397 } |
398 b.append(">"); | 398 b.append(">"); |
399 return b.toString(); | 399 return b.toString(); |
400 } | |
401 | |
402 public static String fixECJBinaryNameIssue(String name) { | |
403 if (name.contains("$")) { | |
404 int lastIndex = name.lastIndexOf('$'); | |
405 return name.substring(lastIndex + 1, name.length()); | |
406 } | |
407 return name; | |
400 } | 408 } |
401 | 409 |
402 public static String getQualifiedName(TypeElement element) { | 410 public static String getQualifiedName(TypeElement element) { |
403 String qualifiedName = element.getQualifiedName().toString(); | 411 String qualifiedName = element.getQualifiedName().toString(); |
404 if (qualifiedName.contains("$")) { | 412 if (qualifiedName.contains("$")) { |