#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< TvPrinter > | debugTvp |
| #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);
| const char* TypeTagName | ( | TypeTag | ttag | ) |
| bool isPrimFloat |
| bool isScalarType |
| bool isSimpleTypeForC |
| 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().
1.4.7