@Override public Expression sizeof(JavaPrim p) { return staticField(Native.class, "WCHAR_SIZE"); } },
@Override public Expression sizeof(JavaPrim p) { return staticField(p.type, "SIZE"); } },
@Override public Expression sizeof(JavaPrim p) { return staticField(p.type, "SIZE"); } },
@Override public Expression sizeof(JavaPrim p) { return staticField(Native.class, "WCHAR_SIZE"); } },
public static Expression classLiteral(Class<?> c) { if (c == null) { return null; } if (c.isPrimitive()) { if (c == Integer.TYPE) { c = Integer.class; } else if (c == Long.TYPE) { c = Long.class; } else if (c == Short.TYPE) { c = Short.class; } else if (c == Byte.TYPE) { c = Byte.class; } else if (c == Character.TYPE) { c = Character.class; } else if (c == Boolean.TYPE) { c = Boolean.class; } else if (c == Float.TYPE) { c = Float.class; } else if (c == Double.TYPE) { c = Double.class; } return staticField(c, "TYPE"); } return staticField(c, "class"); }