mirror of
https://github.com/beefytech/Beef.git
synced 2025-06-10 04:22:20 +02:00
Show comptime emits as embedded sourceviews
This commit is contained in:
parent
ee27f6fd02
commit
4d1e14a1c3
65 changed files with 3360 additions and 633 deletions
|
@ -18,9 +18,24 @@ BfResolvePassData::BfResolvePassData()
|
|||
mSymbolTypeGenericParamIdx = -1;
|
||||
|
||||
mAutoComplete = NULL;
|
||||
mSourceClassifier = NULL;
|
||||
mResolveType = BfResolveType_None;
|
||||
mParser = NULL;
|
||||
mIsClassifying = false;
|
||||
mHasCursorIdx = false;
|
||||
}
|
||||
|
||||
BfResolvePassData::~BfResolvePassData()
|
||||
{
|
||||
for (auto& emitEntryKV : mEmitEmbedEntries)
|
||||
{
|
||||
auto parser = emitEntryKV.mValue.mParser;
|
||||
if (parser != NULL)
|
||||
{
|
||||
delete parser->mSourceClassifier;
|
||||
parser->mSourceClassifier = NULL;
|
||||
parser->mParserFlags = ParserFlag_None;
|
||||
parser->mCursorCheckIdx = -1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void BfResolvePassData::RecordReplaceNode(BfParserData* parser, int srcStart, int srcLen)
|
||||
|
@ -179,3 +194,20 @@ void BfResolvePassData::HandleNamespaceReference(BfAstNode* node, const BfAtomCo
|
|||
RecordReplaceNode(baseNode);
|
||||
}
|
||||
}
|
||||
|
||||
BfSourceClassifier* BfResolvePassData::GetSourceClassifier(BfAstNode* astNode)
|
||||
{
|
||||
if (!mIsClassifying)
|
||||
return NULL;
|
||||
auto parser = astNode->GetParser();
|
||||
if (parser == NULL)
|
||||
return NULL;
|
||||
return parser->mSourceClassifier;
|
||||
}
|
||||
|
||||
BfSourceClassifier* BfResolvePassData::GetSourceClassifier(BfParser* parser)
|
||||
{
|
||||
if (!mIsClassifying)
|
||||
return NULL;
|
||||
return parser->mSourceClassifier;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue