forked from SeasideSt/Grease
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathGRBoundMessage.class.st
More file actions
54 lines (45 loc) · 1.25 KB
/
GRBoundMessage.class.st
File metadata and controls
54 lines (45 loc) · 1.25 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
"
A delayed send that has some or all of the arguments defined in advance. Additionally supplied arguments will be added, if possible, to these when the object is evaluate.
Instance Variables
arguments: <Array>
arguments
- the predefined arguments
"
Class {
#name : 'GRBoundMessage',
#superclass : 'GRDelayedSendMessage',
#instVars : [
'arguments'
],
#category : 'Grease-Core-Utilities',
#package : 'Grease-Core',
#tag : 'Utilities'
}
{ #category : 'instance creation' }
GRBoundMessage class >> selector: aSymbol [
^ self selector: aSymbol arguments: #()
]
{ #category : 'instance creation' }
GRBoundMessage class >> selector: aSymbol arguments: anArray [
^ self basicNew
initializeWithSelector: aSymbol arguments: anArray;
yourself
]
{ #category : 'delegation' }
GRBoundMessage >> argumentCount [
^ selector numArgs - arguments size
]
{ #category : 'initialization' }
GRBoundMessage >> initializeWithSelector: aSymbol arguments: anArray [
self initializeWithSelector: aSymbol.
arguments := anArray asArray
]
{ #category : 'private' }
GRBoundMessage >> mergeArguments: anArray [
^ arguments , anArray
]
{ #category : 'printing' }
GRBoundMessage >> printOn: aStream [
super printOn: aStream.
aStream nextPutAll: ' arguments: '; print: arguments
]