Ejemplo n.º 1
0
Archivo: type.c Proyecto: Pastor/fcc
type* typeCreateFunction (type* returnType, type** paramTypes, int params, bool variadic) {
    type* DT = typeCreate(typeFunction);
    DT->returnType = returnType;
    DT->paramTypes = paramTypes;
    DT->params = params;
    DT->variadic = variadic;
    return DT;
}
Ejemplo n.º 2
0
Archivo: type.c Proyecto: Fedjmike/tush
type* typeUnitary (typeSys* ts, typeKind kind) {
    precond(!typeKindIsntUnitary(kind));

    /*Only allocate one struct per unitary type*/
    if (!ts->unitaries[kind])
        ts->unitaries[kind] = typeCreate(kind, (type) {});

    return ts->unitaries[kind];
}
Ejemplo n.º 3
0
Archivo: type.c Proyecto: Fedjmike/tush
static type* typeNonUnitary (typeSys* ts, typeKind kind, type init) {
    type* dt = typeCreate(kind, init);
    vectorPush(&ts->others, dt);
    return dt;
}
Ejemplo n.º 4
0
Archivo: type.c Proyecto: Pastor/fcc
type* typeCreateInvalid () {
    return typeCreate(typeInvalid);
}
Ejemplo n.º 5
0
Archivo: type.c Proyecto: Pastor/fcc
type* typeCreateArray (type* base, int size) {
    type* DT = typeCreate(typeArray);
    DT->base = base;
    DT->array = size;
    return DT;
}
Ejemplo n.º 6
0
Archivo: type.c Proyecto: Pastor/fcc
type* typeCreatePtr (type* base) {
    type* DT = typeCreate(typePtr);
    DT->base = base;
    return DT;
}
Ejemplo n.º 7
0
Archivo: type.c Proyecto: Pastor/fcc
type* typeCreateBasic (const sym* basic) {
    type* DT = typeCreate(typeBasic);
    DT->basic = basic;
    return DT;
}