Пример #1
0
 void processPass1(Context c) {
   if (classLiteralValue == null) {
     terms[0].processPass1(c);
     ExpressionType exprType0 = terms[0].exprType();
     ClassDefinition cd = exprType0.signatureClass();
     cd.predefineClass(c.forClass);
     cd.markUsed();
     classLiteralValue = exprType0.signatureDimensions() > 0 ? exprType0 : cd.asExactClassType();
     if (exprType0.objectSize() == Type.OBJECTARRAY) {
       cd = Main.dict.get(Names.JAVA_LANG_VMCLASS);
       cd.predefineClass(c.forClass);
       MethodDefinition md = cd.getMethod(Names.SIGN_ARRAYCLASSOF0X);
       if (md != null && md.isClassMethod()) {
         md.markUsed(null);
         this.md = md;
       }
     }
     classLiteralValue.signatureClass().setVTableUsed(false);
   }
 }