mirror of
https://github.com/beefytech/Beef.git
synced 2025-06-11 04:52:21 +02:00
Fixed documentation-finding with attributed declarations
This commit is contained in:
parent
41f7fd57e6
commit
7436b201be
2 changed files with 13 additions and 13 deletions
|
@ -5847,7 +5847,7 @@ BfFieldDeclaration* BfReducer::CreateFieldDeclaration(BfTokenNode* tokenNode, Bf
|
||||||
return fieldDeclaration;
|
return fieldDeclaration;
|
||||||
}
|
}
|
||||||
|
|
||||||
BfAstNode* BfReducer::ReadTypeMember(BfTokenNode* tokenNode, int depth, BfAstNode* deferredHeadNode)
|
BfAstNode* BfReducer::ReadTypeMember(BfTokenNode* tokenNode, bool declStarted, int depth, BfAstNode* deferredHeadNode)
|
||||||
{
|
{
|
||||||
BfToken token = tokenNode->GetToken();
|
BfToken token = tokenNode->GetToken();
|
||||||
|
|
||||||
|
@ -5867,8 +5867,9 @@ BfAstNode* BfReducer::ReadTypeMember(BfTokenNode* tokenNode, int depth, BfAstNod
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
SetAndRestoreValue<BfAstNode*> prevTypeMemberNodeStart(mTypeMemberNodeStart, attributes, !declStarted);
|
||||||
mVisitorPos.MoveNext();
|
mVisitorPos.MoveNext();
|
||||||
auto memberNode = ReadTypeMember(nextNode, 0, (deferredHeadNode != NULL) ? deferredHeadNode : attributes);
|
auto memberNode = ReadTypeMember(nextNode, true, depth, (deferredHeadNode != NULL) ? deferredHeadNode : attributes);
|
||||||
if (memberNode == NULL)
|
if (memberNode == NULL)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
|
@ -6151,7 +6152,7 @@ BfAstNode* BfReducer::ReadTypeMember(BfTokenNode* tokenNode, int depth, BfAstNod
|
||||||
if (nextNode != NULL)
|
if (nextNode != NULL)
|
||||||
{
|
{
|
||||||
mVisitorPos.MoveNext();
|
mVisitorPos.MoveNext();
|
||||||
typeMember = ReadTypeMember(nextNode, depth + 1);
|
typeMember = ReadTypeMember(nextNode, true, depth + 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
auto memberDecl = BfNodeDynCast<BfMemberDeclaration>(typeMember);
|
auto memberDecl = BfNodeDynCast<BfMemberDeclaration>(typeMember);
|
||||||
|
@ -6571,7 +6572,7 @@ void BfReducer::ReadPropertyBlock(BfPropertyDeclaration* propertyDeclaration, Bf
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
BfAstNode* BfReducer::ReadTypeMember(BfAstNode* node, int depth, BfAstNode* deferredHeadNode)
|
BfAstNode* BfReducer::ReadTypeMember(BfAstNode* node, bool declStarted, int depth, BfAstNode* deferredHeadNode)
|
||||||
{
|
{
|
||||||
// SetAndRestoreValue<BfAstNode*> prevTypeMemberNodeStart(mTypeMemberNodeStart, node, false);
|
// SetAndRestoreValue<BfAstNode*> prevTypeMemberNodeStart(mTypeMemberNodeStart, node, false);
|
||||||
// if (depth == 0)
|
// if (depth == 0)
|
||||||
|
@ -6618,10 +6619,8 @@ BfAstNode* BfReducer::ReadTypeMember(BfAstNode* node, int depth, BfAstNode* defe
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
SetAndRestoreValue<BfAstNode*> prevTypeMemberNodeStart(mTypeMemberNodeStart, tokenNode, false);
|
SetAndRestoreValue<BfAstNode*> prevTypeMemberNodeStart(mTypeMemberNodeStart, tokenNode, !declStarted);
|
||||||
if (depth == 0)
|
return ReadTypeMember(tokenNode, declStarted, depth, deferredHeadNode);
|
||||||
prevTypeMemberNodeStart.Set();
|
|
||||||
return ReadTypeMember(tokenNode, depth, deferredHeadNode);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (auto block = BfNodeDynCast<BfBlock>(node))
|
else if (auto block = BfNodeDynCast<BfBlock>(node))
|
||||||
|
@ -8024,6 +8023,7 @@ BfAstNode* BfReducer::HandleTopLevel(BfBlock* node)
|
||||||
mVisitorPos.Write(child); // Just keep it...
|
mVisitorPos.Write(child); // Just keep it...
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
SetAndRestoreValue<BfAstNode*> prevTypeMemberNodeStart(mTypeMemberNodeStart, tokenNode);
|
||||||
auto newNode = CreateTopLevelObject(tokenNode, NULL);
|
auto newNode = CreateTopLevelObject(tokenNode, NULL);
|
||||||
hadPrevFail = newNode == NULL;
|
hadPrevFail = newNode == NULL;
|
||||||
|
|
||||||
|
@ -8240,7 +8240,7 @@ BfAstNode* BfReducer::CreateTopLevelObject(BfTokenNode* tokenNode, BfAttributeDi
|
||||||
FailAfter("Expected type declaration", tokenNode);
|
FailAfter("Expected type declaration", tokenNode);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
mVisitorPos.MoveNext();
|
mVisitorPos.MoveNext();
|
||||||
auto topLevelObject = CreateTopLevelObject(nextToken, attributes);
|
auto topLevelObject = CreateTopLevelObject(nextToken, attributes);
|
||||||
if (topLevelObject == NULL)
|
if (topLevelObject == NULL)
|
||||||
|
@ -8294,7 +8294,7 @@ BfAstNode* BfReducer::CreateTopLevelObject(BfTokenNode* tokenNode, BfAttributeDi
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
mVisitorPos.MoveNext();
|
mVisitorPos.MoveNext();
|
||||||
|
|
||||||
auto topLevelObject = CreateTopLevelObject(nextToken, attributes);
|
auto topLevelObject = CreateTopLevelObject(nextToken, attributes);
|
||||||
if (topLevelObject == NULL)
|
if (topLevelObject == NULL)
|
||||||
{
|
{
|
||||||
|
@ -8490,7 +8490,7 @@ BfAstNode* BfReducer::CreateTopLevelObject(BfTokenNode* tokenNode, BfAttributeDi
|
||||||
typeDeclaration->mNameNode = identifierNode;
|
typeDeclaration->mNameNode = identifierNode;
|
||||||
ReplaceNode(tokenNode, typeDeclaration);
|
ReplaceNode(tokenNode, typeDeclaration);
|
||||||
MoveNode(identifierNode, typeDeclaration);
|
MoveNode(identifierNode, typeDeclaration);
|
||||||
typeDeclaration->mDocumentation = FindDocumentation(typeDeclaration);
|
typeDeclaration->mDocumentation = FindDocumentation(mTypeMemberNodeStart);
|
||||||
|
|
||||||
auto nextNode = mVisitorPos.GetNext();
|
auto nextNode = mVisitorPos.GetNext();
|
||||||
auto chevronToken = BfNodeDynCast<BfTokenNode>(nextNode);
|
auto chevronToken = BfNodeDynCast<BfTokenNode>(nextNode);
|
||||||
|
|
|
@ -187,8 +187,8 @@ public:
|
||||||
BfTokenNode* ParseMethodParams(BfAstNode* node, SizedArrayImpl<BfParameterDeclaration*>* params, SizedArrayImpl<BfTokenNode*>* commas, BfToken endToken, bool requireNames);
|
BfTokenNode* ParseMethodParams(BfAstNode* node, SizedArrayImpl<BfParameterDeclaration*>* params, SizedArrayImpl<BfTokenNode*>* commas, BfToken endToken, bool requireNames);
|
||||||
BfTokenNode* ReadArguments(BfAstNode* parentNode, BfAstNode* afterNode, SizedArrayImpl<BfExpression*>* arguments, SizedArrayImpl<BfTokenNode*>* commas, BfToken endToken, bool allowSkippedArgs = false, CreateExprFlags createExprFlags = CreateExprFlags_None);
|
BfTokenNode* ReadArguments(BfAstNode* parentNode, BfAstNode* afterNode, SizedArrayImpl<BfExpression*>* arguments, SizedArrayImpl<BfTokenNode*>* commas, BfToken endToken, bool allowSkippedArgs = false, CreateExprFlags createExprFlags = CreateExprFlags_None);
|
||||||
void ReadPropertyBlock(BfPropertyDeclaration* propertyDeclaration, BfBlock* block);
|
void ReadPropertyBlock(BfPropertyDeclaration* propertyDeclaration, BfBlock* block);
|
||||||
BfAstNode* ReadTypeMember(BfTokenNode* node, int depth = 0, BfAstNode* deferredHeadNode = NULL);
|
BfAstNode* ReadTypeMember(BfTokenNode* node, bool declStarted = false, int depth = 0, BfAstNode* deferredHeadNode = NULL);
|
||||||
BfAstNode* ReadTypeMember(BfAstNode* node, int depth = 0, BfAstNode* deferredHeadNode = NULL);
|
BfAstNode* ReadTypeMember(BfAstNode* node, bool declStarted = false, int depth = 0, BfAstNode* deferredHeadNode = NULL);
|
||||||
BfIdentifierNode* CompactQualifiedName(BfAstNode* leftNode);
|
BfIdentifierNode* CompactQualifiedName(BfAstNode* leftNode);
|
||||||
void TryIdentifierConvert(int readPos);
|
void TryIdentifierConvert(int readPos);
|
||||||
void CreateQualifiedNames(BfAstNode* node);
|
void CreateQualifiedNames(BfAstNode* node);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue