[squeak-dev] The Trunk: Tools-cmm.812.mcz
Eliot Miranda
eliot.miranda at gmail.com
Wed May 9 05:30:32 UTC 2018
Hi Chris,
two things. First this is an opportunity to replace (class isKindOf:
Behavior) with class isBehavior. Second, why delete mail out bug report?
It's still useful right?
On Tue, May 8, 2018 at 8:59 PM, <commits at source.squeak.org> wrote:
> Chris Muller uploaded a new version of Tools to project The Trunk:
> http://source.squeak.org/trunk/Tools-cmm.812.mcz
>
> ==================== Summary ====================
>
> Name: Tools-cmm.812
> Author: cmm
> Time: 8 May 2018, 10:59:15.586524 pm
> UUID: d05b5ccd-cc99-4f00-85b1-264218092ef2
> Ancestors: Tools-dtl.811
>
> - Integrate newly-defined classes into the hierarchy list of a
> HierarchyBrowser without muting the other classes. If it's outside the
> hierarchy, spawn it in a new window.
> - Bug reports can contain sensitive and/or private information (variable
> values), so use care when sending them electronically. 'copy bug report to
> clipboard' replaced 'mail out bug report' on the debugger menu.
>
> =============== Diff against Tools-dtl.811 ===============
>
> Item was changed:
> ----- Method: Browser>>defineClass:notifying: (in category 'class
> functions') -----
> defineClass: defString notifying: aController
> "The receiver's textual content is a request to define a new
> class. The
> source code is defString. If any errors occur in compilation,
> notify
> aController."
> | oldClass class newClassName defTokens keywdIx envt |
> oldClass := self selectedClassOrMetaClass.
> defTokens := defString findTokens: Character separators.
>
> ((defTokens first = 'Trait' and: [defTokens second = 'named:'])
> or: [defTokens second = 'classTrait'])
> ifTrue: [^self defineTrait: defString notifying:
> aController].
>
> keywdIx := defTokens findFirst: [:x | x beginsWith: 'category'].
> envt := self selectedEnvironment.
> keywdIx := defTokens findFirst: [:x | '*subclass*' match: x].
> newClassName := (defTokens at: keywdIx+1) copyWithoutAll: '#()'.
> ((oldClass isNil or: [oldClass theNonMetaClass name asString ~=
> newClassName])
> and: [envt includesKey: newClassName asSymbol]) ifTrue:
> ["Attempting to define new class over existing one
> when
> not looking at the original one in this
> browser..."
> (self confirm: ((newClassName , ' is an existing
> class in this system.
> Redefining it might cause serious problems.
> Is this really what you want to do?') asText makeBoldFrom: 1 to:
> newClassName size))
> ifFalse: [^ false]].
> "ar 8/29/1999: Use oldClass superclass for defining oldClass
> since oldClass superclass knows the definerClass of oldClass."
> oldClass ifNotNil:[oldClass := oldClass superclass].
> class := envt beCurrentDuring:
> [oldClass subclassDefinerClass
> evaluate: defString
> in: envt
> notifying: aController
> logged: false].
> (class isKindOf: Behavior)
> + ifTrue: [self changed: #systemCategoryList; changed:
> #classList.
> + self clearUserEditFlag; spawnOrNavigateTo:
> class.
> - ifTrue: [self changed: #systemCategoryList.
> - self changed: #classList.
> - self clearUserEditFlag.
> - self setClass: class selector: nil.
> - "self clearUserEditFlag; editClass."
> ^ true]
> ifFalse: [^ false]!
>
> Item was added:
> + ----- Method: Browser>>spawnOrNavigateTo: (in category 'private') -----
> + spawnOrNavigateTo: aClass
> + self setClass: aClass selector: nil!
>
> Item was changed:
> ----- Method: Debugger>>mainContextStackMenu: (in category 'context
> stack menu') -----
> mainContextStackMenu: aMenu
> "Set up the menu appropriately for the context-stack-list,
> unshifted"
> <contextStackMenuShifted: false>
> ^ aMenu addList: #(
> ('fullStack (f)'
> fullStack)
> ('restart (r)' restart)
> ('proceed (p)' proceed)
> ('step (t)'
> doStep)
> ('step through (T)'
> stepIntoBlock)
> ('send (e)'
> send)
> ('where (w)' where)
> ('peel to first like this'
> peelToFirst)
> -
> ('return entered value'
> returnValue)
> -
> ('toggle break on entry'
> toggleBreakOnEntry)
> ('senders of (n)'
> browseSendersOfMessages)
> ('implementors of (m)' browseMessages)
> ('inheritance (i)'
> methodHierarchy)
> -
> ('versions (v)'
> browseVersions)
> -
> ('references (r)'
> browseVariableReferences)
> ('assignments (a)'
> browseVariableAssignments)
> -
> ('class refs (N)'
> browseClassRefs)
> ('browse full (b)'
> browseMethodFull)
> ('file out '
> fileOutMessage)
> -
> + ('copy bug report to clipboard'
> copyBugReportToClipboard));
> - ('mail out bug report' mailOutBugReport)
> - ('bug report to clipboard'
> copyBugReportToClipboard));
> yourself
> !
>
> Item was changed:
> ----- Method: HierarchyBrowser>>setClass: (in category 'initialization')
> -----
> + setClass: aClass
> + self initHierarchyForClass: (centralClass ifNil: [ aClass ]).
> + super setClass: aClass!
> - setClass: aClass
> -
> - self initHierarchyForClass: aClass.
> - super setClass: aClass.!
>
> Item was added:
> + ----- Method: HierarchyBrowser>>spawnOrNavigateTo: (in category
> 'private') -----
> + spawnOrNavigateTo: aClass
> + (aClass inheritsFrom: centralClass)
> + ifTrue: [ super spawnOrNavigateTo: aClass ]
> + ifFalse: [ self systemNavigation browseHierarchy: aClass ]!
>
> Item was changed:
> ----- Method: HierarchyBrowser>>updateAfterClassChange (in category
> 'initialization') -----
> updateAfterClassChange
> "It is possible that some the classes comprising the hierarchy
> have changed, so reinitialize the entire browser."
>
> + | priorSelection |
> + priorSelection := self selectedClassName.
> +
> (centralClass notNil and: [centralClass isObsolete not])
> + ifTrue: [self initHierarchyForClass: centralClass].
> +
> + (self classListIndexOf: priorSelection) > 0
> + ifTrue: [self selectClassNamed: priorSelection].!
> - ifTrue: [self initHierarchyForClass: centralClass]!
>
>
>
--
_,,,^..^,,,_
best, Eliot
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20180508/7852e5f4/attachment.html>
More information about the Squeak-dev
mailing list
|