1# Copyright (c) 2021-2022 Huawei Device Co., Ltd. 2# Licensed under the Apache License, Version 2.0 (the "License"); 3# you may not use this file except in compliance with the License. 4# You may obtain a copy of the License at 5# 6# http://www.apache.org/licenses/LICENSE-2.0 7# 8# Unless required by applicable law or agreed to in writing, software 9# distributed under the License is distributed on an "AS IS" BASIS, 10# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11# See the License for the specific language governing permissions and 12# limitations under the License. 13 14compatibility_checks: 15 results: 16 ok: 17 ok: "" 18 errors: 19 private_field: Access to the private object field is prohibited. 20 protected_field: Access to the protected object field is prohibited. 21 package_field: Access to the package protected object field is prohibited. 22 private_method: Call to a private method is prohibited. 23 protected_method: Call to protected methods from non-descendants of object class is prohibited. 24 protected_class: Access to package-private class is prohibited. 25 package_method: Call to protected methods from non-descendants of object class is prohibited. 26 unknown: Internal error. 27 wrong_acc: Wrong accumulator type. 28 wrong_formal_param: Wrong formal parameter type. 29 wrong_actual_param: Wrong actual parameter type. 30 warnings: 31 sign: Sign mismatch. Possible overflow/underflow issues and other quirks in data-flow. 32 size: Size mismatch. Possible value truncation issues. 33 sign_size: Sign and size mismatch. Possible overflow/underflow and truncation issues. 34 precision: Precision mismatch. Possible overflow/underflow issues and other quirks in data-flow. 35 36 domains: 37 type_relationship: 38 new_enum: TypeRelationship 39 values: 40 - same 41 - descendant 42 - neighbour 43 - other 44 45 access: 46 new_enum: AccessModifier 47 values: 48 - public 49 - protected 50 - package 51 - private 52 53 type: 54 existing_enum: PandaTypes::TypeId 55 values: 56 - invalid 57 - void 58 - u1 59 - i8 60 - u8 61 - i16 62 - u16 63 - i32 64 - u32 65 - f32 66 - f64 67 - i64 68 - u64 69 - reference 70 71 checks: 72 FieldAccess: 73 _domains: 74 - type_relationship 75 - access 76 _default: ok 77 descendant: 78 private_field: private 79 protected_field: package 80 neighbour: 81 private_field: private 82 other: 83 private_field: private 84 protected_field: protected 85 package_field: package 86 87 Call: 88 _domains: 89 - type_relationship 90 - access 91 _default: ok 92 descendant: 93 private_method: private 94 protected_method: package 95 neighbour: 96 private_method: private 97 other: 98 private_method: private 99 protected_method: protected 100 package_method: package 101 102 Stobj: 103 _domains: 104 - type 105 - type 106 _default: unknown 107 u1: 108 _default: ok 109 unknown: 110 - reference 111 wrong_acc: 112 - void 113 - f32 114 - f64 115 i8: 116 _default: ok 117 unknown: 118 - invalid 119 - reference 120 wrong_acc: 121 - void 122 - f32 123 - f64 124 sign: u8 125 size: 126 - i16 127 - i32 128 - i64 129 sign_size: 130 - u16 131 - u32 132 - u64 133 u8: 134 _default: ok 135 unknown: 136 - invalid 137 - reference 138 wrong_acc: 139 - void 140 - f32 141 - f64 142 sign: i8 143 sign_size: 144 - i16 145 - i32 146 - i64 147 size: 148 - u16 149 - u32 150 - u64 151 i16: 152 _default: ok 153 unknown: 154 - invalid 155 - reference 156 wrong_acc: 157 - void 158 - f32 159 - f64 160 sign: u16 161 size: 162 - i32 163 - i64 164 sign_size: 165 - u32 166 - u64 167 u16: 168 _default: ok 169 unknown: 170 - invalid 171 - reference 172 wrong_acc: 173 - void 174 - f32 175 - f64 176 sign: i16 177 sign_size: 178 - i32 179 - i64 180 size: 181 - u32 182 - u64 183 i32: 184 _default: ok 185 unknown: 186 - invalid 187 - reference 188 wrong_acc: 189 - void 190 - f32 191 - f64 192 sign: u32 193 size: 194 - i64 195 sign_size: 196 - u64 197 u32: 198 _default: ok 199 unknown: 200 - invalid 201 - reference 202 wrong_acc: 203 - void 204 - f32 205 - f64 206 sign: i32 207 sign_size: 208 - i64 209 size: 210 - u64 211 f32: 212 _default: wrong_acc 213 unknown: 214 - invalid 215 - void 216 - reference 217 ok: f32 218 precision: f64 219 220 StobjWide: 221 _domains: 222 - type 223 - type 224 _default: unknown 225 f32: 226 _default: wrong_acc 227 unknown: 228 - invalid 229 - void 230 - reference 231 ok: f32 232 precision: f64 233 f64: 234 _default: wrong_acc 235 unknown: 236 - invalid 237 - void 238 - reference 239 ok: 240 - f32 241 - f64 242 i64: 243 _default: wrong_acc 244 unknown: 245 - invalid 246 - void 247 - reference 248 ok: i64 249 sign: u64 250 u64: 251 _default: wrong_acc 252 unknown: 253 - invalid 254 - void 255 - reference 256 ok: u64 257 sign: i64 258 259 MethodArgs: 260 _default: wrong_actual_param 261 _domains: 262 - type 263 - type 264 void: 265 _default: wrong_formal_param 266 unknown: invalid 267 u1: 268 unknown: invalid 269 ok: 270 - u1 271 - i8 272 - u8 273 - i16 274 - u16 275 - i32 276 - u32 277 i8: 278 unknown: invalid 279 ok: 280 - u1 281 - i8 282 sign: 283 - u8 284 size: 285 - i16 286 - i32 287 sign_size: 288 - u16 289 - u32 290 u8: 291 unknown: invalid 292 ok: 293 - u1 294 - u8 295 sign: 296 - i8 297 sign_size: 298 - i16 299 - i32 300 size: 301 - u16 302 - u32 303 i16: 304 unknown: invalid 305 ok: 306 - u1 307 - i8 308 - u8 309 - i16 310 sign: 311 - u16 312 size: 313 - i32 314 sign_size: 315 - u32 316 u16: 317 unknown: invalid 318 ok: 319 - u1 320 - u8 321 - u16 322 sign: 323 - i8 324 - i16 325 sign_size: 326 - i32 327 size: 328 - u32 329 i32: 330 unknown: invalid 331 ok: 332 - u1 333 - i8 334 - u8 335 - i16 336 - u16 337 - i32 338 sign: 339 - u32 340 u32: 341 unknown: invalid 342 ok: 343 - u1 344 - u8 345 - u16 346 - u32 347 sign: 348 - i8 349 - i16 350 - i32 351 f32: 352 unknown: invalid 353 ok: 354 - f32 355 size: 356 - f64 357 f64: 358 unknown: invalid 359 ok: 360 - f32 361 - f64 362 i64: 363 unknown: invalid 364 ok: 365 - i64 366 sign: 367 - u64 368 u64: 369 unknown: invalid 370 ok: 371 - u64 372 sign: 373 - i64 374 reference: 375 _default: wrong_formal_param 376 unknown: invalid 377