-
Notifications
You must be signed in to change notification settings - Fork 65
/
CForStatementNode.class.st
91 lines (75 loc) · 1.88 KB
/
CForStatementNode.class.st
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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
Class {
#name : #CForStatementNode,
#superclass : #CGLRAbstractNode,
#instVars : [
'init',
'until',
'statement',
'step'
],
#category : #'CAST-Nodes'
}
{ #category : #'instance creation' }
CForStatementNode class >> init: initialization until: condition step: aStep statement: aStatement [
^ self new
init: initialization;
until: condition;
step: aStep;
statement: aStatement;
yourself
]
{ #category : #generated }
CForStatementNode >> acceptVisitor: anAbstractVisitor [
^ anAbstractVisitor visitForStatement: self
]
{ #category : #generated }
CForStatementNode >> init [
^ init
]
{ #category : #generated }
CForStatementNode >> init: anOrderedCollection [
self assertListOfExpressions: anOrderedCollection.
self setParents: self init to: nil.
init := anOrderedCollection.
self setParents: self init to: self
]
{ #category : #testing }
CForStatementNode >> isForStatement [
^true
]
{ #category : #generated }
CForStatementNode >> statement [
^ statement
]
{ #category : #generated }
CForStatementNode >> statement: aCGLRAbstractNode [
self statement notNil
ifTrue: [ self statement parent: nil ].
statement := aCGLRAbstractNode.
self statement notNil
ifTrue: [ self statement parent: self ]
]
{ #category : #generated }
CForStatementNode >> step [
^ step
]
{ #category : #generated }
CForStatementNode >> step: anOrderedCollection [
self assertListOfExpressions: anOrderedCollection.
self setParents: self step to: nil.
step := anOrderedCollection.
self setParents: self step to: self
]
{ #category : #generated }
CForStatementNode >> until [
^ until
]
{ #category : #generated }
CForStatementNode >> until: aCGLRExpressionStatementNode [
self assertExpression: aCGLRExpressionStatementNode.
self until notNil
ifTrue: [ self until parent: nil ].
until := aCGLRExpressionStatementNode.
self until notNil
ifTrue: [ self until parent: self ]
]