ProjectProblem.st
author Claus Gittinger <cg@exept.de>
Wed, 10 Jul 2013 16:48:49 +0200
changeset 3342 c8ff65be73c0
parent 3225 33d97afaea88
child 3350 2331896e5005
child 3382 025420bf2e2f
permissions -rw-r--r--
class: ProjectProblem
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
     1
"
24f170d78e3b initial checkin
vrany
parents:
diff changeset
     2
 COPYRIGHT (c) 2006 by eXept Software AG
2911
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
     3
	      All Rights Reserved
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
     4
24f170d78e3b initial checkin
vrany
parents:
diff changeset
     5
 This software is furnished under a license and may be used
24f170d78e3b initial checkin
vrany
parents:
diff changeset
     6
 only in accordance with the terms of that license and with the
24f170d78e3b initial checkin
vrany
parents:
diff changeset
     7
 inclusion of the above copyright notice.   This software may not
24f170d78e3b initial checkin
vrany
parents:
diff changeset
     8
 be provided or otherwise made available to, or used by, any
24f170d78e3b initial checkin
vrany
parents:
diff changeset
     9
 other person.  No title to or ownership of the software is
24f170d78e3b initial checkin
vrany
parents:
diff changeset
    10
 hereby transferred.
24f170d78e3b initial checkin
vrany
parents:
diff changeset
    11
"
24f170d78e3b initial checkin
vrany
parents:
diff changeset
    12
"{ Package: 'stx:libbasic3' }"
24f170d78e3b initial checkin
vrany
parents:
diff changeset
    13
24f170d78e3b initial checkin
vrany
parents:
diff changeset
    14
Object subclass:#ProjectProblem
2854
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
    15
	instanceVariableNames:'package fixes'
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
    16
	classVariableNames:''
24f170d78e3b initial checkin
vrany
parents:
diff changeset
    17
	poolDictionaries:''
24f170d78e3b initial checkin
vrany
parents:
diff changeset
    18
	category:'System-Support-Projects'
24f170d78e3b initial checkin
vrany
parents:
diff changeset
    19
!
24f170d78e3b initial checkin
vrany
parents:
diff changeset
    20
24f170d78e3b initial checkin
vrany
parents:
diff changeset
    21
ProjectProblem subclass:#ClassProblem
24f170d78e3b initial checkin
vrany
parents:
diff changeset
    22
	instanceVariableNames:'className'
24f170d78e3b initial checkin
vrany
parents:
diff changeset
    23
	classVariableNames:''
24f170d78e3b initial checkin
vrany
parents:
diff changeset
    24
	poolDictionaries:''
24f170d78e3b initial checkin
vrany
parents:
diff changeset
    25
	privateIn:ProjectProblem
24f170d78e3b initial checkin
vrany
parents:
diff changeset
    26
!
24f170d78e3b initial checkin
vrany
parents:
diff changeset
    27
3160
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
    28
ProjectProblem::ClassProblem subclass:#InconsistentProjectDefinition
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
    29
	instanceVariableNames:''
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
    30
	classVariableNames:''
24f170d78e3b initial checkin
vrany
parents:
diff changeset
    31
	poolDictionaries:''
24f170d78e3b initial checkin
vrany
parents:
diff changeset
    32
	privateIn:ProjectProblem
24f170d78e3b initial checkin
vrany
parents:
diff changeset
    33
!
24f170d78e3b initial checkin
vrany
parents:
diff changeset
    34
3160
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
    35
ProjectProblem::InconsistentProjectDefinition subclass:#ClassListedButDoesNotExist
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
    36
	instanceVariableNames:''
24f170d78e3b initial checkin
vrany
parents:
diff changeset
    37
	classVariableNames:''
24f170d78e3b initial checkin
vrany
parents:
diff changeset
    38
	poolDictionaries:''
24f170d78e3b initial checkin
vrany
parents:
diff changeset
    39
	privateIn:ProjectProblem
24f170d78e3b initial checkin
vrany
parents:
diff changeset
    40
!
24f170d78e3b initial checkin
vrany
parents:
diff changeset
    41
3160
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
    42
ProjectProblem::InconsistentProjectDefinition subclass:#ClassListedMultipleTimes
2911
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
    43
	instanceVariableNames:''
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
    44
	classVariableNames:''
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
    45
	poolDictionaries:''
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
    46
	privateIn:ProjectProblem
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
    47
!
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
    48
3160
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
    49
ProjectProblem::InconsistentProjectDefinition subclass:#ClassNotListed
2911
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
    50
	instanceVariableNames:''
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
    51
	classVariableNames:''
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
    52
	poolDictionaries:''
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
    53
	privateIn:ProjectProblem
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
    54
!
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
    55
3160
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
    56
ProjectProblem::InconsistentProjectDefinition subclass:#ClassListedBeforeItsPool
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
    57
	instanceVariableNames:'poolName'
24f170d78e3b initial checkin
vrany
parents:
diff changeset
    58
	classVariableNames:''
24f170d78e3b initial checkin
vrany
parents:
diff changeset
    59
	poolDictionaries:''
24f170d78e3b initial checkin
vrany
parents:
diff changeset
    60
	privateIn:ProjectProblem
24f170d78e3b initial checkin
vrany
parents:
diff changeset
    61
!
24f170d78e3b initial checkin
vrany
parents:
diff changeset
    62
2911
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
    63
ProjectProblem::ClassProblem subclass:#ClassUsesPoolProblem
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
    64
	instanceVariableNames:'poolName'
24f170d78e3b initial checkin
vrany
parents:
diff changeset
    65
	classVariableNames:''
24f170d78e3b initial checkin
vrany
parents:
diff changeset
    66
	poolDictionaries:''
24f170d78e3b initial checkin
vrany
parents:
diff changeset
    67
	privateIn:ProjectProblem
24f170d78e3b initial checkin
vrany
parents:
diff changeset
    68
!
24f170d78e3b initial checkin
vrany
parents:
diff changeset
    69
2911
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
    70
ProjectProblem::ClassUsesPoolProblem subclass:#ClassUsesPoolButItIsNotASharedPool
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
    71
	instanceVariableNames:''
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
    72
	classVariableNames:''
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
    73
	poolDictionaries:''
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
    74
	privateIn:ProjectProblem
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
    75
!
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
    76
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
    77
ProjectProblem::ClassUsesPoolProblem subclass:#ClassUsesPoolInNamespaceButNamespaceIsNotDefined
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
    78
	instanceVariableNames:''
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
    79
	classVariableNames:''
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
    80
	poolDictionaries:''
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
    81
	privateIn:ProjectProblem
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
    82
!
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
    83
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
    84
ProjectProblem::ClassUsesPoolProblem subclass:#ClassUsesPoolButItDoesNotExist
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
    85
	instanceVariableNames:''
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
    86
	classVariableNames:''
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
    87
	poolDictionaries:''
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
    88
	privateIn:ProjectProblem
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
    89
!
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
    90
2854
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
    91
ProjectProblem::ClassProblem subclass:#MethodProblem
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
    92
	instanceVariableNames:'selector'
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
    93
	classVariableNames:''
24f170d78e3b initial checkin
vrany
parents:
diff changeset
    94
	poolDictionaries:''
24f170d78e3b initial checkin
vrany
parents:
diff changeset
    95
	privateIn:ProjectProblem
24f170d78e3b initial checkin
vrany
parents:
diff changeset
    96
!
24f170d78e3b initial checkin
vrany
parents:
diff changeset
    97
3166
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
    98
ProjectProblem::MethodProblem subclass:#ExtensionMethodListedButInDifferentPackage
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
    99
	instanceVariableNames:''
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
   100
	classVariableNames:''
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
   101
	poolDictionaries:''
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
   102
	privateIn:ProjectProblem
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
   103
!
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
   104
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   105
ProjectProblem::MethodProblem subclass:#ExtensionMethodNotListed
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   106
	instanceVariableNames:''
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   107
	classVariableNames:''
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   108
	poolDictionaries:''
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   109
	privateIn:ProjectProblem
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   110
!
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   111
3166
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
   112
ProjectProblem::MethodProblem subclass:#ExtensionMethodsClassDoesNotExist
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
   113
	instanceVariableNames:''
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
   114
	classVariableNames:''
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
   115
	poolDictionaries:''
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
   116
	privateIn:ProjectProblem
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
   117
!
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
   118
3160
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
   119
ProjectProblem::InconsistentProjectDefinition subclass:#ClassListedBeforeItsSuperclass
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
   120
	instanceVariableNames:'superClassName'
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
   121
	classVariableNames:''
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
   122
	poolDictionaries:''
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
   123
	privateIn:ProjectProblem
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
   124
!
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
   125
2854
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   126
ProjectProblem::MethodProblem subclass:#MethodCompilabilityIssue
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   127
	instanceVariableNames:'errors warnings'
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   128
	classVariableNames:''
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   129
	poolDictionaries:''
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   130
	privateIn:ProjectProblem
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   131
!
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   132
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   133
Object subclass:#Error
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   134
	instanceVariableNames:'message startPosition endPosition'
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   135
	classVariableNames:''
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   136
	poolDictionaries:''
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   137
	privateIn:ProjectProblem::MethodCompilabilityIssue
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   138
!
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   139
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   140
Object subclass:#Warning
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   141
	instanceVariableNames:'message startPosition endPosition'
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   142
	classVariableNames:''
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   143
	poolDictionaries:''
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   144
	privateIn:ProjectProblem::MethodCompilabilityIssue
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   145
!
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   146
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   147
ProjectProblem::MethodProblem subclass:#MethodInNoPackage
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   148
	instanceVariableNames:''
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   149
	classVariableNames:''
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   150
	poolDictionaries:''
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   151
	privateIn:ProjectProblem
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   152
!
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   153
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   154
ProjectProblem::MethodProblem subclass:#ExtensionMethodListedButDoesNotExist
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   155
	instanceVariableNames:''
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   156
	classVariableNames:''
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   157
	poolDictionaries:''
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   158
	privateIn:ProjectProblem
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   159
!
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   160
2854
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   161
ProjectProblem::MethodProblem subclass:#MethodSourceCorrupted
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   162
	instanceVariableNames:''
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   163
	classVariableNames:''
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   164
	poolDictionaries:''
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   165
	privateIn:ProjectProblem
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   166
!
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   167
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   168
ProjectProblem::MethodProblem subclass:#MethodSourceNotAvailable
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   169
	instanceVariableNames:''
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   170
	classVariableNames:''
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   171
	poolDictionaries:''
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   172
	privateIn:ProjectProblem
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   173
!
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   174
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   175
ProjectProblem subclass:#ProjectDefinitionDoesNotExist
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   176
	instanceVariableNames:''
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   177
	classVariableNames:''
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   178
	poolDictionaries:''
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   179
	privateIn:ProjectProblem
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   180
!
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   181
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   182
!ProjectProblem class methodsFor:'documentation'!
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   183
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   184
copyright
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   185
"
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   186
 COPYRIGHT (c) 2006 by eXept Software AG
