Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings
This repository was archived by the owner on Aug 31, 2021. It is now read-only.

[[ Bug 23149 ]] Replace mode syntax factory functions #7544

Open
wants to merge 1 commit into
base: develop
Choose a base branch
Loading
from

Conversation

runrevmark
Copy link
Contributor

@runrevmark runrevmark commented Apr 4, 2021

This patch replaces the current mode syntax factory functions:
MCModeNewCommand and MCModeNewFunction with a more general mechanism based
around instantiating a class as a global-variable, constructed using a syntax
factory function pointer.

There are three global classes which can be instantiated in this manner -
MCNewStatementFactory, MCNewFunctionFactory and MCNewOperatorFactory -
corresponding to the top-level factory functions MCN_new_statement,
MCN_new_function and MCN_new_operator.

The classes 'hide' a linked list of factory functions, which are invoked
in turn if the top-level functions do not recognise an id.

Closes https://quality.livecode.com/show_bug.cgi?id=23149

This patch replaces the current mode syntax factory functions:
`MCModeNewCommand` and `MCModeNewFunction` with a more general mechanism based
around instantiating a class as a global-variable, constructed using a syntax
factory function pointer.

There are three global classes which can be instantiated in this manner -
`MCNewStatementFactory`, `MCNewFunctionFactory` and `MCNewOperatorFactory` -
corresponding to the top-level factory functions `MCN_new_statement`,
`MCN_new_function` and `MCN_new_operator`.

The classes 'hide' a linked list of factory functions, which are invoked
in turn if the top-level functions do not recognise an id.
@runrevmark runrevmark added this to the 9.7.0-dp-1 milestone Apr 4, 2021
@runrevmark runrevmark self-assigned this Apr 4, 2021
@runrevmark runrevmark force-pushed the bugfix-23149 branch 2 times, most recently from 67a9f89 to 4e8ac6a Compare April 4, 2021 09:57
@livecodeian
Copy link
Contributor

@livecode-vulcan review ok 4e8ac6a

@livecode-vulcan
Copy link
Contributor

💙 review by @livecodeian ok 4e8ac6a

livecode-vulcan added a commit that referenced this pull request Apr 5, 2021
[[ Bug 23149 ]] Replace mode syntax factory functions

This patch replaces the current mode syntax factory functions:
`MCModeNewCommand` and `MCModeNewFunction` with a more general mechanism based
around instantiating a class as a global-variable, constructed using a syntax
factory function pointer.

There are three global classes which can be instantiated in this manner -
`MCNewStatementFactory`, `MCNewFunctionFactory` and `MCNewOperatorFactory` -
corresponding to the top-level factory functions `MCN_new_statement`,
`MCN_new_function` and `MCN_new_operator`.

The classes 'hide' a linked list of factory functions, which are invoked
in turn if the top-level functions do not recognise an id.

Closes https://quality.livecode.com/show_bug.cgi?id=23149
@livecode-vulcan
Copy link
Contributor

😎 test success 4e8ac6a

  • try-community-armv6-android-sdk26_ndk16r15: success
  • try-community-armv7-android-ndk16r15: success
  • try-community-arm64-android-ndk16r15: success
  • try-community-x86-android-ndk16r15: success
  • try-community-x86_64-android-ndk16r15: success
  • try-community-js-emscripten-sdk1.35: success
  • try-community-universal-ios-iphoneos14.4: success
  • try-community-universal-ios-iphoneos14.1: success
  • try-community-universal-ios-iphonesimulator14.4: success
  • try-community-universal-ios-iphonesimulator14.1: success
  • try-community-universal-mac-macosx10.9: success
  • try-community-x86-linux-debian8: success
  • try-community-x86_64-linux-debian8: success
  • try-community-x86-win32: success
  • try-community-x86_64-win32: success

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants
Morty Proxy This is a proxified and sanitized view of the page, visit original site.