| 872 | } |
| 873 | |
| 874 | BfExpression* 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 | |
| 892 | void BfParser::HandlePragma(const StringImpl& pragma, BfBlock* block) |
| 893 | { |
nothing calls this directly
no test coverage detected