equal
deleted
inserted
replaced
36 "Created: / 12-02-2008 / 23:48:03 / janfrog" |
36 "Created: / 12-02-2008 / 23:48:03 / janfrog" |
37 ! ! |
37 ! ! |
38 |
38 |
39 !TypeResolver methodsFor:'visiting'! |
39 !TypeResolver methodsFor:'visiting'! |
40 |
40 |
41 visit: aCNode |
|
42 |
|
43 super visit: aCNode. |
|
44 (aCNode respondsTo: #type) ifTrue: |
|
45 [aCNode type: aCNode type resolved] |
|
46 |
|
47 "Created: / 17-02-2008 / 17:56:42 / janfrog" |
|
48 ! |
|
49 |
|
50 visitCTypedefNode: anObject |
41 visitCTypedefNode: anObject |
51 |
42 |
52 anObject type isCUserDefinedTypeNode ifTrue:[ |
43 anObject type isCUserDefinedTypeNode ifTrue:[ |
53 | realType | |
44 | realType | |
54 |
45 |
61 |
52 |
62 "Created: / 05-09-2012 / 11:37:13 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
53 "Created: / 05-09-2012 / 11:37:13 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
63 ! |
54 ! |
64 |
55 |
65 visitCUserDefinedTypeNode: anObject |
56 visitCUserDefinedTypeNode: anObject |
66 |
|
67 "/thisContext isRecursive ifTrue:[^self]. |
57 "/thisContext isRecursive ifTrue:[^self]. |
68 |
58 |
|
59 anObject type isNil ifTrue:[ |
|
60 |type| |
69 |
61 |
70 anObject type |
62 type := (typeMap at: anObject cName ifAbsent:[CPointerNode new type: CVoidNode new]). |
71 ifNil: |
63 self visit: type. |
72 [|type| |
64 anObject type: type |
73 type := (typeMap at: anObject cName ifAbsent:[CPointerNode new type: CVoidNode new]). |
65 ] |
74 self visit: type. |
|
75 anObject type: type] |
|
76 |
66 |
77 "Created: / 12-02-2008 / 23:45:17 / janfrog" |
67 "Created: / 12-02-2008 / 23:45:17 / janfrog" |
78 "Modified: / 17-02-2008 / 18:30:56 / janfrog" |
68 "Modified: / 17-02-2008 / 18:30:56 / janfrog" |
79 "Modified: / 09-07-2008 / 20:53:13 / Jan Vrany <vranyj1@fel.cvut.cz>" |
69 "Modified: / 09-07-2008 / 20:53:13 / Jan Vrany <vranyj1@fel.cvut.cz>" |
|
70 "Modified: / 06-07-2015 / 08:01:54 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
80 ! ! |
71 ! ! |
81 |
72 |
82 !TypeResolver class methodsFor:'documentation'! |
73 !TypeResolver class methodsFor:'documentation'! |
83 |
74 |
84 version |
75 version |