mkNewIntLitArray(pos, displayCode, owner), mkNewIntLitArray(pos, refinementCode, owner)
gen.mkBooleanLit(pos, clsSym.parents()[0].symbol().isJava()), mkNewIntLitArray(pos, displayCode, owner)
        private Tree tConstructorRHS(int pos, Symbol clsSym, Symbol owner) {            int zCount = 0, mCount = 0, pCount = 0;            Symbol[] tparams = clsSym.typeParams();            for (int i = 0; i < tparams.length; ++i) {                if ((tparams[i].flags & Modifiers.COVARIANT) != 0)                    ++pCount;                else if ((tparams[i].flags & Modifiers.CONTRAVARIANT) != 0)                    ++mCount;                else                    ++zCount;            }            int[] displayCode = getDisplayCode(computeDisplay(clsSym));            Pair attrRef = refinements(clsSym.info());            int[] refinementCode =                refinementCode((ArrayList)attrRef.fst, (HashMap)attrRef.snd);            Tree[] tcArgs = new Tree[] {                gen.mkIntLit(pos, level(clsSym)),                gen.mkStringLit(pos, prims.getJREClassName(clsSym)),                isNestedClass(clsSym)                ? gen.This(pos, clsSym.owner())                : gen.mkNullLit(pos),                gen.mkIntLit(pos, zCount),                gen.mkIntLit(pos, mCount),                gen.mkIntLit(pos, pCount),                mkNewIntLitArray(pos, displayCode, owner),                mkNewIntLitArray(pos, refinementCode, owner)            };            Symbol tcConst = defs.TYPECONSTRUCTOR_CLASS.primaryConstructor();            Tree tcCall =                gen.mkApply_V(pos, gen.mkGlobalRef(pos, tcConst), tcArgs);            return gen.New(pos, tcCall);        }