eXept Software AG Logo

Smalltalk/X Webserver

Documentation of class 'ProjectProblem':

Home

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

Class: ProjectProblem


Inheritance:

   Object
   |
   +--ProjectProblem
      |
      +--ProjectProblem::ClassProblem
      |
      +--ProjectProblem::InvalidPackageName
      |
      +--ProjectProblem::ProjectDefinitionDoesNotExist

Package:
stx:libbasic3
Category:
System-Support-Projects
Version:
rev: 1.74 date: 2024/02/13 20:11:00
user: cg
file: ProjectProblem.st directory: libbasic3
module: stx stc-classLibrary: libbasic3

Description:


I represent a problem as detected by the project consistency checker,
which is optionally executed before committing a package to a repository.
Typically, I find inconsistencies, uncompilable methods or missing prerequisites,
which might lead to trouble when the package is later to be compiled to a dll via stc.

[instance variables:]
    package         - the package in question

    fixes           - a collection of possible fixes
                      (to be shown in the HTML view of the problem browser)

    allProblems     - the collection of problems I am part of
                      (only needed to be able to do the 
                       'fix other problems of this kind' operation,
                       for example in the MethodOnNoPackage problem.)

copyright

COPYRIGHT (c) 2006 by eXept Software AG All Rights Reserved This software is furnished under a license and may be used only in accordance with the terms of that license and with the inclusion of the above copyright notice. This software may not be provided or otherwise made available to, or used by, any other person. No title to or ownership of the software is hereby transferred.

Class protocol:

instance creation
o  newClass: aClass usesPoolButItDoesNotExist: poolName

o  newClassIsCompiledButSuperclassIsAutoloaded

o  newClassIsCompiledButSuperclassProjectDefinitionIsMissing

o  newClassListedBeforeItsPool

o  newClassListedBeforeItsSuperclass

o  newClassListedBeforeItsSuperclass: aClass

o  newClassListedButDoesNotExist

o  newClassListedButInOtherPackage

o  newClassListedMultipleTimes

o  newClassListedMultipleTimes: aClass

o  newClassNotListed

o  newClassShouldNotBeInPackage

o  newClassUsesPoolButItDoesNotExist

o  newClassUsesPoolButItIsNotASharedPool

o  newClassUsesPoolInNamespaceButNamespaceIsNotDefined

o  newExtensionMethodListedButDoesNotExist

o  newExtensionMethodListedButInDifferentPackage

o  newExtensionMethodNotListed

o  newExtensionMethodsClassDoesNotExist

o  newInvalidPackageName

o  newMethodCompilabilityIssue1

o  newMethodCompilabilityIssue2

o  newMethodInNoPackage

o  newMethodListedInOtherPackage

o  newMethodSourceCorrupted

o  newMethodSourceNotAvailable

o  newProjectDefinitionDoesNotExist

queries
o  isAbstract
Return if this class is an abstract class.
True is returned here for myself only; false for subclasses.
Abstract subclasses must redefine this again.


Instance protocol:

accessing
o  allProblems: something

o  countOtherProblemsOfThisKind

o  description
Return a (HTML) describing the problem.

** This method must be redefined in concrete classes (subclassResponsibility) **

o  descriptionAndFixes
Return a (HTML) describing the problem plus possible fixes.

o  klass
Return the class which is subject of the problem.
To be redefined in problems which are class-related

o  label
Return the label (possibly instance if a Text) shortly describing the problem

** This method must be redefined in concrete classes (subclassResponsibility) **

o  package

o  package: aSymbol

o  packageDefinitionClass

o  severity
Return a severity - one of #error, #warning, #info

fixing
o  allUnfixedProblemsOfMyKindDo: aBlock

o  alreadyFixed

o  doFix: index

o  fixes
Return (possibly empty) list of description-action pairs that
the user may take to fix/investigate the problem.
Returned value should be list of pairs (label, action block).
To be overriden in subclasses.

The list should be an array of pairs ( fix label , fix block ).
Fix block should return true, if the fix was successful,
false otherwise

initialization
o  initializeFixes
super initialize. -- commented since inherited method does nothing

printing & storing
o  displayOn: aGCOrStream
what a kludge - Dolphin and Squeak mean: printOn: a stream;

o  printOn: aStream
append a printed representation of the receiver to the argument, aStream

utilities-HTML
o  linkToClass: classOrclassName

o  linkToClass: classOrclassName selector: selector

o  linkToClass: classOrclassName selector: selector omitClassName: omitClassName

o  linkToPackage: packageId


Private classes:

    ClassIsCompiledButSuperclassIsAutoloaded
    ClassIsCompiledButSuperclassProjectDefinitionIsMissing
    ClassListedBeforeItsPool
    ClassListedBeforeItsSuperclass
    ClassListedButDoesNotExist
    ClassListedButInOtherPackage
    ClassListedMultipleTimes
    ClassNotListed
    ClassProblem
    ClassShouldNotBeInPackage
    ClassUsesPoolButItDoesNotExist
    ClassUsesPoolButItIsNotASharedPool
    ClassUsesPoolInNamespaceButNamespaceIsNotDefined
    ClassUsesPoolProblem
    ExtensionMethodListedButDoesNotExist
    ExtensionMethodListedButInDifferentPackage
    ExtensionMethodNotListed
    ExtensionMethodsClassDoesNotExist
    InconsistentProjectDefinition
    InvalidPackageName
    MethodCompilabilityIssue1
    MethodCompilabilityIssue2
    MethodInNoPackage
    MethodListedInOtherPackage
    MethodProblem
    MethodSourceCorrupted
    MethodSourceNotAvailable
    ProjectDefinitionDoesNotExist


ST/X 7.7.0.0; WebServer 1.702 at 20f6060372b9.unknown:8081; Sat, 21 Dec 2024 16:59:06 GMT