[ANN] Spaghetti Tracer (0.4)

danielv at netvision.net.il danielv at netvision.net.il
Sat Nov 2 08:45:27 UTC 2002


Yes, the description now mentions that DVS is a requirement. 

This is because the analysis operates on the DVS concept of a package -
by default, a group of system categories that share a prefix + the
method categories outside it begin with '*',thePrefix.

Just load DVS and try again, please. 

Daniel Vainsencher

PhiHo Hoang <phiho.hoang at rogers.com> wrote:
> This is a multi-part message in MIME format.
> 
> --Boundary_(ID_rbOVtc8iS018uZwXiEqaGA)
> Content-type: text/plain; charset=iso-8859-1
> Content-transfer-encoding: 7BIT
> 
> Daniel,
> 
>     I got: 'MessageNotUnderstood: methodsFor:stamp:'
> 
>     Please find attached the log file.
> 
>     Cheers,
> 
>     PhiHo.
> 
> 
> ----- Original Message ----- 
> From: <danielv at netvision.net.il>
> To: "squeak" <squeak-dev at lists.squeakfoundation.org>
> Sent: Friday, November 01, 2002 2:16 PM
> Subject: [ANN] Spaghetti Tracer (0.4)
> 
> 
> > Now on SqueakMap.
> > 
> > This version has a new analysis for multiple modules. This means you can
> > now ask questions like "is Sunit hierarchially structured?" (yes) "is
> > Balloon3D?" (well, not quite) "No? why not?" (you'll get a list of
> > references that create a cyclic dependency between classes that are not
> > in the same system category).
> > 
> > Load it and do -
> > 
> > mma _ MultiModuleAnalyzer onPackageNamedStarting: 'Balloon3D' 
> > mma isNonCyclic.
> > mma packageStrongComponents.
> > mma badStrongComponentsIn: mma packageStrongComponents.
> > MessageSet openMessageList:  mma
> > cycleExampleForLargestPackageStrongComponent name: 'Methods that create
> > one bad cycle'.
> > 
> > More tutorial material is available on the SM package description, which
> > I've cleaned up and updated.
> > 
> > Especially if you maintain a package that spans more than one category,
> > trying it out and let me know if it helps you find problems or find
> > bogus problems, so forth.
> > 
> > Daniel Vainsencher
> > 
> > 
> 
> --Boundary_(ID_rbOVtc8iS018uZwXiEqaGA)
> Content-type: application/octet-stream; name=SpaghettiTracer.log
> Content-transfer-encoding: quoted-printable
> Content-disposition: attachment; filename=SpaghettiTracer.log
> 
> MessageNotUnderstood: methodsFor:stamp:=0D2 November 2002 3:06:15 =
> am=0D=0DVM: Win32 - MobVM - RFC version (Tracking 3.2.3)=0A=
> Oct 30 2002=0A=
> Compiler: gcc 2.95.3-6 (mingw special)=0DImage: Squeak3.2 [latest =
> update: #4956]=0D=0DUndefinedObject(Object)>>doesNotUnderstand:=0D	=
> Receiver: nil=0D	Arguments and temporary variables: =0D		aMessage: 	a =
> Message with selector: #methodsFor:stamp: and arguments: =
> #('*Analys...etc...=0D	Receiver's instance variables: =
> =0Dnil=0DUndefinedObject>>DoIt=0D	Receiver: nil=0D	Arguments and =
> temporary variables: =0D=0D	Receiver's instance variables: =
> =0Dnil=0DCompiler>>evaluate:in:to:notifying:ifFail:=0D	Receiver: a =
> Compiler=0D	Arguments and temporary variables: =0D		textOrStream: 	=
> 'PackageInfo methodsFor: ''*Analysis-Extensions'' stamp: ''dvf =
> 10...etc...=0D		aContext: 	nil=0D		receiver: 	nil=0D		aRequestor: 	=
> nil=0D		failBlock: 	[] in Compiler =
> class>>evaluate:for:notifying:logged:=0D		methodNode: 	DoIt=0D	^ =
> PackageInfo methodsFor: '*Analysis-Extensions' stamp: 'dvf ...etc...=0D		=
> method: 	a CompiledMethod (3267)=0D		value: 	nil=0D	Receiver's instance =
> variables: =0D		sourceStream: 	a ReadStream=0D		requestor: 	nil=0D		=
> class: 	UndefinedObject=0D		context: 	nil=0D=0DCompiler =
> class>>evaluate:for:notifying:logged:=0D	Receiver: Compiler=0D	Arguments =
> and temporary variables: =0D		textOrString: 	'PackageInfo methodsFor: =
> ''*Analysis-Extensions'' stamp: ''dvf 10...etc...=0D		anObject: 	nil=0D		=
> aController: 	nil=0D		logFlag: 	false=0D		val: 	nil=0D	Receiver's =
> instance variables: =0D		superclass: 	Object=0D		methodDict: 	a =
> MethodDictionary(#compile:in:notifying:ifFail:->a CompiledMethod =
> ...etc...=0D		format: 	138=0D		instanceVariables: 	#('sourceStream' =
> 'requestor' 'class' 'context')=0D		organization: 	('error handling' =
> interactive notify: notify:at:)=0D('public access...etc...=0D		=
> subclasses: 	nil=0D		name: 	#Compiler=0D		classPool: 	a Dictionary()=0D		=
> sharedPools: 	nil=0D		environment: 	nil=0D		category: 	nil=0D=0D--- The =
> rest of the stack ---=0DCompiler class>>evaluate:for:logged:=0DCompiler =
> class>>evaluate:logged:=0D[] in =
> StandardFileStream(PositionableStream)>>fileInAnnouncing:=0DBlockContext>=
> >on:do:=0D[] in =
> StandardFileStream(PositionableStream)>>fileInAnnouncing:=0DProgressIniti=
> ationException>>defaultAction=0DProgressInitiationException(Exception)>>s=
> ignal=0DProgressInitiationException>>display:at:from:to:during:=0DProgres=
> sInitiationException =
> class>>display:at:from:to:during:=0DString>>displayProgressAt:from:to:dur=
> ing:=0DStandardFileStream(PositionableStream)>>fileInAnnouncing:=0D[] in =
> ChangeSorter =
> class>>newChangesFromStream:named:=0DBlockContext>>ensure:=0DChangeSorter=
>  =
> class>>newChangesFromStream:named:=0DFileList>>fileIntoNewChangeSet=0DPlu=
> ggableButtonMorph>>performAction=0D[] in =
> PluggableButtonMorph>>mouseUp:=0DArray(SequenceableCollection)>>do:=0DPlu=
> ggableButtonMorph>>mouseUp:=0DPluggableButtonMorph(Morph)>>handleMouseUp:=
> =0DMouseButtonEvent>>sentTo:=0DPluggableButtonMorph(Morph)>>handleEvent:=0D=
> PluggableButtonMorph(Morph)>>handleFocusEvent:=0D[] in =
> HandMorph>>sendFocusEvent:to:clear:=0DPasteUpMorph>>becomeActiveDuring:=0D=
> HandMorph>>sendFocusEvent:to:clear:=0DHandMorph>>sendEvent:focus:clear:=0D=
> HandMorph>>sendMouseEvent:=0DHandMorph>>handleEvent:=0DHandMorph>>process=
> Events=0D[] in =
> WorldState>>doOneCycleNowFor:=0DArray(SequenceableCollection)>>do:=0DWorl=
> dState>>handsDo:=0DWorldState>>doOneCycleNowFor:=0DWorldState>>doOneCycle=
> For:=0DPasteUpMorph>>doOneCycle=0D[] in Project =
> class>>spawnNewProcess=0D[] in BlockContext>>newProcess=0D=
> 
> --Boundary_(ID_rbOVtc8iS018uZwXiEqaGA)--



More information about the Squeak-dev mailing list