Mercurial > hg > graal-jvmci-8
comparison graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/generator/TypeSystemCodeGenerator.java @ 18776:c0fb70634640
Truffle-DSL: support for frame types Frame, MaterializedFrame. Added validation for frame type consistency. Some refactorings along the way.
author | Christian Humer <christian.humer@gmail.com> |
---|---|
date | Mon, 05 Jan 2015 01:31:08 +0100 |
parents | a665483c3881 |
children | ae81dd154fb6 |
comparison
equal
deleted
inserted
replaced
18775:a069a87b9a02 | 18776:c0fb70634640 |
---|---|
116 builder.startStaticCall(typeSystem.getTemplateType().asType(), type.getTypeCasts().get(0).getMethodName()).tree(content).end(); | 116 builder.startStaticCall(typeSystem.getTemplateType().asType(), type.getTypeCasts().get(0).getMethodName()).tree(content).end(); |
117 } | 117 } |
118 return builder.build(); | 118 return builder.build(); |
119 } | 119 } |
120 | 120 |
121 public static CodeTree cast(TypeData sourceType, TypeData targetType, CodeTree content) { | |
122 if (sourceType != null && !sourceType.needsCastTo(targetType)) { | |
123 return content; | |
124 } else { | |
125 return cast(targetType, content); | |
126 } | |
127 } | |
128 | |
121 public static CodeTree expect(TypeData type, CodeTree content) { | 129 public static CodeTree expect(TypeData type, CodeTree content) { |
122 if (type.isGeneric() || type.isVoid()) { | 130 if (type.isGeneric() || type.isVoid()) { |
123 return content; | 131 return content; |
124 } | 132 } |
125 CodeTreeBuilder builder = CodeTreeBuilder.createBuilder(); | 133 CodeTreeBuilder builder = CodeTreeBuilder.createBuilder(); |