Lines Matching refs:RemainingExpr
66 StringRef RemainingExpr; in evaluate() local
68 std::tie(LHSResult, RemainingExpr) = in evaluate()
72 if (RemainingExpr != "") in evaluate()
73 return handleError(Expr, unexpectedToken(RemainingExpr, LHSExpr, "")); in evaluate()
78 std::tie(RHSResult, RemainingExpr) = in evaluate()
82 if (RemainingExpr != "") in evaluate()
83 return handleError(Expr, unexpectedToken(RemainingExpr, RHSExpr, "")); in evaluate()
247 StringRef RemainingExpr = Expr.substr(1).ltrim(); in evalDecodeOperand() local
249 std::tie(Symbol, RemainingExpr) = parseSymbol(RemainingExpr); in evalDecodeOperand()
259 std::tie(BinOp, RemainingExpr) = parseBinOpToken(RemainingExpr); in evalDecodeOperand()
263 std::tie(Number, RemainingExpr) = evalNumberExpr(RemainingExpr); in evalDecodeOperand()
271 unexpectedToken(RemainingExpr, RemainingExpr, in evalDecodeOperand()
276 if (!RemainingExpr.starts_with(",")) in evalDecodeOperand()
278 unexpectedToken(RemainingExpr, RemainingExpr, "expected ','"), ""); in evalDecodeOperand()
279 RemainingExpr = RemainingExpr.substr(1).ltrim(); in evalDecodeOperand()
282 std::tie(OpIdxExpr, RemainingExpr) = evalNumberExpr(RemainingExpr); in evalDecodeOperand()
286 if (!RemainingExpr.starts_with(")")) in evalDecodeOperand()
288 unexpectedToken(RemainingExpr, RemainingExpr, "expected ')'"), ""); in evalDecodeOperand()
289 RemainingExpr = RemainingExpr.substr(1).ltrim(); in evalDecodeOperand()
335 return std::make_pair(EvalResult(Op.getImm()), RemainingExpr); in evalDecodeOperand()
348 StringRef RemainingExpr = Expr.substr(1).ltrim(); in evalNextPC() local
350 std::tie(Symbol, RemainingExpr) = parseSymbol(RemainingExpr); in evalNextPC()
357 if (!RemainingExpr.starts_with(")")) in evalNextPC()
359 unexpectedToken(RemainingExpr, RemainingExpr, "expected ')'"), ""); in evalNextPC()
360 RemainingExpr = RemainingExpr.substr(1).ltrim(); in evalNextPC()
374 return std::make_pair(EvalResult(NextPC), RemainingExpr); in evalNextPC()
386 StringRef RemainingExpr = Expr.substr(1).ltrim(); in evalStubOrGOTAddr() local
391 size_t ComaIdx = RemainingExpr.find(','); in evalStubOrGOTAddr()
392 StubContainerName = RemainingExpr.substr(0, ComaIdx).rtrim(); in evalStubOrGOTAddr()
393 RemainingExpr = RemainingExpr.substr(ComaIdx).ltrim(); in evalStubOrGOTAddr()
395 if (!RemainingExpr.starts_with(",")) in evalStubOrGOTAddr()
397 unexpectedToken(RemainingExpr, Expr, "expected ','"), ""); in evalStubOrGOTAddr()
398 RemainingExpr = RemainingExpr.substr(1).ltrim(); in evalStubOrGOTAddr()
401 std::tie(Symbol, RemainingExpr) = parseSymbol(RemainingExpr); in evalStubOrGOTAddr()
405 if (RemainingExpr.starts_with(",")) { in evalStubOrGOTAddr()
406 RemainingExpr = RemainingExpr.substr(1).ltrim(); in evalStubOrGOTAddr()
407 size_t ClosingBracket = RemainingExpr.find(")"); in evalStubOrGOTAddr()
408 KindNameFilter = RemainingExpr.substr(0, ClosingBracket); in evalStubOrGOTAddr()
409 RemainingExpr = RemainingExpr.substr(ClosingBracket); in evalStubOrGOTAddr()
412 if (!RemainingExpr.starts_with(")")) in evalStubOrGOTAddr()
414 unexpectedToken(RemainingExpr, Expr, "expected ')'"), ""); in evalStubOrGOTAddr()
415 RemainingExpr = RemainingExpr.substr(1).ltrim(); in evalStubOrGOTAddr()
426 return std::make_pair(EvalResult(StubAddr), RemainingExpr); in evalStubOrGOTAddr()
433 StringRef RemainingExpr = Expr.substr(1).ltrim(); in evalSectionAddr() local
438 size_t ComaIdx = RemainingExpr.find(','); in evalSectionAddr()
439 FileName = RemainingExpr.substr(0, ComaIdx).rtrim(); in evalSectionAddr()
440 RemainingExpr = RemainingExpr.substr(ComaIdx).ltrim(); in evalSectionAddr()
442 if (!RemainingExpr.starts_with(",")) in evalSectionAddr()
444 unexpectedToken(RemainingExpr, Expr, "expected ','"), ""); in evalSectionAddr()
445 RemainingExpr = RemainingExpr.substr(1).ltrim(); in evalSectionAddr()
448 size_t CloseParensIdx = RemainingExpr.find(')'); in evalSectionAddr()
449 SectionName = RemainingExpr.substr(0, CloseParensIdx).rtrim(); in evalSectionAddr()
450 RemainingExpr = RemainingExpr.substr(CloseParensIdx).ltrim(); in evalSectionAddr()
452 if (!RemainingExpr.starts_with(")")) in evalSectionAddr()
454 unexpectedToken(RemainingExpr, Expr, "expected ')'"), ""); in evalSectionAddr()
455 RemainingExpr = RemainingExpr.substr(1).ltrim(); in evalSectionAddr()
465 return std::make_pair(EvalResult(StubAddr), RemainingExpr); in evalSectionAddr()
474 StringRef RemainingExpr; in evalIdentifierExpr() local
475 std::tie(Symbol, RemainingExpr) = parseSymbol(Expr); in evalIdentifierExpr()
479 return evalDecodeOperand(RemainingExpr); in evalIdentifierExpr()
481 return evalNextPC(RemainingExpr, PCtx); in evalIdentifierExpr()
483 return evalStubOrGOTAddr(RemainingExpr, PCtx, true); in evalIdentifierExpr()
485 return evalStubOrGOTAddr(RemainingExpr, PCtx, false); in evalIdentifierExpr()
487 return evalSectionAddr(RemainingExpr, PCtx); in evalIdentifierExpr()
507 return std::make_pair(EvalResult(Value), RemainingExpr); in evalIdentifierExpr()
532 StringRef RemainingExpr; in evalNumberExpr() local
533 std::tie(ValueStr, RemainingExpr) = parseNumberString(Expr); in evalNumberExpr()
537 unexpectedToken(RemainingExpr, RemainingExpr, "expected number"), ""); in evalNumberExpr()
540 return std::make_pair(EvalResult(Value), RemainingExpr); in evalNumberExpr()
550 StringRef RemainingExpr; in evalParensExpr() local
551 std::tie(SubExprResult, RemainingExpr) = in evalParensExpr()
555 if (!RemainingExpr.starts_with(")")) in evalParensExpr()
557 unexpectedToken(RemainingExpr, Expr, "expected ')'"), ""); in evalParensExpr()
558 RemainingExpr = RemainingExpr.substr(1).ltrim(); in evalParensExpr()
559 return std::make_pair(SubExprResult, RemainingExpr); in evalParensExpr()
568 StringRef RemainingExpr = Expr.substr(1).ltrim(); in evalLoadExpr() local
571 if (!RemainingExpr.starts_with("{")) in evalLoadExpr()
573 RemainingExpr = RemainingExpr.substr(1).ltrim(); in evalLoadExpr()
575 std::tie(ReadSizeExpr, RemainingExpr) = evalNumberExpr(RemainingExpr); in evalLoadExpr()
577 return std::make_pair(ReadSizeExpr, RemainingExpr); in evalLoadExpr()
581 if (!RemainingExpr.starts_with("}")) in evalLoadExpr()
583 RemainingExpr = RemainingExpr.substr(1).ltrim(); in evalLoadExpr()
588 std::tie(LoadAddrExprResult, RemainingExpr) = in evalLoadExpr()
589 evalComplexExpr(evalSimpleExpr(RemainingExpr, LoadCtx), LoadCtx); in evalLoadExpr()
599 return std::make_pair(0, RemainingExpr); in evalLoadExpr()
603 RemainingExpr); in evalLoadExpr()
616 StringRef RemainingExpr; in evalSimpleExpr() local
622 std::tie(SubExprResult, RemainingExpr) = evalParensExpr(Expr, PCtx); in evalSimpleExpr()
624 std::tie(SubExprResult, RemainingExpr) = evalLoadExpr(Expr); in evalSimpleExpr()
626 std::tie(SubExprResult, RemainingExpr) = evalIdentifierExpr(Expr, PCtx); in evalSimpleExpr()
628 std::tie(SubExprResult, RemainingExpr) = evalNumberExpr(Expr); in evalSimpleExpr()
635 return std::make_pair(SubExprResult, RemainingExpr); in evalSimpleExpr()
638 if (RemainingExpr.starts_with("[")) in evalSimpleExpr()
639 std::tie(SubExprResult, RemainingExpr) = in evalSimpleExpr()
640 evalSliceExpr(std::make_pair(SubExprResult, RemainingExpr)); in evalSimpleExpr()
642 return std::make_pair(SubExprResult, RemainingExpr); in evalSimpleExpr()
655 StringRef RemainingExpr; in evalSliceExpr() local
656 std::tie(SubExprResult, RemainingExpr) = Ctx; in evalSliceExpr()
658 assert(RemainingExpr.starts_with("[") && "Not a slice expr."); in evalSliceExpr()
659 RemainingExpr = RemainingExpr.substr(1).ltrim(); in evalSliceExpr()
662 std::tie(HighBitExpr, RemainingExpr) = evalNumberExpr(RemainingExpr); in evalSliceExpr()
665 return std::make_pair(HighBitExpr, RemainingExpr); in evalSliceExpr()
667 if (!RemainingExpr.starts_with(":")) in evalSliceExpr()
669 unexpectedToken(RemainingExpr, RemainingExpr, "expected ':'"), ""); in evalSliceExpr()
670 RemainingExpr = RemainingExpr.substr(1).ltrim(); in evalSliceExpr()
673 std::tie(LowBitExpr, RemainingExpr) = evalNumberExpr(RemainingExpr); in evalSliceExpr()
676 return std::make_pair(LowBitExpr, RemainingExpr); in evalSliceExpr()
678 if (!RemainingExpr.starts_with("]")) in evalSliceExpr()
680 unexpectedToken(RemainingExpr, RemainingExpr, "expected ']'"), ""); in evalSliceExpr()
681 RemainingExpr = RemainingExpr.substr(1).ltrim(); in evalSliceExpr()
687 return std::make_pair(EvalResult(SlicedValue), RemainingExpr); in evalSliceExpr()
700 StringRef RemainingExpr; in evalComplexExpr() local
701 std::tie(LHSResult, RemainingExpr) = LHSAndRemaining; in evalComplexExpr()
705 if (LHSResult.hasError() || RemainingExpr == "") in evalComplexExpr()
706 return std::make_pair(LHSResult, RemainingExpr); in evalComplexExpr()
710 std::tie(BinOp, RemainingExpr) = parseBinOpToken(RemainingExpr); in evalComplexExpr()
714 return std::make_pair(LHSResult, RemainingExpr); in evalComplexExpr()
718 std::tie(RHSResult, RemainingExpr) = evalSimpleExpr(RemainingExpr, PCtx); in evalComplexExpr()
722 return std::make_pair(RHSResult, RemainingExpr); in evalComplexExpr()
728 return evalComplexExpr(std::make_pair(ThisResult, RemainingExpr), PCtx); in evalComplexExpr()