diff options
author | Sebastien Hertz <shertz@google.com> | 2014-04-25 08:14:11 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2014-04-25 08:14:11 +0000 |
commit | da6e4feb6a02fed7f307e1ef3b90e716a99ba24c (patch) | |
tree | 3afc391bfd5d6ef2a0f512382805d7f85403194a | |
parent | 942c8e3723ad1e12039deef5754440dd8e1c546d (diff) | |
parent | 2ed76f95dd5a7edada82407a1853be803c9853a9 (diff) | |
download | art-da6e4feb6a02fed7f307e1ef3b90e716a99ba24c.zip art-da6e4feb6a02fed7f307e1ef3b90e716a99ba24c.tar.gz art-da6e4feb6a02fed7f307e1ef3b90e716a99ba24c.tar.bz2 |
Merge "Resolve method's argument reference types"
-rw-r--r-- | runtime/verifier/method_verifier.cc | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/runtime/verifier/method_verifier.cc b/runtime/verifier/method_verifier.cc index 5d033bc..91170f0 100644 --- a/runtime/verifier/method_verifier.cc +++ b/runtime/verifier/method_verifier.cc @@ -1176,8 +1176,11 @@ bool MethodVerifier::SetTypesFromSignature() { // it's effectively considered initialized the instant we reach here (in the sense that we // can return without doing anything or call virtual methods). { - const RegType& reg_type = reg_types_.FromDescriptor(class_loader_->get(), descriptor, - false); + const RegType& reg_type = ResolveClassAndCheckAccess(iterator.GetTypeIdx()); + if (!reg_type.IsNonZeroReferenceTypes()) { + DCHECK(HasFailures()); + return false; + } reg_line->SetRegisterType(arg_start + cur_arg, reg_type); } break; |