author | Jan Vrany <jan.vrany@fit.cvut.cz> |
Fri, 14 Aug 2015 11:28:29 +0100 | |
changeset 46 | cc6b765ad420 |
parent 41 | edb5e4849b79 |
permissions | -rw-r--r-- |
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 | 2 |
|
3 |
"{ NameSpace: Cface }" |
|
4 |
||
5 |
CDefinitionNode subclass:#CTypeNode |
|
6 |
instanceVariableNames:'' |
|
7 |
classVariableNames:'' |
|
8 |
poolDictionaries:'' |
|
9 |
category:'Cface-C AST' |
|
10 |
! |
|
11 |
||
12 |
||
2
cfd2c393abfe
Smalltalk/X generator improvements:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
1
diff
changeset
|
13 |
!CTypeNode methodsFor:'accessing'! |
cfd2c393abfe
Smalltalk/X generator improvements:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
1
diff
changeset
|
14 |
|
5
c110eef5b9ef
- externalization of libraryName (now supports unix & win32 simultaneously)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4
diff
changeset
|
15 |
cByteSize |
c110eef5b9ef
- externalization of libraryName (now supports unix & win32 simultaneously)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4
diff
changeset
|
16 |
|
c110eef5b9ef
- externalization of libraryName (now supports unix & win32 simultaneously)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4
diff
changeset
|
17 |
^self subclassResponsibility |
c110eef5b9ef
- externalization of libraryName (now supports unix & win32 simultaneously)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4
diff
changeset
|
18 |
|
c110eef5b9ef
- externalization of libraryName (now supports unix & win32 simultaneously)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4
diff
changeset
|
19 |
"Created: / 09-07-2008 / 19:26:51 / Jan Vrany <vranyj1@fel.cvut.cz>" |
c110eef5b9ef
- externalization of libraryName (now supports unix & win32 simultaneously)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4
diff
changeset
|
20 |
! |
c110eef5b9ef
- externalization of libraryName (now supports unix & win32 simultaneously)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4
diff
changeset
|
21 |
|
18 | 22 |
ffiPointerTypeSymbol |
23 |
||
24 |
^#pointer |
|
25 |
||
26 |
"Created: / 03-07-2008 / 22:54:39 / Jan Vrany <vranyj1@fel.cvut.cz>" |
|
27 |
"Created: / 18-07-2011 / 16:33:30 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
28 |
! |
|
29 |
||
2
cfd2c393abfe
Smalltalk/X generator improvements:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
1
diff
changeset
|
30 |
ffiTypeSymbol |
18 | 31 |
|
32 |
"Returns ffi type symbol as used by Smalltalk/X FFI bindings |
|
33 |
(see ExternalLibraryFunction>>invokeFFIwithArguments: forCPPInstance:" |
|
34 |
||
2
cfd2c393abfe
Smalltalk/X generator improvements:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
1
diff
changeset
|
35 |
^ self subclassResponsibility |
cfd2c393abfe
Smalltalk/X generator improvements:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
1
diff
changeset
|
36 |
|
cfd2c393abfe
Smalltalk/X generator improvements:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
1
diff
changeset
|
37 |
"Created: / 03-07-2008 / 22:54:39 / Jan Vrany <vranyj1@fel.cvut.cz>" |
18 | 38 |
"Modified (comment): / 18-07-2011 / 16:34:49 / 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:
4
diff
changeset
|
39 |
! |
c110eef5b9ef
- externalization of libraryName (now supports unix & win32 simultaneously)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4
diff
changeset
|
40 |
|
c110eef5b9ef
- externalization of libraryName (now supports unix & win32 simultaneously)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4
diff
changeset
|
41 |
priority |
c110eef5b9ef
- externalization of libraryName (now supports unix & win32 simultaneously)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4
diff
changeset
|
42 |
|
c110eef5b9ef
- externalization of libraryName (now supports unix & win32 simultaneously)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4
diff
changeset
|
43 |
^self isForeign |
c110eef5b9ef
- externalization of libraryName (now supports unix & win32 simultaneously)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4
diff
changeset
|
44 |
ifTrue:[super priority - 1] |
c110eef5b9ef
- externalization of libraryName (now supports unix & win32 simultaneously)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4
diff
changeset
|
45 |
ifFalse:[super priority] |
c110eef5b9ef
- externalization of libraryName (now supports unix & win32 simultaneously)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4
diff
changeset
|
46 |
|
c110eef5b9ef
- externalization of libraryName (now supports unix & win32 simultaneously)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4
diff
changeset
|
47 |
"Created: / 09-07-2008 / 20:41:19 / Jan Vrany <vranyj1@fel.cvut.cz>" |
c110eef5b9ef
- externalization of libraryName (now supports unix & win32 simultaneously)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4
diff
changeset
|
48 |
! |
c110eef5b9ef
- externalization of libraryName (now supports unix & win32 simultaneously)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4
diff
changeset
|
49 |
|
9
03c7a764d2be
- changed struct field accessor generation - no "prim" prefix.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
5
diff
changeset
|
50 |
stxStructFieldGetterSelector |
03c7a764d2be
- changed struct field accessor generation - no "prim" prefix.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
5
diff
changeset
|
51 |
^ #at: |
5
c110eef5b9ef
- externalization of libraryName (now supports unix & win32 simultaneously)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4
diff
changeset
|
52 |
|
9
03c7a764d2be
- changed struct field accessor generation - no "prim" prefix.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
5
diff
changeset
|
53 |
"Created: / 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:
4
diff
changeset
|
54 |
! |
c110eef5b9ef
- externalization of libraryName (now supports unix & win32 simultaneously)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4
diff
changeset
|
55 |
|
9
03c7a764d2be
- changed struct field accessor generation - no "prim" prefix.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
5
diff
changeset
|
56 |
stxStructFieldSetterSelector |
03c7a764d2be
- changed struct field accessor generation - no "prim" prefix.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
5
diff
changeset
|
57 |
^ (self stxStructFieldGetterSelector , 'put:') asSymbol |
5
c110eef5b9ef
- externalization of libraryName (now supports unix & win32 simultaneously)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4
diff
changeset
|
58 |
|
9
03c7a764d2be
- changed struct field accessor generation - no "prim" prefix.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
5
diff
changeset
|
59 |
"Created: / 09-09-2008 / 21:33:21 / Jan Vrany <vranyj1@fel.cvut.cz>" |
2
cfd2c393abfe
Smalltalk/X generator improvements:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
1
diff
changeset
|
60 |
! ! |
cfd2c393abfe
Smalltalk/X generator improvements:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
1
diff
changeset
|
61 |
|
11 | 62 |
!CTypeNode methodsFor:'queries'! |
63 |
||
64 |
shouldBeIgnored |
|
65 |
||
66 |
^super shouldBeIgnored or: |
|
67 |
[self isAnonymous] |
|
68 |
||
69 |
"Created: / 22-02-2009 / 15:02:40 / Jan Vrany <vranyj1@fel.cvut.cz>" |
|
70 |
! ! |
|
71 |
||
1 | 72 |
!CTypeNode methodsFor:'testing'! |
73 |
||
4
fc74bd43a3eb
Minor parser fixes to parse Cairo Xlib stuff
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
74 |
isAnonymous |
fc74bd43a3eb
Minor parser fixes to parse Cairo Xlib stuff
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
75 |
|
fc74bd43a3eb
Minor parser fixes to parse Cairo Xlib stuff
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
76 |
^cName isNil |
fc74bd43a3eb
Minor parser fixes to parse Cairo Xlib stuff
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
77 |
|
fc74bd43a3eb
Minor parser fixes to parse Cairo Xlib stuff
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
78 |
"Created: / 04-07-2008 / 11:44:38 / Jan Vrany <vranyj1@fel.cvut.cz>" |
fc74bd43a3eb
Minor parser fixes to parse Cairo Xlib stuff
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
79 |
! |
fc74bd43a3eb
Minor parser fixes to parse Cairo Xlib stuff
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
80 |
|
3
110a9cbf8594
More improvements, now it generates usable Cairo bindings!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
81 |
isCCharNode |
110a9cbf8594
More improvements, now it generates usable Cairo bindings!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
82 |
^ false |
110a9cbf8594
More improvements, now it generates usable Cairo bindings!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
83 |
|
110a9cbf8594
More improvements, now it generates usable Cairo bindings!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
84 |
"Created: / 04-07-2008 / 09:26:46 / Jan Vrany <vranyj1@fel.cvut.cz>" |
110a9cbf8594
More improvements, now it generates usable Cairo bindings!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
85 |
! |
110a9cbf8594
More improvements, now it generates usable Cairo bindings!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
86 |
|
1 | 87 |
isCTypeNode |
88 |
^ true |
|
89 |
||
90 |
"Created: / 17-02-2008 / 21:49:53 / janfrog" |
|
4
fc74bd43a3eb
Minor parser fixes to parse Cairo Xlib stuff
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
91 |
! |
fc74bd43a3eb
Minor parser fixes to parse Cairo Xlib stuff
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
92 |
|
fc74bd43a3eb
Minor parser fixes to parse Cairo Xlib stuff
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
93 |
isForeign |
fc74bd43a3eb
Minor parser fixes to parse Cairo Xlib stuff
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
94 |
|
fc74bd43a3eb
Minor parser fixes to parse Cairo Xlib stuff
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
95 |
^cName isNil |
fc74bd43a3eb
Minor parser fixes to parse Cairo Xlib stuff
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
96 |
|
fc74bd43a3eb
Minor parser fixes to parse Cairo Xlib stuff
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
97 |
"Created: / 04-07-2008 / 11:44:45 / Jan Vrany <vranyj1@fel.cvut.cz>" |
41
edb5e4849b79
Type resolving reintroduced again.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
32
diff
changeset
|
98 |
! |
edb5e4849b79
Type resolving reintroduced again.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
32
diff
changeset
|
99 |
|
edb5e4849b79
Type resolving reintroduced again.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
32
diff
changeset
|
100 |
isUnresolved |
edb5e4849b79
Type resolving reintroduced again.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
32
diff
changeset
|
101 |
"return false here; to be redefined in subclass(es)" |
edb5e4849b79
Type resolving reintroduced again.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
32
diff
changeset
|
102 |
|
edb5e4849b79
Type resolving reintroduced again.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
32
diff
changeset
|
103 |
^ false |
1 | 104 |
! ! |
105 |
||
16 | 106 |
!CTypeNode methodsFor:'visiting'! |
107 |
||
108 |
acceptVisitor:aVisitor |
|
109 |
"Double dispatch back to the visitor, passing my type encoded in |
|
110 |
the selector (visitor pattern)" |
|
111 |
||
112 |
"stub code automatically generated - please change if required" |
|
113 |
||
114 |
^ aVisitor visitCTypeNode:self |
|
115 |
! ! |
|
116 |
||
1 | 117 |
!CTypeNode class methodsFor:'documentation'! |
118 |
||
119 |
version |
|
19
1297bf936bfb
Some fixes for modern GCC XML
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
18
diff
changeset
|
120 |
^ '$Id$' |
14 | 121 |
! |
122 |
||
123 |
version_SVN |
|
124 |
^ '$Id$' |
|
1 | 125 |
! ! |
41
edb5e4849b79
Type resolving reintroduced again.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
32
diff
changeset
|
126 |