JavaLookupTests.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Wed, 19 Mar 2014 17:44:46 +0000
changeset 3041 7a326f9f8aad
parent 3040 ff90519ce3ac
child 3330 b14c58b2876c
permissions -rw-r--r--
Bug fix in interop with respect to overloaded methods in subclasses. This commit fixes bug in Smalltalk-to-Java lookup. When a proxy was compiled for the very first time and only one matching candidate was found, no argument check was performed and that method was called directly. This is wrong, because later on a new subclass which overloads that could be loaded and in this case we have to search again for candidates and select correct one. This commit fixes this problem by: * Always compiling guard that ensures dynamic proxy recompilation if argument type(s) change. * When recompiling method, a new set of candidates is looked up, based on receiver's class (before cached list of candidates were used to select matching method from) * When installing proxy, always install into receiver's class.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     1
"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     2
 Copyright (c) 2010-2011 Jan Vrany, Jan Kurs & Marcel Hlopko,
3040
ff90519ce3ac Interop tests refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2976
diff changeset
     3
                         SWING Research Group, Czech Technical University
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     4
                         in Prague
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     5
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     6
 Permission is hereby granted, free of charge, to any person
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     7
 obtaining a copy of this software and associated documentation
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     8
 files (the 'Software'), to deal in the Software without
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     9
 restriction, including without limitation the rights to use,
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    10
 copy, modify, merge, publish, distribute, sublicense, and/or sell
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    11
 copies of the Software, and to permit persons to whom the
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    12
 Software is furnished to do so, subject to the following
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    13
 conditions:
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    14
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    15
 The above copyright notice and this permission notice shall be
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    16
 included in all copies or substantial portions of the Software.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    17
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    18
 THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    19
 EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    20
 OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    21
 NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    22
 HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    23
 WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    24
 FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    25
 OTHER DEALINGS IN THE SOFTWARE.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    26
"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    27
"{ Package: 'stx:libjava' }"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    28
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    29
TestCase subclass:#JavaLookupTests
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    30
	instanceVariableNames:''
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    31
	classVariableNames:''
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    32
	poolDictionaries:''
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    33
	category:'Languages-Java-Tests-Interop'
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    34
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    35
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    36
!JavaLookupTests class methodsFor:'documentation'!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    37
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    38
copyright
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    39
"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    40
 Copyright (c) 2010-2011 Jan Vrany, Jan Kurs & Marcel Hlopko,
3040
ff90519ce3ac Interop tests refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2976
diff changeset
    41
                         SWING Research Group, Czech Technical University
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    42
                         in Prague
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    43
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    44
 Permission is hereby granted, free of charge, to any person
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    45
 obtaining a copy of this software and associated documentation
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    46
 files (the 'Software'), to deal in the Software without
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    47
 restriction, including without limitation the rights to use,
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    48
 copy, modify, merge, publish, distribute, sublicense, and/or sell
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    49
 copies of the Software, and to permit persons to whom the
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    50
 Software is furnished to do so, subject to the following
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    51
 conditions:
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    52
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    53
 The above copyright notice and this permission notice shall be
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    54
 included in all copies or substantial portions of the Software.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    55
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    56
 THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    57
 EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    58
 OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    59
 NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    60
 HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    61
 WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    62
 FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    63
 OTHER DEALINGS IN THE SOFTWARE.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    64
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    65
"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    66
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    67
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    68
documentation
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    69
"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    70
    This testcase tests the java-smalltalk interop lookup
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    71
    (JavaLookup)
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    72
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    73
    [author:]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    74
        Jan Vrany <jan.vrany@fit.cvut.cz>
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    75
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    76
    [instance variables:]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    77
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    78
    [class variables:]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    79
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    80
    [see also:]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    81
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    82
"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    83
! !
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    84
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    85
!JavaLookupTests class methodsFor:'resources'!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    86
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    87
resources
3040
ff90519ce3ac Interop tests refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2976
diff changeset
    88
    ^ Array with: JavaTestsResource.
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    89
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    90
    "Created: / 11-04-2011 / 19:38:11 / kursjan <kursjan@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    91
    "Modified: / 29-08-2011 / 23:35:06 / Jan Kurs <kursjan@fit.cvut.cz>"
3040
ff90519ce3ac Interop tests refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2976
diff changeset
    92
    "Modified: / 19-03-2014 / 11:27:12 / 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:
diff changeset
    93
! !
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    94
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    95
!JavaLookupTests methodsFor:'running'!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    96
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    97
setUp
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    98
    | md |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    99
