VarArgBlock.st
author Claus Gittinger <cg@exept.de>
Tue, 09 Jul 2019 20:55:17 +0200
changeset 24417 03b083548da2
parent 22311 5331770c9388
permissions -rw-r--r--
#REFACTORING by exept class: Smalltalk class changed: #recursiveInstallAutoloadedClassesFrom:rememberIn:maxLevels:noAutoload:packageTop:showSplashInLevels: Transcript showCR:(... bindWith:...) -> Transcript showCR:... with:...
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2240
96ecba03d362 defined source container
Claus Gittinger <cg@exept.de>
parents: 2239
diff changeset
     1
"
96ecba03d362 defined source container
Claus Gittinger <cg@exept.de>
parents: 2239
diff changeset
     2
 COPYRIGHT (c) 1997 by eXept Software AG / Claus Gittinger
96ecba03d362 defined source container
Claus Gittinger <cg@exept.de>
parents: 2239
diff changeset
     3
	      All Rights Reserved
96ecba03d362 defined source container
Claus Gittinger <cg@exept.de>
parents: 2239
diff changeset
     4
96ecba03d362 defined source container
Claus Gittinger <cg@exept.de>
parents: 2239
diff changeset
     5
 This software is furnished under a license and may be used
96ecba03d362 defined source container
Claus Gittinger <cg@exept.de>
parents: 2239
diff changeset
     6
 only in accordance with the terms of that license and with the
96ecba03d362 defined source container
Claus Gittinger <cg@exept.de>
parents: 2239
diff changeset
     7
 inclusion of the above copyright notice.   This software may not
96ecba03d362 defined source container
Claus Gittinger <cg@exept.de>
parents: 2239
diff changeset
     8
 be provided or otherwise made available to, or used by, any
96ecba03d362 defined source container
Claus Gittinger <cg@exept.de>
parents: 2239
diff changeset
     9
 other person.  No title to or ownership of the software is
96ecba03d362 defined source container
Claus Gittinger <cg@exept.de>
parents: 2239
diff changeset
    10
 hereby transferred.
96ecba03d362 defined source container
Claus Gittinger <cg@exept.de>
parents: 2239
diff changeset
    11
"
5351
f9529bd6b6e4 oops - must setup the isBLOCK / isBLOCKLIKE flags correctly
Claus Gittinger <cg@exept.de>
parents: 2240
diff changeset
    12
"{ Package: 'stx:libbasic' }"
f9529bd6b6e4 oops - must setup the isBLOCK / isBLOCKLIKE flags correctly
Claus Gittinger <cg@exept.de>
parents: 2240
diff changeset
    13
f9529bd6b6e4 oops - must setup the isBLOCK / isBLOCKLIKE flags correctly
Claus Gittinger <cg@exept.de>
parents: 2240
diff changeset
    14
Block variableSubclass:#VarArgBlock
2239
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    15
	instanceVariableNames:''
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    16
	classVariableNames:''
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    17
	poolDictionaries:''
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    18
	category:'Kernel-Methods'
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    19
!
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    20
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    21
!VarArgBlock class methodsFor:'documentation'!
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    22
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    23
copyright
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    24
"
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    25
 COPYRIGHT (c) 1997 by eXept Software AG / Claus Gittinger
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    26
	      All Rights Reserved
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    27
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    28
 This software is furnished under a license and may be used
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    29
 only in accordance with the terms of that license and with the
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    30
 inclusion of the above copyright notice.   This software may not
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    31
 be provided or otherwise made available to, or used by, any
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    32
 other person.  No title to or ownership of the software is
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    33
 hereby transferred.
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    34
"
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    35
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    36
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    37
!
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    38
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    39
documentation
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    40
"
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    41
    VarArgBlocks are much like blocks, but can accept a variable
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    42
    number of arguments. They must be defined as a regular block,
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    43
    with 1 argument. When executed, the actual argument list is
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    44
    passed in that single argument (as a collection).
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    45
8890
9e9df761477e Fix documentation
Stefan Vogel <sv@exept.de>
parents: 7589
diff changeset
    46
    Create a variableArgument block by sending #asVarArgBlock to a regular
2239
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    47
    block.
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    48
22311
5331770c9388 varArg bug fix
Claus Gittinger <cg@exept.de>
parents: 15093
diff changeset
    49
    This is a goody add-on, which may not be available/possible in other
2240
96ecba03d362 defined source container
Claus Gittinger <cg@exept.de>
parents: 2239
diff changeset
    50
    smalltalk implementations. Do not use it if cross-platform
96ecba03d362 defined source container
Claus Gittinger <cg@exept.de>
parents: 2239
diff changeset
    51
    portability is required.
