summaryrefslogtreecommitdiff
path: root/includes/compiler/som.h
blob: ab541ef332c6a5f8332b42ebc9be09e961645063 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#ifndef COMPILER_SOM_H
#define COMPILER_SOM_H

#include "compiler/common.h"

#ifdef __MWERKS__
#pragma options align=mac68k
#endif

typedef enum SOMMethodState {
    SOMMS_Deleted,
    SOMMS_Method,
    SOMMS_Migrated
} SOMMethodState;

typedef struct SOMReleaseOrder { // checked via CPrec
    struct SOMReleaseOrder *next;
    HashNameNode *name;
    SOMMethodState state;
} SOMReleaseOrder;

struct SOMInfo { // checked via CPrec
    TypeClass *metaclass;
    Object *classdataobject;
    SOMReleaseOrder *order;
    UInt32 majorversion;
    UInt32 minorversion;
    UInt8 oidl_callstyle;
};

#ifdef __MWERKS__
#pragma options align=reset
#endif

#endif