-
Notifications
You must be signed in to change notification settings - Fork 119
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Move the
filterNonDocumented
and filterNonPublic
functions as ext…
…ension getters `filterNonPublic` becomes an extension getter, `wherePublic`, and `filterNonDocumented` becomes an extension getter, `whereDocumented`. Nameable now implements Privacy. Privacy is now an abstract interface class. Changing all the call sites highlights a number of ModelElement getters that are superfluous. For example, `Container.publicInstanceMethods`. This was a getter that now boils down to `instanceMethods.wherePublic`, and it really is unneccessary to keep this; there are many such methods that are removed here: * Container: `publicInstanceMethods`, `publicInstanceOperators`, `publicInstanceFields`, `publicConstantFields`, * InheritingContainer: `publicSuperChain`, `publicInheritedFields`, `publicInheritedMethods`, * LibraryContainer: `publicLibraries`, * Package: `documentedCategories`, * PackageGraph: `documentedExtensions`, * TopLevelContainer: `publicClasses`, `publicExtensions`, `publicExtensionTypes`, `publicConstants`, `publicEnums`, `_publicExceptions`, `publicFunctions`, `publicMixins`, `publicProperties`, `publicTypedefs`. Additionally, this change highlights some small inefficiency in some `hasX` methods. For example, `hasPublicInstanceMethods` used to enumerate all of the public instance methods, then ask if the list is empty. Now we can ask if `any` of the `instanceMethods` are `public`. * Container: `hasPublicInstanceMethods`, `hasPublicInstanceOperators`, `hasPublicInstanceFields`, `hasPublicConstantFields`, `hasPublicVariableStaticFields`, `hasPublicStaticMethods`, `hasPublicEnumValues`, * InheritingContainer: `hasPublicInheritedMethods`, `hasPublicSuperChainReversed`, * MixedInTypes: `hasPublicMixedInTypes`, * LibraryContainer: `hasPublicLibraries`, * Package: `hasDocumentedCategories`, * TopLevelContainer: `hasPublicClasses`, `hasPublicExtensions`, `hasPublicExtensionTypes`, `hasPublicConstants`, `hasPublicEnums`, `hasPublicExceptions`, `hasPublicFunctions`,`hasPublicMixins`, `hasPublicProperties`, `hasPublicTypedefs`. Because the field `InheritingContaier.publicSuperChain` is removed, I change `superChain` from a getter to a field, sort of the point of caching.
- Loading branch information
Showing
22 changed files
with
262 additions
and
476 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.