96ecba03d362 defined source container
Claus Gittinger <cg@exept.de>
parents: 2239
diff changeset
    52
96ecba03d362 defined source container
Claus Gittinger <cg@exept.de>
parents: 2239
diff changeset
    53
2239
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    54
    [author:]
22311
5331770c9388 varArg bug fix
Claus Gittinger <cg@exept.de>
parents: 15093
diff changeset
    55
	Claus Gittinger
2239
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    56
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    57
    [see also:]
22311
5331770c9388 varArg bug fix
Claus Gittinger <cg@exept.de>
parents: 15093
diff changeset
    58
	Block
2239
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    59
"
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    60
!
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    61
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    62
examples
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    63
"
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    64
   the same block, evaluated with 2 or 5 arguments:
22311
5331770c9388 varArg bug fix
Claus Gittinger <cg@exept.de>
parents: 15093
diff changeset
    65
								[exBegin]
2239
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    66
     |b|
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    67
8890
9e9df761477e Fix documentation
Stefan Vogel <sv@exept.de>
parents: 7589
diff changeset
    68
     b := [:args | Transcript show:'wow: '; showCR:args] asVarArgBlock.
2239
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    69
22311
5331770c9388 varArg bug fix
Claus Gittinger <cg@exept.de>
parents: 15093
diff changeset
    70
     b value:'hi' value:'there'.
2239
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    71
     b value:'hello' value:'there' value:'how' value:'about' value:'this'.
22311
5331770c9388 varArg bug fix
Claus Gittinger <cg@exept.de>
parents: 15093
diff changeset
    72
								[exEnd]
2239
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    73
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    74
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    75
   does it accept a variable number of arguments ?:
22311
5331770c9388 varArg bug fix
Claus Gittinger <cg@exept.de>
parents: 15093
diff changeset
    76
								[exBegin]
2239
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    77
     |b|
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    78
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    79
     b := [:args | Transcript showCR:args].
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    80
     Transcript showCR:(b isVarArgBlock).
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    81
8890
9e9df761477e Fix documentation
Stefan Vogel <sv@exept.de>
parents: 7589
diff changeset
    82
     b := [:args | Transcript showCR:args] asVarArgBlock.
2239
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    83
     Transcript showCR:(b isVarArgBlock)
22311
5331770c9388 varArg bug fix
Claus Gittinger <cg@exept.de>
parents: 15093
diff changeset
    84
								[exEnd]
2239
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    85
"
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    86
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    87
    "Created: 23.1.1997 / 04:57:26 / cg"
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    88
! !
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    89
5351
f9529bd6b6e4 oops - must setup the isBLOCK / isBLOCKLIKE flags correctly
Claus Gittinger <cg@exept.de>
parents: 2240
diff changeset
    90
!VarArgBlock class methodsFor:'initialization'!
f9529bd6b6e4 oops - must setup the isBLOCK / isBLOCKLIKE flags correctly
Claus Gittinger <cg@exept.de>
parents: 2240
diff changeset
    91
f9529bd6b6e4 oops - must setup the isBLOCK / isBLOCKLIKE flags correctly
Claus Gittinger <cg@exept.de>
parents: 2240
diff changeset
    92
initialize
f9529bd6b6e4 oops - must setup the isBLOCK / isBLOCKLIKE flags correctly
Claus Gittinger <cg@exept.de>
parents: 2240
diff changeset
    93
    "must clear the is-block flag bit in the class
f9529bd6b6e4 oops - must setup the isBLOCK / isBLOCKLIKE flags correctly
Claus Gittinger <cg@exept.de>
parents: 2240
diff changeset
    94
     (otherwise, the VM might try to inline value-messages)"
f9529bd6b6e4 oops - must setup the isBLOCK / isBLOCKLIKE flags correctly
Claus Gittinger <cg@exept.de>
parents: 2240
diff changeset
    95
15093
e79aeb6f6766 class: VarArgBlock
Claus Gittinger <cg@exept.de>
parents: 13752
diff changeset
    96
    |newFlags|
e79aeb6f6766 class: VarArgBlock
Claus Gittinger <cg@exept.de>
parents: 13752
diff changeset
    97
22311
5331770c9388 varArg bug fix
Claus Gittinger <cg@exept.de>
parents: 15093
diff changeset
    98
    newFlags := (self flags
5331770c9388 varArg bug fix
Claus Gittinger <cg@exept.de>
parents: 15093
diff changeset
    99
		    bitClear:(Behavior flagBlock))
5331770c9388 varArg bug fix
Claus Gittinger <cg@exept.de>
parents: 15093
diff changeset
   100
			bitOr:(Behavior flagVarArgBlock).
15093
e79aeb6f6766 class: VarArgBlock
Claus Gittinger <cg@exept.de>
parents: 13752
diff changeset
   101
    self flags:newFlags.
5351
f9529bd6b6e4 oops - must setup the isBLOCK / isBLOCKLIKE flags correctly
Claus Gittinger <cg@exept.de>
parents: 2240
diff changeset
   102
f9529bd6b6e4 oops - must setup the isBLOCK / isBLOCKLIKE flags correctly
Claus Gittinger <cg@exept.de>
parents: 2240
diff changeset
   103
    "
22311
5331770c9388 varArg bug fix
Claus Gittinger <cg@exept.de>
parents: 15093
diff changeset
   104
     self flags.
5351
f9529bd6b6e4 oops - must setup the isBLOCK / isBLOCKLIKE flags correctly
Claus Gittinger <cg@exept.de>
parents: 2240
diff changeset
   105
     self initialize.
22311
5331770c9388 varArg bug fix
Claus Gittinger <cg@exept.de>
parents: 15093
diff changeset
   106
     self flags.
5351
f9529bd6b6e4 oops - must setup the isBLOCK / isBLOCKLIKE flags correctly
Claus Gittinger <cg@exept.de>
parents: 2240
diff changeset
   107
    "
f9529bd6b6e4 oops - must setup the isBLOCK / isBLOCKLIKE flags correctly
Claus Gittinger <cg@exept.de>
parents: 2240
diff changeset
   108
! !
f9529bd6b6e4 oops - must setup the isBLOCK / isBLOCKLIKE flags correctly
Claus Gittinger <cg@exept.de>
parents: 2240
diff changeset
   109
