mirror of
https://github.com/github/codeql.git
synced 2026-02-10 12:11:07 +01:00
make clear that instanceof supertypes are not base types
This commit is contained in:
@@ -406,7 +406,9 @@ However, `foo_method` is not exposed in `Bar`, so the query `select any(Bar b).f
|
||||
results in a compile time error. Note from the example that it is still possible to access
|
||||
methods from instanceof supertypes from within the specialising class with the `super` keyword.
|
||||
|
||||
Crucially, the base class methods are not just hidden. The extension relationship is severed.
|
||||
Crucially, the instanceof **supertypes** are not **base types**.
|
||||
This means that these supertypes do not participate in overriding, and any fields of such
|
||||
supertypes are not part of the new class.
|
||||
This has implications on method resolution when complex class hierarchies are involved.
|
||||
The following example demonstrates this.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user