RegressionTests__CompilerTests2.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Tue, 27 Aug 2013 03:43:24 +0200
changeset 992 4acfe6220c73
parent 991 c855ef9d606c
child 993 8cc7201dbfda
permissions -rw-r--r--
class: RegressionTests::CompilerTests2 added: #test_04 changed: #test_03 Added tests for bugs introduced by (likely) CG.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
784
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     1
"{ Package: 'exept:regression' }"
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
988
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
     6
	instanceVariableNames:'methods enabledJIT argAndVarNames'
784
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     7
	classVariableNames:''
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     8
	poolDictionaries:''
823
452346d978c6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 784
diff changeset
     9
	category:'tests-Regression'
784
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    10
!
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    11
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    12
899
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
    13
!CompilerTests2 methodsFor:'private'!
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
    14
922
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
    15
assertSendersMethodIsIdenticalTo: sendersMethod
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
    16
    "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
    17
     in between"
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
    18
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
    19
    self assertSendersSendersMethodIsIdenticalTo: sendersMethod
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
    20
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
    21
    "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
    22
!
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
    23
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
    24
assertSendersSendersMethodIsIdenticalTo: thisMethod
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
    25
    | ctx m |
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
    26
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
    27
    ctx := thisContext sender sender.
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
    28
    "/ 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
    29
    "/ if it is not set!!
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
    30
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
    31
    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
    32
    self assert: m == thisMethod
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
    33
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
    34
    "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
    35
!
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
    36
921
cb5e99d58aab Refactoring only - add more versatile compile method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 900
diff changeset
    37
compile: source mode: mode
cb5e99d58aab Refactoring only - add more versatile compile method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 900
diff changeset
    38
    "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
    39
     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
    40
     (i.e., foo -> stc_foo).
cb5e99d58aab Refactoring only - add more versatile compile method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 900
diff changeset
    41
cb5e99d58aab Refactoring only - add more versatile compile method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 900
diff changeset
    42
     If mode is:
cb5e99d58aab Refactoring only - add more versatile compile method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 900
diff changeset
    43
       #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
    44
       #jit....then the method is bytecode compiled and left
cb5e99d58aab Refactoring only - add more versatile compile method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 900
diff changeset
    45
               to the jitter
cb5e99d58aab Refactoring only - add more versatile compile method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 900
diff changeset
    46
       #bc.....them the method is bytecode compiled and marked
cb5e99d58aab Refactoring only - add more versatile compile method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 900
diff changeset
    47
               as checked so JIT won't even try.
cb5e99d58aab Refactoring only - add more versatile compile method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 900
diff changeset
    48
    "
cb5e99d58aab Refactoring only - add more versatile compile method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 900
diff changeset
    49
cb5e99d58aab Refactoring only - add more versatile compile method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 900
diff changeset
    50
    | m |
cb5e99d58aab Refactoring only - add more versatile compile method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 900
diff changeset
    51
cb5e99d58aab Refactoring only - add more versatile compile method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 900
diff changeset
    52
    Class withoutUpdatingChangesDo:[
cb5e99d58aab Refactoring only - add more versatile compile method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 900
diff changeset
    53
        mode == #stc ifTrue:[
cb5e99d58aab Refactoring only - add more versatile compile method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 900
diff changeset
    54
            ParserFlags withSTCCompilation:#always do:[
cb5e99d58aab Refactoring only - add more versatile compile method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 900
diff changeset
    55
                m := self class compile: (mode, '_', source) classified: 'private - *dynamic*'.
cb5e99d58aab Refactoring only - add more versatile compile method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 900
diff changeset
    56
            ].
cb5e99d58aab Refactoring only - add more versatile compile method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 900
diff changeset
    57
        ] ifFalse:[
cb5e99d58aab Refactoring only - add more versatile compile method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 900
diff changeset
    58
            ParserFlags withSTCCompilation:#never do:[
cb5e99d58aab Refactoring only - add more versatile compile method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 900
diff changeset
    59
                m := self class compile: (mode, '_', source) classified: 'private - *dynamic*'.
cb5e99d58aab Refactoring only - add more versatile compile method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 900
diff changeset
    60
                m checked: (mode == #bc)
cb5e99d58aab Refactoring only - add more versatile compile method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 900
diff changeset
    61
            ].
cb5e99d58aab Refactoring only - add more versatile compile method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 900
diff changeset
    62
        ].
