1
0
Fork 0
mirror of https://github.com/beefytech/Beef.git synced 2025-06-19 16:40:26 +02:00

Added ability to rename namespaces

This commit is contained in:
Brian Fiete 2020-05-31 07:12:17 -07:00
parent 91e0d10128
commit 014263c3a7
16 changed files with 373 additions and 78 deletions

View file

@ -53,6 +53,7 @@ namespace IDE.Compiler
public int32 mLocalId = -1;
public String mReplaceStr ~ delete _;
public String mTypeDef ~ delete _;
public String mNamespace ~ delete _;
public int32 mFieldIdx = -1;
public int32 mMethodIdx = -1;
public int32 mPropertyIdx = -1;

View file

@ -20,7 +20,10 @@ namespace IDE.Compiler
static extern void BfResolvePassData_SetMethodGenericParamIdx(void* resolvePassData, int typeGenericParamIdx);
[CallingConvention(.Stdcall), CLink]
static extern void BfResolvePassData_SetSymbolReferenceTypeDef(void* bfResolvePassData, char8* replaceStr);
static extern void BfResolvePassData_SetSymbolReferenceTypeDef(void* bfResolvePassData, char8* typeDefName);
[CallingConvention(.Stdcall), CLink]
static extern void BfResolvePassData_SetSymbolReferenceNamespace(void* bfResolvePassData, char8* namespaceName);
[CallingConvention(.Stdcall), CLink]
static extern void BfResolvePassData_SetSymbolReferenceFieldIdx(void* bfResolvePassData, int32 fieldIdx);
@ -66,6 +69,11 @@ namespace IDE.Compiler
BfResolvePassData_SetSymbolReferenceTypeDef(mNativeResolvePassData, typeDefName);
}
public void SetSymbolReferenceNamespace(String namespaceName)
{
BfResolvePassData_SetSymbolReferenceNamespace(mNativeResolvePassData, namespaceName);
}
public void SetSymbolReferenceFieldIdx(int32 fieldIdx)
{
BfResolvePassData_SetSymbolReferenceFieldIdx(mNativeResolvePassData, fieldIdx);

View file

@ -227,6 +227,9 @@ namespace IDE.ui
mResolveParams.mTypeGenericParamIdx = int32.Parse(lineDataItr.GetNext().Get());
case "methodGenericParam":
mResolveParams.mMethodGenericParamIdx = int32.Parse(lineDataItr.GetNext().Get());
case "namespaceRef":
mResolveParams.mNamespace = new String(lineDataItr.GetNext().Get());
foundSymbol = true;
case "defLoc":
if (mKind == .Rename)
{
@ -421,6 +424,8 @@ namespace IDE.ui
mResolvePassData.SetTypeGenericParamIdx(resolveParams.mTypeGenericParamIdx);
if (resolveParams.mMethodGenericParamIdx != -1)
mResolvePassData.SetMethodGenericParamIdx(resolveParams.mMethodGenericParamIdx);
if (resolveParams.mNamespace != null)
mResolvePassData.SetSymbolReferenceNamespace(resolveParams.mNamespace);
}
mDoLock = mKind == Kind.Rename;