Branch: refs/heads/Cog Home: https://github.com/OpenSmalltalk/opensmalltalk-vm Commit: 557faeee2089a2dc4cbb8ecc4a82b4fa45b2aab7 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/557faeee2089a2dc4cb... Author: Eliot Miranda eliot.miranda@gmail.com Date: 2022-07-30 (Sat, 30 Jul 2022)
Changed paths: M src/plugins/AsynchFilePlugin/AsynchFilePlugin.c M src/plugins/B2DPlugin/B2DPlugin.c M src/plugins/B3DAcceleratorPlugin/B3DAcceleratorPlugin.c M src/plugins/ClipboardExtendedPlugin/ClipboardExtendedPlugin.c M src/plugins/CroquetPlugin/CroquetPlugin.c M src/plugins/FileCopyPlugin/FileCopyPlugin.c M src/plugins/HostWindowPlugin/HostWindowPlugin.c M src/plugins/InternetConfigPlugin/InternetConfigPlugin.c M src/plugins/JPEGReadWriter2Plugin/JPEGReadWriter2Plugin.c M src/plugins/Klatt/Klatt.c M src/plugins/MIDIPlugin/MIDIPlugin.c M src/plugins/MacMenubarPlugin/MacMenubarPlugin.c M src/plugins/MiscPrimitivePlugin/MiscPrimitivePlugin.c M src/plugins/Mpeg3Plugin/Mpeg3Plugin.c M src/plugins/ScratchPlugin/ScratchPlugin.c M src/plugins/SerialPlugin/SerialPlugin.c M src/plugins/SocketPlugin/SocketPlugin.c M src/plugins/SoundPlugin/SoundPlugin.c M src/plugins/SqueakFFIPrims/ARM32FFIPlugin.c M src/plugins/SqueakFFIPrims/ARM64AppleFFIPlugin.c M src/plugins/SqueakFFIPrims/ARM64FFIPlugin.c M src/plugins/SqueakFFIPrims/IA32FFIPlugin.c M src/plugins/SqueakFFIPrims/RiscV64FFIPlugin.c M src/plugins/SqueakFFIPrims/X64SysVFFIPlugin.c M src/plugins/SqueakFFIPrims/X64Win64FFIPlugin.c M src/plugins/Win32OSProcessPlugin/Win32OSProcessPlugin.c
Log Message: ----------- CogVm source as per VMMaker.oscog-eem.3229
Slang: Improve inferTypesForImplicitlyTypedVariablesIn:, reducing the special casing and simply deferring to each kind of parse node to determine its own type. Hence allow typing of TSwitchStmtNode, especially when some cases return. This allows var := expr caseOf: { [v1] -> ['a string]. [v2] -> ['b string] } otherwise: [^interpreterProxy primitiveFailFor: PrimErrNoMatch]. to type correctly var as char *.
Hence don't prepend assignments to TSwitchStmtNode cases which return.
Hence extract the type merging in CCodeGenerator>>#mergeTypeOf:in:with:method: into CCodeGenerator>>#mergeType:with:.
vm-dev@lists.squeakfoundation.org