[squeak-dev] The Trunk: Tools-yo.406.mcz

Edgar De Cleene edgardec2005 at gmail.com
Sat May 12 14:55:49 UTC 2012




El 5/12/12 11:43 AM, "Chris Muller" <asqueaker at gmail.com> escribió:

> Good one, thanks..
> 
> On Fri, May 11, 2012 at 1:53 PM,  <commits at source.squeak.org> wrote:
>> Yoshiki Ohshima uploaded a new version of Tools to project The Trunk:
>> http://source.squeak.org/trunk/Tools-yo.406.mcz
>> 
>> ==================== Summary ====================
>> 
>> Name: Tools-yo.406
>> Author: yo
>> Time: 11 May 2012, 11:52:55.047 am
>> UUID: 73d5f657-0395-4324-96ad-3fbfbffb43ae
>> Ancestors: Tools-yo.405, Tools-bf.405
>> 
>> Allows to accept method definitions in the DependencyBrowser.  Works with
>> class-side methods as well.
>> 
>> =============== Diff against Tools-bf.405 ===============
>> 
>> Item was added:
>> + ----- Method: DependencyBrowser>>contents:notifying: (in category
>> 'contents') -----
>> + contents: input notifying: aController
>> +       "The retrieved information has changed and its source must now be
>> +        updated. The information can be a variety of things, depending on
>> +        the list selections (such as templates for class or message
>> definition,
>> +        methods) or the user menu commands (such as definition, comment,
>> +        hierarchy).  Answer the result of updating the source."
>> +
>> +       | aString aText theClass theMethodName |
>> +       self changed: #annotation.
>> +       aString := input asString.
>> +       aText := input asText.
>> +
>> +       theClass := self selectedClassOrMetaClass.
>> +       theMethodName := self selectedMessageName.
>> +       (theClass notNil and: [theMethodName notNil]) ifTrue: [
>> +               ^ self okayToAccept
>> +                               ifFalse:
>> +                                       [false]
>> +                               ifTrue:
>> +                                       [self defineMessageFrom: aText
>> notifying: aController]].
>> +       self error: 'unacceptable accept'
>> + !
>> 
>> Item was added:
>> + ----- Method: DependencyBrowser>>defineMessageFrom:notifying: (in category
>> 'contents') -----
>> + defineMessageFrom: aString notifying: aController
>> +       "Compile the expressions in aString. Notify aController if a syntax
>> error occurs. Install the compiled method in the selected class classified
>> under  the currently selected message category name. Answer the selector
>> obtained if compilation succeeds, nil otherwise."
>> +       | selectedMessageName selector category oldMessageList |
>> +       selectedMessageName := self selectedMessageName.
>> +       oldMessageList := self messageList.
>> +       contents := nil.
>> +       selector := (self selectedClassOrMetaClass newParser parseSelector:
>> aString).
>> +       selector := self selectedClassOrMetaClass
>> +                               compile: aString
>> +                               classified: (category := self
>> selectedMessageCategoryName)
>> +                               notifying: aController.
>> +       selector == nil ifTrue: [^ false].
>> +       contents := aString copy.
>> +       ^ true
>> + !
>> 
>> Item was changed:
>>  ----- Method: DependencyBrowser>>selectedClass (in category 'class list')
>> -----
>>  selectedClass
>>        "Answer the class that is currently selected. Answer nil if no
>> selection
>>        exists."
>> 
>> +       | name envt nonMetaClass nonMetaName |
>> -       | name envt |
>>        (name := self selectedClassName) ifNil: [^ nil].
>>        (envt := self selectedEnvironment) ifNil: [^ nil].
>> +       nonMetaName := (name endsWith: ' class') ifTrue: [name allButLast: 6]
>> ifFalse: [name].
>> +       nonMetaClass := envt at: nonMetaName asSymbol ifAbsent: [^ nil].
>> +       ^ nonMetaName = name ifTrue: [nonMetaClass] ifFalse: [nonMetaClass
>> class].
>> + !
>> -       ^ envt at: name ifAbsent: [nil]!
>> 
>> 
> 

DependencyBrowser seems an unfinished concept, glad you take it Yoshiki

Edgar




More information about the Squeak-dev mailing list