Branch: refs/heads/main
Revision: d3784d2
Author: dlongnecke-cray
Link: dyno: Begin resolving method calls and initializer calls by dlongnecke-cray · Pull Request #19359 · chapel-lang/chapel · GitHub
Log Message:
Merge pull request #19359 from dlongnecke-cray/dyno-resolve-methods-initializers
dyno: Begin resolving method calls and new calls (#19359)
Begin resolving method calls and new calls in the dyno resolver.
The goal is to handle simple cases such a record with a zero argument
primary or secondary method, or a 'new r' for a record 'r'.
When resolving a 'new' expression also resolve an initializer call
as a side effect.
FUTURE WORK
- Resolve class types and class management
- Use the resulting initializer to compute the final 'new' type
- If the initializer is not compiler-generated, resolve the body
in order to determine the final type - Tests for generic/param types
- Verify that POI stuff is working as expected in tests
Reviewed by @mppf. Thanks!
Signed-off-by: David Longnecker dlongnecke-cray@users.noreply.github.com
Modified Files:
A compiler/dyno/test/resolution/testResolveMethodCalls.cpp
A compiler/dyno/test/resolution/testResolveNew.cpp
M compiler/dyno/include/chpl/queries/all-global-strings.h
M compiler/dyno/include/chpl/resolution/resolution-queries.h
M compiler/dyno/include/chpl/resolution/resolution-types.h
M compiler/dyno/include/chpl/resolution/scope-types.h
M compiler/dyno/include/chpl/types/QualifiedType.h
M compiler/dyno/include/chpl/uast/AstNode.h
M compiler/dyno/include/chpl/uast/AstTag.h
M compiler/dyno/include/chpl/uast/New.h
M compiler/dyno/lib/parsing/parsing-queries.cpp
M compiler/dyno/lib/resolution/Resolver.cpp
M compiler/dyno/lib/resolution/Resolver.h
M compiler/dyno/lib/resolution/resolution-queries.cpp
M compiler/dyno/lib/resolution/resolution-types.cpp
M compiler/dyno/lib/uast/New.cpp
M compiler/dyno/lib/uast/TupleDecl.cpp
M compiler/dyno/test/resolution/CMakeLists.txt
Compare: https://github.com/chapel-lang/chapel/compare/f3daed1506d3...d3784d28a2bf