Lines Matching refs:RemainingExpr
45 StringRef RemainingExpr; in evaluate() local
47 std::tie(LHSResult, RemainingExpr) = in evaluate()
51 if (RemainingExpr != "") in evaluate()
52 return handleError(Expr, unexpectedToken(RemainingExpr, LHSExpr, "")); in evaluate()
57 std::tie(RHSResult, RemainingExpr) = in evaluate()
61 if (RemainingExpr != "") in evaluate()
62 return handleError(Expr, unexpectedToken(RemainingExpr, RHSExpr, "")); in evaluate()
226 StringRef RemainingExpr = Expr.substr(1).ltrim(); in evalDecodeOperand() local
228 std::tie(Symbol, RemainingExpr) = parseSymbol(RemainingExpr); in evalDecodeOperand()
235 if (!RemainingExpr.startswith(",")) in evalDecodeOperand()
237 unexpectedToken(RemainingExpr, RemainingExpr, "expected ','"), ""); in evalDecodeOperand()
238 RemainingExpr = RemainingExpr.substr(1).ltrim(); in evalDecodeOperand()
241 std::tie(OpIdxExpr, RemainingExpr) = evalNumberExpr(RemainingExpr); in evalDecodeOperand()
245 if (!RemainingExpr.startswith(")")) in evalDecodeOperand()
247 unexpectedToken(RemainingExpr, RemainingExpr, "expected ')'"), ""); in evalDecodeOperand()
248 RemainingExpr = RemainingExpr.substr(1).ltrim(); in evalDecodeOperand()
281 return std::make_pair(EvalResult(Op.getImm()), RemainingExpr); in evalDecodeOperand()
294 StringRef RemainingExpr = Expr.substr(1).ltrim(); in evalNextPC() local
296 std::tie(Symbol, RemainingExpr) = parseSymbol(RemainingExpr); in evalNextPC()
303 if (!RemainingExpr.startswith(")")) in evalNextPC()
305 unexpectedToken(RemainingExpr, RemainingExpr, "expected ')'"), ""); in evalNextPC()
306 RemainingExpr = RemainingExpr.substr(1).ltrim(); in evalNextPC()
320 return std::make_pair(EvalResult(NextPC), RemainingExpr); in evalNextPC()
332 StringRef RemainingExpr = Expr.substr(1).ltrim(); in evalStubOrGOTAddr() local
337 size_t ComaIdx = RemainingExpr.find(','); in evalStubOrGOTAddr()
338 StubContainerName = RemainingExpr.substr(0, ComaIdx).rtrim(); in evalStubOrGOTAddr()
339 RemainingExpr = RemainingExpr.substr(ComaIdx).ltrim(); in evalStubOrGOTAddr()
341 if (!RemainingExpr.startswith(",")) in evalStubOrGOTAddr()
343 unexpectedToken(RemainingExpr, Expr, "expected ','"), ""); in evalStubOrGOTAddr()
344 RemainingExpr = RemainingExpr.substr(1).ltrim(); in evalStubOrGOTAddr()
347 std::tie(Symbol, RemainingExpr) = parseSymbol(RemainingExpr); in evalStubOrGOTAddr()
349 if (!RemainingExpr.startswith(")")) in evalStubOrGOTAddr()
351 unexpectedToken(RemainingExpr, Expr, "expected ')'"), ""); in evalStubOrGOTAddr()
352 RemainingExpr = RemainingExpr.substr(1).ltrim(); in evalStubOrGOTAddr()
362 return std::make_pair(EvalResult(StubAddr), RemainingExpr); in evalStubOrGOTAddr()
369 StringRef RemainingExpr = Expr.substr(1).ltrim(); in evalSectionAddr() local
374 size_t ComaIdx = RemainingExpr.find(','); in evalSectionAddr()
375 FileName = RemainingExpr.substr(0, ComaIdx).rtrim(); in evalSectionAddr()
376 RemainingExpr = RemainingExpr.substr(ComaIdx).ltrim(); in evalSectionAddr()
378 if (!RemainingExpr.startswith(",")) in evalSectionAddr()
380 unexpectedToken(RemainingExpr, Expr, "expected ','"), ""); in evalSectionAddr()
381 RemainingExpr = RemainingExpr.substr(1).ltrim(); in evalSectionAddr()
384 size_t CloseParensIdx = RemainingExpr.find(')'); in evalSectionAddr()
385 SectionName = RemainingExpr.substr(0, CloseParensIdx).rtrim(); in evalSectionAddr()
386 RemainingExpr = RemainingExpr.substr(CloseParensIdx).ltrim(); in evalSectionAddr()
388 if (!RemainingExpr.startswith(")")) in evalSectionAddr()
390 unexpectedToken(RemainingExpr, Expr, "expected ')'"), ""); in evalSectionAddr()
391 RemainingExpr = RemainingExpr.substr(1).ltrim(); in evalSectionAddr()
401 return std::make_pair(EvalResult(StubAddr), RemainingExpr); in evalSectionAddr()
410 StringRef RemainingExpr; in evalIdentifierExpr() local
411 std::tie(Symbol, RemainingExpr) = parseSymbol(Expr); in evalIdentifierExpr()
415 return evalDecodeOperand(RemainingExpr); in evalIdentifierExpr()
417 return evalNextPC(RemainingExpr, PCtx); in evalIdentifierExpr()
419 return evalStubOrGOTAddr(RemainingExpr, PCtx, true); in evalIdentifierExpr()
421 return evalStubOrGOTAddr(RemainingExpr, PCtx, false); in evalIdentifierExpr()
423 return evalSectionAddr(RemainingExpr, PCtx); in evalIdentifierExpr()
443 return std::make_pair(EvalResult(Value), RemainingExpr); in evalIdentifierExpr()
468 StringRef RemainingExpr; in evalNumberExpr() local
469 std::tie(ValueStr, RemainingExpr) = parseNumberString(Expr); in evalNumberExpr()
473 unexpectedToken(RemainingExpr, RemainingExpr, "expected number"), ""); in evalNumberExpr()
476 return std::make_pair(EvalResult(Value), RemainingExpr); in evalNumberExpr()
486 StringRef RemainingExpr; in evalParensExpr() local
487 std::tie(SubExprResult, RemainingExpr) = in evalParensExpr()
491 if (!RemainingExpr.startswith(")")) in evalParensExpr()
493 unexpectedToken(RemainingExpr, Expr, "expected ')'"), ""); in evalParensExpr()
494 RemainingExpr = RemainingExpr.substr(1).ltrim(); in evalParensExpr()
495 return std::make_pair(SubExprResult, RemainingExpr); in evalParensExpr()
504 StringRef RemainingExpr = Expr.substr(1).ltrim(); in evalLoadExpr() local
507 if (!RemainingExpr.startswith("{")) in evalLoadExpr()
509 RemainingExpr = RemainingExpr.substr(1).ltrim(); in evalLoadExpr()
511 std::tie(ReadSizeExpr, RemainingExpr) = evalNumberExpr(RemainingExpr); in evalLoadExpr()
513 return std::make_pair(ReadSizeExpr, RemainingExpr); in evalLoadExpr()
517 if (!RemainingExpr.startswith("}")) in evalLoadExpr()
519 RemainingExpr = RemainingExpr.substr(1).ltrim(); in evalLoadExpr()
524 std::tie(LoadAddrExprResult, RemainingExpr) = in evalLoadExpr()
525 evalComplexExpr(evalSimpleExpr(RemainingExpr, LoadCtx), LoadCtx); in evalLoadExpr()
535 return std::make_pair(0, RemainingExpr); in evalLoadExpr()
539 RemainingExpr); in evalLoadExpr()
552 StringRef RemainingExpr; in evalSimpleExpr() local
558 std::tie(SubExprResult, RemainingExpr) = evalParensExpr(Expr, PCtx); in evalSimpleExpr()
560 std::tie(SubExprResult, RemainingExpr) = evalLoadExpr(Expr); in evalSimpleExpr()
562 std::tie(SubExprResult, RemainingExpr) = evalIdentifierExpr(Expr, PCtx); in evalSimpleExpr()
564 std::tie(SubExprResult, RemainingExpr) = evalNumberExpr(Expr); in evalSimpleExpr()
571 return std::make_pair(SubExprResult, RemainingExpr); in evalSimpleExpr()
574 if (RemainingExpr.startswith("[")) in evalSimpleExpr()
575 std::tie(SubExprResult, RemainingExpr) = in evalSimpleExpr()
576 evalSliceExpr(std::make_pair(SubExprResult, RemainingExpr)); in evalSimpleExpr()
578 return std::make_pair(SubExprResult, RemainingExpr); in evalSimpleExpr()
591 StringRef RemainingExpr; in evalSliceExpr() local
592 std::tie(SubExprResult, RemainingExpr) = Ctx; in evalSliceExpr()
594 assert(RemainingExpr.startswith("[") && "Not a slice expr."); in evalSliceExpr()
595 RemainingExpr = RemainingExpr.substr(1).ltrim(); in evalSliceExpr()
598 std::tie(HighBitExpr, RemainingExpr) = evalNumberExpr(RemainingExpr); in evalSliceExpr()
601 return std::make_pair(HighBitExpr, RemainingExpr); in evalSliceExpr()
603 if (!RemainingExpr.startswith(":")) in evalSliceExpr()
605 unexpectedToken(RemainingExpr, RemainingExpr, "expected ':'"), ""); in evalSliceExpr()
606 RemainingExpr = RemainingExpr.substr(1).ltrim(); in evalSliceExpr()
609 std::tie(LowBitExpr, RemainingExpr) = evalNumberExpr(RemainingExpr); in evalSliceExpr()
612 return std::make_pair(LowBitExpr, RemainingExpr); in evalSliceExpr()
614 if (!RemainingExpr.startswith("]")) in evalSliceExpr()
616 unexpectedToken(RemainingExpr, RemainingExpr, "expected ']'"), ""); in evalSliceExpr()
617 RemainingExpr = RemainingExpr.substr(1).ltrim(); in evalSliceExpr()
623 return std::make_pair(EvalResult(SlicedValue), RemainingExpr); in evalSliceExpr()
636 StringRef RemainingExpr; in evalComplexExpr() local
637 std::tie(LHSResult, RemainingExpr) = LHSAndRemaining; in evalComplexExpr()
641 if (LHSResult.hasError() || RemainingExpr == "") in evalComplexExpr()
642 return std::make_pair(LHSResult, RemainingExpr); in evalComplexExpr()
646 std::tie(BinOp, RemainingExpr) = parseBinOpToken(RemainingExpr); in evalComplexExpr()
650 return std::make_pair(LHSResult, RemainingExpr); in evalComplexExpr()
654 std::tie(RHSResult, RemainingExpr) = evalSimpleExpr(RemainingExpr, PCtx); in evalComplexExpr()
658 return std::make_pair(RHSResult, RemainingExpr); in evalComplexExpr()
664 return evalComplexExpr(std::make_pair(ThisResult, RemainingExpr), PCtx); in evalComplexExpr()