package org.xpect.model;
import org.eclipse.xtext.common.types.JvmDeclaredType;
import org.xpect.util.IJavaReflectAccess;
public class XjmClassImplCustom extends XjmClassImpl {
@Override
public void setJvmClass(JvmDeclaredType newJvmClass) {
super.setJavaClass(null);
super.setJvmClass(newJvmClass);
}
@Override
public Class<?> getJavaClass() {
Class<?> result = super.getJavaClass();
if (result != null)
return result;
JvmDeclaredType jvmClass = getJvmClass();
if (jvmClass == null || jvmClass.eIsProxy())
return null;
Class<?> type = IJavaReflectAccess.INSTANCE.getRawType(jvmClass);
super.setJavaClass(type);
return type;
}
}