The Refactoring Browser is a complete re-implementation of the standard system browsers for VisualWorks, VisualWorks/ENVY, and IBM Smalltalk. In addition to the features present in the standard browsers, the Refactoring Browser provides several refactorings that allow programmers to rapidly change their code without affecting its behavior. This allows programmers to quickly make design changes to existing code without having to worry about introducing errors into the code. In addition to the refactorings, the Refactoring Browser provides several productivity enhancements that programmers have requested to make the browser a better programming tool, and is the main VisualWorks Smalltalk Browser.

Method Wrappers

Method Wrappers can add hidden behavior to a method without recompiling it. They can be used to change a method's behavior. Commonly, they are used to add behavior before and after the default method executes. For example, we can create a coverage tool by using a method wrapper that increments a counter when it is called. If you would like more detailed information about method wrappers, you can read the ECOOP'98 paper Wrappers to the Rescue.

The #Smalltalk compiler is available under the Open Software License version 1.1. The #Smalltalk class library is available under the MIT License. By installing the software you are agreeing to the terms of these licenses. To determine what license a particular source file is under, you can view the comment at the beginning of the file. Essentially, everything under the Compiler subdirectory and the compiler program is under the Open Software License and everything else is under the MIT License. By having the two licenses, you are able to compile and distribute programs without the limitation of them being under the Open Software License. However, if you modify and distribute the compiler, then that must be licensed under the Open Software License. If your company needs a different license, you can contact us.

SmaCC

SmaCC (Smalltalk Compiler-Compiler) is a freely available parser generator for Smalltalk. We have used SmaCC to write custom refactoring and transformation tools for several languages including Java, C#, and Delphi. These tools range from small scale refactorings to large scale migration projects. For example, we have used SmaCC to migrate a 1.5 million line Delphi program to C#.

SmaCC was developed under VisualWorks 7 and Dolphin 6.0 Professional by John Brant and Don Roberts. While it currently only runs on these platforms, it should be relatively easy to port to other platforms.

Refactory Profile

The Refactory, Inc. and its consultants provide top notch on-site training and consulting services. Through our combined years of industry and academic experience, the principals of The Refactory base our consultation on proven practices backed by industry leading research. We have the skills, experience and ambition to make your project successful.