Re: [VW 7.9] Atomic load analyzer does not properly handle external interfaces
Samuel S. Shuster <sshuster <at> themuselessmind.com>
2012-07-19 16:57:16 GMT
Terry,
There seems to be a LOT more here than meets the eye.
I following,
I created a Package (call it PackageA) Added an External Interface subclass:
Smalltalk defineClass: #MyThang
superclass: #{External.ExternalInterface}
indexedType: #none
private: false
instanceVariableNames: ''
classInstanceVariableNames: ''
imports: '
private MyThangDictionary.*
'
category: 'ExternalInterface-New'
attributes: #(
#(#includeFiles #())
#(#includeDirectories #())
#(#libraryFiles #())
#(#libraryDirectories #())
#(#beVirtual false)
#(#optimizationLevel #full))
I added one (instance) method:
MyThang
<C: #define MyThang 3>
Now, I've never really done much of anything with DLLCC, but if I then evaluate:
MyThang.MyThang value, it nicely answers 3, even though there is no class method named MyThang.
Anyway, moving on.
I then create a new package named PackageB, and add a class:
Smalltalk defineClass: #Deddle
superclass: #{Core.Object}
indexedType: #none
private: false
instanceVariableNames: ''
classInstanceVariableNames: ''
imports: ''
category: ''
Now I add a SharedVariable named BindingBoy:
Smalltalk.Deddle defineSharedVariable: #BindingBoy
private: false
constant: false
category: 'MyThang'
initializer: 'MyThang.MyThang value'
Now here is where it STARTS to get interesting, I go to the prerequsites tab for the PackageB and I get a DNU !!!!
That needs to be reported to the Tools folks.
Anyway, I manually add the developmentPrerequisites and prerequisiteDescriptions properties, publish it all, unload it all, then then try to load just PackageB, and lo, everything loads fine.
Do you have a better example... I don't want this to just drop between the cracks.
I looked into this further.
If I load package A and then evaluate
MyInterface.MyDefine value
in a workspace I see the correct value.
However, if I try to initialize the variable I get a no binding error.
And So It Goes
Sames
______________________________________________________________________
Samuel S. Shuster [|]
VisualWorks Engineering, Code Management Project
_______________________________________________
vwnc mailing list
vwnc <at> cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/vwnc