multi-inheritance-symbol-shadowing-qualifiedresolution.azsl 770 B

12345678910111213141516171819202122232425262728293031323334353637
  1. class A0
  2. {
  3. int16_t a;
  4. };
  5. class A : A0
  6. {
  7. int a;
  8. };
  9. interface A2
  10. {
  11. float a();
  12. };
  13. class B : A, A2
  14. {
  15. dword a();
  16. };
  17. static B b;
  18. __azslc_print_message("@check predicate ");
  19. __azslc_print_symbol(typeof(b.A0::a), __azslc_prtsym_least_qualified);
  20. __azslc_print_message(" == 'int16_t'\n");
  21. __azslc_print_message("@check predicate ");
  22. __azslc_print_symbol(typeof(b.A::a), __azslc_prtsym_least_qualified);
  23. __azslc_print_message(" == 'int'\n");
  24. __azslc_print_message("@check predicate ");
  25. __azslc_print_symbol(typeof(b.A2::a()), __azslc_prtsym_least_qualified);
  26. __azslc_print_message(" == 'float'\n");
  27. __azslc_print_message("@check predicate ");
  28. __azslc_print_symbol(typeof(b.a()), __azslc_prtsym_least_qualified);
  29. __azslc_print_message(" == 'dword'\n");