You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Move the filterNonDocumented and filterNonPublic functions as extension 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.
0 commit comments