Cface__CArrayNode.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Mon, 06 Jul 2015 22:28:52 +0100
changeset 40 7d1e77b6115e
parent 32 d7464405cbda
child 43 9327987437ae
permissions -rw-r--r--
Renamed CUserDefinedTypeNode to CUnresolvedTypeNode. This is a preparation for new resolving code.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
32
d7464405cbda Package renamed from cvut:fel/cface to jv:cface
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 19
diff changeset
     1
"{ Package: 'jv:cface' }"
1
b6c0180314d1 Initial import
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     2
b6c0180314d1 Initial import
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     3
"{ NameSpace: Cface }"
b6c0180314d1 Initial import
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     4
b6c0180314d1 Initial import
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     5
CTypeNode subclass:#CArrayNode
b6c0180314d1 Initial import
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     6
	instanceVariableNames:'type size'
b6c0180314d1 Initial import
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     7
	classVariableNames:''
b6c0180314d1 Initial import
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     8
	poolDictionaries:''
b6c0180314d1 Initial import
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     9
	category:'Cface-C AST'
b6c0180314d1 Initial import
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    10
!
b6c0180314d1 Initial import
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    11
b6c0180314d1 Initial import
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    12
!CArrayNode class methodsFor:'documentation'!
b6c0180314d1 Initial import
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    13
b6c0180314d1 Initial import
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    14
history
b6c0180314d1 Initial import
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    15
b6c0180314d1 Initial import
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    16
    "Created: / 25-10-2007 / 16:50:37 / haja"
b6c0180314d1 Initial import
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    17
    "Created: #id / 25-10-2007 / 16:50:42 / haja"
b6c0180314d1 Initial import
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    18
    "Created: #id: / 25-10-2007 / 16:50:42 / haja"
b6c0180314d1 Initial import
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    19
    "Created: #size / 25-10-2007 / 16:50:42 / haja"
b6c0180314d1 Initial import
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    20
    "Created: #size: / 25-10-2007 / 16:50:42 / haja"
b6c0180314d1 Initial import
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    21
    "Created: #id:size: / 25-10-2007 / 16:53:04 / haja"
b6c0180314d1 Initial import
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    22
    "Deleted: #acceptVisitor: / 02-11-2007 / 10:39:35 / haja"
b6c0180314d1 Initial import
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    23
    "Created: #acceptVisitor: / 02-11-2007 / 10:39:47 / haja"
b6c0180314d1 Initial import
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    24
    "Created: #buildTypeCheckFor:on: / 19-12-2007 / 15:55:50 / haja"
b6c0180314d1 Initial import
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    25
    "Created: #buildObjectCreationOn: / 19-12-2007 / 16:40:09 / haja"
b6c0180314d1 Initial import
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    26
    "Created: #buildValueExtractionFor:on: / 19-12-2007 / 17:30:51 / haja"
b6c0180314d1 Initial import
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    27
    "Created: #buildObjectCreationFor:on: / 19-12-2007 / 17:39:17 / haja"
b6c0180314d1 Initial import
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    28
    "Deleted: #buildObjectCreationOn: / 19-12-2007 / 17:39:20 / haja"
b6c0180314d1 Initial import
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    29
    "Created: #buildTypeDescriptionOn: / 20-12-2007 / 12:13:36 / haja"
b6c0180314d1 Initial import
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    30
! !
b6c0180314d1 Initial import
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    31
16
ffcbe7184a53 Fixes...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
    32
!CArrayNode methodsFor:'accessing'!
ffcbe7184a53 Fixes...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
    33
ffcbe7184a53 Fixes...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
    34
cByteSize
ffcbe7184a53 Fixes...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
    35
    "superclass Cface::CTypeNode says that I am responsible to implement this method"
ffcbe7184a53 Fixes...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
    36
ffcbe7184a53 Fixes...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
    37
    ^ self shouldImplement
ffcbe7184a53 Fixes...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
    38
!
ffcbe7184a53 Fixes...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
    39
ffcbe7184a53 Fixes...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
    40
ffiTypeSymbol
ffcbe7184a53 Fixes...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
    41
    "superclass Cface::CTypeNode says that I am responsible to implement this method"
ffcbe7184a53 Fixes...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
    42
ffcbe7184a53 Fixes...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
    43
    ^ self shouldImplement
ffcbe7184a53 Fixes...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
    44
!
ffcbe7184a53 Fixes...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
    45
ffcbe7184a53 Fixes...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
    46
size
ffcbe7184a53 Fixes...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
    47
    ^ size
ffcbe7184a53 Fixes...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
    48
!
ffcbe7184a53 Fixes...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
    49
ffcbe7184a53 Fixes...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
    50
size:anInteger
ffcbe7184a53 Fixes...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
    51
    size := anInteger.
ffcbe7184a53 Fixes...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
    52
!
ffcbe7184a53 Fixes...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
    53
ffcbe7184a53 Fixes...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
    54
type
ffcbe7184a53 Fixes...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
    55
    ^ type
ffcbe7184a53 Fixes...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
    56
!
ffcbe7184a53 Fixes...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
    57
ffcbe7184a53 Fixes...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
    58
type:aCTypeNode
ffcbe7184a53 Fixes...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
    59
    type := aCTypeNode.
ffcbe7184a53 Fixes...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
    60
! !
ffcbe7184a53 Fixes...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
    61
19
1297bf936bfb Some fixes for modern GCC XML
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
    62
!CArrayNode methodsFor:'testing'!
1297bf936bfb Some fixes for modern GCC XML
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
    63
1297bf936bfb Some fixes for modern GCC XML
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
    64
isCArrayNode
1297bf936bfb Some fixes for modern GCC XML
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
    65
    ^ true
1297bf936bfb Some fixes for modern GCC XML
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
    66
1297bf936bfb Some fixes for modern GCC XML
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
    67
    "Created: / 30-05-2012 / 21:38:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1297bf936bfb Some fixes for modern GCC XML
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
    68
! !
1297bf936bfb Some fixes for modern GCC XML
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
    69
16
ffcbe7184a53 Fixes...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
    70
!CArrayNode methodsFor:'visiting'!
ffcbe7184a53 Fixes...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
    71
ffcbe7184a53 Fixes...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
    72
acceptVisitor:aVisitor 
ffcbe7184a53 Fixes...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
    73
    "Double dispatch back to the visitor, passing my type encoded in
ffcbe7184a53 Fixes...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
    74
     the selector (visitor pattern)"
ffcbe7184a53 Fixes...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
    75
ffcbe7184a53 Fixes...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
    76
    "stub code automatically generated - please change if required"
ffcbe7184a53 Fixes...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
    77
ffcbe7184a53 Fixes...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
    78
    ^ aVisitor visitCArrayNode:self
ffcbe7184a53 Fixes...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
    79
! !
ffcbe7184a53 Fixes...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
    80
1
b6c0180314d1 Initial import
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    81
!CArrayNode class methodsFor:'documentation'!
b6c0180314d1 Initial import
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    82
14
1f730d82496e Added version_SVN methods
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 5
diff changeset
    83
version_SVN
1f730d82496e Added version_SVN methods
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 5
diff changeset
    84
    ^ '$Id$'
1
b6c0180314d1 Initial import
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    85
! !