[Vm-dev] VM Maker: VMMaker.oscog-nice.1712.mcz

Eliot Miranda eliot.miranda at gmail.com
Mon Mar 7 21:20:58 UTC 2016


Hi Nicolas,

    how about refactoring like this:  ?

MacMenubarPlugin>>oopAsMenuHandle: menuHandleOop
    <returnTypeC: #MenuHandle>
    ^self cCoerce: (interpreterProxy positiveMachineIntegerValueOf:
menuHandleOop) to: #MenuHandle

primitiveSetMenuItemKeyGlyph: menuHandleOop item: anInteger glyph:
inGlyphInteger
        | menuHandle |
        self primitive: 'primitiveSetMenuItemKeyGlyph'
                parameters: #(Oop SmallInteger SmallInteger).

       menuHandle := self oopAsMenuHandle: menuHandleOop.
        (self ioCheckMenuHandle: menuHandle) ifFalse: [^interpreterProxy
success: false].
        self cCode: 'SetMenuItemKeyGlyph(menuHandle,anInteger,inGlyphInteger)'
inSmalltalk:[menuHandle].
        ^nil

or this?
MacMenubarPlugin>>checkedMenuHandle: menuHandleOop
    | menuHandle |
    <returnTypeC: #MenuHandle>
    menuHandle  := self cCoerce: (interpreterProxy
positiveMachineIntegerValueOf: menuHandleOop) to: #MenuHandle.
    self ioCheckMenuHandle: menuHandle.
    ^ menuHandle

primitiveSetMenuItemKeyGlyph: menuHandleOop item: anInteger glyph:
inGlyphInteger
        | menuHandle |
        self primitive: 'primitiveSetMenuItemKeyGlyph'
                parameters: #(Oop SmallInteger SmallInteger).

        menuHandle := self checkedMenuHandle: menuHandleOop.
        interpreterProxy failed ifFalse:
            [self SetMenu: menuHandle ItemKey: anInteger Glyph:
inGlyphInteger]


On Fri, Mar 4, 2016 at 5:33 PM, <commits at source.squeak.org> wrote:

