mirror of
https://github.com/beefytech/Beef.git
synced 2025-06-09 03:52:19 +02:00
Added CallerType, CallerTypeName
This commit is contained in:
parent
69a597574d
commit
045e706600
2 changed files with 25 additions and 1 deletions
|
@ -217,6 +217,12 @@ namespace System
|
|||
[LinkName("#CallerFileDir")]
|
||||
public static extern String CallerFileDir;
|
||||
|
||||
[LinkName("#CallerType")]
|
||||
public static extern Type CallerType;
|
||||
|
||||
[LinkName("#CallerTypeName")]
|
||||
public static extern String CallerTypeName;
|
||||
|
||||
[LinkName("#CallerMemberName")]
|
||||
public static extern String CallerMemberName;
|
||||
|
||||
|
|
|
@ -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