Lines Matching refs:RemainingExpr
46 StringRef RemainingExpr; in evaluate() local
48 std::tie(LHSResult, RemainingExpr) = in evaluate()
52 if (RemainingExpr != "") in evaluate()
53 return handleError(Expr, unexpectedToken(RemainingExpr, LHSExpr, "")); in evaluate()
58 std::tie(RHSResult, RemainingExpr) = in evaluate()
62 if (RemainingExpr != "") in evaluate()
63 return handleError(Expr, unexpectedToken(RemainingExpr, RHSExpr, "")); in evaluate()
227 StringRef RemainingExpr = Expr.substr(1).ltrim(); in evalDecodeOperand() local
229 std::tie(Symbol, RemainingExpr) = parseSymbol(RemainingExpr); in evalDecodeOperand()
239 std::tie(BinOp, RemainingExpr) = parseBinOpToken(RemainingExpr); in evalDecodeOperand()
243 std::tie(Number, RemainingExpr) = evalNumberExpr(RemainingExpr); in evalDecodeOperand()
251 unexpectedToken(RemainingExpr, RemainingExpr, in evalDecodeOperand()
256 if (!RemainingExpr.startswith(",")) in evalDecodeOperand()
258 unexpectedToken(RemainingExpr, RemainingExpr, "expected ','"), ""); in evalDecodeOperand()
259 RemainingExpr = RemainingExpr.substr(1).ltrim(); in evalDecodeOperand()
262 std::tie(OpIdxExpr, RemainingExpr) = evalNumberExpr(RemainingExpr); in evalDecodeOperand()
266 if (!RemainingExpr.startswith(")")) in evalDecodeOperand()
268 unexpectedToken(RemainingExpr, RemainingExpr, "expected ')'"), ""); in evalDecodeOperand()
269 RemainingExpr = RemainingExpr.substr(1).ltrim(); in evalDecodeOperand()
302 return std::make_pair(EvalResult(Op.getImm()), RemainingExpr); in evalDecodeOperand()
315 StringRef RemainingExpr = Expr.substr(1).ltrim(); in evalNextPC() local
317 std::tie(Symbol, RemainingExpr) = parseSymbol(RemainingExpr); in evalNextPC()
324 if (!RemainingExpr.startswith(")")) in evalNextPC()
326 unexpectedToken(RemainingExpr, RemainingExpr, "expected ')'"), ""); in evalNextPC()
327 RemainingExpr = RemainingExpr.substr(1).ltrim(); in evalNextPC()
341 return std::make_pair(EvalResult(NextPC), RemainingExpr); in evalNextPC()
353 StringRef RemainingExpr = Expr.substr(1).ltrim(); in evalStubOrGOTAddr() local
358 size_t ComaIdx = RemainingExpr.find(','); in evalStubOrGOTAddr()
359 StubContainerName = RemainingExpr.substr(0, ComaIdx).rtrim(); in evalStubOrGOTAddr()
360 RemainingExpr = RemainingExpr.substr(ComaIdx).ltrim(); in evalStubOrGOTAddr()
362 if (!RemainingExpr.startswith(",")) in evalStubOrGOTAddr()
364 unexpectedToken(RemainingExpr, Expr, "expected ','"), ""); in evalStubOrGOTAddr()
365 RemainingExpr = RemainingExpr.substr(1).ltrim(); in evalStubOrGOTAddr()
368 std::tie(Symbol, RemainingExpr) = parseSymbol(RemainingExpr); in evalStubOrGOTAddr()
370 if (!RemainingExpr.startswith(")")) in evalStubOrGOTAddr()
372 unexpectedToken(RemainingExpr, Expr, "expected ')'"), ""); in evalStubOrGOTAddr()
373 RemainingExpr = RemainingExpr.substr(1).ltrim(); in evalStubOrGOTAddr()
383 return std::make_pair(EvalResult(StubAddr), RemainingExpr); in evalStubOrGOTAddr()
390 StringRef RemainingExpr = Expr.substr(1).ltrim(); in evalSectionAddr() local
395 size_t ComaIdx = RemainingExpr.find(','); in evalSectionAddr()
396 FileName = RemainingExpr.substr(0, ComaIdx).rtrim(); in evalSectionAddr()
397 RemainingExpr = RemainingExpr.substr(ComaIdx).ltrim(); in evalSectionAddr()
399 if (!RemainingExpr.startswith(",")) in evalSectionAddr()
401 unexpectedToken(RemainingExpr, Expr, "expected ','"), ""); in evalSectionAddr()
402 RemainingExpr = RemainingExpr.substr(1).ltrim(); in evalSectionAddr()
405 size_t CloseParensIdx = RemainingExpr.find(')'); in evalSectionAddr()
406 SectionName = RemainingExpr.substr(0, CloseParensIdx).rtrim(); in evalSectionAddr()
407 RemainingExpr = RemainingExpr.substr(CloseParensIdx).ltrim(); in evalSectionAddr()
409 if (!RemainingExpr.startswith(")")) in evalSectionAddr()
411 unexpectedToken(RemainingExpr, Expr, "expected ')'"), ""); in evalSectionAddr()
412 RemainingExpr = RemainingExpr.substr(1).ltrim(); in evalSectionAddr()
422 return std::make_pair(EvalResult(StubAddr), RemainingExpr); in evalSectionAddr()
431 StringRef RemainingExpr; in evalIdentifierExpr() local
432 std::tie(Symbol, RemainingExpr) = parseSymbol(Expr); in evalIdentifierExpr()
436 return evalDecodeOperand(RemainingExpr); in evalIdentifierExpr()
438 return evalNextPC(RemainingExpr, PCtx); in evalIdentifierExpr()
440 return evalStubOrGOTAddr(RemainingExpr, PCtx, true); in evalIdentifierExpr()
442 return evalStubOrGOTAddr(RemainingExpr, PCtx, false); in evalIdentifierExpr()
444 return evalSectionAddr(RemainingExpr, PCtx); in evalIdentifierExpr()
464 return std::make_pair(EvalResult(Value), RemainingExpr); in evalIdentifierExpr()
489 StringRef RemainingExpr; in evalNumberExpr() local
490 std::tie(ValueStr, RemainingExpr) = parseNumberString(Expr); in evalNumberExpr()
494 unexpectedToken(RemainingExpr, RemainingExpr, "expected number"), ""); in evalNumberExpr()
497 return std::make_pair(EvalResult(Value), RemainingExpr); in evalNumberExpr()
507 StringRef RemainingExpr; in evalParensExpr() local
508 std::tie(SubExprResult, RemainingExpr) = in evalParensExpr()
512 if (!RemainingExpr.startswith(")")) in evalParensExpr()
514 unexpectedToken(RemainingExpr, Expr, "expected ')'"), ""); in evalParensExpr()
515 RemainingExpr = RemainingExpr.substr(1).ltrim(); in evalParensExpr()
516 return std::make_pair(SubExprResult, RemainingExpr); in evalParensExpr()
525 StringRef RemainingExpr = Expr.substr(1).ltrim(); in evalLoadExpr() local
528 if (!RemainingExpr.startswith("{")) in evalLoadExpr()
530 RemainingExpr = RemainingExpr.substr(1).ltrim(); in evalLoadExpr()
532 std::tie(ReadSizeExpr, RemainingExpr) = evalNumberExpr(RemainingExpr); in evalLoadExpr()
534 return std::make_pair(ReadSizeExpr, RemainingExpr); in evalLoadExpr()
538 if (!RemainingExpr.startswith("}")) in evalLoadExpr()
540 RemainingExpr = RemainingExpr.substr(1).ltrim(); in evalLoadExpr()
545 std::tie(LoadAddrExprResult, RemainingExpr) = in evalLoadExpr()
546 evalComplexExpr(evalSimpleExpr(RemainingExpr, LoadCtx), LoadCtx); in evalLoadExpr()
556 return std::make_pair(0, RemainingExpr); in evalLoadExpr()
560 RemainingExpr); in evalLoadExpr()
573 StringRef RemainingExpr; in evalSimpleExpr() local
579 std::tie(SubExprResult, RemainingExpr) = evalParensExpr(Expr, PCtx); in evalSimpleExpr()
581 std::tie(SubExprResult, RemainingExpr) = evalLoadExpr(Expr); in evalSimpleExpr()
583 std::tie(SubExprResult, RemainingExpr) = evalIdentifierExpr(Expr, PCtx); in evalSimpleExpr()
585 std::tie(SubExprResult, RemainingExpr) = evalNumberExpr(Expr); in evalSimpleExpr()
592 return std::make_pair(SubExprResult, RemainingExpr); in evalSimpleExpr()
595 if (RemainingExpr.startswith("[")) in evalSimpleExpr()
596 std::tie(SubExprResult, RemainingExpr) = in evalSimpleExpr()
597 evalSliceExpr(std::make_pair(SubExprResult, RemainingExpr)); in evalSimpleExpr()
599 return std::make_pair(SubExprResult, RemainingExpr); in evalSimpleExpr()
612 StringRef RemainingExpr; in evalSliceExpr() local
613 std::tie(SubExprResult, RemainingExpr) = Ctx; in evalSliceExpr()
615 assert(RemainingExpr.startswith("[") && "Not a slice expr."); in evalSliceExpr()
616 RemainingExpr = RemainingExpr.substr(1).ltrim(); in evalSliceExpr()
619 std::tie(HighBitExpr, RemainingExpr) = evalNumberExpr(RemainingExpr); in evalSliceExpr()
622 return std::make_pair(HighBitExpr, RemainingExpr); in evalSliceExpr()
624 if (!RemainingExpr.startswith(":")) in evalSliceExpr()
626 unexpectedToken(RemainingExpr, RemainingExpr, "expected ':'"), ""); in evalSliceExpr()
627 RemainingExpr = RemainingExpr.substr(1).ltrim(); in evalSliceExpr()
630 std::tie(LowBitExpr, RemainingExpr) = evalNumberExpr(RemainingExpr); in evalSliceExpr()
633 return std::make_pair(LowBitExpr, RemainingExpr); in evalSliceExpr()
635 if (!RemainingExpr.startswith("]")) in evalSliceExpr()
637 unexpectedToken(RemainingExpr, RemainingExpr, "expected ']'"), ""); in evalSliceExpr()
638 RemainingExpr = RemainingExpr.substr(1).ltrim(); in evalSliceExpr()
644 return std::make_pair(EvalResult(SlicedValue), RemainingExpr); in evalSliceExpr()
657 StringRef RemainingExpr; in evalComplexExpr() local
658 std::tie(LHSResult, RemainingExpr) = LHSAndRemaining; in evalComplexExpr()
662 if (LHSResult.hasError() || RemainingExpr == "") in evalComplexExpr()
663 return std::make_pair(LHSResult, RemainingExpr); in evalComplexExpr()
667 std::tie(BinOp, RemainingExpr) = parseBinOpToken(RemainingExpr); in evalComplexExpr()
671 return std::make_pair(LHSResult, RemainingExpr); in evalComplexExpr()
675 std::tie(RHSResult, RemainingExpr) = evalSimpleExpr(RemainingExpr, PCtx); in evalComplexExpr()
679 return std::make_pair(RHSResult, RemainingExpr); in evalComplexExpr()
685 return evalComplexExpr(std::make_pair(ThisResult, RemainingExpr), PCtx); in evalComplexExpr()