[Compiler API] unifying isScriping / isForScripting / isWorkspace

MD
Marcus Denker
Tue, Jun 28, 2022 7:29 AM

This is not directly the compiler API, but the API used by tools (e.g. requestors):

There where three methods to test if the requestor operates on whole methods or not.

  • isWorkspace
  • isScripting
  • isForScripting

This had lead to odd bugs in the past that something that was tested for one requestor failed if used in another context.
(For that, we added both #isScripting and #isForScripting for some cases already).

This Issue points to a series of PRs that unifies the situation:

unify #isScripting and #isForScripting #9921
https://github.com/pharo-project/pharo/issues/9921

Note: it is not really possible to do this backward compatible in a nice way, but the good news is that this is an API used for tools that should not be used normally outside of the development tools themselves.

Marcus
This is not directly the compiler API, but the API used by tools (e.g. requestors): There where three methods to test if the requestor operates on whole methods or not. - isWorkspace - isScripting - isForScripting This had lead to odd bugs in the past that something that was tested for one requestor failed if used in another context. (For that, we added both #isScripting and #isForScripting for some cases already). This Issue points to a series of PRs that unifies the situation: unify #isScripting and #isForScripting #9921 https://github.com/pharo-project/pharo/issues/9921 Note: it is not really possible to do this backward compatible in a nice way, but the good news is that this is an API used for tools that should not be used normally outside of the development tools themselves. Marcus
MD
Marcus Denker
Tue, Jun 28, 2022 12:04 PM

On 28 Jun 2022, at 09:29, Marcus Denker marcus.denker@inria.fr wrote:

This is not directly the compiler API, but the API used by tools (e.g. requestors):

There where three methods to test if the requestor operates on whole methods or not.

  • isWorkspace
  • isScripting
  • isForScripting

This had lead to odd bugs in the past that something that was tested for one requestor failed if used in another context.
(For that, we added both #isScripting and #isForScripting for some cases already).

This Issue points to a series of PRs that unifies the situation:

unify #isScripting and #isForScripting #9921
https://github.com/pharo-project/pharo/issues/9921

Note: it is not really possible to do this backward compatible in a nice way, but the good news is that this is an API used for tools that should not be used normally outside of the development tools themselves.

> On 28 Jun 2022, at 09:29, Marcus Denker <marcus.denker@inria.fr> wrote: > > This is not directly the compiler API, but the API used by tools (e.g. requestors): > > There where three methods to test if the requestor operates on whole methods or not. > > - isWorkspace > - isScripting > - isForScripting > > This had lead to odd bugs in the past that something that was tested for one requestor failed if used in another context. > (For that, we added both #isScripting and #isForScripting for some cases already). > > This Issue points to a series of PRs that unifies the situation: > > unify #isScripting and #isForScripting #9921 > https://github.com/pharo-project/pharo/issues/9921 > > > Note: it is not really possible to do this backward compatible in a nice way, but the good news is that this is an API used for tools that should not be used normally outside of the development tools themselves. > There are two PRs to be reviewed: 1) spec https://github.com/pharo-spec/Spec/pull/1289 <https://github.com/pharo-spec/Spec/pull/1289> 2) rest of the system: https://github.com/pharo-project/pharo/pull/11416 <https://github.com/pharo-project/pharo/pull/11416> Marcus