ProjectProblem.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Fri, 23 Aug 2013 12:02:26 +0100
branchjv
changeset 3388 6da54cc15fc5
parent 3350 2331896e5005
parent 3382 025420bf2e2f
child 3405 cec1fd1367ce
permissions -rw-r--r--
Merged b594e2d7a59e and 025420bf2e2f (branch default - CVS HEAD)
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
3382
025420bf2e2f Refactor to implement #displayOn:aGcOrStream instead of #displayString
Stefan Vogel <sv@exept.de>
parents: 3342
diff changeset
   437
displayOn:aGCOrStream
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
3382
025420bf2e2f Refactor to implement #displayOn:aGcOrStream instead of #displayString
Stefan Vogel <sv@exept.de>
parents: 3342
diff changeset
   440
    "/ what a kludge - Dolphin and Squeak mean: printOn: a stream;
025420bf2e2f Refactor to implement #displayOn:aGcOrStream instead of #displayString
Stefan Vogel <sv@exept.de>
parents: 3342
diff changeset
   441
    "/ ST/X (and some old ST80's) mean: draw-yourself on a GC.
025420bf2e2f Refactor to implement #displayOn:aGcOrStream instead of #displayString
Stefan Vogel <sv@exept.de>
parents: 3342
diff changeset
   442
    (aGCOrStream isStream) ifFalse:[
025420bf2e2f Refactor to implement #displayOn:aGcOrStream instead of #displayString
Stefan Vogel <sv@exept.de>
parents: 3342
diff changeset
   443
        ^ super displayOn:aGCOrStream
025420bf2e2f Refactor to implement #displayOn:aGcOrStream instead of #displayString
Stefan Vogel <sv@exept.de>
parents: 3342
diff changeset
   444
    ].
025420bf2e2f Refactor to implement #displayOn:aGcOrStream instead of #displayString
Stefan Vogel <sv@exept.de>
parents: 3342
diff changeset
   445
3169
3a64a6d2cbb9 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3168
diff changeset
   446
    lbl := self label.
3382
025420bf2e2f Refactor to implement #displayOn:aGcOrStream instead of #displayString
Stefan Vogel <sv@exept.de>
parents: 3342
diff changeset
   447
    self alreadyFixed ifTrue:[
025420bf2e2f Refactor to implement #displayOn:aGcOrStream instead of #displayString
Stefan Vogel <sv@exept.de>
parents: 3342
diff changeset
   448
        aGCOrStream
025420bf2e2f Refactor to implement #displayOn:aGcOrStream instead of #displayString
Stefan Vogel <sv@exept.de>
parents: 3342
diff changeset
   449
            nextPutAll:lbl string;
025420bf2e2f Refactor to implement #displayOn:aGcOrStream instead of #displayString
Stefan Vogel <sv@exept.de>
parents: 3342
diff changeset
   450
            emphasis:#italic;
025420bf2e2f Refactor to implement #displayOn:aGcOrStream instead of #displayString
Stefan Vogel <sv@exept.de>
parents: 3342
diff changeset
   451
            nextPutAll:' (already fixed)'
025420bf2e2f Refactor to implement #displayOn:aGcOrStream instead of #displayString
Stefan Vogel <sv@exept.de>
parents: 3342
diff changeset
   452
    ] ifFalse:[
025420bf2e2f Refactor to implement #displayOn:aGcOrStream instead of #displayString
Stefan Vogel <sv@exept.de>
parents: 3342
diff changeset
   453
        aGCOrStream nextPutAll:lbl.
025420bf2e2f Refactor to implement #displayOn:aGcOrStream instead of #displayString
Stefan Vogel <sv@exept.de>
parents: 3342
diff changeset
   454
    ].
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   455
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   456
    "Created: / 14-02-2012 / 17:02:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   457
!
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   458
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   459
printOn:aStream
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   460
    "append a printed representation if the receiver to the argument, aStream"
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   461
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   462
    super printOn:aStream.
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   463
    aStream nextPut:$(.
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   464
    self severity printOn:aStream.
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   465
    aStream nextPut:$:; space.
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   466
    self label printOn:aStream.
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   467
    aStream nextPut:$).
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   468
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   469
    "Modified: / 23-02-2012 / 16:49:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   470
! !
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   471
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   472
!ProjectProblem methodsFor:'utilities-HTML'!
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   473
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   474
linkToClass: classOrclassName
2854
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   475
    | className |
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   476
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   477
    className := classOrclassName isBehavior
2911
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   478
		    ifTrue: [classOrclassName storeString]
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   479
		    ifFalse:[classOrclassName].
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   480
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   481
    ^'<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
   482
	bindWith: className
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   483
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   484
    "Created: / 23-02-2012 / 13:44:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   485
!
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   486
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   487
linkToClass: classOrclassName selector: selector
2854
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   488
    ^self linkToClass: classOrclassName selector:  selector omitClassName: false
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   489
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   490
    "Created: / 23-02-2012 / 13:45:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   491
!
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   492
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   493
linkToClass: classOrclassName selector: selector omitClassName: omitClassName
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   494
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   495
    | className |
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   496
    className := classOrclassName isBehavior
2911
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   497
		    ifTrue: [classOrclassName name]
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   498
		    ifFalse:[classOrclassName].
2854
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   499
    ^omitClassName ifTrue:[
2911
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   500
	'<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
   501
	    bindWith: className
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   502
		with: selector storeString
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   503
		with: selector
2854
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   504
    ] ifFalse:[
2911
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   505
	'<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
   506
	    bindWith: className
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   507
		with: selector storeString
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   508
		with: selector
2854
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   509
    ]
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   510
2854
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   511
    "Created: / 26-07-2012 / 10:26:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   512
! !
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   513
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   514
!ProjectProblem::ClassProblem methodsFor:'accessing'!
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   515
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   516
className
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   517
    ^ className
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   518
!
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   519
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   520
className:something
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   521
    className := something.
2854
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   522
!
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   523
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   524
klass
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   525
    "Return the class which is subject of the problem"
2911
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   526
3143
82a0484299ce class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 2912
diff changeset
   527
"/    | class |
82a0484299ce class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 2912
diff changeset
   528
"/
82a0484299ce class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 2912
diff changeset
   529
"/    (className endsWith: ' class') ifTrue:[
82a0484299ce class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 2912
diff changeset
   530
"/        class := Smalltalk at: (className copyTo: className size - 6) asSymbol.
82a0484299ce class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 2912
diff changeset
   531
"/        class := class theMetaclass.
82a0484299ce class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 2912
diff changeset
   532
"/    ] ifFalse:[
82a0484299ce class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 2912
diff changeset
   533
"/        class := Smalltalk at: className  asSymbol
82a0484299ce class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 2912
diff changeset
   534
"/    ].
82a0484299ce class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 2912
diff changeset
   535
"/    ^class
2854
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   536
3143
82a0484299ce class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 2912
diff changeset
   537
    "/ the above is exactly:
3154
72ca7e81fbbf *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3152
diff changeset
   538
    ^ Smalltalk classNamed:className
2854
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   539
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   540
    "Created: / 26-07-2012 / 10:21:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   541
! !
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   542
3198
74cd57db7717 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3171
diff changeset
   543
!ProjectProblem::ClassProblem methodsFor:'fixing'!
74cd57db7717 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3171
diff changeset
   544
74cd57db7717 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3171
diff changeset
   545
doUpdateAllProjectDefinitions
74cd57db7717 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3171
diff changeset
   546
    "full update the project definition class;
74cd57db7717 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3171
diff changeset
   547
     will do a rescan to add all missing items"
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
    | def |
74cd57db7717 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3171
diff changeset
   550
74cd57db7717 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3171
diff changeset
   551
    def := self packageDefinitionClass.
74cd57db7717 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3171
diff changeset
   552
    def isNil ifTrue:[ ^ false ].
74cd57db7717 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3171
diff changeset
   553
74cd57db7717 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3171
diff changeset
   554
    def
74cd57db7717 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3171
diff changeset
   555
        updateMethodsCodeUsingCompiler:Compiler 
74cd57db7717 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3171
diff changeset
   556
        ignoreOldDefinition:false.
74cd57db7717 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3171
diff changeset
   557
74cd57db7717 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3171
diff changeset
   558
    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
   559
    ^true
74cd57db7717 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3171
diff changeset
   560
! !
74cd57db7717 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3171
diff changeset
   561
3160
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
   562
!ProjectProblem::InconsistentProjectDefinition methodsFor:'fixes'!
2911
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   563
3160
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
   564
fixes
2911
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   565
3160
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
   566
    ^Array
3198
74cd57db7717 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3171
diff changeset
   567
        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
   568
! !
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   569
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   570
!ProjectProblem::ClassListedButDoesNotExist methodsFor:'accessing'!
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   571
3160
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
   572
severity
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
   573
    "Return a severity - one of #error, #warning, #info"
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
   574
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
   575
    ^#error
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
   576
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
   577
    "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
   578
! !
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
   579
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
   580
!ProjectProblem::ClassListedButDoesNotExist methodsFor:'accessing-description'!
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
   581
2911
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   582
description
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   583
    "Return a (HTML) describing the problem."
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   584
    ^
3147
115c192388ea class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3144
diff changeset
   585
'A class (<code>%1</code>) is listed in the project definition but
115c192388ea class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3144
diff changeset
   586
