eXept Software AG Logo

Smalltalk/X Webserver

Documentation of class 'Tools::ClassChecker':

Home

Documentation
www.exept.de
Everywhere
for:
[back]

Class: ClassChecker (in Tools)


Inheritance:

   Object
   |
   +--Tools::ClassChecker

Package:
stx:libtool
Category:
Interface-Browsers-New
Version:
rev: 1.26 date: 2018/04/23 07:48:44
user: cg
file: Tools__ClassChecker.st directory: libtool
module: stx stc-classLibrary: libtool
Author:
Claus Gittinger (cg@exept.de)

Description:


embeddable application displaying the class-categories.
Provides an outputGenerator, which enumerates the classes in
the selected categories.

Attention: do not change the method categories 'checks-' into something else.
The 'checks-' prefix is used to detect checks and these are listed in the browsers
lint dialog.


Class protocol:

queries
o  individualChecks
return a list of supported checks

usage example(s):

     self individualChecks


Instance protocol:

accessing
o  badClassInfo

o  badMethodInfo

o  checkedClass
return the value of the instance variable 'checkedClass' (automatically generated)

o  checkedClass: something
set the value of the instance variable 'checkedClass' (automatically generated)

checking
o  allChecks

o  doCheck: whichCheck

o  errorChecks

o  styleChecks
self doCheck:#guardingClause.

o  warningChecks

checks-individual
o  checkProtocols

o  checkVariableNameConventions

o  classInstanceVariablesNeverUsed

o  classInstanceVariablesNeverWritten

o  classVariablesNeverUsed

o  classVariablesNeverWritten

o  definesEqualButNotHash

o  guardingClause

o  instanceVariablesNeverUsed

o  instanceVariablesNeverWritten

o  invalidKeyInImageResourceMethod

o  messageNeverSent
old code: (slow)

o  messageNeverSentAndNotUsedAsSymbol

o  parseMethod: method in: aClass withParserDo: aBlock onErrorDo: errorBlock

o  sendsObsoleteMessages
manually patchup; there are some which should not be considered as bad ...

o  sendsObsoleteMethodWarningButNotTaggedAsObsoleteOrViceVersa

o  sentNotImplemented

o  subclassResponsibilityNotDefined
ok, got one;

o  unusedClassVariables

o  unusedInstanceVariables

helpers
o  anyImplementationOf: aSelector

o  anyImplementationOf: aSelector in: aCollectionOfClasses

o  anyImplementationOf: aSelector inOrAbove: aClass

o  anySendsOf: aSelector

o  checkProtocolOf: aMethod

o  checkUnusedVariables: aMethod rememberReadInstVarsIn: readInstVars writtenInstVarsIn: writtenInstVars readClassVarsIn: readClassVars writtenClassVarsIn: writtenClassVars

o  instanceVariablesNeverUsedIn: aClass

o  instanceVariablesNeverWrittenIn: aClass

o  messagesNeverSentAndNotUsedAsSymbolIn: selectorsOfInterest
start searching in the checkedClass - chances are high, we find some here

o  messagesNeverSentIn: selectorsOfInterest

o  methodShouldBeIgnoredInSubclassResponsibilityNotDefined: aMethod
a kludge for now - would like to have a pragma, resource or other
way to mark such a method

o  rememberBadClass: class info: whatIsWrong

o  rememberBadMethod: method key: key info: whatIsWrong

o  rememberBadMethods: methods key: key info: whatIsWrong

o  removeUsedClassVariablesIn: aClass from: aCollectionOfVariablenames

o  removeUsedInstanceVariablesIn: aClass from: aCollectionOfVariablenames

o  removeWrittenClassVariablesIn: aClass from: aCollectionOfVariablenames

o  removeWrittenInstanceVariablesIn: aClass from: aCollectionOfVariablenames



ST/X 7.2.0.0; WebServer 1.670 at bd0aa1f87cdd.unknown:8081; Thu, 25 Apr 2024 07:35:05 GMT