#include "lclintMacros.nf"#include "basic.h"Go to the source code of this file.
Functions | |
| qtype | qtype_create (ctype c) |
| void | qtype_free ( qtype q) |
| qtype | qtype_unknown () |
| qtype | qtype_addQual (qtype qt, qual q) |
| qtype | qtype_addQualList ( qtype qt, qualList ql) |
| qtype | qtype_mergeImplicitAlt ( qtype q1, qtype q2) |
| qtype | qtype_mergeAlt ( qtype q1, qtype q2) |
| qtype | qtype_combine ( qtype q1, ctype ct) |
| qtype | qtype_resolve ( qtype q) |
| cstring | qtype_unparse (qtype q) |
| qtype | qtype_newBase ( qtype q, ctype ct) |
| qtype | qtype_newQbase (qtype q1, qtype q2) |
| void | qtype_adjustPointers (int n, qtype q) |
| qtype | qtype_copy (qtype q) |
|
|
Definition at line 57 of file qtype.c. Referenced by idDecl_addQual(). 00058 {
00059 if (qtype_isDefined (qt))
00060 {
00061 qt->quals = qualList_add (qt->quals, q);
00062 }
00063
00064 return qt;
00065 }
|
|
|
Definition at line 68 of file qtype.c. 00069 {
00070 if (qtype_isDefined (qt))
00071 {
00072 qt->quals = qualList_appendList (qt->quals, ql);
00073 }
00074
00075 return qt;
00076 }
|
|
|
Definition at line 202 of file qtype.c. 00203 {
00204 if (qtype_isDefined (q))
00205 {
00206 q->type = ctype_adjustPointers (n, q->type);
00207 }
00208 }
|
|
|
Definition at line 147 of file qtype.c. 00148 {
00149 if (qtype_isDefined (q1))
00150 {
00151 /* ct is modifier (or q1->type is unknown) */
00152 q1->type = ctype_combine (q1->type, ct);
00153 }
00154
00155 return q1;
00156 }
|
|
|
Definition at line 211 of file qtype.c. 00212 {
00213 if (qtype_isDefined (q))
00214 {
00215 qtype r = qtype_create (q->type);
00216
00217 qualList_free (r->quals);
00218 r->quals = qualList_copy (q->quals);
00219 return r;
00220 }
00221 else
00222 {
00223 return qtype_undefined;
00224 }
00225 }
|
|
|
Definition at line 34 of file qtype.c. Referenced by processNamedDecl(), qtype_copy(), and qtype_unknown(). 00035 {
00036 qtype q = (qtype) dmalloc (sizeof (*q));
00037
00038 q->type = c;
00039 q->quals = qualList_new ();
00040 return q;
00041 }
|
|
|
Definition at line 43 of file qtype.c. Referenced by doDeclareConstant(), doDeclareVar(), exprNode_cast(), idDecl_free(), idDecl_setTyp(), qtype_mergeAlt(), qtype_mergeImplicitAlt(), setProcessingTypedef(), and setProcessingVars(). 00044 {
00045 if (qtype_isDefined (q))
00046 {
00047 qualList_free (q->quals);
00048 sfree (q);
00049 }
00050 }
|
|
|
Definition at line 123 of file qtype.c. 00124 {
00125 if (qtype_isDefined (q1) && qtype_isDefined (q2))
00126 {
00127 if (context_getFlag (FLG_IMPCONJ))
00128 {
00129 q1->type = ctype_makeConj (q1->type, q2->type);
00130 }
00131 else
00132 {
00133 q1->type = ctype_makeExplicitConj (q1->type, q2->type);
00134 }
00135
00136
00137 if (!qualList_isEmpty (q2->quals))
00138 {
00139 checkAltQuals (q2);
00140 }
00141 }
00142
00143 qtype_free (q2);
00144 return q1;
00145 }
|
|
|
Definition at line 106 of file qtype.c. 00107 {
00108 if (qtype_isDefined (q1) && qtype_isDefined (q2))
00109 {
00110 q1->type = ctype_makeConj (q1->type, q2->type);
00111
00112 if (!qualList_isEmpty (q2->quals))
00113 {
00114 checkAltQuals (q2);
00115 }
00116 }
00117
00118 qtype_free (q2);
00119 return q1;
00120 }
|
|
|
Definition at line 181 of file qtype.c. 00182 {
00183 if (qtype_isDefined (q))
00184 {
00185 q->type = ctype_newBase (ct, q->type);
00186 }
00187
00188 return q;
00189 }
|
|
|
Definition at line 191 of file qtype.c. Referenced by idDecl_fixBase(), and idDecl_fixParamBase(). 00192 {
00193 if (qtype_isDefined (q1) && qtype_isDefined (q2))
00194 {
00195 q1->type = ctype_newBase (q1->type, q2->type);
00196 q1->quals = qualList_appendList (q1->quals, q2->quals);
00197 }
00198
00199 return q1;
00200 }
|
|
|
Definition at line 158 of file qtype.c. 00159 {
00160 if (qtype_isDefined (q))
00161 {
00162 q->type = ctype_resolve (q->type);
00163 }
00164
00165 return q;
00166 }
|
|
|
Definition at line 52 of file qtype.c. 00053 {
00054 return (qtype_create (ctype_unknown));
00055 }
|
|
|
Definition at line 168 of file qtype.c. 00169 {
00170 if (qtype_isDefined (q))
00171 {
00172 return (message ("%q%s", qualList_unparse (q->quals),
00173 ctype_unparse (q->type)));
00174 }
00175 else
00176 {
00177 return (cstring_makeLiteral ("<undefined>"));
00178 }
00179 }
|
1.2.3 written by Dimitri van Heesch,
© 1997-2000