You must also export a map that contains the edit-time and runtime applications for your part. You can export more than one map if you want to, but the following example uses only one map:
| aDict | "Hide all of the classes and methods" aDict := Dictionary new. MyRunSamplePartsApp classes do: [ :cls | aDict at: cls symbol put: nil]. MyRunSamplePartsApp removeSourceStructure: aDict.
The key of each dictionary element is a symbol representing the name of the class. If you want to hide all of the methods for the class, set the value of each dictionary element to nil, as shown.
If you only want to hide certain methods, set the value of each dictionary element to be an association. The key of the association is an array of the instance method names to hide, and the value of the association is an array of the class method names to hide. Here is an example:
| aDict | "Hides the source code for the start and stop instance methods and the displayName class method." aDict := Dictionary new. aDict at: #MyTimer put: (Association key: (Array with: #start with: #stop) value: (Array with: #displayName)). MyRunSamplePartsApp removeSourceStructure: aDict.
Your source code will now be hidden whenever it is imported into a manager which does not contain the original source code.