cb5e99d58aab Refactoring only - add more versatile compile method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 900
diff changeset
    63
    ].
cb5e99d58aab Refactoring only - add more versatile compile method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 900
diff changeset
    64
    methods add: m.
cb5e99d58aab Refactoring only - add more versatile compile method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 900
diff changeset
    65
    ^m
cb5e99d58aab Refactoring only - add more versatile compile method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 900
diff changeset
    66
cb5e99d58aab Refactoring only - add more versatile compile method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 900
diff changeset
    67
    "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
    68
!
cb5e99d58aab Refactoring only - add more versatile compile method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 900
diff changeset
    69
899
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
    70
currentLineNumber
900
7acbd0cce153 Call fixAllLineNumbers, otherwise linenos are invalid.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 899
diff changeset
    71
    thisContext fixAllLineNumbers.
7acbd0cce153 Call fixAllLineNumbers, otherwise linenos are invalid.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 899
diff changeset
    72
    ^thisContext sender lineNumber.
899
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
    73
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
    74
    "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
    75
    "Modified: / 13-04-2013 / 10:12:18 / 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
    76
! !
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
    77
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
    78
!CompilerTests2 methodsFor:'private-mock methods'!
899
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
    79
988
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
    80
method_argAndVarNames_01
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
    81
    #(1 2 3 4) select:[:each |
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
    82
        | isEven |
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
    83
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
    84
        isEven := each even.
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
    85
        argAndVarNames := thisContext argAndVarNames asArray.
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
    86
    ].
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
    87
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
    88
    "Created: / 20-08-2013 / 09:04:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
    89
!
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
    90
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
    91
method_argAndVarNames_02
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
    92
    #(1 2 3 4) select:[:each |
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
    93
        | isEven |
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
    94
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
    95
        '1234' select:[:char |
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
    96
            | someOtherLocal |
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
    97
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
    98
            someOtherLocal := char == $1.
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
    99
        ].
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   100
        isEven := each even.
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   101
        argAndVarNames := thisContext argAndVarNames asArray.
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   102
    ].
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   103
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   104
    "Created: / 20-08-2013 / 09:17:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   105
!
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   106
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   107
method_argAndVarNames_03
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   108
    "Reported by Stefan"
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   109
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   110
    argAndVarNames := 1.
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   111
    Smalltalk isStandAloneApp ifTrue:[
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   112
        | ttt |
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   113
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   114
        ttt := 123.
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   115
        argAndVarNames := thisContext argAndVarNames asArray.    
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   116
    ]
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   117
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   118
    "
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   119
    CompilerTests2 basicNew method_argAndVarNames_03
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   120
    "
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   121
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   122
    "Created: / 20-08-2013 / 09:22:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   123
!
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   124
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   125
method_argAndVarNames_04
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   126
    #(1 2 3 4) select:[:each |
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   127
        | isEven |
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   128
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   129
        isEven := each even.
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   130
        isEven ifTrue:[
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   131
            | isOddNot |
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   132
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   133
            isOddNot := each odd not.
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   134
            argAndVarNames := thisContext argAndVarNames asArray.
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   135
        ]
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   136
    ].
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   137
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   138
    "Created: / 20-08-2013 / 10:11:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   139
!
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   140
991
c855ef9d606c class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 988
diff changeset
   141
method_argAndVarNames_05
c855ef9d606c class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 988
diff changeset
   142
    | b |
c855ef9d606c class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 988
diff changeset
   143
c855ef9d606c class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 988
diff changeset
   144
    b := [:len |
c855ef9d606c class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 988
diff changeset
   145
        1 to: len do:[:i|
c855ef9d606c class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 988
diff changeset
   146
            | local1 local2 |
c855ef9d606c class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 988
diff changeset
   147
c855ef9d606c class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 988
diff changeset
   148
            local1 := #local1.
c855ef9d606c class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 988
diff changeset
   149
            local2 := 42.
c855ef9d606c class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 988
diff changeset
   150
c855ef9d606c class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 988
diff changeset
   151
            i == 1 ifTrue:[
c855ef9d606c class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 988
diff changeset
   152
                argAndVarNames := thisContext argAndVarNames asArray.
c855ef9d606c class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 988
diff changeset
   153
            ]
c855ef9d606c class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 988
diff changeset
   154
        ]
c855ef9d606c class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 988
diff changeset
   155
    ].
