binary expression: emit type mismatch error
Fixes: 169247967
Test: aidl_parser_fuzzer tests/corpus/invalid_binary_op_types
Change-Id: Ibf37259bb0c8b8026b168300fc7bb4e8f5c9a2d3
diff --git a/aidl_const_expressions.cpp b/aidl_const_expressions.cpp
index a3f45bc..deedace 100644
--- a/aidl_const_expressions.cpp
+++ b/aidl_const_expressions.cpp
@@ -831,6 +831,9 @@
}
is_valid_ = AreCompatibleTypes(left_val_->final_type_, right_val_->final_type_);
if (!is_valid_) {
+ AIDL_ERROR(this) << "Cannot perform operation '" << op_ << "' on "
+ << ToString(right_val_->GetType()) << " and " << ToString(left_val_->GetType())
+ << ".";
return false;
}