[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gambas-bugtracker] Bug #2902: Dynamically creating classes using inheritance and parameters now fails
[Thread Prev] | [Thread Next]
- Subject: [Gambas-bugtracker] Bug #2902: Dynamically creating classes using inheritance and parameters now fails
- From: <bugtracker@xxxxxxxxxxxxxx>
- Date: Thu, 06 Jun 2024 13:47:15 GMT
- To: brian@xxxxxxxxxxxxxxxx,bugtracker@xxxxxxxxxxxxxxxxxxxxxx
http://gambaswiki.org/bugtracker/edit?object=BUG.2902&from=L21haW4- Brian G reported a new bug. Summary ------- Dynamically creating classes using inheritance and parameters now fails Type : Bug Priority : High Gambas version : Master Product : Language Description ----------- In the past if _new(p1 as integer, p2 as integer) was defined for a class 1 and and class 2 inherits class 1 and defines _new() then I can do xx = new class2(1,3) no problem it respects the inherited class parameters. I could also do the following .. where me is a class 2 object xx = object.class(me).new(1,2) But recently this fails with a too many parameters error, I seems to no longer call the super._new or respect the parameters. There seems to no longer be any way to dynamically create an instance of an inherited class. If I try to define class 2 with the parameters, then it just tacks them to the end of the class one parameters as it should something seems to have broken. This was working in 19.1 In believe. Here is a sample script ---------------------------------------------------------------------------------------------------- #!/usr/bin/env gbs3 ' Gambas Script File Created 06/05/2024 08:54:06 Class Adds Property Read sum As Integer iA As Integer iB As Integer Public Sub _new(a As Integer, b As Integer) iA = a iB = b End Private Function sum_read() As Integer Return iA + iB End End Class Class Mults Inherits Adds Property Read Mult As Integer iC As Integer Public Sub _new(c As Integer) iC = c End Private Function mult_read() As Integer Return Super.sum * ic End End Class Dim s1 As New Adds(1, 2) Dim m1 As New Mults(1, 2, 3) Print s1.sum, m1.mult Print object.class(m1).name Dim m2 As Variant = object.class(m1).new(1, 3, 4) '< fails here with too many parameters error Print m2.mult Quit 0 Catch Error "Script Error >";; error.text & "\n" & error.where ------------------------------------------------------------------------------------------------------------------------ -- ~~~~ Brian System information ------------------ [System] Gambas=3.19.90 OperatingSystem=Linux Distribution=Linux Mint 21.3 (Virginia) Kernel=6.5.0-35-generic Architecture=x86_64 Cores=8 Memory=13918M Language=en_US.UTF-8 Platform=x11 Desktop=MATE DesktopResolution=96 DesktopScale=7 WidgetTheme=proxy Font=Ubuntu,10 [Programs] appimage-builder=appimage-builder: 1.1.0 clang=Ubuntu clang version 14.0.0-1ubuntu1.1 dpkg=Debian 'dpkg' package management program version 1.21.1 (amd64). gcc=gcc (Ubuntu 12.3.0-1ubuntu1~22.04) 12.3.0 git=git version 2.34.1 msgmerge=msgmerge (GNU gettext-tools) 0.21 rpmbuild=RPM version 4.17.0 [Libraries] Cairo=libcairo.so.2.11600.0 Curl=libcurl.so.4.7.0 DBus=libdbus-1.so.3.19.13 GDK2=libgdk-x11-2.0.so.0.2400.33 GDK3=libgdk-3.so.0.2404.29 GStreamer=libgstreamer-1.0.so.0.2003.0 GTK+2=libgtk-x11-2.0.so.0.2400.33 GTK+3=libgtk-3.so.0.2404.29 OpenGL=libGL.so.1.7.0 Poppler=libpoppler.so.118.0.0 Poppler=libpoppler.so.97.0.0 QT5=libQt5Core.so.5.15.3 QT6=libQt6Core.so.6.2.4 RSvg=librsvg-2.so.2.48.0 SDL=libSDL2-2.0.so.0.18.2 SQLite3=libsqlite3.so.0.8.6 [Environment] CLUTTER_BACKEND=x11 CLUTTER_IM_MODULE=ibus COMPIZ_CONFIG_PROFILE=mint DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus DESKTOP_SESSION=mate DISPLAY=:0 EDIGB_GUI=gb.qt5 EDITOR=pluma GB_GUI=gb.qt5 GDMSESSION=mate GDM_LANG=en_US GIO_LAUNCHED_DESKTOP_FILE_PID=896055 GPG_AGENT_INFO=/run/user/1000/gnupg/S.gpg-agent:0:1 GTK3_MODULES=xapp-gtk3-module GTK_IM_MODULE=ibus GTK_MODULES=gail:atk-bridge GTK_OVERLAY_SCROLLING=0 HOME=<home> LANG=en_US.UTF-8 LANGUAGE=en_US.UTF-8 LC_ADDRESS=en_US.UTF-8 LC_ALL=en_US.UTF-8 LC_IDENTIFICATION=en_US.UTF-8 LC_MEASUREMENT=en_US.UTF-8 LC_MONETARY=en_US.UTF-8 LC_NAME=en_US.UTF-8 LC_NUMERIC=en_US.UTF-8 LC_PAPER=en_US.UTF-8 LC_TELEPHONE=en_US.UTF-8 LC_TIME=en_US.UTF-8 LIBVIRT_DEFAULT_URI=qemu:///system LOGNAME=<user> MATE_DESKTOP_SESSION_ID=this-is-deprecated PAM_KWALLET5_LOGIN=/run/user/1000/kwallet5.socket PAPERSIZE=a4 PATH=<home>/.config/emacs/bin:<home>/.local/bin:<home>/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin PICO_SDK_PATH=<home>/Projects/picomite/pico/pico-sdk PWD=<home> QT_ACCESSIBILITY=1 QT_FONT_DPI=96 QT_IM_MODULE=ibus QT_LOGGING_RULES=*.debug=false QT_QPA_PLATFORMTHEME=qt5ct QT_SCALE_FACTOR=1 SESSION_MANAGER=local/<hostname>:@/tmp/.ICE-unix/895368,unix/<hostname>:/tmp/.ICE-unix/895368 SHELL=/usr/bin/gsh SHLVL=0 SSH_AUTH_SOCK=/run/user/1000/keyring/ssh TZ=:/etc/localtime USER=<user> XAUTHORITY=<home>/.Xauthority XDG_CONFIG_DIRS=/etc/xdg/xdg-mate:/etc/xdg XDG_CURRENT_DESKTOP=MATE XDG_DATA_DIRS=/usr/share/mate:/usr/share/mate:/usr/share/gnome:<home>/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share XDG_GREETER_DATA_DIR=/var/lib/lightdm-data/<user> XDG_RUNTIME_DIR=/run/user/1000 XDG_SEAT=seat0 XDG_SEAT_PATH=/org/freedesktop/DisplayManager/Seat0 XDG_SESSION_CLASS=user XDG_SESSION_DESKTOP=mate XDG_SESSION_ID=c4 XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session1 XDG_SESSION_TYPE=x11 XDG_VTNR=7 XMODIFIERS=@im=ibus gshlibrary=<home>/Projects/gshlibrary gshproject=<home>/Projects/gsh ----[ Gambas bugtracker-list is hosted by https://www.hostsharing.net ]----
[Gambas-bugtracker] Bug #2902: Dynamically creating classes using inheritance and parameters now fails | <bugtracker@xxxxxxxxxxxxxx> |
[Gambas-bugtracker] Bug #2902: Dynamically creating classes using inheritance and parameters now fails | <bugtracker@xxxxxxxxxxxxxx> |