Type.cxx File Reference

#include <assert.h>
#include <stdint.h>
#include <stdlib.h>
#include <dirent.h>
#include <fstream>
#include <iostream>
#include <string>
#include <sstream>
#include <libsherpa/UExcept.hxx>
#include "Options.hxx"
#include "UocInfo.hxx"
#include "AST.hxx"
#include "Type.hxx"
#include "TypeInfer.hxx"
#include "TypeScheme.hxx"
#include "TypeMut.hxx"
#include "Typeclass.hxx"
#include "inter-pass.hxx"
#include "Unify.hxx"
#include "machine-dep.hxx"
#include "types.def"

Go to the source code of this file.

Defines

#define DEFTYPE(nm, prim, csimp, atom, scalar, ref, primInt, primFloat)   { #nm, prim, csimp, atom, scalar, ref, primInt, primFloat },
#define TYPE_CTR_INIT(tt)

Functions

const char * TypeTagName (TypeTag ttag)

Variables

struct {
   const char *   nm
   bool   isPrimary
   bool   isSimpleTypeForC
   bool   isAtomic
   bool   isScalarType
   bool   isRefType
   bool   isPrimInt
   bool   isPrimFloat
typeInfo []
shared_ptr< TvPrinterdebugTvp


Define Documentation

#define DEFTYPE ( nm,
prim,
csimp,
atom,
scalar,
ref,
primInt,
primFloat   )     { #nm, prim, csimp, atom, scalar, ref, primInt, primFloat },

#define TYPE_CTR_INIT ( tt   ) 

Value:

do {                  \
    typeTag = tt;                               \
    defAst = GC_NULL;                           \
    myContainer = GC_NULL;                      \
    minSignedRep = 0;                           \
    minUnsignedRep = 0;                         \
    Isize = 0;                                  \
    if(typeTag == ty_array)                     \
      arrLen = ArrLen::make(0);                 \
    else                                        \
      arrLen = GC_NULL;                         \
    mark = MARK_NONE;                           \
    pMark = 0;                                  \
    sp = GC_NULL;                               \
    link = GC_NULL;                             \
    flags = TY_NO_FLAGS;                        \
  } while (0);

Definition at line 1322 of file Type.cxx.


Function Documentation

const char* TypeTagName ( TypeTag  ttag  ) 

Definition at line 210 of file Type.cxx.

Referenced by Type::typeTagName().


Variable Documentation

shared_ptr<TvPrinter> debugTvp

bool isAtomic

Definition at line 74 of file Type.cxx.

bool isPrimary

Definition at line 72 of file Type.cxx.

bool isPrimFloat

Definition at line 78 of file Type.cxx.

bool isPrimInt

Definition at line 77 of file Type.cxx.

bool isRefType

Definition at line 76 of file Type.cxx.

bool isScalarType

Definition at line 75 of file Type.cxx.

bool isSimpleTypeForC

Definition at line 73 of file Type.cxx.

const char* nm

Definition at line 71 of file Type.cxx.

Referenced by alreadyEmitted(), importSymBindings(), importTSBindings(), removeAndReRandT(), and toc().

struct { ... } typeInfo[] [static]

Referenced by Type::getType(), and Type::isFnxn().


Generated on Thu May 17 23:59:16 2012 for BitC Compiler by  doxygen 1.4.7