Hi,
On Wed, Sep 18, 2013 at 3:54 PM, Stephan Eggermont stephan@stack.nl wrote:
When trying to walk smalltalkhub and import latest versions to find invocations, we needed to make the following changes to make it work:
FAMIXAccess>variable: aStructuralEntity (aStructuralEntity isKindOf: FAMIXAnnotationInstanceAttribute) ifFalse: [ variable := FMMultivalueLink on: self update: #incomingAccesses from: self variable to: aStructuralEntity]
This is strange. Why do you need that?
Add
MooseMonticelloVisitor>visitScriptDefinition: aMCPostscriptDefinition "TODO"
MooseMonticelloHTTPImporter>setRepositoryCache: aCache. repositoryCache := aCache
MooseMonticelloMethodPopulator>ensureAnnotationType: aRBPragmaNode ^self importer ensureAnnotationType: aRBPragmaNode.
This looks Ok.
And change for performance:
MooseGroupRuntimeStorage>add: anElement | key group |
key := anElement class. group := byType at: key ifAbsentPut: [ OrderedCollection new ]. group add: anElement. elements add: anElement. byName at: anElement mooseName asSymbol put: anElement. ^ anElement
MooseGroupRuntimeStorage >at: uniqueName ifAbsent: exceptionBlock
| entity na | na := uniqueName asSymbol. "look first by name and if not found" entity := byName at: na ifAbsent: [nil]. entity notNil ifTrue: [ entity mooseName asSymbol = na ifTrue: [ ^entity] ifFalse: [ byName at: na put: nil. byName at: entity mooseName asSymbol put: entity. self halt. "Should this be happening?" ]]. ^ exceptionBlock value
Would they be safe to commit?
This would not work well at the moment because MooseGroupRuntimeStorage is used also for all moose groups. We would need to have a storage that is less demanding for handling associations, and then we could rely on having name for everything.
Doru
Moose-dev mailing list Moose-dev@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev