JavaMethodWithException.st
author Claus Gittinger <cg@exept.de>
Sun, 23 Feb 2020 14:03:15 +0100
branchcvs_MAIN
changeset 3997 5bb44f7e1d20
parent 3412 df11bb428463
permissions -rw-r--r--
#REFACTORING by exept class: Java class changed: #dumpConfigOn:
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
454
38f590639d65 *** empty log message ***
cg
parents: 427
diff changeset
     1
"
3324
a58245c0e83a Updated copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3290
diff changeset
     2
 COPYRIGHT (c) 1996-2015 by Claus Gittinger
454
38f590639d65 *** empty log message ***
cg
parents: 427
diff changeset
     3
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2309
diff changeset
     4
 New code and modifications done at SWING Research Group [1]:
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2309
diff changeset
     5
3324
a58245c0e83a Updated copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3290
diff changeset
     6
 COPYRIGHT (c) 2010-2015 by Jan Vrany, Jan Kurs and Marcel Hlopko
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2309
diff changeset
     7
                            SWING Research Group, Czech Technical University in Prague
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2309
diff changeset
     8
454
38f590639d65 *** empty log message ***
cg
parents: 427
diff changeset
     9
 This software is furnished under a license and may be used
38f590639d65 *** empty log message ***
cg
parents: 427
diff changeset
    10
 only in accordance with the terms of that license and with the
38f590639d65 *** empty log message ***
cg
parents: 427
diff changeset
    11
 inclusion of the above copyright notice.   This software may not
38f590639d65 *** empty log message ***
cg
parents: 427
diff changeset
    12
 be provided or otherwise made available to, or used by, any
38f590639d65 *** empty log message ***
cg
parents: 427
diff changeset
    13
 other person.  No title to or ownership of the software is
38f590639d65 *** empty log message ***
cg
parents: 427
diff changeset
    14
 hereby transferred.
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2309
diff changeset
    15
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2309
diff changeset
    16
 [1] Code written at SWING Research Group contains a signature
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2309
diff changeset
    17
     of one of the above copright owners. For exact set of such code,
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2309
diff changeset
    18
     see the differences between this version and version stx:libjava
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2309
diff changeset
    19
     as of 1.9.2010
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2107
diff changeset
    20
"
688
dcd829fd4094 *** empty log message ***
cg
parents: 616
diff changeset
    21
"{ Package: 'stx:libjava' }"
dcd829fd4094 *** empty log message ***
cg
parents: 616
diff changeset
    22
2678
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2396
diff changeset
    23
JavaMethod variableSubclass:#JavaMethodWithException
422
52d7ad2a295d initial checkin
cg
parents:
diff changeset
    24
	instanceVariableNames:'exceptionTable'
52d7ad2a295d initial checkin
cg
parents:
diff changeset
    25
	classVariableNames:''
52d7ad2a295d initial checkin
cg
parents:
diff changeset
    26
	poolDictionaries:''
2107
f4509f6767fa category change
Claus Gittinger <cg@exept.de>
parents: 2082
diff changeset
    27
	category:'Languages-Java-Classes'
422
52d7ad2a295d initial checkin
cg
parents:
diff changeset
    28
!
52d7ad2a295d initial checkin
cg
parents:
diff changeset
    29
454
38f590639d65 *** empty log message ***
cg
parents: 427
diff changeset
    30
!JavaMethodWithException class methodsFor:'documentation'!
38f590639d65 *** empty log message ***
cg
parents: 427
diff changeset
    31
38f590639d65 *** empty log message ***
cg
parents: 427
diff changeset
    32
copyright
38f590639d65 *** empty log message ***
cg
parents: 427
diff changeset
    33
"
3324
a58245c0e83a Updated copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3290
diff changeset
    34
 COPYRIGHT (c) 1996-2015 by Claus Gittinger
454
38f590639d65 *** empty log message ***
cg
parents: 427
diff changeset
    35
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2309
diff changeset
    36
 New code and modifications done at SWING Research Group [1]:
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2309
diff changeset
    37
3324
a58245c0e83a Updated copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3290
diff changeset
    38
 COPYRIGHT (c) 2010-2015 by Jan Vrany, Jan Kurs and Marcel Hlopko
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2309
diff changeset
    39
                            SWING Research Group, Czech Technical University in Prague
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2309
diff changeset
    40
454
38f590639d65 *** empty log message ***
cg
parents: 427
diff changeset
    41
 This software is furnished under a license and may be used
38f590639d65 *** empty log message ***
cg
parents: 427
diff changeset
    42
 only in accordance with the terms of that license and with the
38f590639d65 *** empty log message ***
cg
parents: 427
diff changeset
    43
 inclusion of the above copyright notice.   This software may not
38f590639d65 *** empty log message ***
cg
parents: 427
diff changeset
    44
 be provided or otherwise made available to, or used by, any
38f590639d65 *** empty log message ***
cg
parents: 427
diff changeset
    45
 other person.  No title to or ownership of the software is
38f590639d65 *** empty log message ***
cg
parents: 427
diff changeset
    46
 hereby transferred.
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2309
diff changeset
    47
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2309
diff changeset
    48
 [1] Code written at SWING Research Group contains a signature
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2309
diff changeset
    49
     of one of the above copright owners. For exact set of such code,
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2309
diff changeset
    50
     see the differences between this version and version stx:libjava
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2309
diff changeset
    51
     as of 1.9.2010
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2309
diff changeset
    52
2082
ee2fac5efadb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 749
diff changeset
    53
"
454
38f590639d65 *** empty log message ***
cg
parents: 427
diff changeset
    54
! !
422
52d7ad2a295d initial checkin
cg
parents:
diff changeset
    55
616
53bf2ec50346 *** empty log message ***
cg
parents: 454
diff changeset
    56
!JavaMethodWithException class methodsFor:'initialization'!
53bf2ec50346 *** empty log message ***
cg
parents: 454
diff changeset
    57
53bf2ec50346 *** empty log message ***
cg
parents: 454
diff changeset
    58
initialize
53bf2ec50346 *** empty log message ***
cg
parents: 454
diff changeset
    59
    self flags:(self flags bitOr:Behavior flagJavaMethod).
53bf2ec50346 *** empty log message ***
cg
parents: 454
diff changeset
    60
! !
53bf2ec50346 *** empty log message ***
cg
parents: 454
diff changeset
    61
422
52d7ad2a295d initial checkin
cg
parents:
diff changeset
    62
!JavaMethodWithException methodsFor:'accessing'!
52d7ad2a295d initial checkin
cg
parents:
diff changeset
    63
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2309
diff changeset
    64
exceptionClasses
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2309
diff changeset
    65
    "Return a collection of declared exception classes that this method
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2309
diff changeset
    66
     throws"    
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2309
diff changeset
    67
    exceptionTable isNil ifTrue: [ ^ nil ].
3290
76d4443744ed JavaClass memory optimization (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3232
diff changeset
    68
    ^ self exceptionTable collect: [:classRef | classRef resolve ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2309
diff changeset
    69
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2309
diff changeset
    70
    "Created: / 01-08-2012 / 10:09:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3290
76d4443744ed JavaClass memory optimization (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3232
diff changeset
    71
    "Modified: / 04-12-2014 / 14:29:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2309
diff changeset
    72
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2309
diff changeset
    73
422
52d7ad2a295d initial checkin
cg
parents:
diff changeset
    74
exceptionTable
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2107
diff changeset
    75
    "return exception table - collection of classRefs"
3290
76d4443744ed JavaClass memory optimization (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3232
diff changeset
    76
76d4443744ed JavaClass memory optimization (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3232
diff changeset
    77
    | cp |
76d4443744ed JavaClass memory optimization (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3232
diff changeset
    78
76d4443744ed JavaClass memory optimization (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3232
diff changeset
    79
    exceptionTable isNil ifTrue:[ ^ nil ].
76d4443744ed JavaClass memory optimization (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3232
diff changeset
    80
    cp := self constantPool.
76d4443744ed JavaClass memory optimization (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3232
diff changeset
    81
    ^ exceptionTable collect:[ :classRefIndex | cp at: classRefIndex ]
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2107
diff changeset
    82
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2107
diff changeset
    83
    "Created: / 05-11-1998 / 19:58:38 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2107
diff changeset
    84
    "Modified: / 04-06-2011 / 17:20:17 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
3290
76d4443744ed JavaClass memory optimization (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3232
diff changeset
    85
    "Modified: / 04-12-2014 / 14:30:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2107
diff changeset
    86
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2107
diff changeset
    87
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2107
diff changeset
    88
getExceptionTable
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2107
diff changeset
    89
 "return exception table - collection of classRefs"
422
52d7ad2a295d initial checkin
cg
parents:
diff changeset
    90
    ^ exceptionTable
52d7ad2a295d initial checkin
cg
parents:
diff changeset
    91
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2107
diff changeset
    92
    "Created: / 04-02-2011 / 23:07:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2107
diff changeset
    93
    "Modified: / 04-06-2011 / 17:20:29 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
422
52d7ad2a295d initial checkin
cg
parents:
diff changeset
    94
!
52d7ad2a295d initial checkin
cg
parents:
diff changeset
    95
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2107
diff changeset
    96
setExceptionTable: anArray 
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2107
diff changeset
    97
     "set exception table - expected arg: collection of classRefs"
422
52d7ad2a295d initial checkin
cg
parents:
diff changeset
    98
    exceptionTable := anArray.
52d7ad2a295d initial checkin
cg
parents:
diff changeset
    99
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2107
diff changeset
   100
    "Created: / 05-11-1998 / 19:58:43 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2107
diff changeset
   101
    "Modified: / 04-06-2011 / 17:21:17 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
422
52d7ad2a295d initial checkin
cg
parents:
diff changeset
   102
! !
52d7ad2a295d initial checkin
cg
parents:
diff changeset
   103
3232
1ab5987f3982 Oops, fix for class reader - remember exception table.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2731
diff changeset
   104
!JavaMethodWithException methodsFor:'misc'!
1ab5987f3982 Oops, fix for class reader - remember exception table.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2731
diff changeset
   105
1ab5987f3982 Oops, fix for class reader - remember exception table.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2731
diff changeset
   106
fromMethod:aJavaMethod
1ab5987f3982 Oops, fix for class reader - remember exception table.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2731
diff changeset
   107
    "copy values from another javaMethod"
1ab5987f3982 Oops, fix for class reader - remember exception table.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2731
diff changeset
   108
1ab5987f3982 Oops, fix for class reader - remember exception table.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2731
diff changeset
   109
    super fromMethod:aJavaMethod.
3290
76d4443744ed JavaClass memory optimization (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3232
diff changeset
   110
    exceptionTable := aJavaMethod getExceptionTable
3232
1ab5987f3982 Oops, fix for class reader - remember exception table.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2731
diff changeset
   111
1ab5987f3982 Oops, fix for class reader - remember exception table.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2731
diff changeset
   112
    "Created: / 14-08-2014 / 12:39:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3290
76d4443744ed JavaClass memory optimization (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3232
diff changeset
   113
    "Modified: / 04-12-2014 / 14:31:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3232
1ab5987f3982 Oops, fix for class reader - remember exception table.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2731
diff changeset
   114
! !
1ab5987f3982 Oops, fix for class reader - remember exception table.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2731
diff changeset
   115
422
52d7ad2a295d initial checkin
cg
parents:
diff changeset
   116
!JavaMethodWithException class methodsFor:'documentation'!
52d7ad2a295d initial checkin
cg
parents:
diff changeset
   117
52d7ad2a295d initial checkin
cg
parents:
diff changeset
   118
version
3412
df11bb428463 Merged with mercurial revision 4f3cc813be4 (8 changesets total)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3360
diff changeset
   119
    ^ '$Header: /cvs/stx/stx/libjava/JavaMethodWithException.st,v 1.14 2015-03-20 12:08:00 vrany Exp $'
2202
5ad161e32a6f changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
   120
!
5ad161e32a6f changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
   121
5ad161e32a6f changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
   122
version_CVS
3412
df11bb428463 Merged with mercurial revision 4f3cc813be4 (8 changesets total)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3360
diff changeset
   123
    ^ '$Header: /cvs/stx/stx/libjava/JavaMethodWithException.st,v 1.14 2015-03-20 12:08:00 vrany Exp $'
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2309
diff changeset
   124
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2309
diff changeset
   125
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2309
diff changeset
   126
version_HG
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2309
diff changeset
   127
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2309
diff changeset
   128
    ^ '$Changeset: <not expanded> $'
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2107
diff changeset
   129
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2107
diff changeset
   130
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2107
diff changeset
   131
version_SVN
2731
13f5be2bf83b Merged d87e89dd5276 and fe83a843a7bf (branch default - CVS HEAD)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2711 2678
diff changeset
   132
    ^ 'Id'
422
52d7ad2a295d initial checkin
cg
parents:
diff changeset
   133
! !
2107
f4509f6767fa category change
Claus Gittinger <cg@exept.de>
parents: 2082
diff changeset
   134
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2309
diff changeset
   135
2082
ee2fac5efadb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 749
diff changeset
   136
JavaMethodWithException initialize!