RegressionTests__CompilerTests2.st
author Claus Gittinger <cg@exept.de>
Tue, 09 Jul 2019 18:53:03 +0200
changeset 2327 bf482d49aeaf
parent 2182 abba80b6780f
permissions -rw-r--r--
#QUALITY by exept class: RegressionTests::StringTests added: #test82c_expanding
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
     1
"{ Package: 'stx:goodies/regression' }"
784
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     2
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     3
"{ NameSpace: RegressionTests }"
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     4
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     5
TestCase subclass:#CompilerTests2
1212
8429b2bff582 class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1201
diff changeset
     6
	instanceVariableNames:'methods enabledJIT savedContext savedContextArgAndVarNames
8429b2bff582 class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1201
diff changeset
     7
		savedContextArgAndVarValues savedContextArgAndVarValuesUsingEval
8429b2bff582 class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1201
diff changeset
     8
		savedContextLine'
784
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     9
	classVariableNames:''
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    10
	poolDictionaries:''
1163
db96f4ca7932 category changes
Claus Gittinger <cg@exept.de>
parents: 1149
diff changeset
    11
	category:'tests-Regression-Compilers'
784
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    12
!
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    13
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    14
1928
a7e400e70e65 #BUGFIX by stefan
Stefan Vogel <sv@exept.de>
parents: 1462
diff changeset
    15
!CompilerTests2 class methodsFor:'settings'!
a7e400e70e65 #BUGFIX by stefan
Stefan Vogel <sv@exept.de>
parents: 1462
diff changeset
    16
a7e400e70e65 #BUGFIX by stefan
Stefan Vogel <sv@exept.de>
parents: 1462
diff changeset
    17
libraryName
a7e400e70e65 #BUGFIX by stefan
Stefan Vogel <sv@exept.de>
parents: 1462
diff changeset
    18
    ^ 'librun'
a7e400e70e65 #BUGFIX by stefan
Stefan Vogel <sv@exept.de>
parents: 1462
diff changeset
    19
a7e400e70e65 #BUGFIX by stefan
Stefan Vogel <sv@exept.de>
parents: 1462
diff changeset
    20
    "Created: / 11-05-2018 / 13:50:32 / stefan"
a7e400e70e65 #BUGFIX by stefan
Stefan Vogel <sv@exept.de>
parents: 1462
diff changeset
    21
! !
a7e400e70e65 #BUGFIX by stefan
Stefan Vogel <sv@exept.de>
parents: 1462
diff changeset
    22
2182
abba80b6780f #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 1928
diff changeset
    23
!CompilerTests2 methodsFor:'initialize / release'!
abba80b6780f #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 1928
diff changeset
    24
abba80b6780f #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 1928
diff changeset
    25
setUp
abba80b6780f #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 1928
diff changeset
    26
    methods := Set new.
abba80b6780f #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 1928
diff changeset
    27
    enabledJIT := ObjectMemory justInTimeCompilation:true.
abba80b6780f #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 1928
diff changeset
    28
    savedContext := savedContextArgAndVarNames
abba80b6780f #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 1928
diff changeset
    29
    := savedContextArgAndVarValues := savedContextArgAndVarValuesUsingEval
abba80b6780f #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 1928
diff changeset
    30
    := savedContextLine := '* Not assigned *'.
abba80b6780f #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 1928
diff changeset
    31
abba80b6780f #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 1928
diff changeset
    32
    "Created: / 25-04-2013 / 15:20:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
abba80b6780f #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 1928
diff changeset
    33
    "Modified: / 26-09-2014 / 13:00:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
abba80b6780f #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 1928
diff changeset
    34
!
abba80b6780f #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 1928
diff changeset
    35
abba80b6780f #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 1928
diff changeset
    36
tearDown
abba80b6780f #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 1928
diff changeset
    37
    savedContext := savedContextArgAndVarNames
abba80b6780f #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 1928
diff changeset
    38
    := savedContextArgAndVarValues := savedContextArgAndVarValuesUsingEval
abba80b6780f #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 1928
diff changeset
    39
    := savedContextLine := nil.
abba80b6780f #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 1928
diff changeset
    40
abba80b6780f #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 1928
diff changeset
    41
    ObjectMemory justInTimeCompilation: enabledJIT.
abba80b6780f #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 1928
diff changeset
    42
    Class withoutUpdatingChangesDo:[
abba80b6780f #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 1928
diff changeset
    43
	| classesToRemove |
abba80b6780f #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 1928
diff changeset
    44
	(Smalltalk at: #'stx_goodies_regression_testData_CompilerTests2') notNil ifTrue:[
abba80b6780f #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 1928
diff changeset
    45
	    (Smalltalk at: #'stx_goodies_regression_testData_CompilerTests2') classes do:[:e|
abba80b6780f #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 1928
diff changeset
    46
		e notNil ifTrue:[
abba80b6780f #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 1928
diff changeset
    47
		    Smalltalk removeClass: e
abba80b6780f #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 1928
diff changeset
    48
		].
abba80b6780f #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 1928
diff changeset
    49
	    ].
abba80b6780f #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 1928
diff changeset
    50
	].
abba80b6780f #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 1928
diff changeset
    51
	Smalltalk allClassesDo:[:cls|
abba80b6780f #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 1928
diff changeset
    52
	    (#(
abba80b6780f #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 1928
diff changeset
    53
		'stx:goodies/regression/testData/CompilerTests2'
abba80b6780f #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 1928
diff changeset
    54
		"/Add more...
abba80b6780f #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 1928
diff changeset
    55
	    ) includes: cls package) ifTrue:[
abba80b6780f #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 1928
diff changeset
    56
		Smalltalk removeClass: cls
abba80b6780f #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 1928
diff changeset
    57
	    ]
abba80b6780f #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 1928
diff changeset
    58
	].
abba80b6780f #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 1928
diff changeset
    59
abba80b6780f #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 1928
diff changeset
    60
	methods do:[:m|
abba80b6780f #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 1928
diff changeset
    61
	    m mclass removeSelector: m selector.
abba80b6780f #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 1928
diff changeset
    62
	]
abba80b6780f #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 1928
diff changeset
    63
    ]
abba80b6780f #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 1928
diff changeset
    64
abba80b6780f #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 1928
diff changeset
    65
    "Created: / 26-10-2012 / 11:32:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
abba80b6780f #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 1928
diff changeset
    66
    "Modified: / 26-09-2014 / 12:59:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
abba80b6780f #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 1928
diff changeset
    67
! !
abba80b6780f #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 1928
diff changeset
    68
899
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
    69
!CompilerTests2 methodsFor:'private'!
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
    70
922
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
    71
assertSendersMethodIsIdenticalTo: sendersMethod
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
    72
    "Do not assert here, pass down to have some immediate, possibly lazy contexts
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
    73
     in between"
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
    74
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
    75
    self assertSendersSendersMethodIsIdenticalTo: sendersMethod
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
    76
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
    77
    "Created: / 25-04-2013 / 15:28:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
    78
!
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
    79
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
    80
assertSendersSendersMethodIsIdenticalTo: thisMethod
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
    81
    | ctx m |
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
    82
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
    83
    ctx := thisContext sender sender.
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
    84
    "/ Now, DO NOT USE Context>>method as it searches for the method
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
    85
    "/ if it is not set!!
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
    86
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
    87
    m := ctx instVarAt: (Context instVarIndexFor: #method).
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
    88
    self assert: m == thisMethod
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
    89
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
    90
    "Created: / 25-04-2013 / 15:30:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
    91
!
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
    92
921
cb5e99d58aab Refactoring only - add more versatile compile method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 900
diff changeset
    93
compile: source mode: mode
cb5e99d58aab Refactoring only - add more versatile compile method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 900
diff changeset
    94
    "Compile given source and returns the new method.
cb5e99d58aab Refactoring only - add more versatile compile method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 900
diff changeset
    95
     The from the source is prepended the mode + underscore
cb5e99d58aab Refactoring only - add more versatile compile method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 900
diff changeset
    96
     (i.e., foo -> stc_foo).
cb5e99d58aab Refactoring only - add more versatile compile method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 900
diff changeset
    97
cb5e99d58aab Refactoring only - add more versatile compile method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 900
diff changeset
    98
     If mode is:
cb5e99d58aab Refactoring only - add more versatile compile method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 900
diff changeset
    99
       #stc....then the method is stc-compiled.
cb5e99d58aab Refactoring only - add more versatile compile method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 900
diff changeset
   100
       #jit....then the method is bytecode compiled and left
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   101
	       to the jitter
921
cb5e99d58aab Refactoring only - add more versatile compile method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 900
diff changeset
   102
       #bc.....them the method is bytecode compiled and marked
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   103
	       as checked so JIT won't even try.
921
cb5e99d58aab Refactoring only - add more versatile compile method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 900
diff changeset
   104
    "
cb5e99d58aab Refactoring only - add more versatile compile method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 900
diff changeset
   105
cb5e99d58aab Refactoring only - add more versatile compile method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 900
diff changeset
   106
    | m |
cb5e99d58aab Refactoring only - add more versatile compile method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 900
diff changeset
   107
cb5e99d58aab Refactoring only - add more versatile compile method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 900
diff changeset
   108
    Class withoutUpdatingChangesDo:[
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   109
	mode == #stc ifTrue:[
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   110
	    ParserFlags withSTCCompilation:#always do:[
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   111
		m := self class compile: (mode, '_', source) classified: 'private - *dynamic*'.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   112
	    ].
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   113
	] ifFalse:[
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   114
	    ParserFlags withSTCCompilation:#never do:[
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   115
		m := self class compile: (mode, '_', source) classified: 'private - *dynamic*'.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   116
		m checked: (mode == #bc)
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   117
	    ].
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   118
	].
921
cb5e99d58aab Refactoring only - add more versatile compile method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 900
diff changeset
   119
    ].
cb5e99d58aab Refactoring only - add more versatile compile method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 900
diff changeset
   120
    methods add: m.
cb5e99d58aab Refactoring only - add more versatile compile method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 900
diff changeset
   121
    ^m
cb5e99d58aab Refactoring only - add more versatile compile method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 900
diff changeset
   122
cb5e99d58aab Refactoring only - add more versatile compile method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 900
diff changeset
   123
    "Created: / 25-04-2013 / 15:18:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
cb5e99d58aab Refactoring only - add more versatile compile method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 900
diff changeset
   124
!
cb5e99d58aab Refactoring only - add more versatile compile method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 900
diff changeset
   125
