< prev index next >

src/hotspot/share/classfile/verifier.hpp

Print this page
*** 457,12 ***
      if (name->is_Q_signature()) {
        // Remove the Q and ;
        // TBD need error msg if fundamental_name() returns NULL?
        Symbol* fund_name = name->fundamental_name(CHECK_(VerificationType::bogus_type()));
        return VerificationType::valuetype_type(fund_name);
      }
-     return VerificationType::reference_type(name);
    }
  
    // Keep a list of temporary symbols created during verification because
    // their reference counts need to be decremented when the verifier object
    // goes out of scope.  Since these symbols escape the scope in which they're
--- 457,18 ---
      if (name->is_Q_signature()) {
        // Remove the Q and ;
        // TBD need error msg if fundamental_name() returns NULL?
        Symbol* fund_name = name->fundamental_name(CHECK_(VerificationType::bogus_type()));
        return VerificationType::valuetype_type(fund_name);
+     } else if (name->is_L_signature()) {
+       // Remove the L and ;
+       // TBD need error msg if fundamental_name() returns NULL?
+       Symbol* fund_name = name->fundamental_name(CHECK_(VerificationType::bogus_type()));
+       return VerificationType::reference_type(fund_name);
+     } else {
+       return VerificationType::reference_type(name);
      }
    }
  
    // Keep a list of temporary symbols created during verification because
    // their reference counts need to be decremented when the verifier object
    // goes out of scope.  Since these symbols escape the scope in which they're
< prev index next >