Lines Matching refs:input_type
788 static bool IsTypeConversionImplicit(Primitive::Type input_type, Primitive::Type result_type) {
795 return result_type == input_type ||
796 (result_type == Primitive::kPrimInt && (input_type == Primitive::kPrimBoolean ||
797 input_type == Primitive::kPrimByte ||
798 input_type == Primitive::kPrimShort ||
799 input_type == Primitive::kPrimChar)) ||
800 (result_type == Primitive::kPrimChar && input_type == Primitive::kPrimBoolean) ||
801 (result_type == Primitive::kPrimShort && (input_type == Primitive::kPrimBoolean ||
802 input_type == Primitive::kPrimByte)) ||
803 (result_type == Primitive::kPrimByte && input_type == Primitive::kPrimBoolean);
806 static bool IsTypeConversionLossless(Primitive::Type input_type, Primitive::Type result_type) {
811 DCHECK_NE(input_type, result_type);
812 return Primitive::ComponentSize(result_type) > Primitive::ComponentSize(input_type) &&
814 !(result_type == Primitive::kPrimLong && input_type == Primitive::kPrimFloat);
819 Primitive::Type input_type = input->GetType();
821 if (IsTypeConversionImplicit(input_type, result_type)) {
837 bool is_first_conversion_lossless = IsTypeConversionLossless(original_type, input_type);
843 Primitive::IsIntegralType(input_type) &&
846 Primitive::ComponentSize(result_type) <= Primitive::ComponentSize(input_type);
869 DCHECK(Primitive::IsIntegralType(input_type));