Skip to content

Improvements to symbol resolutions#189

Open
JonatanWaern wants to merge 20 commits intomainfrom
support-prov-explicit-method-decls
Open

Improvements to symbol resolutions#189
JonatanWaern wants to merge 20 commits intomainfrom
support-prov-explicit-method-decls

Conversation

@JonatanWaern
Copy link
Contributor

@JonatanWaern JonatanWaern commented Jan 19, 2026

Drastically improves semantical analysis of methods, supporting various things
that were previously broken.

Also makes an attempt at formalizing he behavior of the various goto-modes and
ensuring, or at least documenting, when these do not work as expected.

  • Report ambiguous overrides
  • Refactor ReferenceMatches
  • Change debug level of some prints
  • Rework symbol methodology for methods
  • Rework how fp-based symbol lookup works
  • Rework how abstract methods and template methods work
  • Clarify and ensure behavior of goto- operations

Signed-off-by: Jonatan Waern <jonatan.waern@intel.com>
Allows better control of what is _semantically_ matched and what messages
are reported to the user

Signed-off-by: Jonatan Waern <jonatan.waern@intel.com>
Signed-off-by: Jonatan Waern <jonatan.waern@intel.com>
Signed-off-by: Jonatan Waern <jonatan.waern@intel.com>
Ditch the structural lookup, just iterate over all symbols and grab the ones
that match

Signed-off-by: Jonatan Waern <jonatan.waern@intel.com>
Signed-off-by: Jonatan Waern <jonatan.waern@intel.com>
Signed-off-by: Jonatan Waern <jonatan.waern@intel.com>
@JonatanWaern
Copy link
Contributor Author

@TSonono @lwaern-intel @mandolaerik Have a peek over the addition to USAGE.md to see if these are useful semantics for symbol lookups, and if something is unclear or needs to be specified further. (you can ignore the TODOS for now, hopefully I can resolve those)

Signed-off-by: Jonatan Waern <jonatan.waern@intel.com>
Signed-off-by: Jonatan Waern <jonatan.waern@intel.com>
Signed-off-by: Jonatan Waern <jonatan.waern@intel.com>
Signed-off-by: Jonatan Waern <jonatan.waern@intel.com>
@JonatanWaern JonatanWaern marked this pull request as ready for review January 26, 2026 09:31
Signed-off-by: Jonatan Waern <jonatan.waern@intel.com>
Signed-off-by: Jonatan Waern <jonatan.waern@intel.com>
Signed-off-by: Jonatan Waern <jonatan.waern@intel.com>
- Previously, goto-x at the start of a name would not work, while
goto-x at the end or middle of it would.
- If there is no definition for a lookup, fall-back to declaration

Signed-off-by: Jonatan Waern <jonatan.waern@intel.com>
@JonatanWaern JonatanWaern force-pushed the support-prov-explicit-method-decls branch from 3e1a0ea to 9cd6ea3 Compare January 28, 2026 10:58
Signed-off-by: Jonatan Waern <jonatan.waern@intel.com>
Signed-off-by: Jonatan Waern <jonatan.waern@intel.com>
This can happen when methods are ambigiously overridden or overridden
in a diamond shape.
we will correctly search the entire hierarchy until we find the
method from whence the reference came, but we will also search
through adjacent hierarchies, so reaching the bottom of those
is not actually an unexpected error

Signed-off-by: Jonatan Waern <jonatan.waern@intel.com>
Signed-off-by: Jonatan Waern <jonatan.waern@intel.com>
Signed-off-by: Jonatan Waern <jonatan.waern@intel.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant