VAStGoodies.com
Your VA Smalltalk OSS repository. Powered by
with
.
Configuration Maps
|
Projects
|
Tags
|
Developers
|
Statistics
|
RSS
|
Disclaimer
|
About
|
Help
Configuration Maps Browser
Configuration Map Names
Abt Image Startup
AbtOleEdit
AbxProcessPeek
Announcements Core
Announcements Demos Seaside
Announcements Tests
Announcements Tools VA
Cloudfork
Cloudfork ActiveItem
CloudforkAWS
CloudforkAWSWithTests
CloudforkSSO
CloudforkSSOWithTests
CodeManagement
ComputerTelephony
Compuware SplitterWidget
CounterMap
DhbNumerics
DhbNumericsWithTests
Flotr Core
FogBugz Support
GemStoneCodeManagement
GemStoneCodeManagement Mods
Glorp
GlorpTest
GlorpVAPortMap
Goodies - UML Designer
GreaseVASTExtensions
Highcharts Seaside Addon
HQA Automated Build Support
HQA Code Snapshot Tool
InstallService
JNIPort
JNIPort Tests
JokXTEAEncryption
JQuery-plugin Autocomplete
JQuery-plugin Bind
JQuery-plugin QTip
JQuery-plugin Radiobutton and Checkbox
JQuery-plugin Table Sorter
JQuery-plugin Table Sorter Example
JQuery/JQueryUI
JQuery/JQueryUI Tests
JQueryMobile
JQueryMobile Tests
JQueryWidgetBox Core
JQueryWidgetBox Dynatree
JQueryWidgetBox Examples
JQueryWidgetBox Portability Extentions
JQueryWidgetBox Tests
JSON
KscCase
KscDynamicSortBlock
KscEMail
KscInspectWindow
KscLibUsb
KscMZZipExtensions
KscShellNotifyIcon
KscViewExtensions
KscWeather
KscX10Base
KscX10LibUSB
KscX10LibUsbGui
LibGit
Magritte
Magritte Seaside
Magritte Tests
MagritteMagic
Mastering ENVY/Developer Refactoring Browser Extensions
Mastering ENVY/Developer Script Manager
MessagePack
MessagePack Tests
MetaTest Browser
MethodPragmas
MethodWrappers
MethodWrappers Tests
MethodWrappersBase
MFNLSManagement
MiniSMock
MinneStoreDB
Modelling
Monticello Importer - Beta
MQTT-Paho
MQTT-Paho Tests
MSKAdditionalColorSupport
MSKCLDTPrimitivesExtension
MSKCLDTPrimitivesExtensionWithTestsAndResources
MSKClick
MSKCouchDB
MSKCouchDBWithTests
MSKCurlInterface
MSKDyBase
MSKDyBaseWithTests
MSKECLWrapper
MSKECLWrapperTestsAndResources
MSKFFLLInterface
MSKFischertechnikInterface
MSKFreeImageUI
MSKFreeImageWrapper
MSKFreeImageWrapperWithTests
MSKGeneralDatabase
MSKGhostscriptInterface
MSKGLibWrapper
MSKGLibWrapperWithTests
MSKICU
MSKICUAndTests
MSKICXDLibHaruDM
MSKICXDTNetStringsDM
MSKICXDTNetStringsTests
MSKJSONWrapper
MSKJSONWrapperWithTests
MSKLibHaruInterface
MSKLogging
MSKLua
MSKLuaWithTests
MSKMdlPlainRuntime
MSKMonoInterface
MSKMSAgentWrapper
MSKOleAdditions
MSKOOBaseDLLWrapper
MSKOOoAutoGenerated
MSKOOoBaseLibrary
MSKOOoCodeGenerator
MSKOOoExamplesAndIDE
MSKOOoSmalltalkExtensions
MSKOpenCLSupport
MSKOpenGLSupport
MSKOpenGLSupport Core
MSKOpenGLSupport Examples
MSKOpenGLSupport Examples FreeImage
MSKOpenGLSupport GUI
MSKOpenGLSupport Runtime Loading
MSKOpenGLSupport Structures
MSKPlatformExtension
MSKPostgreSQL
MSKPostgreSQLAbtDBMLayer
MSKPostgreSQLAbtDBMLayerWithTests
MSKPostgreSQLWithTests
MSKProcessViewer
MSKRaphaelExtensions
MSKRemoteCommandTools
MSKResourceManagement
MSKResourceManagementRuntime
MSKRexxSupport
MSKRexxSupportWithTests
MSKScintillaWrapper
MSKSDL
MSKSDLWithTests
MSKSeasideNLSExample
MSKSeasideNLSExtension
MSKSeasideSimpleREST
MSKSnarlInterface
MSKSQLite
MSKSQLiteAbtDBMLayer
MSKSQLiteGlorpSupport
MSKSQLiteWithTests
MSKSyslog
MSKSystemExtension
MSKSystemGraphicsExtension
MSKTestModel
MSKTreBinding
MSKTreBindingWithTests
MSKUDPMulticast
MSKUREWrapper
MSKVectorExtension
MSKVectorExtensionsWithTests
MSKZLibWrapper
MSKZLibWrapperWithTests
Mustache
NeoCSV
NeoJSON
Obdobion, EMan - Developer
Obdobion, EMan - Distribution
Obdobion, EMan - Examples
Obdobion, EMan - Runtime
OGLogger
Philemon Event Support
Philemon Melissa
Philemon TaggedData
Philemon Tools
Pier
Pier Add-ons
Pier Seaside
Pier Seaside Tests
Pier SIXX Persistence
Pier Tests
PUMRESTRuntime
QuotedPrintableCoderRun
QuotedPrintableCoderWithTests
Raphaël - JavaScript Library
Raphael - JavaScript Library Examples
RaspberryHardwareInterfaceCore
RaspberryHardwareInterfaceTest
RaspberryHardwareInterfaceViaDaemonTest
Reef
Refactoring Browser
Refactoring Browser Model
RefactoryTesting
Regex
Roassal
Roassal-Core
Seaside Core
Seaside GoogleChart
Seaside REST
Seaside REST Tests
SeasideGoogleMapsV3
SeasideGoogleMapsV3Examples
SimGeohash
Simple GBS Temperature Sensor Example
Simple Improvements
SIXX
SIXX Tests
SpsPdfLib
SpsPdfLib Development
StOMP
StOMP Tests
STON
StsBrowsersWin w/Code Completion
SUnit
SUnit Browser
SUnit Browser - Packagable
SUnit Tests
SWFObject2 Seaside Addon
SWFObject2 Seaside Addon Demo
Test Browser
Toothpick
TwitterBoostrapForSeaside
TwitterBootstrapForSeasideExamples
TwitterBootstrapForSeasideTests
USAstronomicalApi
VA Assist Pro for TrailBlazer
VAStGoodies.com Tools
VBRegex
WinCrypt
WinCryptWithTests
WinHttpClient
WinHttpClientWebServiceSupport
WinHttpClientWebServiceSupportWithTests
WinHttpClientWithTests
z.ST: Database, PostgreSQL-Base
z.ST: SUnit
z.ST: SUnit Testing
Zstandard
Zstandard Tests
Versions
Download
R3.5.2 CS12 RC2
Applications
RBChangeObjectsApp V 6.0.2 [57]
RBCustomRefactorings CS11.NFR.11
RBEnvironmentsApp R3.5.2 CS11.NFR.5
RBParserApp R3.5.2 CS12.NFR.21
RBRefactoringsApp R3.5.2 CS12.NFR.16
RBSmalllintApp R3.5.2 CS11.NFR.7
Config. Expressions
Required Maps
Find
Notes
Custom Refactoring and Rewrite Editor Usability (Camp Smalltalk Project) ===================================================== Camp Smalltalk 12 Release Candidate 2: customrefactor.sourceforge.net This adds code written at the CS3, CS5, CS6, CS7, CS9, CS10, CS11 and CS12 Camp Smalltalks by Niall Ross, Adriaan van Os, Katerina Barone-Adesi, Michael Prasse, John O'Keefe, Bernard Pieber, Thomas Koschate, Andrew McQuiggin, Aaron Hoffer, Hernan Wilkinson et al. to John Brant's R3.5.2 release of the Refactoring Browser maps. This map holds the Refactoring Browser model-layer and ReferenceFinder utilities. CS12 RC2 changes: - Removed duplicate name check in RenameClassRefactoring that was slow in large images. CS12 RC1 changes: - RBConfigurableFormatter had VW-oriented hard-coded line-end assumptions. CS11 RC3 changes: - SplitCascade: if the user selection starts in the cascade's receiver, the statement containing the end of the selection becomes the last statement of the first cascade. If it starts beyond the cascade's receiver, the statement containing the start of the selection becomes the first statement of the second cascade. - Smalllint rules #detectContains and #contains have #contains: (VW only) changed to #anySatisfy: (cross-dialect) - Smalllint rule #equivalentSuperclassMethods also compares to super EsCompactMethod in VA (#equivalentTo: overridden) - extracted 'Smalltalk at: ..' to #classNamed: in BrowserEnvironment (optimisation in some and also helps integrate environments and refactorings) - onBaseEnvironment: methods for BrowserEnvironments added to this release (used by scripts and more than one RB-using utility, so configuration is easier if the RB has them) CS11 changes: - CascadeRefactoring: select statements to cascade them, or all method to cascade all top-level consecutive same-receiver statements. Also improves SplitCascadeRefactoring. - PushDownInstanceVariableRefactoring: tell the user how many subclasses get the instance variable if not all subclasses reference it; allow push down to all or referers. - In the code pane of the VA ENVY browsers, added Push Up for instance variables and removed Pull Up for instance variables - Allow (with warning) rename of selector to new name already defined in super/subclass. - Removed a loading warning (a push up instvar's alternative option referenced a UI class, to get 'show refactorings before implementing' option if user has it set, so reworked the code to put the method called by the option in the UI map). - Renamed InlineAllSendersRefactoring to InlineAllSelfSendersRefactoring (better name and compatible with VW7). - trivial method spelling correction: Delagator -> Delegator CS10 changes: - Separate Refactoring Browser Extensions (CS) map eliminated; base and project versions of UI layer and model layer are in distinct versions of the same maps - SplitCascadeRefactoring and PushUpToExistingInstanceVariableRewrite added - MethodRefactoring hierarchy refactored to assist composing refactorings that successively rewrite the same method. - ReferenceFinder has been moved from RBBrowserUIApp to RBRefactoringsApp. ReferenceFinder is not a UI class and its former placing was causing irrational dependency effects in the custom refactoring work. Moving it here in the base as well makes loading CS maps on top of base maps easier. - All CustomRefactoring UI code except for actual menu resources moved to RBCustomRefactoringsUI. (John's menu-building code strips any menu items that lack implementors so if RBBrowserUIApp is loaded without RBCustomRefactorings, all should still work.) - RewriteEditors viewed in Refactoring Browsers have a TearOff button. When torn off, they are initially set to view the whole environment of the RB they were in. This makes it easier to develop a pattern while repeatedly matching one or a few selected methods in an RB, then tear off and rewrite all matching methods in that RB without having to select them all (which it can sometimes be tricky or tedious to do). CS9 RC2 changes: - RB selector menu supports finding selectors and implementors in hierarchy - naming meta-terms to generalise matching non-string literals no longer DNUs - menu select and replace works inside multiple match patterns CS7 RC1 changes: this bugfix release does not yet incorporate the dynamic renaming work done at CS7. It clears the known bugs (on sourceforge site list) as at January 2004. - rename method works in VA 6.0.2 - Match All does not need selection to enable - environments copy deeper (VA / VW3 dictionary copy reused associations) - rewrite multiple statements to single statement or vice versa works (earlier versions lost an initialization step that enabled this) - recursive message matching menu item deleted as feature does not exist CS6 RC3 Changes: - RewriteRuleEditor 'Select Whole Node' disabled when whole node already selected. - VariableTypeDialog now works on AIX and Solaris in VA. - RewriteMetaCodeTool text preserved when image closed and reopened in VA (works in own window and within RB, preserves change callbacks, etc.) - Replacing code with meta-var temps no longer erroneously complains about replace meta-var missing from search text if temp declared but unused in search text. - Strict refactoring of BrowserCodeTool obsolete method colouring and CodeModel combo box building (more robust on non-Windows platforms using code colouring) RC2 and earlier: - RewriteEditor panes have right-click menus that help rewrite code to matching metacode - RewriteEditor (only) supports wildcards; wildcard symbol shown in RewriteEditor - RewriteCodeTool option standard in RB (i.e. source/comment/notes/rewrite) and searches correctly if classes selected in 2-pane RB. Menu has extra behaviour when within RB: * Rewrite text can be accepted, so preserved when swapping between options / methods (each displayed RB can accept one search and one replace text) * Can paste currently selected method text into Search or Replace panes - Multiple meta-patterns allowed in find pane, all rewriting to single replace pattern - The Changes list that a 'Replace' in the RewriteRuleEditor pops up to let the user browse changes before executing them now has list widget menu additions that let the user accept or cancel edits of change shown in text widget (edit disables execute till accept / cancel). - Minor refactor of policy addition code and window restore code supports adding tools - RBProgramNode class>>optimizedSelectors has become accessor for a class variable to permit dynamic changing of which methods the RB treats as optimized. - BlockLintRule class>>superMessages has become accessor for a class variable to permit easy addition of messages to check for missing super sends. - (VA only) 'ignore generated methods in Smalllint' system menu item added / removed when loaded / removing RBSmalllintUIVAApp subapp (shows which methods it filters) and (also in CS6 Release Candidate 1, and some in our CS5 and CS3 maps): - RewriteEditor shows (in pane) if replaceText metavar is not in search text, and warns (on Transcript) if replace message unimplemented or replace var name matches a metavar name - RewriteEditor 'Search in...' can select protocols, methods, not just apps, classes - 'rename var and accessors' refactoring + RB menus for it - revised 'Extract Method' RB menus - example custom rewrite methods (in Ex-prefaced test classes) - (VA fix) when closing and reopening an image, this map makes the RewriteEditor, Smalllint Editor, Smalllint Result and hierarchy-RB-window reappear correctly. - ReferenceFinder subclasses for path-constrained and depth-constrained searching Tests for these features are in the appropriate Refactoring Browser Tests map version.
Comment
Model-layer code for refactoring smalltalk source. Refactoring preconditions check for viability before execution. Refactoring>>primitiveExecute does the entire refactoring in an RBNamespace sandbox, after which the rest of Refactoring>>execute compiles the code back into the image. See this configuration map's notes for details of who maintains this map, what work has been done in a given version, etc.
Project:
Custom Refactoring and Rewrite Editor Usability
Developer:
Niall F Ross
Use the
VAStGoodies.com Tools
to submit your contributions.