2024-12-12 08:35:50 -08:00
|
|
|
// These macros are used in the swtich cases are used within ast.cpp, inteface.upfront.cpp, parser.cpp
|
|
|
|
|
|
|
|
# define GEN_AST_BODY_CLASS_UNALLOWED_TYPES \
|
2024-12-03 12:19:39 -08:00
|
|
|
case CT_PlatformAttributes: \
|
|
|
|
case CT_Class_Body: \
|
|
|
|
case CT_Enum_Body: \
|
|
|
|
case CT_Extern_Linkage: \
|
|
|
|
case CT_Function_Body: \
|
|
|
|
case CT_Function_Fwd: \
|
|
|
|
case CT_Global_Body: \
|
|
|
|
case CT_Namespace: \
|
|
|
|
case CT_Namespace_Body: \
|
|
|
|
case CT_Operator: \
|
|
|
|
case CT_Operator_Fwd: \
|
|
|
|
case CT_Parameters: \
|
|
|
|
case CT_Specifiers: \
|
|
|
|
case CT_Struct_Body: \
|
2024-12-12 08:35:50 -08:00
|
|
|
case CT_Typename
|
2023-07-28 18:44:31 -07:00
|
|
|
# define GEN_AST_BODY_STRUCT_UNALLOWED_TYPES GEN_AST_BODY_CLASS_UNALLOWED_TYPES
|
2023-07-24 14:45:27 -07:00
|
|
|
|
2023-07-28 18:44:31 -07:00
|
|
|
# define GEN_AST_BODY_FUNCTION_UNALLOWED_TYPES \
|
2024-12-03 12:19:39 -08:00
|
|
|
case CT_Access_Public: \
|
|
|
|
case CT_Access_Protected: \
|
|
|
|
case CT_Access_Private: \
|
|
|
|
case CT_PlatformAttributes: \
|
|
|
|
case CT_Class_Body: \
|
|
|
|
case CT_Enum_Body: \
|
|
|
|
case CT_Extern_Linkage: \
|
|
|
|
case CT_Friend: \
|
|
|
|
case CT_Function_Body: \
|
|
|
|
case CT_Function_Fwd: \
|
|
|
|
case CT_Global_Body: \
|
|
|
|
case CT_Namespace: \
|
|
|
|
case CT_Namespace_Body: \
|
|
|
|
case CT_Operator: \
|
|
|
|
case CT_Operator_Fwd: \
|
|
|
|
case CT_Operator_Member: \
|
|
|
|
case CT_Operator_Member_Fwd: \
|
|
|
|
case CT_Parameters: \
|
|
|
|
case CT_Specifiers: \
|
|
|
|
case CT_Struct_Body: \
|
2024-12-12 08:35:50 -08:00
|
|
|
case CT_Typename
|
2023-07-24 14:45:27 -07:00
|
|
|
|
2024-12-03 12:19:39 -08:00
|
|
|
# define GEN_AST_BODY_GLOBAL_UNALLOWED_TYPES \
|
|
|
|
case CT_Access_Public: \
|
|
|
|
case CT_Access_Protected: \
|
|
|
|
case CT_Access_Private: \
|
|
|
|
case CT_PlatformAttributes: \
|
|
|
|
case CT_Class_Body: \
|
|
|
|
case CT_Enum_Body: \
|
|
|
|
case CT_Execution: \
|
|
|
|
case CT_Friend: \
|
|
|
|
case CT_Function_Body: \
|
|
|
|
case CT_Namespace_Body: \
|
|
|
|
case CT_Operator_Member: \
|
|
|
|
case CT_Operator_Member_Fwd: \
|
|
|
|
case CT_Parameters: \
|
|
|
|
case CT_Specifiers: \
|
|
|
|
case CT_Struct_Body: \
|
2024-12-12 08:35:50 -08:00
|
|
|
case CT_Typename
|
2023-07-28 18:44:31 -07:00
|
|
|
# define GEN_AST_BODY_EXPORT_UNALLOWED_TYPES GEN_AST_BODY_GLOBAL_UNALLOWED_TYPES
|
|
|
|
# define GEN_AST_BODY_EXTERN_LINKAGE_UNALLOWED_TYPES GEN_AST_BODY_GLOBAL_UNALLOWED_TYPES
|
2023-07-24 14:45:27 -07:00
|
|
|
|
2023-07-28 18:44:31 -07:00
|
|
|
# define GEN_AST_BODY_NAMESPACE_UNALLOWED_TYPES \
|
2024-12-03 12:19:39 -08:00
|
|
|
case CT_Access_Public: \
|
|
|
|
case CT_Access_Protected: \
|
|
|
|
case CT_Access_Private: \
|
|
|
|
case CT_PlatformAttributes: \
|
|
|
|
case CT_Class_Body: \
|
|
|
|
case CT_Enum_Body: \
|
|
|
|
case CT_Execution: \
|
|
|
|
case CT_Friend: \
|
|
|
|
case CT_Function_Body: \
|
|
|
|
case CT_Namespace_Body: \
|
|
|
|
case CT_Operator_Member: \
|
|
|
|
case CT_Operator_Member_Fwd: \
|
|
|
|
case CT_Parameters: \
|
|
|
|
case CT_Specifiers: \
|
|
|
|
case CT_Struct_Body: \
|
2024-12-12 08:35:50 -08:00
|
|
|
case CT_Typename
|