Cface__CModifierNode.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Wed, 12 Aug 2015 07:32:13 +0100
changeset 43 9327987437ae
parent 41 edb5e4849b79
permissions -rw-r--r--
Added mappings for LLVM C and LLVM C Extensions These are used to generate C callouts for jv:llvm_s project.
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
CNode subclass:#CModifierNode
b6c0180314d1 Initial import
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     6
	instanceVariableNames:'type'
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
b6c0180314d1 Initial import
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    13
!CModifierNode methodsFor:'accessing'!
b6c0180314d1 Initial import
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    14
5
c110eef5b9ef - externalization of libraryName (now supports unix & win32 simultaneously)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
    15
cByteSize
c110eef5b9ef - externalization of libraryName (now supports unix & win32 simultaneously)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
    16
c110eef5b9ef - externalization of libraryName (now supports unix & win32 simultaneously)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
    17
    ^type cByteSize
c110eef5b9ef - externalization of libraryName (now supports unix & win32 simultaneously)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
    18
c110eef5b9ef - externalization of libraryName (now supports unix & win32 simultaneously)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
    19
    "Created: / 09-07-2008 / 19:31:40 / Jan Vrany <vranyj1@fel.cvut.cz>"
c110eef5b9ef - externalization of libraryName (now supports unix & win32 simultaneously)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
    20
!
c110eef5b9ef - externalization of libraryName (now supports unix & win32 simultaneously)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
    21
c110eef5b9ef - externalization of libraryName (now supports unix & win32 simultaneously)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
    22
cName
c110eef5b9ef - externalization of libraryName (now supports unix & win32 simultaneously)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
    23
c110eef5b9ef - externalization of libraryName (now supports unix & win32 simultaneously)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
    24
    ^type cName
c110eef5b9ef - externalization of libraryName (now supports unix & win32 simultaneously)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
    25
c110eef5b9ef - externalization of libraryName (now supports unix & win32 simultaneously)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
    26
    "Created: / 04-07-2008 / 15:19:06 / Jan Vrany <vranyj1@fel.cvut.cz>"
c110eef5b9ef - externalization of libraryName (now supports unix & win32 simultaneously)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
    27
!
c110eef5b9ef - externalization of libraryName (now supports unix & win32 simultaneously)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
    28
2
cfd2c393abfe Smalltalk/X generator improvements:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    29
ffiTypeSymbol
cfd2c393abfe Smalltalk/X generator improvements:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    30
cfd2c393abfe Smalltalk/X generator improvements:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    31
    ^self subclassResponsibility
cfd2c393abfe Smalltalk/X generator improvements:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    32
cfd2c393abfe Smalltalk/X generator improvements:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    33
    "Created: / 03-07-2008 / 22:59:10 / Jan Vrany <vranyj1@fel.cvut.cz>"
cfd2c393abfe Smalltalk/X generator improvements:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    34
!
cfd2c393abfe Smalltalk/X generator improvements:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    35
9
03c7a764d2be - changed struct field accessor generation - no "prim" prefix.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 5
diff changeset
    36
stxStructFieldGetterSelector
03c7a764d2be - changed struct field accessor generation - no "prim" prefix.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 5
diff changeset
    37
    ^ type stxStructFieldGetterSelector
5
c110eef5b9ef - externalization of libraryName (now supports unix & win32 simultaneously)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
    38
c110eef5b9ef - externalization of libraryName (now supports unix & win32 simultaneously)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
    39
    "Created: / 09-07-2008 / 22:24:07 / Jan Vrany <vranyj1@fel.cvut.cz>"
9
03c7a764d2be - changed struct field accessor generation - no "prim" prefix.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 5
diff changeset
    40
    "Modified: / 09-09-2008 / 21:32:39 / Jan Vrany <vranyj1@fel.cvut.cz>"
5
c110eef5b9ef - externalization of libraryName (now supports unix & win32 simultaneously)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
    41
!
c110eef5b9ef - externalization of libraryName (now supports unix & win32 simultaneously)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
    42
9
03c7a764d2be - changed struct field accessor generation - no "prim" prefix.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 5
diff changeset
    43
stxStructFieldSetterSelector
19
1297bf936bfb Some fixes for modern GCC XML
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
    44
    ^ (self stxStructFieldGetterSelector , 'put:') asSymbol
5
c110eef5b9ef - externalization of libraryName (now supports unix & win32 simultaneously)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
    45