2911
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   187
	      All Rights Reserved
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   188
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   189
 This software is furnished under a license and may be used
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   190
 only in accordance with the terms of that license and with the
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   191
 inclusion of the above copyright notice.   This software may not
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   192
 be provided or otherwise made available to, or used by, any
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   193
 other person.  No title to or ownership of the software is
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   194
 hereby transferred.
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   195
"
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   196
! !
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   197
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   198
!ProjectProblem class methodsFor:'instance creation'!
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   199
2911
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   200
newClassListedBeforeItsPool
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   201
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   202
    ^ClassListedBeforeItsPool new
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   203
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   204
    "Created: / 13-09-2012 / 17:13:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   205
!
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   206
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   207
newClassListedBeforeItsSuperclass
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   208
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   209
    ^ClassListedBeforeItsSuperclass new
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   210
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   211
    "Created: / 13-09-2012 / 17:13:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   212
!
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   213
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   214
newClassListedButDoesNotExist
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   215
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   216
    ^ClassListedButDoesNotExist new
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   217
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   218
    "Created: / 23-02-2012 / 13:18:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   219
!
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   220
2911
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   221
newClassListedMultipleTimes
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   222
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   223
    ^ClassListedMultipleTimes new
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   224
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   225
    "Created: / 13-09-2012 / 17:40:28 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   226
!
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   227
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   228
newClassNotListed
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   229
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   230
    ^ClassNotListed new
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   231
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   232
    "Created: / 23-02-2012 / 13:59:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   233
!
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   234
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   235
newClassUsesPoolButItDoesNotExist
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   236
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   237
    ^ClassUsesPoolButItDoesNotExist new
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   238
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   239
    "Created: / 23-02-2012 / 13:37:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   240
!
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   241
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   242
newClassUsesPoolButItIsNotASharedPool
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   243
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   244
    ^ClassUsesPoolButItIsNotASharedPool new
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   245
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   246
    "Created: / 23-02-2012 / 13:48:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   247
!
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   248
2911
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   249
newClassUsesPoolInNamespaceButNamespaceIsNotDefined
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   250
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   251
    ^ClassUsesPoolInNamespaceButNamespaceIsNotDefined new
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   252
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   253
    "Created: / 13-09-2012 / 16:40:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   254
!
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   255
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   256
newExtensionMethodListedButDoesNotExist
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   257
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   258
    ^ExtensionMethodListedButDoesNotExist new
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   259
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   260
    "Created: / 23-02-2012 / 14:26:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   261
!
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   262
3166
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
   263
newExtensionMethodListedButInDifferentPackage
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
   264
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
   265
    ^ExtensionMethodListedButInDifferentPackage new
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
   266
!
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
   267
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   268
newExtensionMethodNotListed
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   269
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   270
    ^ExtensionMethodNotListed new
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   271
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   272
    "Created: / 23-02-2012 / 14:27:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   273
!
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   274
3166
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
   275
newExtensionMethodsClassDoesNotExist
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
   276
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
   277
    ^ExtensionMethodsClassDoesNotExist new
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
   278
!
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
   279
2854
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   280
newMethodCompilabilityIssue
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   281
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   282
    ^MethodCompilabilityIssue new
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   283
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   284
    "Created: / 11-04-2012 / 15:34:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   285
!
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   286
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   287
newMethodInNoPackage
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   288
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   289
    ^MethodInNoPackage new
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   290
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   291
    "Created: / 23-02-2012 / 14:27:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   292
!
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   293
2854
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   294
newMethodSourceCorrupted
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   295
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   296
    ^MethodSourceCorrupted new
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   297
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   298
    "Created: / 11-04-2012 / 12:35:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   299
!
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   300
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   301
newMethodSourceNotAvailable
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   302
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   303
    ^MethodSourceNotAvailable new
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   304
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   305
    "Created: / 11-04-2012 / 12:31:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   306
!
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   307
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   308
newProjectDefinitionDoesNotExist
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   309
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   310
    ^ProjectDefinitionDoesNotExist new
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   311
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   312
    "Created: / 23-02-2012 / 13:08:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   313
! !
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   314
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   315
!ProjectProblem methodsFor:'accessing'!
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   316
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   317
description
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   318
    "Return a (HTML) describing the problem."
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   319
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   320
    ^self subclassResponsibility
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   321
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   322
    "Created: / 23-02-2012 / 13:04:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   323
!
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   324
2854
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   325
descriptionAndFixes
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   326
    "Return a (HTML) describing the problem plus possible fixes."
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   327
3169
3a64a6d2cbb9 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3168
diff changeset
   328
    |descriptionText fixes|
3a64a6d2cbb9 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3168
diff changeset
   329
3a64a6d2cbb9 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3168
diff changeset
   330
    (self alreadyFixed) ifTrue:[^ 'Already fixed.'].
3a64a6d2cbb9 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3168
diff changeset
   331
3a64a6d2cbb9 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3168
diff changeset
   332
    descriptionText := self description.
3a64a6d2cbb9 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3168
diff changeset
   333
3a64a6d2cbb9 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3168
diff changeset
   334
    "/ don't use cached fixes (after a fix, the problem may return an empty fix list)
3a64a6d2cbb9 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3168
diff changeset
   335
    fixes := self fixes.
3a64a6d2cbb9 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3168
diff changeset
   336
    fixes isEmpty ifTrue:[ ^ descriptionText ].            
2854
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   337
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   338
    ^String streamContents:[:html |
3169
3a64a6d2cbb9 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3168
diff changeset
   339
        html nextPutAll: descriptionText.
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   340
3169
3a64a6d2cbb9 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3168
diff changeset
   341
        html nextPutAll: '<br><br>'.
3a64a6d2cbb9 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3168
diff changeset
   342
        fixes size == 1 ifTrue:[
3a64a6d2cbb9 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3168
diff changeset
   343
            html nextPutLine: 'Possible fix:'.
3a64a6d2cbb9 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3168
diff changeset
   344
        ] ifFalse:[
3a64a6d2cbb9 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3168
diff changeset
   345
            html nextPutLine: 'Possible fixes:'.
3a64a6d2cbb9 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3168
diff changeset
   346
        ].
3a64a6d2cbb9 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3168
diff changeset
   347
        html nextPutLine:'<ul>'.
3a64a6d2cbb9 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3168
diff changeset
   348
        fixes withIndexDo:[:fix :index|
3a64a6d2cbb9 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3168
diff changeset
   349
            html
3a64a6d2cbb9 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3168
diff changeset
   350
                nextPutAll:'<li><a action="doit: self application doFix: ';
3a64a6d2cbb9 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3168
diff changeset
   351
                nextPutAll: index printString;
3a64a6d2cbb9 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3168
diff changeset
   352
                nextPutAll:'">';
3a64a6d2cbb9 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3168
diff changeset
   353
                nextPutAll: fix first;
3a64a6d2cbb9 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3168
diff changeset
   354
                nextPutAll:'</a></li>'.
3a64a6d2cbb9 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3168
diff changeset
   355
        ].
3a64a6d2cbb9 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3168
diff changeset
   356
        html nextPutLine:'</ul>'.
2854
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   357
    ].
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   358
2854
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   359
    "Created: / 26-07-2012 / 09:46:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   360
!
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   361
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   362
fixes
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   363
    "Return (possibly empty) list of actions that
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   364
     the user may take to fix/investigate the problem.
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   365
     Returned value should be list of pairs (label, action block).
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   366
     To be overriden in subclasses.
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   367
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   368
     The list should be an array of pairs ( fix label , fix block ).
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   369
     Fix block should return true, if the fix was successful,
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   370
     false otherwise"
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   371
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   372
     ^#()
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   373
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   374
    "Created: / 26-07-2012 / 09:46:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   375
!
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   376
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   377
label
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   378
    "Return the label (possibly instance if a Text) shortly describing the problem"
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   379
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   380
    ^self subclassResponsibility
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   381
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   382
    "Created: / 23-02-2012 / 13:03:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   383
!
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   384
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   385
package
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   386
    ^ package
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   387
!
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   388
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   389
package:aSymbol
2854
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   390
    package := aSymbol asSymbol.
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   391
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   392
    "Modified: / 11-04-2012 / 16:00:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   393
!
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   394
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   395
packageDefinitionClass
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   396
    ^ProjectDefinition definitionClassForPackage: package
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   397
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   398
    "Created: / 23-02-2012 / 13:26:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   399
!
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   400
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   401
severity
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   402
    "Return a severity - one of #error, #warning, #info"
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   403
2911
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   404
    ^#warning "/by default
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   405
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   406
    "Created: / 23-02-2012 / 13:09:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   407
! !
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   408
2854
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   409
!ProjectProblem methodsFor:'fixing'!
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   410
3169
3a64a6d2cbb9 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3168
diff changeset
   411
alreadyFixed
3a64a6d2cbb9 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3168
diff changeset
   412
    ^ false
3a64a6d2cbb9 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3168
diff changeset
   413
!
3a64a6d2cbb9 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3168
diff changeset
   414
2854
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   415
doFix: index
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   416
    self initializeFixes.
3169
3a64a6d2cbb9 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3168
diff changeset
   417
    ^ (fixes at: index) second value
2854
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   418
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   419
    "Created: / 26-07-2012 / 10:07:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   420
! !
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   421
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   422
!ProjectProblem methodsFor:'initialization'!
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   423
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   424
initializeFixes
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   425
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   426
    fixes isNil ifTrue:[
2911
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   427
	fixes := self fixes
2854
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   428
    ].
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   429
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   430
    "/ super initialize.   -- commented since inherited method does nothing
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   431
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   432
    "Created: / 26-07-2012 / 09:54:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   433
! !
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   434
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   435
!ProjectProblem methodsFor:'printing & storing'!
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   436
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   437
displayString
3169
3a64a6d2cbb9 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3168
diff changeset
   438
    |lbl|
3a64a6d2cbb9 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3168
diff changeset
   439