3041
7a326f9f8aad Bug fix in interop with respect to overloaded methods in subclasses.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3040
diff changeset
   100
    self javaTestClasses do:[:each | 
7a326f9f8aad Bug fix in interop with respect to overloaded methods in subclasses.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3040
diff changeset
   101
        md := each methodDictionary.
7a326f9f8aad Bug fix in interop with respect to overloaded methods in subclasses.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3040
diff changeset
   102
        md copy keysAndValuesDo:[:sel :m|
7a326f9f8aad Bug fix in interop with respect to overloaded methods in subclasses.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3040
diff changeset
   103
            m isProxyMethod ifTrue:[md removeKey: sel]
7a326f9f8aad Bug fix in interop with respect to overloaded methods in subclasses.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3040
diff changeset
   104
        ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   105
    ].
2976
a384a02381c0 Update JavaLookup to work with new JIT-compilation scheme...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2953
diff changeset
   106
    self personManipulatorClass theClass constantPool invalidate.
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   107
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   108
    "Created: / 03-12-2012 / 17:50:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   109
    "Modified: / 16-12-2012 / 13:35:52 / Marcel Hlopko <marcel.hlopko@fit.cvut.cz>"
3041
7a326f9f8aad Bug fix in interop with respect to overloaded methods in subclasses.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3040
diff changeset
   110
    "Modified: / 19-03-2014 / 13:47:55 / 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:
diff changeset
   111
! !
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   112
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   113
!JavaLookupTests methodsFor:'support'!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   114
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   115
javaTestClass
3040
ff90519ce3ac Interop tests refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2976
diff changeset
   116
    ^ JAVA stx libjava tests mocks interop Object.
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   117
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   118
    "Created: / 05-09-2011 / 20:13:48 / Jan Kurs <kursjan@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   119
    "Modified: / 30-11-2012 / 22:16:24 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
3040
ff90519ce3ac Interop tests refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2976
diff changeset
   120
    "Modified: / 19-03-2014 / 11:28:08 / 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:
diff changeset
   121
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   122
3041
7a326f9f8aad Bug fix in interop with respect to overloaded methods in subclasses.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3040
diff changeset
   123
javaTestClasses
7a326f9f8aad Bug fix in interop with respect to overloaded methods in subclasses.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3040
diff changeset
   124
    "raise an error: this method should be implemented (TODO)"
7a326f9f8aad Bug fix in interop with respect to overloaded methods in subclasses.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3040
diff changeset
   125
7a326f9f8aad Bug fix in interop with respect to overloaded methods in subclasses.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3040
diff changeset
   126
    ^ OrderedCollection streamContents:[:s|
7a326f9f8aad Bug fix in interop with respect to overloaded methods in subclasses.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3040
diff changeset
   127
        s
7a326f9f8aad Bug fix in interop with respect to overloaded methods in subclasses.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3040
diff changeset
   128
            nextPut: self javaTestClass;
7a326f9f8aad Bug fix in interop with respect to overloaded methods in subclasses.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3040
diff changeset
   129
            nextPut: JAVA stx libjava tests mocks interop Person theClass.
7a326f9f8aad Bug fix in interop with respect to overloaded methods in subclasses.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3040
diff changeset
   130
    ]
7a326f9f8aad Bug fix in interop with respect to overloaded methods in subclasses.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3040
diff changeset
   131
7a326f9f8aad Bug fix in interop with respect to overloaded methods in subclasses.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3040
diff changeset
   132
    "Created: / 19-03-2014 / 13:45:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
7a326f9f8aad Bug fix in interop with respect to overloaded methods in subclasses.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3040
diff changeset
   133
!
7a326f9f8aad Bug fix in interop with respect to overloaded methods in subclasses.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3040
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:
diff changeset
   135
personManipulatorClass
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   136
    "Person Manipulator can interact with Person class defined in Java"
3040
ff90519ce3ac Interop tests refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2976
diff changeset
   137
ff90519ce3ac Interop tests refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2976
diff changeset
   138
    ^ JAVA stx libjava tests mocks interop PersonManipulator.
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   139
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   140
    "Created: / 06-09-2011 / 21:48:16 / Jan Kurs <kursjan@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   141
    "Modified: / 30-11-2012 / 22:16:19 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
3040
ff90519ce3ac Interop tests refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2976
diff changeset
   142
    "Modified: / 19-03-2014 / 11:28:14 / 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:
diff changeset
   143
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   144
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   145
setManipulatorClass
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   146
    "Person Manipulator can interact with Person class defined in Java"
3040
ff90519ce3ac Interop tests refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2976
diff changeset
   147
ff90519ce3ac Interop tests refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2976
diff changeset
   148
    ^ JAVA stx libjava tests mocks interop SetManipulator.
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   149
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   150
    "Created: / 25-09-2011 / 16:41:02 / Jan Kurs <kursjan@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   151
    "Modified: / 30-11-2012 / 22:13:34 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
3040
ff90519ce3ac Interop tests refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2976
diff changeset
   152
    "Modified: / 19-03-2014 / 11:28:21 / 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:
diff changeset
   153
! !
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   154
2791
6a57107d168a Improvement in interop/java extensions.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2731
diff changeset
   155
!JavaLookupTests methodsFor:'tests - java extensions'!
6a57107d168a Improvement in interop/java extensions.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2731
diff changeset
   156
6a57107d168a Improvement in interop/java extensions.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2731
diff changeset
   157
test_java_extension_01
6a57107d168a Improvement in interop/java extensions.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2731
diff changeset
   158
3040
ff90519ce3ac Interop tests refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2976
diff changeset
   159
    Compiler compile: 'fooPerson ^ 0' forClass: JAVA stx libjava tests mocks interop Person theClass.
ff90519ce3ac Interop tests refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2976
diff changeset
   160
    self assert: JAVA stx libjava tests mocks interop Person new fooPerson == 0.
2791
6a57107d168a Improvement in interop/java extensions.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2731
diff changeset
   161
6a57107d168a Improvement in interop/java extensions.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2731
diff changeset
   162
    "Created: / 04-10-2013 / 15:07:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3040
ff90519ce3ac Interop tests refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2976
diff changeset
   163
    "Modified: / 19-03-2014 / 11:28:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2791
6a57107d168a Improvement in interop/java extensions.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2731
diff changeset
   164
!
6a57107d168a Improvement in interop/java extensions.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2731
diff changeset
   165
6a57107d168a Improvement in interop/java extensions.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2731
diff changeset
   166
test_java_extension_02_1
6a57107d168a Improvement in interop/java extensions.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2731
diff changeset
   167
3040
ff90519ce3ac Interop tests refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2976
diff changeset
   168
    Compiler compile: 'fooIPerson1 ^ 1' forClass: JAVA stx libjava tests mocks interop IPerson1 theClass.
ff90519ce3ac Interop tests refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2976
diff changeset
   169
    self assert: JAVA stx libjava tests mocks interop Person new fooIPerson1 == 1.
2791
6a57107d168a Improvement in interop/java extensions.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2731
diff changeset
   170
6a57107d168a Improvement in interop/java extensions.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2731
diff changeset
   171
    "Created: / 04-10-2013 / 15:13:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3040
ff90519ce3ac Interop tests refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2976
diff changeset
   172
    "Modified: / 19-03-2014 / 11:28:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2791
6a57107d168a Improvement in interop/java extensions.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2731
diff changeset
   173
!
6a57107d168a Improvement in interop/java extensions.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2731
diff changeset
   174
6a57107d168a Improvement in interop/java extensions.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2731
diff changeset
   175
test_java_extension_02_2
6a57107d168a Improvement in interop/java extensions.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2731
diff changeset
   176
3040
ff90519ce3ac Interop tests refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2976
diff changeset
   177
    Compiler compile: 'fooIPerson2 ^ 2' forClass: JAVA stx libjava tests mocks interop IPerson2 theClass.
ff90519ce3ac Interop tests refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2976
diff changeset
   178
    self assert: JAVA stx libjava tests mocks interop Person new fooIPerson2 == 2
2791
6a57107d168a Improvement in interop/java extensions.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2731
diff changeset
   179
6a57107d168a Improvement in interop/java extensions.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2731
diff changeset
   180
    "Created: / 04-10-2013 / 15:12:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3040
ff90519ce3ac Interop tests refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2976
diff changeset
   181
    "Modified: / 19-03-2014 / 11:28:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2791
6a57107d168a Improvement in interop/java extensions.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2731
diff changeset
   182
!
6a57107d168a Improvement in interop/java extensions.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2731
diff changeset
   183
6a57107d168a Improvement in interop/java extensions.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2731
diff changeset
   184
test_java_extension_03
6a57107d168a Improvement in interop/java extensions.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2731
diff changeset
   185
3040
ff90519ce3ac Interop tests refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2976
diff changeset
   186
    Compiler compile: 'fooIPersonSuper ^ 3' forClass: JAVA stx libjava tests mocks interop IPersonSuper theClass.
ff90519ce3ac Interop tests refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2976
diff changeset
   187
    self assert: JAVA stx libjava tests mocks interop Person new fooIPersonSuper == 3
2791
6a57107d168a Improvement in interop/java extensions.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2731
diff changeset
   188
6a57107d168a Improvement in interop/java extensions.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2731
diff changeset
   189
    "Created: / 04-10-2013 / 15:11:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3040
ff90519ce3ac Interop tests refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2976
diff changeset
   190
    "Modified: / 19-03-2014 / 11:29:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2791
6a57107d168a Improvement in interop/java extensions.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2731
diff changeset
   191
!
6a57107d168a Improvement in interop/java extensions.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2731
diff changeset
   192
6a57107d168a Improvement in interop/java extensions.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2731
diff changeset
   193
test_java_extension_04
6a57107d168a Improvement in interop/java extensions.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2731
diff changeset
   194
3040
ff90519ce3ac Interop tests refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2976
diff changeset
   195
    Compiler compile: 'fooIPerson ^ 3' forClass: JAVA stx libjava tests mocks interop IPerson1 theClass.
ff90519ce3ac Interop tests refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2976
diff changeset
   196
    Compiler compile: 'fooIPerson ^ 4' forClass: JAVA stx libjava tests mocks interop IPerson2 theClass.
ff90519ce3ac Interop tests refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2976
diff changeset
   197
    self should:[self assert: JAVA stx libjava tests mocks interop Person new fooIPerson] raise: Object ambiguousMessageSignal
2791
6a57107d168a Improvement in interop/java extensions.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2731
diff changeset
   198
6a57107d168a Improvement in interop/java extensions.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2731
diff changeset
   199
    "Created: / 04-10-2013 / 15:43:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3040
ff90519ce3ac Interop tests refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2976
diff changeset
   200
    "Modified: / 19-03-2014 / 11:29:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2792
662204c99509 Oops, fixed interop for extensions defined on interfaces.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2791
diff changeset
   201
!
662204c99509 Oops, fixed interop for extensions defined on interfaces.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2791
diff changeset
   202
662204c99509 Oops, fixed interop for extensions defined on interfaces.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2791
diff changeset
   203
test_java_extension_05
662204c99509 Oops, fixed interop for extensions defined on interfaces.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2791
diff changeset
   204
3040
ff90519ce3ac Interop tests refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2976
diff changeset
   205
    Compiler compile: 'fooIPerson1_05 ^ 50' forClass: JAVA stx libjava tests mocks interop IPerson1 theClass.
ff90519ce3ac Interop tests refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2976
diff changeset
   206
    self assert: JAVA stx libjava tests mocks interop Director new fooIPerson1_05 == 50.
2792
662204c99509 Oops, fixed interop for extensions defined on interfaces.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2791
diff changeset
   207
662204c99509 Oops, fixed interop for extensions defined on interfaces.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2791
diff changeset
   208
    "Created: / 04-10-2013 / 20:09:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3040
ff90519ce3ac Interop tests refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2976
diff changeset
   209
    "Modified: / 19-03-2014 / 11:29:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2791
6a57107d168a Improvement in interop/java extensions.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2731
diff changeset
   210
! !
6a57107d168a Improvement in interop/java extensions.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2731
diff changeset
   211
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   212
!JavaLookupTests methodsFor:'tests - java lookup'!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   213
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   214
test3
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   215
    "I am not sure with this test :)"
3040
ff90519ce3ac Interop tests refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2976
diff changeset
   216
    self shouldnt: [(Java classForName: 'stx.libjava.tests.mocks.interop.Object') new isNumber] raise: Exception.
ff90519ce3ac Interop tests refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2976
diff changeset
   217
    self assert: (Java classForName: 'stx.libjava.tests.mocks.interop.Object') new isNumber = false.
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   218
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   219
    "Created: / 11-04-2011 / 19:43:37 / kursjan <kursjan@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   220
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   221
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   222
testBasic
3040
ff90519ce3ac Interop tests refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2976
diff changeset
   223
    self
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   224
        shouldnt:[ (Java classForName:'java.lang.Object') new hash ]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   225
        raise:Exception.
3040
ff90519ce3ac Interop tests refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2976
diff changeset
   226
    self
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   227
        shouldnt:[ (Java classForName:'java.lang.Object') new toString ]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   228
        raise:Exception.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   229
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   230
    "Created: / 11-04-2011 / 19:22:07 / kursjan <kursjan@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   231
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   232
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   233
testBoolean
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   234
    self assert: (self javaTestClass new getTrue) = true.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   235
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   236
    "Created: / 11-04-2011 / 19:32:51 / kursjan <kursjan@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   237
    "Created: / 05-09-2011 / 21:06:13 / Jan Kurs <kursjan@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   238
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   239
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   240
testBoolean2
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   241
    self assert: (self javaTestClass new getFalse) = false.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   242
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   243
    "Created: / 11-04-2011 / 19:32:51 / kursjan <kursjan@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   244
    "Created: / 05-09-2011 / 21:06:25 / Jan Kurs <kursjan@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   245
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   246
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   247
testBoolean3
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   248
    self assert: (self javaTestClass new getTruePrim) = true.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   249
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   250
    "Created: / 11-04-2011 / 19:32:51 / kursjan <kursjan@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   251
    "Created: / 05-09-2011 / 21:07:29 / Jan Kurs <kursjan@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   252
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   253
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   254
testBoolean4
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   255
    self assert: (self javaTestClass new getFalsePrim) = false.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   256
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   257
    "Created: / 11-04-2011 / 19:32:51 / kursjan <kursjan@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   258
    "Created: / 05-09-2011 / 21:07:38 / Jan Kurs <kursjan@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   259
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   260
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   261
testBoolean5
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   262
    self assert: (self javaTestClass new getFalseWithConversion) = false.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   263
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   264
    "Created: / 11-04-2011 / 19:32:51 / kursjan <kursjan@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   265
    "Created: / 25-09-2011 / 19:23:36 / Jan Kurs <kursjan@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   266
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   267
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   268
testBoolean6
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   269
    self assert: (self javaTestClass new getFalseFromBooleanValueOf) = false.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   270
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   271
    "Created: / 11-04-2011 / 19:32:51 / kursjan <kursjan@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   272
    "Created: / 25-09-2011 / 19:40:22 / Jan Kurs <kursjan@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   273
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   274
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   275
testClass
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   276
    self assert: ((Java classForName: 'java.lang.Object') isKindOf: JavaClass).
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   277
    self assert: ((Java classForName: 'java.lang.Object') new isKindOf: JavaObject)
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   278
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   279
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   280
    "Created: / 11-04-2011 / 19:22:07 / kursjan <kursjan@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   281
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   282
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   283
testDoesNotUnderstand
3040
ff90519ce3ac Interop tests refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2976
diff changeset
   284
    self
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   285
        should:[ (Java classForName:'java.lang.Object') new bafickyBaf ]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   286
        raise:MessageNotUnderstood.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   287
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   288
    "Created: / 11-04-2011 / 19:22:07 / kursjan <kursjan@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   289
    "Created: / 30-08-2011 / 22:06:16 / Jan Kurs <kursjan@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   290
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   291
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   292
testInterfaceMethodsWithNarrowerReturnType
3040
ff90519ce3ac Interop tests refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2976
diff changeset
   293
    "when a class A implements an interface I, and overridden method has narrower
ff90519ce3ac Interop tests refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2976
diff changeset
   294
    return type (e.g. method in I should return java.lang.Object, but overridden
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   295
    method in A declares return type of java.lang.String), java compiler generates
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   296
    synthetic method with the same name and return type declared in I, which just
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   297
    delegates to overridden method. This situation should not be considered
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   298
    as error case, instead, one of the methods should be returned."
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   299
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   300
self assert: (self javaTestClass new getMethodReturningObject) = 'working'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   301
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   302
    "Created: / 16-12-2012 / 12:56:01 / Marcel Hlopko <marcel.hlopko@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   303
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   304
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   305
testMultipleParameters
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   306
    "test multiple parameters"
3040
ff90519ce3ac Interop tests refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2976
diff changeset
   307
ff90519ce3ac Interop tests refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2976
diff changeset
   308
    self
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   309
        assert: (self javaTestClass new foo) = 0
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   310
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   311
    "Created: / 11-04-2011 / 19:48:54 / kursjan <kursjan@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   312
    "Modified: / 05-09-2011 / 20:18:03 / Jan Kurs <kursjan@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   313
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   314
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   315
testMultipleParameters1
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   316
    "test multiple parameters"
3040
ff90519ce3ac Interop tests refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2976
diff changeset
   317
ff90519ce3ac Interop tests refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2976
diff changeset
   318
    self
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   319
        assert: (self javaTestClass new foo: 1) = 1
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   320
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   321
    "Created: / 11-04-2011 / 19:48:54 / kursjan <kursjan@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   322
    "Created: / 05-09-2011 / 20:18:14 / Jan Kurs <kursjan@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   323
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   324
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   325
testMultipleParameters2
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   326
    "test multiple parameters"
3040
ff90519ce3ac Interop tests refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2976
diff changeset
   327
ff90519ce3ac Interop tests refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2976
diff changeset
   328
    self
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   329
        assert: (self javaTestClass new foo: 1 and: 2) = 2
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   330
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   331
    "Created: / 11-04-2011 / 19:48:54 / kursjan <kursjan@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   332
    "Created: / 05-09-2011 / 20:18:30 / Jan Kurs <kursjan@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   333
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   334
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   335
testPassingNilAsParameter
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   336
    "
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   337
    Scenario: from smalltalk, pass a nil to an overloaded method with object-type argument.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   338
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   339
    Question: What to do? Both matches, so Ambibuous message looks good,
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   340
    but then it behave differently if you do
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   341
        foo overloadedMethod: 'XXX'
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   342
        foo overloadedMethod: nil
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   343
    than if you do
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   344
        foo overloadedMethod: nil
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   345
        foo overloadedMethod: 'XXX'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   346
    On the other hand, which method do choose? Random one? Would lead into
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   347
    hard-to-debug situations.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   348
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   349
    No good solution so far..."
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   350
    <skip>
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   351
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   352
    self assert: false message:'Solution wanted'
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   353
3040
ff90519ce3ac Interop tests refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2976
diff changeset
   354
"/    self
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   355
"/        should:[r := self javaTestClass new overloadedMethod: nil]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   356
"/        raise: AmbiguousMessage
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   357
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   358
    "Created: / 16-12-2012 / 11:35:14 / Marcel Hlopko <marcel.hlopko@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   359
    "Modified: / 16-12-2012 / 17:21:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   360
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   361
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   362
testPassingNilAsParameter2
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   363
    "nil should match any formal argument object type (so should not match primitives)"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   364
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   365
    self assert: (self javaTestClass new overloadedMethodInt: nil) = 2.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   366
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   367
    "Created: / 16-12-2012 / 16:21:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   368
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   369
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   370
testSayHello
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   371
    self assert: (self javaTestClass new sayHello = 'hello').
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   372
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   373
    "Created: / 11-04-2011 / 19:32:51 / kursjan <kursjan@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   374
    "Modified: / 05-09-2011 / 21:05:40 / Jan Kurs <kursjan@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   375
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   376
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   377
testSayHelloStatic
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   378
    self assert: self javaTestClass staticSayHello = 'static hello'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   379
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   380
    "Created: / 11-04-2011 / 19:32:51 / kursjan <kursjan@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   381
    "Created: / 05-09-2011 / 20:26:44 / Jan Kurs <kursjan@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   382
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   383
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   384
testTypeOverloading
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   385
    "test type overloading"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   386
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   387
    self assert:(self javaTestClass new overloadedMethod: 1) = 4.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   388
    self assert:(self javaTestClass new overloadedMethod: 'Hi') = 3.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   389
    self assert:(self javaTestClass new overloadedMethod: 'Hi') = 3.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   390
    self assert:(self javaTestClass new overloadedMethod: 1) = 4.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   391
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   392
    "Created: / 11-04-2011 / 20:02:54 / kursjan <kursjan@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   393
    "Modified: / 05-09-2011 / 21:37:53 / Jan Kurs <kursjan@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   394
    "Modified (format): / 03-12-2012 / 17:45:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3041
7a326f9f8aad Bug fix in interop with respect to overloaded methods in subclasses.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3040
diff changeset
   395
!
7a326f9f8aad Bug fix in interop with respect to overloaded methods in subclasses.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3040
diff changeset
   396
7a326f9f8aad Bug fix in interop with respect to overloaded methods in subclasses.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3040
diff changeset
   397
testTypeOverloading_02
7a326f9f8aad Bug fix in interop with respect to overloaded methods in subclasses.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3040
diff changeset
   398
    "Tests overloaded method resulution"
7a326f9f8aad Bug fix in interop with respect to overloaded methods in subclasses.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3040
diff changeset
   399
7a326f9f8aad Bug fix in interop with respect to overloaded methods in subclasses.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3040
diff changeset
   400
    | director |
7a326f9f8aad Bug fix in interop with respect to overloaded methods in subclasses.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3040
diff changeset
   401
7a326f9f8aad Bug fix in interop with respect to overloaded methods in subclasses.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3040
diff changeset
   402
    director := JAVA stx libjava tests mocks interop Director new.
7a326f9f8aad Bug fix in interop with respect to overloaded methods in subclasses.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3040
diff changeset
   403
    director setTag1: 1.
7a326f9f8aad Bug fix in interop with respect to overloaded methods in subclasses.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3040
diff changeset
   404
    self assert: (director instVarNamed: #tag1) class == JAVA java lang Integer.
7a326f9f8aad Bug fix in interop with respect to overloaded methods in subclasses.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3040
diff changeset
   405
    self assert: ((director instVarNamed: #tag1) instVarNamed: #value) == 11.
7a326f9f8aad Bug fix in interop with respect to overloaded methods in subclasses.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3040
diff changeset
   406
7a326f9f8aad Bug fix in interop with respect to overloaded methods in subclasses.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3040
diff changeset
   407
    "Created: / 19-03-2014 / 12:39:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
7a326f9f8aad Bug fix in interop with respect to overloaded methods in subclasses.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3040
diff changeset
   408
!
7a326f9f8aad Bug fix in interop with respect to overloaded methods in subclasses.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3040
diff changeset
   409
7a326f9f8aad Bug fix in interop with respect to overloaded methods in subclasses.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3040
diff changeset
   410
testTypeOverloading_03
7a326f9f8aad Bug fix in interop with respect to overloaded methods in subclasses.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3040
diff changeset
   411
    "Tests overloaded method resulution. Scenario:
7a326f9f8aad Bug fix in interop with respect to overloaded methods in subclasses.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3040
diff changeset
   412
7a326f9f8aad Bug fix in interop with respect to overloaded methods in subclasses.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3040
diff changeset
   413
    1) create an instance of Person
7a326f9f8aad Bug fix in interop with respect to overloaded methods in subclasses.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3040
diff changeset
   414
    2) send it #setTag1: JAVA java lang Object new.
7a326f9f8aad Bug fix in interop with respect to overloaded methods in subclasses.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3040
diff changeset
   415
       This creates a proxy #setTag1: that should call
7a326f9f8aad Bug fix in interop with respect to overloaded methods in subclasses.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3040
diff changeset
   416
       setTag1(Ljava/lang/Object;)V
7a326f9f8aad Bug fix in interop with respect to overloaded methods in subclasses.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3040
diff changeset
   417
    3) create an instance of TheOneAndOnlyBoss
7a326f9f8aad Bug fix in interop with respect to overloaded methods in subclasses.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3040
diff changeset
   418
    4) send it #setTag1: JAVA java lang Object new.
7a326f9f8aad Bug fix in interop with respect to overloaded methods in subclasses.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3040
diff changeset
   419
       This should send TheOneAndOnlyBoss#setTag1(I)V"
7a326f9f8aad Bug fix in interop with respect to overloaded methods in subclasses.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3040
diff changeset
   420
7a326f9f8aad Bug fix in interop with respect to overloaded methods in subclasses.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3040
diff changeset
   421
    | person tag boss |
7a326f9f8aad Bug fix in interop with respect to overloaded methods in subclasses.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3040
diff changeset
   422
7a326f9f8aad Bug fix in interop with respect to overloaded methods in subclasses.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3040
diff changeset
   423
    self assert: (Java classNamed:'stx.libjava.tests mocks.interop.TheOneAndOnlyBoss') isNil.
7a326f9f8aad Bug fix in interop with respect to overloaded methods in subclasses.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3040
diff changeset
   424
    person := JAVA stx libjava tests mocks interop Person new.
7a326f9f8aad Bug fix in interop with respect to overloaded methods in subclasses.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3040
diff changeset
   425
    tag := JAVA java lang Object new.
7a326f9f8aad Bug fix in interop with respect to overloaded methods in subclasses.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3040
diff changeset
   426
    person setTag1: tag.
7a326f9f8aad Bug fix in interop with respect to overloaded methods in subclasses.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3040
diff changeset
   427
    self assert: (person instVarNamed: #tag1) == tag.
7a326f9f8aad Bug fix in interop with respect to overloaded methods in subclasses.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3040
diff changeset
   428
7a326f9f8aad Bug fix in interop with respect to overloaded methods in subclasses.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3040
diff changeset
   429
    boss := JAVA stx libjava tests mocks interop TheOneAndOnlyBoss new.   
7a326f9f8aad Bug fix in interop with respect to overloaded methods in subclasses.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3040
diff changeset
   430
    boss setTag1: 1.
7a326f9f8aad Bug fix in interop with respect to overloaded methods in subclasses.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3040
diff changeset
   431
    self assert: (boss instVarNamed: #tag1) class == JAVA java lang Integer.
7a326f9f8aad Bug fix in interop with respect to overloaded methods in subclasses.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3040
diff changeset
   432
    self assert: ((boss instVarNamed: #tag1) instVarNamed: #value) == 1001.
7a326f9f8aad Bug fix in interop with respect to overloaded methods in subclasses.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3040
diff changeset
   433
7a326f9f8aad Bug fix in interop with respect to overloaded methods in subclasses.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3040
diff changeset
   434
    "
7a326f9f8aad Bug fix in interop with respect to overloaded methods in subclasses.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3040
diff changeset
   435
    JavaClassReloader unload: (Java classNamed:'stx.libjava.tests mocks.interop.TheOneAndOnlyBoss')
7a326f9f8aad Bug fix in interop with respect to overloaded methods in subclasses.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3040
diff changeset
   436
    "
7a326f9f8aad Bug fix in interop with respect to overloaded methods in subclasses.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3040
diff changeset
   437
7a326f9f8aad Bug fix in interop with respect to overloaded methods in subclasses.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3040
diff changeset
   438
    "Created: / 19-03-2014 / 13:31:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
7a326f9f8aad Bug fix in interop with respect to overloaded methods in subclasses.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3040
diff changeset
   439
    "Modified: / 19-03-2014 / 17:15:19 / 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:
diff changeset
   440
! !
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   441
2953
7c542571c7c1 Added interop tests for constructors.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2792
diff changeset
   442
!JavaLookupTests methodsFor:'tests - java lookup - ctors'!
7c542571c7c1 Added interop tests for constructors.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2792
diff changeset
   443
7c542571c7c1 Added interop tests for constructors.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2792
diff changeset
   444
test_ctor01_Integer_a
7c542571c7c1 Added interop tests for constructors.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2792
diff changeset
   445
    | o |
7c542571c7c1 Added interop tests for constructors.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2792
diff changeset
   446
7c542571c7c1 Added interop tests for constructors.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2792
diff changeset
   447
    o :=  self javaTestClass new: 1.
7c542571c7c1 Added interop tests for constructors.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2792
diff changeset
   448
    self assert: (o instVarNamed: #eventsTally) == 1.
7c542571c7c1 Added interop tests for constructors.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2792
diff changeset
   449
    self assert: (o instVarNamed: #events) first = 'Integer Constructor'.
7c542571c7c1 Added interop tests for constructors.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2792
diff changeset
   450
7c542571c7c1 Added interop tests for constructors.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2792
diff changeset
   451
    "Created: / 02-12-2013 / 23:39:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
7c542571c7c1 Added interop tests for constructors.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2792
diff changeset
   452
!
7c542571c7c1 Added interop tests for constructors.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2792
diff changeset
   453
7c542571c7c1 Added interop tests for constructors.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2792
diff changeset
   454
test_ctor01_Integer_b
7c542571c7c1 Added interop tests for constructors.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2792
diff changeset
   455
    | o |
7c542571c7c1 Added interop tests for constructors.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2792
diff changeset
   456
7c542571c7c1 Added interop tests for constructors.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2792
diff changeset
   457
    o :=  self javaTestClass new: (JAVA java lang Integer new: 1).
7c542571c7c1 Added interop tests for constructors.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2792
diff changeset
   458
    self assert: (o instVarNamed: #eventsTally) == 1.
7c542571c7c1 Added interop tests for constructors.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2792
diff changeset
   459
    self assert: (o instVarNamed: #events) first = 'Integer Constructor'.
7c542571c7c1 Added interop tests for constructors.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2792
diff changeset
   460
7c542571c7c1 Added interop tests for constructors.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2792
diff changeset
   461
    "Created: / 02-12-2013 / 23:39:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
7c542571c7c1 Added interop tests for constructors.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2792
diff changeset
   462
!
7c542571c7c1 Added interop tests for constructors.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2792
diff changeset
   463
7c542571c7c1 Added interop tests for constructors.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2792
diff changeset
   464
test_ctor01_String
7c542571c7c1 Added interop tests for constructors.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2792
diff changeset
   465
    | o |
7c542571c7c1 Added interop tests for constructors.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2792
diff changeset
   466
7c542571c7c1 Added interop tests for constructors.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2792
diff changeset
   467
    o :=  self javaTestClass new: 'String'.
7c542571c7c1 Added interop tests for constructors.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2792
diff changeset
   468
    self assert: (o instVarNamed: #eventsTally) == 1.
7c542571c7c1 Added interop tests for constructors.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2792
diff changeset
   469
    self assert: (o instVarNamed: #events) first = 'String Constructor'.
7c542571c7c1 Added interop tests for constructors.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2792
diff changeset
   470
7c542571c7c1 Added interop tests for constructors.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2792
diff changeset
   471
    "Created: / 02-12-2013 / 23:38:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
7c542571c7c1 Added interop tests for constructors.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2792
diff changeset
   472
!
7c542571c7c1 Added interop tests for constructors.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2792
diff changeset
   473
7c542571c7c1 Added interop tests for constructors.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2792
diff changeset
   474
test_ctor01_default
7c542571c7c1 Added interop tests for constructors.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2792
diff changeset
   475
    | o |
7c542571c7c1 Added interop tests for constructors.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2792
diff changeset
   476
7c542571c7c1 Added interop tests for constructors.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2792
diff changeset
   477
    o :=  self javaTestClass new.
7c542571c7c1 Added interop tests for constructors.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2792
diff changeset
   478
    self assert: (o instVarNamed: #eventsTally) == 1.
7c542571c7c1 Added interop tests for constructors.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2792
diff changeset
   479
    self assert: (o instVarNamed: #events) first = 'Default Constructor'.
7c542571c7c1 Added interop tests for constructors.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2792
diff changeset
   480
7c542571c7c1 Added interop tests for constructors.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2792
diff changeset
   481
    "Created: / 02-12-2013 / 23:34:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
7c542571c7c1 Added interop tests for constructors.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2792
diff changeset
   482
! !
7c542571c7c1 Added interop tests for constructors.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2792
diff changeset
   483
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   484
!JavaLookupTests methodsFor:'tests - obsolete'!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   485
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   486
_testSetManipulator_add
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   487
    "test interaction of smalltalk Set and java.util.Set"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   488
    | aSet anObject |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   489
    self breakPoint: #jk info: 'using SetSample, because it contains DNU hook - this is workaround'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   490
    aSet := SetSample new.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   491
    anObject := Object new.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   492
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   493
    self setManipulatorClass new addElement: aSet and: anObject.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   494
    self assert: aSet size = 1.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   495
    self assert:(self setManipulatorClass new getSize: aSet) = 1.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   496
    self assert:(aSet contains: [:e | e = anObject ]).
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   497
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   498
    "Created: / 29-10-2012 / 07:17:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   499
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   500
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   501
_testSetManipulator_contains
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   502
    "test interaction of smalltalk Set and java.util.Set"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   503
    | aSet anObject |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   504
    self breakPoint: #jk info: 'using SetSample, because it contains DNU hook - this is workaround'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   505
    aSet := SetSample new.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   506
    anObject := Object new.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   507
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   508
    self assert: (self setManipulatorClass new contains: aSet and: anObject) = false.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   509
    aSet add: anObject.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   510
    self assert: (self setManipulatorClass new contains: aSet and: anObject) = true.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   511
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   512
    "Created: / 29-10-2012 / 07:18:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   513
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   514
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   515
_testSetManipulator_getSize
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   516
    "test interaction of smalltalk Set and java.util.Set"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   517
    | aSet |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   518
    self breakPoint: #jk info: 'using SetSample, because it contains DNU hook - this is workaround'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   519
    aSet := SetSample new.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   520
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   521
    self  assert:(self setManipulatorClass new getSize: aSet) = 0.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   522
    aSet add: Object new.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   523
    self  assert:(self setManipulatorClass new getSize: aSet) = 1.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   524
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   525
    "Created: / 29-10-2012 / 07:17:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   526
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   527
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   528
_testSetManipulator_isEmpty
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   529
    "test interaction of smalltalk Set and java.util.Set"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   530
    | aSet |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   531
    self breakPoint: #jk info: 'using SetSample, because it contains DNU hook - this is workaround'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   532
    aSet := SetSample new.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   533
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   534
    self  assert: (self setManipulatorClass new isEmpty:aSet).
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   535
    aSet add: Object new.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   536
    self  assert: (self setManipulatorClass new isEmpty:aSet) not.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   537
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   538
    "Created: / 29-10-2012 / 07:17:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   539
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   540
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   541
_testSetManipulator_remove
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   542
    "test interaction of smalltalk Set and java.util.Set"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   543
    | aSet anObject |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   544
    self breakPoint: #jk info: 'using SetSample, because it contains DNU hook - this is workaround'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   545
    aSet := SetSample new.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   546
    anObject := Object new.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   547
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   548
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   549
    aSet add: anObject.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   550
    self setManipulatorClass new remove: aSet and: anObject.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   551
    self assert: aSet size = 0.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   552
    self assert:(self setManipulatorClass new getSize: aSet) = 0.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   553
    self assert:(aSet contains: [:e | e = anObject ]) not.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   554
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   555
    "Created: / 29-10-2012 / 07:17:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   556
! !
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   557
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   558
!JavaLookupTests methodsFor:'tests - smalltalk lookup'!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   559
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   560
testPersonManipulator_getAge
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   561
    "test interaction of Smalltallk objects with Java code"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   562
    | person |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   563
    person := PersonSample new.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   564
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   565
    person name: 'Anne'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   566
    person age: 18.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   567
2976
a384a02381c0 Update JavaLookup to work with new JIT-compilation scheme...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2953
diff changeset
   568
    "/ !!!!!! The three assertions in a row is by purpose !!!!!!
a384a02381c0 Update JavaLookup to work with new JIT-compilation scheme...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2953
diff changeset
   569
    "/ Do not remove them. The reason is that with JIT on,
a384a02381c0 Update JavaLookup to work with new JIT-compilation scheme...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2953
diff changeset
   570
    "/ the JIT compiler recompiles method each time a reference
a384a02381c0 Update JavaLookup to work with new JIT-compilation scheme...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2953
diff changeset
   571
    "/ is resolved. This should cover different code paths.
a384a02381c0 Update JavaLookup to work with new JIT-compilation scheme...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2953
diff changeset
   572
a384a02381c0 Update JavaLookup to work with new JIT-compilation scheme...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2953
diff changeset
   573
    self assert:(self personManipulatorClass new getPersonAge: person) = 18.
a384a02381c0 Update JavaLookup to work with new JIT-compilation scheme...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2953
diff changeset
   574
    self assert:(self personManipulatorClass new getPersonAge: person) = 18.
a384a02381c0 Update JavaLookup to work with new JIT-compilation scheme...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2953
diff changeset
   575
    self assert:(self personManipulatorClass new getPersonAge: person) = 18.
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   576
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   577
    "Created: / 11-04-2011 / 20:02:54 / kursjan <kursjan@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   578
    "Created: / 25-09-2011 / 17:27:45 / Jan Kurs <kursjan@fit.cvut.cz>"
2976
a384a02381c0 Update JavaLookup to work with new JIT-compilation scheme...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2953
diff changeset
   579
    "Modified (comment): / 20-01-2014 / 10:11:05 / 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:
diff changeset
   580
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   581
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   582
testPersonManipulator_getName
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   583
    "test interaction of Smalltallk objects with Java code"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   584
    | person |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   585
    person := PersonSample new.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   586
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   587
    person name: 'Anne'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   588
    person age: 18.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   589
2976
a384a02381c0 Update JavaLookup to work with new JIT-compilation scheme...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2953
diff changeset
   590
    "/ !!!!!! The three assertions in a row is by purpose !!!!!!
a384a02381c0 Update JavaLookup to work with new JIT-compilation scheme...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2953
diff changeset
   591
    "/ Do not remove them. The reason is that with JIT on,
a384a02381c0 Update JavaLookup to work with new JIT-compilation scheme...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2953
diff changeset
   592
    "/ the JIT compiler recompiles method each time a reference
3040
ff90519ce3ac Interop tests refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2976
diff changeset
   593
    "/ is resolved. This should cover different code paths.
2976
a384a02381c0 Update JavaLookup to work with new JIT-compilation scheme...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2953
diff changeset
   594
a384a02381c0 Update JavaLookup to work with new JIT-compilation scheme...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2953
diff changeset
   595
    self assert:(self personManipulatorClass new getPersonName: person) = 'Anne'.
a384a02381c0 Update JavaLookup to work with new JIT-compilation scheme...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2953
diff changeset
   596
    self assert:(self personManipulatorClass new getPersonName: person) = 'Anne'.
a384a02381c0 Update JavaLookup to work with new JIT-compilation scheme...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2953
diff changeset
   597
    self assert:(self personManipulatorClass new getPersonName: person) = 'Anne'.
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   598
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   599
    "Created: / 11-04-2011 / 20:02:54 / kursjan <kursjan@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   600
    "Created: / 25-09-2011 / 17:27:34 / Jan Kurs <kursjan@fit.cvut.cz>"
2976
a384a02381c0 Update JavaLookup to work with new JIT-compilation scheme...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2953
diff changeset
   601
    "Modified: / 20-01-2014 / 10:11:20 / 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:
diff changeset
   602
! !
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   603
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   604
!JavaLookupTests class methodsFor:'documentation'!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   605
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   606
version_CVS
2678
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2396
diff changeset
   607
    ^ '$Header: /cvs/stx/stx/libjava/JavaLookupTests.st,v 1.3 2013-09-06 00:41:24 vrany Exp $'
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   608
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   609
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   610
version_HG
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   611
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   612
    ^ '$Changeset: <not expanded> $'
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   613
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   614
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   615
version_SVN
2731
13f5be2bf83b Merged d87e89dd5276 and fe83a843a7bf (branch default - CVS HEAD)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2711 2678
diff changeset
   616
    ^ 'Id'
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   617
! !
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   618