mirror of
https://github.com/beefytech/Beef.git
synced 2025-06-10 04:22:20 +02:00
Allow calling convention attributes
This commit is contained in:
parent
096ade7614
commit
b9908cb4a8
11 changed files with 240 additions and 93 deletions
|
@ -1383,6 +1383,13 @@ enum BfDeferredBlockFlags
|
|||
BfDeferredBlockFlag_MoveNewBlocksToEnd = 8,
|
||||
};
|
||||
|
||||
enum BfGetCustomAttributesFlags
|
||||
{
|
||||
BfGetCustomAttributesFlags_None = 0,
|
||||
BfGetCustomAttributesFlags_AllowNonConstArgs = 1,
|
||||
BfGetCustomAttributesFlags_KeepConstsInModule = 2
|
||||
};
|
||||
|
||||
class BfVDataExtEntry
|
||||
{
|
||||
public:
|
||||
|
@ -1567,8 +1574,8 @@ public:
|
|||
BfTypedValue GetTypedValueFromConstant(BfConstant* constant, BfIRConstHolder* constHolder, BfType* wantType);
|
||||
BfIRValue ConstantToCurrent(BfConstant* constant, BfIRConstHolder* constHolder, BfType* wantType, bool allowUnactualized = false);
|
||||
void ValidateCustomAttributes(BfCustomAttributes* customAttributes, BfAttributeTargets attrTarget);
|
||||
void GetCustomAttributes(BfCustomAttributes* customAttributes, BfAttributeDirective* attributesDirective, BfAttributeTargets attrType, bool allowNonConstArgs = false, BfCaptureInfo* captureInfo = NULL);
|
||||
BfCustomAttributes* GetCustomAttributes(BfAttributeDirective* attributesDirective, BfAttributeTargets attrType, bool allowNonConstArgs = false, BfCaptureInfo* captureInfo = NULL);
|
||||
void GetCustomAttributes(BfCustomAttributes* customAttributes, BfAttributeDirective* attributesDirective, BfAttributeTargets attrType, BfGetCustomAttributesFlags flags = BfGetCustomAttributesFlags_None, BfCaptureInfo* captureInfo = NULL);
|
||||
BfCustomAttributes* GetCustomAttributes(BfAttributeDirective* attributesDirective, BfAttributeTargets attrType, BfGetCustomAttributesFlags flags = BfGetCustomAttributesFlags_None, BfCaptureInfo* captureInfo = NULL);
|
||||
BfCustomAttributes* GetCustomAttributes(BfTypeDef* typeDef);
|
||||
void FinishAttributeState(BfAttributeState* attributeState);
|
||||
void ProcessTypeInstCustomAttributes(bool& isPacked, bool& isUnion, bool& isCRepr, bool& isOrdered, int& alignOverride, BfType*& underlyingArrayType, int& underlyingArraySize);
|
||||
|
@ -1846,6 +1853,7 @@ public:
|
|||
void CheckIdentifierFixit(BfAstNode* node);
|
||||
void TypeRefNotFound(BfTypeReference* typeRef, const char* appendName = NULL);
|
||||
bool ValidateTypeWildcard(BfTypeReference* typeRef, bool isAttributeRef);
|
||||
void GetDelegateTypeRefAttributes(BfDelegateTypeRef* delegateTypeRef, BfCallingConvention& callingConvention);
|
||||
BfType* ResolveTypeRef(BfTypeReference* typeRef, BfPopulateType populateType = BfPopulateType_Data, BfResolveTypeRefFlags resolveFlags = (BfResolveTypeRefFlags)0, int numGenericArgs = 0);
|
||||
BfType* ResolveTypeRefAllowUnboundGenerics(BfTypeReference* typeRef, BfPopulateType populateType = BfPopulateType_Data, bool resolveGenericParam = true);
|
||||
BfType* ResolveTypeRef(BfAstNode* astNode, const BfSizedArray<BfTypeReference*>* genericArgs, BfPopulateType populateType = BfPopulateType_Data, BfResolveTypeRefFlags resolveFlags = (BfResolveTypeRefFlags)0);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue