use of org.eclipse.ceylon.javax.lang.model.element.Element in project ceylon by eclipse.
the class JNIWriter method jniType.
protected final String jniType(TypeMirror t) {
TypeElement throwable = elements.getTypeElement("java.lang.Throwable");
TypeElement jClass = elements.getTypeElement("java.lang.Class");
TypeElement jString = elements.getTypeElement("java.lang.String");
Element tclassDoc = types.asElement(t);
switch(t.getKind()) {
case ARRAY:
{
TypeMirror ct = ((ArrayType) t).getComponentType();
switch(ct.getKind()) {
case BOOLEAN:
return "jbooleanArray";
case BYTE:
return "jbyteArray";
case CHAR:
return "jcharArray";
case SHORT:
return "jshortArray";
case INT:
return "jintArray";
case LONG:
return "jlongArray";
case FLOAT:
return "jfloatArray";
case DOUBLE:
return "jdoubleArray";
case ARRAY:
case DECLARED:
return "jobjectArray";
default:
throw new Error(ct.toString());
}
}
case VOID:
return "void";
case BOOLEAN:
return "jboolean";
case BYTE:
return "jbyte";
case CHAR:
return "jchar";
case SHORT:
return "jshort";
case INT:
return "jint";
case LONG:
return "jlong";
case FLOAT:
return "jfloat";
case DOUBLE:
return "jdouble";
case DECLARED:
{
if (tclassDoc.equals(jString))
return "jstring";
else if (types.isAssignable(t, throwable.asType()))
return "jthrowable";
else if (types.isAssignable(t, jClass.asType()))
return "jclass";
else
return "jobject";
}
}
Assert.check(false, "jni unknown type");
return null;
/* dead code. */
}
use of org.eclipse.ceylon.javax.lang.model.element.Element in project ceylon by eclipse.
the class Facades method unfacade.
public static Element[] unfacade(javax.lang.model.element.Element[] arg) {
Element[] ret = new Element[arg.length];
int i = 0;
for (javax.lang.model.element.Element el : arg) {
ret[i++] = unfacade(el);
}
return ret;
}
Aggregations