3a64a6d2cbb9 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3168
diff changeset
   440
    lbl := self label.
3225
33d97afaea88 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3217
diff changeset
   441
    self alreadyFixed ifTrue:[^ (lbl string,' (already fixed)') allItalic].
3169
3a64a6d2cbb9 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3168
diff changeset
   442
    ^ lbl
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   443
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   444
    "Created: / 14-02-2012 / 17:02:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   445
!
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   446
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   447
printOn:aStream
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   448
    "append a printed representation if the receiver to the argument, aStream"
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   449
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   450
    super printOn:aStream.
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   451
    aStream nextPut:$(.
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   452
    self severity printOn:aStream.
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   453
    aStream nextPut:$:; space.
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   454
    self label printOn:aStream.
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   455
    aStream nextPut:$).
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   456
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   457
    "Modified: / 23-02-2012 / 16:49:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   458
! !
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   459
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   460
!ProjectProblem methodsFor:'utilities-HTML'!
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   461
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   462
linkToClass: classOrclassName
2854
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   463
    | className |
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   464
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   465
    className := classOrclassName isBehavior
2911
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   466
		    ifTrue: [classOrclassName storeString]
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   467
		    ifFalse:[classOrclassName].
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   468
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   469
    ^'<A INFO="Click to browse class" ACTION="doit: UserPreferences current systemBrowserClass openInClass:%1"><CODE>%1</CODE></A>'
2911
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   470
	bindWith: className
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   471
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   472
    "Created: / 23-02-2012 / 13:44:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   473
!
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   474
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   475
linkToClass: classOrclassName selector: selector
2854
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   476
    ^self linkToClass: classOrclassName selector:  selector omitClassName: false
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   477
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   478
    "Created: / 23-02-2012 / 13:45:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   479
!
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   480
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   481
linkToClass: classOrclassName selector: selector omitClassName: omitClassName
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   482
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   483
    | className |
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   484
    className := classOrclassName isBehavior
2911
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   485
		    ifTrue: [classOrclassName name]
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   486
		    ifFalse:[classOrclassName].
2854
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   487
    ^omitClassName ifTrue:[
2911
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   488
	'<A INFO="Click to browse method" ACTION="doit: UserPreferences current systemBrowserClass openInClass:%1 selector: %2"><CODE>#%3</CODE></A>'
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   489
	    bindWith: className
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   490
		with: selector storeString
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   491
		with: selector
2854
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   492
    ] ifFalse:[
2911
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   493
	'<A INFO="Click to browse method" ACTION="doit: UserPreferences current systemBrowserClass openInClass:%1 selector: %2"><CODE>%1>>%3</CODE></A>'
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   494
	    bindWith: className
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   495
		with: selector storeString
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   496
		with: selector
2854
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   497
    ]
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   498
2854
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   499
    "Created: / 26-07-2012 / 10:26:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   500
! !
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   501
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   502
!ProjectProblem::ClassProblem methodsFor:'accessing'!
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   503
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   504
className
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   505
    ^ className
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   506
!
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   507
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   508
className:something
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   509
    className := something.
2854
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   510
!
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   511
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   512
klass
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   513
    "Return the class which is subject of the problem"
2911
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   514
3143
82a0484299ce class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 2912
diff changeset
   515
"/    | class |
82a0484299ce class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 2912
diff changeset
   516
"/
82a0484299ce class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 2912
diff changeset
   517
"/    (className endsWith: ' class') ifTrue:[
82a0484299ce class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 2912
diff changeset
   518
"/        class := Smalltalk at: (className copyTo: className size - 6) asSymbol.
82a0484299ce class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 2912
diff changeset
   519
"/        class := class theMetaclass.
82a0484299ce class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 2912
diff changeset
   520
"/    ] ifFalse:[
82a0484299ce class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 2912
diff changeset
   521
"/        class := Smalltalk at: className  asSymbol
82a0484299ce class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 2912
diff changeset
   522
"/    ].
82a0484299ce class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 2912
diff changeset
   523
"/    ^class
2854
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   524
3143
82a0484299ce class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 2912
diff changeset
   525
    "/ the above is exactly:
3154
72ca7e81fbbf *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3152
diff changeset
   526
    ^ Smalltalk classNamed:className
2854
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   527
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   528
    "Created: / 26-07-2012 / 10:21:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   529
! !
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   530
3198
74cd57db7717 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3171
diff changeset
   531
!ProjectProblem::ClassProblem methodsFor:'fixing'!
74cd57db7717 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3171
diff changeset
   532
74cd57db7717 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3171
diff changeset
   533
doUpdateAllProjectDefinitions
74cd57db7717 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3171
diff changeset
   534
    "full update the project definition class;
74cd57db7717 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3171
diff changeset
   535
     will do a rescan to add all missing items"
74cd57db7717 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3171
diff changeset
   536
74cd57db7717 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3171
diff changeset
   537
    | def |
74cd57db7717 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3171
diff changeset
   538
74cd57db7717 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3171
diff changeset
   539
    def := self packageDefinitionClass.
74cd57db7717 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3171
diff changeset
   540
    def isNil ifTrue:[ ^ false ].
74cd57db7717 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3171
diff changeset
   541
74cd57db7717 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3171
diff changeset
   542
    def
74cd57db7717 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3171
diff changeset
   543
        updateMethodsCodeUsingCompiler:Compiler 
74cd57db7717 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3171
diff changeset
   544
        ignoreOldDefinition:false.
74cd57db7717 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3171
diff changeset
   545
74cd57db7717 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3171
diff changeset
   546
    UserNotification notify: ('Project definitions updated. Do not forget to check in build support files!!').
74cd57db7717 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3171
diff changeset
   547
    ^true
74cd57db7717 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3171
diff changeset
   548
! !
74cd57db7717 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3171
diff changeset
   549
3160
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
   550
!ProjectProblem::InconsistentProjectDefinition methodsFor:'fixes'!
2911
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   551
3160
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
   552
fixes
2911
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   553
3160
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
   554
    ^Array
3198
74cd57db7717 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3171
diff changeset
   555
        with: (Array with: 'Full update of the project definitions (rescan)' with: [ self doUpdateAllProjectDefinitions ])
2911
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   556
! !
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   557
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   558
!ProjectProblem::ClassListedButDoesNotExist methodsFor:'accessing'!
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   559
3160
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
   560
severity
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
   561
    "Return a severity - one of #error, #warning, #info"
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
   562
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
   563
    ^#error
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
   564
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
   565
    "Created: / 11-04-2012 / 12:48:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
   566
! !
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
   567
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
   568
!ProjectProblem::ClassListedButDoesNotExist methodsFor:'accessing-description'!
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
   569
2911
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   570
description
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   571
    "Return a (HTML) describing the problem."
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   572
    ^
3147
115c192388ea class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3144
diff changeset
   573
'A class (<code>%1</code>) is listed in the project definition but
115c192388ea class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3144
diff changeset
   574