c855ef9d606c class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 988
diff changeset
   156
c855ef9d606c class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 988
diff changeset
   157
    b value: 5
c855ef9d606c class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 988
diff changeset
   158
c855ef9d606c class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 988
diff changeset
   159
    "
c855ef9d606c class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 988
diff changeset
   160
    CompilerTests2 basicNew method_argAndVarNames_05
c855ef9d606c class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 988
diff changeset
   161
    "
c855ef9d606c class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 988
diff changeset
   162
c855ef9d606c class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 988
diff changeset
   163
    "Created: / 22-08-2013 / 15:48:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c855ef9d606c class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 988
diff changeset
   164
!
c855ef9d606c class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 988
diff changeset
   165
899
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   166
method_lineno_002
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   167
    1 factorial. ^self currentLineNumber
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   168
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   169
    "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
   170
!
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   171
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   172
method_lineno_300
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   173
    "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
   174
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   175
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   176
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   177
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   178
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   179
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   180
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   181
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   182
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   183
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   184
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   185
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   186
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   187
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   188
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   189
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   190
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   191
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   192
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   193
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   194
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   195
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   196
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   197
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   198
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   199
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   200
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   201
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   202
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   203
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   204
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   205
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   206
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   207
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   208
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   209
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   210
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   211
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   212
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   213
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   214
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   215
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   216
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   217
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   218
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   219
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   220
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   221
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   222
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   223
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   224
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   225
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   226
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   227
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   228
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   229
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   230
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   231
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   232
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   233
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   234
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   235
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   236
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   237
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   238
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   239
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   240
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   241
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   242
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   243
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   244
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   245
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   246
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   247
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   248
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   249
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   250
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   251
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   252
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   253
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   254
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   255
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   256
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   257
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   258
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   259
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   260
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   261
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   262
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   263
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   264
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   265
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   266
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   267
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   268
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   269
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   270
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   271
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   272
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   273
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   274
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   275
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   276
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   277
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   278
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   279
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   280
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   281
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   282
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   283
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   284
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   285
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   286
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   287
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   288
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   289
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   290
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   291
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   292
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   293
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   294
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   295
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
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
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   301
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
    ^self currentLineNumber
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
    "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
   474
!
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
   475
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
   476
method_methodslot_01: thisMethod
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
   477
    self assertSendersMethodIsIdenticalTo: thisMethod
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
   478
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
   479
    "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
   480
!
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
   481
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
   482
method_methodslot_02: thisMethod
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
   483
     [ self assertSendersMethodIsIdenticalTo: thisMethod ]
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
   484
        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
   485
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
   486
    "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
   487
!
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
   488
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
   489
method_methodslot_03: thisMethod
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
   490
    "Deep block nesting...."
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
   491
    [
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
   492
        [
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
   493
            [
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
   494
                [ 
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
   495
                    self assertSendersMethodIsIdenticalTo: thisMethod 
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
   496
                ] 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
   497
            ] 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
   498
        ] 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
   499
    ] 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
   500
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
   501
    "Created: / 25-04-2013 / 15:38:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
899
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
784
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   504
!CompilerTests2 methodsFor:'setup'!
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   505
921
cb5e99d58aab Refactoring only - add more versatile compile method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 900
diff changeset
   506
setUp
cb5e99d58aab Refactoring only - add more versatile compile method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 900
diff changeset
   507
    methods := Set new.
930
78e2acffdea6 class: RegressionTests::CompilerTests2
Stefan Vogel <sv@exept.de>
parents: 929
diff changeset
   508
    enabledJIT := ObjectMemory justInTimeCompilation:true.
988
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   509
    argAndVarNames := nil.
921
cb5e99d58aab Refactoring only - add more versatile compile method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 900
diff changeset
   510
cb5e99d58aab Refactoring only - add more versatile compile method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 900
diff changeset
   511
    "Created: / 25-04-2013 / 15:20:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