9
03c7a764d2be - changed struct field accessor generation - no "prim" prefix.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 5
diff changeset
    46
    "Created: / 09-09-2008 / 21:33:21 / Jan Vrany <vranyj1@fel.cvut.cz>"
19
1297bf936bfb Some fixes for modern GCC XML
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
    47
    "Modified: / 30-05-2012 / 21:41:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5
c110eef5b9ef - externalization of libraryName (now supports unix & win32 simultaneously)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
    48
!
c110eef5b9ef - externalization of libraryName (now supports unix & win32 simultaneously)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
    49
1
b6c0180314d1 Initial import
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    50
type
b6c0180314d1 Initial import
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    51
    ^ type
b6c0180314d1 Initial import
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    52
b6c0180314d1 Initial import
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    53
    "Created: / 10-02-2008 / 19:53:15 / janfrog"
b6c0180314d1 Initial import
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    54
!
b6c0180314d1 Initial import
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    55
b6c0180314d1 Initial import
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    56
type:something
b6c0180314d1 Initial import
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    57
    type := something.
b6c0180314d1 Initial import
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    58
b6c0180314d1 Initial import
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    59
    "Created: / 10-02-2008 / 19:53:15 / janfrog"
b6c0180314d1 Initial import
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    60
! !
b6c0180314d1 Initial import
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    61
b6c0180314d1 Initial import
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    62
!CModifierNode methodsFor:'converting'!
b6c0180314d1 Initial import
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    63
b6c0180314d1 Initial import
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    64
resolved
b6c0180314d1 Initial import
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    65
    ^ self
b6c0180314d1 Initial import
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    66
b6c0180314d1 Initial import
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    67
    "Created: / 17-02-2008 / 17:56:03 / janfrog"
b6c0180314d1 Initial import
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    68
! !
b6c0180314d1 Initial import
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    69
b6c0180314d1 Initial import
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    70
!CModifierNode methodsFor:'testing'!
b6c0180314d1 Initial import
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    71
b6c0180314d1 Initial import
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    72
isCModifierNode
b6c0180314d1 Initial import
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    73
    ^ true
b6c0180314d1 Initial import
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    74
b6c0180314d1 Initial import
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    75
    "Created: / 17-02-2008 / 21:49:30 / janfrog"
b6c0180314d1 Initial import
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    76
! !
b6c0180314d1 Initial import
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    77
16
ffcbe7184a53 Fixes...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
    78
!CModifierNode methodsFor:'visiting'!
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
acceptVisitor:aVisitor 
ffcbe7184a53 Fixes...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
    81
    "Double dispatch back to the visitor, passing my type encoded in
ffcbe7184a53 Fixes...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
    82
     the selector (visitor pattern)"
ffcbe7184a53 Fixes...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
    83
ffcbe7184a53 Fixes...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
    84
    "stub code automatically generated - please change if required"
ffcbe7184a53 Fixes...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
    85
ffcbe7184a53 Fixes...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
    86
    ^ aVisitor visitCModifierNode:self
41
edb5e4849b79 Type resolving reintroduced again.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 32
diff changeset
    87
!
edb5e4849b79 Type resolving reintroduced again.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 32
diff changeset
    88
edb5e4849b79 Type resolving reintroduced again.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 32
diff changeset
    89
isUnresolved
edb5e4849b79 Type resolving reintroduced again.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 32
diff changeset
    90
    self assert: type isUnresolved not.
edb5e4849b79 Type resolving reintroduced again.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 32
diff changeset
    91
    ^ false
edb5e4849b79 Type resolving reintroduced again.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 32
diff changeset
    92
edb5e4849b79 Type resolving reintroduced again.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 32
diff changeset
    93
    "Created: / 06-07-2015 / 22:41:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
16
ffcbe7184a53 Fixes...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
    94
! !
ffcbe7184a53 Fixes...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
    95
1
b6c0180314d1 Initial import
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    96
!CModifierNode class methodsFor:'documentation'!
b6c0180314d1 Initial import
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    97
b6c0180314d1 Initial import
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    98
version
19
1297bf936bfb Some fixes for modern GCC XML
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
    99
    ^ '$Id$'
14
1f730d82496e Added version_SVN methods
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   100
!
1f730d82496e Added version_SVN methods
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   101
1f730d82496e Added version_SVN methods
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   102
version_SVN
1f730d82496e Added version_SVN methods
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   103
    ^ '$Id$'
1
b6c0180314d1 Initial import
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   104
! !
41
edb5e4849b79 Type resolving reintroduced again.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 32
diff changeset
   105