MCPcopy Create free account
hub / github.com/beefytech/Beef / CreateInlineExpressionFromNode

Method CreateInlineExpressionFromNode

IDEHelper/Compiler/BfParser.cpp:874–890  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

872}
873
874BfExpression* BfParser::CreateInlineExpressionFromNode(BfBlock* block)
875{
876 BfReducer reducer;
877 reducer.mPassInstance = mPassInstance;
878 reducer.mAlloc = mAlloc;
879 reducer.mCompatMode = mCompatMode;
880 reducer.mVisitorPos = BfReducer::BfVisitorPos(block);
881 reducer.mVisitorPos.MoveNext();
882 auto startNode = reducer.mVisitorPos.GetCurrent();
883 if (startNode == NULL)
884 return NULL;
885
886 auto paramExpression = reducer.CreateExpression(startNode);
887 if ((paramExpression != NULL) && (reducer.mVisitorPos.GetNext() != NULL))
888 mPassInstance->Fail("Expression parsing error", reducer.mVisitorPos.GetNext());
889 return paramExpression;
890}
891
892void BfParser::HandlePragma(const StringImpl& pragma, BfBlock* block)
893{

Callers

nothing calls this directly

Calls 6

BfVisitorPosClass · 0.85
GetCurrentMethod · 0.80
CreateExpressionMethod · 0.80
MoveNextMethod · 0.45
GetNextMethod · 0.45
FailMethod · 0.45

Tested by

no test coverage detected