988
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   512
    "Modified: / 20-08-2013 / 09:05:15 / 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
   513
!
784
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   514
921
cb5e99d58aab Refactoring only - add more versatile compile method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 900
diff changeset
   515
tearDown
cb5e99d58aab Refactoring only - add more versatile compile method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 900
diff changeset
   516
    ObjectMemory justInTimeCompilation: enabledJIT.
cb5e99d58aab Refactoring only - add more versatile compile method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 900
diff changeset
   517
    Class withoutUpdatingChangesDo:[
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
   518
        | classesToRemove |
921
cb5e99d58aab Refactoring only - add more versatile compile method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 900
diff changeset
   519
        (Smalltalk at: #'exept_regression_testData_CompilerTests2') notNil ifTrue:[
cb5e99d58aab Refactoring only - add more versatile compile method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 900
diff changeset
   520
            (Smalltalk at: #'exept_regression_testData_CompilerTests2') classes do:[:e|
cb5e99d58aab Refactoring only - add more versatile compile method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 900
diff changeset
   521
                e notNil ifTrue:[
cb5e99d58aab Refactoring only - add more versatile compile method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 900
diff changeset
   522
                    Smalltalk removeClass: e
cb5e99d58aab Refactoring only - add more versatile compile method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 900
diff changeset
   523
                ].
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
   524
            ].
a28d3cfb7c43 Added test from global variable access when compiling from within the workspace.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 930
diff changeset
   525
        ].
a28d3cfb7c43 Added test from global variable access when compiling from within the workspace.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 930
diff changeset
   526
        Smalltalk allClassesDo:[:cls|
a28d3cfb7c43 Added test from global variable access when compiling from within the workspace.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 930
diff changeset
   527
            (#(
a28d3cfb7c43 Added test from global variable access when compiling from within the workspace.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 930
diff changeset
   528
                'exept:regression/testData/CompilerTests2'
a28d3cfb7c43 Added test from global variable access when compiling from within the workspace.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 930
diff changeset
   529
                "/Add more...
a28d3cfb7c43 Added test from global variable access when compiling from within the workspace.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 930
diff changeset
   530
            ) includes: cls package) ifTrue:[
a28d3cfb7c43 Added test from global variable access when compiling from within the workspace.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 930
diff changeset
   531
                Smalltalk removeClass: cls
921
cb5e99d58aab Refactoring only - add more versatile compile method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 900
diff changeset
   532
            ]
cb5e99d58aab Refactoring only - add more versatile compile method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 900
diff changeset
   533
        ].
cb5e99d58aab Refactoring only - add more versatile compile method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 900
diff changeset
   534
cb5e99d58aab Refactoring only - add more versatile compile method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 900
diff changeset
   535
        methods do:[:m|
cb5e99d58aab Refactoring only - add more versatile compile method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 900
diff changeset
   536
            m mclass removeSelector: m selector.
cb5e99d58aab Refactoring only - add more versatile compile method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 900
diff changeset
   537
        ]
cb5e99d58aab Refactoring only - add more versatile compile method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 900
diff changeset
   538
    ]
784
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   539
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   540
    "Created: / 26-10-2012 / 11:32:13 / 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
   541
    "Modified: / 24-06-2013 / 14:12:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
784
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   542
! !
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   543
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   544
!CompilerTests2 methodsFor:'tests'!
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   545
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   546
test_01
823
452346d978c6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 784
diff changeset
   547
    "JV@2012-10-26:
784
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   548
823
452346d978c6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 784
diff changeset
   549
     When a package is loaded from source using
784
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   550
870
577f844aedf7 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 823
diff changeset
   551
        Smalltalk loadPackage:'...'
784
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   552
823
452346d978c6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 784
diff changeset
   553
     expression __EVALUATED FROM WORKSPACE__ AND a method from loaded class
452346d978c6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 784
diff changeset
   554
     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
   555
     be loaded later),
784
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   556
823
452346d978c6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 784
diff changeset
   557
     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
   558
     instead of access to a global
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   559
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   560
     This tests checks for this bug
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   561
    "
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   562
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   563
    | ws |
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   564
870
577f844aedf7 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 823
diff changeset
   565
    "/ this test only works with a Display...
