Mercurial > hg > graal-jvmci-8
diff graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/parser/ImplicitCastParser.java @ 20938:18c0f02fa4d2
Truffle-DSL: make type systems optional.
author | Christian Humer <christian.humer@gmail.com> |
---|---|
date | Tue, 14 Apr 2015 15:12:48 +0200 |
parents | a665483c3881 |
children |
line wrap: on
line diff
--- a/graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/parser/ImplicitCastParser.java Tue Apr 14 22:12:03 2015 +0200 +++ b/graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/parser/ImplicitCastParser.java Tue Apr 14 15:12:48 2015 +0200 @@ -23,13 +23,13 @@ package com.oracle.truffle.dsl.processor.parser; import java.lang.annotation.*; -import java.util.*; import javax.lang.model.element.*; import javax.lang.model.type.*; import com.oracle.truffle.api.dsl.*; import com.oracle.truffle.dsl.processor.*; +import com.oracle.truffle.dsl.processor.java.*; import com.oracle.truffle.dsl.processor.model.*; public class ImplicitCastParser extends TypeSystemMethodParser<ImplicitCastData> { @@ -45,10 +45,8 @@ @Override public MethodSpec createSpecification(ExecutableElement method, AnnotationMirror mirror) { - List<TypeMirror> types = getTypeSystem().getPrimitiveTypeMirrors(); - Set<String> identifiers = getTypeSystem().getTypeIdentifiers(); - MethodSpec spec = new MethodSpec(new ParameterSpec("target", types, identifiers)); - spec.addRequired(new ParameterSpec("source", types, identifiers)).setSignature(true); + MethodSpec spec = new MethodSpec(new ParameterSpec("target", getContext().getType(Object.class))); + spec.addRequired(new ParameterSpec("source", getContext().getType(Object.class))).setSignature(true); return spec; } @@ -61,10 +59,10 @@ Parameter target = method.findParameter("targetValue"); Parameter source = method.findParameter("sourceValue"); - TypeData targetType = target.getTypeSystemType(); - TypeData sourceType = source.getTypeSystemType(); + TypeMirror targetType = target.getType(); + TypeMirror sourceType = source.getType(); - if (targetType.equals(sourceType)) { + if (ElementUtils.typeEquals(targetType, sourceType)) { method.addError("Target type and source type of an @%s must not be the same type.", ImplicitCast.class.getSimpleName()); }