not present in the system.
2911
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   587
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   588
You should either create it or remove it from %2.'
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   589
    bindWith: className with: (self linkToClass: self packageDefinitionClass class selector: #classNamesAndAttributes)
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   590
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   591
    "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
   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
label
3160
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
   595
    ^'Missing class: ', className allBold
2911
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   596
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   597
    "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
   598
! !
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   599
3160
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
   600
!ProjectProblem::ClassListedMultipleTimes methodsFor:'accessing-description'!
2911
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   601
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   602
description
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   603
    "Return a (HTML) describing the problem."
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
'A class %1 is listed more than once in %2.
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   607
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   608
Such package will fail to compile, as linker will complain
3147
115c192388ea class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3144
diff changeset
   609
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
   610
class is listed only once.
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   611
'
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   612
    bindWith: (self linkToClass: className)
3154
72ca7e81fbbf *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3152
diff changeset
   613
	with: (self linkToClass: self packageDefinitionClass class selector: #extensionMethodNames)
2911
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   614
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   615
    "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
   616
!
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   617
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   618
label
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   619
    "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
   620
3160
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
   621
    ^'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
   622
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   623
    "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
   624
! !
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   625
3160
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
   626
!ProjectProblem::ClassNotListed methodsFor:'accessing-description'!
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   627
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   628
description
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   629
    "Return a (HTML) describing the problem."
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   630
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   631
    ^
3147
115c192388ea class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3144
diff changeset
   632
'Class %1 is not listed in project definition (%2).
115c192388ea class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3144
diff changeset
   633
<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
   634
at all.'
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   635
bindWith: (self linkToClass: className)
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   636
    with: (self linkToClass: self packageDefinitionClass class selector: #classNamesAndAttributes omitClassName: true)
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   637
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   638
    "Modified: / 26-07-2012 / 10:27:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   639
!
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   640
3143
82a0484299ce class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 2912
diff changeset
   641
label
82a0484299ce class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 2912
diff changeset
   642
    "Return the label (possibly instance if a Text) shortly describing the problem"
82a0484299ce class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 2912
diff changeset
   643
3160
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
   644
    ^'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
   645
82a0484299ce class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 2912
diff changeset
   646
    "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
   647
! !
82a0484299ce class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 2912
diff changeset
   648
82a0484299ce class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 2912
diff changeset
   649
!ProjectProblem::ClassNotListed methodsFor:'fixing'!
82a0484299ce class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 2912
diff changeset
   650
2854
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   651
doIncludeInProject
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   652
    "Include subject class in project definition. Return false if
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   653
     fix fails, true otherwise"
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   654
3160
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
   655
    ^ self doIncludeInProjectAsAutoloaded:false
2854
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   656
!
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   657
2854
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   658
doIncludeInProjectAsAutoloaded
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   659
    "Include subject class in project definition. Return false if
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   660
     fix fails, true otherwise"
3160
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
   661
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
   662
    ^ self doIncludeInProjectAsAutoloaded:true
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
   663
!
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
   664
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
   665
doIncludeInProjectAsAutoloaded:asAutoloaded
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
   666
    "Include subject class in project definition. Return false if
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
   667
     fix fails, true otherwise"
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
   668
2854
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   669
    | def cls |
3160
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
   670
2854
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   671
    def := self packageDefinitionClass.
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   672
    def isNil ifTrue:[ ^ false ].
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   673
    cls := self klass.
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   674
    cls isNil ifTrue:[ ^ false ].
3160
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
   675
    asAutoloaded ifTrue:[
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
   676
        def makeClassesAutoloaded:(Array with: cls) usingCompiler: nil.
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
   677
    ] ifFalse:[
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
   678
        def includeClasses:(Array with: cls) usingCompiler: nil.
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
   679
    ].
3144
896359337971 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3143
diff changeset
   680
    UserNotification notify: ('Class added. Do not forget to check in build support files!!' bindWith: className).
2854
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   681
    ^true
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   682
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   683
    "Created: / 26-07-2012 / 10:41:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   684
!
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   685
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   686
fixes
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   687
2911
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   688
    ^Array
3200
ef12ced16ea9 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3198
diff changeset
   689
        with: (Array with: 'Add class to project' with: [ self doIncludeInProject ])
ef12ced16ea9 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3198
diff changeset
   690
        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
   691
        with: (Array with: 'Full update of the project definitions (rescan)' with: [ self doUpdateAllProjectDefinitions ])
2854
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   692
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   693
    "Created: / 26-07-2012 / 10:41:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   694
! !
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   695
2911
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   696
!ProjectProblem::ClassListedBeforeItsPool methodsFor:'accessing'!
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   697
3160
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
   698
poolName
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
   699
    ^ poolName
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
   700
!
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
   701
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
   702
poolName:something
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
   703
    poolName := something.
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
   704
! !
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
   705
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
   706
!ProjectProblem::ClassListedBeforeItsPool methodsFor:'accessing-description'!
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
   707
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   708
description
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   709
    "Return a (HTML) describing the problem."
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   710
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   711
    ^
3154
72ca7e81fbbf *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3152
diff changeset
   712
'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
   713
<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
   714
and load (if the package is being loaded from source).
3147
115c192388ea class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3144
diff changeset
   715
<br>Make sure class (%3) is listed before (%2).
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   716
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
bindWith: (self linkToClass: self packageDefinitionClass class selector: #classNamesAndAttributes omitClassName: true)
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   719
    with: (self linkToClass: className)
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   720
    with: (self linkToClass: poolName)
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   721
2912
bae30e419d21 fixes in descriptions
vrany
parents: 2911
diff changeset
   722
    "Modified: / 13-09-2012 / 18:29:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   723
!
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   724
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   725
label
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   726
    "Return the label (possibly instance if a Text) shortly describing the problem"
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   727
3160
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
   728
    ^'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
   729
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   730
    "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
   731
! !
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   732
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   733
!ProjectProblem::ClassUsesPoolProblem methodsFor:'accessing'!
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   734
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   735
poolName
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   736
    ^ poolName
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   737
!
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   738
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   739
poolName:something
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   740
    poolName := something.
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   741
! !
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   742
3160
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
   743
!ProjectProblem::ClassUsesPoolButItIsNotASharedPool methodsFor:'accessing-description'!
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   744
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   745
description
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   746
    "Return a (HTML) describing the problem."
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   747
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   748
    ^
3147
115c192388ea class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3144
diff changeset
   749
'A class %1 uses pool %2 but it does not exist.
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   750
3154
72ca7e81fbbf *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3152
diff changeset
   751
The pool should be removed from the class definition;
3147
115c192388ea class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3144
diff changeset
   752
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
   753
    bindWith: (self linkToClass: className)
3154
72ca7e81fbbf *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3152
diff changeset
   754
	with: (self linkToClass: poolName)
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   755
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   756
    "Modified: / 23-02-2012 / 13:48:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   757
!
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   758
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   759
label
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   760
    "Return the label (possibly instance if a Text) shortly describing the problem"
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   761
3160
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
   762
    ^'Used pool %1 is not a SharedPool' bindWith: className allBold
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   763
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   764
    "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
   765
! !
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   766
3160
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
   767
!ProjectProblem::ClassUsesPoolInNamespaceButNamespaceIsNotDefined methodsFor:'accessing-description'!
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
description
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   770
    "Return a (HTML) describing the problem."
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   771
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   772
    ^
3147
115c192388ea class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3144
diff changeset
   773
'A class %1 uses pool %2 from same namespace as the class,
115c192388ea class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3144
diff changeset
   774
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
   775
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   776
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
   777
must contain a fully qualified class name including namespace.'
2911
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   778
    bindWith: (self linkToClass: className)
3154
72ca7e81fbbf *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3152
diff changeset
   779
	with: (self linkToClass: poolName)
2911
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   780
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   781
    "Modified: / 13-09-2012 / 16:32:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   782
!
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   783
2911
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   784
label
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   785
    "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
   786
3160
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
   787
    ^ '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
   788
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   789
    "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
   790
! !
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   791
3160
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
   792
!ProjectProblem::ClassUsesPoolButItDoesNotExist methodsFor:'accessing-description'!
2911
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   793
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   794
description
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   795
    "Return a (HTML) describing the problem."
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   796
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   797
    ^
3147
115c192388ea class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3144
diff changeset
   798
'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
   799
3154
72ca7e81fbbf *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3152
diff changeset
   800
The pool should be removed from the class definition;
3147
115c192388ea class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3144
diff changeset
   801
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
   802
    bindWith: (self linkToClass: className) with: poolName
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   803
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   804
    "Modified: / 13-09-2012 / 16:24:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   805
!
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   806
2911
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   807
label
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   808
    "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
   809
3160
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
   810
    ^'Missing pool: ' , className allBold
2911
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   811
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
   812
    "Modified: / 23-02-2012 / 13:34:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   813
! !
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   814
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   815
!ProjectProblem::MethodProblem methodsFor:'accessing'!
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   816
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   817
className:something selector: sel
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   818
    className := something.
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   819
    selector :=  sel
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   820
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   821
    "Created: / 23-02-2012 / 14:17:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   822
!
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   823
2854
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   824
method
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   825
    | class |
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   826
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   827
    class := self klass.
3166
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
   828
    class isNil ifTrue:[ ^ nil ].
2854
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   829
    ^class compiledMethodAt: selector
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   830
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   831
    "Created: / 26-07-2012 / 10:09:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   832
!
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   833
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   834
method: method
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   835
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   836
    self className: method mclass name selector: method selector
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   837
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   838
    "Created: / 11-04-2012 / 12:32:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   839
!
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
   840
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   841
selector
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   842
    ^ selector
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   843
!
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   844
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   845
selector:something
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   846
    selector := something.
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   847
! !
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   848
3204
96c6fe5845bf class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3200
diff changeset
   849
!ProjectProblem::MethodProblem methodsFor:'fixes'!
96c6fe5845bf class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3200
diff changeset
   850
96c6fe5845bf class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3200
diff changeset
   851
doRemoveMethodFromExtensionsList
96c6fe5845bf class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3200
diff changeset
   852
    "update the extension method info in the project definition.
96c6fe5845bf class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3200
diff changeset
   853
     Return false if fix fails, true otherwise"
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
    | def mthd |
96c6fe5845bf class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3200
diff changeset
   856
96c6fe5845bf class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3200
diff changeset
   857
    def := self packageDefinitionClass.
96c6fe5845bf class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3200
diff changeset
   858
    def isNil ifTrue:[ ^ false ].
96c6fe5845bf class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3200
diff changeset
   859
    mthd := self method.
96c6fe5845bf class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3200
diff changeset
   860
    mthd isNil ifTrue:[ ^ false ].
96c6fe5845bf class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3200
diff changeset
   861
96c6fe5845bf class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3200
diff changeset
   862
    def excludeMethods:(Array with:mthd) usingCompiler:nil.
96c6fe5845bf class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3200
diff changeset
   863
    UserNotification notify: ('ProjectDefinition updated. Do not forget to check it in!!').
96c6fe5845bf class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3200
diff changeset
   864
    ^true
96c6fe5845bf class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3200
diff changeset
   865
!
96c6fe5845bf class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3200
diff changeset
   866
96c6fe5845bf class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3200
diff changeset
   867
doRemoveNamedMethodFromExtensionsList
96c6fe5845bf class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3200
diff changeset
   868
    "update the extension method info in the project definition.
96c6fe5845bf class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3200
diff changeset
   869
     Return false if fix fails, true otherwise"
96c6fe5845bf class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3200
diff changeset
   870
96c6fe5845bf class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3200
diff changeset
   871
    | def |
96c6fe5845bf class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3200
diff changeset
   872
96c6fe5845bf class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3200
diff changeset
   873
    def := self packageDefinitionClass.
96c6fe5845bf class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3200
diff changeset
   874
    def isNil ifTrue:[ ^ false ].
96c6fe5845bf class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3200
diff changeset
   875
96c6fe5845bf class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3200
diff changeset
   876
    def excludeMethodFor:selector inClassNamed:className usingCompiler:nil.    
96c6fe5845bf class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3200
diff changeset
   877
    UserNotification notify: ('ProjectDefinition updated. Do not forget to check it in!!').
96c6fe5845bf class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3200
diff changeset
   878
    ^true
96c6fe5845bf class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3200
diff changeset
   879
! !
96c6fe5845bf class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3200
diff changeset
   880
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   881
!ProjectProblem::MethodProblem methodsFor:'utilities-HTML'!
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   882
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   883
linkToMethod
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   884
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   885
    ^self linkToClass: className selector: selector
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   886
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   887
    "Created: / 23-02-2012 / 14:21:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   888
! !
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   889
3166
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
   890
!ProjectProblem::ExtensionMethodListedButInDifferentPackage methodsFor:'accessing-description'!
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
   891
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
   892
description
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
   893
    "Return a (HTML) describing the problem."
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
   894
3168
9e97b3ddbc71 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3166
diff changeset
   895
    |mthd text|
3166
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
   896
3168
9e97b3ddbc71 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3166
diff changeset
   897
    (mthd := self method) isNil ifTrue:[ ^ 'Method removed.' ].
3169
3a64a6d2cbb9 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3168
diff changeset
   898
3168
9e97b3ddbc71 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3166
diff changeset
   899
    mthd package = mthd mclass package ifTrue:[
9e97b3ddbc71 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3166
diff changeset
   900
        text :=
9e97b3ddbc71 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3166
diff changeset
   901
'Method %1 listed in %3 but is in its classes package (%4).
9e97b3ddbc71 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3166
diff changeset
   902
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
   903
3169
3a64a6d2cbb9 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3168
diff changeset
   904
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
   905
    ] ifFalse:[
9e97b3ddbc71 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3166
diff changeset
   906
        text :=
9e97b3ddbc71 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3166
diff changeset
   907
'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
   908
The package will compile but may fail to (auto)load from sources.
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
   909
3169
3a64a6d2cbb9 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3168
diff changeset
   910
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
   911
or move the method it to the correct package.'
3168
9e97b3ddbc71 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3166
diff changeset
   912
    ].
9e97b3ddbc71 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3166
diff changeset
   913
    ^ text
9e97b3ddbc71 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3166
diff changeset
   914
        bindWith: (self linkToClass: (Smalltalk classNamed: className) selector: selector) "className"        
9e97b3ddbc71 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3166
diff changeset
   915
            with: selector
9e97b3ddbc71 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3166
diff changeset
   916
            with: (self linkToClass: self packageDefinitionClass class selector: #extensionMethodNames)
9e97b3ddbc71 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3166
diff changeset
   917
            with: mthd package
3166
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
   918
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
   919
    "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
   920
!
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
   921
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
   922
label
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
   923
    "Return the label (possibly instance if a Text) shortly describing the problem"
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
   924
3168
9e97b3ddbc71 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3166
diff changeset
   925
    |mthd text|
9e97b3ddbc71 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3166
diff changeset
   926
9e97b3ddbc71 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3166
diff changeset
   927
    text := 'Extension method %1 >> %2 listed but in different package'.
9e97b3ddbc71 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3166
diff changeset
   928
9e97b3ddbc71 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3166
diff changeset
   929
    (mthd := self method) notNil ifTrue:[
9e97b3ddbc71 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3166
diff changeset
   930
        mthd package = mthd mclass package ifTrue:[
9e97b3ddbc71 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3166
diff changeset
   931
            text := 'Extension method %1 >> %2 listed but in classes package' 
9e97b3ddbc71 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3166
diff changeset
   932
        ]
9e97b3ddbc71 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3166
diff changeset
   933
    ].
9e97b3ddbc71 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3166
diff changeset
   934
    ^ text
3166
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
   935
        bindWith: className allBold 
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
   936
        with: selector allBold
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
   937
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
   938
    "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
   939
! !
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
   940
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
   941
!ProjectProblem::ExtensionMethodListedButInDifferentPackage methodsFor:'fixes'!
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
   942
3169
3a64a6d2cbb9 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3168
diff changeset
   943
alreadyFixed
3a64a6d2cbb9 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3168
diff changeset
   944
    |mthd|
3a64a6d2cbb9 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3168
diff changeset
   945
3a64a6d2cbb9 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3168
diff changeset
   946
    (self packageDefinitionClass extensionMethods includes:self method) ifFalse:[^ true].
3a64a6d2cbb9 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3168
diff changeset
   947
    ^ ((mthd := self method) notNil 
3a64a6d2cbb9 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3168
diff changeset
   948
        and:[ mthd package = package ])
3a64a6d2cbb9 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3168
diff changeset
   949
!
3a64a6d2cbb9 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3168
diff changeset
   950
3166
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
   951
doMoveMethodToProject
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
   952
    self method package:package
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
   953
!
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
   954
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
   955
fixes
3168
9e97b3ddbc71 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3166
diff changeset
   956
    |mthd|
9e97b3ddbc71 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3166
diff changeset
   957
9e97b3ddbc71 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3166
diff changeset
   958
    (mthd := self method) isNil ifTrue:[ ^ #() ].
3166
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
   959
3169
3a64a6d2cbb9 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3168
diff changeset
   960
"/    mthd package = mthd mclass package ifTrue:[
3a64a6d2cbb9 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3168
diff changeset
   961
"/        ^Array
3a64a6d2cbb9 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3168
diff changeset
   962
"/            with: (Array with: 'Remove from the extensionMethodNames list' with: [ self doRemoveMethodFromExtensionsList ])    
3a64a6d2cbb9 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3168
diff changeset
   963
"/    ].
3a64a6d2cbb9 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3168
diff changeset
   964
"/
3166
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
   965
    ^Array
3169
3a64a6d2cbb9 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3168
diff changeset
   966
        with: (Array with: 'Remove from the extensionMethodNames list' with: [ self doRemoveMethodFromExtensionsList ])    
3166
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
   967
        with: (Array with: 'Move method into package' with: [ self doMoveMethodToProject ])
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
   968
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
   969
    "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
   970
! !
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
   971
3160
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
   972
!ProjectProblem::ExtensionMethodNotListed methodsFor:'accessing-description'!
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   973
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   974
description
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   975
    "Return a (HTML) describing the problem."
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   976
3154
72ca7e81fbbf *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3152
diff changeset
   977
^'Method %1 is not listed in %2.
3143
82a0484299ce class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 2912
diff changeset
   978
<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
   979
    bindWith: (self linkToMethod)
3169
3a64a6d2cbb9 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3168
diff changeset
   980
        with: (self linkToClass: self packageDefinitionClass class selector: #extensionMethodNames)
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   981
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   982
    "Modified: / 23-02-2012 / 14:34:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   983
!
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   984
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   985
label
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   986
    "Return the label (possibly instance if a Text) shortly describing the problem"
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   987
3160
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
   988
    ^'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
   989
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   990
    "Modified: / 23-02-2012 / 14:22:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   991
! !
24f170d78e3b initial checkin
vrany
parents:
diff changeset
   992
3143
82a0484299ce class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 2912
diff changeset
   993
!ProjectProblem::ExtensionMethodNotListed methodsFor:'fixing'!
82a0484299ce class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 2912
diff changeset
   994
3169
3a64a6d2cbb9 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3168
diff changeset
   995
alreadyFixed
3a64a6d2cbb9 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3168
diff changeset
   996
    ^ (self packageDefinitionClass extensionMethods includes:self method)        
3a64a6d2cbb9 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3168
diff changeset
   997
!
3a64a6d2cbb9 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3168
diff changeset
   998
3143
82a0484299ce class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 2912
diff changeset
   999
doMoveToClassesPackage
3154
72ca7e81fbbf *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3152
diff changeset
  1000
    "move the extension method to the owning classes package.
3143
82a0484299ce class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 2912
diff changeset
  1001
     Return false if fix fails, true otherwise"
82a0484299ce class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 2912
diff changeset
  1002
82a0484299ce class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 2912
diff changeset
  1003
    | cls mthd |
82a0484299ce class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 2912
diff changeset
  1004
82a0484299ce class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 2912
diff changeset
  1005
    cls := self klass.
82a0484299ce class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 2912
diff changeset
  1006
    cls isNil ifTrue:[ ^ false ].
82a0484299ce class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 2912
diff changeset
  1007
    mthd := cls compiledMethodAt:selector.
82a0484299ce class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 2912
diff changeset
  1008
    mthd package:(cls package).
82a0484299ce class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 2912
diff changeset
  1009
    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
  1010
    ^true
82a0484299ce class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 2912
diff changeset
  1011
!
82a0484299ce class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 2912
diff changeset
  1012
82a0484299ce class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 2912
diff changeset
  1013
doUpdateExtensionMethodsInProject
3154
72ca7e81fbbf *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3152
diff changeset
  1014
    "update the extension method info in the project definition.
3143
82a0484299ce class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 2912
diff changeset
  1015
     Return false if fix fails, true otherwise"
82a0484299ce class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 2912
diff changeset
  1016
3169
3a64a6d2cbb9 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3168
diff changeset
  1017
    | def mthd |
3143
82a0484299ce class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 2912
diff changeset
  1018
82a0484299ce class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 2912
diff changeset
  1019
    def := self packageDefinitionClass.
82a0484299ce class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 2912
diff changeset
  1020
    def isNil ifTrue:[ ^ false ].
3169
3a64a6d2cbb9 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3168
diff changeset
  1021
    mthd := self method.
3a64a6d2cbb9 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3168
diff changeset
  1022
    mthd isNil ifTrue:[ ^ false ].
3a64a6d2cbb9 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3168
diff changeset
  1023
3a64a6d2cbb9 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3168
diff changeset
  1024
    def includeMethods:(Array with:mthd) usingCompiler:nil.
3143
82a0484299ce class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 2912
diff changeset
  1025
    UserNotification notify: ('ProjectDefinition updated. Do not forget to check it in!!').
82a0484299ce class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 2912
diff changeset
  1026
    ^true
82a0484299ce class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 2912
diff changeset
  1027
!
82a0484299ce class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 2912
diff changeset
  1028
82a0484299ce class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 2912
diff changeset
  1029
fixes
82a0484299ce class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 2912
diff changeset
  1030
    ^Array
3200
ef12ced16ea9 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3198
diff changeset
  1031
        with: (Array with: 'Add method to project' with: [ self doUpdateExtensionMethodsInProject ])
3169
3a64a6d2cbb9 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3168
diff changeset
  1032
        with: (Array with: 'Move to classes package' with: [ self doMoveToClassesPackage ])
3198
74cd57db7717 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3171
diff changeset
  1033
        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
  1034
! !
82a0484299ce class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 2912
diff changeset
  1035
3166
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
  1036
!ProjectProblem::ExtensionMethodsClassDoesNotExist methodsFor:'accessing-description'!
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
description
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
  1039
    "Return a (HTML) 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
^'Method %1 >> %2 listed in %3 but class does not exist.
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
  1042
The package will compile but may fail to (auto)load from sources.
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
  1043
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
  1044
It is recommended to remove the method from the list (%3).'
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
  1045
    bindWith: className 
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
  1046
        with: selector
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
  1047
        with: (self linkToClass: self packageDefinitionClass class selector: #extensionMethodNames)
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
  1048
!
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
  1049
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
  1050
label
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
  1051
    "Return the label (possibly instance if a Text) shortly describing the problem"
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
  1052
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
  1053
    ^'Extension method %1 >> %2 listed but class not existing' 
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
  1054
        bindWith: className allBold 
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
  1055
        with: selector allBold
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
  1056
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
  1057
    "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
  1058
! !
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
  1059
3204
96c6fe5845bf class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3200
diff changeset
  1060
!ProjectProblem::ExtensionMethodsClassDoesNotExist methodsFor:'fixes'!
96c6fe5845bf class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3200
diff changeset
  1061
96c6fe5845bf class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3200
diff changeset
  1062
fixes
96c6fe5845bf class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3200
diff changeset
  1063
    ^Array
96c6fe5845bf class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3200
diff changeset
  1064
        with: (Array with: 'Remove from the extensionMethodNames list' with: [ self doRemoveNamedMethodFromExtensionsList ])    
96c6fe5845bf class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3200
diff changeset
  1065
96c6fe5845bf class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3200
diff changeset
  1066
    "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
  1067
! !
96c6fe5845bf class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3200
diff changeset
  1068
3160
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1069
!ProjectProblem::ClassListedBeforeItsSuperclass methodsFor:'accessing'!
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1070
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1071
superClassName
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1072
    ^ superClassName
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1073
!
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1074
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1075
superClassName:something
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1076
    superClassName := something.
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1077
! !
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
!ProjectProblem::ClassListedBeforeItsSuperclass methodsFor:'accessing-description'!
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1080
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1081
description
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1082
    "Return a (HTML) describing the problem."
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
    ^
3166
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
  1085
'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
  1086
<br>The package can be stc-compiled 
65d0cea4b658 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3169
diff changeset
  1087
(because the generated makefile compiles in correct order)
3171
cf50d68535e0 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3170
diff changeset
  1088
but the class may fail to load from source.
3160
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1089
<br>Make sure %3 is listed before %2.
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1090
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
bindWith: (self linkToClass: self packageDefinitionClass class selector: #classNamesAndAttributes omitClassName: true)
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1093
    with: (self linkToClass: className)
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1094
    with: (self linkToClass: superClassName)
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1095
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1096
    "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
  1097
!
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1098
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1099
label
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1100
    "Return the label (possibly instance if a Text) shortly describing the problem"
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
    ^'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
  1103
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1104
    "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
  1105
! !
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1106
2854
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1107
!ProjectProblem::MethodCompilabilityIssue methodsFor:'accessing'!
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1108
3160
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1109
severity
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1110
    ^ errors notNil ifTrue:[#error] ifFalse:[#warning]
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1111
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1112
    "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
  1113
! !
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1114
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1115
!ProjectProblem::MethodCompilabilityIssue methodsFor:'accessing-description'!
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1116
2854
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1117
description
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1118
    "Return a (HTML) describing the problem."
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1119
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1120
    | issuePrinter |
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1121
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1122
    issuePrinter := [:stream :issue|
3154
72ca7e81fbbf *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3152
diff changeset
  1123
	stream nextPutAll:'<li>'.
72ca7e81fbbf *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3152
diff changeset
  1124
	issue descriptionOn: stream.
72ca7e81fbbf *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3152
diff changeset
  1125
	stream nextPutAll:'</li>'.
72ca7e81fbbf *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3152
diff changeset
  1126
	stream cr.
2854
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1127
    ].
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1128
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1129
    ^ String streamContents:[:s|
3154
72ca7e81fbbf *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3152
diff changeset
  1130
	s
72ca7e81fbbf *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3152
diff changeset
  1131
	    nextPutAll: 'The following problems have been found in ';
72ca7e81fbbf *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3152
diff changeset
  1132
	    nextPutAll: self linkToMethod;
72ca7e81fbbf *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3152
diff changeset
  1133
	    nextPutAll: ':'; cr;
72ca7e81fbbf *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3152
diff changeset
  1134
	    nextPutAll: '<ul>'.
72ca7e81fbbf *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3152
diff changeset
  1135
	errors ? #() do:[:issue|issuePrinter value: s value: issue].
72ca7e81fbbf *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3152
diff changeset
  1136
	warnings ? #() do:[:issue|issuePrinter value: s value: issue].
72ca7e81fbbf *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3152
diff changeset
  1137
	s
72ca7e81fbbf *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3152
diff changeset
  1138
	    nextPutAll: '</ul>'.
2854
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1139
3154
72ca7e81fbbf *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3152
diff changeset
  1140
	errors notNil ifTrue:[
72ca7e81fbbf *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3152
diff changeset
  1141
	    s nextPutAll:
3147
115c192388ea class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3144
diff changeset
  1142
'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
  1143
	].
2854
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1144
    ]
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1145
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1146
    "Modified: / 11-04-2012 / 15:51:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1147
!
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1148
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1149
label
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1150
    "Return the label (possibly instance if a Text) shortly describing the problem"
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1151
3160
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1152
    ^ (errors notNil 
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1153
        ifTrue:[ 'Uncompilable method %1 >> %2' ]
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1154
        ifFalse:[ 'Warnings for method %1 >> %2' ]) bindWith: className allBold with: selector allBold
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1155
2854
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1156
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1157
    "Modified: / 11-04-2012 / 16:04:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1158
! !
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1159
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1160
!ProjectProblem::MethodCompilabilityIssue methodsFor:'error handling'!
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1161
3162
cca29c5533fd class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3160
diff changeset
  1162
addError:aMessage from: position to: endPos
cca29c5533fd class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3160
diff changeset
  1163
    errors isNil ifTrue:[ errors := OrderedCollection new].
cca29c5533fd class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3160
diff changeset
  1164
    errors add: (Error message: aMessage from: position to: endPos)
cca29c5533fd class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3160
diff changeset
  1165
!
cca29c5533fd class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3160
diff changeset
  1166
cca29c5533fd class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3160
diff changeset
  1167
addWarning:aMessage from: position to: endPos
cca29c5533fd class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3160
diff changeset
  1168
    warnings isNil ifTrue:[ warnings := OrderedCollection new].
cca29c5533fd class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3160
diff changeset
  1169
    warnings add: (Warning message: aMessage from: position to: endPos)
cca29c5533fd class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3160
diff changeset
  1170
!
cca29c5533fd class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3160
diff changeset
  1171
2854
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1172
correctableError:aMessage position:position to:endPos from:aCompiler
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1173
    "error notification during fileIn.
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1174
     This is sent by the compiler/evaluator if it detects errors."
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1175
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1176
    self error:aMessage position:position to:endPos from:aCompiler.
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1177
    ^ false. "/ no correction
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1178
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1179
    "Created: / 30-07-1999 / 18:11:15 / cg"
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1180
    "Modified: / 02-11-2010 / 12:58:54 / cg"
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1181
!
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1182
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1183
correctableSelectorWarning:aMessage position:position to:endPos from:aCompiler
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1184
    "warning notification during fileIn.
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1185
     This is sent by the compiler/evaluator if it detects errors."
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1186
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1187
    self warning:aMessage position:position to:endPos from:aCompiler.
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1188
    ^ false. "/ no correction
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1189
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1190
    "Modified: / 02-11-2010 / 12:59:04 / cg"
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1191
!
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1192
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1193
correctableWarning:aMessage position:position to:endPos from:aCompiler
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1194
    "error notification during fileIn.
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1195
     This is sent by the compiler/evaluator if it detects errors."
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1196
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1197
    self warning:aMessage position:position to:endPos from:aCompiler.
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1198
    ^ false
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1199
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1200
    "Created: / 02-11-2010 / 13:29:40 / cg"
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1201
!
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1202
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1203
error:aMessage position:position to:endPos from:aCompiler
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1204
    "error notification during fileIn.
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1205
     This is sent by the compiler/evaluator if it detects errors."
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1206
2911
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
  1207
    "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
  1208
    even worse workaround. Sigh."
3162
cca29c5533fd class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3160
diff changeset
  1209
    (thisContext findNextContextWithSelector:#ignorableParseError: or:nil or:nil) notNil
cca29c5533fd class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3160
diff changeset
  1210
    "/ thisContext sender sender sender sender selector == #ignorableParseError:
cca29c5533fd class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3160
diff changeset
  1211
        ifTrue:[ ^ self ].
2911
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
  1212
3162
cca29c5533fd class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3160
diff changeset
  1213
    self addError:aMessage from: position to: endPos
2854
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1214
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1215
    "Created: / 30-07-1999 / 18:10:30 / cg"
2911
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
  1216
    "Modified: / 10-09-2012 / 11:32:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2854
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1217
!
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1218
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1219
unusedVariableWarning:aMessage position:position to:endPos from:aCompiler
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1220
    "warning notification during fileIn.
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1221
     This is sent by the compiler/evaluator if it detects errors."
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1222
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1223
    ^ self warning:aMessage position:position to:endPos from:aCompiler
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1224
!
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1225
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1226
warning:aMessage position:position to:endPos from:aCompiler
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1227
    "warning notification during fileIn - ignore it.
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1228
     This is sent by the compiler/evaluator if it detects errors."
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1229
2911
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
  1230
"/    No, do not show warnings now, too many false positives
2854
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1231
"/    warnings isNil ifTrue:[ warnings := OrderedCollection new].
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1232
"/    warnings   add: (Warning message: aMessage from: position to: endPos).
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1233
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1234
    "Created: / 30-07-1999 / 18:11:05 / cg"
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1235
    "Modified (comment): / 12-04-2012 / 18:19:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1236
! !
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1237
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1238
!ProjectProblem::MethodCompilabilityIssue methodsFor:'queries'!
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1239
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1240
hasIssue
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1241
    ^ (errors ? warnings) notNil
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1242
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1243
    "Created: / 11-04-2012 / 15:43:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1244
! !
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1245
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1246
!ProjectProblem::MethodCompilabilityIssue::Error class methodsFor:'instance creation'!
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1247
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1248
message: message from: startPosition to: endPosition
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1249
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1250
    ^self new
2911
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
  1251
	message: message;
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
  1252
	startPosition: startPosition;
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
  1253
	endPosition: endPosition;
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
  1254
	yourself.
2854
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1255
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1256
    "Created: / 11-04-2012 / 15:38:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1257
! !
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1258
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1259
!ProjectProblem::MethodCompilabilityIssue::Error methodsFor:'accessing'!
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1260
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1261
endPosition
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1262
    ^ endPosition
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1263
!
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1264
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1265
endPosition:something
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1266
    endPosition := something.
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1267
!
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1268
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1269
message
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1270
    ^ message
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1271
!
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1272
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1273
message:something
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1274
    message := something.
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1275
!
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1276
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1277
startPosition
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1278
    ^ startPosition
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1279
!
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1280
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1281
startPosition:something
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1282
    startPosition := something.
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1283
! !
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1284
3160
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1285
!ProjectProblem::MethodCompilabilityIssue::Error methodsFor:'accessing-description'!
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1286
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1287
descriptionOn: stream
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1288
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1289
    stream nextPutAll: message; space; nextPutAll:'(error)'
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1290
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1291
    "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
  1292
! !
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1293
2854
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1294
!ProjectProblem::MethodCompilabilityIssue::Warning class methodsFor:'instance creation'!
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1295
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1296
message: message from: startPosition to: endPosition
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1297
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1298
    ^self new
2911
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
  1299
	message: message;
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
  1300
	startPosition: startPosition;
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
  1301
	endPosition: endPosition;
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
  1302
	yourself.
2854
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1303
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1304
    "Created: / 11-04-2012 / 15:38:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1305
! !
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1306
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1307
!ProjectProblem::MethodCompilabilityIssue::Warning methodsFor:'accessing'!
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1308
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1309
endPosition
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1310
    ^ endPosition
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1311
!
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1312
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1313
endPosition:something
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1314
    endPosition := something.
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1315
!
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1316
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1317
message
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1318
    ^ message
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1319
!
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1320
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1321
message:something
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1322
    message := something.
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1323
!
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1324
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1325
startPosition
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1326
    ^ startPosition
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1327
!
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1328
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1329
startPosition:something
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1330
    startPosition := something.
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1331
! !
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1332
3160
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1333
!ProjectProblem::MethodCompilabilityIssue::Warning methodsFor:'accessing-description'!
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
  1334
3160
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1335
descriptionOn: stream
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
  1336
3160
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1337
    stream nextPutAll: message; space"/; nextPutAll:'(warning)'
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
  1338
3160
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1339
    "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
  1340
! !
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1341
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1342
!ProjectProblem::MethodInNoPackage methodsFor:'accessing'!
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
  1343
2854
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1344
fixes
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1345
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1346
    ^Array with:
2911
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
  1347
	(Array  with: 'Move method to package ', package
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
  1348
		with: [
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
  1349
		    | m |
2854
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1350
2911
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
  1351
		    m := self method.
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
  1352
		    m notNil ifTrue:[
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
  1353
			m package: package.
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
  1354
			true
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
  1355
		    ] ifFalse:[
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
  1356
			false
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
  1357
		    ]
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
  1358
		])
2854
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1359
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1360
    "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
  1361
! !
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1362
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1363
!ProjectProblem::MethodInNoPackage methodsFor:'accessing-description'!
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1364
3217
bdb39c2074e7 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3204
diff changeset
  1365
alreadyFixed
bdb39c2074e7 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3204
diff changeset
  1366
    ^ (self method package ~= PackageId noProjectID)        
bdb39c2074e7 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3204
diff changeset
  1367
!
bdb39c2074e7 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3204
diff changeset
  1368
3160
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1369
description
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1370
    "Return a (HTML) describing the problem."
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1371
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1372
    ^
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1373
'Method %1 does not belong to any package. Such methods
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1374
are not committed and will be lost when you restart/recompile.
3342
c8ff65be73c0 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3225
diff changeset
  1375
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
  1376
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
  1377
The method should be moved to some package, %2 maybe?'
3160
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1378
    bindWith: (self linkToMethod)
3342
c8ff65be73c0 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3225
diff changeset
  1379
        with: package
3160
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1380
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1381
    "Modified: / 23-02-2012 / 14:21:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2854
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1382
!
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1383
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
  1384
label
24f170d78e3b initial checkin
vrany
parents:
diff changeset
  1385
    "Return the label (possibly instance if a Text) shortly describing the problem"
24f170d78e3b initial checkin
vrany
parents:
diff changeset
  1386
3160
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1387
    ^'Unpackaged method %1 >> %2' bindWith: className allBold with: selector allBold
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
  1388
24f170d78e3b initial checkin
vrany
parents:
diff changeset
  1389
    "Modified: / 23-02-2012 / 14:19:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
24f170d78e3b initial checkin
vrany
parents:
diff changeset
  1390
! !
24f170d78e3b initial checkin
vrany
parents:
diff changeset
  1391
3160
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1392
!ProjectProblem::ExtensionMethodListedButDoesNotExist methodsFor:'accessing-description'!
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
  1393
24f170d78e3b initial checkin
vrany
parents:
diff changeset
  1394
description
24f170d78e3b initial checkin
vrany
parents:
diff changeset
  1395
    "Return a (HTML) describing the problem."
24f170d78e3b initial checkin
vrany
parents:
diff changeset
  1396
3166
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
  1397
^'Method %1 listed in %3 but does not exist.
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
  1398
The package will compile but may fail to (auto)load from sources.
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
  1399
3166
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
  1400
It is recommended to remove the method from the list (%3).'
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
  1401
    bindWith: (self linkToClass: (Smalltalk classNamed: className) selector: selector) "className"        
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
  1402
        with: selector
42bf0adbded2 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3162
diff changeset
  1403
        with: (self linkToClass: self packageDefinitionClass class selector: #extensionMethodNames)
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
  1404
24f170d78e3b initial checkin
vrany
parents:
diff changeset
  1405
    "Modified: / 23-02-2012 / 15:18:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
24f170d78e3b initial checkin
vrany
parents:
diff changeset
  1406
!
24f170d78e3b initial checkin
vrany
parents:
diff changeset
  1407
24f170d78e3b initial checkin
vrany
parents:
diff changeset
  1408
label
24f170d78e3b initial checkin
vrany
parents:
diff changeset
  1409
    "Return the label (possibly instance if a Text) shortly describing the problem"
24f170d78e3b initial checkin
vrany
parents:
diff changeset
  1410
3160
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1411
    ^'Extension method %1 >> %2 listed but not existing' bindWith: className allBold with: selector allBold
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
  1412
24f170d78e3b initial checkin
vrany
parents:
diff changeset
  1413
    "Modified: / 23-02-2012 / 14:22:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
24f170d78e3b initial checkin
vrany
parents:
diff changeset
  1414
! !
24f170d78e3b initial checkin
vrany
parents:
diff changeset
  1415
3204
96c6fe5845bf class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3200
diff changeset
  1416
!ProjectProblem::ExtensionMethodListedButDoesNotExist methodsFor:'fixes'!
96c6fe5845bf class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3200
diff changeset
  1417
96c6fe5845bf class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3200
diff changeset
  1418
fixes
96c6fe5845bf class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3200
diff changeset
  1419
    ^Array
96c6fe5845bf class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3200
diff changeset
  1420
        with: (Array with: 'Remove from the extensionMethodNames list' with: [ self doRemoveNamedMethodFromExtensionsList ])    
96c6fe5845bf class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3200
diff changeset
  1421
96c6fe5845bf class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3200
diff changeset
  1422
    "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
  1423
! !
96c6fe5845bf class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3200
diff changeset
  1424
2854
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1425
!ProjectProblem::MethodSourceCorrupted methodsFor:'accessing'!
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1426
3160
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1427
severity
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1428
    "Return a severity - one of #error, #warning, #info"
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1429
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1430
    ^#error
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1431
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1432
    "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
  1433
! !
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1434
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1435
!ProjectProblem::MethodSourceCorrupted methodsFor:'accessing-description'!
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1436
2854
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1437
description
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1438
    "Return a (HTML) describing the problem."
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1439
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1440
    ^
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1441
'Source code for %1 is <b>corrupted</b>. This is likely because
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1442
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
  1443
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
  1444
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
  1445
<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
  1446
<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
  1447
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
  1448
    bindWith: (self linkToMethod)
3154
72ca7e81fbbf *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3152
diff changeset
  1449
	with: package
2854
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1450
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1451
    "Modified: / 11-04-2012 / 12:47:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1452
!
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1453
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1454
label
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1455
    "Return the label (possibly instance if a Text) shortly describing the problem"
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1456
3160
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1457
    ^ 'Corrupted source code for %1 >> %2' bindWith: className allBold with: selector allBold
2854
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1458
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1459
    "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
  1460
! !
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1461
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1462
!ProjectProblem::MethodSourceNotAvailable methodsFor:'accessing'!
2854
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1463
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1464
severity
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1465
    "Return a severity - one of #error, #warning, #info"
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1466
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1467
    ^#error
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1468
3160
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1469
    "Created: / 11-04-2012 / 12:47:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2854
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1470
! !
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1471
3160
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1472
!ProjectProblem::MethodSourceNotAvailable methodsFor:'accessing-description'!
2854
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1473
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1474
description
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1475
    "Return a (HTML) describing the problem."
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1476
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1477
    ^
3147
115c192388ea class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3144
diff changeset
  1478
'Source code for %1 is not available. Check your package path
2854
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1479
and/or source code management settings.
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1480
'
2911
fec187eef58d - new classes for pool and class ordering problems
vrany
parents: 2855
diff changeset
  1481
    bindWith: (self linkToMethod)
3154
72ca7e81fbbf *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3152
diff changeset
  1482
	with: package
2854
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1483
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1484
    "Modified: / 11-04-2012 / 12:44:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1485
!
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1486
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1487
label
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1488
    "Return the label (possibly instance if a Text) shortly describing the problem"
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1489
3160
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1490
    ^ 'Unavailable source code for %1 >> %2' bindWith: className allBold with: selector allBold
2854
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1491
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1492
    "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
  1493
! !
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1494
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1495
!ProjectProblem::ProjectDefinitionDoesNotExist methodsFor:'accessing'!
2854
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1496
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1497
severity
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1498
    "Return a severity - one of #error, #warning, #info"
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1499
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1500
    ^#error
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1501
3160
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1502
    "Created: / 11-04-2012 / 12:48:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2854
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1503
! !
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1504
3160
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1505
!ProjectProblem::ProjectDefinitionDoesNotExist methodsFor:'accessing-description'!
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
  1506
24f170d78e3b initial checkin
vrany
parents:
diff changeset
  1507
description
24f170d78e3b initial checkin
vrany
parents:
diff changeset
  1508
    "Return a (HTML) describing the problem."
24f170d78e3b initial checkin
vrany
parents:
diff changeset
  1509
3152
1bef57aa5c95 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3147
diff changeset
  1510
    package = 'stx' ifTrue:[
3198
74cd57db7717 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3171
diff changeset
  1511
        ^
3154
72ca7e81fbbf *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3152
diff changeset
  1512
'Move your code to another package.
3198
74cd57db7717 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3171
diff changeset
  1513
<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
  1514
    ].
1bef57aa5c95 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3147
diff changeset
  1515
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
  1516
    ^
3152
1bef57aa5c95 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3147
diff changeset
  1517
'A project definition class for package "%1" does not exist.
1bef57aa5c95 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3147
diff changeset
  1518
<br>Project definition classes keep the meta information of a package,
1bef57aa5c95 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3147
diff changeset
  1519
such as contents and build parameters.
3198
74cd57db7717 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3171
diff changeset
  1520
You <b>must</b> create it, otherwise package management won''t work,
74cd57db7717 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3171
diff changeset
  1521
and the package cannot be compiled to a binary dll.'
3152
1bef57aa5c95 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3147
diff changeset
  1522
    bindWith: package
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
  1523
24f170d78e3b initial checkin
vrany
parents:
diff changeset
  1524
    "Modified: / 23-02-2012 / 13:29:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
24f170d78e3b initial checkin
vrany
parents:
diff changeset
  1525
!
24f170d78e3b initial checkin
vrany
parents:
diff changeset
  1526
24f170d78e3b initial checkin
vrany
parents:
diff changeset
  1527
label
3152
1bef57aa5c95 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3147
diff changeset
  1528
    ^'Project definition class for "%1" does not exist' bindWith: package
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
  1529
24f170d78e3b initial checkin
vrany
parents:
diff changeset
  1530
    "Modified: / 23-02-2012 / 13:21:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
24f170d78e3b initial checkin
vrany
parents:
diff changeset
  1531
! !
24f170d78e3b initial checkin
vrany
parents:
diff changeset
  1532
3152
1bef57aa5c95 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3147
diff changeset
  1533
!ProjectProblem::ProjectDefinitionDoesNotExist methodsFor:'fixing'!
1bef57aa5c95 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3147
diff changeset
  1534
3225
33d97afaea88 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3217
diff changeset
  1535
alreadyFixed
33d97afaea88 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3217
diff changeset
  1536
    ^ (ProjectDefinition definitionClassForPackage:package) notNil        
33d97afaea88 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3217
diff changeset
  1537
!
33d97afaea88 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3217
diff changeset
  1538
3152
1bef57aa5c95 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3147
diff changeset
  1539
doCreateAs:whatType
3198
74cd57db7717 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3171
diff changeset
  1540
    |prjDef|
74cd57db7717 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3171
diff changeset
  1541
74cd57db7717 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3171
diff changeset
  1542
    prjDef := ProjectDefinition
74cd57db7717 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3171
diff changeset
  1543
        definitionClassForPackage:package
74cd57db7717 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3171
diff changeset
  1544
        projectType: whatType
74cd57db7717 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3171
diff changeset
  1545
        createIfAbsent:true.
74cd57db7717 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3171
diff changeset
  1546
74cd57db7717 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3171
diff changeset
  1547
    prjDef
74cd57db7717 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3171
diff changeset
  1548
        updateMethodsCodeUsingCompiler:Compiler 
74cd57db7717 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3171
diff changeset
  1549
        ignoreOldDefinition:true
3152
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
doCreateAsGUIApplication
1bef57aa5c95 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3147
diff changeset
  1553
    self doCreateAs:ProjectDefinition guiApplicationType
1bef57aa5c95 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3147
diff changeset
  1554
!
1bef57aa5c95 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3147
diff changeset
  1555
1bef57aa5c95 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3147
diff changeset
  1556
doCreateAsLibrary
1bef57aa5c95 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3147
diff changeset
  1557
    self doCreateAs:ProjectDefinition libraryType
1bef57aa5c95 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3147
diff changeset
  1558
!
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
doCreateAsNonGUIApplication
1bef57aa5c95 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3147
diff changeset
  1561
    self doCreateAs:ProjectDefinition nonGuiApplicationType
1bef57aa5c95 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3147
diff changeset
  1562
!
1bef57aa5c95 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3147
diff changeset
  1563
1bef57aa5c95 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3147
diff changeset
  1564
fixes
1bef57aa5c95 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3147
diff changeset
  1565
    package = 'stx' ifTrue:[ ^ #() ].
1bef57aa5c95 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3147
diff changeset
  1566
3154
72ca7e81fbbf *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3152
diff changeset
  1567
    ^ Array
72ca7e81fbbf *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3152
diff changeset
  1568
	with: (Array with:'Create as Library'             with:[ self doCreateAsLibrary ]               )
72ca7e81fbbf *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3152
diff changeset
  1569
	with: (Array with:'Create as GUI Application'     with:[ self doCreateAsGUIApplication ]        )
72ca7e81fbbf *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3152
diff changeset
  1570
	with: (Array with:'Create as non-GUI Application' with:[ self doCreateAsNonGUIApplication ]     )
3152
1bef57aa5c95 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3147
diff changeset
  1571
! !
1bef57aa5c95 class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3147
diff changeset
  1572
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
  1573
!ProjectProblem class methodsFor:'documentation'!
24f170d78e3b initial checkin
vrany
parents:
diff changeset
  1574
2912
bae30e419d21 fixes in descriptions
vrany
parents: 2911
diff changeset
  1575
version
3382
025420bf2e2f Refactor to implement #displayOn:aGcOrStream instead of #displayString
Stefan Vogel <sv@exept.de>
parents: 3342
diff changeset
  1576
    ^ '$Header: /cvs/stx/stx/libbasic3/ProjectProblem.st,v 1.24 2013-08-19 16:01:06 stefan Exp $'
2912
bae30e419d21 fixes in descriptions
vrany
parents: 2911
diff changeset
  1577
!
bae30e419d21 fixes in descriptions
vrany
parents: 2911
diff changeset
  1578
bae30e419d21 fixes in descriptions
vrany
parents: 2911
diff changeset
  1579
version_CVS
3382
025420bf2e2f Refactor to implement #displayOn:aGcOrStream instead of #displayString
Stefan Vogel <sv@exept.de>
parents: 3342
diff changeset
  1580
    ^ '$Header: /cvs/stx/stx/libbasic3/ProjectProblem.st,v 1.24 2013-08-19 16:01:06 stefan Exp $'
2912
bae30e419d21 fixes in descriptions
vrany
parents: 2911
diff changeset
  1581
!
bae30e419d21 fixes in descriptions
vrany
parents: 2911
diff changeset
  1582
3243
292f55bcd8f0 Fixes in ChangeSet::ClassSourceWriter.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3237
diff changeset
  1583
version_HG
292f55bcd8f0 Fixes in ChangeSet::ClassSourceWriter.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3237
diff changeset
  1584
292f55bcd8f0 Fixes in ChangeSet::ClassSourceWriter.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3237
diff changeset
  1585
    ^ '$Changeset: <not expanded> $'
292f55bcd8f0 Fixes in ChangeSet::ClassSourceWriter.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3237
diff changeset
  1586
!
292f55bcd8f0 Fixes in ChangeSet::ClassSourceWriter.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3237
diff changeset
  1587
2854
b92e9c1273b9 updates
vrany
parents: 2798
diff changeset
  1588
version_SVN
3382
025420bf2e2f Refactor to implement #displayOn:aGcOrStream instead of #displayString
Stefan Vogel <sv@exept.de>
parents: 3342
diff changeset
  1589
    ^ '$Id: ProjectProblem.st,v 1.24 2013-08-19 16:01:06 stefan Exp $'
2798
24f170d78e3b initial checkin
vrany
parents:
diff changeset
  1590
! !
3160
67e03d5fd83a class: ProjectProblem
Claus Gittinger <cg@exept.de>
parents: 3154
diff changeset
  1591