Home | History | Annotate | Download | only in verifier

Lines Matching defs:return_type

2115         const RegType& return_type = GetMethodReturnType();
2116 if (!return_type.IsCategory1Types()) {
2118 << return_type;
2124 bool use_src = ((return_type.IsBoolean() && src_type.IsByte()) ||
2125 ((return_type.IsBoolean() || return_type.IsByte() ||
2126 return_type.IsShort() || return_type.IsChar()) &&
2130 work_line_->VerifyRegisterType(this, vregA, use_src ? src_type : return_type);
2140 const RegType& return_type = GetMethodReturnType();
2141 if (!return_type.IsCategory2Types()) {
2146 bool success = work_line_->VerifyRegisterType(this, vregA, return_type);
2155 const RegType& return_type = GetMethodReturnType();
2156 if (!return_type.IsReferenceTypes()) {
2159 /* return_type is the *expected* return type, not register value */
2160 DCHECK(!return_type.IsZero());
2161 DCHECK(!return_type.IsUninitializedReference());
2165 // reference in vAA is an instance of the "return_type."
2177 } else if (!return_type.IsAssignableFrom(reg_type)) {
2178 if (reg_type.IsUnresolvedTypes() || return_type.IsUnresolvedTypes()) {
2179 Fail(VERIFY_ERROR_NO_CLASS) << " can't resolve returned type '" << return_type
2185 if (reg_type.IsArrayTypes() && return_type.IsArrayTypes()) {
2186 return_type.CanAssignArray(reg_type, reg_types_, class_loader_, &soft_error);
2189 << reg_type << " vs " << return_type;
2195 << "', but expected from declaration '" << return_type << "'";
2840 const RegType* return_type = nullptr;
2846 return_type = &FromClass(called_method->GetReturnTypeDescriptor(),
2854 if (return_type == nullptr) {
2859 return_type = &reg_types_.FromDescriptor(GetClassLoader(), descriptor, false);
2861 if (!return_type->IsLowHalf()) {
2862 work_line_->SetResultRegisterType(this, *return_type);
2864 work_line_->SetResultRegisterTypeWide(*return_type, return_type->HighHalf(&reg_types_));
2875 const RegType* return_type = nullptr;
2889 return_type = &FromClass(return_type_descriptor,
2937 if (return_type == nullptr) {
2938 return_type = &reg_types_.FromDescriptor(GetClassLoader(), return_type_descriptor, false);
2940 if (!return_type->IsLowHalf()) {
2941 work_line_->SetResultRegisterType(this, *return_type);
2943 work_line_->SetResultRegisterTypeWide(*return_type, return_type->HighHalf(&reg_types_));
2961 const RegType& return_type = reg_types_.FromDescriptor(GetClassLoader(), descriptor, false);
2962 if (!return_type.IsLowHalf()) {
2963 work_line_->SetResultRegisterType(this, return_type);
2965 work_line_->SetResultRegisterTypeWide(return_type, return_type.HighHalf(&reg_types_));
3015 const RegType& return_type = reg_types_.FromDescriptor(GetClassLoader(), descriptor, false);
3016 if (!return_type.IsLowHalf()) {
3017 work_line_->SetResultRegisterType(this, return_type);
3019 work_line_->SetResultRegisterTypeWide(return_type, return_type.HighHalf(&reg_types_));
3319 const RegType& return_type = reg_types_.FromDescriptor(GetClassLoader(), descriptor, false);
3320 if (!return_type.IsLowHalf()) {
3321 work_line_->SetResultRegisterType(this, return_type);
3323 work_line_->SetResultRegisterTypeWide(return_type, return_type.HighHalf(&reg_types_));