< prev index next >

src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/ClassWriter.java

Print this page




1861         acount += writeTypeAnnotations(c.getRawTypeAttributes(), false);
1862         acount += writeEnclosingMethodAttribute(c);
1863         if (c.owner.kind == MDL) {
1864             acount += writeModuleAttribute(c);
1865             acount += writeFlagAttrs(c.owner.flags() & ~DEPRECATED);
1866         }
1867         acount += writeExtraClassAttributes(c);
1868 
1869         poolbuf.appendInt(JAVA_MAGIC);
1870 
1871         if (c.owner.kind == MDL) {
1872             // temporarily overide to force use of v53 for module-info.class
1873             poolbuf.appendChar(0);
1874             poolbuf.appendChar(53);
1875         } else {
1876             poolbuf.appendChar(target.minorVersion);
1877             poolbuf.appendChar(target.majorVersion);
1878 
1879             // TODO: Need to skip this for Modules - not sure where
1880             // that check really belongs, but this works.
1881             if (target.hasNestmates()) {
1882                 acount += writeNestMembersIfNeeded(c);
1883                 acount += writeMemberOfNestIfNeeded(c);
1884             }
1885         }
1886 
1887         writePool(c.pool);
1888 
1889         if (innerClasses != null) {
1890             writeInnerClasses();
1891             acount++;
1892         }
1893 
1894         if (!bootstrapMethods.isEmpty()) {
1895             writeBootstrapMethods();
1896             acount++;
1897         }
1898 
1899         endAttrs(acountIdx, acount);
1900 
1901         poolbuf.appendBytes(databuf.elems, 0, databuf.length);




1861         acount += writeTypeAnnotations(c.getRawTypeAttributes(), false);
1862         acount += writeEnclosingMethodAttribute(c);
1863         if (c.owner.kind == MDL) {
1864             acount += writeModuleAttribute(c);
1865             acount += writeFlagAttrs(c.owner.flags() & ~DEPRECATED);
1866         }
1867         acount += writeExtraClassAttributes(c);
1868 
1869         poolbuf.appendInt(JAVA_MAGIC);
1870 
1871         if (c.owner.kind == MDL) {
1872             // temporarily overide to force use of v53 for module-info.class
1873             poolbuf.appendChar(0);
1874             poolbuf.appendChar(53);
1875         } else {
1876             poolbuf.appendChar(target.minorVersion);
1877             poolbuf.appendChar(target.majorVersion);
1878 
1879             // TODO: Need to skip this for Modules - not sure where
1880             // that check really belongs, but this works.
1881             if (target.hasNestmateAccess()) {
1882                 acount += writeNestMembersIfNeeded(c);
1883                 acount += writeMemberOfNestIfNeeded(c);
1884             }
1885         }
1886 
1887         writePool(c.pool);
1888 
1889         if (innerClasses != null) {
1890             writeInnerClasses();
1891             acount++;
1892         }
1893 
1894         if (!bootstrapMethods.isEmpty()) {
1895             writeBootstrapMethods();
1896             acount++;
1897         }
1898 
1899         endAttrs(acountIdx, acount);
1900 
1901         poolbuf.appendBytes(databuf.elems, 0, databuf.length);


< prev index next >