not present in the system.
2911
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   575
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   576
You should either create it or remove it from %2.'
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   577
    bindWith: className with: (self linkToClass: self packageDefinitionClass class selector: #classNamesAndAttributes)
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   578
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   579
    "Modified: / 28-02-2012 / 22:23:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   580
!
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   581
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   582
label
3160
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
   583
    ^'Missing class: ', className allBold
2911
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   584
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   585
    "Modified: / 23-02-2012 / 13:20:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   586
! !
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   587
3160
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
   588
!ProjectProblem::ClassListedMultipleTimes methodsFor:'accessing-description'!
2911
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   589
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   590
description
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   591
    "Return a (HTML) describing the problem."
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   592
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   593
    ^
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   594
'A class %1 is listed more than once in %2.
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   595
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   596
Such package will fail to compile, as linker will complain
3147
115c192388ea class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3144
diff changeset
   597
about multiple definitions of the same symbols. Make sure each
2911
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   598
class is listed only once.
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   599
'
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   600
    bindWith: (self linkToClass: className)
3154
72ca7e81fbbf *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3152
diff changeset
   601
	with: (self linkToClass: self packageDefinitionClass class selector: #extensionMethodNames)
2911
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   602
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   603
    "Modified: / 13-09-2012 / 17:40:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   604
!
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   605
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   606
label
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   607
    "Return the label (possibly instance if a Text) shortly describing the problem"
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   608
3160
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
   609
    ^'Class %1 listed multiple times in project definition "%2"' bindWith: className allBold with:self packageDefinitionClass
2911
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   610
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   611
    "Modified: / 23-02-2012 / 13:34:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   612
! !
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   613
3160
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
   614
!ProjectProblem::ClassNotListed methodsFor:'accessing-description'!
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   615
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   616
description
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   617
    "Return a (HTML) describing the problem."
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   618
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   619
    ^
3147
115c192388ea class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3144
diff changeset
   620
'Class %1 is not listed in project definition (%2).
115c192388ea class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3144
diff changeset
   621
<br>The class won''t be compiled and - if some other class dependents on it - the whole package will fail to compile
2854
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   622
at all.'
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   623
bindWith: (self linkToClass: className)
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   624
    with: (self linkToClass: self packageDefinitionClass class selector: #classNamesAndAttributes omitClassName: true)
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   625
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   626
    "Modified: / 26-07-2012 / 10:27:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   627
!
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   628
3143
82a0484299ce class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 2912
diff changeset
   629
label
82a0484299ce class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 2912
diff changeset
   630
    "Return the label (possibly instance if a Text) shortly describing the problem"
82a0484299ce class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 2912
diff changeset
   631
3160
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
   632
    ^'Class %1 not listed in project definition "%2"' bindWith: className allBold with:self packageDefinitionClass 
3143
82a0484299ce class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 2912
diff changeset
   633
82a0484299ce class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 2912
diff changeset
   634
    "Modified: / 23-02-2012 / 13:55:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
82a0484299ce class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 2912
diff changeset
   635
! !
82a0484299ce class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 2912
diff changeset
   636
82a0484299ce class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 2912
diff changeset
   637
!ProjectProblem::ClassNotListed methodsFor:'fixing'!
82a0484299ce class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 2912
diff changeset
   638
2854
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   639
doIncludeInProject
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   640
    "Include subject class in project definition. Return false if
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   641
     fix fails, true otherwise"
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   642
3160
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
   643
    ^ self doIncludeInProjectAsAutoloaded:false
2854
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   644
!
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   645
2854
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   646
doIncludeInProjectAsAutoloaded
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   647
    "Include subject class in project definition. Return false if
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   648
     fix fails, true otherwise"
3160
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
   649
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
   650
    ^ self doIncludeInProjectAsAutoloaded:true
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
   651
!
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
   652
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
   653
doIncludeInProjectAsAutoloaded:asAutoloaded
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
   654
    "Include subject class in project definition. Return false if
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
   655
     fix fails, true otherwise"
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
   656
2854
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   657
    | def cls |
3160
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
   658
2854
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   659
    def := self packageDefinitionClass.
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   660
    def isNil ifTrue:[ ^ false ].
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   661
    cls := self klass.
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   662
    cls isNil ifTrue:[ ^ false ].
3160
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
   663
    asAutoloaded ifTrue:[
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
   664
        def makeClassesAutoloaded:(Array with: cls) usingCompiler: nil.
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
   665
    ] ifFalse:[
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
   666
        def includeClasses:(Array with: cls) usingCompiler: nil.
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
   667
    ].
3144
896359337971 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3143
diff changeset
   668
    UserNotification notify: ('Class added. Do not forget to check in build support files!!' bindWith: className).
2854
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   669
    ^true
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   670
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   671
    "Created: / 26-07-2012 / 10:41:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   672
!
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   673
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   674
fixes
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   675
2911
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   676
    ^Array
3200
ef12ced16ea9 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3198
diff changeset
   677
        with: (Array with: 'Add class to project' with: [ self doIncludeInProject ])
ef12ced16ea9 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3198
diff changeset
   678
        with: (Array with: 'Add class to project as autoloaded' with: [ self doIncludeInProjectAsAutoloaded ])
3198
74cd57db7717 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3171
diff changeset
   679
        with: (Array with: 'Full update of the project definitions (rescan)' with: [ self doUpdateAllProjectDefinitions ])
2854
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   680
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   681
    "Created: / 26-07-2012 / 10:41:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   682
! !
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   683
2911
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   684
!ProjectProblem::ClassListedBeforeItsPool methodsFor:'accessing'!
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   685
3160
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
   686
poolName
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
   687
    ^ poolName
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
   688
!
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
   689
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
   690
poolName:something
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
   691
    poolName := something.
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
   692
! !
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
   693
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
   694
!ProjectProblem::ClassListedBeforeItsPool methodsFor:'accessing-description'!
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
   695
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   696
description
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   697
    "Return a (HTML) describing the problem."
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   698
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   699
    ^
3154
72ca7e81fbbf *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3152
diff changeset
   700
'Class %2 is listed in project definition (%1) before one of its pools (%3).
72ca7e81fbbf *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3152
diff changeset
   701
<br>Such class will fail to compile (if the package is being stc-compiled)
72ca7e81fbbf *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3152
diff changeset
   702
and load (if the package is being loaded from source).
3147
115c192388ea class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3144
diff changeset
   703
<br>Make sure class (%3) is listed before (%2).
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   704
2911
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   705
'
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   706
bindWith: (self linkToClass: self packageDefinitionClass class selector: #classNamesAndAttributes omitClassName: true)
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   707
    with: (self linkToClass: className)
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   708
    with: (self linkToClass: poolName)
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   709
2912
bae30e419d21 fixes in descriptions
vrany
parents: 2911
diff changeset
   710
    "Modified: / 13-09-2012 / 18:29:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   711
!
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   712
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   713
label
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   714
    "Return the label (possibly instance if a Text) shortly describing the problem"
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   715
3160
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
   716
    ^'Class %1 listed in project definition "%2" before one of its pools' bindWith: className allBold with:self packageDefinitionClass
2911
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   717
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   718
    "Modified: / 13-09-2012 / 17:36:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   719
! !
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   720
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   721
!ProjectProblem::ClassUsesPoolProblem methodsFor:'accessing'!
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   722
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   723
poolName
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   724
    ^ poolName
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   725
!
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   726
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   727
poolName:something
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   728
    poolName := something.
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   729
! !
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   730
3160
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
   731
!ProjectProblem::ClassUsesPoolButItIsNotASharedPool methodsFor:'accessing-description'!
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   732
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   733
description
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   734
    "Return a (HTML) describing the problem."
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   735
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   736
    ^
3147
115c192388ea class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3144
diff changeset
   737
'A class %1 uses pool %2 but it does not exist.
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   738
3154
72ca7e81fbbf *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3152
diff changeset
   739
The pool should be removed from the class definition;
3147
115c192388ea class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3144
diff changeset
   740
otherwise the package won''t compile due to a missing class.'
2911
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   741
    bindWith: (self linkToClass: className)
3154
72ca7e81fbbf *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3152
diff changeset
   742
	with: (self linkToClass: poolName)
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   743
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   744
    "Modified: / 23-02-2012 / 13:48:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   745
!
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   746
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   747
label
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   748
    "Return the label (possibly instance if a Text) shortly describing the problem"
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   749
3160
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
   750
    ^'Used pool %1 is not a SharedPool' bindWith: className allBold
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   751
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   752
    "Modified: / 23-02-2012 / 13:40:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2911
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   753
! !
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   754
3160
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
   755
!ProjectProblem::ClassUsesPoolInNamespaceButNamespaceIsNotDefined methodsFor:'accessing-description'!
2911
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   756
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   757
description
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   758
    "Return a (HTML) describing the problem."
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   759
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   760
    ^
3147
115c192388ea class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3144
diff changeset
   761
'A class %1 uses pool %2 from same namespace as the class,
115c192388ea class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3144
diff changeset
   762
but the namespace is not explicitly named in the shared pools definition.
2911
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   763
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   764
Due to a bug in stc, such code will fail to compile. A pool definition
3147
115c192388ea class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3144
diff changeset
   765
must contain a fully qualified class name including namespace.'
2911
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   766
    bindWith: (self linkToClass: className)
3154
72ca7e81fbbf *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3152
diff changeset
   767
	with: (self linkToClass: poolName)
2911
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   768
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   769
    "Modified: / 13-09-2012 / 16:32:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   770
!
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   771
2911
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   772
label
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   773
    "Return the label (possibly instance if a Text) shortly describing the problem"
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   774
3160
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
   775
    ^ 'Missing namespace prefix in shared pools definition of %1' bindWith: className allBold
2911
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   776
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   777
    "Modified: / 13-09-2012 / 16:28:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   778
! !
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   779
3160
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
   780
!ProjectProblem::ClassUsesPoolButItDoesNotExist methodsFor:'accessing-description'!
2911
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   781
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   782
description
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   783
    "Return a (HTML) describing the problem."
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   784
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   785
    ^
3147
115c192388ea class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3144
diff changeset
   786
'A class %1 uses pool %2 but it does not exist.
2911
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   787
3154
72ca7e81fbbf *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3152
diff changeset
   788
The pool should be removed from the class definition;
3147
115c192388ea class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3144
diff changeset
   789
otherwise the package won''t compile due to a missing class.'
2911
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   790
    bindWith: (self linkToClass: className) with: poolName
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   791
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   792
    "Modified: / 13-09-2012 / 16:24:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   793
!
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   794
2911
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   795
label
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   796
    "Return the label (possibly instance if a Text) shortly describing the problem"
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   797
3160
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
   798
    ^'Missing pool: ' , className allBold
2911
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   799
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   800
    "Modified: / 23-02-2012 / 13:34:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   801
! !
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   802
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   803
!ProjectProblem::MethodProblem methodsFor:'accessing'!
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   804
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   805
className:something selector: sel
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   806
    className := something.
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   807
    selector :=  sel
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   808
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   809
    "Created: / 23-02-2012 / 14:17:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   810
!
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   811
2854
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   812
method
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   813
    | class |
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   814
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   815
    class := self klass.
3166
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
   816
    class isNil ifTrue:[ ^ nil ].
2854
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   817
    ^class compiledMethodAt: selector
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   818
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   819
    "Created: / 26-07-2012 / 10:09:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   820
!
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   821
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   822
method: method
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   823
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   824
    self className: method mclass name selector: method selector
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   825
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   826
    "Created: / 11-04-2012 / 12:32:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   827
!
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   828
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   829
selector
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   830
    ^ selector
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   831
!
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   832
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   833
selector:something
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   834
    selector := something.
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   835
! !
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   836
3204
96c6fe5845bf class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3200
diff changeset
   837
!ProjectProblem::MethodProblem methodsFor:'fixes'!
96c6fe5845bf class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3200
diff changeset
   838
96c6fe5845bf class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3200
diff changeset
   839
doRemoveMethodFromExtensionsList
96c6fe5845bf class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3200
diff changeset
   840
    "update the extension method info in the project definition.
96c6fe5845bf class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3200
diff changeset
   841
     Return false if fix fails, true otherwise"
96c6fe5845bf class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3200
diff changeset
   842
96c6fe5845bf class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3200
diff changeset
   843
    | def mthd |
96c6fe5845bf class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3200
diff changeset
   844
96c6fe5845bf class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3200
diff changeset
   845
    def := self packageDefinitionClass.
96c6fe5845bf class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3200
diff changeset
   846
    def isNil ifTrue:[ ^ false ].
96c6fe5845bf class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3200
diff changeset
   847
    mthd := self method.
96c6fe5845bf class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3200
diff changeset
   848
    mthd isNil ifTrue:[ ^ false ].
96c6fe5845bf class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3200
diff changeset
   849
96c6fe5845bf class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3200
diff changeset
   850
    def excludeMethods:(Array with:mthd) usingCompiler:nil.
96c6fe5845bf class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3200
diff changeset
   851
    UserNotification notify: ('ProjectDefinition updated. Do not forget to check it in!!').
96c6fe5845bf class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3200
diff changeset
   852
    ^true
96c6fe5845bf class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3200
diff changeset
   853
!
96c6fe5845bf class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3200
diff changeset
   854
96c6fe5845bf class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3200
diff changeset
   855
doRemoveNamedMethodFromExtensionsList
96c6fe5845bf class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3200
diff changeset
   856
    "update the extension method info in the project definition.
96c6fe5845bf class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3200
diff changeset
   857
     Return false if fix fails, true otherwise"
96c6fe5845bf class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3200
diff changeset
   858
96c6fe5845bf class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3200
diff changeset
   859
    | def |
96c6fe5845bf class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3200
diff changeset
   860
96c6fe5845bf class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3200
diff changeset
   861
    def := self packageDefinitionClass.
96c6fe5845bf class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3200
diff changeset
   862
    def isNil ifTrue:[ ^ false ].
96c6fe5845bf class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3200
diff changeset
   863
96c6fe5845bf class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3200
diff changeset
   864
    def excludeMethodFor:selector inClassNamed:className usingCompiler:nil.    
96c6fe5845bf class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3200
diff changeset
   865
    UserNotification notify: ('ProjectDefinition updated. Do not forget to check it in!!').
96c6fe5845bf class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3200
diff changeset
   866
    ^true
96c6fe5845bf class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3200
diff changeset
   867
! !
96c6fe5845bf class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3200
diff changeset
   868
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   869
!ProjectProblem::MethodProblem methodsFor:'utilities-HTML'!
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   870
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   871
linkToMethod
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   872
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   873
    ^self linkToClass: className selector: selector
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   874
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   875
    "Created: / 23-02-2012 / 14:21:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   876
! !
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   877
3166
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
   878
!ProjectProblem::ExtensionMethodListedButInDifferentPackage methodsFor:'accessing-description'!
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
   879
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
   880
description
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
   881
    "Return a (HTML) describing the problem."
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
   882
3168
9e97b3ddbc71 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3166
diff changeset
   883
    |mthd text|
3166
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
   884
3168
9e97b3ddbc71 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3166
diff changeset
   885
    (mthd := self method) isNil ifTrue:[ ^ 'Method removed.' ].
3169
3a64a6d2cbb9 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3168
diff changeset
   886
3168
9e97b3ddbc71 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3166
diff changeset
   887
    mthd package = mthd mclass package ifTrue:[
9e97b3ddbc71 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3166
diff changeset
   888
        text :=
9e97b3ddbc71 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3166
diff changeset
   889
'Method %1 listed in %3 but is in its classes package (%4).
9e97b3ddbc71 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3166
diff changeset
   890
Maybe the method used to be an extension but is now a proper part of the class.
9e97b3ddbc71 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3166
diff changeset
   891
3169
3a64a6d2cbb9 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3168
diff changeset
   892
It is recommended to remove the method name from the extensions list (%3).'
3168
9e97b3ddbc71 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3166
diff changeset
   893
    ] ifFalse:[
9e97b3ddbc71 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3166
diff changeset
   894
        text :=
9e97b3ddbc71 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3166
diff changeset
   895
'Method %1 listed in %3 but is in a different package (%4).
3166
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
   896
The package will compile but may fail to (auto)load from sources.
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
   897
3169
3a64a6d2cbb9 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3168
diff changeset
   898
It is recommended to either remove the method name from the extensions list (%3) 
3166
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
   899
or move the method it to the correct package.'
3168
9e97b3ddbc71 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3166
diff changeset
   900
    ].
9e97b3ddbc71 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3166
diff changeset
   901
    ^ text
9e97b3ddbc71 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3166
diff changeset
   902
        bindWith: (self linkToClass: (Smalltalk classNamed: className) selector: selector) "className"        
9e97b3ddbc71 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3166
diff changeset
   903
            with: selector
9e97b3ddbc71 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3166
diff changeset
   904
            with: (self linkToClass: self packageDefinitionClass class selector: #extensionMethodNames)
9e97b3ddbc71 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3166
diff changeset
   905
            with: mthd package
3166
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
   906
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
   907
    "Modified: / 23-02-2012 / 15:18:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
   908
!
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
   909
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
   910
label
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
   911
    "Return the label (possibly instance if a Text) shortly describing the problem"
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
   912
3168
9e97b3ddbc71 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3166
diff changeset
   913
    |mthd text|
9e97b3ddbc71 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3166
diff changeset
   914
9e97b3ddbc71 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3166
diff changeset
   915
    text := 'Extension method %1 >> %2 listed but in different package'.
9e97b3ddbc71 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3166
diff changeset
   916
9e97b3ddbc71 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3166
diff changeset
   917
    (mthd := self method) notNil ifTrue:[
9e97b3ddbc71 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3166
diff changeset
   918
        mthd package = mthd mclass package ifTrue:[
9e97b3ddbc71 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3166
diff changeset
   919
            text := 'Extension method %1 >> %2 listed but in classes package' 
9e97b3ddbc71 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3166
diff changeset
   920
        ]
9e97b3ddbc71 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3166
diff changeset
   921
    ].
9e97b3ddbc71 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3166
diff changeset
   922
    ^ text
3166
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
   923
        bindWith: className allBold 
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
   924
        with: selector allBold
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
   925
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
   926
    "Modified: / 23-02-2012 / 14:22:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
   927
! !
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
   928
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
   929
!ProjectProblem::ExtensionMethodListedButInDifferentPackage methodsFor:'fixes'!
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
   930
3169
3a64a6d2cbb9 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3168
diff changeset
   931
alreadyFixed
3a64a6d2cbb9 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3168
diff changeset
   932
    |mthd|
3a64a6d2cbb9 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3168
diff changeset
   933
3a64a6d2cbb9 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3168
diff changeset
   934
    (self packageDefinitionClass extensionMethods includes:self method) ifFalse:[^ true].
3a64a6d2cbb9 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3168
diff changeset
   935
    ^ ((mthd := self method) notNil 
3a64a6d2cbb9 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3168
diff changeset
   936
        and:[ mthd package = package ])
3a64a6d2cbb9 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3168
diff changeset
   937
!
3a64a6d2cbb9 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3168
diff changeset
   938
3166
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
   939
doMoveMethodToProject
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
   940
    self method package:package
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
   941
!
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
   942
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
   943
fixes
3168
9e97b3ddbc71 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3166
diff changeset
   944
    |mthd|
9e97b3ddbc71 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3166
diff changeset
   945
9e97b3ddbc71 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3166
diff changeset
   946
    (mthd := self method) isNil ifTrue:[ ^ #() ].
3166
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
   947
3169
3a64a6d2cbb9 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3168
diff changeset
   948
"/    mthd package = mthd mclass package ifTrue:[
3a64a6d2cbb9 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3168
diff changeset
   949
"/        ^Array
3a64a6d2cbb9 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3168
diff changeset
   950
"/            with: (Array with: 'Remove from the extensionMethodNames list' with: [ self doRemoveMethodFromExtensionsList ])    
3a64a6d2cbb9 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3168
diff changeset
   951
"/    ].
3a64a6d2cbb9 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3168
diff changeset
   952
"/
3166
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
   953
    ^Array
3169
3a64a6d2cbb9 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3168
diff changeset
   954
        with: (Array with: 'Remove from the extensionMethodNames list' with: [ self doRemoveMethodFromExtensionsList ])    
3166
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
   955
        with: (Array with: 'Move method into package' with: [ self doMoveMethodToProject ])
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
   956
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
   957
    "Created: / 26-07-2012 / 10:41:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
   958
! !
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
   959
3160
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
   960
!ProjectProblem::ExtensionMethodNotListed methodsFor:'accessing-description'!
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   961
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   962
description
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   963
    "Return a (HTML) describing the problem."
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   964
3154
72ca7e81fbbf *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3152
diff changeset
   965
^'Method %1 is not listed in %2.
3143
82a0484299ce class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 2912
diff changeset
   966
<br>It should either be listed in the project definition, or moved to the owning classes package'
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   967
    bindWith: (self linkToMethod)
3169
3a64a6d2cbb9 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3168
diff changeset
   968
        with: (self linkToClass: self packageDefinitionClass class selector: #extensionMethodNames)
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   969
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   970
    "Modified: / 23-02-2012 / 14:34:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   971
!
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   972
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   973
label
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   974
    "Return the label (possibly instance if a Text) shortly describing the problem"
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   975
3160
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
   976
    ^'Extension method %1 >> %2 not listed in project definition "%3"' bindWith: className allBold with: selector allBold with:self packageDefinitionClass
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   977
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   978
    "Modified: / 23-02-2012 / 14:22:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   979
! !
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   980
3143
82a0484299ce class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 2912
diff changeset
   981
!ProjectProblem::ExtensionMethodNotListed methodsFor:'fixing'!
82a0484299ce class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 2912
diff changeset
   982
3169
3a64a6d2cbb9 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3168
diff changeset
   983
alreadyFixed
3a64a6d2cbb9 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3168
diff changeset
   984
    ^ (self packageDefinitionClass extensionMethods includes:self method)        
3a64a6d2cbb9 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3168
diff changeset
   985
!
3a64a6d2cbb9 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3168
diff changeset
   986
3143
82a0484299ce class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 2912
diff changeset
   987
doMoveToClassesPackage
3154
72ca7e81fbbf *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3152
diff changeset
   988
    "move the extension method to the owning classes package.
3143
82a0484299ce class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 2912
diff changeset
   989
     Return false if fix fails, true otherwise"
82a0484299ce class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 2912
diff changeset
   990
82a0484299ce class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 2912
diff changeset
   991
    | cls mthd |
82a0484299ce class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 2912
diff changeset
   992
82a0484299ce class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 2912
diff changeset
   993
    cls := self klass.
82a0484299ce class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 2912
diff changeset
   994
    cls isNil ifTrue:[ ^ false ].
82a0484299ce class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 2912
diff changeset
   995
    mthd := cls compiledMethodAt:selector.
82a0484299ce class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 2912
diff changeset
   996
    mthd package:(cls package).
82a0484299ce class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 2912
diff changeset
   997
    UserNotification notify: ('Do not forget to check in the method''s package (or class) ("%1")!!' bindWith:cls package).
82a0484299ce class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 2912
diff changeset
   998
    ^true
82a0484299ce class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 2912
diff changeset
   999
!
82a0484299ce class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 2912
diff changeset
  1000
82a0484299ce class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 2912
diff changeset
  1001
doUpdateExtensionMethodsInProject
3154
72ca7e81fbbf *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3152
diff changeset
  1002
    "update the extension method info in the project definition.
3143
82a0484299ce class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 2912
diff changeset
  1003
     Return false if fix fails, true otherwise"
82a0484299ce class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 2912
diff changeset
  1004
3169
3a64a6d2cbb9 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3168
diff changeset
  1005
    | def mthd |
3143
82a0484299ce class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 2912
diff changeset
  1006
82a0484299ce class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 2912
diff changeset
  1007
    def := self packageDefinitionClass.
82a0484299ce class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 2912
diff changeset
  1008
    def isNil ifTrue:[ ^ false ].
3169
3a64a6d2cbb9 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3168
diff changeset
  1009
    mthd := self method.
3a64a6d2cbb9 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3168
diff changeset
  1010
    mthd isNil ifTrue:[ ^ false ].
3a64a6d2cbb9 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3168
diff changeset
  1011
3a64a6d2cbb9 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3168
diff changeset
  1012
    def includeMethods:(Array with:mthd) usingCompiler:nil.
3143
82a0484299ce class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 2912
diff changeset
  1013
    UserNotification notify: ('ProjectDefinition updated. Do not forget to check it in!!').
82a0484299ce class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 2912
diff changeset
  1014
    ^true
82a0484299ce class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 2912
diff changeset
  1015
!
82a0484299ce class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 2912
diff changeset
  1016
82a0484299ce class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 2912
diff changeset
  1017
fixes
82a0484299ce class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 2912
diff changeset
  1018
    ^Array
3200
ef12ced16ea9 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3198
diff changeset
  1019
        with: (Array with: 'Add method to project' with: [ self doUpdateExtensionMethodsInProject ])
3169
3a64a6d2cbb9 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3168
diff changeset
  1020
        with: (Array with: 'Move to classes package' with: [ self doMoveToClassesPackage ])
3198
74cd57db7717 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3171
diff changeset
  1021
        with: (Array with: 'Full update of the project definitions (rescan)' with: [ self doUpdateAllProjectDefinitions ])
3143
82a0484299ce class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 2912
diff changeset
  1022
! !
82a0484299ce class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 2912
diff changeset
  1023
3166
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
  1024
!ProjectProblem::ExtensionMethodsClassDoesNotExist methodsFor:'accessing-description'!
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
  1025
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
  1026
description
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
  1027
    "Return a (HTML) describing the problem."
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
  1028
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
  1029
^'Method %1 >> %2 listed in %3 but class does not exist.
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
  1030
The package will compile but may fail to (auto)load from sources.
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
  1031
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
  1032
It is recommended to remove the method from the list (%3).'
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
  1033
    bindWith: className 
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
  1034
        with: selector
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
  1035
        with: (self linkToClass: self packageDefinitionClass class selector: #extensionMethodNames)
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
  1036
!
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
  1037
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
  1038
label
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
  1039
    "Return the label (possibly instance if a Text) shortly describing the problem"
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
  1040
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
  1041
    ^'Extension method %1 >> %2 listed but class not existing' 
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
  1042
        bindWith: className allBold 
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
  1043
        with: selector allBold
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
  1044
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
  1045
    "Modified: / 23-02-2012 / 14:22:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
  1046
! !
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
  1047
3204
96c6fe5845bf class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3200
diff changeset
  1048
!ProjectProblem::ExtensionMethodsClassDoesNotExist methodsFor:'fixes'!
96c6fe5845bf class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3200
diff changeset
  1049
96c6fe5845bf class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3200
diff changeset
  1050
fixes
96c6fe5845bf class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3200
diff changeset
  1051
    ^Array
96c6fe5845bf class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3200
diff changeset
  1052
        with: (Array with: 'Remove from the extensionMethodNames list' with: [ self doRemoveNamedMethodFromExtensionsList ])    
96c6fe5845bf class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3200
diff changeset
  1053
96c6fe5845bf class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3200
diff changeset
  1054
    "Created: / 26-07-2012 / 10:41:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
96c6fe5845bf class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3200
diff changeset
  1055
! !
96c6fe5845bf class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3200
diff changeset
  1056
3160
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1057
!ProjectProblem::ClassListedBeforeItsSuperclass methodsFor:'accessing'!
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1058
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1059
superClassName
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1060
    ^ superClassName
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1061
!
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1062
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1063
superClassName:something
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1064
    superClassName := something.
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1065
! !
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1066
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1067
!ProjectProblem::ClassListedBeforeItsSuperclass methodsFor:'accessing-description'!
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1068
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1069
description
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1070
    "Return a (HTML) describing the problem."
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1071
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1072
    ^
3166
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
  1073
'Class %2 is listed in project definition (%1) before its superclass %3.
3170
65d0cea4b658 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3169
diff changeset
  1074
<br>The package can be stc-compiled 
65d0cea4b658 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3169
diff changeset
  1075
(because the generated makefile compiles in correct order)
3171
cf50d68535e0 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3170
diff changeset
  1076
but the class may fail to load from source.
3160
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1077
<br>Make sure %3 is listed before %2.
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1078
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1079
'
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1080
bindWith: (self linkToClass: self packageDefinitionClass class selector: #classNamesAndAttributes omitClassName: true)
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1081
    with: (self linkToClass: className)
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1082
    with: (self linkToClass: superClassName)
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1083
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1084
    "Modified: / 13-09-2012 / 18:29:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1085
!
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1086
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1087
label
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1088
    "Return the label (possibly instance if a Text) shortly describing the problem"
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1089
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1090
    ^'Class %1 listed in project definition "%2" before its superclass' bindWith: className allBold with:self packageDefinitionClass 
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1091
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1092
    "Modified: / 13-09-2012 / 17:36:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1093
! !
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1094
2854
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1095
!ProjectProblem::MethodCompilabilityIssue methodsFor:'accessing'!
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1096
3160
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1097
severity
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1098
    ^ errors notNil ifTrue:[#error] ifFalse:[#warning]
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1099
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1100
    "Modified: / 11-04-2012 / 15:40:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1101
! !
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1102
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1103
!ProjectProblem::MethodCompilabilityIssue methodsFor:'accessing-description'!
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1104
2854
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1105
description
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1106
    "Return a (HTML) describing the problem."
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1107
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1108
    | issuePrinter |
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1109
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1110
    issuePrinter := [:stream :issue|
3154
72ca7e81fbbf *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3152
diff changeset
  1111
	stream nextPutAll:'<li>'.
72ca7e81fbbf *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3152
diff changeset
  1112
	issue descriptionOn: stream.
72ca7e81fbbf *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3152
diff changeset
  1113
	stream nextPutAll:'</li>'.
72ca7e81fbbf *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3152
diff changeset
  1114
	stream cr.
2854
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1115
    ].
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1116
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1117
    ^ String streamContents:[:s|
3154
72ca7e81fbbf *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3152
diff changeset
  1118
	s
72ca7e81fbbf *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3152
diff changeset
  1119
	    nextPutAll: 'The following problems have been found in ';
72ca7e81fbbf *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3152
diff changeset
  1120
	    nextPutAll: self linkToMethod;
72ca7e81fbbf *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3152
diff changeset
  1121
	    nextPutAll: ':'; cr;
72ca7e81fbbf *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3152
diff changeset
  1122
	    nextPutAll: '<ul>'.
72ca7e81fbbf *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3152
diff changeset
  1123
	errors ? #() do:[:issue|issuePrinter value: s value: issue].
72ca7e81fbbf *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3152
diff changeset
  1124
	warnings ? #() do:[:issue|issuePrinter value: s value: issue].
72ca7e81fbbf *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3152
diff changeset
  1125
	s
72ca7e81fbbf *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3152
diff changeset
  1126
	    nextPutAll: '</ul>'.
2854
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1127
3154
72ca7e81fbbf *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3152
diff changeset
  1128
	errors notNil ifTrue:[
72ca7e81fbbf *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3152
diff changeset
  1129
	    s nextPutAll:
3147
115c192388ea class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3144
diff changeset
  1130
'STC won''t compile such code, therefore you must fix it before committing'
3154
72ca7e81fbbf *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3152
diff changeset
  1131
	].
2854
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1132
    ]
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1133
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1134
    "Modified: / 11-04-2012 / 15:51:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1135
!
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1136
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1137
label
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1138
    "Return the label (possibly instance if a Text) shortly describing the problem"
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1139
3160
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1140
    ^ (errors notNil 
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1141
        ifTrue:[ 'Uncompilable method %1 >> %2' ]
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1142
        ifFalse:[ 'Warnings for method %1 >> %2' ]) bindWith: className allBold with: selector allBold
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1143
2854
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1144
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1145
    "Modified: / 11-04-2012 / 16:04:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1146
! !
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1147
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1148
!ProjectProblem::MethodCompilabilityIssue methodsFor:'error handling'!
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1149
3162
cca29c5533fd class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3160
diff changeset
  1150
addError:aMessage from: position to: endPos
cca29c5533fd class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3160
diff changeset
  1151
    errors isNil ifTrue:[ errors := OrderedCollection new].
cca29c5533fd class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3160
diff changeset
  1152
    errors add: (Error message: aMessage from: position to: endPos)
cca29c5533fd class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3160
diff changeset
  1153
!
cca29c5533fd class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3160
diff changeset
  1154
cca29c5533fd class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3160
diff changeset
  1155
addWarning:aMessage from: position to: endPos
cca29c5533fd class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3160
diff changeset
  1156
    warnings isNil ifTrue:[ warnings := OrderedCollection new].
cca29c5533fd class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3160
diff changeset
  1157
    warnings add: (Warning message: aMessage from: position to: endPos)
cca29c5533fd class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3160
diff changeset
  1158
!
cca29c5533fd class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3160
diff changeset
  1159
2854
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1160
correctableError:aMessage position:position to:endPos from:aCompiler
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1161
    "error notification during fileIn.
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1162
     This is sent by the compiler/evaluator if it detects errors."
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1163
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1164
    self error:aMessage position:position to:endPos from:aCompiler.
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1165
    ^ false. "/ no correction
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1166
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1167
    "Created: / 30-07-1999 / 18:11:15 / cg"
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1168
    "Modified: / 02-11-2010 / 12:58:54 / cg"
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1169
!
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1170
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1171
correctableSelectorWarning:aMessage position:position to:endPos from:aCompiler
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1172
    "warning notification during fileIn.
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1173
     This is sent by the compiler/evaluator if it detects errors."
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1174
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1175
    self warning:aMessage position:position to:endPos from:aCompiler.
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1176
    ^ false. "/ no correction
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1177
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1178
    "Modified: / 02-11-2010 / 12:59:04 / cg"
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1179
!
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1180
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1181
correctableWarning:aMessage position:position to:endPos from:aCompiler
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1182
    "error notification during fileIn.
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1183
     This is sent by the compiler/evaluator if it detects errors."
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1184
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1185
    self warning:aMessage position:position to:endPos from:aCompiler.
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1186
    ^ false
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1187
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1188
    "Created: / 02-11-2010 / 13:29:40 / cg"
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1189
!
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1190
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1191
error:aMessage position:position to:endPos from:aCompiler
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1192
    "error notification during fileIn.
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1193
     This is sent by the compiler/evaluator if it detects errors."
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1194
2911
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
  1195
    "Argh!!!!!!!! If its an ignorable error, why signal error!!!!!! Bad design,
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
  1196
    even worse workaround. Sigh."
3162
cca29c5533fd class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3160
diff changeset
  1197
    (thisContext findNextContextWithSelector:#ignorableParseError: or:nil or:nil) notNil
cca29c5533fd class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3160
diff changeset
  1198
    "/ thisContext sender sender sender sender selector == #ignorableParseError:
cca29c5533fd class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3160
diff changeset
  1199
        ifTrue:[ ^ self ].
2911
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
  1200
3162
cca29c5533fd class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3160
diff changeset
  1201
    self addError:aMessage from: position to: endPos
2854
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1202
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1203
    "Created: / 30-07-1999 / 18:10:30 / cg"
2911
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
  1204
    "Modified: / 10-09-2012 / 11:32:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2854
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1205
!
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1206
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1207
unusedVariableWarning:aMessage position:position to:endPos from:aCompiler
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1208
    "warning notification during fileIn.
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1209
     This is sent by the compiler/evaluator if it detects errors."
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1210
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1211
    ^ self warning:aMessage position:position to:endPos from:aCompiler
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1212
!
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1213
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1214
warning:aMessage position:position to:endPos from:aCompiler
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1215
    "warning notification during fileIn - ignore it.
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1216
     This is sent by the compiler/evaluator if it detects errors."
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1217
2911
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
  1218
"/    No, do not show warnings now, too many false positives
2854
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1219
"/    warnings isNil ifTrue:[ warnings := OrderedCollection new].
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1220
"/    warnings   add: (Warning message: aMessage from: position to: endPos).
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1221
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1222
    "Created: / 30-07-1999 / 18:11:05 / cg"
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1223
    "Modified (comment): / 12-04-2012 / 18:19:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1224
! !
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1225
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1226
!ProjectProblem::MethodCompilabilityIssue methodsFor:'queries'!
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1227
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1228
hasIssue
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1229
    ^ (errors ? warnings) notNil
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1230
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1231
    "Created: / 11-04-2012 / 15:43:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1232
! !
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1233
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1234
!ProjectProblem::MethodCompilabilityIssue::Error class methodsFor:'instance creation'!
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1235
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1236
message: message from: startPosition to: endPosition
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1237
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1238
    ^self new
2911
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
  1239
	message: message;
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
  1240
	startPosition: startPosition;
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
  1241
	endPosition: endPosition;
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
  1242
	yourself.
2854
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1243
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1244
    "Created: / 11-04-2012 / 15:38:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1245
! !
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1246
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1247
!ProjectProblem::MethodCompilabilityIssue::Error methodsFor:'accessing'!
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1248
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1249
endPosition
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1250
    ^ endPosition
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1251
!
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1252
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1253
endPosition:something
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1254
    endPosition := something.
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1255
!
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1256
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1257
message
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1258
    ^ message
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1259
!
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1260
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1261
message:something
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1262
    message := something.
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1263
!
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1264
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1265
startPosition
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1266
    ^ startPosition
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1267
!
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1268
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1269
startPosition:something
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1270
    startPosition := something.
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1271
! !
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1272
3160
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1273
!ProjectProblem::MethodCompilabilityIssue::Error methodsFor:'accessing-description'!
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1274
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1275
descriptionOn: stream
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1276
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1277
    stream nextPutAll: message; space; nextPutAll:'(error)'
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1278
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1279
    "Created: / 11-04-2012 / 15:52:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1280
! !
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1281
2854
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1282
!ProjectProblem::MethodCompilabilityIssue::Warning class methodsFor:'instance creation'!
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1283
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1284
message: message from: startPosition to: endPosition
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1285
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1286
    ^self new
2911
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
  1287
	message: message;
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
  1288
	startPosition: startPosition;
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
  1289
	endPosition: endPosition;
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
  1290
	yourself.
2854
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1291
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1292
    "Created: / 11-04-2012 / 15:38:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1293
! !
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1294
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1295
!ProjectProblem::MethodCompilabilityIssue::Warning methodsFor:'accessing'!
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1296
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1297
endPosition
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1298
    ^ endPosition
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1299
!
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1300
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1301
endPosition:something
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1302
    endPosition := something.
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1303
!
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1304
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1305
message
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1306
    ^ message
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1307
!
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1308
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1309
message:something
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1310
    message := something.
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1311
!
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1312
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1313
startPosition
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1314
    ^ startPosition
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1315
!
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1316
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1317
startPosition:something
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1318
    startPosition := something.
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1319
! !
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1320
3160
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1321
!ProjectProblem::MethodCompilabilityIssue::Warning methodsFor:'accessing-description'!
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
  1322
3160
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1323
descriptionOn: stream
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
  1324
3160
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1325
    stream nextPutAll: message; space"/; nextPutAll:'(warning)'
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
  1326
3160
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1327
    "Created: / 11-04-2012 / 15:52:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1328
! !
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1329
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1330
!ProjectProblem::MethodInNoPackage methodsFor:'accessing'!
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
  1331
2854
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1332
fixes
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1333
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1334
    ^Array with:
2911
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
  1335
	(Array  with: 'Move method to package ', package
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
  1336
		with: [
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
  1337
		    | m |
2854
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1338
2911
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
  1339
		    m := self method.
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
  1340
		    m notNil ifTrue:[
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
  1341
			m package: package.
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
  1342
			true
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
  1343
		    ] ifFalse:[
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
  1344
			false
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
  1345
		    ]
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
  1346
		])
2854
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1347
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1348
    "Created: / 26-07-2012 / 09:53:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3160
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1349
! !
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1350
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1351
!ProjectProblem::MethodInNoPackage methodsFor:'accessing-description'!
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1352
3217
bdb39c2074e7 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3204
diff changeset
  1353
alreadyFixed
bdb39c2074e7 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3204
diff changeset
  1354
    ^ (self method package ~= PackageId noProjectID)        
bdb39c2074e7 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3204
diff changeset
  1355
!
bdb39c2074e7 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3204
diff changeset
  1356
3160
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1357
description
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1358
    "Return a (HTML) describing the problem."
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1359
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1360
    ^
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1361
'Method %1 does not belong to any package. Such methods
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1362
are not committed and will be lost when you restart/recompile.
3342
c8ff65be73c0 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3225
diff changeset
  1363
Especially, it will not be included when you generate a compiled class library.
c8ff65be73c0 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3225
diff changeset
  1364
However, it will be kept in the changes file, so it is not completely lost.
c8ff65be73c0 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3225
diff changeset
  1365
The method should be moved to some package, %2 maybe?'
3160
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1366
    bindWith: (self linkToMethod)
3342
c8ff65be73c0 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3225
diff changeset
  1367
        with: package
3160
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1368
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1369
    "Modified: / 23-02-2012 / 14:21:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2854
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1370
!
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1371
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
  1372
label
24f170d78e3b initial checkin
vrany
parents:
diff changeset
  1373
    "Return the label (possibly instance if a Text) shortly describing the problem"
24f170d78e3b initial checkin
vrany
parents:
diff changeset
  1374
3160
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1375
    ^'Unpackaged method %1 >> %2' bindWith: className allBold with: selector allBold
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
  1376
24f170d78e3b initial checkin
vrany
parents:
diff changeset
  1377
    "Modified: / 23-02-2012 / 14:19:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
24f170d78e3b initial checkin
vrany
parents:
diff changeset
  1378
! !
24f170d78e3b initial checkin
vrany
parents:
diff changeset
  1379
3160
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1380
!ProjectProblem::ExtensionMethodListedButDoesNotExist methodsFor:'accessing-description'!
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
  1381
24f170d78e3b initial checkin
vrany
parents:
diff changeset
  1382
description
24f170d78e3b initial checkin
vrany
parents:
diff changeset
  1383
    "Return a (HTML) describing the problem."
24f170d78e3b initial checkin
vrany
parents:
diff changeset
  1384
3166
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
  1385
^'Method %1 listed in %3 but does not exist.
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
  1386
The package will compile but may fail to (auto)load from sources.
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
  1387
3166
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
  1388
It is recommended to remove the method from the list (%3).'
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
  1389
    bindWith: (self linkToClass: (Smalltalk classNamed: className) selector: selector) "className"        
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
  1390
        with: selector
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
  1391
        with: (self linkToClass: self packageDefinitionClass class selector: #extensionMethodNames)
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
  1392
24f170d78e3b initial checkin
vrany
parents:
diff changeset
  1393
    "Modified: / 23-02-2012 / 15:18:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
24f170d78e3b initial checkin
vrany
parents:
diff changeset
  1394
!
24f170d78e3b initial checkin
vrany
parents:
diff changeset
  1395
24f170d78e3b initial checkin
vrany
parents:
diff changeset
  1396
label
24f170d78e3b initial checkin
vrany
parents:
diff changeset
  1397
    "Return the label (possibly instance if a Text) shortly describing the problem"
24f170d78e3b initial checkin
vrany
parents:
diff changeset
  1398
3160
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1399
    ^'Extension method %1 >> %2 listed but not existing' bindWith: className allBold with: selector allBold
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
  1400
24f170d78e3b initial checkin
vrany
parents:
diff changeset
  1401
    "Modified: / 23-02-2012 / 14:22:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
24f170d78e3b initial checkin
vrany
parents:
diff changeset
  1402
! !
24f170d78e3b initial checkin
vrany
parents:
diff changeset
  1403
3204
96c6fe5845bf class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3200
diff changeset
  1404
!ProjectProblem::ExtensionMethodListedButDoesNotExist methodsFor:'fixes'!
96c6fe5845bf class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3200
diff changeset
  1405
96c6fe5845bf class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3200
diff changeset
  1406
fixes
96c6fe5845bf class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3200
diff changeset
  1407
    ^Array
96c6fe5845bf class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3200
diff changeset
  1408
        with: (Array with: 'Remove from the extensionMethodNames list' with: [ self doRemoveNamedMethodFromExtensionsList ])    
96c6fe5845bf class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3200
diff changeset
  1409
96c6fe5845bf class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3200
diff changeset
  1410
    "Created: / 26-07-2012 / 10:41:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
96c6fe5845bf class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3200
diff changeset
  1411
! !
96c6fe5845bf class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3200
diff changeset
  1412
2854
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1413
!ProjectProblem::MethodSourceCorrupted methodsFor:'accessing'!
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1414
3160
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1415
severity
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1416
    "Return a severity - one of #error, #warning, #info"
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1417
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1418
    ^#error
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1419
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1420
    "Created: / 11-04-2012 / 12:47:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1421
! !
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1422
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1423
!ProjectProblem::MethodSourceCorrupted methodsFor:'accessing-description'!
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1424
2854
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1425
description
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1426
    "Return a (HTML) describing the problem."
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1427
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1428
    ^
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1429
'Source code for %1 is <b>corrupted</b>. This is likely because
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1430
the binary class version does not match the source file. This may happen,
3147
115c192388ea class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3144
diff changeset
  1431
for instance, if you compile a class library and then edit the .st file,
115c192388ea class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3144
diff changeset
  1432
or you have checked out from the SCM over the existing source code.
115c192388ea class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3144
diff changeset
  1433
<BR>Be very careful with checkin or fileOut, and check for currupt source code.
115c192388ea class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3144
diff changeset
  1434
<BR>It is recommended to leave ST/X, restore the old source or compile a system
115c192388ea class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3144
diff changeset
  1435
based on the current source, restart ST/X, reapply the chages and commit then.'
2911
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
  1436
    bindWith: (self linkToMethod)
3154
72ca7e81fbbf *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3152
diff changeset
  1437
	with: package
2854
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1438
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1439
    "Modified: / 11-04-2012 / 12:47:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1440
!
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1441
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1442
label
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1443
    "Return the label (possibly instance if a Text) shortly describing the problem"
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1444
3160
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1445
    ^ 'Corrupted source code for %1 >> %2' bindWith: className allBold with: selector allBold
2854
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1446
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1447
    "Modified: / 11-04-2012 / 12:42:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3160
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1448
! !
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1449
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1450
!ProjectProblem::MethodSourceNotAvailable methodsFor:'accessing'!
2854
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1451
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1452
severity
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1453
    "Return a severity - one of #error, #warning, #info"
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1454
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1455
    ^#error
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1456
3160
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1457
    "Created: / 11-04-2012 / 12:47:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2854
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1458
! !
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1459
3160
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1460
!ProjectProblem::MethodSourceNotAvailable methodsFor:'accessing-description'!
2854
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1461
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1462
description
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1463
    "Return a (HTML) describing the problem."
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1464
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1465
    ^
3147
115c192388ea class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3144
diff changeset
  1466
'Source code for %1 is not available. Check your package path
2854
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1467
and/or source code management settings.
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1468
'
2911
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
  1469
    bindWith: (self linkToMethod)
3154
72ca7e81fbbf *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3152
diff changeset
  1470
	with: package
2854
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1471
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1472
    "Modified: / 11-04-2012 / 12:44:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1473
!
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1474
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1475
label
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1476
    "Return the label (possibly instance if a Text) shortly describing the problem"
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1477
3160
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1478
    ^ 'Unavailable source code for %1 >> %2' bindWith: className allBold with: selector allBold
2854
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1479
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1480
    "Modified: / 11-04-2012 / 12:41:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3160
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1481
! !
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1482
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1483
!ProjectProblem::ProjectDefinitionDoesNotExist methodsFor:'accessing'!
2854
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1484
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1485
severity
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1486
    "Return a severity - one of #error, #warning, #info"
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1487
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1488
    ^#error
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1489
3160
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1490
    "Created: / 11-04-2012 / 12:48:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2854
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1491
! !
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1492
3160
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1493
!ProjectProblem::ProjectDefinitionDoesNotExist methodsFor:'accessing-description'!
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
  1494
24f170d78e3b initial checkin
vrany
parents:
diff changeset
  1495
description
24f170d78e3b initial checkin
vrany
parents:
diff changeset
  1496
    "Return a (HTML) describing the problem."
24f170d78e3b initial checkin
vrany
parents:
diff changeset
  1497
3152
1bef57aa5c95 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3147
diff changeset
  1498
    package = 'stx' ifTrue:[
3198
74cd57db7717 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3171
diff changeset
  1499
        ^
3154
72ca7e81fbbf *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3152
diff changeset
  1500
'Move your code to another package.
3198
74cd57db7717 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3171
diff changeset
  1501
<br>The package name "stx" is reserveed for exept''s ST/X development.'
3152
1bef57aa5c95 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3147
diff changeset
  1502
    ].
1bef57aa5c95 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3147
diff changeset
  1503
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
  1504
    ^
3152
1bef57aa5c95 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3147
diff changeset
  1505
'A project definition class for package "%1" does not exist.
1bef57aa5c95 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3147
diff changeset
  1506
<br>Project definition classes keep the meta information of a package,
1bef57aa5c95 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3147
diff changeset
  1507
such as contents and build parameters.
3198
74cd57db7717 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3171
diff changeset
  1508
You <b>must</b> create it, otherwise package management won''t work,
74cd57db7717 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3171
diff changeset
  1509
and the package cannot be compiled to a binary dll.'
3152
1bef57aa5c95 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3147
diff changeset
  1510
    bindWith: package
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
  1511
24f170d78e3b initial checkin
vrany
parents:
diff changeset
  1512
    "Modified: / 23-02-2012 / 13:29:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
24f170d78e3b initial checkin
vrany
parents:
diff changeset
  1513
!
24f170d78e3b initial checkin
vrany
parents:
diff changeset
  1514
24f170d78e3b initial checkin
vrany
parents:
diff changeset
  1515
label
3152
1bef57aa5c95 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3147
diff changeset
  1516
    ^'Project definition class for "%1" does not exist' bindWith: package
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
  1517
24f170d78e3b initial checkin
vrany
parents:
diff changeset
  1518
    "Modified: / 23-02-2012 / 13:21:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
24f170d78e3b initial checkin
vrany
parents:
diff changeset
  1519
! !
24f170d78e3b initial checkin
vrany
parents:
diff changeset
  1520
3152
1bef57aa5c95 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3147
diff changeset
  1521
!ProjectProblem::ProjectDefinitionDoesNotExist methodsFor:'fixing'!
1bef57aa5c95 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3147
diff changeset
  1522
3225
33d97afaea88 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3217
diff changeset
  1523
alreadyFixed
33d97afaea88 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3217
diff changeset
  1524
    ^ (ProjectDefinition definitionClassForPackage:package) notNil        
33d97afaea88 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3217
diff changeset
  1525
!
33d97afaea88 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3217
diff changeset
  1526
3152
1bef57aa5c95 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3147
diff changeset
  1527
doCreateAs:whatType
3198
74cd57db7717 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3171
diff changeset
  1528
    |prjDef|
74cd57db7717 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3171
diff changeset
  1529
74cd57db7717 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3171
diff changeset
  1530
    prjDef := ProjectDefinition
74cd57db7717 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3171
diff changeset
  1531
        definitionClassForPackage:package
74cd57db7717 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3171
diff changeset
  1532
        projectType: whatType
74cd57db7717 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3171
diff changeset
  1533
        createIfAbsent:true.
74cd57db7717 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3171
diff changeset
  1534
74cd57db7717 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3171
diff changeset
  1535
    prjDef
74cd57db7717 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3171
diff changeset
  1536
        updateMethodsCodeUsingCompiler:Compiler 
74cd57db7717 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3171
diff changeset
  1537
        ignoreOldDefinition:true
3152
1bef57aa5c95 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3147
diff changeset
  1538
!
1bef57aa5c95 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3147
diff changeset
  1539
1bef57aa5c95 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3147
diff changeset
  1540
doCreateAsGUIApplication
1bef57aa5c95 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3147
diff changeset
  1541
    self doCreateAs:ProjectDefinition guiApplicationType
1bef57aa5c95 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3147
diff changeset
  1542
!
1bef57aa5c95 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3147
diff changeset
  1543
1bef57aa5c95 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3147
diff changeset
  1544
doCreateAsLibrary
1bef57aa5c95 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3147
diff changeset
  1545
    self doCreateAs:ProjectDefinition libraryType
1bef57aa5c95 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3147
diff changeset
  1546
!
1bef57aa5c95 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3147
diff changeset
  1547
1bef57aa5c95 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3147
diff changeset
  1548
doCreateAsNonGUIApplication
1bef57aa5c95 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3147
diff changeset
  1549
    self doCreateAs:ProjectDefinition nonGuiApplicationType
1bef57aa5c95 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3147
diff changeset
  1550
!
1bef57aa5c95 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3147
diff changeset
  1551
1bef57aa5c95 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3147
diff changeset
  1552
fixes
1bef57aa5c95 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3147
diff changeset
  1553
    package = 'stx' ifTrue:[ ^ #() ].
1bef57aa5c95 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3147
diff changeset
  1554
3154
72ca7e81fbbf *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3152
diff changeset
  1555
    ^ Array
72ca7e81fbbf *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3152
diff changeset
  1556
	with: (Array with:'Create as Library'             with:[ self doCreateAsLibrary ]               )
72ca7e81fbbf *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3152
diff changeset
  1557
	with: (Array with:'Create as GUI Application'     with:[ self doCreateAsGUIApplication ]        )
72ca7e81fbbf *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3152
diff changeset
  1558
	with: (Array with:'Create as non-GUI Application' with:[ self doCreateAsNonGUIApplication ]     )
3152
1bef57aa5c95 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3147
diff changeset
  1559
! !
1bef57aa5c95 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3147
diff changeset
  1560
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
  1561
!ProjectProblem class methodsFor:'documentation'!
24f170d78e3b initial checkin
vrany
parents:
diff changeset
  1562
2912
bae30e419d21 fixes in descriptions
vrany
parents: 2911
diff changeset
  1563
version
3342
c8ff65be73c0 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3225
diff changeset
  1564
    ^ '$Header: /cvs/stx/stx/libbasic3/ProjectProblem.st,v 1.23 2013-07-10 14:48:49 cg Exp $'
2912
bae30e419d21 fixes in descriptions
vrany
parents: 2911
diff changeset
  1565
!
bae30e419d21 fixes in descriptions
vrany
parents: 2911
diff changeset
  1566
bae30e419d21 fixes in descriptions
vrany
parents: 2911
diff changeset
  1567
version_CVS
3342
c8ff65be73c0 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3225
diff changeset
  1568
    ^ '$Header: /cvs/stx/stx/libbasic3/ProjectProblem.st,v 1.23 2013-07-10 14:48:49 cg Exp $'
2912
bae30e419d21 fixes in descriptions
vrany
parents: 2911
diff changeset
  1569
!
bae30e419d21 fixes in descriptions
vrany
parents: 2911
diff changeset
  1570
2854
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1571
version_SVN
3342
c8ff65be73c0 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3225
diff changeset
  1572
    ^ '$Id: ProjectProblem.st,v 1.23 2013-07-10 14:48:49 cg Exp $'
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
  1573
! !
3160
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1574