Skip to content

Add script to replace usage of isNil ifTrue: #203

Open
@jecisc

Description

@jecisc

Gabriel Cotelli did this script to improve quality of Pharo:

| env rewriter result methods changes |
env := RBBrowserEnvironment default 
    forPackages: (RPackageOrganizer default packages select: [:p | p name beginsWith: 'Spec2' ]).

rewriter := RBParseTreeRewriter new.
rewriter   
    replace:'`@obj isNil ifFalse: `@block' with: '`@obj ifNotNil: `@block';
    replace: '`@obj isNil ifTrue: `@block' with: '`@obj ifNil: `@block';
    replace: '`@obj isNil ifTrue: `@tb ifFalse: `@block' with: '`@obj ifNil: `@tb ifNotNil: `@block'.

changes := Array with: (RBSmalllintChecker runRule: (RBTransformationRule new 
                rewriteRule: rewriter;
                yourself)
                onEnvironment:  env  ) builder.
                
 (ChangesBrowser changes: changes) open.

We should add it to the cool scripts page

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions