public Type typeCheck(Type expected) throws TypeException {
// we have a putative reference to a class of the form
// foo.bar.baz.Mumble.class
TypeGroup typeGroup = getTypeGroup();
ownerType = typeGroup.create(getPath(pathList.length));
if (ownerType == null || ownerType.getTargetClass() == null) {
throw new TypeException("FieldExpression.typeCheck : invalid class literal " + getPath(pathList.length) + ".class" + getPos());
}
type = typeGroup.ensureType(Class.class);