Searched refs:OpLoc (Results 1 - 23 of 23) sorted by relevance

/external/clang/lib/Sema/
H A DSemaExprMember.cpp292 SourceLocation OpLoc, const IdentifierInfo *CompName,
345 S.Diag(OpLoc, diag::err_ext_vector_component_name_illegal)
360 S.Diag(OpLoc, diag::err_ext_vector_component_exceeds_length)
445 bool IsArrow, SourceLocation OpLoc,
465 Diag(OpLoc, diag::err_typecheck_member_reference_struct_union)
478 Context, BaseExpr, BaseType, IsArrow, OpLoc,
604 SourceLocation OpLoc, bool IsArrow,
610 SemaRef.RequireCompleteType(OpLoc, QualType(RTy, 0),
678 BaseExpr, BaseExpr->getType(), OpLoc, IsArrow, SS, SourceLocation(),
688 SourceLocation OpLoc, CXXScopeSpe
291 CheckExtVectorComponent(Sema &S, QualType baseType, ExprValueKind &VK, SourceLocation OpLoc, const IdentifierInfo *CompName, SourceLocation CompLoc) argument
444 ActOnDependentMemberExpr(Expr *BaseExpr, QualType BaseType, bool IsArrow, SourceLocation OpLoc, const CXXScopeSpec &SS, SourceLocation TemplateKWLoc, NamedDecl *FirstQualifierInScope, const DeclarationNameInfo &NameInfo, const TemplateArgumentListInfo *TemplateArgs) argument
601 LookupMemberExprInRecord(Sema &SemaRef, LookupResult &R, Expr *BaseExpr, const RecordType *RTy, SourceLocation OpLoc, bool IsArrow, CXXScopeSpec &SS, bool HasTemplateArgs, TypoExpr *&TE) argument
692 BuildMemberReferenceExpr(Expr *Base, QualType BaseType, SourceLocation OpLoc, bool IsArrow, CXXScopeSpec &SS, SourceLocation TemplateKWLoc, NamedDecl *FirstQualifierInScope, const DeclarationNameInfo &NameInfo, const TemplateArgumentListInfo *TemplateArgs, ActOnMemberAccessExtraArgs *ExtraArgs) argument
883 BuildMemberExpr( Sema &SemaRef, ASTContext &C, Expr *Base, bool isArrow, SourceLocation OpLoc, const CXXScopeSpec &SS, SourceLocation TemplateKWLoc, ValueDecl *Member, DeclAccessPair FoundDecl, const DeclarationNameInfo &MemberNameInfo, QualType Ty, ExprValueKind VK, ExprObjectKind OK, const TemplateArgumentListInfo *TemplateArgs = nullptr) argument
898 BuildMemberReferenceExpr(Expr *BaseExpr, QualType BaseExprType, SourceLocation OpLoc, bool IsArrow, const CXXScopeSpec &SS, SourceLocation TemplateKWLoc, NamedDecl *FirstQualifierInScope, LookupResult &R, const TemplateArgumentListInfo *TemplateArgs, bool SuppressQualifierCheck, ActOnMemberAccessExtraArgs *ExtraArgs) argument
1193 LookupMemberExpr(Sema &S, LookupResult &R, ExprResult &BaseExpr, bool &IsArrow, SourceLocation OpLoc, CXXScopeSpec &SS, Decl *ObjCImpDecl, bool HasTemplateArgs) argument
1619 ActOnMemberAccessExpr(Scope *S, Expr *Base, SourceLocation OpLoc, tok::TokenKind OpKind, CXXScopeSpec &SS, SourceLocation TemplateKWLoc, UnqualifiedId &Id, Decl *ObjCImpDecl) argument
1668 BuildFieldReferenceExpr(Sema &S, Expr *BaseExpr, bool IsArrow, SourceLocation OpLoc, const CXXScopeSpec &SS, FieldDecl *Field, DeclAccessPair FoundDecl, const DeclarationNameInfo &MemberNameInfo) argument
[all...]
H A DSemaExpr.cpp3638 SourceLocation OpLoc,
3660 return CheckVecStepTraitOperandType(*this, ExprType, OpLoc, ExprRange);
3663 if (!CheckExtensionTraitOperandType(*this, ExprType, OpLoc, ExprRange,
3667 if (RequireCompleteType(OpLoc, ExprType,
3673 Diag(OpLoc, diag::err_sizeof_alignof_function_type)
3678 if (CheckObjCTraitOperandConstraints(*this, ExprType, OpLoc, ExprRange,
3755 SourceLocation OpLoc,
3764 CheckUnaryExprOrTypeTraitOperand(T, OpLoc, R, ExprKind))
3769 ExprKind, TInfo, Context.getSizeType(), OpLoc, R.getEnd());
3775 Sema::CreateUnaryExprOrTypeTraitExpr(Expr *E, SourceLocation OpLoc, argument
3637 CheckUnaryExprOrTypeTraitOperand(QualType ExprType, SourceLocation OpLoc, SourceRange ExprRange, UnaryExprOrTypeTrait ExprKind) argument
3754 CreateUnaryExprOrTypeTraitExpr(TypeSourceInfo *TInfo, SourceLocation OpLoc, UnaryExprOrTypeTrait ExprKind, SourceRange R) argument
3816 ActOnUnaryExprOrTypeTraitExpr(SourceLocation OpLoc, UnaryExprOrTypeTrait ExprKind, bool IsType, void *TyOrEx, const SourceRange &ArgRange) argument
3870 ActOnPostfixUnaryOp(Scope *S, SourceLocation OpLoc, tok::TokenKind Kind, Expr *Input) argument
6422 DiagnoseConditionalPrecedence(Sema &Self, SourceLocation OpLoc, Expr *Condition, Expr *LHSExpr, Expr *RHSExpr) argument
7582 diagnoseStringPlusInt(Sema &Self, SourceLocation OpLoc, Expr *LHSExpr, Expr *RHSExpr) argument
7621 diagnoseStringPlusChar(Sema &Self, SourceLocation OpLoc, Expr *LHSExpr, Expr *RHSExpr) argument
9392 CheckIncrementDecrementOperand(Sema &S, Expr *Op, ExprValueKind &VK, ExprObjectKind &OK, SourceLocation OpLoc, bool IsInc, bool IsPrefix) argument
9551 CheckAddressOfOperand(ExprResult &OrigOp, SourceLocation OpLoc) argument
9767 CheckIndirectionOperand(Sema &S, Expr *Op, ExprValueKind &VK, SourceLocation OpLoc) argument
9889 DiagnoseSelfAssignment(Sema &S, Expr *LHSExpr, Expr *RHSExpr, SourceLocation OpLoc) argument
9922 checkObjCPointerIntrospection(Sema &S, ExprResult &L, ExprResult &R, SourceLocation OpLoc) argument
9978 CreateBuiltinBinOp(SourceLocation OpLoc, BinaryOperatorKind Opc, Expr *LHSExpr, Expr *RHSExpr) argument
10170 DiagnoseBitwisePrecedence(Sema &Self, BinaryOperatorKind Opc, SourceLocation OpLoc, Expr *LHSExpr, Expr *RHSExpr) argument
10212 EmitDiagnosticForBitwiseAndInBitwiseOr(Sema &Self, SourceLocation OpLoc, BinaryOperator *Bop) argument
10227 EmitDiagnosticForLogicalAndInLogicalOr(Sema &Self, SourceLocation OpLoc, BinaryOperator *Bop) argument
10255 DiagnoseLogicalAndInLogicalOrLHS(Sema &S, SourceLocation OpLoc, Expr *LHSExpr, Expr *RHSExpr) argument
10277 DiagnoseLogicalAndInLogicalOrRHS(Sema &S, SourceLocation OpLoc, Expr *LHSExpr, Expr *RHSExpr) argument
10292 DiagnoseBitwiseAndInBitwiseOr(Sema &S, SourceLocation OpLoc, Expr *OrArg) argument
10300 DiagnoseAdditionInShift(Sema &S, SourceLocation OpLoc, Expr *SubExpr, StringRef Shift) argument
10314 DiagnoseShiftCompare(Sema &S, SourceLocation OpLoc, Expr *LHSExpr, Expr *RHSExpr) argument
10343 DiagnoseBinOpPrecedence(Sema &Self, BinaryOperatorKind Opc, SourceLocation OpLoc, Expr *LHSExpr, Expr *RHSExpr) argument
10391 BuildOverloadedBinOp(Sema &S, Scope *Sc, SourceLocation OpLoc, BinaryOperatorKind Opc, Expr *LHS, Expr *RHS) argument
10410 BuildBinOp(Scope *S, SourceLocation OpLoc, BinaryOperatorKind Opc, Expr *LHSExpr, Expr *RHSExpr) argument
10488 CreateBuiltinUnaryOp(SourceLocation OpLoc, UnaryOperatorKind Opc, Expr *InputExpr) argument
10693 BuildUnaryOp(Scope *S, SourceLocation OpLoc, UnaryOperatorKind Opc, Expr *Input) argument
10741 ActOnUnaryOp(Scope *S, SourceLocation OpLoc, tok::TokenKind Op, Expr *Input) argument
10747 ActOnAddrLabel(SourceLocation OpLoc, SourceLocation LabLoc, LabelDecl *TheDecl) argument
14316 ActOnObjCBoolLiteral(SourceLocation OpLoc, tok::TokenKind Kind) argument
[all...]
H A DSemaOverload.cpp6572 SourceLocation OpLoc,
6594 RequireCompleteType(OpLoc, T1, 0);
6599 LookupResult Operators(*this, OpName, OpLoc, LookupOrdinaryName);
8114 SourceLocation OpLoc,
8132 OpLoc,
9366 SourceLocation OpLoc,
9375 S.Diag(OpLoc, diag::note_ovl_builtin_unary_candidate) << TypeStr;
9380 S.Diag(OpLoc, diag::note_ovl_builtin_binary_candidate) << TypeStr;
9384 static void NoteAmbiguousUserConversions(Sema &S, SourceLocation OpLoc,
9392 ICS.DiagnoseAmbiguousConversion(S, OpLoc,
6571 AddMemberOperatorCandidates(OverloadedOperatorKind Op, SourceLocation OpLoc, ArrayRef<Expr *> Args, OverloadCandidateSet& CandidateSet, SourceRange OpRange) argument
[all...]
H A DSemaExprCXX.cpp467 Sema::ActOnCXXTypeid(SourceLocation OpLoc, SourceLocation LParenLoc, argument
471 return ExprError(Diag(OpLoc, diag::err_need_header_before_typeid));
485 return ExprError(Diag(OpLoc, diag::err_need_header_before_typeid));
489 return ExprError(Diag(OpLoc, diag::err_no_typeid_with_fno_rtti));
503 TInfo = Context.getTrivialTypeSourceInfo(T, OpLoc);
505 return BuildCXXTypeId(TypeInfoType, OpLoc, TInfo, RParenLoc);
509 return BuildCXXTypeId(TypeInfoType, OpLoc, (Expr*)TyOrExpr, RParenLoc);
554 Sema::ActOnCXXUuidof(SourceLocation OpLoc, SourceLocation LParenLoc, argument
563 return ExprError(Diag(OpLoc, diag::err_need_header_before_ms_uuidof));
577 TInfo = Context.getTrivialTypeSourceInfo(T, OpLoc);
588 ActOnCXXBoolLiteral(SourceLocation OpLoc, tok::TokenKind Kind) argument
603 ActOnCXXThrow(Scope *S, SourceLocation OpLoc, Expr *Ex) argument
639 BuildCXXThrow(SourceLocation OpLoc, Expr *Ex, bool IsThrownVarInScope) argument
5311 ActOnStartCXXMemberReference(Scope *S, Expr *Base, SourceLocation OpLoc, tok::TokenKind OpKind, ParsedType &ObjectType, bool &MayBePseudoDestructor) argument
5449 CheckArrow(Sema& S, QualType& ObjectType, Expr *&Base, tok::TokenKind& OpKind, SourceLocation OpLoc) argument
5482 BuildPseudoDestructorExpr(Expr *Base, SourceLocation OpLoc, tok::TokenKind OpKind, const CXXScopeSpec &SS, TypeSourceInfo *ScopeTypeInfo, SourceLocation CCLoc, SourceLocation TildeLoc, PseudoDestructorTypeStorage Destructed) argument
5580 ActOnPseudoDestructorExpr(Scope *S, Expr *Base, SourceLocation OpLoc, tok::TokenKind OpKind, CXXScopeSpec &SS, UnqualifiedId &FirstTypeName, SourceLocation CCLoc, SourceLocation TildeLoc, UnqualifiedId &SecondTypeName) argument
5717 ActOnPseudoDestructorExpr(Scope *S, Expr *Base, SourceLocation OpLoc, tok::TokenKind OpKind, SourceLocation TildeLoc, const DeclSpec& DS) argument
[all...]
H A DTreeTransform.h1770 ExprResult RebuildUnaryOperator(SourceLocation OpLoc, argument
1773 return getSema().BuildUnaryOp(/*Scope=*/nullptr, OpLoc, Opc, SubExpr);
1795 SourceLocation OpLoc,
1798 return getSema().CreateUnaryExprOrTypeTraitExpr(TInfo, OpLoc, ExprKind, R);
1806 ExprResult RebuildUnaryExprOrTypeTrait(Expr *SubExpr, SourceLocation OpLoc, argument
1810 = getSema().CreateUnaryExprOrTypeTraitExpr(SubExpr, OpLoc, ExprKind);
1846 ExprResult RebuildMemberExpr(Expr *Base, SourceLocation OpLoc, argument
1874 MemberExpr(Base, isArrow, OpLoc, Member, MemberNameInfo,
1891 return getSema().BuildMemberReferenceExpr(Base, BaseType, OpLoc, isArrow,
1901 ExprResult RebuildBinaryOperator(SourceLocation OpLoc, argument
1794 RebuildUnaryExprOrTypeTrait(TypeSourceInfo *TInfo, SourceLocation OpLoc, UnaryExprOrTypeTrait ExprKind, SourceRange R) argument
1948 RebuildExtVectorElementExpr(Expr *Base, SourceLocation OpLoc, SourceLocation AccessorLoc, IdentifierInfo &Accessor) argument
2098 RebuildCXXNamedCastExpr(SourceLocation OpLoc, Stmt::StmtClass Class, SourceLocation LAngleLoc, TypeSourceInfo *TInfo, SourceLocation RAngleLoc, SourceLocation LParenLoc, Expr *SubExpr, SourceLocation RParenLoc) argument
2137 RebuildCXXStaticCastExpr(SourceLocation OpLoc, SourceLocation LAngleLoc, TypeSourceInfo *TInfo, SourceLocation RAngleLoc, SourceLocation LParenLoc, Expr *SubExpr, SourceLocation RParenLoc) argument
2154 RebuildCXXDynamicCastExpr(SourceLocation OpLoc, SourceLocation LAngleLoc, TypeSourceInfo *TInfo, SourceLocation RAngleLoc, SourceLocation LParenLoc, Expr *SubExpr, SourceLocation RParenLoc) argument
2171 RebuildCXXReinterpretCastExpr(SourceLocation OpLoc, SourceLocation LAngleLoc, TypeSourceInfo *TInfo, SourceLocation RAngleLoc, SourceLocation LParenLoc, Expr *SubExpr, SourceLocation RParenLoc) argument
2188 RebuildCXXConstCastExpr(SourceLocation OpLoc, SourceLocation LAngleLoc, TypeSourceInfo *TInfo, SourceLocation RAngleLoc, SourceLocation LParenLoc, Expr *SubExpr, SourceLocation RParenLoc) argument
2707 RebuildObjCIsaExpr(Expr *BaseArg, SourceLocation IsaLoc, SourceLocation OpLoc, bool IsArrow) argument
10642 RebuildCXXOperatorCallExpr(OverloadedOperatorKind Op, SourceLocation OpLoc, Expr *OrigCallee, Expr *First, Expr *Second) argument
[all...]
H A DSemaCast.cpp213 Sema::ActOnCXXNamedCast(SourceLocation OpLoc, tok::TokenKind Kind, argument
230 return BuildCXXNamedCast(OpLoc, Kind, TInfo, E,
236 Sema::BuildCXXNamedCast(SourceLocation OpLoc, tok::TokenKind Kind, argument
247 Op.OpRange = SourceRange(OpLoc, Parens.getEnd());
261 OpLoc, Parens.getEnd(),
273 OpLoc, Parens.getEnd(),
284 nullptr, DestTInfo, OpLoc,
298 OpLoc, Parens.getEnd(),
H A DSemaTemplateVariadic.cpp821 /// \param OpLoc The location of the "sizeof" keyword.
826 SourceLocation OpLoc,
868 MarkAnyDeclReferenced(OpLoc, ParameterPack, true);
870 return new (Context) SizeOfPackExpr(Context.getSizeType(), OpLoc,
825 ActOnSizeofParameterPackExpr(Scope *S, SourceLocation OpLoc, IdentifierInfo &Name, SourceLocation NameLoc, SourceLocation RParenLoc) argument
H A DSemaAccess.cpp1684 Sema::AccessResult Sema::CheckAllocationAccess(SourceLocation OpLoc, argument
1700 return CheckAccess(*this, OpLoc, Entity);
1720 Sema::AccessResult Sema::CheckMemberOperatorAccess(SourceLocation OpLoc, argument
1737 return CheckAccess(*this, OpLoc, Entity);
H A DSemaOpenMP.cpp3335 SourceLocation OpLoc; member in class:__anon1205::OpenMPAtomicUpdateChecker
3390 OpLoc = AtomicInnerBinOp->getOperatorLoc();
3463 OpLoc = AtomicCompAssignOp->getOperatorLoc();
3478 OpLoc = AtomicUnaryOp->getOperatorLoc();
3480 E = SemaRef.ActOnIntegerConstant(OpLoc, /*uint64_t Val=*/1).get();
3519 SemaRef.CreateBuiltinBinOp(OpLoc, Op, IsXLHSInRHSPart ? OVEX : OVEExpr,
H A DSemaExprObjC.cpp1512 Expr *BaseExpr, SourceLocation OpLoc,
1644 return HandleExprPropertyRefExpr(OPT, BaseExpr, OpLoc,
1662 << FixItHint::CreateReplacement(OpLoc, "->");
1708 SourceLocation()/*OpLoc*/,
1511 HandleExprPropertyRefExpr(const ObjCObjectPointerType *OPT, Expr *BaseExpr, SourceLocation OpLoc, DeclarationName MemberName, SourceLocation MemberLoc, SourceLocation SuperLoc, QualType SuperType, bool Super) argument
H A DSemaCodeComplete.cpp3575 SourceLocation OpLoc,
3574 CodeCompleteMemberReferenceExpr(Scope *S, Expr *Base, SourceLocation OpLoc, bool IsArrow) argument
/external/clang/lib/Lex/
H A DPPExpressions.cpp497 SourceLocation OpLoc = PeekTok.getLocation(); local
558 PP.Diag(OpLoc, diag::warn_pp_convert_lhs_to_positive)
563 PP.Diag(OpLoc, diag::warn_pp_convert_rhs_to_positive)
579 PP.Diag(OpLoc, diag::err_pp_remainder_by_zero)
591 PP.Diag(OpLoc, diag::err_pp_division_by_zero)
676 PP.Diag(OpLoc, diag::ext_pp_comma_expr)
685 PP.Diag(OpLoc, diag::note_matching) << tok::question;
718 PP.Diag(OpLoc, diag::err_pp_colon_without_question)
725 PP.Diag(OpLoc, diag::warn_pp_expr_overflow)
/external/clang/lib/Parse/
H A DParseOpenMP.cpp639 SourceLocation OpLoc = P.ConsumeToken(); local
640 SourceLocation SymbolLocations[] = {OpLoc, OpLoc, SourceLocation()};
641 ReductionId.setOperatorFunctionId(OpLoc, OOK, SymbolLocations);
H A DParseExprCXX.cpp1279 SourceLocation OpLoc = ConsumeToken(); local
1318 Result = Actions.ActOnCXXNamedCast(OpLoc, Kind,
1336 SourceLocation OpLoc = ConsumeToken(); local
1372 Result = Actions.ActOnCXXTypeid(OpLoc, LParenLoc, /*isType=*/true,
1386 Result = Actions.ActOnCXXTypeid(OpLoc, LParenLoc, /*isType=*/false,
1402 SourceLocation OpLoc = ConsumeToken(); local
1420 Result = Actions.ActOnCXXUuidof(OpLoc, T.getOpenLocation(), /*isType=*/true,
1433 Result = Actions.ActOnCXXUuidof(OpLoc, T.getOpenLocation(),
1457 Parser::ParseCXXPseudoDestructor(Expr *Base, SourceLocation OpLoc, argument
1497 return Actions.ActOnPseudoDestructorExpr(getCurScope(), Base, OpLoc, OpKin
[all...]
H A DParseExpr.cpp1493 SourceLocation OpLoc = ConsumeToken(); // Eat the "." or "->" token. local
1504 Diag(OpLoc, diag::err_function_is_not_record)
1506 << FixItHint::CreateRemoval(OpLoc);
1511 OpLoc, OpKind, ObjectType,
1526 OpLoc, OpKind == tok::arrow); local
1533 LHS = ParseCXXPseudoDestructor(LHS.get(), OpLoc, OpKind, SS,
1570 LHS = Actions.ActOnMemberAccessExpr(getCurScope(), LHS.get(), OpLoc,
H A DParseObjc.cpp2058 SourceLocation OpLoc = ConsumeToken(); local
2078 Lit = Actions.ActOnUnaryOp(getCurScope(), OpLoc, Kind, Lit.get());
/external/clang/include/clang/AST/
H A DExprObjC.h478 /// OpLoc - This is the location of '.' or '->'
479 SourceLocation OpLoc; member in class:clang::ObjCIvarRefExpr
494 D(d), Base(base), Loc(l), OpLoc(oploc),
521 SourceLocation getOpLoc() const { return OpLoc; }
522 void setOpLoc(SourceLocation L) { OpLoc = L; }
1407 /// OpLoc - This is the location of '.' or '->'
1408 SourceLocation OpLoc;
1419 Base(base), IsaMemberLoc(l), OpLoc(oploc), IsArrow(isarrow) {}
1435 SourceLocation getOpLoc() const { return OpLoc; }
1436 void setOpLoc(SourceLocation L) { OpLoc
[all...]
H A DExpr.h1980 SourceLocation OpLoc, RParenLoc;
1992 OpLoc(op), RParenLoc(rp) {
2042 SourceLocation getOperatorLoc() const { return OpLoc; }
2043 void setOperatorLoc(SourceLocation L) { OpLoc = L; }
2048 SourceLocation getLocStart() const LLVM_READONLY { return OpLoc; }
2928 SourceLocation OpLoc; member in class:clang::StringLiteral::OffsetOfExpr::BinaryOperator
2944 Opc(opc), FPContractable(fpContractable), OpLoc(opLoc) {
2955 SourceLocation getExprLoc() const LLVM_READONLY { return OpLoc; }
2956 SourceLocation getOperatorLoc() const { return OpLoc; }
2957 void setOperatorLoc(SourceLocation L) { OpLoc
3112 CompoundAssignOperator(Expr *lhs, Expr *rhs, Opcode opc, QualType ResType, ExprValueKind VK, ExprObjectKind OK, QualType CompLHSType, QualType CompResultType, SourceLocation OpLoc, bool fpContractable) argument
[all...]
/external/clang/include/clang/Sema/
H A DSema.h2271 SourceLocation OpLoc, ArrayRef<Expr *> Args,
2280 SourceLocation OpLoc, ArrayRef<Expr *> Args,
2379 ExprResult CreateOverloadedUnaryOp(SourceLocation OpLoc,
2384 ExprResult CreateOverloadedBinOp(SourceLocation OpLoc,
2404 SourceLocation OpLoc,
3278 SourceLocation OpLoc);
3555 ExprResult CreateBuiltinUnaryOp(SourceLocation OpLoc, UnaryOperatorKind Opc,
3557 ExprResult BuildUnaryOp(Scope *S, SourceLocation OpLoc,
3559 ExprResult ActOnUnaryOp(Scope *S, SourceLocation OpLoc,
3562 QualType CheckAddressOfOperand(ExprResult &Operand, SourceLocation OpLoc);
[all...]
H A DDeclSpec.h991 /// \param OpLoc the location of the 'operator' keyword.
994 void setLiteralOperatorId(const IdentifierInfo *Id, SourceLocation OpLoc, argument
998 StartLocation = OpLoc;
/external/llvm/lib/TableGen/
H A DTGParser.cpp912 SMLoc OpLoc = Lex.getLoc(); local
969 Error(OpLoc, "expected a list");
989 Error(OpLoc, "expected two operands to operator");
/external/clang/include/clang/Parse/
H A DParser.h1449 ExprResult ParseCXXPseudoDestructor(Expr *Base, SourceLocation OpLoc,
/external/clang/lib/AST/
H A DExpr.cpp1349 OpLoc(op), RParenLoc(rp) {

Completed in 5074 milliseconds