899
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   126
currentLineNumber
900
7acbd0cce153 Call fixAllLineNumbers, otherwise linenos are invalid.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 899
diff changeset
   127
    thisContext fixAllLineNumbers.
7acbd0cce153 Call fixAllLineNumbers, otherwise linenos are invalid.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 899
diff changeset
   128
    ^thisContext sender lineNumber.
899
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   129
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   130
    "Created: / 12-04-2013 / 21:20:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
900
7acbd0cce153 Call fixAllLineNumbers, otherwise linenos are invalid.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 899
diff changeset
   131
    "Modified: / 13-04-2013 / 10:12:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1212
8429b2bff582 class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1201
diff changeset
   132
!
8429b2bff582 class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1201
diff changeset
   133
8429b2bff582 class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1201
diff changeset
   134
saveContext
8429b2bff582 class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1201
diff changeset
   135
    self saveContext: thisContext sender.
8429b2bff582 class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1201
diff changeset
   136
8429b2bff582 class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1201
diff changeset
   137
    "Created: / 26-09-2014 / 12:49:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
8429b2bff582 class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1201
diff changeset
   138
!
8429b2bff582 class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1201
diff changeset
   139
8429b2bff582 class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1201
diff changeset
   140
saveContext: aContext
8429b2bff582 class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1201
diff changeset
   141
    savedContext := aContext.
8429b2bff582 class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1201
diff changeset
   142
    savedContextArgAndVarNames := savedContext argAndVarNames asArray.
8429b2bff582 class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1201
diff changeset
   143
    savedContextArgAndVarValues := savedContext argsAndVars.
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   144
    savedContextArgAndVarValuesUsingEval := savedContextArgAndVarNames
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   145
	collect:[ :each |
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   146
	    Compiler evaluate:each
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   147
			     in:savedContext
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   148
			     receiver:savedContext receiver
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   149
			     notifying:nil
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   150
			     logged:false
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   151
			     ifFail:[ '*Error when evaluating*'].
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   152
	].
1212
8429b2bff582 class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1201
diff changeset
   153
    savedContextLine := savedContext lineNumber.
8429b2bff582 class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1201
diff changeset
   154
8429b2bff582 class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1201
diff changeset
   155
    self assert: savedContextArgAndVarNames size == savedContextArgAndVarValues size.
8429b2bff582 class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1201
diff changeset
   156
    self assert: savedContextArgAndVarNames size == savedContextArgAndVarValuesUsingEval size.
8429b2bff582 class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1201
diff changeset
   157
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   158
    1 to: savedContextArgAndVarNames size do:[:i |
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   159
	| v1 v2 |
1212
8429b2bff582 class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1201
diff changeset
   160
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   161
	v1 := savedContextArgAndVarValues at: i.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   162
	v2 := savedContextArgAndVarValuesUsingEval at: i.
1212
8429b2bff582 class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1201
diff changeset
   163
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   164
	self assert: v1 == v2. "HAS to be IDENTICAL"
1212
8429b2bff582 class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1201
diff changeset
   165
    ].
8429b2bff582 class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1201
diff changeset
   166
8429b2bff582 class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1201
diff changeset
   167
    "Created: / 26-09-2014 / 12:49:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
8429b2bff582 class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1201
diff changeset
   168
    "Modified: / 26-09-2014 / 14:58:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
922
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
   169
! !
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
   170
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
   171
!CompilerTests2 methodsFor:'private-mock methods'!
899
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   172
988
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   173
method_argAndVarNames_01
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   174
    #(1 2 3 4) select:[:each |
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   175
	| isEven |
988
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   176
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   177
	isEven := each even.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   178
	self saveContext.
988
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   179
    ].
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   180
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   181
    "Created: / 20-08-2013 / 09:04:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1212
8429b2bff582 class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1201
diff changeset
   182
    "Modified: / 26-09-2014 / 13:00:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
988
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   183
!
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   184
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   185
method_argAndVarNames_02
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   186
    #(1 2 3 4) select:[:each |
1928
a7e400e70e65 #BUGFIX by stefan
Stefan Vogel <sv@exept.de>
parents: 1462
diff changeset
   187
        | isEven |
988
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   188
1928
a7e400e70e65 #BUGFIX by stefan
Stefan Vogel <sv@exept.de>
parents: 1462
diff changeset
   189
        '1234' select:[:char |
a7e400e70e65 #BUGFIX by stefan
Stefan Vogel <sv@exept.de>
parents: 1462
diff changeset
   190
            | someOtherLocal |
988
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   191
1928
a7e400e70e65 #BUGFIX by stefan
Stefan Vogel <sv@exept.de>
parents: 1462
diff changeset
   192
            someOtherLocal := char == $1.
a7e400e70e65 #BUGFIX by stefan
Stefan Vogel <sv@exept.de>
parents: 1462
diff changeset
   193
        ].
a7e400e70e65 #BUGFIX by stefan
Stefan Vogel <sv@exept.de>
parents: 1462
diff changeset
   194
        isEven := each even.
a7e400e70e65 #BUGFIX by stefan
Stefan Vogel <sv@exept.de>
parents: 1462
diff changeset
   195
        self saveContext.
988
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   196
    ].
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   197
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   198
    "Created: / 20-08-2013 / 09:17:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1212
8429b2bff582 class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1201
diff changeset
   199
    "Modified: / 26-09-2014 / 13:00:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
988
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   200
!
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   201
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   202
method_argAndVarNames_03
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   203
    "Reported by Stefan"
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   204
1212
8429b2bff582 class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1201
diff changeset
   205
    savedContextArgAndVarNames := 1.
8429b2bff582 class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1201
diff changeset
   206
    (Smalltalk isStandAloneApp | (savedContextArgAndVarNames == 1)) ifTrue:[
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   207
	| ttt |
988
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   208
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   209
	ttt := 123.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   210
	self saveContext.
1149
e394c5dbf746 class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1138
diff changeset
   211
    ].
e394c5dbf746 class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1138
diff changeset
   212
    self halt.
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   213
988
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   214
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   215
    "
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   216
    CompilerTests2 basicNew method_argAndVarNames_03
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   217
    "
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   218
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   219
    "Created: / 20-08-2013 / 09:22:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1212
8429b2bff582 class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1201
diff changeset
   220
    "Modified: / 26-09-2014 / 13:01:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
988
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   221
!
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   222
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   223
method_argAndVarNames_04
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   224
    #(1 2 3 4) select:[:each |
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   225
	| isEven |
988
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   226
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   227
	isEven := each even.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   228
	isEven ifTrue:[
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   229
	    | isOddNot |
988
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   230
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   231
	    isOddNot := each odd not.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   232
	    self saveContext.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   233
	]
988
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   234
    ].
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   235
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   236
    "Created: / 20-08-2013 / 10:11:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1212
8429b2bff582 class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1201
diff changeset
   237
    "Modified: / 26-09-2014 / 13:01:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
988
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   238
!
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   239
991
c855ef9d606c class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 988
diff changeset
   240
method_argAndVarNames_05
c855ef9d606c class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 988
diff changeset
   241
    | b |
c855ef9d606c class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 988
diff changeset
   242
c855ef9d606c class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 988
diff changeset
   243
    b := [:len |
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   244
	1 to: len do:[:i|
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   245
	    | local1 local2 |
991
c855ef9d606c class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 988
diff changeset
   246
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   247
	    local1 := #local1.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   248
	    local2 := 42.
991
c855ef9d606c class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 988
diff changeset
   249
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   250
	    i == 1 ifTrue:[
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   251
		self saveContext.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   252
	    ]
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   253
	]
991
c855ef9d606c class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 988
diff changeset
   254
    ].
c855ef9d606c class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 988
diff changeset
   255
c855ef9d606c class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 988
diff changeset
   256
    b value: 5
c855ef9d606c class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 988
diff changeset
   257
c855ef9d606c class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 988
diff changeset
   258
    "
c855ef9d606c class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 988
diff changeset
   259
    CompilerTests2 basicNew method_argAndVarNames_05
c855ef9d606c class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 988
diff changeset
   260
    "
c855ef9d606c class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 988
diff changeset
   261
c855ef9d606c class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 988
diff changeset
   262
    "Created: / 22-08-2013 / 15:48:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1212
8429b2bff582 class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1201
diff changeset
   263
    "Modified: / 26-09-2014 / 13:01:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
991
c855ef9d606c class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 988
diff changeset
   264
!
c855ef9d606c class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 988
diff changeset
   265
1001
9478e093ee77 class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 993
diff changeset
   266
method_argAndVarNames_06
1462
7a2b32a588ee package move
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   267
    (Smalltalk at:#stx_goodies_regression) classNamesAndAttributesDo:[:clsnm :attributes|
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   268
	| cls |
1001
9478e093ee77 class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 993
diff changeset
   269
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   270
	cls := Smalltalk at: clsnm.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   271
	((Array with: self class) includes: cls) ifTrue:[
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   272
	    (attributes includes: #autoload) ifTrue:[
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   273
		"/ Care for Object!!
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   274
		cls superclass notNil ifTrue:[
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   275
		    | superDef superNm |
1001
9478e093ee77 class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 993
diff changeset
   276
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   277
		    superDef := ProjectDefinition definitionClassForPackage: cls superclass package.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   278
		    superNm := cls superclass name.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   279
		    self saveContext.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   280
		    ^ self
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   281
		].
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   282
	    ].
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   283
	].
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   284
    ].
1001
9478e093ee77 class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 993
diff changeset
   285
9478e093ee77 class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 993
diff changeset
   286
    "
9478e093ee77 class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 993
diff changeset
   287
    CompilerTests2 basicNew method_argAndVarNames_06
9478e093ee77 class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 993
diff changeset
   288
    "
9478e093ee77 class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 993
diff changeset
   289
9478e093ee77 class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 993
diff changeset
   290
    "Created: / 20-09-2013 / 11:44:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1212
8429b2bff582 class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1201
diff changeset
   291
    "Modified: / 26-09-2014 / 13:01:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1001
9478e093ee77 class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 993
diff changeset
   292
!
9478e093ee77 class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 993
diff changeset
   293
899
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   294
method_lineno_002
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   295
    1 factorial. ^self currentLineNumber
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   296
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   297
    "Created: / 12-04-2013 / 21:22:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   298
!
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   299
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   300
method_lineno_300
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   301
    "DO NOT MAKE THIS METHOD SHORTER, DO NOT REMOVE BLANK LINES!!!!!!"
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   302
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   303
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   304
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   305
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   306
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   307
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   308
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   309
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   310
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   311
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   312
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   313
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   314
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   315
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   316
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   317
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   318
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   319
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   320
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   321
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   322
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   323
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   324
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   325
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   326
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   327
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   328
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   329
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   330
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   331
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   332
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   333
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   334
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   335
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   336
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   337
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   338
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   339
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   340
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   341
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   342
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   343
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   344
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   345
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   346
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   347
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   348
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   349
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   350
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   351
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   352
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   353
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   354
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   355
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   356
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   357
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   358
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   359
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   360
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   361
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   362
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   363
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   364
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   365
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   366
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   367
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   368
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   369
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   370
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   371
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   372
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   373
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   374
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   375
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   376
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   377
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   378
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   379
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   380
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   381
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   382
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   383
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   384
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   385
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   386
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   387
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   388
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   389
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   390
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   391
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   392
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   393
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   394
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   395
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   396
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   397
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   398
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   399
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   400
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   401
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   402
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   403
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   404
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   405
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   406
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   407
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   408
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   409
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   410
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   411
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   412
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   413
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   414
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   415
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   416
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   417
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   418
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   419
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   420
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   421
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   422
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   423
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   424
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   425
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   426
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   427
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   428
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   429
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   430
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   431
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   432
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   433
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   434
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   435
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   436
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   437
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   438
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   439
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   440
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   441
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   442
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   443
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   444
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   445
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   446
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   447
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   448
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   449
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   450
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   451
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   452
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   453
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   454
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   455
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   456
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   457
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   458
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   459
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   460
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   461
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   462
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   463
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   464
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   465
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   466
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   467
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   468
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   469
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   470
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   471
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   472
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   473
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   474
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   475
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   476
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   477
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   478
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   479
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   480
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   481
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   482
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   483
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   484
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   485
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   486
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   487
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   488
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   489
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   490
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   491
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   492
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   493
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   494
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   495
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   496
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   497
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   498
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   499
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   500
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   501
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   502
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   503
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   504
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   505
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   506
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   507
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   508
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   509
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   510
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   511
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   512
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   513
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   514
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   515
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   516
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   517
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   518
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   519
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   520
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   521
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   522
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   523
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   524
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   525
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   526
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   527
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   528
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   529
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   530
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   531
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   532
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   533
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   534
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   535
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   536
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   537
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   538
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   539
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   540
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   541
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   542
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   543
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   544
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   545
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   546
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   547
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   548
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   549
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   550
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   551
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   552
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   553
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   554
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   555
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   556
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   557
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   558
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   559
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   560
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   561
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   562
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   563
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   564
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   565
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   566
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   567
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   568
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   569
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   570
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   571
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   572
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   573
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   574
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   575
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   576
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   577
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   578
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   579
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   580
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   581
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   582
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   583
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   584
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   585
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   586
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   587
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   588
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   589
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   590
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   591
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   592
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   593
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   594
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   595
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   596
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   597
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   598
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   599
    ^self currentLineNumber
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   600
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   601
    "Created: / 12-04-2013 / 21:23:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
922
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
   602
!
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
   603
1245
a00a20a29299 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1212
diff changeset
   604
method_literals_array_01a
a00a20a29299 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1212
diff changeset
   605
    | literal |
a00a20a29299 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1212
diff changeset
   606
a00a20a29299 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1212
diff changeset
   607
    literal := #(
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   608
	_XXX:_:
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   609
	YYY
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   610
	_XXX:_:
1245
a00a20a29299 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1212
diff changeset
   611
    ).
a00a20a29299 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1212
diff changeset
   612
    ^ literal
a00a20a29299 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1212
diff changeset
   613
a00a20a29299 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1212
diff changeset
   614
    "Created: / 20-01-2014 / 13:39:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
a00a20a29299 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1212
diff changeset
   615
!
a00a20a29299 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1212
diff changeset
   616
a00a20a29299 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1212
diff changeset
   617
method_literals_array_01b
a00a20a29299 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1212
diff changeset
   618
    | literal |
a00a20a29299 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1212
diff changeset
   619
a00a20a29299 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1212
diff changeset
   620
    literal := #(
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   621
	#'_XXX:_:'
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   622
	#'YYY'
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   623
	#'_XXX:_:'
1245
a00a20a29299 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1212
diff changeset
   624
    ).
a00a20a29299 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1212
diff changeset
   625
    ^ literal
a00a20a29299 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1212
diff changeset
   626
a00a20a29299 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1212
diff changeset
   627
    "Created: / 20-01-2014 / 13:39:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
a00a20a29299 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1212
diff changeset
   628
!
a00a20a29299 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1212
diff changeset
   629
1037
4bba0706b9ae Added tests covering symbol parsing inconsistency in array literals.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1001
diff changeset
   630
method_literals_symbol_01
4bba0706b9ae Added tests covering symbol parsing inconsistency in array literals.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1001
diff changeset
   631
    | literal |
4bba0706b9ae Added tests covering symbol parsing inconsistency in array literals.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1001
diff changeset
   632
4bba0706b9ae Added tests covering symbol parsing inconsistency in array literals.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1001
diff changeset
   633
    literal := #_XXX:_:.
4bba0706b9ae Added tests covering symbol parsing inconsistency in array literals.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1001
diff changeset
   634
    ^ literal.
4bba0706b9ae Added tests covering symbol parsing inconsistency in array literals.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1001
diff changeset
   635
4bba0706b9ae Added tests covering symbol parsing inconsistency in array literals.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1001
diff changeset
   636
    "Created: / 20-01-2014 / 13:43:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
4bba0706b9ae Added tests covering symbol parsing inconsistency in array literals.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1001
diff changeset
   637
!
4bba0706b9ae Added tests covering symbol parsing inconsistency in array literals.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1001
diff changeset
   638
922
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
   639
method_methodslot_01: thisMethod
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
   640
    self assertSendersMethodIsIdenticalTo: thisMethod
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
   641
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
   642
    "Created: / 25-04-2013 / 15:28:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
   643
!
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
   644
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
   645
method_methodslot_02: thisMethod
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
   646
     [ self assertSendersMethodIsIdenticalTo: thisMethod ]
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   647
	valueWithArguments:#() "/ don't use #value, it gets optimized!!
922
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
   648
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
   649
    "Created: / 25-04-2013 / 15:36:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
   650
!
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
   651
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
   652
method_methodslot_03: thisMethod
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
   653
    "Deep block nesting...."
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
   654
    [
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   655
	[
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   656
	    [
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   657
		[
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   658
		    self assertSendersMethodIsIdenticalTo: thisMethod
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   659
		] valueWithArguments:#() "/ don't use #value, it gets optimized!!
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   660
	    ] valueWithArguments:#() "/ don't use #value, it gets optimized!!
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   661
	] valueWithArguments:#() "/ don't use #value, it gets optimized!!
922
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
   662
    ] valueWithArguments:#() "/ don't use #value, it gets optimized!!
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
   663
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
   664
    "Created: / 25-04-2013 / 15:38:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1271
6004da64f1ef class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1247
diff changeset
   665
!
6004da64f1ef class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1247
diff changeset
   666
6004da64f1ef class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1247
diff changeset
   667
method_negativeZero_01
6004da64f1ef class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1247
diff changeset
   668
    | literal |
6004da64f1ef class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1247
diff changeset
   669
6004da64f1ef class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1247
diff changeset
   670
    literal := -0.0.
6004da64f1ef class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1247
diff changeset
   671
    ^ literal.
899
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   672
! !
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   673
784
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   674
!CompilerTests2 methodsFor:'tests'!
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   675
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   676
test_01
823
452346d978c6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 784
diff changeset
   677
    "JV@2012-10-26:
784
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   678
823
452346d978c6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 784
diff changeset
   679
     When a package is loaded from source using
784
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   680
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   681
	Smalltalk loadPackage:'...'
784
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   682
823
452346d978c6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 784
diff changeset
   683
     expression __EVALUATED FROM WORKSPACE__ AND a method from loaded class
452346d978c6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 784
diff changeset
   684
     uses a class from the same package that is not yet loaded (i.e., it will
452346d978c6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 784
diff changeset
   685
     be loaded later),
784
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   686
823
452346d978c6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 784
diff changeset
   687
     then the compiler as of 2012-10-26 generates access to a workspace variable
784
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   688
     instead of access to a global
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   689
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   690
     This tests checks for this bug
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   691
    "
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   692
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   693
    | ws |
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   694
870
577f844aedf7 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 823
diff changeset
   695
    "/ this test only works with a Display...
871
098316a54e40 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 870
diff changeset
   696
    self skipIf:[Display isNil] description:'Test requires a Display'.
870
577f844aedf7 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 823
diff changeset
   697
784
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   698
    "/First, make sure that package is not yet loaded...
823
452346d978c6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 784
diff changeset
   699
    self
1462
7a2b32a588ee package move
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   700
	assert: (Smalltalk at: #'stx_goodies_regression_testData_CompilerTests2') isNil
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   701
	description: 'Mock package already loaded'.
784
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   702
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   703
    ws := WorkspaceApplication new.
948
a28d3cfb7c43 Added test from global variable access when compiling from within the workspace.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 930
diff changeset
   704
    ws selectedWorkspace
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   705
	autoDefineVariables: #workspace;
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   706
	contents: '(Smalltalk loadPackage: #''stx:goodies/regression/testData/CompilerTests2'')';
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   707
	selectAll;
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   708
	doIt.
784
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   709
823
452346d978c6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 784
diff changeset
   710
    self assert: (Smalltalk at: #'RegressionTests::CompilerTests2Mock1') new foo class
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   711
		    == (Smalltalk at: #'RegressionTests::CompilerTests2Mock2')
784
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   712
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   713
    "Created: / 26-10-2012 / 11:59:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
948
a28d3cfb7c43 Added test from global variable access when compiling from within the workspace.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 930
diff changeset
   714
    "Modified: / 24-06-2013 / 15:30:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
784
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   715
!
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   716
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   717
test_02
823
452346d978c6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 784
diff changeset
   718
    "JV@2012-10-26:
784
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   719
823
452346d978c6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 784
diff changeset
   720
     When a package is loaded from source using
784
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   721
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   722
	Smalltalk loadPackage:'...'
784
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   723
823
452346d978c6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 784
diff changeset
   724
     expression and a method from loaded class in namespace uses a class from the
452346d978c6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 784
diff changeset
   725
     same package and same namespace, that is not yet loaded (i.e., it will be loaded
452346d978c6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 784
diff changeset
   726
     later),
784
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   727
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   728
     then the compiler as of 2012-10-26 generates access to class in no namespace.
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   729
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   730
     This test checks for this bug
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   731
    "
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   732
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   733
    "/First, make sure that package is not yet loaded...
823
452346d978c6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 784
diff changeset
   734
    self
1462
7a2b32a588ee package move
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   735
	assert: (Smalltalk at: #'stx_goodies_regression_testData_CompilerTests2') isNil
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   736
	description: 'Mock package already loaded'.
784
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   737
823
452346d978c6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 784
diff changeset
   738
    self
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   739
	assert: (Smalltalk loadPackage: #'stx:goodies/regression/testData/CompilerTests2')
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   740
	description: 'Cannot load mock package!!'.
784
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   741
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   742
823
452346d978c6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 784
diff changeset
   743
    self assert: (Smalltalk at: #'RegressionTests::CompilerTests2Mock1') new foo class
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   744
		    == (Smalltalk at: #'RegressionTests::CompilerTests2Mock2')
784
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   745
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   746
    "Created: / 26-10-2012 / 12:26:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   747
    "Modified (comment): / 12-02-2013 / 16:24:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
948
a28d3cfb7c43 Added test from global variable access when compiling from within the workspace.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 930
diff changeset
   748
!
a28d3cfb7c43 Added test from global variable access when compiling from within the workspace.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 930
diff changeset
   749
a28d3cfb7c43 Added test from global variable access when compiling from within the workspace.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 930
diff changeset
   750
test_03
992
4acfe6220c73 class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 991
diff changeset
   751
    "JV@2013-10-27:
948
a28d3cfb7c43 Added test from global variable access when compiling from within the workspace.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 930
diff changeset
   752
992
4acfe6220c73 class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 991
diff changeset
   753
     As of 2013-10-27 parser crashes on DNU when a message
4acfe6220c73 class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 991
diff changeset
   754
     is constant-folded.
948
a28d3cfb7c43 Added test from global variable access when compiling from within the workspace.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 930
diff changeset
   755
    "
a28d3cfb7c43 Added test from global variable access when compiling from within the workspace.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 930
diff changeset
   756
992
4acfe6220c73 class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 991
diff changeset
   757
    self compile: 'mock_03 ^ 1 perform: #+ with: 2' mode: #bc.
4acfe6220c73 class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 991
diff changeset
   758
    self assert: self bc_mock_03 == 3
948
a28d3cfb7c43 Added test from global variable access when compiling from within the workspace.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 930
diff changeset
   759
a28d3cfb7c43 Added test from global variable access when compiling from within the workspace.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 930
diff changeset
   760
    "Created: / 24-06-2013 / 14:06:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
992
4acfe6220c73 class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 991
diff changeset
   761
    "Modified: / 27-08-2013 / 02:38:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
4acfe6220c73 class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 991
diff changeset
   762
!
4acfe6220c73 class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 991
diff changeset
   763
4acfe6220c73 class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 991
diff changeset
   764
test_04
4acfe6220c73 class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 991
diff changeset
   765
    "JV@2013-10-27:
4acfe6220c73 class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 991
diff changeset
   766
4acfe6220c73 class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 991
diff changeset
   767
     As of 2013-10-27 bytecode compiler generates invalid code
4acfe6220c73 class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 991
diff changeset
   768
     for perform:* with constant symbol. That's because
4acfe6220c73 class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 991
diff changeset
   769
     in Parser, rev 1.781 >> keywordExpressionFor:, line 57 the
4acfe6220c73 class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 991
diff changeset
   770
     selector is reser back to the original, overwriting the one
4acfe6220c73 class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 991
diff changeset
   771
     set by constant-folding method.
4acfe6220c73 class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 991
diff changeset
   772
    "
4acfe6220c73 class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 991
diff changeset
   773
993
8cc7201dbfda Fix in test_04, sigh
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 992
diff changeset
   774
    self compile: 'mock_04:x ^x perform: #+ with: 2' mode: #bc.
992
4acfe6220c73 class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 991
diff changeset
   775
    self assert: (self bc_mock_04:2) == 4
4acfe6220c73 class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 991
diff changeset
   776
4acfe6220c73 class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 991
diff changeset
   777
    "Created: / 27-08-2013 / 02:37:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
993
8cc7201dbfda Fix in test_04, sigh
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 992
diff changeset
   778
    "Modified: / 27-08-2013 / 10:32:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1138
cd03872a5b98 Two more tests covering stc bugs:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   779
!
cd03872a5b98 Two more tests covering stc bugs:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   780
cd03872a5b98 Two more tests covering stc bugs:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   781
test_05a
cd03872a5b98 Two more tests covering stc bugs:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   782
    "JV@2014-05-23:
cd03872a5b98 Two more tests covering stc bugs:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   783
cd03872a5b98 Two more tests covering stc bugs:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   784
    As of 2014-05-23, stc generate wrong code for compilation units
cd03872a5b98 Two more tests covering stc bugs:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   785
    which references symbol AND contains argument declarations for
cd03872a5b98 Two more tests covering stc bugs:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   786
    variable named _<value of that symbol> (given that symbol consist
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   787
    of [A-Za-z]).
1138
cd03872a5b98 Two more tests covering stc bugs:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   788
cd03872a5b98 Two more tests covering stc bugs:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   789
    The problem is that stc creates per-compilation unit static variable
cd03872a5b98 Two more tests covering stc bugs:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   790
    for the symbol and defines a short accessor in form _<symbol value>.
cd03872a5b98 Two more tests covering stc bugs:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   791
    If the function has argumemt with the very same name, the CPP expands
cd03872a5b98 Two more tests covering stc bugs:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   792
    argment name in method signature to the access to the static variable
cd03872a5b98 Two more tests covering stc bugs:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   793
    referencing the symbol object and thus cause syntax error.
cd03872a5b98 Two more tests covering stc bugs:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   794
cd03872a5b98 Two more tests covering stc bugs:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   795
    NOTE, that problem occurs even if the symbol object is used as a selector
cd03872a5b98 Two more tests covering stc bugs:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   796
    in message send ANYWHERE in the same compilation unit.
cd03872a5b98 Two more tests covering stc bugs:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   797
cd03872a5b98 Two more tests covering stc bugs:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   798
    Bytecode compiler, however, handles this correctly, so this problem
cd03872a5b98 Two more tests covering stc bugs:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   799
    will manifest itself by uncompilable code once checked out and
cd03872a5b98 Two more tests covering stc bugs:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   800
    compled by STC.
cd03872a5b98 Two more tests covering stc bugs:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   801
    "
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   802
    #(bc stc) do:[:mode |
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   803
    self compile: 'at: _key
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   804
		    ^ #key' mode: mode.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   805
	self assert: (self perform: (mode , '_at:') asSymbol with: 2) == #key.
1138
cd03872a5b98 Two more tests covering stc bugs:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   806
    ]
cd03872a5b98 Two more tests covering stc bugs:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   807
cd03872a5b98 Two more tests covering stc bugs:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   808
    "Created: / 23-05-2014 / 14:33:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
cd03872a5b98 Two more tests covering stc bugs:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   809
    "Modified (comment): / 23-05-2014 / 16:11:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
cd03872a5b98 Two more tests covering stc bugs:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   810
!
cd03872a5b98 Two more tests covering stc bugs:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   811
cd03872a5b98 Two more tests covering stc bugs:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   812
test_05b
cd03872a5b98 Two more tests covering stc bugs:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   813
    "JV@2014-05-23:
cd03872a5b98 Two more tests covering stc bugs:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   814
cd03872a5b98 Two more tests covering stc bugs:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   815
    As of 2014-05-23, stc generate wrong code for compilation units
cd03872a5b98 Two more tests covering stc bugs:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   816
    which references symbol AND contains local variable declarations for
cd03872a5b98 Two more tests covering stc bugs:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   817
    variable named _<value of that symbol> (given that symbol consist
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   818
    of [A-Za-z].
1138
cd03872a5b98 Two more tests covering stc bugs:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   819
cd03872a5b98 Two more tests covering stc bugs:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   820
    The problem is that local variables in stc code are not a C local variables
cd03872a5b98 Two more tests covering stc bugs:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   821
    but rather accessed indirectly using __context[offset]. As a courtesy to a problammer,
cd03872a5b98 Two more tests covering stc bugs:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   822
    original variable name is a #define expaning to this context-accessing expression.
cd03872a5b98 Two more tests covering stc bugs:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   823
    If there's a symbol with conflicitng name, the #define which is used to access it
cd03872a5b98 Two more tests covering stc bugs:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   824
    is overriden by #define for local variable, causing bad return value of the method.
cd03872a5b98 Two more tests covering stc bugs:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   825
cd03872a5b98 Two more tests covering stc bugs:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   826
    Bytecode compiler, however, handles this correctly, so this problem
cd03872a5b98 Two more tests covering stc bugs:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   827
    will manifest itself when recompiled by STC and run. Even worse, in debugger
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   828
    printit you'll get correct answer and well as if you recompile.
1138
cd03872a5b98 Two more tests covering stc bugs:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   829
cd03872a5b98 Two more tests covering stc bugs:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   830
    "
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   831
    #(bc stc) do:[:mode |
1138
cd03872a5b98 Two more tests covering stc bugs:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   832
    self compile: 'at: arg
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   833
		    | _key |
1138
cd03872a5b98 Two more tests covering stc bugs:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   834
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   835
		    _key := arg.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   836
		    ^ #key' mode: mode.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   837
	self assert: (self perform: (mode , '_at:') asSymbol with: 2) == #key.
1138
cd03872a5b98 Two more tests covering stc bugs:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   838
    ]
cd03872a5b98 Two more tests covering stc bugs:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   839
cd03872a5b98 Two more tests covering stc bugs:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   840
    "Created: / 23-05-2014 / 14:33:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
cd03872a5b98 Two more tests covering stc bugs:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   841
    "Modified (comment): / 23-05-2014 / 16:16:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
cd03872a5b98 Two more tests covering stc bugs:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   842
! !
cd03872a5b98 Two more tests covering stc bugs:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   843
cd03872a5b98 Two more tests covering stc bugs:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   844
!CompilerTests2 methodsFor:'tests - FFI'!
cd03872a5b98 Two more tests covering stc bugs:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   845
1246
cc5bd61b11b4 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1245
diff changeset
   846
test_external_function_call_01a
1138
cd03872a5b98 Two more tests covering stc bugs:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   847
    "Test for stx bug for <cdecl> specs like
cd03872a5b98 Two more tests covering stc bugs:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   848
1928
a7e400e70e65 #BUGFIX by stefan
Stefan Vogel <sv@exept.de>
parents: 1462
diff changeset
   849
        <cdecl: Cairo::FontFace 'cairo_get_font_face' ( Cairo::GraphicsContext ) >
1138
cd03872a5b98 Two more tests covering stc bugs:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   850
cd03872a5b98 Two more tests covering stc bugs:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   851
     i.e., when custom subclass of ExternalAddress is in namespace."
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   852
1138
cd03872a5b98 Two more tests covering stc bugs:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   853
    | malloc  free |
cd03872a5b98 Two more tests covering stc bugs:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   854
cd03872a5b98 Two more tests covering stc bugs:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   855
    malloc := 'malloc: size
1928
a7e400e70e65 #BUGFIX by stefan
Stefan Vogel <sv@exept.de>
parents: 1462
diff changeset
   856
    <cdecl: const RegressionTests::CompilerTests2ExternalBytes "malloc" ( int ) module: ''librun.so''>
a7e400e70e65 #BUGFIX by stefan
Stefan Vogel <sv@exept.de>
parents: 1462
diff changeset
   857
    self primitiveFailed'.
1138
cd03872a5b98 Two more tests covering stc bugs:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   858
cd03872a5b98 Two more tests covering stc bugs:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   859
    free := 'free: ptr
1928
a7e400e70e65 #BUGFIX by stefan
Stefan Vogel <sv@exept.de>
parents: 1462
diff changeset
   860
    <cdecl: const void "free" ( RegressionTests::CompilerTests2ExternalBytes ) module: ''librun.so''>
a7e400e70e65 #BUGFIX by stefan
Stefan Vogel <sv@exept.de>
parents: 1462
diff changeset
   861
    self primitiveFailed'.
1138
cd03872a5b98 Two more tests covering stc bugs:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   862
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   863
    #( #bc #stc ) do:[:mode |
1928
a7e400e70e65 #BUGFIX by stefan
Stefan Vogel <sv@exept.de>
parents: 1462
diff changeset
   864
        | ptr |
1138
cd03872a5b98 Two more tests covering stc bugs:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   865
1928
a7e400e70e65 #BUGFIX by stefan
Stefan Vogel <sv@exept.de>
parents: 1462
diff changeset
   866
        self compile:malloc mode:mode.
a7e400e70e65 #BUGFIX by stefan
Stefan Vogel <sv@exept.de>
parents: 1462
diff changeset
   867
        self compile:free mode:mode.
a7e400e70e65 #BUGFIX by stefan
Stefan Vogel <sv@exept.de>
parents: 1462
diff changeset
   868
        ptr := self perform:(mode , '_malloc:') asSymbol with:1.
a7e400e70e65 #BUGFIX by stefan
Stefan Vogel <sv@exept.de>
parents: 1462
diff changeset
   869
        self assert:ptr class == RegressionTests::CompilerTests2ExternalBytes.
a7e400e70e65 #BUGFIX by stefan
Stefan Vogel <sv@exept.de>
parents: 1462
diff changeset
   870
        self perform:(mode , '_free:') asSymbol with:ptr.
1138
cd03872a5b98 Two more tests covering stc bugs:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   871
    ]
cd03872a5b98 Two more tests covering stc bugs:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   872
cd03872a5b98 Two more tests covering stc bugs:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   873
    "Created: / 06-01-2014 / 11:29:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1201
717489c30ebd Added missing class CompilerTests2ExternalBytes - required by FFI test
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1163
diff changeset
   874
    "Modified: / 20-09-2014 / 21:51:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1928
a7e400e70e65 #BUGFIX by stefan
Stefan Vogel <sv@exept.de>
parents: 1462
diff changeset
   875
    "Modified: / 11-05-2018 / 13:45:11 / stefan"
1246
cc5bd61b11b4 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1245
diff changeset
   876
!
cc5bd61b11b4 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1245
diff changeset
   877
cc5bd61b11b4 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1245
diff changeset
   878
test_external_function_call_01b
cc5bd61b11b4 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1245
diff changeset
   879
    "Test for stx bug for <cdecl> specs like
cc5bd61b11b4 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1245
diff changeset
   880
1928
a7e400e70e65 #BUGFIX by stefan
Stefan Vogel <sv@exept.de>
parents: 1462
diff changeset
   881
        <cdecl: Cairo::FontFace 'cairo_get_font_face' ( Cairo::GraphicsContext ) >
1246
cc5bd61b11b4 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1245
diff changeset
   882
cc5bd61b11b4 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1245
diff changeset
   883
     i.e., when custom subclass of ExternalAddress is in namespace."
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   884
1246
cc5bd61b11b4 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1245
diff changeset
   885
    | malloc  free |
cc5bd61b11b4 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1245
diff changeset
   886
cc5bd61b11b4 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1245
diff changeset
   887
    malloc := 'malloc: size
cc5bd61b11b4 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1245
diff changeset
   888
    <cdecl: const RegressionTests::CompilerTests2ExternalBytes "malloc" ( int ) module: ''librun''>
cc5bd61b11b4 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1245
diff changeset
   889
    self primitive failed'.
1928
a7e400e70e65 #BUGFIX by stefan
Stefan Vogel <sv@exept.de>
parents: 1462
diff changeset
   890
1246
cc5bd61b11b4 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1245
diff changeset
   891
    free := 'free: ptr
cc5bd61b11b4 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1245
diff changeset
   892
    <cdecl: const void "free" ( RegressionTests::CompilerTests2ExternalBytes ) module: ''librun''>
cc5bd61b11b4 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1245
diff changeset
   893
    self primitive failed'.
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   894
    #( #bc #stc ) do:[:mode |
1928
a7e400e70e65 #BUGFIX by stefan
Stefan Vogel <sv@exept.de>
parents: 1462
diff changeset
   895
        | ptr |
1246
cc5bd61b11b4 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1245
diff changeset
   896
1928
a7e400e70e65 #BUGFIX by stefan
Stefan Vogel <sv@exept.de>
parents: 1462
diff changeset
   897
        self compile:malloc mode:mode.
a7e400e70e65 #BUGFIX by stefan
Stefan Vogel <sv@exept.de>
parents: 1462
diff changeset
   898
        self compile:free mode:mode.
a7e400e70e65 #BUGFIX by stefan
Stefan Vogel <sv@exept.de>
parents: 1462
diff changeset
   899
        ptr := self perform:(mode , '_malloc:') asSymbol with:1.
a7e400e70e65 #BUGFIX by stefan
Stefan Vogel <sv@exept.de>
parents: 1462
diff changeset
   900
        self assert:ptr class == RegressionTests::CompilerTests2ExternalBytes.
a7e400e70e65 #BUGFIX by stefan
Stefan Vogel <sv@exept.de>
parents: 1462
diff changeset
   901
        self perform:(mode , '_free:') asSymbol with:ptr.
1246
cc5bd61b11b4 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1245
diff changeset
   902
    ]
cc5bd61b11b4 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1245
diff changeset
   903
cc5bd61b11b4 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1245
diff changeset
   904
    "Created: / 06-01-2014 / 11:29:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
cc5bd61b11b4 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1245
diff changeset
   905
    "Modified: / 20-09-2014 / 21:51:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1928
a7e400e70e65 #BUGFIX by stefan
Stefan Vogel <sv@exept.de>
parents: 1462
diff changeset
   906
    "Modified: / 11-05-2018 / 13:44:09 / stefan"
1246
cc5bd61b11b4 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1245
diff changeset
   907
!
cc5bd61b11b4 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1245
diff changeset
   908
cc5bd61b11b4 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1245
diff changeset
   909
test_external_function_call_01c
cc5bd61b11b4 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1245
diff changeset
   910
    "Test for stx bug for <cdecl> specs like
cc5bd61b11b4 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1245
diff changeset
   911
1928
a7e400e70e65 #BUGFIX by stefan
Stefan Vogel <sv@exept.de>
parents: 1462
diff changeset
   912
        <cdecl: Cairo::FontFace 'cairo_get_font_face' ( Cairo::GraphicsContext ) >
1246
cc5bd61b11b4 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1245
diff changeset
   913
cc5bd61b11b4 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1245
diff changeset
   914
     i.e., when custom subclass of ExternalAddress is in namespace."
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   915
1246
cc5bd61b11b4 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1245
diff changeset
   916
    | malloc  free |
cc5bd61b11b4 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1245
diff changeset
   917
cc5bd61b11b4 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1245
diff changeset
   918
    malloc := 'malloc: size
1928
a7e400e70e65 #BUGFIX by stefan
Stefan Vogel <sv@exept.de>
parents: 1462
diff changeset
   919
    <cdecl: const RegressionTests::CompilerTests2ExternalBytes "malloc" ( int )>
a7e400e70e65 #BUGFIX by stefan
Stefan Vogel <sv@exept.de>
parents: 1462
diff changeset
   920
    self primitiveFailed'.
1246
cc5bd61b11b4 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1245
diff changeset
   921
cc5bd61b11b4 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1245
diff changeset
   922
    free := 'free: ptr
1928
a7e400e70e65 #BUGFIX by stefan
Stefan Vogel <sv@exept.de>
parents: 1462
diff changeset
   923
    <cdecl: const void "free" ( RegressionTests::CompilerTests2ExternalBytes)>
a7e400e70e65 #BUGFIX by stefan
Stefan Vogel <sv@exept.de>
parents: 1462
diff changeset
   924
    self primitiveFailed'.
1246
cc5bd61b11b4 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1245
diff changeset
   925
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   926
    #( #bc #stc ) do:[:mode |
1928
a7e400e70e65 #BUGFIX by stefan
Stefan Vogel <sv@exept.de>
parents: 1462
diff changeset
   927
        | ptr |
1246
cc5bd61b11b4 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1245
diff changeset
   928
1928
a7e400e70e65 #BUGFIX by stefan
Stefan Vogel <sv@exept.de>
parents: 1462
diff changeset
   929
        self compile:malloc mode:mode.
a7e400e70e65 #BUGFIX by stefan
Stefan Vogel <sv@exept.de>
parents: 1462
diff changeset
   930
        self compile:free mode:mode.
a7e400e70e65 #BUGFIX by stefan
Stefan Vogel <sv@exept.de>
parents: 1462
diff changeset
   931
        ptr := self perform:(mode , '_malloc:') asSymbol with:1.
a7e400e70e65 #BUGFIX by stefan
Stefan Vogel <sv@exept.de>
parents: 1462
diff changeset
   932
        self assert:ptr class == RegressionTests::CompilerTests2ExternalBytes.
a7e400e70e65 #BUGFIX by stefan
Stefan Vogel <sv@exept.de>
parents: 1462
diff changeset
   933
        self perform:(mode , '_free:') asSymbol with:ptr.
1246
cc5bd61b11b4 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1245
diff changeset
   934
    ]
cc5bd61b11b4 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1245
diff changeset
   935
cc5bd61b11b4 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1245
diff changeset
   936
    "Created: / 06-01-2014 / 11:29:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
cc5bd61b11b4 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1245
diff changeset
   937
    "Modified: / 20-09-2014 / 21:51:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1928
a7e400e70e65 #BUGFIX by stefan
Stefan Vogel <sv@exept.de>
parents: 1462
diff changeset
   938
    "Modified: / 11-05-2018 / 13:45:47 / stefan"
784
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   939
! !
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   940
988
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   941
!CompilerTests2 methodsFor:'tests - arg & var names'!
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   942
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   943
test_argAndVarNames_01
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   944
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   945
    #(bc jit stc) do:[:mode |
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   946
	savedContextArgAndVarNames := nil.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   947
	self compile: (self class >> #method_argAndVarNames_01) source mode: mode.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   948
	self perform: (mode , '_method_argAndVarNames_01') asSymbol.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   949
	self assert: savedContextArgAndVarNames  = #(each isEven).
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   950
	self assert: savedContextArgAndVarValues = #(4 true)
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   951
988
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   952
    ]
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   953
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   954
    "Created: / 20-08-2013 / 09:05:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1212
8429b2bff582 class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1201
diff changeset
   955
    "Modified: / 26-09-2014 / 15:02:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
988
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   956
!
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   957
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   958
test_argAndVarNames_02
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   959
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   960
    #(bc jit stc) do:[:mode |
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   961
	savedContextArgAndVarNames := nil.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   962
	self compile: (self class >> #method_argAndVarNames_02) source mode: mode.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   963
	self perform: (mode , '_method_argAndVarNames_02') asSymbol.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   964
	self assert: savedContextArgAndVarNames  = #(each isEven).
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   965
	self assert: savedContextArgAndVarValues = #(4 true)
988
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   966
    ]
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   967
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   968
    "Created: / 20-08-2013 / 09:17:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1212
8429b2bff582 class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1201
diff changeset
   969
    "Modified: / 26-09-2014 / 15:02:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
988
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   970
!
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   971
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   972
test_argAndVarNames_03
1247
ff9a4f439ff9 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1246
diff changeset
   973
    "/ CG: this test tries to access the context of a block.
ff9a4f439ff9 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1246
diff changeset
   974
    "/ however, the block is an inlined ifTrue block, so its block local gets
ff9a4f439ff9 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1246
diff changeset
   975
    "/ lifted to its home context.
ff9a4f439ff9 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1246
diff changeset
   976
    "/ It is questionable if the test is right.
988
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   977
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   978
    #(bc jit stc) do:[:mode |
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   979
	savedContextArgAndVarNames := nil.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   980
	self compile: (self class >> #method_argAndVarNames_03) source mode: mode.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   981
	self perform: (mode , '_method_argAndVarNames_03') asSymbol.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   982
	self assert: savedContextArgAndVarNames = #(ttt).
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   983
	self assert: savedContextArgAndVarValues = #(123)
988
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   984
    ]
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   985
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   986
    "Created: / 20-08-2013 / 09:23:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1212
8429b2bff582 class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1201
diff changeset
   987
    "Modified: / 26-09-2014 / 15:03:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
988
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   988
!
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   989
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   990
test_argAndVarNames_04
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   991
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   992
    #(bc jit stc) do:[:mode |
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   993
	savedContextArgAndVarNames := nil.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   994
	self compile: (self class >> #method_argAndVarNames_04) source mode: mode.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   995
	self perform: (mode , '_method_argAndVarNames_04') asSymbol.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   996
	self assert: savedContextArgAndVarNames = #(each isEven isOddNot).
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
   997
	self assert: savedContextArgAndVarValues = #(4 true true).
988
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   998
    ]
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   999
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
  1000
    "Created: / 20-08-2013 / 10:12:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1212
8429b2bff582 class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1201
diff changeset
  1001
    "Modified: / 26-09-2014 / 15:04:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
991
c855ef9d606c class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 988
diff changeset
  1002
!
c855ef9d606c class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 988
diff changeset
  1003
c855ef9d606c class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 988
diff changeset
  1004
test_argAndVarNames_05
1247
ff9a4f439ff9 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1246
diff changeset
  1005
    "/ CG: this test tries to access the context of a block.
ff9a4f439ff9 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1246
diff changeset
  1006
    "/ however, the block is an inlined to:do: block, so its block local gets
ff9a4f439ff9 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1246
diff changeset
  1007
    "/ lifted to its home context.
ff9a4f439ff9 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1246
diff changeset
  1008
    "/ It is questionable if the test is right.
991
c855ef9d606c class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 988
diff changeset
  1009
c855ef9d606c class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 988
diff changeset
  1010
    #(bc jit stc) do:[:mode |
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
  1011
	savedContextArgAndVarNames := nil.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
  1012
	self compile: (self class >> #method_argAndVarNames_05) source mode: mode.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
  1013
	self perform: (mode , '_method_argAndVarNames_05') asSymbol.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
  1014
	self assert: savedContextArgAndVarNames = #(len i local1 local2).
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
  1015
	self assert: savedContextArgAndVarValues = #(5 1 #local1 42)
991
c855ef9d606c class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 988
diff changeset
  1016
    ]
c855ef9d606c class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 988
diff changeset
  1017
c855ef9d606c class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 988
diff changeset
  1018
    "Created: / 22-08-2013 / 15:49:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1212
8429b2bff582 class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1201
diff changeset
  1019
    "Modified: / 26-09-2014 / 15:05:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1001
9478e093ee77 class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 993
diff changeset
  1020
!
9478e093ee77 class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 993
diff changeset
  1021
9478e093ee77 class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 993
diff changeset
  1022
test_argAndVarNames_06
9478e093ee77 class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 993
diff changeset
  1023
9478e093ee77 class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 993
diff changeset
  1024
    #(bc jit stc) do:[:mode |
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
  1025
	savedContextArgAndVarNames := nil.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
  1026
	self compile: (self class >> #method_argAndVarNames_06) source mode: mode.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
  1027
	self perform: (mode , '_method_argAndVarNames_06') asSymbol.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
  1028
	self assert: savedContextArgAndVarNames = #(clsnm attributes cls superDef superNm).
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
  1029
	self assert: savedContextArgAndVarValues = {
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
  1030
	    self class name.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
  1031
	    #(#autoload).
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
  1032
	    self class.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
  1033
	    Smalltalk at: #stx_goodies_sunit.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
  1034
	    self class superclass name.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1327
diff changeset
  1035
	}
1212
8429b2bff582 class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1201
diff changeset
  1036
1001
9478e093ee77 class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 993
diff changeset
  1037
    ]
9478e093ee77 class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 993
diff changeset
  1038
9478e093ee77 class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 993
diff changeset
  1039
    "Created: / 20-09-2013 / 11:44:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1212
8429b2bff582 class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1201
diff changeset
  1040
    "Modified: / 26-09-2014 / 15:09:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
988
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
  1041
! !
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
  1042
899
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
  1043
!CompilerTests2 methodsFor:'tests - line numbers'!
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
  1044
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
  1045
test_lineno_01_bci
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
  1046
    | m002 m300 l |
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
  1047
921
cb5e99d58aab Refactoring only - add more versatile compile method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 900
diff changeset
  1048
    m002 := self compile: (self class >> #method_lineno_002) source mode: #bc.
cb5e99d58aab Refactoring only - add more versatile compile method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 900
diff changeset
  1049
    m300 := self compile: (self class >> #method_lineno_300) source mode: #bc.
899
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
  1050
921
cb5e99d58aab Refactoring only - add more versatile compile method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 900
diff changeset
  1051
    self assert: (l := self bc_method_lineno_002) == 2.
cb5e99d58aab Refactoring only - add more versatile compile method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 900
diff changeset
  1052
    self assert: (l := self bc_method_lineno_300) == 300.
899
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
  1053
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
  1054
    self assert: m002 code isNil.
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
  1055
    self assert: m300 code isNil.
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
  1056
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
  1057
    "Created: / 12-04-2013 / 21:24:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
921
cb5e99d58aab Refactoring only - add more versatile compile method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 900
diff changeset
  1058
    "Modified: / 25-04-2013 / 15:24:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
899
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
  1059
!
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
  1060
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
  1061
test_lineno_01_jit
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
  1062
    | m002 m300 l |
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
  1063
921
cb5e99d58aab Refactoring only - add more versatile compile method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 900
diff changeset
  1064
    m002 := self compile: (self class >> #method_lineno_002) source mode: #jit.
cb5e99d58aab Refactoring only - add more versatile compile method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 900
diff changeset
  1065
    m300 := self compile: (self class >> #method_lineno_300) source mode: #jit.
899
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
  1066
921
cb5e99d58aab Refactoring only - add more versatile compile method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 900
diff changeset
  1067
    self assert: (l := self jit_method_lineno_002) == 2.
cb5e99d58aab Refactoring only - add more versatile compile method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 900
diff changeset
  1068
    self assert: (l := self jit_method_lineno_300) == 300.
899
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
  1069
929
5c6f8d37f9ce class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 922
diff changeset
  1070
    self assert: m002 code notNil.
5c6f8d37f9ce class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 922
diff changeset
  1071
    self assert: m300 code notNil.
899
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
  1072
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
  1073
    "Created: / 12-04-2013 / 21:41:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
929
5c6f8d37f9ce class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 922
diff changeset
  1074
    "Modified: / 10-05-2013 / 18:23:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
899
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
  1075
!
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
  1076
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
  1077
test_lineno_01_stc
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
  1078
    | m002 m300 l |
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
  1079
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
  1080
    m002 := self class >> #method_lineno_002.
921
cb5e99d58aab Refactoring only - add more versatile compile method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 900
diff changeset
  1081
    m300 := self class >> #method_lineno_300.
899
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
  1082
921
cb5e99d58aab Refactoring only - add more versatile compile method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 900
diff changeset
  1083
    self compile: m002 source mode: #stc.
cb5e99d58aab Refactoring only - add more versatile compile method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 900
diff changeset
  1084
    self compile: m300 source mode: #stc.
cb5e99d58aab Refactoring only - add more versatile compile method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 900
diff changeset
  1085
cb5e99d58aab Refactoring only - add more versatile compile method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 900
diff changeset
  1086
    self assert: (l := self stc_method_lineno_002) == 2.
cb5e99d58aab Refactoring only - add more versatile compile method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 900
diff changeset
  1087
    self assert: (l := self stc_method_lineno_300) == 300.
899
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
  1088
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
  1089
    "Created: / 12-04-2013 / 21:50:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
921
cb5e99d58aab Refactoring only - add more versatile compile method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 900
diff changeset
  1090
    "Modified: / 25-04-2013 / 15:22:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
899
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
  1091
! !
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
  1092
1037
4bba0706b9ae Added tests covering symbol parsing inconsistency in array literals.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1001
diff changeset
  1093
!CompilerTests2 methodsFor:'tests - literals'!
4bba0706b9ae Added tests covering symbol parsing inconsistency in array literals.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1001
diff changeset
  1094
1245
a00a20a29299 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1212
diff changeset
  1095
test_literals_array_01a
1037
4bba0706b9ae Added tests covering symbol parsing inconsistency in array literals.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1001
diff changeset
  1096
    | m l_stc l_bc |
4bba0706b9ae Added tests covering symbol parsing inconsistency in array literals.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1001
diff changeset
  1097
1245
a00a20a29299 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1212
diff changeset
  1098
    m := self class >> #method_literals_array_01a.
1037
4bba0706b9ae Added tests covering symbol parsing inconsistency in array literals.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1001
diff changeset
  1099
4bba0706b9ae Added tests covering symbol parsing inconsistency in array literals.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1001
diff changeset
  1100
    self compile: m source mode: #stc.
4bba0706b9ae Added tests covering symbol parsing inconsistency in array literals.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1001
diff changeset
  1101
    self compile: m source mode: #bc.
4bba0706b9ae Added tests covering symbol parsing inconsistency in array literals.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1001
diff changeset
  1102
1245
a00a20a29299 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1212
diff changeset
  1103
    l_stc := self stc_method_literals_array_01a.
a00a20a29299 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1212
diff changeset
  1104
    l_bc :=  self bc_method_literals_array_01a.
1037
4bba0706b9ae Added tests covering symbol parsing inconsistency in array literals.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1001
diff changeset
  1105
4bba0706b9ae Added tests covering symbol parsing inconsistency in array literals.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1001
diff changeset
  1106
    self assert: l_stc = l_bc.
4bba0706b9ae Added tests covering symbol parsing inconsistency in array literals.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1001
diff changeset
  1107
4bba0706b9ae Added tests covering symbol parsing inconsistency in array literals.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1001
diff changeset
  1108
    "Created: / 20-01-2014 / 13:46:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
4bba0706b9ae Added tests covering symbol parsing inconsistency in array literals.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1001
diff changeset
  1109
!
4bba0706b9ae Added tests covering symbol parsing inconsistency in array literals.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1001
diff changeset
  1110
1245
a00a20a29299 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1212
diff changeset
  1111
test_literals_array_01a_bc
1037
4bba0706b9ae Added tests covering symbol parsing inconsistency in array literals.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1001
diff changeset
  1112
    | m l |
4bba0706b9ae Added tests covering symbol parsing inconsistency in array literals.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1001
diff changeset
  1113
1245
a00a20a29299 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1212
diff changeset
  1114
    m := self class >> #method_literals_array_01a.
1037
4bba0706b9ae Added tests covering symbol parsing inconsistency in array literals.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1001
diff changeset
  1115
4bba0706b9ae Added tests covering symbol parsing inconsistency in array literals.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1001
diff changeset
  1116
    self compile: m source mode: #bc.
4bba0706b9ae Added tests covering symbol parsing inconsistency in array literals.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1001
diff changeset
  1117
1245
a00a20a29299 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1212
diff changeset
  1118
    l := self bc_method_literals_array_01a.
1037
4bba0706b9ae Added tests covering symbol parsing inconsistency in array literals.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1001
diff changeset
  1119
4bba0706b9ae Added tests covering symbol parsing inconsistency in array literals.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1001
diff changeset
  1120
    self assert: l size == 3.
4bba0706b9ae Added tests covering symbol parsing inconsistency in array literals.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1001
diff changeset
  1121
    self assert: l first == #'_XXX:_:'.
1245
a00a20a29299 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1212
diff changeset
  1122
    self assert: l second == #'YYY'.
1037
4bba0706b9ae Added tests covering symbol parsing inconsistency in array literals.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1001
diff changeset
  1123
    self assert: l third == #'_XXX:_:'.
4bba0706b9ae Added tests covering symbol parsing inconsistency in array literals.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1001
diff changeset
  1124
4bba0706b9ae Added tests covering symbol parsing inconsistency in array literals.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1001
diff changeset
  1125
    "Created: / 20-01-2014 / 13:42:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
4bba0706b9ae Added tests covering symbol parsing inconsistency in array literals.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1001
diff changeset
  1126
!
4bba0706b9ae Added tests covering symbol parsing inconsistency in array literals.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1001
diff changeset
  1127
1245
a00a20a29299 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1212
diff changeset
  1128
test_literals_array_01a_stc
1037
4bba0706b9ae Added tests covering symbol parsing inconsistency in array literals.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1001
diff changeset
  1129
    | m l |
4bba0706b9ae Added tests covering symbol parsing inconsistency in array literals.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1001
diff changeset
  1130
1245
a00a20a29299 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1212
diff changeset
  1131
    m := self class >> #method_literals_array_01a.
1037
4bba0706b9ae Added tests covering symbol parsing inconsistency in array literals.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1001
diff changeset
  1132
4bba0706b9ae Added tests covering symbol parsing inconsistency in array literals.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1001
diff changeset
  1133
    self compile: m source mode: #stc.
4bba0706b9ae Added tests covering symbol parsing inconsistency in array literals.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1001
diff changeset
  1134
1245
a00a20a29299 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1212
diff changeset
  1135
    l := self stc_method_literals_array_01a.
1037
4bba0706b9ae Added tests covering symbol parsing inconsistency in array literals.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1001
diff changeset
  1136
4bba0706b9ae Added tests covering symbol parsing inconsistency in array literals.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1001
diff changeset
  1137
    self assert: l size == 3.
4bba0706b9ae Added tests covering symbol parsing inconsistency in array literals.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1001
diff changeset
  1138
    self assert: l first == #'_XXX:_:'.
1245
a00a20a29299 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1212
diff changeset
  1139
    self assert: l second == #'YYY'.
a00a20a29299 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1212
diff changeset
  1140
    self assert: l third == #'_XXX:_:'.
a00a20a29299 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1212
diff changeset
  1141
a00a20a29299 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1212
diff changeset
  1142
    "Created: / 20-01-2014 / 13:40:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
a00a20a29299 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1212
diff changeset
  1143
!
a00a20a29299 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1212
diff changeset
  1144
a00a20a29299 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1212
diff changeset
  1145
test_literals_array_01b
a00a20a29299 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1212
diff changeset
  1146
    | m l_stc l_bc |
a00a20a29299 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1212
diff changeset
  1147
a00a20a29299 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1212
diff changeset
  1148
    m := self class >> #method_literals_array_01b.
a00a20a29299 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1212
diff changeset
  1149
a00a20a29299 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1212
diff changeset
  1150
    self compile: m source mode: #stc.
a00a20a29299 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1212
diff changeset
  1151
    self compile: m source mode: #bc.
a00a20a29299 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1212
diff changeset
  1152
a00a20a29299 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1212
diff changeset
  1153
    l_stc := self stc_method_literals_array_01b.
a00a20a29299 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1212
diff changeset
  1154
    l_bc :=  self bc_method_literals_array_01b.
a00a20a29299 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1212
diff changeset
  1155
a00a20a29299 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1212
diff changeset
  1156
    self assert: l_stc = l_bc.
a00a20a29299 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1212
diff changeset
  1157
a00a20a29299 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1212
diff changeset
  1158
    "Created: / 20-01-2014 / 13:46:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
a00a20a29299 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1212
diff changeset
  1159
!
a00a20a29299 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1212
diff changeset
  1160
a00a20a29299 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1212
diff changeset
  1161
test_literals_array_01b_bc
a00a20a29299 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1212
diff changeset
  1162
    | m l |
a00a20a29299 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1212
diff changeset
  1163
a00a20a29299 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1212
diff changeset
  1164
    m := self class >> #method_literals_array_01b.
a00a20a29299 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1212
diff changeset
  1165
a00a20a29299 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1212
diff changeset
  1166
    self compile: m source mode: #bc.
a00a20a29299 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1212
diff changeset
  1167
a00a20a29299 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1212
diff changeset
  1168
    l := self bc_method_literals_array_01b.
a00a20a29299 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1212
diff changeset
  1169
a00a20a29299 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1212
diff changeset
  1170
    self assert: l size == 3.
a00a20a29299 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1212
diff changeset
  1171
    self assert: l first == #'_XXX:_:'.
a00a20a29299 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1212
diff changeset
  1172
    self assert: l second == #'YYY'.
a00a20a29299 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1212
diff changeset
  1173
    self assert: l third == #'_XXX:_:'.
a00a20a29299 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1212
diff changeset
  1174
a00a20a29299 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1212
diff changeset
  1175
    "Created: / 20-01-2014 / 13:42:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
a00a20a29299 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1212
diff changeset
  1176
!
a00a20a29299 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1212
diff changeset
  1177
a00a20a29299 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1212
diff changeset
  1178
test_literals_array_01b_stc
a00a20a29299 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1212
diff changeset
  1179
    | m l |
a00a20a29299 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1212
diff changeset
  1180
a00a20a29299 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1212
diff changeset
  1181
    m := self class >> #method_literals_array_01b.
a00a20a29299 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1212
diff changeset
  1182
a00a20a29299 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1212
diff changeset
  1183
    self compile: m source mode: #stc.
a00a20a29299 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1212
diff changeset
  1184
a00a20a29299 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1212
diff changeset
  1185
    l := self stc_method_literals_array_01b.
a00a20a29299 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1212
diff changeset
  1186
a00a20a29299 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1212
diff changeset
  1187
    self assert: l size == 3.
a00a20a29299 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1212
diff changeset
  1188
    self assert: l first == #'_XXX:_:'.
a00a20a29299 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1212
diff changeset
  1189
    self assert: l second == #'YYY'.
1037
4bba0706b9ae Added tests covering symbol parsing inconsistency in array literals.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1001
diff changeset
  1190
    self assert: l third == #'_XXX:_:'.
4bba0706b9ae Added tests covering symbol parsing inconsistency in array literals.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1001
diff changeset
  1191
4bba0706b9ae Added tests covering symbol parsing inconsistency in array literals.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1001
diff changeset
  1192
    "Created: / 20-01-2014 / 13:40:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
4bba0706b9ae Added tests covering symbol parsing inconsistency in array literals.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1001
diff changeset
  1193
!
4bba0706b9ae Added tests covering symbol parsing inconsistency in array literals.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1001
diff changeset
  1194
1271
6004da64f1ef class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1247
diff changeset
  1195
test_literals_negativeZero_bc
6004da64f1ef class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1247
diff changeset
  1196
    | m l |
6004da64f1ef class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1247
diff changeset
  1197
6004da64f1ef class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1247
diff changeset
  1198
    m := self class >> #method_negativeZero_01.
6004da64f1ef class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1247
diff changeset
  1199
6004da64f1ef class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1247
diff changeset
  1200
    self compile: m source mode: #bc.
6004da64f1ef class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1247
diff changeset
  1201
1273
0afeacccdc89 class: RegressionTests::CompilerTests2
Stefan Vogel <sv@exept.de>
parents: 1272
diff changeset
  1202
    l := self bc_method_negativeZero_01.
1271
6004da64f1ef class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1247
diff changeset
  1203
    self assert: l = 0.0.
6004da64f1ef class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1247
diff changeset
  1204
    self assert: l isNegativeZero.
6004da64f1ef class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1247
diff changeset
  1205
!
6004da64f1ef class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1247
diff changeset
  1206
6004da64f1ef class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1247
diff changeset
  1207
test_literals_negativeZero_stc
1272
dbe0aa7a4e17 class: RegressionTests::CompilerTests2
Stefan Vogel <sv@exept.de>
parents: 1271
diff changeset
  1208
    | m negZero |
1271
6004da64f1ef class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1247
diff changeset
  1209
6004da64f1ef class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1247
diff changeset
  1210
    m := self class >> #method_negativeZero_01.
6004da64f1ef class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1247
diff changeset
  1211
6004da64f1ef class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1247
diff changeset
  1212
    self compile: m source mode: #stc.
6004da64f1ef class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1247
diff changeset
  1213
1272
dbe0aa7a4e17 class: RegressionTests::CompilerTests2
Stefan Vogel <sv@exept.de>
parents: 1271
diff changeset
  1214
    negZero := self stc_method_negativeZero_01.
dbe0aa7a4e17 class: RegressionTests::CompilerTests2
Stefan Vogel <sv@exept.de>
parents: 1271
diff changeset
  1215
    self assert: negZero = 0.0.
dbe0aa7a4e17 class: RegressionTests::CompilerTests2
Stefan Vogel <sv@exept.de>
parents: 1271
diff changeset
  1216
    self assert: negZero isNegativeZero.
1271
6004da64f1ef class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1247
diff changeset
  1217
!
6004da64f1ef class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 1247
diff changeset
  1218
1037
4bba0706b9ae Added tests covering symbol parsing inconsistency in array literals.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1001
diff changeset
  1219
test_literals_symbol_01_bc
4bba0706b9ae Added tests covering symbol parsing inconsistency in array literals.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1001
diff changeset
  1220
    | m l |
4bba0706b9ae Added tests covering symbol parsing inconsistency in array literals.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1001
diff changeset
  1221
4bba0706b9ae Added tests covering symbol parsing inconsistency in array literals.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1001
diff changeset
  1222
    m := self class >> #method_literals_symbol_01.
4bba0706b9ae Added tests covering symbol parsing inconsistency in array literals.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1001
diff changeset
  1223
4bba0706b9ae Added tests covering symbol parsing inconsistency in array literals.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1001
diff changeset
  1224
    self compile: m source mode: #bc.
4bba0706b9ae Added tests covering symbol parsing inconsistency in array literals.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1001
diff changeset
  1225
4bba0706b9ae Added tests covering symbol parsing inconsistency in array literals.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1001
diff changeset
  1226
    l := self bc_method_literals_symbol_01.
4bba0706b9ae Added tests covering symbol parsing inconsistency in array literals.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1001
diff changeset
  1227
    self assert: l == #'_XXX:_:'.
4bba0706b9ae Added tests covering symbol parsing inconsistency in array literals.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1001
diff changeset
  1228
4bba0706b9ae Added tests covering symbol parsing inconsistency in array literals.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1001
diff changeset
  1229
    "Created: / 20-01-2014 / 13:44:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
4bba0706b9ae Added tests covering symbol parsing inconsistency in array literals.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1001
diff changeset
  1230
!
4bba0706b9ae Added tests covering symbol parsing inconsistency in array literals.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1001
diff changeset
  1231
4bba0706b9ae Added tests covering symbol parsing inconsistency in array literals.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1001
diff changeset
  1232
test_literals_symbol_01_stc
4bba0706b9ae Added tests covering symbol parsing inconsistency in array literals.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1001
diff changeset
  1233
    | m l |
4bba0706b9ae Added tests covering symbol parsing inconsistency in array literals.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1001
diff changeset
  1234
4bba0706b9ae Added tests covering symbol parsing inconsistency in array literals.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1001
diff changeset
  1235
    m := self class >> #method_literals_symbol_01.
4bba0706b9ae Added tests covering symbol parsing inconsistency in array literals.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1001
diff changeset
  1236
4bba0706b9ae Added tests covering symbol parsing inconsistency in array literals.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1001
diff changeset
  1237
    self compile: m source mode: #stc.
4bba0706b9ae Added tests covering symbol parsing inconsistency in array literals.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1001
diff changeset
  1238
4bba0706b9ae Added tests covering symbol parsing inconsistency in array literals.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1001
diff changeset
  1239
    l := self stc_method_literals_symbol_01.
4bba0706b9ae Added tests covering symbol parsing inconsistency in array literals.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1001
diff changeset
  1240
    self assert: l == #'_XXX:_:'.
4bba0706b9ae Added tests covering symbol parsing inconsistency in array literals.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1001
diff changeset
  1241
4bba0706b9ae Added tests covering symbol parsing inconsistency in array literals.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1001
diff changeset
  1242
    "Created: / 20-01-2014 / 13:44:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
4bba0706b9ae Added tests covering symbol parsing inconsistency in array literals.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1001
diff changeset
  1243
! !
4bba0706b9ae Added tests covering symbol parsing inconsistency in array literals.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1001
diff changeset
  1244
922
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
  1245
!CompilerTests2 methodsFor:'tests - method slot'!
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
  1246
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
  1247
test_methodslot_01_bci
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
  1248
    | m |
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
  1249
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
  1250
    m := self compile: (self class >> #method_methodslot_01:) source mode: #bc.
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
  1251
    self bc_method_methodslot_01: m.
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
  1252
    self assert: m code isNil.
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
  1253
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
  1254
    "Created: / 25-04-2013 / 15:33:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
  1255
!
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
  1256
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
  1257
test_methodslot_01_jit
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
  1258
    | m |
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
  1259
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
  1260
    m := self compile: (self class >> #method_methodslot_01:) source mode: #jit.
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
  1261
    self jit_method_methodslot_01: m.
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
  1262
    self assert: m code notNil.
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
  1263
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
  1264
    "Created: / 25-04-2013 / 15:34:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
  1265
!
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
  1266
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
  1267
test_methodslot_01_stc
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
  1268
    | m |
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
  1269
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
  1270
    m := self compile: (self class >> #method_methodslot_01:) source mode: #stc.
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
  1271
    self stc_method_methodslot_01: m.
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
  1272
    self assert: m code notNil.
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
  1273
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
  1274
    "Created: / 25-04-2013 / 15:34:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
  1275
!
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
  1276
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
  1277
test_methodslot_02_bci
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
  1278
    | m |
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
  1279
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
  1280
    m := self compile: (self class >> #method_methodslot_02:) source mode: #bc.
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
  1281
    self bc_method_methodslot_02: m.
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
  1282
    self assert: m code isNil.
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
  1283
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
  1284
    "Created: / 25-04-2013 / 15:36:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
  1285
!
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
  1286
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
  1287
test_methodslot_02_jit
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
  1288
    | m |
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
  1289
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
  1290
    m := self compile: (self class >> #method_methodslot_02:) source mode: #jit.
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
  1291
    self jit_method_methodslot_02: m.
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
  1292
    self assert: m code notNil.
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
  1293
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
  1294
    "Created: / 25-04-2013 / 15:37:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
  1295
!
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
  1296
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
  1297
test_methodslot_02_stc
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
  1298
    | m |
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
  1299
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
  1300
    m := self compile: (self class >> #method_methodslot_02:) source mode: #stc.
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
  1301
    self stc_method_methodslot_02: m.
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
  1302
    self assert: m code notNil.
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
  1303
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
  1304
    "Created: / 25-04-2013 / 15:37:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
  1305
!
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
  1306
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
  1307
test_methodslot_03_bci
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
  1308
    | m |
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
  1309
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
  1310
    m := self compile: (self class >> #method_methodslot_03:) source mode: #bc.
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
  1311
    self bc_method_methodslot_03: m.
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
  1312
    self assert: m code isNil.
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
  1313
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
  1314
    "Created: / 25-04-2013 / 15:39:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
  1315
!
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
  1316
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
  1317
test_methodslot_03_jit
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
  1318
    | m |
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
  1319
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
  1320
    m := self compile: (self class >> #method_methodslot_03:) source mode: #jit.
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
  1321
    self jit_method_methodslot_03: m.
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
  1322
    self assert: m code notNil.
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
  1323
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
  1324
    "Created: / 25-04-2013 / 15:39:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
  1325
!
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
  1326
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
  1327
test_methodslot_03_stc
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
  1328
    | m |
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
  1329
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
  1330
    m := self compile: (self class >> #method_methodslot_03:) source mode: #stc.
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
  1331
    self stc_method_methodslot_03: m.
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
  1332
    self assert: m code notNil.
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
  1333
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
  1334
    "Created: / 25-04-2013 / 15:39:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
  1335
! !
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
  1336
784
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1337
!CompilerTests2 class methodsFor:'documentation'!
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1338
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1339
version
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1340
    ^ '$Header$'
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1341
!
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1342
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1343
version_CVS
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1344
    ^ '$Header$'
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1345
!
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1346
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1347
version_SVN
929
5c6f8d37f9ce class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 922
diff changeset
  1348
    ^ '$Id$'
784
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1349
! !
870
577f844aedf7 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 823
diff changeset
  1350