Mercurial > hg > graal-jvmci-8
comparison graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/generator/SpecializedNodeFactory.java @ 18758:3912400fc33a
Truffle-DSL: remove type system singleton
author | Christian Humer <christian.humer@gmail.com> |
---|---|
date | Mon, 29 Dec 2014 23:38:42 +0100 |
parents | 59bf50cc5a32 |
children | a665483c3881 |
comparison
equal
deleted
inserted
replaced
18757:0ec5f5a2e720 | 18758:3912400fc33a |
---|---|
490 | 490 |
491 builder.startReturn(); | 491 builder.startReturn(); |
492 if (targetType == null || sourceType == null) { | 492 if (targetType == null || sourceType == null) { |
493 builder.tree(returnBuilder.getRoot()); | 493 builder.tree(returnBuilder.getRoot()); |
494 } else if (sourceType.needsCastTo(targetType)) { | 494 } else if (sourceType.needsCastTo(targetType)) { |
495 String castMethodName = TypeSystemCodeGenerator.expectTypeMethodName(targetType); | 495 CodeTree cast; |
496 if (!executable.hasUnexpectedValue(context)) { | 496 if (executable.hasUnexpectedValue(context)) { |
497 castMethodName = TypeSystemCodeGenerator.asTypeMethodName(targetType); | 497 cast = TypeSystemCodeGenerator.expect(targetType, returnBuilder.getRoot()); |
498 } | 498 } else { |
499 builder.tree(createCallTypeSystemMethod(parent, node, castMethodName, returnBuilder.getRoot())); | 499 cast = TypeSystemCodeGenerator.cast(targetType, returnBuilder.getRoot()); |
500 } | |
501 builder.tree(cast); | |
500 } else { | 502 } else { |
501 builder.tree(returnBuilder.getRoot()); | 503 builder.tree(returnBuilder.getRoot()); |
502 } | 504 } |
503 builder.end(); | 505 builder.end(); |
504 } | 506 } |