Skip to content

(V4) with a Seaside dictionary installed in a users' symbol dictionary, can cause errors #971

@dalehenrich

Description

@dalehenrich

The first error (surely there will be others) is that Symbol>>#-> returns an Association instead of a SymbolAssociation and that effects package creation:

topaz 1 +> run
| projectsHome project |
projectsHome := '/bosch1/users/dhenrich/_stones/hts/stones/hts_rowan3_372/sandbox'.
project := Rowan 
        projectFromUrl: 'https://raw.githubusercontent.com/dalehenrich/RowanSample9V3/refs/heads/spec_0057/rowan/specs/spec_0057.ston'
         projectsHome: projectsHome
%

topaz 1> where
==> 1 ArgumentTypeError (AbstractException) >> _signalToDebugger @10 line 8
2 ArgumentTypeError (AbstractException) >> defaultAction @2 line 18
3 ArgumentTypeError (AbstractException) >> _defaultAction @4 line 4
4 ArgumentTypeError (AbstractException) >> _signal @2 line 20
5 ArgumentTypeError (AbstractException) >> signal @2 line 47
6 Association (Object) >> _error:args: @15 line 11
7 Association (Object) >> _errorExpectedClass: @2 line 5
8 Association (Object) >> _validateClass: @5 line 6
9 SymbolDictionary >> addAssociation: @4 line 6
10 SymbolDictionary (IdentityDictionary) >> add: @2 line 7
11 SymbolDictionary class (Collection class) >> with: @4 line 7
12 RwPackageDefinition class >> newNamed: @3 line 4
13 [] in RwResolvedProjectV2 >> addPackages:forComponent: @10 line 11
14 [] in Set >> do: @7 line 11
15 KeyValueDictionary >> keysDo: @19 line 18
16 Set >> do: @3 line 11
17 RwResolvedProjectV2 >> addPackages:forComponent: @5 line 11
18 RwResolvedProjectComponentVisitorV2 >> _addPackageNames:for: @3 line 3
19 [] in RwResolvedProjectComponentVisitorV2 >> visitComponent: @23 line 11
20 Dictionary >> keysAndValuesDo: @9 line 11
21 RwResolvedProjectComponentVisitorV2 >> visitComponent: @8 line 8
22 RwLoadComponent >> acceptVisitor: @2 line 2
23 RwResolvedProjectComponentVisitorV2 >> visit: @2 line 3
24 [] in RwResolvedProjectComponentVisitorV2 >> _visitComponents: @36 line 30
25 Array (Collection) >> do: @5 line 10
26 RwResolvedProjectComponentVisitorV2 >> _visitComponents: @28 line 20
27 RwResolvedProjectComponentVisitorV2 >> _readComponentsForProject:withComponentNames:customConditionalAttributes:platformConditionalAttributes: @14 line 12
28 RwResolvedProjectComponentVisitorV2 class >> readProjectForProject:withComponentNames:customConditionalAttributes:platformConditionalAttributes: @3 line 4
29 RwPrjReadToolV2 >> readProjectForProject:withComponentNames:customConditionalAttributes:platformConditionalAttributes: @2 line 3
30 RwResolvedProjectV2 >> readProjectComponentNames:customConditionalAttributes:platformConditionalAttributes: @5 line 8
31 RwResolvedProjectV2 >> readProjectComponentNames: @4 line 7
32 RwResolvedProjectV2 >> read @5 line 7
33 RwResolvedProjectV2 >> resolveProject @4 line 8
34 RwResolvedProjectV2 class >> loadSpecification: @3 line 8
35 RwLoadSpecificationV2 >> resolveProject @2 line 7
36 RwResolvedProject class >> projectFromUrl:projectsHome: @5 line 6
37 RwGsPlatform (RwPlatform) >> projectFromUrl:projectsHome: @2 line 2
38 Rowan class >> projectFromUrl:projectsHome: @3 line 2
39 Executed Code @3 line 4
40 GsNMethod class >> _gsReturnToC @1 line 11
[GsProcess 3522686209]
topaz 1> fr 12
12 RwPackageDefinition class >> newNamed: @3 line 4
receiver [3444863745 RwPackageDefinition class] RwPackageDefinition
packageName [3522636289 size:25 String] RowanSample9V3-Extensions
(skipped 1 temps)
topaz 1> lis
newNamed: packageName

       ^ self
               withProperties: (SymbolDictionary with: #'name' -> packageName)
  •                                               ^3                            
                classDefinitions: Dictionary new
                classExtensions: Dictionary new
                traitDefinitions: Dictionary new
    
Since we don't want to perturb the cross platform nature of Seaside code, we should change the implementation of RwPackageDefinition class >> newNamed:  to explicitly create a SymbolAssociation ...

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No fields configured for Bug.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions