mirror of
https://github.com/beefytech/Beef.git
synced 2025-06-08 19:48:20 +02:00
Added CallerType, CallerTypeName
This commit is contained in:
parent
69a597574d
commit
045e706600
2 changed files with 25 additions and 1 deletions
|
@ -6973,7 +6973,7 @@ BfTypedValue BfExprEvaluator::CreateCall(BfAstNode* targetSrc, const BfTypedValu
|
|||
filePath = mModule->mCurFilePosition.mFileInstance->mParser->mFileName;
|
||||
argValue = BfTypedValue(mModule->GetStringObjectValue(filePath),
|
||||
mModule->ResolveTypeDef(mModule->mCompiler->mStringTypeDef));
|
||||
}
|
||||
}
|
||||
else if (strcmp(globalVar->mName, "#CallerFileName") == 0)
|
||||
{
|
||||
String filePath = "";
|
||||
|
@ -6990,6 +6990,24 @@ BfTypedValue BfExprEvaluator::CreateCall(BfAstNode* targetSrc, const BfTypedValu
|
|||
argValue = BfTypedValue(mModule->GetStringObjectValue(GetFileDir(filePath)),
|
||||
mModule->ResolveTypeDef(mModule->mCompiler->mStringTypeDef));
|
||||
}
|
||||
else if (strcmp(globalVar->mName, "#CallerTypeName") == 0)
|
||||
{
|
||||
String typeName = "";
|
||||
if (mModule->mCurTypeInstance != NULL)
|
||||
typeName = mModule->TypeToString(mModule->mCurTypeInstance);
|
||||
argValue = BfTypedValue(mModule->GetStringObjectValue(typeName),
|
||||
mModule->ResolveTypeDef(mModule->mCompiler->mStringTypeDef));
|
||||
}
|
||||
else if (strcmp(globalVar->mName, "#CallerType") == 0)
|
||||
{
|
||||
auto typeType = mModule->ResolveTypeDef(mModule->mCompiler->mTypeTypeDef);
|
||||
BfType* type = mModule->mCurTypeInstance;
|
||||
if (type != NULL)
|
||||
{
|
||||
mModule->AddDependency(type, mModule->mCurTypeInstance, BfDependencyMap::DependencyFlag_ExprTypeReference);
|
||||
argValue = BfTypedValue(mModule->CreateTypeDataRef(type), typeType);
|
||||
}
|
||||
}
|
||||
else if (strcmp(globalVar->mName, "#CallerMemberName") == 0)
|
||||
{
|
||||
String memberName = "";
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue