Lines Matching defs:RemainingExpr
63 StringRef RemainingExpr;
65 std::tie(LHSResult, RemainingExpr) =
69 if (RemainingExpr != "")
70 return handleError(Expr, unexpectedToken(RemainingExpr, LHSExpr, ""));
75 std::tie(RHSResult, RemainingExpr) =
79 if (RemainingExpr != "")
80 return handleError(Expr, unexpectedToken(RemainingExpr, RHSExpr, ""));
244 StringRef RemainingExpr = Expr.substr(1).ltrim();
246 std::tie(Symbol, RemainingExpr) = parseSymbol(RemainingExpr);
256 std::tie(BinOp, RemainingExpr) = parseBinOpToken(RemainingExpr);
260 std::tie(Number, RemainingExpr) = evalNumberExpr(RemainingExpr);
268 unexpectedToken(RemainingExpr, RemainingExpr,
273 if (!RemainingExpr.starts_with(","))
275 unexpectedToken(RemainingExpr, RemainingExpr, "expected ','"), "");
276 RemainingExpr = RemainingExpr.substr(1).ltrim();
279 std::tie(OpIdxExpr, RemainingExpr) = evalNumberExpr(RemainingExpr);
283 if (!RemainingExpr.starts_with(")"))
285 unexpectedToken(RemainingExpr, RemainingExpr, "expected ')'"), "");
286 RemainingExpr = RemainingExpr.substr(1).ltrim();
334 return std::make_pair(EvalResult(Op.getImm()), RemainingExpr);
347 StringRef RemainingExpr = Expr.substr(1).ltrim();
349 std::tie(Symbol, RemainingExpr) = parseSymbol(RemainingExpr);
356 if (!RemainingExpr.starts_with(")"))
358 unexpectedToken(RemainingExpr, RemainingExpr, "expected ')'"), "");
359 RemainingExpr = RemainingExpr.substr(1).ltrim();
379 return std::make_pair(EvalResult(NextPC), RemainingExpr);
391 StringRef RemainingExpr = Expr.substr(1).ltrim();
396 size_t ComaIdx = RemainingExpr.find(',');
397 StubContainerName = RemainingExpr.substr(0, ComaIdx).rtrim();
398 RemainingExpr = RemainingExpr.substr(ComaIdx).ltrim();
400 if (!RemainingExpr.starts_with(","))
402 unexpectedToken(RemainingExpr, Expr, "expected ','"), "");
403 RemainingExpr = RemainingExpr.substr(1).ltrim();
406 std::tie(Symbol, RemainingExpr) = parseSymbol(RemainingExpr);
410 if (RemainingExpr.starts_with(",")) {
411 RemainingExpr = RemainingExpr.substr(1).ltrim();
412 size_t ClosingBracket = RemainingExpr.find(")");
413 KindNameFilter = RemainingExpr.substr(0, ClosingBracket);
414 RemainingExpr = RemainingExpr.substr(ClosingBracket);
417 if (!RemainingExpr.starts_with(")"))
419 unexpectedToken(RemainingExpr, Expr, "expected ')'"), "");
420 RemainingExpr = RemainingExpr.substr(1).ltrim();
431 return std::make_pair(EvalResult(StubAddr), RemainingExpr);
438 StringRef RemainingExpr = Expr.substr(1).ltrim();
443 size_t ComaIdx = RemainingExpr.find(',');
444 FileName = RemainingExpr.substr(0, ComaIdx).rtrim();
445 RemainingExpr = RemainingExpr.substr(ComaIdx).ltrim();
447 if (!RemainingExpr.starts_with(","))
449 unexpectedToken(RemainingExpr, Expr, "expected ','"), "");
450 RemainingExpr = RemainingExpr.substr(1).ltrim();
453 size_t CloseParensIdx = RemainingExpr.find(')');
454 SectionName = RemainingExpr.substr(0, CloseParensIdx).rtrim();
455 RemainingExpr = RemainingExpr.substr(CloseParensIdx).ltrim();
457 if (!RemainingExpr.starts_with(")"))
459 unexpectedToken(RemainingExpr, Expr, "expected ')'"), "");
460 RemainingExpr = RemainingExpr.substr(1).ltrim();
470 return std::make_pair(EvalResult(StubAddr), RemainingExpr);
479 StringRef RemainingExpr;
480 std::tie(Symbol, RemainingExpr) = parseSymbol(Expr);
484 return evalDecodeOperand(RemainingExpr);
486 return evalNextPC(RemainingExpr, PCtx);
488 return evalStubOrGOTAddr(RemainingExpr, PCtx, true);
490 return evalStubOrGOTAddr(RemainingExpr, PCtx, false);
492 return evalSectionAddr(RemainingExpr, PCtx);
512 return std::make_pair(EvalResult(Value), RemainingExpr);
537 StringRef RemainingExpr;
538 std::tie(ValueStr, RemainingExpr) = parseNumberString(Expr);
542 unexpectedToken(RemainingExpr, RemainingExpr, "expected number"), "");
545 return std::make_pair(EvalResult(Value), RemainingExpr);
555 StringRef RemainingExpr;
556 std::tie(SubExprResult, RemainingExpr) =
560 if (!RemainingExpr.starts_with(")"))
562 unexpectedToken(RemainingExpr, Expr, "expected ')'"), "");
563 RemainingExpr = RemainingExpr.substr(1).ltrim();
564 return std::make_pair(SubExprResult, RemainingExpr);
573 StringRef RemainingExpr = Expr.substr(1).ltrim();
576 if (!RemainingExpr.starts_with("{"))
578 RemainingExpr = RemainingExpr.substr(1).ltrim();
580 std::tie(ReadSizeExpr, RemainingExpr) = evalNumberExpr(RemainingExpr);
582 return std::make_pair(ReadSizeExpr, RemainingExpr);
586 if (!RemainingExpr.starts_with("}"))
588 RemainingExpr = RemainingExpr.substr(1).ltrim();
593 std::tie(LoadAddrExprResult, RemainingExpr) =
594 evalComplexExpr(evalSimpleExpr(RemainingExpr, LoadCtx), LoadCtx);
604 return std::make_pair(0, RemainingExpr);
608 RemainingExpr);
621 StringRef RemainingExpr;
627 std::tie(SubExprResult, RemainingExpr) = evalParensExpr(Expr, PCtx);
629 std::tie(SubExprResult, RemainingExpr) = evalLoadExpr(Expr);
631 std::tie(SubExprResult, RemainingExpr) = evalIdentifierExpr(Expr, PCtx);
633 std::tie(SubExprResult, RemainingExpr) = evalNumberExpr(Expr);
640 return std::make_pair(SubExprResult, RemainingExpr);
643 if (RemainingExpr.starts_with("["))
644 std::tie(SubExprResult, RemainingExpr) =
645 evalSliceExpr(std::make_pair(SubExprResult, RemainingExpr));
647 return std::make_pair(SubExprResult, RemainingExpr);
660 StringRef RemainingExpr;
661 std::tie(SubExprResult, RemainingExpr) = Ctx;
663 assert(RemainingExpr.starts_with("[") && "Not a slice expr.");
664 RemainingExpr = RemainingExpr.substr(1).ltrim();
667 std::tie(HighBitExpr, RemainingExpr) = evalNumberExpr(RemainingExpr);
670 return std::make_pair(HighBitExpr, RemainingExpr);
672 if (!RemainingExpr.starts_with(":"))
674 unexpectedToken(RemainingExpr, RemainingExpr, "expected ':'"), "");
675 RemainingExpr = RemainingExpr.substr(1).ltrim();
678 std::tie(LowBitExpr, RemainingExpr) = evalNumberExpr(RemainingExpr);
681 return std::make_pair(LowBitExpr, RemainingExpr);
683 if (!RemainingExpr.starts_with("]"))
685 unexpectedToken(RemainingExpr, RemainingExpr, "expected ']'"), "");
686 RemainingExpr = RemainingExpr.substr(1).ltrim();
692 return std::make_pair(EvalResult(SlicedValue), RemainingExpr);
705 StringRef RemainingExpr;
706 std::tie(LHSResult, RemainingExpr) = LHSAndRemaining;
710 if (LHSResult.hasError() || RemainingExpr == "")
711 return std::make_pair(LHSResult, RemainingExpr);
715 std::tie(BinOp, RemainingExpr) = parseBinOpToken(RemainingExpr);
719 return std::make_pair(LHSResult, RemainingExpr);
723 std::tie(RHSResult, RemainingExpr) = evalSimpleExpr(RemainingExpr, PCtx);
727 return std::make_pair(RHSResult, RemainingExpr);
733 return evalComplexExpr(std::make_pair(ThisResult, RemainingExpr), PCtx);