177 void Print (FILE *fp,
int nl_mode = 0);
179 void sPrint (
char *buf,
int sz,
int nl_mode = 0);
269 void *
operator new (
size_t count ) {
return malloc (count); }
270 void operator delete (
void *ptr) {
InstType *
t = (
InstType *)ptr;
if (
t->temp_type == 0)
return; free (ptr); }
Array expressions.
Definition: act_array.h:529
The ActNamespace class holds all the information about a namespace.
Definition: namespaces.h:469
Dense arrays, sparse arrays, and array dereferences.
Definition: act_array.h:65
An instance type.
Definition: inst.h:92
const char * ptype_id
Definition: inst.h:401
ActNamespace * getNamespace()
Definition: inst.h:301
void setParam(int pn, InstType *t)
void clrArray()
Definition: inst.h:139
int hasinstGlobal()
Definition: inst.h:329
int isEqualDir(InstType *t, int weak=0)
AExpr * getAExprParam(int pn)
int israwExpanded() const
Definition: inst.h:291
Type * isConnectable(InstType *t, int weak=0)
void appendParams(int na, inst_param *a)
inst_param * u
Definition: inst.h:395
InstType(InstType *i, int skip_array=0)
InstType * getTypeParam(int pn)
void sPrint(char *buf, int sz, int nl_mode=0)
void Print(FILE *fp, int nl_mode=0)
void setParam(int pn, AExpr *a)
InstType(Scope *_s, Type *_t, int is_temp=1)
InstType * refineBaseType(Type *update)
unsigned int expanded
Definition: inst.h:399
int nt
Definition: inst.h:394
void mkExpanded()
Definition: inst.h:296
Array * a
Definition: inst.h:393
void setIfaceType(InstType *x)
Definition: inst.h:369
InstType * refineBaseType(InstType *update)
int isTemp()
Definition: inst.h:267
InstType * iface_type
Definition: inst.h:403
void MkCached()
Definition: inst.h:262
Array * arrayInfo()
Definition: inst.h:134
InstType * Expand(ActNamespace *ns, Scope *s)
const char * getPTypeID()
Definition: inst.h:363
void SetDir(Type::direction d)
Definition: inst.h:252
int getNumParams()
Definition: inst.h:241
Type * t
Definition: inst.h:379
Type * BaseType() const
Definition: inst.h:181
unsigned int temp_type
Definition: inst.h:397
Type * isRelated(InstType *it, InstType **common=NULL)
InstType * getIfaceType()
Definition: inst.h:374
inst_param * allParams()
Definition: inst.h:246
void setParam(int pn, Expr *e)
void setPTypeID(char *s)
Definition: inst.h:358
Type::direction dir
Definition: inst.h:385
Type::direction getDir()
Definition: inst.h:257
UserDef * getUserDef()
Definition: inst.h:307
int isEqual(InstType *t, int weak=0)
Scope * s
Definition: inst.h:390
This is the data structure that holds all instances and their associated types within a scope....
Definition: namespaces.h:77
ActNamespace * getNamespace()
Definition: namespaces.h:248
UserDef * getUserDef()
Definition: namespaces.h:236
This is the class used to create all instance types. It also caches types to reduce memory usage.
Definition: types.h:1415
The abstract base class for all types in the system.
Definition: basetype.h:45
direction
Definition: basetype.h:87
UserDef stores information that is common to all user-defined types. User-defined types are more comp...
Definition: types.h:310
This holds a single template parameter. A template parameter is either an array expression,...
Definition: inst.h:52
unsigned int isatype
Definition: inst.h:53
InstType * tt
Definition: inst.h:61
AExpr * tp
Definition: inst.h:55