>
> Nicolas Cellier uploaded a new version of VMMaker to project VM Maker:
> http://source.squeak.org/VMMaker/VMMaker.oscog-nice.1712.mcz
>
> ==================== Summary ====================
>
> Name: VMMaker.oscog-nice.1712
> Author: nice
> Time: 5 March 2016, 2:32:35.84 am
> UUID: 5c7fb203-b18c-4143-a2b9-cd59c2acc47c
> Ancestors: VMMaker.oscog-nice.1711
>
> Make the MacMenubarPlugin 64bits aware: the menuHandle does not
> necessarily fit on a 32bits int.
>
> =============== Diff against VMMaker.oscog-nice.1711 ===============
>
> Item was changed:
>   ----- Method: MacMenubarPlugin>>primitiveAppendMenu:data: (in category
> 'system primitives') -----
>   primitiveAppendMenu: menuHandleOop data: str255
>         | menuHandle constStr255 |
>         self primitive: 'primitiveAppendMenu'
>                 parameters: #(Oop ByteArray).
>         self var: 'menuHandle' type: 'MenuHandle'.
>         self var: 'constStr255' type: 'ConstStr255Param'.
>
> +       menuHandle := self cCoerce: (interpreterProxy
> positiveMachineIntegerValueOf: menuHandleOop) to: 'MenuHandle'.
> -       menuHandle := self cCoerce: (interpreterProxy
> positive32BitValueOf: menuHandleOop) to: 'MenuHandle'.
>         (self ioCheckMenuHandle: menuHandle) ifFalse: [^interpreterProxy
> success: false].
>         constStr255 := self cCoerce: str255 to: 'ConstStr255Param'.
>         self cCode: 'AppendMenu(menuHandle,constStr255)'
> inSmalltalk:[menuHandle].
>         ^nil!
>
> Item was changed:
>   ----- Method: MacMenubarPlugin>>primitiveAppendMenuItemText:data: (in
> category 'system primitives') -----
>   primitiveAppendMenuItemText: menuHandleOop data: str255
>         | menuHandle constStr255 |
>         self primitive: 'primitiveAppendMenuItemText'
>                 parameters: #(Oop ByteArray).
>         self var: 'menuHandle' type: 'MenuHandle'.
>         self var: 'constStr255' type: 'ConstStr255Param'.
> +       menuHandle := self cCoerce: (interpreterProxy
> positiveMachineIntegerValueOf: menuHandleOop) to: 'MenuHandle'.
> -       menuHandle := self cCoerce: (interpreterProxy
> positive32BitValueOf: menuHandleOop) to: 'MenuHandle'.
>         (self ioCheckMenuHandle: menuHandle) ifFalse: [^interpreterProxy
> success: false].
>         constStr255 := self cCoerce: str255 to: 'ConstStr255Param'.
>         self cCode: 'AppendMenuItemText(menuHandle,constStr255)'
> inSmalltalk:[menuHandle].
>         ^nil!
>
> Item was changed:
>   ----- Method: MacMenubarPlugin>>primitiveCheckMenuItem:item:checked: (in
> category 'system primitives') -----
>   primitiveCheckMenuItem: menuHandleOop item: anInteger checked: aBoolean
>         | menuHandle |
>         self primitive: 'primitiveCheckMenuItem'
>                 parameters: #(Oop SmallInteger Boolean).
>         self var: 'menuHandle' type: 'MenuHandle'.
>
> +       menuHandle := self cCoerce: (interpreterProxy
> positiveMachineIntegerValueOf: menuHandleOop) to: 'MenuHandle'.
> -       menuHandle := self cCoerce: (interpreterProxy
> positive32BitValueOf: menuHandleOop) to: 'MenuHandle'.
>         (self ioCheckMenuHandle: menuHandle) ifFalse: [^interpreterProxy
> success: false].
>         self cCode: 'CheckMenuItem(menuHandle,anInteger,aBoolean)'
> inSmalltalk:[menuHandle].
>         ^nil
>
>   !
>
> Item was changed:
>   ----- Method: MacMenubarPlugin>>primitiveCountMenuItems: (in category
> 'system primitives') -----
>   primitiveCountMenuItems: menuHandleOop
>         | menuHandle returnValue |
>         self primitive: 'primitiveCountMenuItems'
>                 parameters: #(Oop).
>         self var: 'menuHandle' type: 'MenuHandle'.
>
> +       menuHandle := self cCoerce: (interpreterProxy
> positiveMachineIntegerValueOf: menuHandleOop) to: 'MenuHandle'.
> -       menuHandle := self cCoerce: (interpreterProxy
> positive32BitValueOf: menuHandleOop) to: 'MenuHandle'.
>         (self ioCheckMenuHandle: menuHandle) ifFalse: [^interpreterProxy
> success: false].
>         returnValue := self cCode: 'CountMenuItems(menuHandle)'
> inSmalltalk:[0].
>         ^returnValue asSmallIntegerObj
>   !
>
> Item was changed:
>   ----- Method: MacMenubarPlugin>>primitiveCreateStandardWindowMenu: (in
> category 'system primitives') -----
>   primitiveCreateStandardWindowMenu: inOptions
>
>         | menuHandle result |
>         self primitive: 'primitiveCreateStandardWindowMenu'
>                 parameters: #(SmallInteger).
>         self var: 'menuHandle' type: 'MenuHandle'.
>
>         self cCode: '#if TARGET_API_MAC_CARBON
>   '.
>         result := self cCode:
> 'CreateStandardWindowMenu(inOptions,&menuHandle);
>   #endif' inSmalltalk:[0].
> +       ^interpreterProxy positiveMachineIntegerFor: (self cCoerce:
> menuHandle to: 'long')!
> -       ^interpreterProxy positive32BitIntegerFor: (self cCoerce:
> menuHandle to: 'long')!
>
> Item was changed:
>   ----- Method: MacMenubarPlugin>>primitiveDeleteMenuItem:item: (in
> category 'system primitives') -----
>   primitiveDeleteMenuItem: menuHandleOop item: anInteger
>         | menuHandle |
>         self primitive: 'primitiveDeleteMenuItem'
>                 parameters: #(Oop SmallInteger).
>         self var: 'menuHandle' type: 'MenuHandle'.
>
> +       menuHandle := self cCoerce: (interpreterProxy
> positiveMachineIntegerValueOf: menuHandleOop) to: 'MenuHandle'.
> -       menuHandle := self cCoerce: (interpreterProxy
> positive32BitValueOf: menuHandleOop) to: 'MenuHandle'.
>         (self ioCheckMenuHandle: menuHandle) ifFalse: [^interpreterProxy
> success: false].
>         self cCode: 'DeleteMenuItem(menuHandle,anInteger)'
> inSmalltalk:[menuHandle].
>         ^nil
>   !
>
> Item was changed:
>   ----- Method: MacMenubarPlugin>>primitiveDisableMenuCommand:item: (in
> category 'system primitives') -----
>   primitiveDisableMenuCommand: menuHandleOop item: anInteger
>         | menuHandle commandID |
>         self primitive: 'primitiveDisableMenuCommand'
>                 parameters: #(Oop Oop).
>         self var: 'menuHandle' type: 'MenuHandle'.
>         self var: 'commandID' type: 'MenuCommand'.
>
> +       menuHandle := self cCoerce: (interpreterProxy
> positiveMachineIntegerValueOf: menuHandleOop) to: 'MenuHandle'.
> -       menuHandle := self cCoerce: (interpreterProxy
> positive32BitValueOf: menuHandleOop) to: 'MenuHandle'.
>         commandID := self cCoerce: (interpreterProxy positive32BitValueOf:
> anInteger) to: 'MenuCommand'.
>         (self ioCheckMenuHandle: menuHandle) ifFalse: [^interpreterProxy
> success: false].
>         self cCode: '#if TARGET_API_MAC_CARBON
>   DisableMenuCommand(menuHandle,commandID);
>   #endif' inSmalltalk:[menuHandle].
>         ^nil
>   !
>
> Item was changed:
>   ----- Method: MacMenubarPlugin>>primitiveDisableMenuItem:item: (in
> category 'system primitives') -----
>   primitiveDisableMenuItem: menuHandleOop item: anInteger
>         | menuHandle |
>         self primitive: 'primitiveDisableMenuItem'
>                 parameters: #(Oop SmallInteger).
>         self var: 'menuHandle' type: 'MenuHandle'.
>
> +       menuHandle := self cCoerce: (interpreterProxy
> positiveMachineIntegerValueOf: menuHandleOop) to: 'MenuHandle'.
> -       menuHandle := self cCoerce: (interpreterProxy
> positive32BitValueOf: menuHandleOop) to: 'MenuHandle'.
>         (self ioCheckMenuHandle: menuHandle) ifFalse: [^interpreterProxy
> success: false].
>         self cCode: 'DisableMenuItem(menuHandle,anInteger)'
> inSmalltalk:[menuHandle].
>         ^nil
>   !
>
> Item was changed:
>   ----- Method: MacMenubarPlugin>>primitiveDisableMenuItemIcon:item: (in
> category 'system primitives') -----
>   primitiveDisableMenuItemIcon: menuHandleOop item: anInteger
>         | menuHandle |
>         self primitive: 'primitiveDisableMenuItemIcon'
>                 parameters: #(Oop SmallInteger).
>         self var: 'menuHandle' type: 'MenuHandle'.
>
> +       menuHandle := self cCoerce: (interpreterProxy
> positiveMachineIntegerValueOf: menuHandleOop) to: 'MenuHandle'.
> -       menuHandle := self cCoerce: (interpreterProxy
> positive32BitValueOf: menuHandleOop) to: 'MenuHandle'.
>         (self ioCheckMenuHandle: menuHandle) ifFalse: [^interpreterProxy
> success: false].
>         self cCode: 'DisableMenuItemIcon(menuHandle,anInteger)'
> inSmalltalk:[menuHandle].
>         ^nil
>   !
>
> Item was changed:
>   ----- Method: MacMenubarPlugin>>primitiveDisposeMenu: (in category
> 'system primitives') -----
>   primitiveDisposeMenu: menuHandleOop
>         | menuHandle |
>         self primitive: 'primitiveDisposeMenu'
>                 parameters: #(Oop).
>         self var: 'menuHandle' type: 'MenuHandle'.
>
> +       menuHandle := self cCoerce: (interpreterProxy
> positiveMachineIntegerValueOf: menuHandleOop) to: 'MenuHandle'.
> -       menuHandle := self cCoerce: (interpreterProxy
> positive32BitValueOf: menuHandleOop) to: 'MenuHandle'.
>         (self ioCheckMenuHandle: menuHandle) ifFalse: [^interpreterProxy
> success: false].
>         self cCode: 'DisposeMenu(menuHandle)' inSmalltalk:[menuHandle].
>         ^nil
>   !
>
> Item was changed:
>   ----- Method: MacMenubarPlugin>>primitiveEnableMenuCommand:item: (in
> category 'system primitives') -----
>   primitiveEnableMenuCommand: menuHandleOop item: anInteger
>         | menuHandle commandID |
>         self primitive: 'primitiveEnableMenuCommand'
>                 parameters: #(Oop Oop).
>         self var: 'menuHandle' type: 'MenuHandle'.
>         self var: 'commandID' type: 'MenuCommand'.
>
> +       menuHandle := self cCoerce: (interpreterProxy
> positiveMachineIntegerValueOf: menuHandleOop) to: 'MenuHandle'.
> -       menuHandle := self cCoerce: (interpreterProxy
> positive32BitValueOf: menuHandleOop) to: 'MenuHandle'.
>         commandID := self cCoerce: (interpreterProxy positive32BitValueOf:
> anInteger) to: 'MenuCommand'.
>         (self ioCheckMenuHandle: menuHandle) ifFalse: [^interpreterProxy
> success: false].
>         self cCode: '#if TARGET_API_MAC_CARBON
>   EnableMenuCommand(menuHandle,commandID);
>   #endif' inSmalltalk:[menuHandle].
>         ^nil!
>
> Item was changed:
>   ----- Method: MacMenubarPlugin>>primitiveEnableMenuItem:item: (in
> category 'system primitives') -----
>   primitiveEnableMenuItem: menuHandleOop item: anInteger
>         | menuHandle |
>         self primitive: 'primitiveEnableMenuItem'
>                 parameters: #(Oop SmallInteger).
>         self var: 'menuHandle' type: 'MenuHandle'.
>
> +       menuHandle := self cCoerce: (interpreterProxy
> positiveMachineIntegerValueOf: menuHandleOop) to: 'MenuHandle'.
> -       menuHandle := self cCoerce: (interpreterProxy
> positive32BitValueOf: menuHandleOop) to: 'MenuHandle'.
>         (self ioCheckMenuHandle: menuHandle) ifFalse: [^interpreterProxy
> success: false].
>         self cCode: 'EnableMenuItem(menuHandle,anInteger)'
> inSmalltalk:[menuHandle].
>         ^nil
>   !
>
> Item was changed:
>   ----- Method: MacMenubarPlugin>>primitiveEnableMenuItemIcon:item: (in
> category 'system primitives') -----
>   primitiveEnableMenuItemIcon: menuHandleOop item: anInteger
>         | menuHandle |
>         self primitive: 'primitiveEnableMenuItemIcon'
>                 parameters: #(Oop SmallInteger).
>         self var: 'menuHandle' type: 'MenuHandle'.
>
> +       menuHandle := self cCoerce: (interpreterProxy
> positiveMachineIntegerValueOf: menuHandleOop) to: 'MenuHandle'.
> -       menuHandle := self cCoerce: (interpreterProxy
> positive32BitValueOf: menuHandleOop) to: 'MenuHandle'.
>         (self ioCheckMenuHandle: menuHandle) ifFalse: [^interpreterProxy
> success: false].
>         self cCode: 'EnableMenuItemIcon(menuHandle,anInteger)'
> inSmalltalk:[menuHandle].
>         ^nil
>   !
>
> Item was changed:
>   ----- Method:
> MacMenubarPlugin>>primitiveGetIndMenuItemWithCommandID:commandID: (in
> category 'system primitives') -----
>   primitiveGetIndMenuItemWithCommandID: menuHandleOop commandID: aCommandID
>         | menuHandle MenuItemIndex commandID applicationMenu outIndex |
>         self primitive: 'primitiveGetIndMenuItemWithCommandID'
>                 parameters: #(Oop Oop).
>         self var: 'menuHandle' type: 'MenuHandle'.
>         self var: 'commandID' type: 'MenuCommand'.
>         self var: 'applicationMenu' type: 'MenuHandle'.
>         self var: 'outIndex' type: 'MenuItemIndex'.
>
> +       menuHandle := self cCoerce: (interpreterProxy
> positiveMachineIntegerValueOf: menuHandleOop) to: 'MenuHandle'.
> -       menuHandle := self cCoerce: (interpreterProxy
> positive32BitValueOf: menuHandleOop) to: 'MenuHandle'.
>         commandID := self cCoerce: (interpreterProxy positive32BitValueOf:
> aCommandID) to: 'MenuCommand'.
>         (self ioCheckMenuHandle: menuHandle) ifFalse: [^interpreterProxy
> success: false].
>         self cCode: '#if TARGET_API_MAC_CARBON
>   GetIndMenuItemWithCommandID(menuHandle, kHICommandHide, 1,
>                      &applicationMenu, &outIndex);
>   #endif' inSmalltalk:[menuHandle].
>         ^outIndex asSmallIntegerObj
>   !
>
> Item was changed:
>   ----- Method:
> MacMenubarPlugin>>primitiveGetIndMenuWithCommandID:commandID: (in category
> 'system primitives') -----
>   primitiveGetIndMenuWithCommandID: menuHandleOop commandID: aCommandID
> +       | menuHandle commandID applicationMenu outIndex |
> -       | menuHandle MenuItemIndex commandID applicationMenu outIndex |
>         self primitive: 'primitiveGetIndMenuWithCommandID'
>                 parameters: #(Oop Oop).
>         self var: 'menuHandle' type: 'MenuHandle'.
>         self var: 'commandID' type: 'MenuCommand'.
>         self var: 'applicationMenu' type: 'MenuHandle'.
>         self var: 'outIndex' type: 'MenuItemIndex'.
>
> +       menuHandle := self cCoerce: (interpreterProxy
> positiveMachineIntegerValueOf: menuHandleOop) to: 'MenuHandle'.
> -       menuHandle := self cCoerce: (interpreterProxy
> positive32BitValueOf: menuHandleOop) to: 'MenuHandle'.
>         commandID := self cCoerce: (interpreterProxy positive32BitValueOf:
> aCommandID) to: 'MenuCommand'.
>         (self ioCheckMenuHandle: menuHandle) ifFalse: [^interpreterProxy
> success: false].
>         self cCode: '#if TARGET_API_MAC_CARBON
>   GetIndMenuItemWithCommandID(menuHandle, kHICommandHide, 1,
>                      &applicationMenu, &outIndex);
>   #endif ' inSmalltalk:[menuHandle].
> +       outIndex asSmallIntegerObj. "to avoid elimination of the
> variable..."
> +       ^interpreterProxy positiveMachineIntegerFor: (self cCoerce:
> applicationMenu to: 'long')
> -       ^interpreterProxy positive32BitIntegerFor: (self cCoerce:
> applicationMenu to: 'long')
>
>   !
>
> Item was changed:
>   ----- Method: MacMenubarPlugin>>primitiveGetItemCmd:item: (in category
> 'system primitives') -----
>   primitiveGetItemCmd: menuHandleOop item: anInteger
>         | menuHandle aCharacter |
>         <var: 'menuHandle' type: 'MenuHandle'>
>         <var: #aCharacter type: 'CharParameter'>
>         self primitive: 'primitiveGetItemCmd'
>                 parameters: #(Oop SmallInteger).
>
> +       menuHandle := self cCoerce: (interpreterProxy
> positiveMachineIntegerValueOf: menuHandleOop) to: 'MenuHandle'.
> -       menuHandle := self cCoerce: (interpreterProxy
> positive32BitValueOf: menuHandleOop) to: 'MenuHandle'.
>         (self ioCheckMenuHandle: menuHandle) ifFalse: [^interpreterProxy
> success: false].
>         aCharacter := 0.
>         self cCode: 'GetItemCmd(menuHandle,anInteger,&aCharacter)'
> inSmalltalk:[menuHandle].
>         ^aCharacter asSmallIntegerObj
>
>   !
>
> Item was changed:
>   ----- Method: MacMenubarPlugin>>primitiveGetItemIcon:item: (in category
> 'system primitives') -----
>   primitiveGetItemIcon: menuHandleOop item: anInteger
>         | menuHandle iconIndex |
>         self primitive: 'primitiveGetItemIcon'
>                 parameters: #(Oop SmallInteger).
>         self var: 'menuHandle' type: 'MenuHandle'.
>         self var: 'iconIndex' type: 'short'.
>
> +       menuHandle := self cCoerce: (interpreterProxy
> positiveMachineIntegerValueOf: menuHandleOop) to: 'MenuHandle'.
> -       menuHandle := self cCoerce: (interpreterProxy
> positive32BitValueOf: menuHandleOop) to: 'MenuHandle'.
>         (self ioCheckMenuHandle: menuHandle) ifFalse: [^interpreterProxy
> success: false].
>         iconIndex := 0.
>         self cCode: 'GetItemIcon(menuHandle,anInteger,&iconIndex)'
> inSmalltalk:[menuHandle].
>         ^iconIndex asSmallIntegerObj
>   !
>
> Item was changed:
>   ----- Method: MacMenubarPlugin>>primitiveGetItemMark:item: (in category
> 'system primitives') -----
>   primitiveGetItemMark: menuHandleOop item: anInteger
>         | menuHandle aCharacter |
>         <var: 'menuHandle' type: 'MenuHandle'>
>         <var: #aCharacter type: 'CharParameter'>
>         self primitive: 'primitiveGetItemMark'
>                 parameters: #(Oop SmallInteger).
>
> +       menuHandle := self cCoerce: (interpreterProxy
> positiveMachineIntegerValueOf: menuHandleOop) to: 'MenuHandle'.
> -       menuHandle := self cCoerce: (interpreterProxy
> positive32BitValueOf: menuHandleOop) to: 'MenuHandle'.
>         (self ioCheckMenuHandle: menuHandle) ifFalse: [^interpreterProxy
> success: false].
>         aCharacter := 0.
>         self cCode: 'GetItemMark(menuHandle,anInteger,&aCharacter)'
> inSmalltalk:[menuHandle].
>         ^aCharacter asSmallIntegerObj
>
>   !
>
> Item was changed:
>   ----- Method: MacMenubarPlugin>>primitiveGetItemStyle:item: (in category
> 'system primitives') -----
>   primitiveGetItemStyle: menuHandleOop item: anInteger
>         | menuHandle chStyle |
>         self primitive: 'primitiveGetItemStyle'
>                 parameters: #(Oop SmallInteger).
>         self var: 'menuHandle' type: 'MenuHandle'.
>         self var: 'chStyle' type: 'Style'.
>
> +       menuHandle := self cCoerce: (interpreterProxy
> positiveMachineIntegerValueOf: menuHandleOop) to: 'MenuHandle'.
> -       menuHandle := self cCoerce: (interpreterProxy
> positive32BitValueOf: menuHandleOop) to: 'MenuHandle'.
>         (self ioCheckMenuHandle: menuHandle) ifFalse: [^interpreterProxy
> success: false].
>         chStyle := 0.
>         self cCode: 'GetItemStyle(menuHandle,anInteger,&chStyle)'
> inSmalltalk:[menuHandle].
>         ^chStyle asSmallIntegerObj
>
>   !
>
> Item was changed:
>   ----- Method: MacMenubarPlugin>>primitiveGetMenuBar (in category 'system
> primitives') -----
>   primitiveGetMenuBar
>         | menuHandle |
>         self primitive: 'primitiveGetMenuBar'
>                 parameters: #().
>         self var: 'menuHandle' type: 'Handle'.
>         menuHandle := self cCode: 'GetMenuBar()' inSmalltalk:[0].
> +       ^interpreterProxy positiveMachineIntegerFor: (self cCoerce:
> menuHandle to: 'long')!
> -       ^interpreterProxy positive32BitIntegerFor: (self cCoerce:
> menuHandle to: 'long')!
>
> Item was changed:
>   ----- Method: MacMenubarPlugin>>primitiveGetMenuHandle: (in category
> 'system primitives') -----
>   primitiveGetMenuHandle: menuID
>         | menuHandle |
>         self primitive: 'primitiveGetMenuHandle'
>                 parameters: #(SmallInteger).
>         self var: 'menuHandle' type: 'MenuHandle'.
>         self var: 'menuID' type: 'MenuID'.
>         menuHandle := self cCode: 'GetMenuHandle(menuID)' inSmalltalk:[0].
> +       ^interpreterProxy positiveMachineIntegerFor: (self cCoerce:
> menuHandle to: 'long')!
> -       ^interpreterProxy positive32BitIntegerFor: (self cCoerce:
> menuHandle to: 'long')!
>
> Item was changed:
>   ----- Method: MacMenubarPlugin>>primitiveGetMenuID: (in category 'system
> primitives') -----
>   primitiveGetMenuID: menuHandleOop
>         | menuHandle menuID |
>
>         self primitive: 'primitiveGetMenuID'
>                 parameters: #(Oop ).
>         self var: 'menuHandle' type: 'MenuHandle'.
>         self var: 'menuID' type: 'MenuID'.
> +       menuHandle := self cCoerce: (interpreterProxy
> positiveMachineIntegerValueOf: menuHandleOop) to: 'MenuHandle'.
> -       menuHandle := self cCoerce: (interpreterProxy
> positive32BitValueOf: menuHandleOop) to: 'MenuHandle'.
>         (self ioCheckMenuHandle: menuHandle) ifFalse: [^interpreterProxy
> success: false].
>         self cCode: 'menuID = GetMenuID(menuHandle)'
> inSmalltalk:[menuHandle].
>         ^menuID asSmallIntegerObj
>         !
>
> Item was changed:
>   ----- Method: MacMenubarPlugin>>primitiveGetMenuItemCommandID:item: (in
> category 'system primitives') -----
>   primitiveGetMenuItemCommandID: menuHandleOop item: anInteger
>         | menuHandle outCommandID |
>         self primitive: 'primitiveGetMenuItemCommandID'
>                 parameters: #(Oop SmallInteger).
>         self var: 'menuHandle' type: 'MenuHandle'.
>         self var: 'outCommandID' type: 'MenuCommand'.
>         outCommandID := 0.
> +       menuHandle := self cCoerce: (interpreterProxy
> positiveMachineIntegerValueOf: menuHandleOop) to: 'MenuHandle'.
> -       menuHandle := self cCoerce: (interpreterProxy
> positive32BitValueOf: menuHandleOop) to: 'MenuHandle'.
>         (self ioCheckMenuHandle: menuHandle) ifFalse: [^interpreterProxy
> success: false].
>         self cCode:
> 'GetMenuItemCommandID(menuHandle,anInteger,&outCommandID)'
> inSmalltalk:[menuHandle].
>         ^interpreterProxy positive32BitIntegerFor: outCommandID
>         !
>
> Item was changed:
>   ----- Method: MacMenubarPlugin>>primitiveGetMenuItemFontID:item: (in
> category 'system primitives') -----
>   primitiveGetMenuItemFontID: menuHandleOop item: anInteger
>         | menuHandle outFontID |
>         self primitive: 'primitiveGetMenuItemFontID'
>                 parameters: #(Oop SmallInteger).
>         self var: 'menuHandle' type: 'MenuHandle'.
>         self var: 'outFontID' type: 'SInt16'.
>         outFontID := 0.
> +       menuHandle := self cCoerce: (interpreterProxy
> positiveMachineIntegerValueOf: menuHandleOop) to: 'MenuHandle'.
> -       menuHandle := self cCoerce: (interpreterProxy
> positive32BitValueOf: menuHandleOop) to: 'MenuHandle'.
>         (self ioCheckMenuHandle: menuHandle) ifFalse: [^interpreterProxy
> success: false].
>         self cCode: 'GetMenuItemFontID(menuHandle,anInteger,&outFontID)'
> inSmalltalk:[menuHandle].
>         ^outFontID asSmallIntegerObj
>         !
>
> Item was changed:
>   ----- Method: MacMenubarPlugin>>primitiveGetMenuItemHierarchicalID:item:
> (in category 'system primitives') -----
>   primitiveGetMenuItemHierarchicalID: menuHandleOop item: anInteger
>         | menuHandle outHierID |
>         self primitive: 'primitiveGetMenuItemHierarchicalID'
>                 parameters: #(Oop SmallInteger ).
>         self var: 'menuHandle' type: 'MenuHandle'.
>         self var: 'outHierID' type: 'MenuID'.
>
> +       menuHandle := self cCoerce: (interpreterProxy
> positiveMachineIntegerValueOf: menuHandleOop) to: 'MenuHandle'.
> -       menuHandle := self cCoerce: (interpreterProxy
> positive32BitValueOf: menuHandleOop) to: 'MenuHandle'.
>         (self ioCheckMenuHandle: menuHandle) ifFalse: [^interpreterProxy
> success: false].
>         outHierID := 0.
>         self cCode:
> 'GetMenuItemHierarchicalID(menuHandle,anInteger,&outHierID)'
> inSmalltalk:[menuHandle].
>         ^outHierID asSmallIntegerObj
>
>   !
>
> Item was changed:
>   ----- Method: MacMenubarPlugin>>primitiveGetMenuItemKeyGlyph:item: (in
> category 'system primitives') -----
>   primitiveGetMenuItemKeyGlyph: menuHandleOop item: anInteger
>         | menuHandle outGlyph |
>         self primitive: 'primitiveGetMenuItemKeyGlyph'
>                 parameters: #(Oop SmallInteger).
>         self var: 'menuHandle' type: 'MenuHandle'.
>         self var: 'outGlyph' type: 'SInt16'.
>         outGlyph := 0.
> +       menuHandle := self cCoerce: (interpreterProxy
> positiveMachineIntegerValueOf: menuHandleOop) to: 'MenuHandle'.
> -       menuHandle := self cCoerce: (interpreterProxy
> positive32BitValueOf: menuHandleOop) to: 'MenuHandle'.
>         (self ioCheckMenuHandle: menuHandle) ifFalse: [^interpreterProxy
> success: false].
>         self cCode: 'GetMenuItemKeyGlyph(menuHandle,anInteger,&outGlyph)'
> inSmalltalk:[menuHandle].
>         ^interpreterProxy positive32BitIntegerFor: outGlyph
>         !
>
> Item was changed:
>   ----- Method: MacMenubarPlugin>>primitiveGetMenuItemModifiers:item: (in
> category 'system primitives') -----
>   primitiveGetMenuItemModifiers: menuHandleOop item: anInteger
>         | menuHandle outModifers |
>         self primitive: 'primitiveGetMenuItemModifiers'
>                 parameters: #(Oop SmallInteger ).
>         self var: 'menuHandle' type: 'MenuHandle'.
>         self var: 'outModifers' type: 'Style'.
>
> +       menuHandle := self cCoerce: (interpreterProxy
> positiveMachineIntegerValueOf: menuHandleOop) to: 'MenuHandle'.
> -       menuHandle := self cCoerce: (interpreterProxy
> positive32BitValueOf: menuHandleOop) to: 'MenuHandle'.
>         (self ioCheckMenuHandle: menuHandle) ifFalse: [^interpreterProxy
> success: false].
>         outModifers := 0.
>         self cCode:
> 'GetMenuItemModifiers(menuHandle,anInteger,&outModifers)'
> inSmalltalk:[menuHandle].
>         ^outModifers asSmallIntegerObj
>
>
>   !
>
> Item was changed:
>   ----- Method: MacMenubarPlugin>>primitiveGetMenuItemText:item: (in
> category 'system primitives') -----
>   primitiveGetMenuItemText: menuHandleOop item: anInteger
>         | menuHandle size oop ptr aString |
>         <var: 'menuHandle' type: 'MenuHandle'>
>         <var: #aString type: 'Str255 '>
>         <var: #ptr type: 'char *'>
>         self primitive: 'primitiveGetMenuItemText'
>                 parameters: #(Oop SmallInteger).
>
> +       menuHandle := self cCoerce: (interpreterProxy
> positiveMachineIntegerValueOf: menuHandleOop) to: 'MenuHandle'.
> -       menuHandle := self cCoerce: (interpreterProxy
> positive32BitValueOf: menuHandleOop) to: 'MenuHandle'.
>         (self ioCheckMenuHandle: menuHandle) ifFalse: [^interpreterProxy
> success: false].
>         aString at: 0 put: 0.
>         self cCode: 'GetMenuItemText(menuHandle,anInteger,aString)'
> inSmalltalk:[menuHandle].
>         size := self cCode: 'aString[0]' inSmalltalk: [0].
>         oop := interpreterProxy instantiateClass: interpreterProxy
> classString indexableSize:  size.
>         ptr := interpreterProxy firstIndexableField: oop.
>         0 to: size-1 do:[:i|
>                 ptr at: i put: (aString at: (i+1))].
>         ^oop
>
>   !
>
> Item was changed:
>   ----- Method: MacMenubarPlugin>>primitiveGetMenuItemTextEncoding:item:
> (in category 'system primitives') -----
>   primitiveGetMenuItemTextEncoding: menuHandleOop item: anInteger
>         | menuHandle outScriptID |
>         self primitive: 'primitiveGetMenuItemTextEncoding'
>                 parameters: #(Oop SmallInteger).
>         self var: 'menuHandle' type: 'MenuHandle'.
>         self var: 'outScriptID' type: 'TextEncoding'.
>
> +       menuHandle := self cCoerce: (interpreterProxy
> positiveMachineIntegerValueOf: menuHandleOop) to: 'MenuHandle'.
> -       menuHandle := self cCoerce: (interpreterProxy
> positive32BitValueOf: menuHandleOop) to: 'MenuHandle'.
>         (self ioCheckMenuHandle: menuHandle) ifFalse: [^interpreterProxy
> success: false].
>         self cCode:
> 'GetMenuItemTextEncoding(menuHandle,anInteger,&outScriptID)'
> inSmalltalk:[menuHandle].
>         ^interpreterProxy positive32BitIntegerFor: outScriptID!
>
> Item was changed:
>   ----- Method: MacMenubarPlugin>>primitiveGetMenuTitle: (in category
> 'system primitives') -----
>   primitiveGetMenuTitle: menuHandleOop
>         | menuHandle size oop ptr aString |
>         <var: 'menuHandle' type: 'MenuHandle'>
>         <var: #aString type: 'Str255 '>
>         <var: #ptr type: 'char *'>
>         self primitive: 'primitiveGetMenuTitle'
>                 parameters: #(Oop).
>
> +       menuHandle := self cCoerce: (interpreterProxy
> positiveMachineIntegerValueOf: menuHandleOop) to: 'MenuHandle'.
> -       menuHandle := self cCoerce: (interpreterProxy
> positive32BitValueOf: menuHandleOop) to: 'MenuHandle'.
>         (self ioCheckMenuHandle: menuHandle) ifFalse: [^interpreterProxy
> success: false].
>         aString at: 0 put: 0.
>         self cCode: 'GetMenuTitle(menuHandle,aString)'
> inSmalltalk:[menuHandle].
>         size := self cCode: 'aString[0]' inSmalltalk: [0].
>         oop := interpreterProxy instantiateClass: interpreterProxy
> classString indexableSize:  size.
>         ptr := interpreterProxy firstIndexableField: oop.
>         0 to: size-1 do:[:i|
>                 ptr at: i put: (aString at: (i+1))].
>         ^oop
>
>   !
>
> Item was changed:
>   ----- Method:
> MacMenubarPlugin>>primitiveInsertFontResMenu:afterItem:scriptFilter: (in
> category 'system primitives') -----
>   primitiveInsertFontResMenu: menuHandleOop afterItem: afterItemInteger
> scriptFilter:  scriptFilterInteger
>         | menuHandle |
>         self primitive: 'primitiveInsertFontResMenu'
>                 parameters: #(Oop SmallInteger SmallInteger).
>         self var: 'menuHandle' type: 'MenuHandle'.
>
> +       menuHandle := self cCoerce: (interpreterProxy
> positiveMachineIntegerValueOf: menuHandleOop) to: 'MenuHandle'.
> -       menuHandle := self cCoerce: (interpreterProxy
> positive32BitValueOf: menuHandleOop) to: 'MenuHandle'.
>         (self ioCheckMenuHandle: menuHandle) ifFalse: [^interpreterProxy
> success: false].
>         self cCode:
> 'InsertFontResMenu(menuHandle,afterItemInteger,scriptFilterInteger)'
> inSmalltalk:[menuHandle].
>         ^nil
>         !
>
> Item was changed:
>   ----- Method:
> MacMenubarPlugin>>primitiveInsertIntlResMenu:theType:afterItem:scriptFilter:
> (in category 'system primitives') -----
>   primitiveInsertIntlResMenu: menuHandleOop theType: aResType afterItem:
> afterItemInteger scriptFilter:  scriptFilterInteger
>         | menuHandle resType |
>         self primitive: 'primitiveInsertIntlResMenu'
>                 parameters: #(Oop SmallInteger SmallInteger SmallInteger).
>         self var: 'menuHandle' type: 'MenuHandle'.
>         self var: 'resType' type: 'ResType'.
>
> +       menuHandle := self cCoerce: (interpreterProxy
> positiveMachineIntegerValueOf: menuHandleOop) to: 'MenuHandle'.
> -       menuHandle := self cCoerce: (interpreterProxy
> positive32BitValueOf: menuHandleOop) to: 'MenuHandle'.
>         (self ioCheckMenuHandle: menuHandle) ifFalse: [^interpreterProxy
> success: false].
>         resType := self cCoerce: (interpreterProxy positive32BitValueOf:
> aResType) to: 'ResType'.
>         self cCode:
> 'InsertIntlResMenu(menuHandle,resType,afterItemInteger,scriptFilterInteger)'
> inSmalltalk:[menuHandle].
>         ^nil
>         !
>
> Item was changed:
>   ----- Method: MacMenubarPlugin>>primitiveInsertMenu:beforeID: (in
> category 'system primitives') -----
>   primitiveInsertMenu: menuHandleOop beforeID: anInteger
>         | menuHandle |
>         self primitive: 'primitiveInsertMenu'
>                 parameters: #(Oop SmallInteger).
>         self var: 'menuHandle' type: 'MenuHandle'.
>         self var: 'anInteger' type: 'MenuID'.
>
> +       menuHandle := self cCoerce: (interpreterProxy
> positiveMachineIntegerValueOf: menuHandleOop) to: 'MenuHandle'.
> -       menuHandle := self cCoerce: (interpreterProxy
> positive32BitValueOf: menuHandleOop) to: 'MenuHandle'.
>         (self ioCheckMenuHandle: menuHandle) ifFalse: [^interpreterProxy
> success: false].
>         self cCode: 'InsertMenu(menuHandle,anInteger)'
> inSmalltalk:[menuHandle].
>         ^nil!
>
> Item was changed:
>   ----- Method:
> MacMenubarPlugin>>primitiveInsertMenuItem:itemString:afterItem: (in
> category 'system primitives') -----
>   primitiveInsertMenuItem: menuHandleOop itemString: str255 afterItem:
> anInteger
>         | menuHandle constStr255 |
>         self primitive: 'primitiveInsertMenuItem'
>                 parameters: #(Oop ByteArray SmallInteger).
>         self var: 'menuHandle' type: 'MenuHandle'.
>         self var: 'constStr255' type: 'ConstStr255Param'.
>
> +       menuHandle := self cCoerce: (interpreterProxy
> positiveMachineIntegerValueOf: menuHandleOop) to: 'MenuHandle'.
> -       menuHandle := self cCoerce: (interpreterProxy
> positive32BitValueOf: menuHandleOop) to: 'MenuHandle'.
>         (self ioCheckMenuHandle: menuHandle) ifFalse: [^interpreterProxy
> success: false].
>         constStr255 := self cCoerce: str255 to: 'ConstStr255Param'.
>         self cCode: 'InsertMenuItem(menuHandle,constStr255,anInteger)'
> inSmalltalk:[menuHandle].
>         ^nil
>         !
>
> Item was changed:
>   ----- Method: MacMenubarPlugin>>primitiveIsMenuItemEnabled:item: (in
> category 'system primitives') -----
>   primitiveIsMenuItemEnabled: menuHandleOop item: anInteger
>
>         | menuHandle result |
>         self primitive: 'primitiveIsMenuItemEnabled'
>                 parameters: #(Oop SmallInteger).
>         self var: 'menuHandle' type: 'MenuHandle'.
> +       menuHandle := self cCoerce: (interpreterProxy
> positiveMachineIntegerValueOf: menuHandleOop) to: 'MenuHandle'.
> -       menuHandle := self cCoerce: (interpreterProxy
> positive32BitValueOf: menuHandleOop) to: 'MenuHandle'.
>         (self ioCheckMenuHandle: menuHandle) ifFalse: [^interpreterProxy
> success: false].
>         result := self cCode: 'IsMenuItemEnabled(menuHandle,anInteger)'
> inSmalltalk:[0].
>         ^result asOop: Boolean!
>
> Item was changed:
>   ----- Method: MacMenubarPlugin>>primitiveIsMenuItemIconEnabled:item: (in
> category 'system primitives') -----
>   primitiveIsMenuItemIconEnabled: menuHandleOop item: anInteger
>
>         | menuHandle result |
>         self primitive: 'primitiveIsMenuItemIconEnabled'
>                 parameters: #(Oop SmallInteger).
>         self var: 'menuHandle' type: 'MenuHandle'.
> +       menuHandle := self cCoerce: (interpreterProxy
> positiveMachineIntegerValueOf: menuHandleOop) to: 'MenuHandle'.
> -       menuHandle := self cCoerce: (interpreterProxy
> positive32BitValueOf: menuHandleOop) to: 'MenuHandle'.
>         (self ioCheckMenuHandle: menuHandle) ifFalse: [^interpreterProxy
> success: false].
>         result := self cCode:
> 'IsMenuItemIconEnabled(menuHandle,anInteger)' inSmalltalk:[0].
>         ^result asOop: Boolean!
>
> Item was changed:
>   ----- Method: MacMenubarPlugin>>primitiveNewMenu:menuTitle: (in category
> 'system primitives') -----
>   primitiveNewMenu: menuID menuTitle: menuTitle
>
>         | menuHandle constStr255 |
>         self primitive: 'primitiveNewMenu'
>                 parameters: #(SmallInteger ByteArray).
>         self var: 'menuHandle' type: 'MenuHandle'.
>         self var: 'constStr255' type: 'ConstStr255Param'.
>         self var: 'menuID' type: 'MenuID'.
>
>         constStr255 := self cCoerce: menuTitle to: 'ConstStr255Param'.
>         menuHandle := self cCode: 'NewMenu(menuID,constStr255)'
> inSmalltalk:[0].
> +       ^interpreterProxy positiveMachineIntegerFor: (self cCoerce:
> menuHandle to: 'long')!
> -       ^interpreterProxy positive32BitIntegerFor: (self cCoerce:
> menuHandle to: 'long')!
>
> Item was changed:
>   ----- Method: MacMenubarPlugin>>primitiveSetItemCmd:item:cmdChar: (in
> category 'system primitives') -----
>   primitiveSetItemCmd: menuHandleOop item: anInteger cmdChar:
> anIntegerCmdChar
>         | menuHandle aCharacter |
>         <var: 'menuHandle' type: 'MenuHandle'>
>         <var: #aCharacter type: 'CharParameter '>
>         self primitive: 'primitiveSetItemCmd'
>                 parameters: #(Oop SmallInteger SmallInteger).
>
> +       menuHandle := self cCoerce: (interpreterProxy
> positiveMachineIntegerValueOf: menuHandleOop) to: 'MenuHandle'.
> -       menuHandle := self cCoerce: (interpreterProxy
> positive32BitValueOf: menuHandleOop) to: 'MenuHandle'.
>         (self ioCheckMenuHandle: menuHandle) ifFalse: [^interpreterProxy
> success: false].
>         aCharacter := anIntegerCmdChar.
>         self cCode: 'SetItemCmd(menuHandle,anInteger,aCharacter)'
> inSmalltalk:[menuHandle].
>         ^nil
>
>   !
>
> Item was changed:
>   ----- Method: MacMenubarPlugin>>primitiveSetItemIcon:item:iconIndex: (in
> category 'system primitives') -----
>   primitiveSetItemIcon: menuHandleOop item: anInteger iconIndex:
> aIconIndexInteger
>         | menuHandle |
>         self primitive: 'primitiveSetItemIcon'
>                 parameters: #(Oop SmallInteger SmallInteger).
>         self var: 'menuHandle' type: 'MenuHandle'.
>
> +       menuHandle := self cCoerce: (interpreterProxy
> positiveMachineIntegerValueOf: menuHandleOop) to: 'MenuHandle'.
> -       menuHandle := self cCoerce: (interpreterProxy
> positive32BitValueOf: menuHandleOop) to: 'MenuHandle'.
>         (self ioCheckMenuHandle: menuHandle) ifFalse: [^interpreterProxy
> success: false].
>         self cCode: 'SetItemIcon(menuHandle,anInteger,aIconIndexInteger)'
> inSmalltalk:[menuHandle].
>         ^nil
>
>   !
>
> Item was changed:
>   ----- Method: MacMenubarPlugin>>primitiveSetItemMark:item:markChar: (in
> category 'system primitives') -----
>   primitiveSetItemMark: menuHandleOop item: anInteger markChar: aMarkChar
>         | menuHandle aCharacter |
>         <var: 'menuHandle' type: 'MenuHandle'>
>         <var: #aCharacter type: 'CharParameter '>
>         self primitive: 'primitiveSetItemMark'
>                 parameters: #(Oop SmallInteger SmallInteger).
>
> +       menuHandle := self cCoerce: (interpreterProxy
> positiveMachineIntegerValueOf: menuHandleOop) to: 'MenuHandle'.
> -       menuHandle := self cCoerce: (interpreterProxy
> positive32BitValueOf: menuHandleOop) to: 'MenuHandle'.
>         (self ioCheckMenuHandle: menuHandle) ifFalse: [^interpreterProxy
> success: false].
>         aCharacter := aMarkChar.
>         self cCode: 'SetItemMark(menuHandle,anInteger,aCharacter)'
> inSmalltalk:[menuHandle].
>         ^nil
>
>   !
>
> Item was changed:
>   ----- Method:
> MacMenubarPlugin>>primitiveSetItemStyle:item:styleParameter: (in category
> 'system primitives') -----
>   primitiveSetItemStyle: menuHandleOop item: anInteger styleParameter:
> chStyleInteger
>         | menuHandle |
>         self primitive: 'primitiveSetItemStyle'
>                 parameters: #(Oop SmallInteger SmallInteger).
>         self var: 'menuHandle' type: 'MenuHandle'.
>
> +       menuHandle := self cCoerce: (interpreterProxy
> positiveMachineIntegerValueOf: menuHandleOop) to: 'MenuHandle'.
> -       menuHandle := self cCoerce: (interpreterProxy
> positive32BitValueOf: menuHandleOop) to: 'MenuHandle'.
>         (self ioCheckMenuHandle: menuHandle) ifFalse: [^interpreterProxy
> success: false].
>         self cCode: 'SetItemStyle(menuHandle,anInteger,chStyleInteger)'
> inSmalltalk:[menuHandle].
>         ^nil
>
>   !
>
> Item was changed:
>   ----- Method: MacMenubarPlugin>>primitiveSetMenuBar: (in category
> 'system primitives') -----
>   primitiveSetMenuBar: menuHandleOop
>
>         | menuBarHandle |
>         self primitive: 'primitiveSetMenuBar'
>                 parameters: #(Oop).
>         self var: 'menuBarHandle' type: 'MenuBarHandle'.
> +       menuBarHandle := self cCoerce: (interpreterProxy
> positiveMachineIntegerValueOf: menuHandleOop) to: 'MenuBarHandle'.
> -       menuBarHandle := self cCoerce: (interpreterProxy
> positive32BitValueOf: menuHandleOop) to: 'MenuBarHandle'.
>         self cCode: 'SetMenuBar(menuBarHandle)'
> inSmalltalk:[menuBarHandle].
>         ^nil!
>
> Item was changed:
>   ----- Method:
> MacMenubarPlugin>>primitiveSetMenuItemCommandID:item:menuCommand: (in
> category 'system primitives') -----
>   primitiveSetMenuItemCommandID: menuHandleOop item: anInteger
> menuCommand:  inCommandID
>         | menuHandle commandID |
>         self primitive: 'primitiveSetMenuItemCommandID'
>                 parameters: #(Oop SmallInteger Oop).
>         self var: 'menuHandle' type: 'MenuHandle'.
>         self var: 'commandID' type: 'MenuCommand'.
>
> +       menuHandle := self cCoerce: (interpreterProxy
> positiveMachineIntegerValueOf: menuHandleOop) to: 'MenuHandle'.
> -       menuHandle := self cCoerce: (interpreterProxy
> positive32BitValueOf: menuHandleOop) to: 'MenuHandle'.
>         commandID := self cCoerce: (interpreterProxy positive32BitValueOf:
> inCommandID) to: 'MenuCommand'.
>         (self ioCheckMenuHandle: menuHandle) ifFalse: [^interpreterProxy
> success: false].
>         self cCode: 'SetMenuItemCommandID(menuHandle,anInteger,commandID)'
> inSmalltalk:[menuHandle].
>         ^nil
>         !
>
> Item was changed:
>   ----- Method: MacMenubarPlugin>>primitiveSetMenuItemFontID:item:fontID:
> (in category 'system primitives') -----
>   primitiveSetMenuItemFontID: menuHandleOop item: anInteger fontID:
> aFontIDInteger
>         | menuHandle |
>         self primitive: 'primitiveSetMenuItemFontID'
>                 parameters: #(Oop SmallInteger SmallInteger).
>         self var: 'menuHandle' type: 'MenuHandle'.
>
> +       menuHandle := self cCoerce: (interpreterProxy
> positiveMachineIntegerValueOf: menuHandleOop) to: 'MenuHandle'.
> -       menuHandle := self cCoerce: (interpreterProxy
> positive32BitValueOf: menuHandleOop) to: 'MenuHandle'.
>         (self ioCheckMenuHandle: menuHandle) ifFalse: [^interpreterProxy
> success: false].
>         self cCode:
> 'SetMenuItemFontID(menuHandle,anInteger,aFontIDInteger)'
> inSmalltalk:[menuHandle].
>         ^nil
>         !
>
> Item was changed:
>   ----- Method:
> MacMenubarPlugin>>primitiveSetMenuItemHierarchicalID:item:hierID: (in
> category 'system primitives') -----
>   primitiveSetMenuItemHierarchicalID: menuHandleOop item: anInteger
> hierID: aMenuID
>         | menuHandle |
>         self primitive: 'primitiveSetMenuItemHierarchicalID'
>                 parameters: #(Oop SmallInteger SmallInteger).
>         self var: 'menuHandle' type: 'MenuHandle'.
>         self var: 'menuID' type: 'MenuID'.
>
> +       menuHandle := self cCoerce: (interpreterProxy
> positiveMachineIntegerValueOf: menuHandleOop) to: 'MenuHandle'.
> -       menuHandle := self cCoerce: (interpreterProxy
> positive32BitValueOf: menuHandleOop) to: 'MenuHandle'.
>         (self ioCheckMenuHandle: menuHandle) ifFalse: [^interpreterProxy
> success: false].
>         self cCode:
> 'SetMenuItemHierarchicalID(menuHandle,anInteger,aMenuID)'
> inSmalltalk:[menuHandle].
>         ^nil!
>
> Item was changed:
>   ----- Method: MacMenubarPlugin>>primitiveSetMenuItemKeyGlyph:item:glyph:
> (in category 'system primitives') -----
>   primitiveSetMenuItemKeyGlyph: menuHandleOop item: anInteger glyph:
> inGlyphInteger
>         | menuHandle |
>         self primitive: 'primitiveSetMenuItemKeyGlyph'
>                 parameters: #(Oop SmallInteger SmallInteger).
>         self var: 'menuHandle' type: 'MenuHandle'.
>
> +       menuHandle := self cCoerce: (interpreterProxy
> positiveMachineIntegerValueOf: menuHandleOop) to: 'MenuHandle'.
> -       menuHandle := self cCoerce: (interpreterProxy
> positive32BitValueOf: menuHandleOop) to: 'MenuHandle'.
>         (self ioCheckMenuHandle: menuHandle) ifFalse: [^interpreterProxy
> success: false].
>         self cCode:
> 'SetMenuItemKeyGlyph(menuHandle,anInteger,inGlyphInteger)'
> inSmalltalk:[menuHandle].
>         ^nil
>         !
>
> Item was changed:
>   ----- Method:
> MacMenubarPlugin>>primitiveSetMenuItemModifiers:item:inModifiers: (in
> category 'system primitives') -----
>   primitiveSetMenuItemModifiers: menuHandleOop item: anInteger
> inModifiers: aUInt8
>         | menuHandle |
>         self primitive: 'primitiveSetMenuItemModifiers'
>                 parameters: #(Oop SmallInteger SmallInteger).
>         self var: 'menuHandle' type: 'MenuHandle'.
>
> +       menuHandle := self cCoerce: (interpreterProxy
> positiveMachineIntegerValueOf: menuHandleOop) to: 'MenuHandle'.
> -       menuHandle := self cCoerce: (interpreterProxy
> positive32BitValueOf: menuHandleOop) to: 'MenuHandle'.
>         (self ioCheckMenuHandle: menuHandle) ifFalse: [^interpreterProxy
> success: false].
>         self cCode: 'SetMenuItemModifiers(menuHandle,anInteger,aUInt8)'
> inSmalltalk:[menuHandle].
>         ^nil!
>
> Item was changed:
>   ----- Method:
> MacMenubarPlugin>>primitiveSetMenuItemText:item:itemString: (in category
> 'system primitives') -----
>   primitiveSetMenuItemText: menuHandleOop item: anInteger itemString:
> str255
>         | menuHandle constStr255 |
>         self primitive: 'primitiveSetMenuItemText'
>                 parameters: #(Oop SmallInteger ByteArray).
>         self var: 'menuHandle' type: 'MenuHandle'.
>         self var: 'constStr255' type: 'ConstStr255Param'.
> +       menuHandle := self cCoerce: (interpreterProxy
> positiveMachineIntegerValueOf: menuHandleOop) to: 'MenuHandle'.
> -       menuHandle := self cCoerce: (interpreterProxy
> positive32BitValueOf: menuHandleOop) to: 'MenuHandle'.
>         (self ioCheckMenuHandle: menuHandle) ifFalse: [^interpreterProxy
> success: false].
>         constStr255 := self cCoerce: str255 to: 'ConstStr255Param'.
>         self cCode: 'SetMenuItemText(menuHandle,anInteger,constStr255)'
> inSmalltalk:[menuHandle].
>         ^nil
>         !
>
> Item was changed:
>   ----- Method:
> MacMenubarPlugin>>primitiveSetMenuItemTextEncoding:item:inScriptID: (in
> category 'system primitives') -----
>   primitiveSetMenuItemTextEncoding: menuHandleOop item: anInteger
> inScriptID: aTextEncodingOop
>         | menuHandle inScriptID |
>         self primitive: 'primitiveSetMenuItemTextEncoding'
>                 parameters: #(Oop SmallInteger Oop).
>         self var: 'menuHandle' type: 'MenuHandle'.
>         self var: 'inScriptID' type: 'TextEncoding'.
>
> +       menuHandle := self cCoerce: (interpreterProxy
> positiveMachineIntegerValueOf: menuHandleOop) to: 'MenuHandle'.
> -       menuHandle := self cCoerce: (interpreterProxy
> positive32BitValueOf: menuHandleOop) to: 'MenuHandle'.
>         (self ioCheckMenuHandle: menuHandle) ifFalse: [^interpreterProxy
> success: false].
>         inScriptID := self cCoerce: (interpreterProxy
> positive32BitValueOf: aTextEncodingOop) to: 'TextEncoding'.
>         self cCode:
> 'SetMenuItemTextEncoding(menuHandle,anInteger,inScriptID)'
> inSmalltalk:[menuHandle].
>         ^nil!
>
> Item was changed:
>   ----- Method: MacMenubarPlugin>>primitiveSetMenuTitle:title: (in
> category 'system primitives') -----
>   primitiveSetMenuTitle: menuHandleOop  title: str255
>         | menuHandle constStr255 |
>         self primitive: 'primitiveSetMenuTitle'
>                 parameters: #(Oop ByteArray).
>         self var: 'menuHandle' type: 'MenuHandle'.
>         self var: 'constStr255' type: 'ConstStr255Param'.
> +       menuHandle := self cCoerce: (interpreterProxy
> positiveMachineIntegerValueOf: menuHandleOop) to: 'MenuHandle'.
> -       menuHandle := self cCoerce: (interpreterProxy
> positive32BitValueOf: menuHandleOop) to: 'MenuHandle'.
>         (self ioCheckMenuHandle: menuHandle) ifFalse: [^interpreterProxy
> success: false].
>         constStr255 := self cCoerce: str255 to: 'ConstStr255Param'.
>         self cCode: 'SetMenuTitle(menuHandle,constStr255)'
> inSmalltalk:[menuHandle].
>         ^nil
>         !
>
>


-- 
_,,,^..^,,,_
best, Eliot
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20160307/4b16386a/attachment-0001.htm


More information about the Vm-dev mailing list