2239
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   110
!VarArgBlock methodsFor:'evaluation'!
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   111
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   112
value
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   113
    "evaluate the receiver with no block args."
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   114
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   115
    ^ super value:#()
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   116
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   117
    "Created: 23.1.1997 / 04:57:49 / cg"
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   118
!
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   119
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   120
value:arg
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   121
    "evaluate the receiver with a single argument."
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   122
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   123
    ^ super value:(Array with:arg)
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   124
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   125
    "Created: 23.1.1997 / 04:57:57 / cg"
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   126
!
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   127
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   128
value:arg1 value:arg2
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   129
    "evaluate the receiver with two arguments."
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   130
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   131
    ^ super value:(Array with:arg1 with:arg2)
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   132
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   133
    "Created: 23.1.1997 / 04:58:03 / cg"
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   134
!
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   135
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   136
value:arg1 value:arg2 value:arg3
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   137
    "evaluate the receiver with three arguments."
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   138
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   139
    ^ super value:(Array with:arg1 with:arg2 with:arg3)
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   140
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   141
    "Created: 23.1.1997 / 04:58:09 / cg"
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   142
!
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   143
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   144
value:arg1 value:arg2 value:arg3 value:arg4
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   145
    "evaluate the receiver with four arguments."
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   146
22311
5331770c9388 varArg bug fix
Claus Gittinger <cg@exept.de>
parents: 15093
diff changeset
   147
    ^ super value:(Array
5331770c9388 varArg bug fix
Claus Gittinger <cg@exept.de>
parents: 15093
diff changeset
   148
		    with:arg1
5331770c9388 varArg bug fix
Claus Gittinger <cg@exept.de>
parents: 15093
diff changeset
   149
		    with:arg2
5331770c9388 varArg bug fix
Claus Gittinger <cg@exept.de>
parents: 15093
diff changeset
   150
		    with:arg3
2239
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   151
		    with:arg4)
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   152
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   153
    "Modified: 22.1.1997 / 19:41:22 / cg"
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   154
    "Created: 23.1.1997 / 04:58:14 / cg"
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   155
!
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   156
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   157
value:arg1 value:arg2 value:arg3 value:arg4 value:arg5
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   158
    "evaluate the receiver with five arguments."
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   159
22311
5331770c9388 varArg bug fix
Claus Gittinger <cg@exept.de>
parents: 15093
diff changeset
   160
    ^ super value:(Array
5331770c9388 varArg bug fix
Claus Gittinger <cg@exept.de>
parents: 15093
diff changeset
   161
		    with:arg1
5331770c9388 varArg bug fix
Claus Gittinger <cg@exept.de>
parents: 15093
diff changeset
   162
		    with:arg2
5331770c9388 varArg bug fix
Claus Gittinger <cg@exept.de>
parents: 15093
diff changeset
   163
		    with:arg3
2239
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   164
		    with:arg4
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   165
		    with:arg5)
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   166
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   167
    "Modified: 22.1.1997 / 19:41:26 / cg"
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   168
    "Created: 23.1.1997 / 04:58:18 / cg"
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   169
!
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   170
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   171
value:arg1 value:arg2 value:arg3 value:arg4 value:arg5 value:arg6
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   172
    "evaluate the receiver with six arguments."
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   173
22311
5331770c9388 varArg bug fix
Claus Gittinger <cg@exept.de>
parents: 15093
diff changeset
   174
    ^ super value:(Array
5331770c9388 varArg bug fix
Claus Gittinger <cg@exept.de>
parents: 15093
diff changeset
   175
		    with:arg1
5331770c9388 varArg bug fix
Claus Gittinger <cg@exept.de>
parents: 15093
diff changeset
   176
		    with:arg2
5331770c9388 varArg bug fix
Claus Gittinger <cg@exept.de>
parents: 15093
diff changeset
   177
		    with:arg3
2239
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   178
		    with:arg4
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   179
		    with:arg5
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   180
		    with:arg6)
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   181
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   182
    "Modified: 22.1.1997 / 19:41:29 / cg"
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   183
    "Created: 23.1.1997 / 04:58:22 / cg"
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   184
!
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   185
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   186
value:arg1 value:arg2 value:arg3 value:arg4 value:arg5 value:arg6 value:arg7
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   187
    "evaluate the receiver with seven arguments."
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   188
22311
5331770c9388 varArg bug fix
Claus Gittinger <cg@exept.de>
parents: 15093
diff changeset
   189
    ^ super value:(Array
5331770c9388 varArg bug fix
Claus Gittinger <cg@exept.de>
parents: 15093
diff changeset
   190
		    with:arg1
5331770c9388 varArg bug fix
Claus Gittinger <cg@exept.de>
parents: 15093
diff changeset
   191
		    with:arg2
5331770c9388 varArg bug fix
Claus Gittinger <cg@exept.de>
parents: 15093
diff changeset
   192
		    with:arg3
2239
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   193
		    with:arg4
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   194
		    with:arg5
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   195
		    with:arg6
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   196
		    with:arg7)
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   197
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   198
    "Modified: 22.1.1997 / 19:41:33 / cg"
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   199
    "Created: 23.1.1997 / 04:58:26 / cg"
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   200
!
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   201
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   202
value:arg1 value:arg2 value:arg3 value:arg4 value:arg5 value:arg6 value:arg7 value:arg8
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   203
    "evaluate the receiver with eight arguments."
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   204
22311
5331770c9388 varArg bug fix
Claus Gittinger <cg@exept.de>
parents: 15093
diff changeset
   205
    ^ super value:(Array
5331770c9388 varArg bug fix
Claus Gittinger <cg@exept.de>
parents: 15093
diff changeset
   206
		    with:arg1
5331770c9388 varArg bug fix
Claus Gittinger <cg@exept.de>
parents: 15093
diff changeset
   207
		    with:arg2
5331770c9388 varArg bug fix
Claus Gittinger <cg@exept.de>
parents: 15093
diff changeset
   208
		    with:arg3
2239
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   209
		    with:arg4
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   210
		    with:arg5
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   211
		    with:arg6
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   212
		    with:arg7
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   213
		    with:arg8)
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   214
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   215
    "Created: 23.1.1997 / 04:58:30 / cg"
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   216
!
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   217
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   218
valueWithArguments:argArray
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   219
    "evaluate the receiver with all arguments in argArray."
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   220
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   221
    ^ super value:argArray
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   222
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   223
    "Created: 23.1.1997 / 04:59:16 / cg"
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   224
! !
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   225
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   226
!VarArgBlock methodsFor:'testing'!
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   227
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   228
isVarArgBlock
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   229
    "return true, if this block accepts a variable number of arguments"
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   230
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   231
    ^ true
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   232
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   233
    "Created: 23.1.1997 / 05:00:18 / cg"
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   234
! !
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   235
2240
96ecba03d362 defined source container
Claus Gittinger <cg@exept.de>
parents: 2239
diff changeset
   236
!VarArgBlock class methodsFor:'documentation'!
2239
3441ce074c04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   237
2240
96ecba03d362 defined source container
Claus Gittinger <cg@exept.de>
parents: 2239
diff changeset
   238
version
22311
5331770c9388 varArg bug fix
Claus Gittinger <cg@exept.de>
parents: 15093
diff changeset
   239
    ^ '$Header$'
2240
96ecba03d362 defined source container
Claus Gittinger <cg@exept.de>
parents: 2239
diff changeset
   240
! !
7589
2ac0ac814fc8 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5353
diff changeset
   241
15093
e79aeb6f6766 class: VarArgBlock
Claus Gittinger <cg@exept.de>
parents: 13752
diff changeset
   242
5351
f9529bd6b6e4 oops - must setup the isBLOCK / isBLOCKLIKE flags correctly
Claus Gittinger <cg@exept.de>
parents: 2240
diff changeset
   243
VarArgBlock initialize!