diff options
author | William S Fulton <wsf@fultondesigns.co.uk> | 2022-03-07 22:35:10 +0000 |
---|---|---|
committer | William S Fulton <wsf@fultondesigns.co.uk> | 2022-03-10 22:18:23 +0000 |
commit | e53f51b89d482863280dad607cc2269910cc9946 (patch) | |
tree | 3598d9e1d20629d20a580d3a8334f1985ac8a1ff | |
parent | c88a9436bc7d769d3e4d85053f42b0823439ab4d (diff) | |
download | swig-e53f51b89d482863280dad607cc2269910cc9946.tar.gz |
Add missing symtab for functions added by using declarations
Fixes fully qualified names for functions added by using declarations:
- Error messages show fully qualified names in Lua
- Overload warning messages show fully qualified names
- Error messages calling dispatch functions for handling overloaded methods in OCaml, Python and Tcl
-rw-r--r-- | Examples/test-suite/errors/cpp_using_declaration_overload.stderr | 2 | ||||
-rw-r--r-- | Source/Modules/typepass.cxx | 3 |
2 files changed, 4 insertions, 1 deletions
diff --git a/Examples/test-suite/errors/cpp_using_declaration_overload.stderr b/Examples/test-suite/errors/cpp_using_declaration_overload.stderr index a6d4ea6d8..a5118a739 100644 --- a/Examples/test-suite/errors/cpp_using_declaration_overload.stderr +++ b/Examples/test-suite/errors/cpp_using_declaration_overload.stderr @@ -1,2 +1,2 @@ cpp_using_declaration_overload.i:7: Warning 512: Overloaded method Derived::m(bool) const ignored, -cpp_using_declaration_overload.i:8: Warning 512: using non-const method m(bool) instead. +cpp_using_declaration_overload.i:8: Warning 512: using non-const method Derived::m(bool) instead. diff --git a/Source/Modules/typepass.cxx b/Source/Modules/typepass.cxx index 658f2e79c..e1c3753ce 100644 --- a/Source/Modules/typepass.cxx +++ b/Source/Modules/typepass.cxx @@ -1093,6 +1093,9 @@ class TypePass:private Dispatcher { Setattr(nn, "access", Getattr(n, "access")); if (!Getattr(nn, "sym:name")) Setattr(nn, "sym:name", symname); + Symtab *st = Getattr(n, "sym:symtab"); + assert(st); + Setattr(nn, "sym:symtab", st); if (!GetFlag(nn, "feature:ignore")) { ParmList *parms = CopyParmList(Getattr(c, "parms")); |