[Glass] ChangeList parseSelector bug

bruno buzzi brassesco smalltalk at adinet.com.uy
Mon Oct 26 10:31:45 PDT 2020


Hi,

In which github repo should i report this issue ?
(GsDevKit ???)

regards,
bruno

On 26/10/2020 14:26, bruno buzzi brassesco via Glass wrote:
> Hi,
>
> It seems there is bug in ChangeList>>parseSelector: (or 
> Scanner>>scanMessageParts:) (tested on GS 3.5.1 & 3.5.4).
> Try:
> ChangeList parseSelector:
> 'myMethodName
>     -1 to: 2 do: [:i |].'.
>
> But the following will work ok :
> ChangeList parseSelector:
> 'myMethodName
>     ||
>     -1 to: 2 do: [:i |].'.
>
> So it seems a border case when you have a negative number immediately 
> after the selector.
>
> The following also will fail:
> ChangeList parseSelector:
> 'myMethodName
>     -1 '.
>
> The workaround will be add  empty temp definition at the beginning 
> "||" of the method.
>
> regards,
> bruno
>
> Stack:
> MessageNotUnderstood >> defaultAction @2 line 3
> MessageNotUnderstood (AbstractException) >> _signalWith: @5 line 25
> MessageNotUnderstood (AbstractException) >> signal @2 line 47
> SmallInteger (Object) >> doesNotUnderstand: @9 line 10
> SmallInteger (Object) >> _doesNotUnderstand:args:envId:reason: @8 line 14
> String >> addAll: @51 line 32
> WriteStream >> nextPutAll: @8 line 9
> ChangeList class >> parseSelector: @15 line 8
> MCFileTreeStCypressReader >> methodSelectorFor: @2 line 2
> [] in MCFileTreeStCypressReader >> 
> addMethodDefinitionsForClass:methodProperties:in:extensionMethod: @43 
> line 19
> [] in FileDirectory >> readOnlyFileNamed:do: @8 line 4
> ExecBlock0 (ExecBlock) >> ensure: @2 line 12
> ServerFileDirectory (FileDirectory) >> readOnlyFileNamed:do: @4 line 4
> DirectoryEntry >> readStreamDo: @4 line 2
> [] in MCFileTreeStCypressReader >> 
> addMethodDefinitionsForClass:methodProperties:in:extensionMethod: @29 
> line 14
> Array (Collection) >> do: @5 line 10
> [] in MCFileTreeStCypressReader >> 
> addMethodDefinitionsForClass:methodProperties:in:extensionMethod: @21 
> line 12
> Array (Collection) >> do: @5 line 10
> MCFileTreeStCypressReader >> 
> addMethodDefinitionsForClass:methodProperties:in:extensionMethod: @2 
> line 3
> MCFileTreeStCypressReader >> 
> addMethodDefinitionsForClass:methodProperties:in: @2 line 3
> MCFileTreeStCypressReader >> addClassAndMethodDefinitionsFromEntry: 
> @21 line 29
> [] in MCFileTreeStCypressReader >> 
> addClassAndMethodDefinitionsFromDirectory: @10 line 5
> Array (Collection) >> do: @5 line 10
> MCFileTreeStCypressReader >> 
> addClassAndMethodDefinitionsFromDirectory: @3 line 3
> MCFileTreeStCypressReader >> loadDefinitions @15 line 11
> MCFileTreeStCypressReader (MCVersionReader) >> definitions @3 line 2
> MCFileTreeStCypressReader (MCVersionReader) >> snapshot @2 line 2
> MCFileTreeStCypressReader >> basicVersion @5 line 5
> MCFileTreeStCypressReader (MCVersionReader) >> version @2 line 2
> [] in MCFileBasedRepository >> loadVersionFromFileNamed: @5 line 2
> [] in MCFileTreeRepository >> versionReaderForFileNamed:do: @12 line 10
> MCGitHubRepository (MCFileTreeRepository) >> 
> readStreamForFileNamed:do: @3 line 2
> MCGitHubRepository (MCFileTreeRepository) >> 
> versionReaderForFileNamed:do: @2 line 3
> MCGitHubRepository (MCFileBasedRepository) >> 
> loadVersionFromFileNamed: @2 line 2
> [] in MCFileTreeRepository >> goferVersionFrom: @31 line 20
> Array (Collection) >> do: @5 line 10
> MCGitHubRepository (MCFileTreeRepository) >> goferVersionFrom: @6 line 9
> MetacelloCachingGoferResolvedReference (GoferResolvedReference) >> 
> version @3 line 4
> MetacelloCachingGoferResolvedReference >> version @3 line 4
> [] in MetacelloFetchingMCSpecLoader >> 
> resolveDependencies:nearest:into: @45 line 28
> OrderedCollection (Collection) >> do: @5 line 10
> [] in MetacelloFetchingMCSpecLoader >> 
> resolveDependencies:nearest:into: @38 line 28
> ExecBlock0 (ExecBlock) >> on:do: @3 line 44
> MetacelloFetchingMCSpecLoader >> resolveDependencies:nearest:into: @15 
> line 31
> [] in MetacelloFetchingMCSpecLoader >> linearLoadPackageSpec:gofer: 
> @41 line 51
> MetacelloGemStonePlatform (MetacelloPlatform) >> do:displaying: @2 line 3
> MetacelloFetchingMCSpecLoader >> linearLoadPackageSpec:gofer: @5 line 3
> MetacelloPackageSpec >> loadUsing:gofer: @2 line 3
> [] in MetacelloCommonMCSpecLoader >> 
> linearLoadPackageSpecs:repositories: @13 line 6
> OrderedCollection (Collection) >> do: @5 line 10
> MetacelloFetchingMCSpecLoader (MetacelloCommonMCSpecLoader) >> 
> linearLoadPackageSpecs:repositories: @5 line 6
> [] in MetacelloFetchingMCSpecLoader >> 
> linearLoadPackageSpecs:repositories: @7 line 4
> ExecBlock0 (ExecBlock) >> ensure: @2 line 12
> MetacelloLoaderPolicy >> pushLoadDirective:during: @6 line 7
> MetacelloLoaderPolicy >> pushLinearLoadDirectivesDuring:for: @3 line 3
> MetacelloFetchingMCSpecLoader >> linearLoadPackageSpecs:repositories: 
> @3 line 4
> MetacelloFetchingMCSpecLoader (MetacelloCommonMCSpecLoader) >> load 
> @15 line 7
> MetacelloMCVersionSpecLoader >> load @13 line 21
> MetacelloMCVersion >> executeLoadFromArray: @9 line 7
> [] in MetacelloMCVersion >> fetchRequiredFromArray: @33 line 11
> [] in MetacelloPlatform >> useStackCacheDuring:defaultDictionary: @13 
> line 9
> ExecBlock0 (ExecBlock) >> on:do: @3 line 44
> MetacelloGemStonePlatform (MetacelloPlatform) >> 
> useStackCacheDuring:defaultDictionary: @9 line 10
> [] in MetacelloMCVersion >> fetchRequiredFromArray: @29 line 11
> ExecBlock0 (ExecBlock) >> ensure: @2 line 12
> [] in MetacelloMCVersion >> fetchRequiredFromArray: @21 line 12
> MetacelloGemStonePlatform (MetacelloPlatform) >> do:displaying: @2 line 3
> MetacelloMCVersion >> fetchRequiredFromArray: @17 line 7
> [] in MetacelloMCVersion >> doLoadRequiredFromArray: @27 line 10
> ExecBlock0 (ExecBlock) >> ensure: @2 line 12
> MetacelloMCVersion >> doLoadRequiredFromArray: @22 line 16
> MetacelloMCVersion >> load @4 line 3
> [] in MetacelloScriptEngine >> 
> load:onProjectDownGrade:onProjectUpgrade: @17 line 15
> ExecBlock0 (ExecBlock) >> on:do: @3 line 44
> [] in MetacelloScriptEngine >> handleNotificationsForAction: @20 line 6
> ExecBlock0 (ExecBlock) >> on:do: @3 line 44
> [] in MetacelloScriptEngine >> handleNotificationsForAction: @12 line 14
> ExecBlock0 (ExecBlock) >> on:do: @3 line 44
> [] in MetacelloScriptEngine >> handleNotificationsForAction: @6 line 20
> ExecBlock0 (ExecBlock) >> on:do: @3 line 44
> MetacelloScriptEngine >> handleNotificationsForAction: @2 line 24
> [] in MetacelloScriptEngine >> 
> load:onProjectDownGrade:onProjectUpgrade: @6 line 5
> ExecBlock0 (ExecBlock) >> ensure: @2 line 12
> MetacelloProjectRegistration class >> copyRegistryRestoreOnErrorWhile: 
> @8 line 14
> MetacelloScriptEngine >> load:onProjectDownGrade:onProjectUpgrade: @2 
> line 3
> MetacelloScriptEngine >> load: @2 line 3
> MetacelloScriptEngine (Object) >> perform:withArguments: @1 line 12
> [] in MetacelloScriptExecutor >> execute: @40 line 15
> [] in MetacelloScriptApiExecutor >> executeString:do: @13 line 6
> Array (Collection) >> do: @5 line 10
> MetacelloScriptApiExecutor >> executeString:do: @6 line 4
> String >> execute:against: @2 line 2
> MetacelloScriptApiExecutor (MetacelloScriptExecutor) >> execute: @6 
> line 9
> Metacello >> execute:args: @8 line 5
> Metacello >> load @2 line 2
> Executed Code  @5 line 4
> GsNMethod class >> _gsReturnToC @1 line 11
>
> _______________________________________________
> Glass mailing list
> Glass at lists.gemtalksystems.com
> https://lists.gemtalksystems.com/mailman/listinfo/glass


More information about the Glass mailing list