Lines Matching defs:RemainingExpr
66 StringRef RemainingExpr;
68 std::tie(LHSResult, RemainingExpr) =
72 if (RemainingExpr != "")
73 return handleError(Expr, unexpectedToken(RemainingExpr, LHSExpr, ""));
78 std::tie(RHSResult, RemainingExpr) =
82 if (RemainingExpr != "")
83 return handleError(Expr, unexpectedToken(RemainingExpr, RHSExpr, ""));
247 StringRef RemainingExpr = Expr.substr(1).ltrim();
249 std::tie(Symbol, RemainingExpr) = parseSymbol(RemainingExpr);
259 std::tie(BinOp, RemainingExpr) = parseBinOpToken(RemainingExpr);
263 std::tie(Number, RemainingExpr) = evalNumberExpr(RemainingExpr);
271 unexpectedToken(RemainingExpr, RemainingExpr,
276 if (!RemainingExpr.starts_with(","))
278 unexpectedToken(RemainingExpr, RemainingExpr, "expected ','"), "");
279 RemainingExpr = RemainingExpr.substr(1).ltrim();
282 std::tie(OpIdxExpr, RemainingExpr) = evalNumberExpr(RemainingExpr);
286 if (!RemainingExpr.starts_with(")"))
288 unexpectedToken(RemainingExpr, RemainingExpr, "expected ')'"), "");
289 RemainingExpr = RemainingExpr.substr(1).ltrim();
335 return std::make_pair(EvalResult(Op.getImm()), RemainingExpr);
348 StringRef RemainingExpr = Expr.substr(1).ltrim();
350 std::tie(Symbol, RemainingExpr) = parseSymbol(RemainingExpr);
357 if (!RemainingExpr.starts_with(")"))
359 unexpectedToken(RemainingExpr, RemainingExpr, "expected ')'"), "");
360 RemainingExpr = RemainingExpr.substr(1).ltrim();
380 return std::make_pair(EvalResult(NextPC), RemainingExpr);
392 StringRef RemainingExpr = Expr.substr(1).ltrim();
397 size_t ComaIdx = RemainingExpr.find(',');
398 StubContainerName = RemainingExpr.substr(0, ComaIdx).rtrim();
399 RemainingExpr = RemainingExpr.substr(ComaIdx).ltrim();
401 if (!RemainingExpr.starts_with(","))
403 unexpectedToken(RemainingExpr, Expr, "expected ','"), "");
404 RemainingExpr = RemainingExpr.substr(1).ltrim();
407 std::tie(Symbol, RemainingExpr) = parseSymbol(RemainingExpr);
411 if (RemainingExpr.starts_with(",")) {
412 RemainingExpr = RemainingExpr.substr(1).ltrim();
413 size_t ClosingBracket = RemainingExpr.find(")");
414 KindNameFilter = RemainingExpr.substr(0, ClosingBracket);
415 RemainingExpr = RemainingExpr.substr(ClosingBracket);
418 if (!RemainingExpr.starts_with(")"))
420 unexpectedToken(RemainingExpr, Expr, "expected ')'"), "");
421 RemainingExpr = RemainingExpr.substr(1).ltrim();
432 return std::make_pair(EvalResult(StubAddr), RemainingExpr);
439 StringRef RemainingExpr = Expr.substr(1).ltrim();
444 size_t ComaIdx = RemainingExpr.find(',');
445 FileName = RemainingExpr.substr(0, ComaIdx).rtrim();
446 RemainingExpr = RemainingExpr.substr(ComaIdx).ltrim();
448 if (!RemainingExpr.starts_with(","))
450 unexpectedToken(RemainingExpr, Expr, "expected ','"), "");
451 RemainingExpr = RemainingExpr.substr(1).ltrim();
454 size_t CloseParensIdx = RemainingExpr.find(')');
455 SectionName = RemainingExpr.substr(0, CloseParensIdx).rtrim();
456 RemainingExpr = RemainingExpr.substr(CloseParensIdx).ltrim();
458 if (!RemainingExpr.starts_with(")"))
460 unexpectedToken(RemainingExpr, Expr, "expected ')'"), "");
461 RemainingExpr = RemainingExpr.substr(1).ltrim();
471 return std::make_pair(EvalResult(StubAddr), RemainingExpr);
480 StringRef RemainingExpr;
481 std::tie(Symbol, RemainingExpr) = parseSymbol(Expr);
485 return evalDecodeOperand(RemainingExpr);
487 return evalNextPC(RemainingExpr, PCtx);
489 return evalStubOrGOTAddr(RemainingExpr, PCtx, true);
491 return evalStubOrGOTAddr(RemainingExpr, PCtx, false);
493 return evalSectionAddr(RemainingExpr, PCtx);
513 return std::make_pair(EvalResult(Value), RemainingExpr);
538 StringRef RemainingExpr;
539 std::tie(ValueStr, RemainingExpr) = parseNumberString(Expr);
543 unexpectedToken(RemainingExpr, RemainingExpr, "expected number"), "");
546 return std::make_pair(EvalResult(Value), RemainingExpr);
556 StringRef RemainingExpr;
557 std::tie(SubExprResult, RemainingExpr) =
561 if (!RemainingExpr.starts_with(")"))
563 unexpectedToken(RemainingExpr, Expr, "expected ')'"), "");
564 RemainingExpr = RemainingExpr.substr(1).ltrim();
565 return std::make_pair(SubExprResult, RemainingExpr);
574 StringRef RemainingExpr = Expr.substr(1).ltrim();
577 if (!RemainingExpr.starts_with("{"))
579 RemainingExpr = RemainingExpr.substr(1).ltrim();
581 std::tie(ReadSizeExpr, RemainingExpr) = evalNumberExpr(RemainingExpr);
583 return std::make_pair(ReadSizeExpr, RemainingExpr);
587 if (!RemainingExpr.starts_with("}"))
589 RemainingExpr = RemainingExpr.substr(1).ltrim();
594 std::tie(LoadAddrExprResult, RemainingExpr) =
595 evalComplexExpr(evalSimpleExpr(RemainingExpr, LoadCtx), LoadCtx);
605 return std::make_pair(0, RemainingExpr);
609 RemainingExpr);
622 StringRef RemainingExpr;
628 std::tie(SubExprResult, RemainingExpr) = evalParensExpr(Expr, PCtx);
630 std::tie(SubExprResult, RemainingExpr) = evalLoadExpr(Expr);
632 std::tie(SubExprResult, RemainingExpr) = evalIdentifierExpr(Expr, PCtx);
634 std::tie(SubExprResult, RemainingExpr) = evalNumberExpr(Expr);
641 return std::make_pair(SubExprResult, RemainingExpr);
644 if (RemainingExpr.starts_with("["))
645 std::tie(SubExprResult, RemainingExpr) =
646 evalSliceExpr(std::make_pair(SubExprResult, RemainingExpr));
648 return std::make_pair(SubExprResult, RemainingExpr);
661 StringRef RemainingExpr;
662 std::tie(SubExprResult, RemainingExpr) = Ctx;
664 assert(RemainingExpr.starts_with("[") && "Not a slice expr.");
665 RemainingExpr = RemainingExpr.substr(1).ltrim();
668 std::tie(HighBitExpr, RemainingExpr) = evalNumberExpr(RemainingExpr);
671 return std::make_pair(HighBitExpr, RemainingExpr);
673 if (!RemainingExpr.starts_with(":"))
675 unexpectedToken(RemainingExpr, RemainingExpr, "expected ':'"), "");
676 RemainingExpr = RemainingExpr.substr(1).ltrim();
679 std::tie(LowBitExpr, RemainingExpr) = evalNumberExpr(RemainingExpr);
682 return std::make_pair(LowBitExpr, RemainingExpr);
684 if (!RemainingExpr.starts_with("]"))
686 unexpectedToken(RemainingExpr, RemainingExpr, "expected ']'"), "");
687 RemainingExpr = RemainingExpr.substr(1).ltrim();
693 return std::make_pair(EvalResult(SlicedValue), RemainingExpr);
706 StringRef RemainingExpr;
707 std::tie(LHSResult, RemainingExpr) = LHSAndRemaining;
711 if (LHSResult.hasError() || RemainingExpr == "")
712 return std::make_pair(LHSResult, RemainingExpr);
716 std::tie(BinOp, RemainingExpr) = parseBinOpToken(RemainingExpr);
720 return std::make_pair(LHSResult, RemainingExpr);
724 std::tie(RHSResult, RemainingExpr) = evalSimpleExpr(RemainingExpr, PCtx);
728 return std::make_pair(RHSResult, RemainingExpr);
734 return evalComplexExpr(std::make_pair(ThisResult, RemainingExpr), PCtx);