871
098316a54e40 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 870
diff changeset
   566
    self skipIf:[Display isNil] description:'Test requires a Display'.
870
577f844aedf7 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 823
diff changeset
   567
784
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   568
    "/First, make sure that package is not yet loaded...
823
452346d978c6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 784
diff changeset
   569
    self
870
577f844aedf7 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 823
diff changeset
   570
        assert: (Smalltalk at: #'exept_regression_testData_CompilerTests2') isNil
577f844aedf7 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 823
diff changeset
   571
        description: 'Mock package already loaded'.
784
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   572
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   573
    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
   574
    ws selectedWorkspace
a28d3cfb7c43 Added test from global variable access when compiling from within the workspace.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 930
diff changeset
   575
        autoDefineVariables: #workspace;
870
577f844aedf7 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 823
diff changeset
   576
        contents: '(Smalltalk loadPackage: #''exept:regression/testData/CompilerTests2'')';
577f844aedf7 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 823
diff changeset
   577
        selectAll;
577f844aedf7 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 823
diff changeset
   578
        doIt.
784
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   579
823
452346d978c6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 784
diff changeset
   580
    self assert: (Smalltalk at: #'RegressionTests::CompilerTests2Mock1') new foo class
870
577f844aedf7 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 823
diff changeset
   581
                    == (Smalltalk at: #'RegressionTests::CompilerTests2Mock2')
784
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   582
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   583
    "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
   584
    "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
   585
!
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   586
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   587
test_02
823
452346d978c6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 784
diff changeset
   588
    "JV@2012-10-26:
784
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   589
823
452346d978c6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 784
diff changeset
   590
     When a package is loaded from source using
784
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   591
823
452346d978c6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 784
diff changeset
   592
	Smalltalk loadPackage:'...'
784
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   593
823
452346d978c6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 784
diff changeset
   594
     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
   595
     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
   596
     later),
784
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   597
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   598
     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
   599
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   600
     This test checks for this bug
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   601
    "
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   602
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   603
    "/First, make sure that package is not yet loaded...
823
452346d978c6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 784
diff changeset
   604
    self
452346d978c6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 784
diff changeset
   605
	assert: (Smalltalk at: #'exept_regression_estData_CompilerTests2') isNil
452346d978c6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 784
diff changeset
   606
	description: 'Mock package already loaded'.
784
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   607
823
452346d978c6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 784
diff changeset
   608
    self
452346d978c6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 784
diff changeset
   609
	assert: (Smalltalk loadPackage: #'exept:regression/testData/CompilerTests2')
452346d978c6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 784
diff changeset
   610
	description: 'Cannot load mock package!!'.
784
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   611
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   612
823
452346d978c6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 784
diff changeset
   613
    self assert: (Smalltalk at: #'RegressionTests::CompilerTests2Mock1') new foo class
452346d978c6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 784
diff changeset
   614
		    == (Smalltalk at: #'RegressionTests::CompilerTests2Mock2')
784
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   615
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   616
    "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
   617
    "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
   618
!
a28d3cfb7c43 Added test from global variable access when compiling from within the workspace.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 930
diff changeset
   619
a28d3cfb7c43 Added test from global variable access when compiling from within the workspace.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 930
diff changeset
   620
test_03
992
4acfe6220c73 class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 991
diff changeset
   621
    "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
   622
992
4acfe6220c73 class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 991
diff changeset
   623
     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
   624
     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
   625
    "
a28d3cfb7c43 Added test from global variable access when compiling from within the workspace.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 930
diff changeset
   626
992
4acfe6220c73 class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 991
diff changeset
   627
    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
   628
    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
   629
a28d3cfb7c43 Added test from global variable access when compiling from within the workspace.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 930
diff changeset
   630
    "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
   631
    "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
   632
!
4acfe6220c73 class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 991
diff changeset
   633
4acfe6220c73 class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 991
diff changeset
   634
test_04
4acfe6220c73 class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 991
diff changeset
   635
    "JV@2013-10-27:
4acfe6220c73 class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 991
diff changeset
   636
4acfe6220c73 class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 991
diff changeset
   637
     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
   638
     for perform:* with constant symbol. That's because
4acfe6220c73 class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 991
diff changeset
   639
     in Parser, rev 1.781 >> keywordExpressionFor:, line 57 the
4acfe6220c73 class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 991
diff changeset
   640
     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
   641
     set by constant-folding method.
4acfe6220c73 class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 991
diff changeset
   642
    "
4acfe6220c73 class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 991
diff changeset
   643
4acfe6220c73 class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 991
diff changeset
   644
    self compile: 'mock_04:x x perform: #+ with: 2' mode: #bc.
4acfe6220c73 class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 991
diff changeset
   645
    self assert: (self bc_mock_04:2) == 4
4acfe6220c73 class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 991
diff changeset
   646
4acfe6220c73 class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 991
diff changeset
   647
    "Created: / 27-08-2013 / 02:37:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
784
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   648
! !
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   649
988
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   650
!CompilerTests2 methodsFor:'tests - arg & var names'!
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   651
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   652
test_argAndVarNames_01
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   653
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   654
    #(bc jit stc) do:[:mode |
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   655
        argAndVarNames := nil.
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   656
        self compile: (self class >> #method_argAndVarNames_01) source mode: mode.
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   657
        self perform: (mode , '_method_argAndVarNames_01') asSymbol.
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   658
        self assert: argAndVarNames = #(each isEven)
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   659
    ]
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   660
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   661
    "Created: / 20-08-2013 / 09:05:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   662
!
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   663
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   664
test_argAndVarNames_02
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   665
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   666
    #(bc jit stc) do:[:mode |
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   667
        argAndVarNames := nil.
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   668
        self compile: (self class >> #method_argAndVarNames_02) source mode: mode.
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   669
        self perform: (mode , '_method_argAndVarNames_02') asSymbol.
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   670
        self assert: argAndVarNames = #(each isEven)
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   671
    ]
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   672
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   673
    "Created: / 20-08-2013 / 09:17:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   674
!
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   675
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   676
test_argAndVarNames_03
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   677
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   678
    #(bc jit stc) do:[:mode |
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   679
        argAndVarNames := nil.
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   680
        self compile: (self class >> #method_argAndVarNames_03) source mode: mode.
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   681
        self perform: (mode , '_method_argAndVarNames_03') asSymbol.
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   682
        self assert: argAndVarNames = #(ttt)
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   683
    ]
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   684
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   685
    "Created: / 20-08-2013 / 09:23:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   686
!
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   687
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   688
test_argAndVarNames_04
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   689
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   690
    #(bc jit stc) do:[:mode |
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   691
        argAndVarNames := nil.
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   692
        self compile: (self class >> #method_argAndVarNames_04) source mode: mode.
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   693
        self perform: (mode , '_method_argAndVarNames_04') asSymbol.
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   694
        self assert: argAndVarNames = #(each isEven isOddNot)
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   695
    ]
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   696
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   697
    "Created: / 20-08-2013 / 10:12:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
991
c855ef9d606c class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 988
diff changeset
   698
!
c855ef9d606c class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 988
diff changeset
   699
c855ef9d606c class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 988
diff changeset
   700
test_argAndVarNames_05
c855ef9d606c class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 988
diff changeset
   701
c855ef9d606c class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 988
diff changeset
   702
    #(bc jit stc) do:[:mode |
c855ef9d606c class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 988
diff changeset
   703
        argAndVarNames := nil.
c855ef9d606c class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 988
diff changeset
   704
        self compile: (self class >> #method_argAndVarNames_05) source mode: mode.
c855ef9d606c class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 988
diff changeset
   705
        self perform: (mode , '_method_argAndVarNames_05') asSymbol.
c855ef9d606c class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 988
diff changeset
   706
        self assert: argAndVarNames = #(len i local1 local2)
c855ef9d606c class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 988
diff changeset
   707
    ]
c855ef9d606c class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 988
diff changeset
   708
c855ef9d606c class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 988
diff changeset
   709
    "Created: / 22-08-2013 / 15:49:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
988
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   710
! !
cd49b35f671f class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 948
diff changeset
   711
899
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   712
!CompilerTests2 methodsFor:'tests - line numbers'!
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   713
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   714
test_lineno_01_bci
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   715
    | m002 m300 l |
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   716
921
cb5e99d58aab Refactoring only - add more versatile compile method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 900
diff changeset
   717
    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
   718
    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
   719
921
cb5e99d58aab Refactoring only - add more versatile compile method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 900
diff changeset
   720
    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
   721
    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
   722
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   723
    self assert: m002 code isNil.
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   724
    self assert: m300 code isNil.
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   725
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   726
    "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
   727
    "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
   728
!
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   729
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   730
test_lineno_01_jit
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   731
    | m002 m300 l |
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   732
921
cb5e99d58aab Refactoring only - add more versatile compile method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 900
diff changeset
   733
    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
   734
    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
   735
921
cb5e99d58aab Refactoring only - add more versatile compile method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 900
diff changeset
   736
    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
   737
    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
   738
929
5c6f8d37f9ce class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 922
diff changeset
   739
    self assert: m002 code notNil.
5c6f8d37f9ce class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 922
diff changeset
   740
    self assert: m300 code notNil.
899
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   741
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   742
    "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
   743
    "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
   744
!
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   745
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   746
test_lineno_01_stc
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   747
    | m002 m300 l |
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   748
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   749
    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
   750
    m300 := self class >> #method_lineno_300.
899
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   751
921
cb5e99d58aab Refactoring only - add more versatile compile method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 900
diff changeset
   752
    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
   753
    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
   754
cb5e99d58aab Refactoring only - add more versatile compile method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 900
diff changeset
   755
    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
   756
    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
   757
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   758
    "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
   759
    "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
   760
! !
4375bdf77fd2 Added line number tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 871
diff changeset
   761
922
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
   762
!CompilerTests2 methodsFor:'tests - method slot'!
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
   763
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
   764
test_methodslot_01_bci
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
   765
    | m |
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
   766
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
   767
    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
   768
    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
   769
    self assert: m code isNil.
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
   770
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
   771
    "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
   772
!
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
   773
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
   774
test_methodslot_01_jit
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
   775
    | m |
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
   776
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
   777
    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
   778
    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
   779
    self assert: m code notNil.
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
   780
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
   781
    "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
   782
!
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
   783
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
   784
test_methodslot_01_stc
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
   785
    | m |
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
   786
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
   787
    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
   788
    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
   789
    self assert: m code notNil.
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
   790
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
   791
    "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
   792
!
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
   793
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
   794
test_methodslot_02_bci
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
   795
    | m |
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
   796
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
   797
    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
   798
    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
   799
    self assert: m code isNil.
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
   800
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
   801
    "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
   802
!
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
   803
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
   804
test_methodslot_02_jit
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
   805
    | m |
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
   806
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
   807
    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
   808
    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
   809
    self assert: m code notNil.
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
   810
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
   811
    "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
   812
!
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
   813
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
   814
test_methodslot_02_stc
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
   815
    | m |
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
   816
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
   817
    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
   818
    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
   819
    self assert: m code notNil.
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
   820
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
   821
    "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
   822
!
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
   823
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
   824
test_methodslot_03_bci
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
   825
    | m |
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
   826
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
   827
    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
   828
    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
   829
    self assert: m code isNil.
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
   830
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
   831
    "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
   832
!
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
   833
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
   834
test_methodslot_03_jit
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
   835
    | m |
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
   836
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
   837
    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
   838
    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
   839
    self assert: m code notNil.
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
   840
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
   841
    "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
   842
!
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
   843
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
   844
test_methodslot_03_stc
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
   845
    | m |
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
   846
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
   847
    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
   848
    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
   849
    self assert: m code notNil.
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
   850
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
   851
    "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
   852
! !
7c65bb0a73f5 Added tests for method-in-context slot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 921
diff changeset
   853
784
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   854
!CompilerTests2 class methodsFor:'documentation'!
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   855
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   856
version
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   857
    ^ '$Header$'
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   858
!
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   859
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   860
version_CVS
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   861
    ^ '$Header$'
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   862
!
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   863
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   864
version_SVN
929
5c6f8d37f9ce class: RegressionTests::CompilerTests2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 922
diff changeset
   865
    ^ '$Id$'
784
b59c0cad82d6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   866
! !
870
577f844aedf7 class: RegressionTests::CompilerTests2
Claus Gittinger <cg@exept.de>
parents: 823
diff changeset
   867