clang API Documentation
#include <Action.h>


Classes | |
| class | FullExprArg |
| struct | ObjCArgInfo |
| struct | OffsetOfComponent |
Public Types | |
| enum | TagUseKind { TUK_Reference, TUK_Declaration, TUK_Definition, TUK_Friend } |
| enum | ExpressionEvaluationContext { Unevaluated, PotentiallyEvaluated, PotentiallyPotentiallyEvaluated } |
Describes how the expressions currently being parsed are evaluated at run-time, if at all. More... | |
| enum | ObjCMessageKind { ObjCSuperMessage, ObjCInstanceMessage, ObjCClassMessage } |
Describes the kind of message expression indicated by a message send that starts with an identifier. More... | |
| enum | PragmaOptionsAlignKind { POAK_Native, POAK_Natural, POAK_Packed, POAK_Power, POAK_Mac68k, POAK_Reset } |
| enum | PragmaPackKind { PPK_Default, PPK_Show, PPK_Push, PPK_Pop } |
| typedef OpaquePtr< DeclGroupRef > | DeclGroupPtrTy |
| typedef OpaquePtr< TemplateName > | TemplateTy |
| typedef OpaquePtr< QualType > | TypeTy |
| typedef Attr | AttrTy |
| typedef CXXBaseSpecifier | BaseTy |
| typedef CXXBaseOrMemberInitializer | MemInitTy |
| typedef Expr | ExprTy |
| typedef Stmt | StmtTy |
| typedef TemplateParameterList | TemplateParamsTy |
| typedef NestedNameSpecifier | CXXScopeTy |
| typedef clang::ExprResult | ExprResult |
| typedef clang::StmtResult | StmtResult |
| typedef clang::TypeResult | TypeResult |
| typedef clang::BaseResult | BaseResult |
| typedef clang::DeclResult | DeclResult |
| typedef clang::MemInitResult | MemInitResult |
| typedef Expr * | ExprArg |
| Single expressions or statements as arguments. | |
| typedef Stmt * | StmtArg |
| typedef ASTMultiPtr< Expr * > | MultiExprArg |
| Multiple expressions or statements as arguments. | |
| typedef ASTMultiPtr< Stmt * > | MultiStmtArg |
| typedef ASTMultiPtr < TemplateParameterList * > | MultiTemplateParamsArg |
| typedef uintptr_t | ParsingDeclStackState |
Public Member Functions | |
| Action () | |
| virtual | ~Action () |
| Out-of-line virtual destructor to provide home for this class. | |
| FullExprArg | MakeFullExpr (Expr *Arg) |
| ExprResult | ExprError () |
| StmtResult | StmtError () |
| ExprResult | ExprError (const DiagnosticBuilder &) |
| StmtResult | StmtError (const DiagnosticBuilder &) |
| ExprResult | ExprEmpty () |
| StmtResult | StmtEmpty () |
| virtual void | PrintStats () const |
| Statistics. | |
| virtual std::string | getDeclName (Decl *D) |
| virtual ParsingDeclStackState | PushParsingDeclaration () |
| virtual void | PopParsingDeclaration (ParsingDeclStackState S, Decl *D) |
| virtual DeclGroupPtrTy | ConvertDeclToDeclGroup (Decl *Ptr) |
| virtual void | DiagnoseUseOfUnimplementedSelectors () |
| virtual ParsedType | getTypeName (IdentifierInfo &II, SourceLocation NameLoc, Scope *S, CXXScopeSpec *SS=0, bool isClassName=false, ParsedType ObjectType=ParsedType())=0 |
| virtual DeclSpec::TST | isTagName (IdentifierInfo &II, Scope *S) |
| virtual bool | DiagnoseUnknownTypeName (const IdentifierInfo &II, SourceLocation IILoc, Scope *S, CXXScopeSpec *SS, ParsedType &SuggestedType) |
Action called as part of error recovery when the parser has determined that the given name must refer to a type, but getTypeName() did not return a result. | |
| virtual bool | isCurrentClassName (const IdentifierInfo &II, Scope *S, const CXXScopeSpec *SS=0)=0 |
| virtual TemplateNameKind | isTemplateName (Scope *S, CXXScopeSpec &SS, bool hasTemplateKeyword, UnqualifiedId &Name, ParsedType ObjectType, bool EnteringContext, TemplateTy &Template, bool &MemberOfUnknownSpecialization)=0 |
| Determine whether the given name refers to a template. | |
| virtual bool | DiagnoseUnknownTemplateName (const IdentifierInfo &II, SourceLocation IILoc, Scope *S, const CXXScopeSpec *SS, TemplateTy &SuggestedTemplate, TemplateNameKind &SuggestedKind) |
Action called as part of error recovery when the parser has determined that the given name must refer to a template, but isTemplateName() did not return a result. | |
| virtual bool | isNonTypeNestedNameSpecifier (Scope *S, CXXScopeSpec &SS, SourceLocation IdLoc, IdentifierInfo &II, ParsedType ObjectType) |
| Determine whether the given name refers to a non-type nested name specifier, e.g., the name of a namespace or namespace alias. | |
| virtual CXXScopeTy * | ActOnCXXGlobalScopeSpecifier (Scope *S, SourceLocation CCLoc) |
| virtual CXXScopeTy * | ActOnCXXNestedNameSpecifier (Scope *S, CXXScopeSpec &SS, SourceLocation IdLoc, SourceLocation CCLoc, IdentifierInfo &II, ParsedType ObjectType, bool EnteringContext) |
| Parsed an identifier followed by '::' in a C++ nested-name-specifier. | |
| virtual bool | IsInvalidUnlessNestedName (Scope *S, CXXScopeSpec &SS, IdentifierInfo &II, ParsedType ObjectType, bool EnteringContext) |
| virtual CXXScopeTy * | ActOnCXXNestedNameSpecifier (Scope *S, const CXXScopeSpec &SS, ParsedType Type, SourceRange TypeRange, SourceLocation CCLoc) |
| virtual bool | ShouldEnterDeclaratorScope (Scope *S, const CXXScopeSpec &SS) |
| virtual bool | ActOnCXXEnterDeclaratorScope (Scope *S, CXXScopeSpec &SS) |
| virtual void | ActOnCXXExitDeclaratorScope (Scope *S, const CXXScopeSpec &SS) |
| virtual void | ActOnCXXEnterDeclInitializer (Scope *S, Decl *Dcl) |
| virtual void | ActOnCXXExitDeclInitializer (Scope *S, Decl *Dcl) |
| virtual Decl * | ActOnDeclarator (Scope *S, Declarator &D) |
| virtual Decl * | ActOnParamDeclarator (Scope *S, Declarator &D) |
| virtual Decl * | ActOnObjCExceptionDecl (Scope *S, Declarator &D) |
| Parsed an exception object declaration within an Objective-C statement. | |
| virtual void | AddInitializerToDecl (Decl *Dcl, ExprArg Init) |
| virtual void | SetDeclDeleted (Decl *Dcl, SourceLocation DelLoc) |
| virtual void | ActOnUninitializedDecl (Decl *Dcl, bool TypeContainsUndeducedAuto) |
| virtual void | ActOnInitializerError (Decl *Dcl) |
| Note that the given declaration had an initializer that could not be parsed. | |
| virtual DeclGroupPtrTy | FinalizeDeclaratorGroup (Scope *S, const DeclSpec &DS, Decl **Group, unsigned NumDecls) |
| virtual void | ActOnFinishKNRParamDeclarations (Scope *S, Declarator &D, SourceLocation LocAfterDecls) |
| Indicates that all K&R-style parameter declarations have been parsed prior to a function definition. | |
| virtual Decl * | ActOnStartOfFunctionDef (Scope *FnBodyScope, Declarator &D)=0 |
| virtual Decl * | ActOnStartOfFunctionDef (Scope *FnBodyScope, Decl *D)=0 |
| virtual void | ActOnStartOfObjCMethodDef (Scope *FnBodyScope, Decl *D) |
| virtual Decl * | ActOnFinishFunctionBody (Decl *Decl, StmtArg Body) |
| virtual Decl * | ActOnFileScopeAsmDecl (SourceLocation Loc, ExprArg AsmString) |
| virtual void | ActOnPopScope (SourceLocation Loc, Scope *S) |
| virtual void | ActOnTranslationUnitScope (Scope *S) |
| virtual Decl * | ParsedFreeStandingDeclSpec (Scope *S, AccessSpecifier Access, DeclSpec &DS) |
| virtual Decl * | ActOnStartLinkageSpecification (Scope *S, SourceLocation ExternLoc, SourceLocation LangLoc, llvm::StringRef Lang, SourceLocation LBraceLoc) |
| virtual Decl * | ActOnFinishLinkageSpecification (Scope *S, Decl *LinkageSpec, SourceLocation RBraceLoc) |
| virtual void | ActOnEndOfTranslationUnit () |
| virtual TypeResult | ActOnTypeName (Scope *S, Declarator &D) |
| ActOnTypeName - A type-name (type-id in C++) was parsed. | |
| virtual Decl * | ActOnTag (Scope *S, unsigned TagSpec, TagUseKind TUK, SourceLocation KWLoc, CXXScopeSpec &SS, IdentifierInfo *Name, SourceLocation NameLoc, AttributeList *Attr, AccessSpecifier AS, MultiTemplateParamsArg TemplateParameterLists, bool &OwnedDecl, bool &IsDependent) |
| The parser has encountered a tag (e.g., "class X") that should be turned into a declaration by the action module. | |
| virtual TypeResult | ActOnDependentTag (Scope *S, unsigned TagSpec, TagUseKind TUK, const CXXScopeSpec &SS, IdentifierInfo *Name, SourceLocation KWLoc, SourceLocation NameLoc) |
| virtual void | ActOnDefs (Scope *S, Decl *TagD, SourceLocation DeclStart, IdentifierInfo *ClassName, llvm::SmallVectorImpl< Decl * > &Decls) |
| virtual Decl * | ActOnField (Scope *S, Decl *TagD, SourceLocation DeclStart, Declarator &D, ExprTy *BitfieldWidth) |
| virtual Decl * | ActOnIvar (Scope *S, SourceLocation DeclStart, Decl *IntfDecl, Declarator &D, ExprTy *BitfieldWidth, tok::ObjCKeywordKind visibility) |
| virtual void | ActOnLastBitfield (SourceLocation DeclStart, Decl *IntfDecl, llvm::SmallVectorImpl< Decl * > &AllIvarDecls) |
| virtual void | ActOnFields (Scope *S, SourceLocation RecLoc, Decl *TagDecl, Decl **Fields, unsigned NumFields, SourceLocation LBrac, SourceLocation RBrac, AttributeList *AttrList) |
| virtual void | ActOnTagStartDefinition (Scope *S, Decl *TagDecl) |
| virtual void | ActOnStartCXXMemberDeclarations (Scope *S, Decl *TagDecl, SourceLocation LBraceLoc) |
| virtual void | ActOnTagFinishDefinition (Scope *S, Decl *TagDecl, SourceLocation RBraceLoc) |
| virtual void | ActOnTagDefinitionError (Scope *S, Decl *TagDecl) |
| virtual Decl * | ActOnEnumConstant (Scope *S, Decl *EnumDecl, Decl *LastEnumConstant, SourceLocation IdLoc, IdentifierInfo *Id, SourceLocation EqualLoc, ExprTy *Val) |
| virtual void | ActOnEnumBody (SourceLocation EnumLoc, SourceLocation LBraceLoc, SourceLocation RBraceLoc, Decl *EnumDecl, Decl **Elements, unsigned NumElements, Scope *S, AttributeList *AttrList) |
| virtual StmtResult | ActOnNullStmt (SourceLocation SemiLoc) |
| virtual StmtResult | ActOnCompoundStmt (SourceLocation L, SourceLocation R, MultiStmtArg Elts, bool isStmtExpr) |
| virtual StmtResult | ActOnDeclStmt (DeclGroupPtrTy Decl, SourceLocation StartLoc, SourceLocation EndLoc) |
| virtual void | ActOnForEachDeclStmt (DeclGroupPtrTy Decl) |
| virtual StmtResult | ActOnExprStmt (FullExprArg Expr)=0 |
| virtual StmtResult | ActOnCaseStmt (SourceLocation CaseLoc, ExprArg LHSVal, SourceLocation DotDotDotLoc, ExprArg RHSVal, SourceLocation ColonLoc) |
| virtual void | ActOnCaseStmtBody (StmtTy *CaseStmt, StmtArg SubStmt) |
| ActOnCaseStmtBody - This installs a statement as the body of a case. | |
| virtual StmtResult | ActOnDefaultStmt (SourceLocation DefaultLoc, SourceLocation ColonLoc, StmtArg SubStmt, Scope *CurScope) |
| virtual StmtResult | ActOnLabelStmt (SourceLocation IdentLoc, IdentifierInfo *II, SourceLocation ColonLoc, StmtArg SubStmt) |
| virtual StmtResult | ActOnIfStmt (SourceLocation IfLoc, FullExprArg CondVal, Decl *CondVar, StmtArg ThenVal, SourceLocation ElseLoc, StmtArg ElseVal) |
| Parsed an "if" statement. | |
| virtual StmtResult | ActOnStartOfSwitchStmt (SourceLocation SwitchLoc, ExprArg Cond, Decl *CondVar) |
| Parsed the start of a "switch" statement. | |
| virtual StmtResult | ActOnFinishSwitchStmt (SourceLocation SwitchLoc, StmtArg Switch, StmtArg Body) |
| virtual StmtResult | ActOnWhileStmt (SourceLocation WhileLoc, FullExprArg Cond, Decl *CondVar, StmtArg Body) |
| Parsed a "while" statement. | |
| virtual StmtResult | ActOnDoStmt (SourceLocation DoLoc, StmtArg Body, SourceLocation WhileLoc, SourceLocation CondLParen, ExprArg Cond, SourceLocation CondRParen) |
| virtual StmtResult | ActOnForStmt (SourceLocation ForLoc, SourceLocation LParenLoc, StmtArg First, FullExprArg Second, Decl *SecondVar, FullExprArg Third, SourceLocation RParenLoc, StmtArg Body) |
| Parsed a "for" statement. | |
| virtual StmtResult | ActOnObjCForCollectionStmt (SourceLocation ForColLoc, SourceLocation LParenLoc, StmtArg First, ExprArg Second, SourceLocation RParenLoc, StmtArg Body) |
| virtual StmtResult | ActOnGotoStmt (SourceLocation GotoLoc, SourceLocation LabelLoc, IdentifierInfo *LabelII) |
| virtual StmtResult | ActOnIndirectGotoStmt (SourceLocation GotoLoc, SourceLocation StarLoc, ExprArg DestExp) |
| virtual StmtResult | ActOnContinueStmt (SourceLocation ContinueLoc, Scope *CurScope) |
| virtual StmtResult | ActOnBreakStmt (SourceLocation GotoLoc, Scope *CurScope) |
| virtual StmtResult | ActOnReturnStmt (SourceLocation ReturnLoc, ExprArg RetValExp) |
| virtual StmtResult | ActOnAsmStmt (SourceLocation AsmLoc, bool IsSimple, bool IsVolatile, unsigned NumOutputs, unsigned NumInputs, IdentifierInfo **Names, MultiExprArg Constraints, MultiExprArg Exprs, ExprArg AsmString, MultiExprArg Clobbers, SourceLocation RParenLoc, bool MSAsm=false) |
| virtual StmtResult | ActOnObjCAtCatchStmt (SourceLocation AtLoc, SourceLocation RParen, Decl *Parm, StmtArg Body) |
| Parsed an Objective-C statement. | |
| virtual StmtResult | ActOnObjCAtFinallyStmt (SourceLocation AtLoc, StmtArg Body) |
| Parsed an Objective-C statement. | |
| virtual StmtResult | ActOnObjCAtTryStmt (SourceLocation AtLoc, StmtArg Try, MultiStmtArg CatchStmts, StmtArg Finally) |
| Parsed an Objective-C -- statement. | |
| virtual StmtResult | ActOnObjCAtThrowStmt (SourceLocation AtLoc, ExprArg Throw, Scope *CurScope) |
| virtual StmtResult | ActOnObjCAtSynchronizedStmt (SourceLocation AtLoc, ExprArg SynchExpr, StmtArg SynchBody) |
| virtual Decl * | ActOnExceptionDeclarator (Scope *S, Declarator &D) |
| virtual StmtResult | ActOnCXXCatchBlock (SourceLocation CatchLoc, Decl *ExceptionDecl, StmtArg HandlerBlock) |
| virtual StmtResult | ActOnCXXTryBlock (SourceLocation TryLoc, StmtArg TryBlock, MultiStmtArg Handlers) |
| virtual void | PushExpressionEvaluationContext (ExpressionEvaluationContext NewContext) |
| The parser is entering a new expression evaluation context. | |
| virtual void | PopExpressionEvaluationContext () |
| The parser is exiting an expression evaluation context. | |
| virtual SourceRange | getExprRange (ExprTy *E) const |
| Retrieve the source range that corresponds to the given expression. | |
| virtual ExprResult | ActOnIdExpression (Scope *S, CXXScopeSpec &SS, UnqualifiedId &Name, bool HasTrailingLParen, bool IsAddressOfOperand) |
| Parsed an id-expression (C++) or identifier (C) in expression context, e.g., the expression "x" that refers to a variable named "x". | |
| virtual ExprResult | ActOnPredefinedExpr (SourceLocation Loc, tok::TokenKind Kind) |
| virtual ExprResult | ActOnCharacterConstant (const Token &) |
| virtual ExprResult | ActOnNumericConstant (const Token &) |
| virtual ExprResult | ActOnStringLiteral (const Token *Toks, unsigned NumToks) |
| virtual ExprResult | ActOnParenExpr (SourceLocation L, SourceLocation R, ExprArg Val) |
| virtual ExprResult | ActOnParenOrParenListExpr (SourceLocation L, SourceLocation R, MultiExprArg Val, ParsedType TypeOfCast=ParsedType()) |
| virtual ExprResult | ActOnPostfixUnaryOp (Scope *S, SourceLocation OpLoc, tok::TokenKind Kind, ExprArg Input) |
| virtual ExprResult | ActOnArraySubscriptExpr (Scope *S, ExprArg Base, SourceLocation LLoc, ExprArg Idx, SourceLocation RLoc) |
| virtual ExprResult | ActOnMemberAccessExpr (Scope *S, ExprArg Base, SourceLocation OpLoc, tok::TokenKind OpKind, CXXScopeSpec &SS, UnqualifiedId &Member, Decl *ObjCImpDecl, bool HasTrailingLParen) |
Parsed a member access expresion (C99 6.5.2.3, C++ [expr.ref]) of the form x.m or p->m. | |
| virtual ExprResult | ActOnCallExpr (Scope *S, ExprArg Fn, SourceLocation LParenLoc, MultiExprArg Args, SourceLocation *CommaLocs, SourceLocation RParenLoc) |
| virtual ExprResult | ActOnUnaryOp (Scope *S, SourceLocation OpLoc, tok::TokenKind Op, ExprArg Input) |
| virtual ExprResult | ActOnSizeOfAlignOfExpr (SourceLocation OpLoc, bool isSizeof, bool isType, void *TyOrEx, const SourceRange &ArgRange) |
| virtual ExprResult | ActOnCompoundLiteral (SourceLocation LParen, ParsedType Ty, SourceLocation RParen, ExprArg Op) |
| virtual ExprResult | ActOnInitList (SourceLocation LParenLoc, MultiExprArg InitList, SourceLocation RParenLoc) |
| virtual ExprResult | ActOnDesignatedInitializer (Designation &Desig, SourceLocation Loc, bool GNUSyntax, ExprResult Init) |
| Parsed a C99 designated initializer. | |
| virtual ExprResult | ActOnCastExpr (Scope *S, SourceLocation LParenLoc, ParsedType Ty, SourceLocation RParenLoc, ExprArg Op) |
| virtual bool | TypeIsVectorType (ParsedType Ty) |
| virtual ExprResult | ActOnBinOp (Scope *S, SourceLocation TokLoc, tok::TokenKind Kind, ExprArg LHS, ExprArg RHS) |
| virtual ExprResult | ActOnConditionalOp (SourceLocation QuestionLoc, SourceLocation ColonLoc, ExprArg Cond, ExprArg LHS, ExprArg RHS) |
| virtual ExprResult | ActOnAddrLabel (SourceLocation OpLoc, SourceLocation LabLoc, IdentifierInfo *LabelII) |
| virtual ExprResult | ActOnStmtExpr (SourceLocation LPLoc, StmtArg SubStmt, SourceLocation RPLoc) |
| virtual ExprResult | ActOnBuiltinOffsetOf (Scope *S, SourceLocation BuiltinLoc, SourceLocation TypeLoc, ParsedType Arg1, OffsetOfComponent *CompPtr, unsigned NumComponents, SourceLocation RParenLoc) |
| virtual ExprResult | ActOnTypesCompatibleExpr (SourceLocation BuiltinLoc, ParsedType arg1, ParsedType arg2, SourceLocation RPLoc) |
| virtual ExprResult | ActOnChooseExpr (SourceLocation BuiltinLoc, ExprArg cond, ExprArg expr1, ExprArg expr2, SourceLocation RPLoc) |
| virtual ExprResult | ActOnVAArg (SourceLocation BuiltinLoc, ExprArg expr, ParsedType type, SourceLocation RPLoc) |
| virtual ExprResult | ActOnGNUNullExpr (SourceLocation TokenLoc) |
| virtual void | ActOnBlockStart (SourceLocation CaretLoc, Scope *CurScope) |
| virtual void | ActOnBlockArguments (Declarator &ParamInfo, Scope *CurScope) |
| virtual void | ActOnBlockError (SourceLocation CaretLoc, Scope *CurScope) |
| virtual ExprResult | ActOnBlockStmtExpr (SourceLocation CaretLoc, StmtArg Body, Scope *CurScope) |
| virtual Decl * | ActOnStartNamespaceDef (Scope *S, SourceLocation IdentLoc, IdentifierInfo *Ident, SourceLocation LBrace, AttributeList *AttrList) |
| virtual void | ActOnFinishNamespaceDef (Decl *Dcl, SourceLocation RBrace) |
| virtual Decl * | ActOnUsingDirective (Scope *CurScope, SourceLocation UsingLoc, SourceLocation NamespcLoc, CXXScopeSpec &SS, SourceLocation IdentLoc, IdentifierInfo *NamespcName, AttributeList *AttrList)=0 |
| ActOnUsingDirective - This is called when using-directive is parsed. | |
| virtual Decl * | ActOnNamespaceAliasDef (Scope *CurScope, SourceLocation NamespaceLoc, SourceLocation AliasLoc, IdentifierInfo *Alias, CXXScopeSpec &SS, SourceLocation IdentLoc, IdentifierInfo *Ident) |
| virtual Decl * | ActOnUsingDeclaration (Scope *CurScope, AccessSpecifier AS, bool HasUsingKeyword, SourceLocation UsingLoc, CXXScopeSpec &SS, UnqualifiedId &Name, AttributeList *AttrList, bool IsTypeName, SourceLocation TypenameLoc)=0 |
| Parsed a C++ using-declaration. | |
| virtual void | ActOnParamDefaultArgument (Decl *param, SourceLocation EqualLoc, ExprArg defarg) |
| ActOnParamDefaultArgument - Parse default argument for function parameter. | |
| virtual void | ActOnParamUnparsedDefaultArgument (Decl *param, SourceLocation EqualLoc, SourceLocation ArgLoc) |
| virtual void | ActOnParamDefaultArgumentError (Decl *param) |
| virtual void | AddCXXDirectInitializerToDecl (Decl *Dcl, SourceLocation LParenLoc, MultiExprArg Exprs, SourceLocation *CommaLocs, SourceLocation RParenLoc) |
| virtual void | ActOnReenterTemplateScope (Scope *S, Decl *Template) |
| Called when we re-enter a template parameter scope. | |
| virtual void | ActOnStartDelayedMemberDeclarations (Scope *S, Decl *Record) |
| virtual void | ActOnStartDelayedCXXMethodDeclaration (Scope *S, Decl *Method) |
| virtual void | ActOnDelayedCXXMethodParameter (Scope *S, Decl *Param) |
| virtual void | ActOnFinishDelayedCXXMethodDeclaration (Scope *S, Decl *Method) |
| virtual void | ActOnFinishDelayedMemberDeclarations (Scope *S, Decl *Record) |
| virtual Decl * | ActOnStaticAssertDeclaration (SourceLocation AssertLoc, ExprArg AssertExpr, ExprArg AssertMessageExpr) |
| ActOnStaticAssertDeclaration - Parse a C++0x static_assert declaration. | |
| virtual Decl * | ActOnFriendFunctionDecl (Scope *S, Declarator &D, bool IsDefinition, MultiTemplateParamsArg TParams) |
| virtual Decl * | ActOnFriendTypeDecl (Scope *S, const DeclSpec &DS, MultiTemplateParamsArg TParams) |
| ActOnFriendTypeDecl - Parsed a friend type declaration. | |
| virtual ParsedType | getDestructorName (SourceLocation TildeLoc, IdentifierInfo &II, SourceLocation NameLoc, Scope *S, CXXScopeSpec &SS, ParsedType ObjectType, bool EnteringContext) |
| Parsed a destructor name or pseudo-destructor name. | |
| virtual ExprResult | ActOnCXXNamedCast (SourceLocation OpLoc, tok::TokenKind Kind, SourceLocation LAngleBracketLoc, ParsedType Ty, SourceLocation RAngleBracketLoc, SourceLocation LParenLoc, ExprArg Op, SourceLocation RParenLoc) |
| ActOnCXXNamedCast - Parse {dynamic,static,reinterpret,const}_cast's. | |
| virtual ExprResult | ActOnCXXTypeid (SourceLocation OpLoc, SourceLocation LParenLoc, bool isType, void *TyOrExpr, SourceLocation RParenLoc) |
| ActOnCXXTypeidOfType - Parse typeid( type-id ). | |
| virtual ExprResult | ActOnCXXThis (SourceLocation ThisLoc) |
| ActOnCXXThis - Parse the C++ 'this' pointer. | |
| virtual ExprResult | ActOnCXXBoolLiteral (SourceLocation OpLoc, tok::TokenKind Kind) |
| ActOnCXXBoolLiteral - Parse {true,false} literals. | |
| virtual ExprResult | ActOnCXXNullPtrLiteral (SourceLocation Loc) |
| ActOnCXXNullPtrLiteral - Parse 'nullptr'. | |
| virtual ExprResult | ActOnCXXThrow (SourceLocation OpLoc, ExprArg Op) |
| ActOnCXXThrow - Parse throw expressions. | |
| virtual ExprResult | ActOnCXXTypeConstructExpr (SourceRange TypeRange, ParsedType TypeRep, SourceLocation LParenLoc, MultiExprArg Exprs, SourceLocation *CommaLocs, SourceLocation RParenLoc) |
| virtual DeclResult | ActOnCXXConditionDeclaration (Scope *S, Declarator &D)=0 |
| Parsed a condition declaration in a C++ if, switch, or while statement. | |
| virtual ExprResult | ActOnBooleanCondition (Scope *S, SourceLocation Loc, ExprArg SubExpr) |
| Parsed an expression that will be handled as the condition in an if/while/for statement. | |
| virtual ExprResult | ActOnCXXNew (SourceLocation StartLoc, bool UseGlobal, SourceLocation PlacementLParen, MultiExprArg PlacementArgs, SourceLocation PlacementRParen, SourceRange TypeIdParens, Declarator &D, SourceLocation ConstructorLParen, MultiExprArg ConstructorArgs, SourceLocation ConstructorRParen) |
| Parsed a C++ 'new' expression. | |
| virtual ExprResult | ActOnCXXDelete (SourceLocation StartLoc, bool UseGlobal, bool ArrayForm, ExprArg Operand) |
| virtual ExprResult | ActOnUnaryTypeTrait (UnaryTypeTrait OTT, SourceLocation KWLoc, SourceLocation LParen, ParsedType Ty, SourceLocation RParen) |
| virtual ExprResult | ActOnStartCXXMemberReference (Scope *S, ExprArg Base, SourceLocation OpLoc, tok::TokenKind OpKind, ParsedType &ObjectType, bool &MayBePseudoDestructor) |
| Invoked when the parser is starting to parse a C++ member access expression such as x.f or x->f. | |
| virtual ExprResult | ActOnPseudoDestructorExpr (Scope *S, ExprArg Base, SourceLocation OpLoc, tok::TokenKind OpKind, CXXScopeSpec &SS, UnqualifiedId &FirstTypeName, SourceLocation CCLoc, SourceLocation TildeLoc, UnqualifiedId &SecondTypeName, bool HasTrailingLParen) |
| Parsed a C++ pseudo-destructor expression or a dependent member access expression that has the same syntactic form as a pseudo-destructor expression. | |
| virtual ExprResult | ActOnFinishFullExpr (ExprArg Expr) |
| virtual BaseResult | ActOnBaseSpecifier (Decl *classdecl, SourceRange SpecifierRange, bool Virtual, AccessSpecifier Access, ParsedType basetype, SourceLocation BaseLoc) |
| ActOnBaseSpecifier - Parsed a base specifier. | |
| virtual void | ActOnBaseSpecifiers (Decl *ClassDecl, BaseTy **Bases, unsigned NumBases) |
| virtual Decl * | ActOnAccessSpecifier (AccessSpecifier AS, SourceLocation ASLoc, SourceLocation ColonLoc) |
| virtual Decl * | ActOnCXXMemberDeclarator (Scope *S, AccessSpecifier AS, Declarator &D, MultiTemplateParamsArg TemplateParameterLists, ExprTy *BitfieldWidth, ExprTy *Init, bool IsDefinition, bool Deleted=false) |
| virtual MemInitResult | ActOnMemInitializer (Decl *ConstructorDecl, Scope *S, CXXScopeSpec &SS, IdentifierInfo *MemberOrBase, ParsedType TemplateTypeTy, SourceLocation IdLoc, SourceLocation LParenLoc, ExprTy **Args, unsigned NumArgs, SourceLocation *CommaLocs, SourceLocation RParenLoc) |
| virtual void | ActOnMemInitializers (Decl *ConstructorDecl, SourceLocation ColonLoc, MemInitTy **MemInits, unsigned NumMemInits, bool AnyErrors) |
| virtual void | ActOnDefaultCtorInitializers (Decl *CDtorDecl) |
| virtual void | ActOnFinishCXXMemberSpecification (Scope *S, SourceLocation RLoc, Decl *TagDecl, SourceLocation LBrac, SourceLocation RBrac, AttributeList *AttrList) |
| virtual Decl * | ActOnTypeParameter (Scope *S, bool Typename, bool Ellipsis, SourceLocation EllipsisLoc, SourceLocation KeyLoc, IdentifierInfo *ParamName, SourceLocation ParamNameLoc, unsigned Depth, unsigned Position, SourceLocation EqualLoc, ParsedType DefaultArg) |
| Called when a C++ template type parameter(e.g., "typename T") has been parsed. | |
| virtual Decl * | ActOnNonTypeTemplateParameter (Scope *S, Declarator &D, unsigned Depth, unsigned Position, SourceLocation EqualLoc, ExprArg DefaultArg) |
| Called when a C++ non-type template parameter has been parsed. | |
| virtual void | ActOnNonTypeTemplateParameterDefault (Decl *TemplateParam, SourceLocation EqualLoc, ExprArg Default) |
| Adds a default argument to the given non-type template parameter. | |
| virtual Decl * | ActOnTemplateTemplateParameter (Scope *S, SourceLocation TmpLoc, TemplateParamsTy *Params, IdentifierInfo *ParamName, SourceLocation ParamNameLoc, unsigned Depth, unsigned Position, SourceLocation EqualLoc, const ParsedTemplateArgument &DefaultArg) |
| Called when a C++ template template parameter has been parsed. | |
| virtual TemplateParamsTy * | ActOnTemplateParameterList (unsigned Depth, SourceLocation ExportLoc, SourceLocation TemplateLoc, SourceLocation LAngleLoc, Decl **Params, unsigned NumParams, SourceLocation RAngleLoc) |
| virtual TypeResult | ActOnTemplateIdType (TemplateTy Template, SourceLocation TemplateLoc, SourceLocation LAngleLoc, ASTTemplateArgsPtr TemplateArgs, SourceLocation RAngleLoc) |
| Form a type from a template and a list of template arguments. | |
| virtual TypeResult | ActOnTagTemplateIdType (TypeResult Type, TagUseKind TUK, DeclSpec::TST TagSpec, SourceLocation TagLoc) |
| Note that a template ID was used with a tag. | |
| virtual TemplateNameKind | ActOnDependentTemplateName (Scope *S, SourceLocation TemplateKWLoc, CXXScopeSpec &SS, UnqualifiedId &Name, ParsedType ObjectType, bool EnteringContext, TemplateTy &Template) |
| Form a dependent template name. | |
| virtual DeclResult | ActOnClassTemplateSpecialization (Scope *S, unsigned TagSpec, TagUseKind TUK, SourceLocation KWLoc, CXXScopeSpec &SS, TemplateTy Template, SourceLocation TemplateNameLoc, SourceLocation LAngleLoc, ASTTemplateArgsPtr TemplateArgs, SourceLocation RAngleLoc, AttributeList *Attr, MultiTemplateParamsArg TemplateParameterLists)=0 |
| Process the declaration or definition of an explicit class template specialization or a class template partial specialization. | |
| virtual Decl * | ActOnTemplateDeclarator (Scope *S, MultiTemplateParamsArg TemplateParameterLists, Declarator &D) |
| Invoked when a declarator that has one or more template parameter lists has been parsed. | |
| virtual Decl * | ActOnStartOfFunctionTemplateDef (Scope *FnBodyScope, MultiTemplateParamsArg TemplateParameterLists, Declarator &D) |
| Invoked when the parser is beginning to parse a function template or function template specialization definition. | |
| virtual DeclResult | ActOnExplicitInstantiation (Scope *S, SourceLocation ExternLoc, SourceLocation TemplateLoc, unsigned TagSpec, SourceLocation KWLoc, const CXXScopeSpec &SS, TemplateTy Template, SourceLocation TemplateNameLoc, SourceLocation LAngleLoc, ASTTemplateArgsPtr TemplateArgs, SourceLocation RAngleLoc, AttributeList *Attr) |
| Process the explicit instantiation of a class template specialization. | |
| virtual DeclResult | ActOnExplicitInstantiation (Scope *S, SourceLocation ExternLoc, SourceLocation TemplateLoc, unsigned TagSpec, SourceLocation KWLoc, CXXScopeSpec &SS, IdentifierInfo *Name, SourceLocation NameLoc, AttributeList *Attr) |
| Process the explicit instantiation of a member class of a class template specialization. | |
| virtual DeclResult | ActOnExplicitInstantiation (Scope *S, SourceLocation ExternLoc, SourceLocation TemplateLoc, Declarator &D) |
| Process the explicit instantiation of a function template or a member of a class template. | |
| virtual TypeResult | ActOnTypenameType (Scope *S, SourceLocation TypenameLoc, const CXXScopeSpec &SS, const IdentifierInfo &II, SourceLocation IdLoc) |
| Called when the parser has parsed a C++ typename specifier that ends in an identifier, e.g., "typename T::type". | |
| virtual TypeResult | ActOnTypenameType (Scope *S, SourceLocation TypenameLoc, const CXXScopeSpec &SS, SourceLocation TemplateLoc, ParsedType Ty) |
| Called when the parser has parsed a C++ typename specifier that ends in a template-id, e.g., "typename MetaFun::template apply<T1, T2>". | |
| virtual void | ActOnStartSuppressingAccessChecks () |
| Called when the parser begins parsing a construct which should not have access control applied to it. | |
| virtual void | ActOnStopSuppressingAccessChecks () |
| Called when the parser finishes parsing a construct which should not have access control applied to it. | |
| virtual Decl * | ActOnStartClassInterface (SourceLocation AtInterfaceLoc, IdentifierInfo *ClassName, SourceLocation ClassLoc, IdentifierInfo *SuperName, SourceLocation SuperLoc, Decl *const *ProtoRefs, unsigned NumProtoRefs, const SourceLocation *ProtoLocs, SourceLocation EndProtoLoc, AttributeList *AttrList) |
| virtual Decl * | ActOnCompatiblityAlias (SourceLocation AtCompatibilityAliasLoc, IdentifierInfo *AliasName, SourceLocation AliasLocation, IdentifierInfo *ClassName, SourceLocation ClassLocation) |
| virtual Decl * | ActOnStartProtocolInterface (SourceLocation AtProtoLoc, IdentifierInfo *ProtocolName, SourceLocation ProtocolLoc, Decl *const *ProtoRefs, unsigned NumProtoRefs, const SourceLocation *ProtoLocs, SourceLocation EndProtoLoc, AttributeList *AttrList) |
| virtual Decl * | ActOnStartCategoryInterface (SourceLocation AtInterfaceLoc, IdentifierInfo *ClassName, SourceLocation ClassLoc, IdentifierInfo *CategoryName, SourceLocation CategoryLoc, Decl *const *ProtoRefs, unsigned NumProtoRefs, const SourceLocation *ProtoLocs, SourceLocation EndProtoLoc) |
| virtual Decl * | ActOnStartClassImplementation (SourceLocation AtClassImplLoc, IdentifierInfo *ClassName, SourceLocation ClassLoc, IdentifierInfo *SuperClassname, SourceLocation SuperClassLoc) |
| virtual Decl * | ActOnStartCategoryImplementation (SourceLocation AtCatImplLoc, IdentifierInfo *ClassName, SourceLocation ClassLoc, IdentifierInfo *CatName, SourceLocation CatLoc) |
| virtual Decl * | ActOnPropertyImplDecl (Scope *S, SourceLocation AtLoc, SourceLocation PropertyNameLoc, bool ImplKind, Decl *ClassImplDecl, IdentifierInfo *propertyId, IdentifierInfo *propertyIvar) |
| virtual Decl * | ActOnMethodDeclaration (SourceLocation BeginLoc, SourceLocation EndLoc, tok::TokenKind MethodType, Decl *ClassDecl, ObjCDeclSpec &ReturnQT, ParsedType ReturnType, Selector Sel, ObjCArgInfo *ArgInfo, DeclaratorChunk::ParamInfo *CParamInfo, unsigned CNumArgs, AttributeList *MethodAttrList, tok::ObjCKeywordKind impKind, bool isVariadic=false) |
| virtual void | ActOnAtEnd (Scope *S, SourceRange AtEnd, Decl *classDecl, Decl **allMethods=0, unsigned allNum=0, Decl **allProperties=0, unsigned pNum=0, DeclGroupPtrTy *allTUVars=0, unsigned tuvNum=0) |
| virtual Decl * | ActOnProperty (Scope *S, SourceLocation AtLoc, FieldDeclarator &FD, ObjCDeclSpec &ODS, Selector GetterSel, Selector SetterSel, Decl *ClassCategory, bool *OverridingProperty, tok::ObjCKeywordKind MethodImplKind) |
| virtual ExprResult | ActOnClassPropertyRefExpr (IdentifierInfo &receiverName, IdentifierInfo &propertyName, SourceLocation receiverNameLoc, SourceLocation propertyNameLoc) |
| virtual ObjCMessageKind | getObjCMessageKind (Scope *S, IdentifierInfo *Name, SourceLocation NameLoc, bool IsSuper, bool HasTrailingDot, ParsedType &ReceiverType)=0 |
| Determine the kind of Objective-C message send that we will be performing based on the identifier given. | |
| virtual ExprResult | ActOnSuperMessage (Scope *S, SourceLocation SuperLoc, Selector Sel, SourceLocation LBracLoc, SourceLocation SelectorLoc, SourceLocation RBracLoc, MultiExprArg Args)=0 |
| Parsed a message send to 'super'. | |
| virtual ExprResult | ActOnClassMessage (Scope *S, ParsedType Receiver, Selector Sel, SourceLocation LBracLoc, SourceLocation SelectorLoc, SourceLocation RBracLoc, MultiExprArg Args)=0 |
| Parsed a message send to a class. | |
| virtual ExprResult | ActOnInstanceMessage (Scope *S, ExprArg Receiver, Selector Sel, SourceLocation LBracLoc, SourceLocation SelectorLoc, SourceLocation RBracLoc, MultiExprArg Args)=0 |
| Parsed a message send to an object instance. | |
| virtual Decl * | ActOnForwardClassDeclaration (SourceLocation AtClassLoc, IdentifierInfo **IdentList, SourceLocation *IdentLocs, unsigned NumElts) |
| virtual Decl * | ActOnForwardProtocolDeclaration (SourceLocation AtProtocolLoc, const IdentifierLocPair *IdentList, unsigned NumElts, AttributeList *AttrList) |
| virtual void | FindProtocolDeclaration (bool WarnOnDeclarations, const IdentifierLocPair *ProtocolId, unsigned NumProtocols, llvm::SmallVectorImpl< Decl * > &ResProtos) |
| virtual ExprResult | ParseObjCStringLiteral (SourceLocation *AtLocs, ExprTy **Strings, unsigned NumStrings) |
| virtual ExprResult | ParseObjCEncodeExpression (SourceLocation AtLoc, SourceLocation EncLoc, SourceLocation LParenLoc, ParsedType Ty, SourceLocation RParenLoc) |
| virtual ExprResult | ParseObjCSelectorExpression (Selector Sel, SourceLocation AtLoc, SourceLocation SelLoc, SourceLocation LParenLoc, SourceLocation RParenLoc) |
| virtual ExprResult | ParseObjCProtocolExpression (IdentifierInfo *ProtocolId, SourceLocation AtLoc, SourceLocation ProtoLoc, SourceLocation LParenLoc, SourceLocation RParenLoc) |
| virtual void | ActOnPragmaOptionsAlign (PragmaOptionsAlignKind Kind, SourceLocation PragmaLoc, SourceLocation KindLoc) |
| virtual void | ActOnPragmaPack (PragmaPackKind Kind, IdentifierInfo *Name, ExprTy *Alignment, SourceLocation PragmaLoc, SourceLocation LParenLoc, SourceLocation RParenLoc) |
| ActOnPragmaPack - Called on well formed pragma pack(...). | |
| virtual void | ActOnPragmaUnused (const Token *Identifiers, unsigned NumIdentifiers, Scope *CurScope, SourceLocation PragmaLoc, SourceLocation LParenLoc, SourceLocation RParenLoc) |
| ActOnPragmaUnused - Called on well formed pragma unused(...). | |
| virtual void | ActOnPragmaVisibility (bool IsPush, const IdentifierInfo *VisType, SourceLocation PragmaLoc) |
| ActOnPragmaVisibility - Called on well formed pragma GCC visibility... . | |
| virtual void | ActOnPragmaWeakID (IdentifierInfo *WeakName, SourceLocation PragmaLoc, SourceLocation WeakNameLoc) |
| ActOnPragmaWeakID - Called on well formed pragma weak ident. | |
| virtual void | ActOnPragmaWeakAlias (IdentifierInfo *WeakName, IdentifierInfo *AliasName, SourceLocation PragmaLoc, SourceLocation WeakNameLoc, SourceLocation AliasNameLoc) |
| ActOnPragmaWeakAlias - Called on well formed pragma weak ident = ident. | |
Protected Member Functions | |
| Scope * | getCurScope () const |
| Retrieve the parser's current scope. | |
Friends | |
| class | Parser |
Code completion actions | |
These actions are used to signal that a code-completion token has been found at a point in the grammar where the Action implementation is likely to be able to provide a list of possible completions, e.g., after the "." or "->" of a member access expression.
| |
| enum | ParserCompletionContext { PCC_Namespace, PCC_Class, PCC_ObjCInterface, PCC_ObjCImplementation, PCC_ObjCInstanceVariableList, PCC_Template, PCC_MemberTemplate, PCC_Expression, PCC_Statement, PCC_ForInit, PCC_Condition, PCC_RecoveryInFunction, PCC_Type } |
Describes the context in which code completion occurs. More... | |
| virtual void | CodeCompleteOrdinaryName (Scope *S, ParserCompletionContext CompletionContext) |
| Code completion for an ordinary name that occurs within the given scope. | |
| virtual void | CodeCompleteDeclarator (Scope *S, bool AllowNonIdentifiers, bool AllowNestedNameSpecifiers) |
| Code completion for a declarator name. | |
| virtual void | CodeCompleteMemberReferenceExpr (Scope *S, ExprTy *Base, SourceLocation OpLoc, bool IsArrow) |
| Code completion for a member access expression. | |
| virtual void | CodeCompleteTag (Scope *S, unsigned TagSpec) |
| Code completion for a reference to a tag. | |
| virtual void | CodeCompleteCase (Scope *S) |
| Code completion for a case statement. | |
| virtual void | CodeCompleteCall (Scope *S, Expr *Fn, Expr **Args, unsigned NumArgs) |
| Code completion for a call. | |
| virtual void | CodeCompleteInitializer (Scope *S, Decl *D) |
| Code completion for the initializer of a variable declaration. | |
| virtual void | CodeCompleteReturn (Scope *S) |
| Code completion after the "return" keyword within a function. | |
| virtual void | CodeCompleteAssignmentRHS (Scope *S, ExprTy *LHS) |
| Code completion for the right-hand side of an assignment or compound assignment operator. | |
| virtual void | CodeCompleteQualifiedId (Scope *S, CXXScopeSpec &SS, bool EnteringContext) |
| Code completion for a C++ nested-name-specifier that precedes a qualified-id of some form. | |
| virtual void | CodeCompleteUsing (Scope *S) |
| Code completion for a C++ "using" declaration or directive. | |
| virtual void | CodeCompleteUsingDirective (Scope *S) |
| Code completion for a C++ using directive. | |
| virtual void | CodeCompleteNamespaceDecl (Scope *S) |
| Code completion for a C++ namespace declaration or namespace alias declaration. | |
| virtual void | CodeCompleteNamespaceAliasDecl (Scope *S) |
| Code completion for a C++ namespace alias declaration. | |
| virtual void | CodeCompleteOperatorName (Scope *S) |
| Code completion for an operator name. | |
| virtual void | CodeCompleteObjCAtDirective (Scope *S, Decl *ObjCImpDecl, bool InInterface) |
| Code completion after the '@' at the top level. | |
| virtual void | CodeCompleteObjCAtVisibility (Scope *S) |
| Code completion after the '@' in the list of instance variables. | |
| virtual void | CodeCompleteObjCAtStatement (Scope *S) |
| Code completion after the '@' in a statement. | |
| virtual void | CodeCompleteObjCAtExpression (Scope *S) |
| Code completion after the '@' in an expression. | |
| virtual void | CodeCompleteObjCPropertyFlags (Scope *S, ObjCDeclSpec &ODS) |
| Code completion for an ObjC property decl. | |
| virtual void | CodeCompleteObjCPropertyGetter (Scope *S, Decl *ClassDecl, Decl **Methods, unsigned NumMethods) |
| Code completion for the getter of an Objective-C property declaration. | |
| virtual void | CodeCompleteObjCPropertySetter (Scope *S, Decl *ClassDecl, Decl **Methods, unsigned NumMethods) |
| Code completion for the setter of an Objective-C property declaration. | |
| virtual void | CodeCompleteObjCPassingType (Scope *S, ObjCDeclSpec &DS) |
| Code completion for an Objective-C method parameter or return type. | |
| virtual void | CodeCompleteObjCMessageReceiver (Scope *S) |
| Code completion for the receiver in an Objective-C message send. | |
| virtual void | CodeCompleteObjCSuperMessage (Scope *S, SourceLocation SuperLoc, IdentifierInfo **SelIdents, unsigned NumSelIdents) |
| Code completion for an ObjC message expression that sends a message to the superclass. | |
| virtual void | CodeCompleteObjCClassMessage (Scope *S, ParsedType Receiver, IdentifierInfo **SelIdents, unsigned NumSelIdents) |
| Code completion for an ObjC message expression that refers to a class method. | |
| virtual void | CodeCompleteObjCInstanceMessage (Scope *S, ExprTy *Receiver, IdentifierInfo **SelIdents, unsigned NumSelIdents) |
| Code completion for an ObjC message expression that refers to an instance method. | |
| virtual void | CodeCompleteObjCForCollection (Scope *S, DeclGroupPtrTy IterationVar) |
| Code completion for the collection argument of an Objective-C for-each statement. | |
| virtual void | CodeCompleteObjCProtocolReferences (IdentifierLocPair *Protocols, unsigned NumProtocols) |
Code completion for a list of protocol references in Objective-C, such as P1 and P2 in id<P1,P2>. | |
| virtual void | CodeCompleteObjCProtocolDecl (Scope *S) |
| virtual void | CodeCompleteObjCInterfaceDecl (Scope *S) |
| virtual void | CodeCompleteObjCSuperclass (Scope *S, IdentifierInfo *ClassName, SourceLocation ClassNameLoc) |
| Code completion for the superclass of an Objective-C interface, after the ':'. | |
| virtual void | CodeCompleteObjCImplementationDecl (Scope *S) |
| Code completion for an Objective-C implementation, after the but before any identifier. | |
| virtual void | CodeCompleteObjCInterfaceCategory (Scope *S, IdentifierInfo *ClassName, SourceLocation ClassNameLoc) |
| Code completion for the category name in an Objective-C interface declaration. | |
| virtual void | CodeCompleteObjCImplementationCategory (Scope *S, IdentifierInfo *ClassName, SourceLocation ClassNameLoc) |
| Code completion for the category name in an Objective-C category implementation. | |
| virtual void | CodeCompleteObjCPropertyDefinition (Scope *S, Decl *ObjCImpDecl) |
| Code completion for the property names when defining an Objective-C property. | |
| virtual void | CodeCompleteObjCPropertySynthesizeIvar (Scope *S, IdentifierInfo *PropertyName, Decl *ObjCImpDecl) |
| Code completion for the instance variable name that should follow an '=' when synthesizing an Objective-C property. | |
| virtual void | CodeCompleteObjCMethodDecl (Scope *S, bool IsInstanceMethod, ParsedType ReturnType, Decl *IDecl) |
| Code completion for an Objective-C method declaration or definition, which may occur within an interface, category, extension, protocol, or implementation thereof (where applicable). | |
| virtual void | CodeCompleteObjCMethodDeclSelector (Scope *S, bool IsInstanceMethod, bool AtParameterName, ParsedType ReturnType, IdentifierInfo **SelIdents, unsigned NumSelIdents) |
| Code completion for a selector identifier or argument name within an Objective-C method declaration. | |
| virtual void | CodeCompletePreprocessorDirective (bool InConditional) |
| Code completion for a preprocessor directive. | |
| virtual void | CodeCompleteInPreprocessorConditionalExclusion (Scope *S) |
| Code completion while in an area of the translation unit that was excluded due to preprocessor conditionals. | |
| virtual void | CodeCompletePreprocessorMacroName (bool IsDefinition) |
| Code completion in the preprocessor where an already-defined macro name is expected, e.g., an ifdef or undef. | |
| virtual void | CodeCompletePreprocessorExpression () |
| Callback invoked when performing code completion in a preprocessor expression, such as the condition of an if or elif directive. | |
| virtual void | CodeCompletePreprocessorMacroArgument (Scope *S, IdentifierInfo *Macro, MacroInfo *MacroInfo, unsigned Argument) |
| Callback invoked when performing code completion inside a function-like macro argument. | |
| virtual void | CodeCompleteNaturalLanguage () |
| Callback invoked when performing code completion in a context where we expect a natural language, e.g., inside a comment or string. | |
Action - As the parser reads the input file and recognizes the productions of the grammar, it invokes methods on this class to turn the parsed input into something useful: e.g. a parse tree.
The callback methods that this class provides are phrased as actions that the parser has just done or is about to do when the method is called. They are not requests that the actions module do the specified action.
All of the methods here are optional except getTypeName() and isCurrentClassName(), which must be specified in order for the parse to complete accurately.
Definition at line 59 of file Sema/Action.h.
| typedef Attr clang::Action::AttrTy |
Definition at line 85 of file Sema/Action.h.
Definition at line 99 of file Sema/Action.h.
Definition at line 86 of file Sema/Action.h.
Definition at line 91 of file Sema/Action.h.
Definition at line 82 of file Sema/Action.h.
Definition at line 100 of file Sema/Action.h.
| typedef Expr* clang::Action::ExprArg |
Single expressions or statements as arguments.
Definition at line 104 of file Sema/Action.h.
Expr/Stmt/Type/BaseResult - Provide a unique type to wrap ExprTy/StmtTy/TypeTy/BaseTy, providing strong typing and allowing for failure.
Definition at line 96 of file Sema/Action.h.
| typedef Expr clang::Action::ExprTy |
Definition at line 88 of file Sema/Action.h.
Definition at line 101 of file Sema/Action.h.
Definition at line 87 of file Sema/Action.h.
| typedef ASTMultiPtr<Expr*> clang::Action::MultiExprArg |
Multiple expressions or statements as arguments.
Definition at line 108 of file Sema/Action.h.
| typedef ASTMultiPtr<Stmt*> clang::Action::MultiStmtArg |
Definition at line 109 of file Sema/Action.h.
Definition at line 110 of file Sema/Action.h.
| typedef uintptr_t clang::Action::ParsingDeclStackState |
Definition at line 167 of file Sema/Action.h.
| typedef Stmt* clang::Action::StmtArg |
Definition at line 105 of file Sema/Action.h.
Definition at line 97 of file Sema/Action.h.
| typedef Stmt clang::Action::StmtTy |
Definition at line 89 of file Sema/Action.h.
Definition at line 90 of file Sema/Action.h.
Definition at line 83 of file Sema/Action.h.
Definition at line 98 of file Sema/Action.h.
| typedef OpaquePtr<QualType> clang::Action::TypeTy |
Definition at line 84 of file Sema/Action.h.
Describes how the expressions currently being parsed are evaluated at run-time, if at all.
| Unevaluated |
The current expression and its subexpressions occur within an unevaluated operand (C++0x [expr]p8), such as a constant expression or the subexpression of |
| PotentiallyEvaluated |
The current expression is potentially evaluated at run time, which means that code may be generated to evaluate the value of the expression at run time. |
| PotentiallyPotentiallyEvaluated |
The current expression may be potentially evaluated or it may be unevaluated, but it is impossible to tell from the lexical context. This evaluation context is used primary for the operand of the C++ |
Definition at line 1036 of file Sema/Action.h.
Describes the kind of message expression indicated by a message send that starts with an identifier.
| ObjCSuperMessage |
The message is sent to 'super'. |
| ObjCInstanceMessage |
The message is an instance message. |
| ObjCClassMessage |
The message is a class message, and the identifier is a type name. |
Definition at line 2523 of file Sema/Action.h.
Describes the context in which code completion occurs.
| PCC_Namespace |
Code completion occurs at top-level or namespace context. |
| PCC_Class |
Code completion occurs within a class, struct, or union. |
| PCC_ObjCInterface |
Code completion occurs within an Objective-C interface, protocol, or category. |
| PCC_ObjCImplementation |
Code completion occurs within an Objective-C implementation or category implementation. |
| PCC_ObjCInstanceVariableList |
Code completion occurs within the list of instance variables in an Objective-C interface, protocol, category, or implementation. |
| PCC_Template |
Code completion occurs following one or more template headers. |
| PCC_MemberTemplate |
Code completion occurs following one or more template headers within a class. |
| PCC_Expression |
Code completion occurs within an expression. |
| PCC_Statement |
Code completion occurs within a statement, which may also be an expression or a declaration. |
| PCC_ForInit |
Code completion occurs at the beginning of the initialization statement (or expression) in a for loop. |
| PCC_Condition |
Code completion occurs within the condition of an if, while, switch, or for statement. |
| PCC_RecoveryInFunction |
Code completion occurs within the body of a function on a recovery path, where we do not have a specific handle on our position in the grammar. |
| PCC_Type |
Code completion occurs where only a type is permitted. |
Definition at line 2759 of file Sema/Action.h.
Definition at line 2677 of file Sema/Action.h.
Definition at line 2694 of file Sema/Action.h.
Definition at line 626 of file Sema/Action.h.
| clang::Action::Action | ( | ) | [inline] |
Definition at line 73 of file Sema/Action.h.
| Action::~Action | ( | ) | [virtual] |
Out-of-line virtual destructor to provide home for this class.
Out-of-line virtual destructor to provide home for Action class.
Definition at line 38 of file Sema/Action.cpp.
| virtual Decl* clang::Action::ActOnAccessSpecifier | ( | AccessSpecifier | AS, | |
| SourceLocation | ASLoc, | |||
| SourceLocation | ColonLoc | |||
| ) | [inline, virtual] |
ActOnAccessSpecifier - This is invoked when an access specifier (and the colon following it) is found during the parsing of a C++ class member declarator.
Reimplemented in clang::Sema.
Definition at line 1799 of file Sema/Action.h.
| virtual ExprResult clang::Action::ActOnAddrLabel | ( | SourceLocation | OpLoc, | |
| SourceLocation | LabLoc, | |||
| IdentifierInfo * | LabelII | |||
| ) | [inline, virtual] |
Reimplemented in clang::Sema.
Definition at line 1261 of file Sema/Action.h.
References ExprEmpty().
| virtual ExprResult clang::Action::ActOnArraySubscriptExpr | ( | Scope * | S, | |
| ExprArg | Base, | |||
| SourceLocation | LLoc, | |||
| ExprArg | Idx, | |||
| SourceLocation | RLoc | |||
| ) | [inline, virtual] |
Reimplemented in clang::Sema.
Definition at line 1138 of file Sema/Action.h.
References ExprEmpty().
| virtual StmtResult clang::Action::ActOnAsmStmt | ( | SourceLocation | AsmLoc, | |
| bool | IsSimple, | |||
| bool | IsVolatile, | |||
| unsigned | NumOutputs, | |||
| unsigned | NumInputs, | |||
| IdentifierInfo ** | Names, | |||
| MultiExprArg | Constraints, | |||
| MultiExprArg | Exprs, | |||
| ExprArg | AsmString, | |||
| MultiExprArg | Clobbers, | |||
| SourceLocation | RParenLoc, | |||
| bool | MSAsm = false | |||
| ) | [inline, virtual] |
| virtual void clang::Action::ActOnAtEnd | ( | Scope * | S, | |
| SourceRange | AtEnd, | |||
| Decl * | classDecl, | |||
| Decl ** | allMethods = 0, |
|||
| unsigned | allNum = 0, |
|||
| Decl ** | allProperties = 0, |
|||
| unsigned | pNum = 0, |
|||
| DeclGroupPtrTy * | allTUVars = 0, |
|||
| unsigned | tuvNum = 0 | |||
| ) | [inline, virtual] |
Reimplemented in clang::Sema.
Definition at line 2494 of file Sema/Action.h.
Referenced by clang::Parser::FinishPendingObjCActions().
| virtual BaseResult clang::Action::ActOnBaseSpecifier | ( | Decl * | classdecl, | |
| SourceRange | SpecifierRange, | |||
| bool | Virtual, | |||
| AccessSpecifier | Access, | |||
| ParsedType | basetype, | |||
| SourceLocation | BaseLoc | |||
| ) | [inline, virtual] |
ActOnBaseSpecifier - Parsed a base specifier.
Reimplemented in clang::Sema.
Definition at line 1784 of file Sema/Action.h.
| virtual void clang::Action::ActOnBaseSpecifiers | ( | Decl * | ClassDecl, | |
| BaseTy ** | Bases, | |||
| unsigned | NumBases | |||
| ) | [inline, virtual] |
Reimplemented in clang::Sema.
Definition at line 1792 of file Sema/Action.h.
| virtual ExprResult clang::Action::ActOnBinOp | ( | Scope * | S, | |
| SourceLocation | TokLoc, | |||
| tok::TokenKind | Kind, | |||
| ExprArg | LHS, | |||
| ExprArg | RHS | |||
| ) | [inline, virtual] |
Reimplemented in clang::Sema.
Definition at line 1244 of file Sema/Action.h.
References ExprEmpty().
| virtual void clang::Action::ActOnBlockArguments | ( | Declarator & | ParamInfo, | |
| Scope * | CurScope | |||
| ) | [inline, virtual] |
ActOnBlockArguments - This callback allows processing of block arguments. If there are no arguments, this is still invoked.
Reimplemented in clang::Sema.
Definition at line 1327 of file Sema/Action.h.
| virtual void clang::Action::ActOnBlockError | ( | SourceLocation | CaretLoc, | |
| Scope * | CurScope | |||
| ) | [inline, virtual] |
ActOnBlockError - If there is an error parsing a block, this callback is invoked to pop the information about the block from the action impl.
Reimplemented in clang::Sema.
Definition at line 1331 of file Sema/Action.h.
| virtual void clang::Action::ActOnBlockStart | ( | SourceLocation | CaretLoc, | |
| Scope * | CurScope | |||
| ) | [inline, virtual] |
ActOnBlockStart - This callback is invoked when a block literal is started. The result pointer is passed into the block finalizers.
Reimplemented in clang::Sema.
Definition at line 1323 of file Sema/Action.h.
| virtual ExprResult clang::Action::ActOnBlockStmtExpr | ( | SourceLocation | CaretLoc, | |
| StmtArg | Body, | |||
| Scope * | CurScope | |||
| ) | [inline, virtual] |
ActOnBlockStmtExpr - This is called when the body of a block statement literal was successfully completed. ^(int x){...}
Reimplemented in clang::Sema.
Definition at line 1335 of file Sema/Action.h.
References ExprEmpty().
| virtual ExprResult clang::Action::ActOnBooleanCondition | ( | Scope * | S, | |
| SourceLocation | Loc, | |||
| ExprArg | SubExpr | |||
| ) | [inline, virtual] |
Parsed an expression that will be handled as the condition in an if/while/for statement.
This routine handles the conversion of the expression to 'bool'.
| S | The scope in which the expression occurs. | |
| Loc | The location of the construct that requires the conversion to a boolean value. | |
| SubExpr | The expression that is being converted to bool. |
Reimplemented in clang::Sema.
Definition at line 1636 of file Sema/Action.h.
References clang::move().
| virtual StmtResult clang::Action::ActOnBreakStmt | ( | SourceLocation | GotoLoc, | |
| Scope * | CurScope | |||
| ) | [inline, virtual] |
| virtual ExprResult clang::Action::ActOnBuiltinOffsetOf | ( | Scope * | S, | |
| SourceLocation | BuiltinLoc, | |||
| SourceLocation | TypeLoc, | |||
| ParsedType | Arg1, | |||
| OffsetOfComponent * | CompPtr, | |||
| unsigned | NumComponents, | |||
| SourceLocation | RParenLoc | |||
| ) | [inline, virtual] |
Reimplemented in clang::Sema.
Definition at line 1282 of file Sema/Action.h.
References ExprEmpty().
| virtual ExprResult clang::Action::ActOnCallExpr | ( | Scope * | S, | |
| ExprArg | Fn, | |||
| SourceLocation | LParenLoc, | |||
| MultiExprArg | Args, | |||
| SourceLocation * | CommaLocs, | |||
| SourceLocation | RParenLoc | |||
| ) | [inline, virtual] |
ActOnCallExpr - Handle a call to Fn with the specified array of arguments. This provides the location of the left/right parens and a list of comma locations. There are guaranteed to be one fewer commas than arguments, unless there are zero arguments.
Reimplemented in clang::Sema.
Definition at line 1184 of file Sema/Action.h.
References ExprEmpty().
| virtual StmtResult clang::Action::ActOnCaseStmt | ( | SourceLocation | CaseLoc, | |
| ExprArg | LHSVal, | |||
| SourceLocation | DotDotDotLoc, | |||
| ExprArg | RHSVal, | |||
| SourceLocation | ColonLoc | |||
| ) | [inline, virtual] |
ActOnCaseStmt - Note that this handles the GNU 'case 1 ... 4' extension, which can specify an RHS value. The sub-statement of the case is specified in a separate action.
Reimplemented in clang::Sema.
Definition at line 795 of file Sema/Action.h.
References StmtEmpty().
| virtual void clang::Action::ActOnCaseStmtBody | ( | StmtTy * | CaseStmt, | |
| StmtArg | SubStmt | |||
| ) | [inline, virtual] |
ActOnCaseStmtBody - This installs a statement as the body of a case.
Reimplemented in clang::Sema.
Definition at line 803 of file Sema/Action.h.
| virtual ExprResult clang::Action::ActOnCastExpr | ( | Scope * | S, | |
| SourceLocation | LParenLoc, | |||
| ParsedType | Ty, | |||
| SourceLocation | RParenLoc, | |||
| ExprArg | Op | |||
| ) | [inline, virtual] |
Reimplemented in clang::Sema.
Definition at line 1234 of file Sema/Action.h.
References ExprEmpty().
| virtual ExprResult clang::Action::ActOnCharacterConstant | ( | const Token & | ) | [inline, virtual] |
Reimplemented in clang::Sema.
Definition at line 1105 of file Sema/Action.h.
References ExprEmpty().
| virtual ExprResult clang::Action::ActOnChooseExpr | ( | SourceLocation | BuiltinLoc, | |
| ExprArg | cond, | |||
| ExprArg | expr1, | |||
| ExprArg | expr2, | |||
| SourceLocation | RPLoc | |||
| ) | [inline, virtual] |
Definition at line 1300 of file Sema/Action.h.
References ExprEmpty().
| virtual ExprResult clang::Action::ActOnClassMessage | ( | Scope * | S, | |
| ParsedType | Receiver, | |||
| Selector | Sel, | |||
| SourceLocation | LBracLoc, | |||
| SourceLocation | SelectorLoc, | |||
| SourceLocation | RBracLoc, | |||
| MultiExprArg | Args | |||
| ) | [pure virtual] |
Parsed a message send to a class.
| S | The scope in which the message send occurs. | |
| Receiver | The type of the class receiving the message. | |
| Sel | The selector to which the message is being sent. | |
| LBracLoc | The location of the opening square bracket ']'. | |
| SelectorLoc | The location of the first identifier in the selector. | |
| RBrac | The location of the closing square bracket ']'. | |
| Args | The message arguments. |
Implemented in clang::Sema.
| virtual ExprResult clang::Action::ActOnClassPropertyRefExpr | ( | IdentifierInfo & | receiverName, | |
| IdentifierInfo & | propertyName, | |||
| SourceLocation | receiverNameLoc, | |||
| SourceLocation | propertyNameLoc | |||
| ) | [inline, virtual] |
Reimplemented in clang::Sema.
Definition at line 2514 of file Sema/Action.h.
References ExprEmpty().
| virtual DeclResult clang::Action::ActOnClassTemplateSpecialization | ( | Scope * | S, | |
| unsigned | TagSpec, | |||
| TagUseKind | TUK, | |||
| SourceLocation | KWLoc, | |||
| CXXScopeSpec & | SS, | |||
| TemplateTy | Template, | |||
| SourceLocation | TemplateNameLoc, | |||
| SourceLocation | LAngleLoc, | |||
| ASTTemplateArgsPtr | TemplateArgs, | |||
| SourceLocation | RAngleLoc, | |||
| AttributeList * | Attr, | |||
| MultiTemplateParamsArg | TemplateParameterLists | |||
| ) | [pure virtual] |
Process the declaration or definition of an explicit class template specialization or a class template partial specialization.
This routine is invoked when an explicit class template specialization or a class template partial specialization is declared or defined, to introduce the (partial) specialization and produce a declaration for it. In the following example, ActOnClassTemplateSpecialization will be invoked for the declarations at both A and B:
template<typename T> class X; template<> class X<int> { }; // A: explicit specialization template<typename T> class X<T*> { }; // B: partial specialization
Note that it is the job of semantic analysis to determine which of the two cases actually occurred in the source code, since they are parsed through the same path. The formulation of the template parameter lists describes which case we are in.
| S | the current scope | |
| TagSpec | whether this declares a class, struct, or union (template) | |
| TUK | whether this is a declaration or a definition | |
| KWLoc | the location of the 'class', 'struct', or 'union' keyword. | |
| SS | the scope specifier preceding the template-id | |
| Template | the declaration of the class template that we are specializing. | |
| Attr | attributes on the specialization | |
| TemplateParameterLists | the set of template parameter lists that apply to this declaration. In a well-formed program, the number of template parameter lists will be one more than the number of template-ids in the scope specifier. However, it is common for users to provide the wrong number of template parameter lists (such as a missing template<> prior to a specialization); the parser does not check this condition. |
Implemented in clang::Sema.
| virtual Decl* clang::Action::ActOnCompatiblityAlias | ( | SourceLocation | AtCompatibilityAliasLoc, | |
| IdentifierInfo * | AliasName, | |||
| SourceLocation | AliasLocation, | |||
| IdentifierInfo * | ClassName, | |||
| SourceLocation | ClassLocation | |||
| ) | [inline, virtual] |
ActOnCompatiblityAlias - this action is called after complete parsing of declaration. It sets up the alias relationships.
Reimplemented in clang::Sema.
Definition at line 2395 of file Sema/Action.h.
| virtual ExprResult clang::Action::ActOnCompoundLiteral | ( | SourceLocation | LParen, | |
| ParsedType | Ty, | |||
| SourceLocation | RParen, | |||
| ExprArg | Op | |||
| ) | [inline, virtual] |
Reimplemented in clang::Sema.
Definition at line 1203 of file Sema/Action.h.
References ExprEmpty().
| virtual StmtResult clang::Action::ActOnCompoundStmt | ( | SourceLocation | L, | |
| SourceLocation | R, | |||
| MultiStmtArg | Elts, | |||
| bool | isStmtExpr | |||
| ) | [inline, virtual] |
| virtual ExprResult clang::Action::ActOnConditionalOp | ( | SourceLocation | QuestionLoc, | |
| SourceLocation | ColonLoc, | |||
| ExprArg | Cond, | |||
| ExprArg | LHS, | |||
| ExprArg | RHS | |||
| ) | [inline, virtual] |
ActOnConditionalOp - Parse a ?: operation. Note that 'LHS' may be null in the case of a the GNU conditional expr extension.
Reimplemented in clang::Sema.
Definition at line 1252 of file Sema/Action.h.
References ExprEmpty().
| virtual StmtResult clang::Action::ActOnContinueStmt | ( | SourceLocation | ContinueLoc, | |
| Scope * | CurScope | |||
| ) | [inline, virtual] |
| virtual ExprResult clang::Action::ActOnCXXBoolLiteral | ( | SourceLocation | OpLoc, | |
| tok::TokenKind | Kind | |||
| ) | [inline, virtual] |
ActOnCXXBoolLiteral - Parse {true,false} literals.
Reimplemented in clang::Sema.
Definition at line 1581 of file Sema/Action.h.
References ExprEmpty().
| virtual StmtResult clang::Action::ActOnCXXCatchBlock | ( | SourceLocation | CatchLoc, | |
| Decl * | ExceptionDecl, | |||
| StmtArg | HandlerBlock | |||
| ) | [inline, virtual] |
Reimplemented in clang::Sema.
Definition at line 1018 of file Sema/Action.h.
References StmtEmpty().
| virtual DeclResult clang::Action::ActOnCXXConditionDeclaration | ( | Scope * | S, | |
| Declarator & | D | |||
| ) | [pure virtual] |
Parsed a condition declaration in a C++ if, switch, or while statement.
This callback will be invoked after parsing the declaration of "x" in
if (int x = f()) { // ... }
| S | the scope of the if, switch, or while statement. | |
| D | the declarator that that describes the variable being declared. |
Implemented in clang::Sema.
| virtual ExprResult clang::Action::ActOnCXXDelete | ( | SourceLocation | StartLoc, | |
| bool | UseGlobal, | |||
| bool | ArrayForm, | |||
| ExprArg | Operand | |||
| ) | [inline, virtual] |
ActOnCXXDelete - Parsed a C++ 'delete' expression. UseGlobal is true if the delete was qualified (delete). ArrayForm is true if the array form was used (delete[]).
Reimplemented in clang::Sema.
Definition at line 1683 of file Sema/Action.h.
References ExprEmpty().
| virtual bool clang::Action::ActOnCXXEnterDeclaratorScope | ( | Scope * | S, | |
| CXXScopeSpec & | SS | |||
| ) | [inline, virtual] |
ActOnCXXEnterDeclaratorScope - Called when a C++ scope specifier (global scope or nested-name-specifier) is parsed as part of a declarator-id. After this method is called, according to [C++ 3.4.3p3], names should be looked up in the declarator-id's scope, until the declarator is parsed and ActOnCXXExitDeclaratorScope is called. The 'SS' should be a non-empty valid CXXScopeSpec.
Reimplemented in clang::Sema.
Definition at line 448 of file Sema/Action.h.
| virtual void clang::Action::ActOnCXXEnterDeclInitializer | ( | Scope * | S, | |
| Decl * | Dcl | |||
| ) | [inline, virtual] |
ActOnCXXEnterDeclInitializer - Invoked when we are about to parse an initializer for the declaration 'Dcl'. After this method is called, according to [C++ 3.4.1p13], if 'Dcl' is a static data member of class X, names should be looked up in the scope of class X.
Reimplemented in clang::Sema.
Definition at line 465 of file Sema/Action.h.
| virtual void clang::Action::ActOnCXXExitDeclaratorScope | ( | Scope * | S, | |
| const CXXScopeSpec & | SS | |||
| ) | [inline, virtual] |
ActOnCXXExitDeclaratorScope - Called when a declarator that previously invoked ActOnCXXEnterDeclaratorScope(), is finished. 'SS' is the same CXXScopeSpec that was passed to ActOnCXXEnterDeclaratorScope as well. Used to indicate that names should revert to being looked up in the defining scope.
Reimplemented in clang::Sema.
Definition at line 457 of file Sema/Action.h.
ActOnCXXExitDeclInitializer - Invoked after we are finished parsing an initializer for the declaration 'Dcl'.
Reimplemented in clang::Sema.
Definition at line 470 of file Sema/Action.h.
| virtual CXXScopeTy* clang::Action::ActOnCXXGlobalScopeSpecifier | ( | Scope * | S, | |
| SourceLocation | CCLoc | |||
| ) | [inline, virtual] |
ActOnCXXGlobalScopeSpecifier - Return the object that represents the global scope ('::').
Reimplemented in clang::Sema.
Definition at line 358 of file Sema/Action.h.
| virtual Decl* clang::Action::ActOnCXXMemberDeclarator | ( | Scope * | S, | |
| AccessSpecifier | AS, | |||
| Declarator & | D, | |||
| MultiTemplateParamsArg | TemplateParameterLists, | |||
| ExprTy * | BitfieldWidth, | |||
| ExprTy * | Init, | |||
| bool | IsDefinition, | |||
| bool | Deleted = false | |||
| ) | [inline, virtual] |
ActOnCXXMemberDeclarator - This is invoked when a C++ class member declarator is parsed. 'AS' is the access specifier, 'BitfieldWidth' specifies the bitfield width if there is one and 'Init' specifies the initializer if any. 'Deleted' is true if there's a =delete specifier on the function.
Reimplemented in clang::Sema.
Definition at line 1810 of file Sema/Action.h.
| virtual ExprResult clang::Action::ActOnCXXNamedCast | ( | SourceLocation | OpLoc, | |
| tok::TokenKind | Kind, | |||
| SourceLocation | LAngleBracketLoc, | |||
| ParsedType | Ty, | |||
| SourceLocation | RAngleBracketLoc, | |||
| SourceLocation | LParenLoc, | |||
| ExprArg | Op, | |||
| SourceLocation | RParenLoc | |||
| ) | [inline, virtual] |
ActOnCXXNamedCast - Parse {dynamic,static,reinterpret,const}_cast's.
Reimplemented in clang::Sema.
Definition at line 1556 of file Sema/Action.h.
References ExprEmpty().
| virtual CXXScopeTy* clang::Action::ActOnCXXNestedNameSpecifier | ( | Scope * | S, | |
| const CXXScopeSpec & | SS, | |||
| ParsedType | Type, | |||
| SourceRange | TypeRange, | |||
| SourceLocation | CCLoc | |||
| ) | [inline, virtual] |
ActOnCXXNestedNameSpecifier - Called during parsing of a nested-name-specifier that involves a template-id, e.g., "foo::bar<int, float>::", and now we need to build a scope specifier. SS is empty or the previously parsed nested-name part ("foo::"), Type is the already-parsed class template specialization (or other template-id that names a type), TypeRange is the source range where the type is located, and CCLoc is the location of the trailing '::'.
Reimplemented in clang::Sema.
Definition at line 422 of file Sema/Action.h.
| virtual CXXScopeTy* clang::Action::ActOnCXXNestedNameSpecifier | ( | Scope * | S, | |
| CXXScopeSpec & | SS, | |||
| SourceLocation | IdLoc, | |||
| SourceLocation | CCLoc, | |||
| IdentifierInfo & | II, | |||
| ParsedType | ObjectType, | |||
| bool | EnteringContext | |||
| ) | [inline, virtual] |
Parsed an identifier followed by '::' in a C++ nested-name-specifier.
| S | the scope in which the nested-name-specifier was parsed. | |
| SS | the nested-name-specifier that precedes the identifier. For example, if we are parsing "foo::bar::", SS will describe the "foo::" that has already been parsed. | |
| IdLoc | the location of the identifier we have just parsed (e.g., the "bar" in "foo::bar::". | |
| CCLoc | the location of the '::' at the end of the nested-name-specifier. | |
| II | the identifier that represents the scope that this nested-name-specifier refers to, e.g., the "bar" in "foo::bar::". | |
| ObjectType | if this nested-name-specifier occurs as part of a C++ member access expression such as "x->Base::f", the type of the base object (e.g., *x in the example, if "x" were a pointer). | |
| EnteringContext | if true, then we intend to immediately enter the context of this nested-name-specifier, e.g., for an out-of-line definition of a class member. |
Reimplemented in clang::Sema.
Definition at line 390 of file Sema/Action.h.
| virtual ExprResult clang::Action::ActOnCXXNew | ( | SourceLocation | StartLoc, | |
| bool | UseGlobal, | |||
| SourceLocation | PlacementLParen, | |||
| MultiExprArg | PlacementArgs, | |||
| SourceLocation | PlacementRParen, | |||
| SourceRange | TypeIdParens, | |||
| Declarator & | D, | |||
| SourceLocation | ConstructorLParen, | |||
| MultiExprArg | ConstructorArgs, | |||
| SourceLocation | ConstructorRParen | |||
| ) | [inline, virtual] |
Parsed a C++ 'new' expression.
| StartLoc | The start of the new expression, which is either the "new" keyword or the "::" preceding it, depending on UseGlobal. | |
| UseGlobal | True if the "new" was qualified with "::". | |
| PlacementLParen | The location of the opening parenthesis ('(') for the placement arguments, if any. | |
| PlacementArgs | The placement arguments, if any. | |
| PlacementRParen | The location of the closing parenthesis (')') for the placement arguments, if any. | |
| TypeIdParens | If the type was expressed as a type-id in parentheses, the source range covering the parenthesized type-id. | |
| D | The parsed declarator, which may include an array size (for array new) as the first declarator. | |
| ConstructorLParen | The location of the opening parenthesis ('(') for the constructor arguments, if any. | |
| ConstructorArgs | The constructor arguments, if any. | |
| ConstructorRParen | The location of the closing parenthesis (')') for the constructor arguments, if any. |
Reimplemented in clang::Sema.
Definition at line 1669 of file Sema/Action.h.
References ExprEmpty().
| virtual ExprResult clang::Action::ActOnCXXNullPtrLiteral | ( | SourceLocation | Loc | ) | [inline, virtual] |
ActOnCXXNullPtrLiteral - Parse 'nullptr'.
Reimplemented in clang::Sema.
Definition at line 1587 of file Sema/Action.h.
References ExprEmpty().
| virtual ExprResult clang::Action::ActOnCXXThis | ( | SourceLocation | ThisLoc | ) | [inline, virtual] |
ActOnCXXThis - Parse the C++ 'this' pointer.
Reimplemented in clang::Sema.
Definition at line 1576 of file Sema/Action.h.
References ExprEmpty().
| virtual ExprResult clang::Action::ActOnCXXThrow | ( | SourceLocation | OpLoc, | |
| ExprArg | Op | |||
| ) | [inline, virtual] |
ActOnCXXThrow - Parse throw expressions.
Reimplemented in clang::Sema.
Definition at line 1592 of file Sema/Action.h.
References ExprEmpty().
| virtual StmtResult clang::Action::ActOnCXXTryBlock | ( | SourceLocation | TryLoc, | |
| StmtArg | TryBlock, | |||
| MultiStmtArg | Handlers | |||
| ) | [inline, virtual] |
Reimplemented in clang::Sema.
Definition at line 1024 of file Sema/Action.h.
References StmtEmpty().
| virtual ExprResult clang::Action::ActOnCXXTypeConstructExpr | ( | SourceRange | TypeRange, | |
| ParsedType | TypeRep, | |||
| SourceLocation | LParenLoc, | |||
| MultiExprArg | Exprs, | |||
| SourceLocation * | CommaLocs, | |||
| SourceLocation | RParenLoc | |||
| ) | [inline, virtual] |
ActOnCXXTypeConstructExpr - Parse construction of a specified type. Can be interpreted either as function-style casting ("int(x)") or class type construction ("ClassType(x,y,z)") or creation of a value-initialized type ("int()").
Reimplemented in clang::Sema.
Definition at line 1600 of file Sema/Action.h.
References ExprEmpty().
| virtual ExprResult clang::Action::ActOnCXXTypeid | ( | SourceLocation | OpLoc, | |
| SourceLocation | LParenLoc, | |||
| bool | isType, | |||
| void * | TyOrExpr, | |||
| SourceLocation | RParenLoc | |||
| ) | [inline, virtual] |
ActOnCXXTypeidOfType - Parse typeid( type-id ).
Reimplemented in clang::Sema.
Definition at line 1568 of file Sema/Action.h.
References ExprEmpty().
| virtual Decl* clang::Action::ActOnDeclarator | ( | Scope * | S, | |
| Declarator & | D | |||
| ) | [inline, virtual] |
ActOnDeclarator - This callback is invoked when a declarator is parsed and 'Init' specifies the initializer if any. This is for things like: "int X = 4" or "typedef int foo".
Reimplemented in clang::Sema.
Definition at line 477 of file Sema/Action.h.
| virtual StmtResult clang::Action::ActOnDeclStmt | ( | DeclGroupPtrTy | Decl, | |
| SourceLocation | StartLoc, | |||
| SourceLocation | EndLoc | |||
| ) | [inline, virtual] |
| virtual void clang::Action::ActOnDefaultCtorInitializers | ( | Decl * | CDtorDecl | ) | [inline, virtual] |
Reimplemented in clang::Sema.
Definition at line 1847 of file Sema/Action.h.
| virtual StmtResult clang::Action::ActOnDefaultStmt | ( | SourceLocation | DefaultLoc, | |
| SourceLocation | ColonLoc, | |||
| StmtArg | SubStmt, | |||
| Scope * | CurScope | |||
| ) | [inline, virtual] |
| virtual void clang::Action::ActOnDefs | ( | Scope * | S, | |
| Decl * | TagD, | |||
| SourceLocation | DeclStart, | |||
| IdentifierInfo * | ClassName, | |||
| llvm::SmallVectorImpl< Decl * > & | Decls | |||
| ) | [inline, virtual] |
Act on () element found when parsing a structure. ClassName is the name of the referenced class.
Reimplemented in clang::Sema.
Definition at line 709 of file Sema/Action.h.
| virtual void clang::Action::ActOnDelayedCXXMethodParameter | ( | Scope * | S, | |
| Decl * | Param | |||
| ) | [inline, virtual] |
ActOnDelayedCXXMethodParameter - We've already started a delayed C++ method declaration. We're (re-)introducing the given function parameter into scope for use in parsing later parts of the method declaration. For example, we could see an ActOnParamDefaultArgument event for this parameter.
Reimplemented in clang::Sema.
Definition at line 1497 of file Sema/Action.h.
| virtual TypeResult clang::Action::ActOnDependentTag | ( | Scope * | S, | |
| unsigned | TagSpec, | |||
| TagUseKind | TUK, | |||
| const CXXScopeSpec & | SS, | |||
| IdentifierInfo * | Name, | |||
| SourceLocation | KWLoc, | |||
| SourceLocation | NameLoc | |||
| ) | [inline, virtual] |
Acts on a reference to a dependent tag name. This arises in cases like:
template <class t>=""> class A; template <class t>=""> class B { friend class A<T>::M; // here };
| TagSpec | an instance of DeclSpec::TST corresponding to the tag specifier. | |
| TUK | the tag use kind (either TUK_Friend or TUK_Reference) | |
| SS | the scope specifier (always defined) |
Reimplemented in clang::Sema.
Definition at line 697 of file Sema/Action.h.
| virtual TemplateNameKind clang::Action::ActOnDependentTemplateName | ( | Scope * | S, | |
| SourceLocation | TemplateKWLoc, | |||
| CXXScopeSpec & | SS, | |||
| UnqualifiedId & | Name, | |||
| ParsedType | ObjectType, | |||
| bool | EnteringContext, | |||
| TemplateTy & | Template | |||
| ) | [inline, virtual] |
Form a dependent template name.
This action forms a dependent template name given the template name and its (presumably dependent) scope specifier. For example, given "MetaFun::template apply", the scope specifier SS will be "MetaFun::", TemplateKWLoc contains the location of the "template" keyword, and "apply" is the Name.
| S | The scope in which the dependent template name was parsed. | |
| TemplateKWLoc | the location of the "template" keyword (if any). | |
| SS | the nested-name-specifier that precedes the "template" keyword or the template name. If the dependent template name occurs in a member access expression, e.g., "x.template f<T>", this nested-name-specifier will be empty. | |
| Name | the name of the template. | |
| ObjectType | if this dependent template name occurs in the context of a member access expression, the type of the object being accessed. | |
| EnteringContext | whether we are entering the context of this template. | |
| Template | Will be set to the dependent template name, on success. |
TNK_Dependent_template_name. However, if the nested-name-specifier is not dependent, or refers to the current instantiation, then we may be able to resolve the template kind more specifically. Reimplemented in clang::Sema.
Definition at line 2102 of file Sema/Action.h.
References clang::TNK_Non_template.
| virtual ExprResult clang::Action::ActOnDesignatedInitializer | ( | Designation & | Desig, | |
| SourceLocation | Loc, | |||
| bool | GNUSyntax, | |||
| ExprResult | Init | |||
| ) | [inline, virtual] |
Parsed a C99 designated initializer.
| Desig | Contains the designation with one or more designators. | |
| Loc | The location of the '=' or ':' prior to the initialization expression. | |
| GNUSyntax | If true, then this designated initializer used the deprecated GNU syntax fieldname:foo or [expr]foo rather than the C99 syntax .fieldname=foo or [expr]=foo. | |
| Init | The value that the entity (or entities) described by the designation will be initialized with. |
Reimplemented in clang::Sema.
Definition at line 1227 of file Sema/Action.h.
References ExprEmpty().
| virtual StmtResult clang::Action::ActOnDoStmt | ( | SourceLocation | DoLoc, | |
| StmtArg | Body, | |||
| SourceLocation | WhileLoc, | |||
| SourceLocation | CondLParen, | |||
| ExprArg | Cond, | |||
| SourceLocation | CondRParen | |||
| ) | [inline, virtual] |
| virtual void clang::Action::ActOnEndOfTranslationUnit | ( | ) | [inline, virtual] |
ActOnEndOfTranslationUnit - This is called at the very end of the translation unit when EOF is reached and all but the top-level scope is popped.
Reimplemented in clang::Sema.
Definition at line 615 of file Sema/Action.h.
Referenced by clang::Parser::ParseTopLevelDecl().
| virtual void clang::Action::ActOnEnumBody | ( | SourceLocation | EnumLoc, | |
| SourceLocation | LBraceLoc, | |||
| SourceLocation | RBraceLoc, | |||
| Decl * | EnumDecl, | |||
| Decl ** | Elements, | |||
| unsigned | NumElements, | |||
| Scope * | S, | |||
| AttributeList * | AttrList | |||
| ) | [inline, virtual] |
Reimplemented in clang::Sema.
Definition at line 763 of file Sema/Action.h.
| virtual Decl* clang::Action::ActOnEnumConstant | ( | Scope * | S, | |
| Decl * | EnumDecl, | |||
| Decl * | LastEnumConstant, | |||
| SourceLocation | IdLoc, | |||
| IdentifierInfo * | Id, | |||
| SourceLocation | EqualLoc, | |||
| ExprTy * | Val | |||
| ) | [inline, virtual] |
Reimplemented in clang::Sema.
Definition at line 757 of file Sema/Action.h.
| virtual Decl* clang::Action::ActOnExceptionDeclarator | ( | Scope * | S, | |
| Declarator & | D | |||
| ) | [inline, virtual] |
Reimplemented in clang::Sema.
Definition at line 1014 of file Sema/Action.h.
| virtual DeclResult clang::Action::ActOnExplicitInstantiation | ( | Scope * | S, | |
| SourceLocation | ExternLoc, | |||
| SourceLocation | TemplateLoc, | |||
| Declarator & | D | |||
| ) | [inline, virtual] |
Process the explicit instantiation of a function template or a member of a class template.
This routine is invoked when an explicit instantiation of a function template or member function of a class template specialization is encountered. In the following example, ActOnExplicitInstantiation will be invoked to force the instantiation of X<int>:
template<typename T> void f(T); template void f(int); // explicit instantiation
| S | the current scope | |
| ExternLoc | the location of the 'extern' keyword that specifies that this is an extern template (if any). | |
| TemplateLoc | the location of the 'template' keyword that specifies that this is an explicit instantiation. | |
| D | the declarator describing the declaration to be implicitly instantiated. |
Reimplemented in clang::Sema.
Definition at line 2328 of file Sema/Action.h.
| virtual DeclResult clang::Action::ActOnExplicitInstantiation | ( | Scope * | S, | |
| SourceLocation | ExternLoc, | |||
| SourceLocation | TemplateLoc, | |||
| unsigned | TagSpec, | |||
| SourceLocation | KWLoc, | |||
| CXXScopeSpec & | SS, | |||
| IdentifierInfo * | Name, | |||
| SourceLocation | NameLoc, | |||
| AttributeList * | Attr | |||
| ) | [inline, virtual] |
Process the explicit instantiation of a member class of a class template specialization.
This routine is invoked when an explicit instantiation of a member class of a class template specialization is encountered. In the following example, ActOnExplicitInstantiation will be invoked to force the instantiation of X<int>::Inner:
template<typename T> class X { class Inner { /* ... */}; }; template class X<int>::Inner; // explicit instantiation
| S | the current scope | |
| ExternLoc | the location of the 'extern' keyword that specifies that this is an extern template (if any). | |
| TemplateLoc | the location of the 'template' keyword that specifies that this is an explicit instantiation. | |
| TagSpec | whether this declares a class, struct, or union (template). | |
| KWLoc | the location of the 'class', 'struct', or 'union' keyword. | |
| SS | the scope specifier preceding the template-id. | |
| Template | the declaration of the class template that we are instantiation. | |
| LAngleLoc | the location of the '<' token in the template-id. | |
| TemplateArgs | the template arguments used to form the template-id. | |
| TemplateArgLocs | the locations of the template arguments. | |
| RAngleLoc | the location of the '>' token in the template-id. | |
| Attr | attributes that apply to this instantiation. |
Reimplemented in clang::Sema.
Definition at line 2292 of file Sema/Action.h.
| virtual DeclResult clang::Action::ActOnExplicitInstantiation | ( | Scope * | S, | |
| SourceLocation | ExternLoc, | |||
| SourceLocation | TemplateLoc, | |||
| unsigned | TagSpec, | |||
| SourceLocation | KWLoc, | |||
| const CXXScopeSpec & | SS, | |||
| TemplateTy | Template, | |||
| SourceLocation | TemplateNameLoc, | |||
| SourceLocation | LAngleLoc, | |||
| ASTTemplateArgsPtr | TemplateArgs, | |||
| SourceLocation | RAngleLoc, | |||
| AttributeList * | Attr | |||
| ) | [inline, virtual] |
Process the explicit instantiation of a class template specialization.
This routine is invoked when an explicit instantiation of a class template specialization is encountered. In the following example, ActOnExplicitInstantiation will be invoked to force the instantiation of X<int>:
template<typename T> class X { /* ... */ }; template class X<int>; // explicit instantiation
| S | the current scope | |
| ExternLoc | the location of the 'extern' keyword that specifies that this is an extern template (if any). | |
| TemplateLoc | the location of the 'template' keyword that specifies that this is an explicit instantiation. | |
| TagSpec | whether this declares a class, struct, or union (template). | |
| KWLoc | the location of the 'class', 'struct', or 'union' keyword. | |
| SS | the scope specifier preceding the template-id. | |
| Template | the declaration of the class template that we are instantiation. | |
| LAngleLoc | the location of the '<' token in the template-id. | |
| TemplateArgs | the template arguments used to form the template-id. | |
| TemplateArgLocs | the locations of the template arguments. | |
| RAngleLoc | the location of the '>' token in the template-id. | |
| Attr | attributes that apply to this instantiation. |
Reimplemented in clang::Sema.
Definition at line 2233 of file Sema/Action.h.
| virtual StmtResult clang::Action::ActOnExprStmt | ( | FullExprArg | Expr | ) | [pure virtual] |
Implemented in clang::Sema.
| virtual Decl* clang::Action::ActOnField | ( | Scope * | S, | |
| Decl * | TagD, | |||
| SourceLocation | DeclStart, | |||
| Declarator & | D, | |||
| ExprTy * | BitfieldWidth | |||
| ) | [inline, virtual] |
Reimplemented in clang::Sema.
Definition at line 712 of file Sema/Action.h.
| virtual void clang::Action::ActOnFields | ( | Scope * | S, | |
| SourceLocation | RecLoc, | |||
| Decl * | TagDecl, | |||
| Decl ** | Fields, | |||
| unsigned | NumFields, | |||
| SourceLocation | LBrac, | |||
| SourceLocation | RBrac, | |||
| AttributeList * | AttrList | |||
| ) | [inline, virtual] |
Reimplemented in clang::Sema.
Definition at line 728 of file Sema/Action.h.
| virtual Decl* clang::Action::ActOnFileScopeAsmDecl | ( | SourceLocation | Loc, | |
| ExprArg | AsmString | |||
| ) | [inline, virtual] |
Reimplemented in clang::Sema.
Definition at line 566 of file Sema/Action.h.
| virtual void clang::Action::ActOnFinishCXXMemberSpecification | ( | Scope * | S, | |
| SourceLocation | RLoc, | |||
| Decl * | TagDecl, | |||
| SourceLocation | LBrac, | |||
| SourceLocation | RBrac, | |||
| AttributeList * | AttrList | |||
| ) | [inline, virtual] |
ActOnFinishCXXMemberSpecification - Invoked after all member declarators are parsed but *before* parsing of inline method definitions.
Reimplemented in clang::Sema.
Definition at line 1851 of file Sema/Action.h.
| virtual void clang::Action::ActOnFinishDelayedCXXMethodDeclaration | ( | Scope * | S, | |
| Decl * | Method | |||
| ) | [inline, virtual] |
ActOnFinishDelayedCXXMethodDeclaration - We have finished processing the delayed method declaration for Method. The method declaration is now considered finished. There may be a separate ActOnStartOfFunctionDef action later (not necessarily immediately!) for this method, if it was also defined inside the class body.
Reimplemented in clang::Sema.
Definition at line 1506 of file Sema/Action.h.
| virtual void clang::Action::ActOnFinishDelayedMemberDeclarations | ( | Scope * | S, | |
| Decl * | Record | |||
| ) | [inline, virtual] |
ActOnFinishDelayedMemberDeclarations - We have finished parsing a C++ class, and we are about to start parsing any parts of member declarations that could not be parsed earlier. Enter the appropriate record scope.
Reimplemented in clang::Sema.
Definition at line 1514 of file Sema/Action.h.
| virtual ExprResult clang::Action::ActOnFinishFullExpr | ( | ExprArg | Expr | ) | [inline, virtual] |
ActOnFinishFullExpr - Called whenever a full expression has been parsed. (C++ [intro.execution]p12).
Reimplemented in clang::Sema.
Definition at line 1778 of file Sema/Action.h.
References clang::move().
Referenced by MakeFullExpr().
| virtual Decl* clang::Action::ActOnFinishFunctionBody | ( | Decl * | Decl, | |
| StmtArg | Body | |||
| ) | [inline, virtual] |
ActOnFinishFunctionBody - This is called when a function body has completed parsing. Decl is returned by ParseStartOfFunctionDef.
Reimplemented in clang::Sema.
Definition at line 562 of file Sema/Action.h.
| virtual void clang::Action::ActOnFinishKNRParamDeclarations | ( | Scope * | S, | |
| Declarator & | D, | |||
| SourceLocation | LocAfterDecls | |||
| ) | [inline, virtual] |
Indicates that all K&R-style parameter declarations have been parsed prior to a function definition.
| S | The function prototype scope. | |
| D | The function declarator. |
Reimplemented in clang::Sema.
Definition at line 542 of file Sema/Action.h.
| virtual Decl* clang::Action::ActOnFinishLinkageSpecification | ( | Scope * | S, | |
| Decl * | LinkageSpec, | |||
| SourceLocation | RBraceLoc | |||
| ) | [inline, virtual] |
ActOnFinishLinkageSpecification - Completely the definition of the C++ linkage specification LinkageSpec. If RBraceLoc is valid, it's the position of the closing '}' brace in a linkage specification that uses braces.
Reimplemented in clang::Sema.
Definition at line 606 of file Sema/Action.h.
| virtual void clang::Action::ActOnFinishNamespaceDef | ( | Decl * | Dcl, | |
| SourceLocation | RBrace | |||
| ) | [inline, virtual] |
ActOnFinishNamespaceDef - This callback is called after a namespace is exited. Decl is returned by ActOnStartNamespaceDef.
Reimplemented in clang::Sema.
Definition at line 1354 of file Sema/Action.h.
| virtual StmtResult clang::Action::ActOnFinishSwitchStmt | ( | SourceLocation | SwitchLoc, | |
| StmtArg | Switch, | |||
| StmtArg | Body | |||
| ) | [inline, virtual] |
| virtual void clang::Action::ActOnForEachDeclStmt | ( | DeclGroupPtrTy | Decl | ) | [inline, virtual] |
Reimplemented in clang::Sema.
Definition at line 787 of file Sema/Action.h.
| virtual StmtResult clang::Action::ActOnForStmt | ( | SourceLocation | ForLoc, | |
| SourceLocation | LParenLoc, | |||
| StmtArg | First, | |||
| FullExprArg | Second, | |||
| Decl * | SecondVar, | |||
| FullExprArg | Third, | |||
| SourceLocation | RParenLoc, | |||
| StmtArg | Body | |||
| ) | [inline, virtual] |
Parsed a "for" statement.
| ForLoc | the location of the "for" keyword. | |
| LParenLoc | the location of the left parentheses. | |
| First | the statement used to initialize the for loop. | |
| Second | the condition to be checked during each iteration, if that condition was parsed as an expression. | |
| SecondArg | the condition variable to be checked during each iterator, if that condition was parsed as a variable declaration. | |
| Third | the expression that will be evaluated to "increment" any values prior to the next iteration. | |
| RParenLoc | the location of the right parentheses. | |
| Body | the body of the "body" loop. |
Reimplemented in clang::Sema.
Definition at line 904 of file Sema/Action.h.
References StmtEmpty().
| virtual Decl* clang::Action::ActOnForwardClassDeclaration | ( | SourceLocation | AtClassLoc, | |
| IdentifierInfo ** | IdentList, | |||
| SourceLocation * | IdentLocs, | |||
| unsigned | NumElts | |||
| ) | [inline, virtual] |
Reimplemented in clang::Sema.
Definition at line 2619 of file Sema/Action.h.
| virtual Decl* clang::Action::ActOnForwardProtocolDeclaration | ( | SourceLocation | AtProtocolLoc, | |
| const IdentifierLocPair * | IdentList, | |||
| unsigned | NumElts, | |||
| AttributeList * | AttrList | |||
| ) | [inline, virtual] |
Reimplemented in clang::Sema.
Definition at line 2626 of file Sema/Action.h.
| virtual Decl* clang::Action::ActOnFriendFunctionDecl | ( | Scope * | S, | |
| Declarator & | D, | |||
| bool | IsDefinition, | |||
| MultiTemplateParamsArg | TParams | |||
| ) | [inline, virtual] |
ActOnFriendFunctionDecl - Parsed a friend function declarator. The name is actually a slight misnomer, because the declarator is not necessarily a function declarator.
Reimplemented in clang::Sema.
Definition at line 1528 of file Sema/Action.h.
| virtual Decl* clang::Action::ActOnFriendTypeDecl | ( | Scope * | S, | |
| const DeclSpec & | DS, | |||
| MultiTemplateParamsArg | TParams | |||
| ) | [inline, virtual] |
ActOnFriendTypeDecl - Parsed a friend type declaration.
Reimplemented in clang::Sema.
Definition at line 1536 of file Sema/Action.h.
| virtual ExprResult clang::Action::ActOnGNUNullExpr | ( | SourceLocation | TokenLoc | ) | [inline, virtual] |
ActOnGNUNullExpr - Parsed the GNU __null expression, the token for which is at position TokenLoc.
Reimplemented in clang::Sema.
Definition at line 1315 of file Sema/Action.h.
References ExprEmpty().
| virtual StmtResult clang::Action::ActOnGotoStmt | ( | SourceLocation | GotoLoc, | |
| SourceLocation | LabelLoc, | |||
| IdentifierInfo * | LabelII | |||
| ) | [inline, virtual] |
| virtual ExprResult clang::Action::ActOnIdExpression | ( | Scope * | S, | |
| CXXScopeSpec & | SS, | |||
| UnqualifiedId & | Name, | |||
| bool | HasTrailingLParen, | |||
| bool | IsAddressOfOperand | |||
| ) | [inline, virtual] |
Parsed an id-expression (C++) or identifier (C) in expression context, e.g., the expression "x" that refers to a variable named "x".
| S | the scope in which this id-expression or identifier occurs. | |
| SS | the C++ nested-name-specifier that qualifies the name of the value, e.g., "std::" in "std::sort". | |
| Name | the name to which the id-expression refers. In C, this will always be an identifier. In C++, it may also be an overloaded operator, destructor name (if there is a nested-name-specifier), or template-id. | |
| HasTrailingLParen | whether the next token following the id-expression or identifier is a left parentheses ('('). | |
| IsAddressOfOperand | whether the token that precedes this id-expression or identifier was an ampersand ('&'), indicating that we will be taking the address of this expression. |
Reimplemented in clang::Sema.
Definition at line 1093 of file Sema/Action.h.
References ExprEmpty().
| virtual StmtResult clang::Action::ActOnIfStmt | ( | SourceLocation | IfLoc, | |
| FullExprArg | CondVal, | |||
| Decl * | CondVar, | |||
| StmtArg | ThenVal, | |||
| SourceLocation | ElseLoc, | |||
| StmtArg | ElseVal | |||
| ) | [inline, virtual] |
Parsed an "if" statement.
| IfLoc | the location of the "if" keyword. | |
| CondVal | if the "if" condition was parsed as an expression, the expression itself. | |
| CondVar | if the "if" condition was parsed as a condition variable, the condition variable itself. | |
| ThenVal | the "then" statement. | |
| ElseLoc | the location of the "else" keyword. | |
| ElseVal | the "else" statement. |
Reimplemented in clang::Sema.
Definition at line 833 of file Sema/Action.h.
References StmtEmpty().
| virtual StmtResult clang::Action::ActOnIndirectGotoStmt | ( | SourceLocation | GotoLoc, | |
| SourceLocation | StarLoc, | |||
| ExprArg | DestExp | |||
| ) | [inline, virtual] |
| virtual void clang::Action::ActOnInitializerError | ( | Decl * | Dcl | ) | [inline, virtual] |
Note that the given declaration had an initializer that could not be parsed.
Reimplemented in clang::Sema.
Definition at line 525 of file Sema/Action.h.
| virtual ExprResult clang::Action::ActOnInitList | ( | SourceLocation | LParenLoc, | |
| MultiExprArg | InitList, | |||
| SourceLocation | RParenLoc | |||
| ) | [inline, virtual] |
Reimplemented in clang::Sema.
Definition at line 1209 of file Sema/Action.h.
References ExprEmpty().
| virtual ExprResult clang::Action::ActOnInstanceMessage | ( | Scope * | S, | |
| ExprArg | Receiver, | |||
| Selector | Sel, | |||
| SourceLocation | LBracLoc, | |||
| SourceLocation | SelectorLoc, | |||
| SourceLocation | RBracLoc, | |||
| MultiExprArg | Args | |||
| ) | [pure virtual] |
Parsed a message send to an object instance.
| S | The scope in which the message send occurs. | |
| Receiver | The expression that computes the receiver object. | |
| Sel | The selector to which the message is being sent. | |
| LBracLoc | The location of the opening square bracket ']'. | |
| SelectorLoc | The location of the first identifier in the selector. | |
| RBrac | The location of the closing square bracket ']'. | |
| Args | The message arguments. |
Implemented in clang::Sema.
| virtual Decl* clang::Action::ActOnIvar | ( | Scope * | S, | |
| SourceLocation | DeclStart, | |||
| Decl * | IntfDecl, | |||
| Declarator & | D, | |||
| ExprTy * | BitfieldWidth, | |||
| tok::ObjCKeywordKind | visibility | |||
| ) | [inline, virtual] |
Reimplemented in clang::Sema.
Definition at line 718 of file Sema/Action.h.
| virtual StmtResult clang::Action::ActOnLabelStmt | ( | SourceLocation | IdentLoc, | |
| IdentifierInfo * | II, | |||
| SourceLocation | ColonLoc, | |||
| StmtArg | SubStmt | |||
| ) | [inline, virtual] |
| virtual void clang::Action::ActOnLastBitfield | ( | SourceLocation | DeclStart, | |
| Decl * | IntfDecl, | |||
| llvm::SmallVectorImpl< Decl * > & | AllIvarDecls | |||
| ) | [inline, virtual] |
Reimplemented in clang::Sema.
Definition at line 725 of file Sema/Action.h.
| virtual ExprResult clang::Action::ActOnMemberAccessExpr | ( | Scope * | S, | |
| ExprArg | Base, | |||
| SourceLocation | OpLoc, | |||
| tok::TokenKind | OpKind, | |||
| CXXScopeSpec & | SS, | |||
| UnqualifiedId & | Member, | |||
| Decl * | ObjCImpDecl, | |||
| bool | HasTrailingLParen | |||
| ) | [inline, virtual] |
Parsed a member access expresion (C99 6.5.2.3, C++ [expr.ref]) of the form x.m or p->m.
| S | the scope in which the member access expression occurs. | |
| Base | the class or pointer to class into which this member access expression refers, e.g., x in x.m. | |
| OpLoc | the location of the "." or "->" operator. | |
| OpKind | the kind of member access operator, which will be either tok::arrow ("->") or tok::period ("."). | |
| SS | in C++, the nested-name-specifier that precedes the member name, if any. | |
| Member | the name of the member that we are referring to. In C, this will always store an identifier; in C++, we may also have operator names, conversion function names, destructors, and template names. | |
| ObjCImpDecl | the Objective-C implementation declaration. FIXME: Do we really need this? | |
| HasTrailingLParen | whether this member name is immediately followed by a left parentheses ('('). |
Reimplemented in clang::Sema.
Definition at line 1170 of file Sema/Action.h.
References ExprEmpty().
| virtual MemInitResult clang::Action::ActOnMemInitializer | ( | Decl * | ConstructorDecl, | |
| Scope * | S, | |||
| CXXScopeSpec & | SS, | |||
| IdentifierInfo * | MemberOrBase, | |||
| ParsedType | TemplateTypeTy, | |||
| SourceLocation | IdLoc, | |||
| SourceLocation | LParenLoc, | |||
| ExprTy ** | Args, | |||
| unsigned | NumArgs, | |||
| SourceLocation * | CommaLocs, | |||
| SourceLocation | RParenLoc | |||
| ) | [inline, virtual] |
Reimplemented in clang::Sema.
Definition at line 1820 of file Sema/Action.h.
| virtual void clang::Action::ActOnMemInitializers | ( | Decl * | ConstructorDecl, | |
| SourceLocation | ColonLoc, | |||
| MemInitTy ** | MemInits, | |||
| unsigned | NumMemInits, | |||
| bool | AnyErrors | |||
| ) | [inline, virtual] |
ActOnMemInitializers - This is invoked when all of the member initializers of a constructor have been parsed. ConstructorDecl is the function declaration (which will be a C++ constructor in a well-formed program), ColonLoc is the location of the ':' that starts the constructor initializer, and MemInit/NumMemInits contains the individual member (and base) initializers. AnyErrors will be true if there were any invalid member initializers that are not represented in the list.
Reimplemented in clang::Sema.
Definition at line 1841 of file Sema/Action.h.
| virtual Decl* clang::Action::ActOnMethodDeclaration | ( | SourceLocation | BeginLoc, | |
| SourceLocation | EndLoc, | |||
| tok::TokenKind | MethodType, | |||
| Decl * | ClassDecl, | |||
| ObjCDeclSpec & | ReturnQT, | |||
| ParsedType | ReturnType, | |||
| Selector | Sel, | |||
| ObjCArgInfo * | ArgInfo, | |||
| DeclaratorChunk::ParamInfo * | CParamInfo, | |||
| unsigned | CNumArgs, | |||
| AttributeList * | MethodAttrList, | |||
| tok::ObjCKeywordKind | impKind, | |||
| bool | isVariadic = false | |||
| ) | [inline, virtual] |
Reimplemented in clang::Sema.
Definition at line 2474 of file Sema/Action.h.
| virtual Decl* clang::Action::ActOnNamespaceAliasDef | ( | Scope * | CurScope, | |
| SourceLocation | NamespaceLoc, | |||
| SourceLocation | AliasLoc, | |||
| IdentifierInfo * | Alias, | |||
| CXXScopeSpec & | SS, | |||
| SourceLocation | IdentLoc, | |||
| IdentifierInfo * | Ident | |||
| ) | [inline, virtual] |
ActOnNamespaceAliasDef - This is called when a namespace alias definition is parsed.
Reimplemented in clang::Sema.
Definition at line 1369 of file Sema/Action.h.
| virtual Decl* clang::Action::ActOnNonTypeTemplateParameter | ( | Scope * | S, | |
| Declarator & | D, | |||
| unsigned | Depth, | |||
| unsigned | Position, | |||
| SourceLocation | EqualLoc, | |||
| ExprArg | DefaultArg | |||
| ) | [inline, virtual] |
Called when a C++ non-type template parameter has been parsed.
Given
template<int Size> class Array;
This callback will be invoked for the 'Size' non-type template parameter.
| S | The current scope. | |
| D | The parsed declarator. | |
| Depth | The depth of this template parameter, e.g., the number of template parameter lists that occurred outside the template parameter list in which this template type parameter occurs. | |
| Position | The zero-based position of this template parameter within its template parameter list, which is also the number of template parameters that precede this parameter in the template parameter list. | |
| EqualLoc | The location of the '=' sign for the default template argument, if any. | |
| DefaultArg | The default argument, if provided. |
Reimplemented in clang::Sema.
Definition at line 1936 of file Sema/Action.h.
| virtual void clang::Action::ActOnNonTypeTemplateParameterDefault | ( | Decl * | TemplateParam, | |
| SourceLocation | EqualLoc, | |||
| ExprArg | Default | |||
| ) | [inline, virtual] |
Adds a default argument to the given non-type template parameter.
Definition at line 1946 of file Sema/Action.h.
| virtual StmtResult clang::Action::ActOnNullStmt | ( | SourceLocation | SemiLoc | ) | [inline, virtual] |
| virtual ExprResult clang::Action::ActOnNumericConstant | ( | const Token & | ) | [inline, virtual] |
Reimplemented in clang::Sema.
Definition at line 1108 of file Sema/Action.h.
References ExprEmpty().
Referenced by clang::PragmaPackHandler::HandlePragma().
| virtual StmtResult clang::Action::ActOnObjCAtCatchStmt | ( | SourceLocation | AtLoc, | |
| SourceLocation | RParen, | |||
| Decl * | Parm, | |||
| StmtArg | Body | |||
| ) | [inline, virtual] |
Parsed an Objective-C statement.
| AtLoc | The location of the '@' starting the ''. | |
| RParen | The location of the right parentheses ')' after the exception variable. | |
| Parm | The variable that will catch the exception. Will be NULL if this is a (...) block. | |
| Body | The body of the block. |
Reimplemented in clang::Sema.
Definition at line 969 of file Sema/Action.h.
References StmtEmpty().
| virtual StmtResult clang::Action::ActOnObjCAtFinallyStmt | ( | SourceLocation | AtLoc, | |
| StmtArg | Body | |||
| ) | [inline, virtual] |
Parsed an Objective-C statement.
| AtLoc | The location of the '@' starting the ''. | |
| Body | The body of the block. |
Reimplemented in clang::Sema.
Definition at line 980 of file Sema/Action.h.
References StmtEmpty().
| virtual StmtResult clang::Action::ActOnObjCAtSynchronizedStmt | ( | SourceLocation | AtLoc, | |
| ExprArg | SynchExpr, | |||
| StmtArg | SynchBody | |||
| ) | [inline, virtual] |
Reimplemented in clang::Sema.
Definition at line 1007 of file Sema/Action.h.
References StmtEmpty().
| virtual StmtResult clang::Action::ActOnObjCAtThrowStmt | ( | SourceLocation | AtLoc, | |
| ExprArg | Throw, | |||
| Scope * | CurScope | |||
| ) | [inline, virtual] |
Reimplemented in clang::Sema.
Definition at line 1001 of file Sema/Action.h.
References StmtEmpty().
| virtual StmtResult clang::Action::ActOnObjCAtTryStmt | ( | SourceLocation | AtLoc, | |
| StmtArg | Try, | |||
| MultiStmtArg | CatchStmts, | |||
| StmtArg | Finally | |||
| ) | [inline, virtual] |
Parsed an Objective-C -- statement.
| AtLoc | The location of the '@' starting ''. | |
| Try | The body of the '' statement. | |
| CatchStmts | The statements. | |
| Finally | The statement. |
Reimplemented in clang::Sema.
Definition at line 994 of file Sema/Action.h.
References StmtEmpty().
| virtual Decl* clang::Action::ActOnObjCExceptionDecl | ( | Scope * | S, | |
| Declarator & | D | |||
| ) | [inline, virtual] |
Parsed an exception object declaration within an Objective-C statement.
Reimplemented in clang::Sema.
Definition at line 491 of file Sema/Action.h.
| virtual StmtResult clang::Action::ActOnObjCForCollectionStmt | ( | SourceLocation | ForColLoc, | |
| SourceLocation | LParenLoc, | |||
| StmtArg | First, | |||
| ExprArg | Second, | |||
| SourceLocation | RParenLoc, | |||
| StmtArg | Body | |||
| ) | [inline, virtual] |
| virtual Decl* clang::Action::ActOnParamDeclarator | ( | Scope * | S, | |
| Declarator & | D | |||
| ) | [inline, virtual] |
ActOnParamDeclarator - This callback is invoked when a parameter declarator is parsed. This callback only occurs for functions with prototypes. S is the function prototype scope for the parameters (C++ [basic.scope.proto]).
Reimplemented in clang::Sema.
Definition at line 485 of file Sema/Action.h.
| virtual void clang::Action::ActOnParamDefaultArgument | ( | Decl * | param, | |
| SourceLocation | EqualLoc, | |||
| ExprArg | defarg | |||
| ) | [inline, virtual] |
ActOnParamDefaultArgument - Parse default argument for function parameter.
Reimplemented in clang::Sema.
Definition at line 1426 of file Sema/Action.h.
| virtual void clang::Action::ActOnParamDefaultArgumentError | ( | Decl * | param | ) | [inline, virtual] |
ActOnParamDefaultArgumentError - Parsing or semantic analysis of the default argument for the parameter param failed.
Reimplemented in clang::Sema.
Definition at line 1441 of file Sema/Action.h.
| virtual void clang::Action::ActOnParamUnparsedDefaultArgument | ( | Decl * | param, | |
| SourceLocation | EqualLoc, | |||
| SourceLocation | ArgLoc | |||
| ) | [inline, virtual] |
ActOnParamUnparsedDefaultArgument - We've seen a default argument for a function parameter, but we can't parse it yet because we're inside a class definition. Note that this default argument will be parsed later.
Reimplemented in clang::Sema.
Definition at line 1435 of file Sema/Action.h.
| virtual ExprResult clang::Action::ActOnParenExpr | ( | SourceLocation | L, | |
| SourceLocation | R, | |||
| ExprArg | Val | |||
| ) | [inline, virtual] |
Reimplemented in clang::Sema.
Definition at line 1119 of file Sema/Action.h.
References clang::move().
| virtual ExprResult clang::Action::ActOnParenOrParenListExpr | ( | SourceLocation | L, | |
| SourceLocation | R, | |||
| MultiExprArg | Val, | |||
| ParsedType | TypeOfCast = ParsedType() | |||
| ) | [inline, virtual] |
Reimplemented in clang::Sema.
Definition at line 1124 of file Sema/Action.h.
References ExprEmpty().
| virtual void clang::Action::ActOnPopScope | ( | SourceLocation | Loc, | |
| Scope * | S | |||
| ) | [inline, virtual] |
ActOnPopScope - This callback is called immediately before the specified scope is popped and deleted.
Reimplemented in clang::Sema.
Definition at line 573 of file Sema/Action.h.
| virtual ExprResult clang::Action::ActOnPostfixUnaryOp | ( | Scope * | S, | |
| SourceLocation | OpLoc, | |||
| tok::TokenKind | Kind, | |||
| ExprArg | Input | |||
| ) | [inline, virtual] |
Reimplemented in clang::Sema.
Definition at line 1133 of file Sema/Action.h.
References ExprEmpty().
| virtual void clang::Action::ActOnPragmaOptionsAlign | ( | PragmaOptionsAlignKind | Kind, | |
| SourceLocation | PragmaLoc, | |||
| SourceLocation | KindLoc | |||
| ) | [inline, virtual] |
ActOnPragmaOptionsAlign - Called on well formed pragma options align={...}.
Reimplemented in clang::Sema.
Definition at line 2688 of file Sema/Action.h.
Referenced by ParseAlignPragma().
| virtual void clang::Action::ActOnPragmaPack | ( | PragmaPackKind | Kind, | |
| IdentifierInfo * | Name, | |||
| ExprTy * | Alignment, | |||
| SourceLocation | PragmaLoc, | |||
| SourceLocation | LParenLoc, | |||
| SourceLocation | RParenLoc | |||
| ) | [inline, virtual] |
ActOnPragmaPack - Called on well formed pragma pack(...).
Reimplemented in clang::Sema.
Definition at line 2702 of file Sema/Action.h.
Referenced by clang::PragmaPackHandler::HandlePragma().
| virtual void clang::Action::ActOnPragmaUnused | ( | const Token * | Identifiers, | |
| unsigned | NumIdentifiers, | |||
| Scope * | CurScope, | |||
| SourceLocation | PragmaLoc, | |||
| SourceLocation | LParenLoc, | |||
| SourceLocation | RParenLoc | |||
| ) | [inline, virtual] |
ActOnPragmaUnused - Called on well formed pragma unused(...).
Reimplemented in clang::Sema.
Definition at line 2712 of file Sema/Action.h.
Referenced by clang::PragmaUnusedHandler::HandlePragma().
| virtual void clang::Action::ActOnPragmaVisibility | ( | bool | IsPush, | |
| const IdentifierInfo * | VisType, | |||
| SourceLocation | PragmaLoc | |||
| ) | [inline, virtual] |
ActOnPragmaVisibility - Called on well formed pragma GCC visibility... .
Reimplemented in clang::Sema.
Definition at line 2722 of file Sema/Action.h.
Referenced by clang::PragmaGCCVisibilityHandler::HandlePragma().
| virtual void clang::Action::ActOnPragmaWeakAlias | ( | IdentifierInfo * | WeakName, | |
| IdentifierInfo * | AliasName, | |||
| SourceLocation | PragmaLoc, | |||
| SourceLocation | WeakNameLoc, | |||
| SourceLocation | AliasNameLoc | |||
| ) | [inline, virtual] |
ActOnPragmaWeakAlias - Called on well formed pragma weak ident = ident.
Reimplemented in clang::Sema.
Definition at line 2736 of file Sema/Action.h.
Referenced by clang::PragmaWeakHandler::HandlePragma().
| virtual void clang::Action::ActOnPragmaWeakID | ( | IdentifierInfo * | WeakName, | |
| SourceLocation | PragmaLoc, | |||
| SourceLocation | WeakNameLoc | |||
| ) | [inline, virtual] |
ActOnPragmaWeakID - Called on well formed pragma weak ident.
Reimplemented in clang::Sema.
Definition at line 2729 of file Sema/Action.h.
Referenced by clang::PragmaWeakHandler::HandlePragma().
| virtual ExprResult clang::Action::ActOnPredefinedExpr | ( | SourceLocation | Loc, | |
| tok::TokenKind | Kind | |||
| ) | [inline, virtual] |
Reimplemented in clang::Sema.
Definition at line 1101 of file Sema/Action.h.
References ExprEmpty().
| virtual Decl* clang::Action::ActOnProperty | ( | Scope * | S, | |
| SourceLocation | AtLoc, | |||
| FieldDeclarator & | FD, | |||
| ObjCDeclSpec & | ODS, | |||
| Selector | GetterSel, | |||
| Selector | SetterSel, | |||
| Decl * | ClassCategory, | |||
| bool * | OverridingProperty, | |||
| tok::ObjCKeywordKind | MethodImplKind | |||
| ) | [inline, virtual] |
Reimplemented in clang::Sema.
Definition at line 2504 of file Sema/Action.h.
Referenced by clang::Parser::ObjCPropertyCallback::invoke().
| virtual Decl* clang::Action::ActOnPropertyImplDecl | ( | Scope * | S, | |
| SourceLocation | AtLoc, | |||
| SourceLocation | PropertyNameLoc, | |||
| bool | ImplKind, | |||
| Decl * | ClassImplDecl, | |||
| IdentifierInfo * | propertyId, | |||
| IdentifierInfo * | propertyIvar | |||
| ) | [inline, virtual] |
Reimplemented in clang::Sema.
Definition at line 2449 of file Sema/Action.h.
| virtual ExprResult clang::Action::ActOnPseudoDestructorExpr | ( | Scope * | S, | |
| ExprArg | Base, | |||
| SourceLocation | OpLoc, | |||
| tok::TokenKind | OpKind, | |||
| CXXScopeSpec & | SS, | |||
| UnqualifiedId & | FirstTypeName, | |||
| SourceLocation | CCLoc, | |||
| SourceLocation | TildeLoc, | |||
| UnqualifiedId & | SecondTypeName, | |||
| bool | HasTrailingLParen | |||
| ) | [inline, virtual] |
Parsed a C++ pseudo-destructor expression or a dependent member access expression that has the same syntactic form as a pseudo-destructor expression.
| S | The scope in which the member access expression occurs. | |
| Base | The expression in which a member is being accessed, e.g., the "x" in "x.f". | |
| OpLoc | The location of the member access operator ("." or "->") | |
| OpKind | The kind of member access operator ("." or "->") | |
| SS | The nested-name-specifier that precedes the type names in the grammar. Note that this nested-name-specifier will not cover the last "type-name ::" in the grammar, because it isn't necessarily a nested-name-specifier. | |
| FirstTypeName | The type name that follows the optional nested-name-specifier but precedes the '::', e.g., the first type-name in "type-name :: type-name". This type name may be empty. This will be either an identifier or a template-id. | |
| CCLoc | The location of the '::' in "type-name ::
typename". May be invalid, if there is no FirstTypeName. | |
| TildeLoc | The location of the '~'. | |
| SecondTypeName | The type-name following the '~', which is the name of the type being destroyed. This will be either an identifier or a template-id. | |
| HasTrailingLParen | Whether the next token in the stream is a left parentheses. |
Reimplemented in clang::Sema.
Definition at line 1764 of file Sema/Action.h.
References ExprEmpty().
| virtual void clang::Action::ActOnReenterTemplateScope | ( | Scope * | S, | |
| Decl * | Template | |||
| ) | [inline, virtual] |
Called when we re-enter a template parameter scope.
This action occurs when we are going to parse an member function's default arguments or inline definition after the outermost class definition has been completed, and when one or more of the class definitions enclosing the member function is a template. The "entity" in the given scope will be set as it was when we entered the scope of the template initially, and should be used to, e.g., reintroduce the names of template parameters into the current scope so that they can be found by name lookup.
| S | The (new) template parameter scope. | |
| Template | the class template declaration whose template parameters should be reintroduced into the current scope. |
Reimplemented in clang::Sema.
Definition at line 1469 of file Sema/Action.h.
| virtual StmtResult clang::Action::ActOnReturnStmt | ( | SourceLocation | ReturnLoc, | |
| ExprArg | RetValExp | |||
| ) | [inline, virtual] |
| virtual ExprResult clang::Action::ActOnSizeOfAlignOfExpr | ( | SourceLocation | OpLoc, | |
| bool | isSizeof, | |||
| bool | isType, | |||
| void * | TyOrEx, | |||
| const SourceRange & | ArgRange | |||
| ) | [inline, virtual] |
Reimplemented in clang::Sema.
Definition at line 1198 of file Sema/Action.h.
References ExprEmpty().
| virtual Decl* clang::Action::ActOnStartCategoryImplementation | ( | SourceLocation | AtCatImplLoc, | |
| IdentifierInfo * | ClassName, | |||
| SourceLocation | ClassLoc, | |||
| IdentifierInfo * | CatName, | |||
| SourceLocation | CatLoc | |||
| ) | [inline, virtual] |
Reimplemented in clang::Sema.
Definition at line 2440 of file Sema/Action.h.
| virtual Decl* clang::Action::ActOnStartCategoryInterface | ( | SourceLocation | AtInterfaceLoc, | |
| IdentifierInfo * | ClassName, | |||
| SourceLocation | ClassLoc, | |||
| IdentifierInfo * | CategoryName, | |||
| SourceLocation | CategoryLoc, | |||
| Decl *const * | ProtoRefs, | |||
| unsigned | NumProtoRefs, | |||
| const SourceLocation * | ProtoLocs, | |||
| SourceLocation | EndProtoLoc | |||
| ) | [inline, virtual] |
Reimplemented in clang::Sema.
Definition at line 2416 of file Sema/Action.h.
| virtual Decl* clang::Action::ActOnStartClassImplementation | ( | SourceLocation | AtClassImplLoc, | |
| IdentifierInfo * | ClassName, | |||
| SourceLocation | ClassLoc, | |||
| IdentifierInfo * | SuperClassname, | |||
| SourceLocation | SuperClassLoc | |||
| ) | [inline, virtual] |
Reimplemented in clang::Sema.
Definition at line 2430 of file Sema/Action.h.
| virtual Decl* clang::Action::ActOnStartClassInterface | ( | SourceLocation | AtInterfaceLoc, | |
| IdentifierInfo * | ClassName, | |||
| SourceLocation | ClassLoc, | |||
| IdentifierInfo * | SuperName, | |||
| SourceLocation | SuperLoc, | |||
| Decl *const * | ProtoRefs, | |||
| unsigned | NumProtoRefs, | |||
| const SourceLocation * | ProtoLocs, | |||
| SourceLocation | EndProtoLoc, | |||
| AttributeList * | AttrList | |||
| ) | [inline, virtual] |
Reimplemented in clang::Sema.
Definition at line 2380 of file Sema/Action.h.
| virtual void clang::Action::ActOnStartCXXMemberDeclarations | ( | Scope * | S, | |
| Decl * | TagDecl, | |||
| SourceLocation | LBraceLoc | |||
| ) | [inline, virtual] |
ActOnStartCXXMemberDeclarations - Invoked when we have parsed a C++ record definition's base-specifiers clause and are starting its member declarations.
Reimplemented in clang::Sema.
Definition at line 741 of file Sema/Action.h.
| virtual ExprResult clang::Action::ActOnStartCXXMemberReference | ( | Scope * | S, | |
| ExprArg | Base, | |||
| SourceLocation | OpLoc, | |||
| tok::TokenKind | OpKind, | |||
| ParsedType & | ObjectType, | |||
| bool & | MayBePseudoDestructor | |||
| ) | [inline, virtual] |
Invoked when the parser is starting to parse a C++ member access expression such as x.f or x->f.
| S | the scope in which the member access expression occurs. | |
| Base | the expression in which a member is being accessed, e.g., the "x" in "x.f". | |
| OpLoc | the location of the member access operator ("." or "->") | |
| OpKind | the kind of member access operator ("." or "->") | |
| ObjectType | originally NULL. The action should fill in this type with the type into which name lookup should look to find the member in the member access expression. | |
| MayBePseudoDestructor | Originally false. The action should set this true if the expression may end up being a pseudo-destructor expression, indicating to the parser that it shoudl be parsed as a pseudo-destructor rather than as a member access expression. Note that this should apply both when the object type is a scalar and when the object type is dependent. |
Base expression Reimplemented in clang::Sema.
Definition at line 1721 of file Sema/Action.h.
References ExprEmpty().
| virtual void clang::Action::ActOnStartDelayedCXXMethodDeclaration | ( | Scope * | S, | |
| Decl * | Method | |||
| ) | [inline, virtual] |
ActOnStartDelayedCXXMethodDeclaration - We have completed parsing a top-level (non-nested) C++ class, and we are now parsing those parts of the given Method declaration that could not be parsed earlier (C++ [class.mem]p2), such as default arguments. This action should enter the scope of the given Method declaration as if we had just parsed the qualified method name. However, it should not bring the parameters into scope; that will be performed by ActOnDelayedCXXMethodParameter.
Reimplemented in clang::Sema.
Definition at line 1488 of file Sema/Action.h.
| virtual void clang::Action::ActOnStartDelayedMemberDeclarations | ( | Scope * | S, | |
| Decl * | Record | |||
| ) | [inline, virtual] |
ActOnStartDelayedMemberDeclarations - We have completed parsing a C++ class, and we are about to start parsing any parts of member declarations that could not be parsed earlier. Enter the appropriate record scope.
Reimplemented in clang::Sema.
Definition at line 1476 of file Sema/Action.h.
| virtual Decl* clang::Action::ActOnStartLinkageSpecification | ( | Scope * | S, | |
| SourceLocation | ExternLoc, | |||
| SourceLocation | LangLoc, | |||
| llvm::StringRef | Lang, | |||
| SourceLocation | LBraceLoc | |||
| ) | [inline, virtual] |
ActOnStartLinkageSpecification - Parsed the beginning of a C++ linkage specification, including the language and (if present) the '{'. ExternLoc is the location of the 'extern', LangLoc is the location of the language string literal, which is provided by Lang/StrSize. LBraceLoc, if valid, provides the location of the '{' brace. Otherwise, this linkage specification does not have any braces.
Reimplemented in clang::Sema.
Definition at line 594 of file Sema/Action.h.
| virtual Decl* clang::Action::ActOnStartNamespaceDef | ( | Scope * | S, | |
| SourceLocation | IdentLoc, | |||
| IdentifierInfo * | Ident, | |||
| SourceLocation | LBrace, | |||
| AttributeList * | AttrList | |||
| ) | [inline, virtual] |
ActOnStartNamespaceDef - This is called at the start of a namespace definition.
Reimplemented in clang::Sema.
Definition at line 1345 of file Sema/Action.h.
| virtual Decl* clang::Action::ActOnStartOfFunctionDef | ( | Scope * | FnBodyScope, | |
| Decl * | D | |||
| ) | [pure virtual] |
ActOnStartOfFunctionDef - This is called at the start of a function definition, after the FunctionDecl has already been created.
Implemented in clang::Sema.
| virtual Decl* clang::Action::ActOnStartOfFunctionDef | ( | Scope * | FnBodyScope, | |
| Declarator & | D | |||
| ) | [pure virtual] |
ActOnStartOfFunctionDef - This is called at the start of a function definition, instead of calling ActOnDeclarator. The Declarator includes information about formal arguments that are part of this function.
Implemented in clang::Sema.
| virtual Decl* clang::Action::ActOnStartOfFunctionTemplateDef | ( | Scope * | FnBodyScope, | |
| MultiTemplateParamsArg | TemplateParameterLists, | |||
| Declarator & | D | |||
| ) | [inline, virtual] |
Invoked when the parser is beginning to parse a function template or function template specialization definition.
Reimplemented in clang::Sema.
Definition at line 2184 of file Sema/Action.h.
| virtual void clang::Action::ActOnStartOfObjCMethodDef | ( | Scope * | FnBodyScope, | |
| Decl * | D | |||
| ) | [inline, virtual] |
Reimplemented in clang::Sema.
Definition at line 556 of file Sema/Action.h.
| virtual StmtResult clang::Action::ActOnStartOfSwitchStmt | ( | SourceLocation | SwitchLoc, | |
| ExprArg | Cond, | |||
| Decl * | CondVar | |||
| ) | [inline, virtual] |
Parsed the start of a "switch" statement.
| SwitchLoc | The location of the "switch" keyword. | |
| Cond | if the "switch" condition was parsed as an expression, the expression itself. | |
| CondVar | if the "switch" condition was parsed as a condition variable, the condition variable itself. |
Reimplemented in clang::Sema.
Definition at line 851 of file Sema/Action.h.
References StmtEmpty().
| virtual Decl* clang::Action::ActOnStartProtocolInterface | ( | SourceLocation | AtProtoLoc, | |
| IdentifierInfo * | ProtocolName, | |||
| SourceLocation | ProtocolLoc, | |||
| Decl *const * | ProtoRefs, | |||
| unsigned | NumProtoRefs, | |||
| const SourceLocation * | ProtoLocs, | |||
| SourceLocation | EndProtoLoc, | |||
| AttributeList * | AttrList | |||
| ) | [inline, virtual] |
Reimplemented in clang::Sema.
Definition at line 2404 of file Sema/Action.h.
| virtual void clang::Action::ActOnStartSuppressingAccessChecks | ( | ) | [inline, virtual] |
Called when the parser begins parsing a construct which should not have access control applied to it.
Reimplemented in clang::Sema.
Definition at line 2367 of file Sema/Action.h.
| virtual Decl* clang::Action::ActOnStaticAssertDeclaration | ( | SourceLocation | AssertLoc, | |
| ExprArg | AssertExpr, | |||
| ExprArg | AssertMessageExpr | |||
| ) | [inline, virtual] |
ActOnStaticAssertDeclaration - Parse a C++0x static_assert declaration.
Reimplemented in clang::Sema.
Definition at line 1519 of file Sema/Action.h.
| virtual ExprResult clang::Action::ActOnStmtExpr | ( | SourceLocation | LPLoc, | |
| StmtArg | SubStmt, | |||
| SourceLocation | RPLoc | |||
| ) | [inline, virtual] |
Reimplemented in clang::Sema.
Definition at line 1267 of file Sema/Action.h.
References ExprEmpty().
| virtual void clang::Action::ActOnStopSuppressingAccessChecks | ( | ) | [inline, virtual] |
Called when the parser finishes parsing a construct which should not have access control applied to it.
Reimplemented in clang::Sema.
Definition at line 2372 of file Sema/Action.h.
| virtual ExprResult clang::Action::ActOnStringLiteral | ( | const Token * | Toks, | |
| unsigned | NumToks | |||
| ) | [inline, virtual] |
ActOnStringLiteral - The specified tokens were lexed as pasted string fragments (e.g. "foo" "bar" L"baz").
Reimplemented in clang::Sema.
Definition at line 1114 of file Sema/Action.h.
References ExprEmpty().
| virtual ExprResult clang::Action::ActOnSuperMessage | ( | Scope * | S, | |
| SourceLocation | SuperLoc, | |||
| Selector | Sel, | |||
| SourceLocation | LBracLoc, | |||
| SourceLocation | SelectorLoc, | |||
| SourceLocation | RBracLoc, | |||
| MultiExprArg | Args | |||
| ) | [pure virtual] |
Parsed a message send to 'super'.
| S | The scope in which the message send occurs. | |
| SuperLoc | The location of the 'super' keyword. | |
| Sel | The selector to which the message is being sent. | |
| LBracLoc | The location of the opening square bracket ']'. | |
| SelectorLoc | The location of the first identifier in the selector. | |
| RBrac | The location of the closing square bracket ']'. | |
| Args | The message arguments. |
Implemented in clang::Sema.
| virtual Decl* clang::Action::ActOnTag | ( | Scope * | S, | |
| unsigned | TagSpec, | |||
| TagUseKind | TUK, | |||
| SourceLocation | KWLoc, | |||
| CXXScopeSpec & | SS, | |||
| IdentifierInfo * | Name, | |||
| SourceLocation | NameLoc, | |||
| AttributeList * | Attr, | |||
| AccessSpecifier | AS, | |||
| MultiTemplateParamsArg | TemplateParameterLists, | |||
| bool & | OwnedDecl, | |||
| bool & | IsDependent | |||
| ) | [inline, virtual] |
The parser has encountered a tag (e.g., "class X") that should be turned into a declaration by the action module.
| S | the scope in which this tag occurs. | |
| TagSpec | an instance of DeclSpec::TST, indicating what kind of tag this is (struct/union/enum/class). | |
| TUK | how the tag we have encountered is being used, which can be a reference to a (possibly pre-existing) tag, a declaration of that tag, or the beginning of a definition of that tag. | |
| KWLoc | the location of the "struct", "class", "union", or "enum" keyword. | |
| SS | C++ scope specifier that precedes the name of the tag, e.g., the "std::" in "class std::type_info". | |
| Name | the name of the tag, e.g., "X" in "struct X". This parameter may be NULL, to indicate an anonymous class/struct/union/enum type. | |
| NameLoc | the location of the name of the tag. | |
| Attr | the set of attributes that appertain to the tag. | |
| AS | when this tag occurs within a C++ class, provides the current access specifier (AS_public, AS_private, AS_protected). Otherwise, it will be AS_none. | |
| TemplateParameterLists | the set of C++ template parameter lists that apply to this tag, if the tag is a declaration or definition (see the TK parameter). The action module is responsible for determining, based on the template parameter lists and the scope specifier, whether the declared tag is a class template or not. | |
| OwnedDecl | the callee should set this flag true when the returned declaration is "owned" by this reference. Ownership is handled entirely by the action module. |
Reimplemented in clang::Sema.
Definition at line 674 of file Sema/Action.h.
ActOnTagDefinitionError - Invoked if there's an unrecoverable error parsing the definition of a tag.
The scope is the scope of the tag definition.
Reimplemented in clang::Sema.
Definition at line 755 of file Sema/Action.h.
| virtual void clang::Action::ActOnTagFinishDefinition | ( | Scope * | S, | |
| Decl * | TagDecl, | |||
| SourceLocation | RBraceLoc | |||
| ) | [inline, virtual] |
ActOnTagFinishDefinition - Invoked once we have finished parsing the definition of a tag (enumeration, class, struct, or union).
The scope is the scope of the tag definition.
Reimplemented in clang::Sema.
Definition at line 748 of file Sema/Action.h.
ActOnTagStartDefinition - Invoked when we have entered the scope of a tag's definition (e.g., for an enumeration, class, struct, or union).
Reimplemented in clang::Sema.
Definition at line 736 of file Sema/Action.h.
| virtual TypeResult clang::Action::ActOnTagTemplateIdType | ( | TypeResult | Type, | |
| TagUseKind | TUK, | |||
| DeclSpec::TST | TagSpec, | |||
| SourceLocation | TagLoc | |||
| ) | [inline, virtual] |
Note that a template ID was used with a tag.
| Type | The result of ActOnTemplateIdType. | |
| TUK | Either TUK_Reference or TUK_Friend. Declarations and definitions are interpreted as explicit instantiations or specializations. | |
| TagSpec | The tag keyword that was provided as part of the elaborated-type-specifier; either class, struct, union, or enum. | |
| TagLoc | The location of the tag keyword. |
Reimplemented in clang::Sema.
Definition at line 2063 of file Sema/Action.h.
| virtual Decl* clang::Action::ActOnTemplateDeclarator | ( | Scope * | S, | |
| MultiTemplateParamsArg | TemplateParameterLists, | |||
| Declarator & | D | |||
| ) | [inline, virtual] |
Invoked when a declarator that has one or more template parameter lists has been parsed.
This action is similar to ActOnDeclarator(), except that the declaration being created somehow involves a template, e.g., it is a template declaration or specialization.
Reimplemented in clang::Sema.
Definition at line 2176 of file Sema/Action.h.
| virtual TypeResult clang::Action::ActOnTemplateIdType | ( | TemplateTy | Template, | |
| SourceLocation | TemplateLoc, | |||
| SourceLocation | LAngleLoc, | |||
| ASTTemplateArgsPtr | TemplateArgs, | |||
| SourceLocation | RAngleLoc | |||
| ) | [inline, virtual] |
Form a type from a template and a list of template arguments.
This action merely forms the type for the template-id, possibly checking well-formedness of the template arguments. It does not imply the declaration of any entity.
| Template | A template whose specialization results in a type, e.g., a class template or template template parameter. |
Reimplemented in clang::Sema.
Definition at line 2043 of file Sema/Action.h.
| virtual TemplateParamsTy* clang::Action::ActOnTemplateParameterList | ( | unsigned | Depth, | |
| SourceLocation | ExportLoc, | |||
| SourceLocation | TemplateLoc, | |||
| SourceLocation | LAngleLoc, | |||
| Decl ** | Params, | |||
| unsigned | NumParams, | |||
| SourceLocation | RAngleLoc | |||
| ) | [inline, virtual] |
ActOnTemplateParameterList - Called when a complete template parameter list has been parsed, e.g.,
export template<typename T, T Size>
Depth is the number of enclosing template parameter lists. This value does not include templates from outer scopes. For example:
template<typename T> // depth = 0 class A { template<typename U> // depth = 0 class B; }; template<typename T> // depth = 0 template<typename U> // depth = 1 class A<T>::B { ... };
ExportLoc, if valid, is the position of the "export" keyword. Otherwise, "export" was not specified. TemplateLoc is the position of the template keyword, LAngleLoc is the position of the left angle bracket, and RAngleLoc is the position of the corresponding right angle bracket. Params/NumParams provides the template parameters that were parsed as part of the template-parameter-list.
Reimplemented in clang::Sema.
Definition at line 2025 of file Sema/Action.h.
| virtual Decl* clang::Action::ActOnTemplateTemplateParameter | ( | Scope * | S, | |
| SourceLocation | TmpLoc, | |||
| TemplateParamsTy * | Params, | |||
| IdentifierInfo * | ParamName, | |||
| SourceLocation | ParamNameLoc, | |||
| unsigned | Depth, | |||
| unsigned | Position, | |||
| SourceLocation | EqualLoc, | |||
| const ParsedTemplateArgument & | DefaultArg | |||
| ) | [inline, virtual] |
Called when a C++ template template parameter has been parsed.
Given
template<template <typename> class T> class X;
this callback will be invoked for the template template parameter T.
| S | The scope in which this template template parameter occurs. | |
| TmpLoc | The location of the "template" keyword. | |
| TemplateParams | The template parameters required by the template. | |
| ParamName | The name of the parameter, or NULL if unnamed. | |
| ParamNameLoc | The source location of the parameter name (if given). | |
| Depth | The depth of this template parameter, e.g., the number of template parameter lists that occurred outside the template parameter list in which this template parameter occurs. | |
| Position | The zero-based position of this template parameter within its template parameter list, which is also the number of template parameters that precede this parameter in the template parameter list. | |
| EqualLoc | The location of the '=' sign for the default template argument, if any. | |
| DefaultArg | The default argument, if provided. |
Reimplemented in clang::Sema.
Definition at line 1983 of file Sema/Action.h.
| virtual void clang::Action::ActOnTranslationUnitScope | ( | Scope * | S | ) | [inline, virtual] |
ActOnTranslationUnitScope - This callback is called once, immediately after creating the translation unit scope (in Parser::Initialize).
Reimplemented in clang::Sema.
Definition at line 577 of file Sema/Action.h.
Referenced by clang::Parser::Initialize().
| virtual TypeResult clang::Action::ActOnTypeName | ( | Scope * | S, | |
| Declarator & | D | |||
| ) | [inline, virtual] |
ActOnTypeName - A type-name (type-id in C++) was parsed.
Reimplemented in clang::Sema.
Definition at line 622 of file Sema/Action.h.
| virtual TypeResult clang::Action::ActOnTypenameType | ( | Scope * | S, | |
| SourceLocation | TypenameLoc, | |||
| const CXXScopeSpec & | SS, | |||
| SourceLocation | TemplateLoc, | |||
| ParsedType | Ty | |||
| ) | [inline, virtual] |
Called when the parser has parsed a C++ typename specifier that ends in a template-id, e.g., "typename MetaFun::template apply<T1, T2>".
| TypenameLoc | the location of the 'typename' keyword | |
| SS | the nested-name-specifier following the typename (e.g., 'T::'). | |
| TemplateLoc | the location of the 'template' keyword, if any. | |
| Ty | the type that the typename specifier refers to. |
Reimplemented in clang::Sema.
Definition at line 2359 of file Sema/Action.h.
| virtual TypeResult clang::Action::ActOnTypenameType | ( | Scope * | S, | |
| SourceLocation | TypenameLoc, | |||
| const CXXScopeSpec & | SS, | |||
| const IdentifierInfo & | II, | |||
| SourceLocation | IdLoc | |||
| ) | [inline, virtual] |
Called when the parser has parsed a C++ typename specifier that ends in an identifier, e.g., "typename T::type".
| TypenameLoc | the location of the 'typename' keyword | |
| SS | the nested-name-specifier following the typename (e.g., 'T::'). | |
| II | the identifier we're retrieving (e.g., 'type' in the example). | |
| IdLoc | the location of the identifier. |
Reimplemented in clang::Sema.
Definition at line 2344 of file Sema/Action.h.
| virtual Decl* clang::Action::ActOnTypeParameter | ( | Scope * | S, | |
| bool | Typename, | |||
| bool | Ellipsis, | |||
| SourceLocation | EllipsisLoc, | |||
| SourceLocation | KeyLoc, | |||
| IdentifierInfo * | ParamName, | |||
| SourceLocation | ParamNameLoc, | |||
| unsigned | Depth, | |||
| unsigned | Position, | |||
| SourceLocation | EqualLoc, | |||
| ParsedType | DefaultArg | |||
| ) | [inline, virtual] |
Called when a C++ template type parameter(e.g., "typename T") has been parsed.
Given
template<typename T, typename U = T> struct pair;
this callback will be invoked twice: once for the type parameter T with Depth=0 and Position=0, and once for the type parameter U with Depth=0 and Position=1.
| Typename | Specifies whether the keyword "typename" was used to declare the type parameter (otherwise, "class" was used). | |
| Ellipsis | Specifies whether this is a C++0x parameter pack. | |
| EllipsisLoc | Specifies the start of the ellipsis. | |
| KeyLoc | The location of the "class" or "typename" keyword. | |
| ParamName | The name of the parameter, where NULL indicates an unnamed template parameter. | |
| ParamNameLoc | The location of the parameter name (if any). | |
| Depth | The depth of this template parameter, e.g., the number of template parameter lists that occurred outside the template parameter list in which this template type parameter occurs. | |
| Position | The zero-based position of this template parameter within its template parameter list, which is also the number of template parameters that precede this parameter in the template parameter list. | |
| EqualLoc | The location of the '=' sign for the default template argument, if any. | |
| DefaultArg | The default argument, if provided. |
Reimplemented in clang::Sema.
Definition at line 1899 of file Sema/Action.h.
| virtual ExprResult clang::Action::ActOnTypesCompatibleExpr | ( | SourceLocation | BuiltinLoc, | |
| ParsedType | arg1, | |||
| ParsedType | arg2, | |||
| SourceLocation | RPLoc | |||
| ) | [inline, virtual] |
Reimplemented in clang::Sema.
Definition at line 1293 of file Sema/Action.h.
References ExprEmpty().
| virtual ExprResult clang::Action::ActOnUnaryOp | ( | Scope * | S, | |
| SourceLocation | OpLoc, | |||
| tok::TokenKind | Op, | |||
| ExprArg | Input | |||
| ) | [inline, virtual] |
Reimplemented in clang::Sema.
Definition at line 1193 of file Sema/Action.h.
References ExprEmpty().
| virtual ExprResult clang::Action::ActOnUnaryTypeTrait | ( | UnaryTypeTrait | OTT, | |
| SourceLocation | KWLoc, | |||
| SourceLocation | LParen, | |||
| ParsedType | Ty, | |||
| SourceLocation | RParen | |||
| ) | [inline, virtual] |
Reimplemented in clang::Sema.
Definition at line 1689 of file Sema/Action.h.
References ExprEmpty().
| virtual void clang::Action::ActOnUninitializedDecl | ( | Decl * | Dcl, | |
| bool | TypeContainsUndeducedAuto | |||
| ) | [inline, virtual] |
ActOnUninitializedDecl - This action is called immediately after ActOnDeclarator (when an initializer is *not* present). If TypeContainsUndeducedAuto is true, then the type of the declarator has an undeduced 'auto' type somewhere.
Reimplemented in clang::Sema.
Definition at line 518 of file Sema/Action.h.
| virtual Decl* clang::Action::ActOnUsingDeclaration | ( | Scope * | CurScope, | |
| AccessSpecifier | AS, | |||
| bool | HasUsingKeyword, | |||
| SourceLocation | UsingLoc, | |||
| CXXScopeSpec & | SS, | |||
| UnqualifiedId & | Name, | |||
| AttributeList * | AttrList, | |||
| bool | IsTypeName, | |||
| SourceLocation | TypenameLoc | |||
| ) | [pure virtual] |
Parsed a C++ using-declaration.
This callback will be invoked when the parser has parsed a C++ using-declaration, e.g.,
namespace std { template<typename T, typename Alloc> class vector; } using std::vector; // using-declaration here
| CurScope | the scope in which this using declaration was parsed. | |
| AS | the currently-active access specifier. | |
| HasUsingKeyword | true if this was declared with an explicit 'using' keyword (i.e. if this is technically a using declaration, not an access declaration) | |
| UsingLoc | the location of the 'using' keyword. | |
| SS | the nested-name-specifier that precedes the name. | |
| Name | the name to which the using declaration refers. | |
| AttrList | attributes applied to this using declaration, if any. | |
| IsTypeName | whether this using declaration started with the 'typename' keyword. FIXME: This will eventually be split into a separate action. | |
| TypenameLoc | the location of the 'typename' keyword, if present |
Implemented in clang::Sema.
| virtual Decl* clang::Action::ActOnUsingDirective | ( | Scope * | CurScope, | |
| SourceLocation | UsingLoc, | |||
| SourceLocation | NamespcLoc, | |||
| CXXScopeSpec & | SS, | |||
| SourceLocation | IdentLoc, | |||
| IdentifierInfo * | NamespcName, | |||
| AttributeList * | AttrList | |||
| ) | [pure virtual] |
ActOnUsingDirective - This is called when using-directive is parsed.
Implemented in clang::Sema.
| virtual ExprResult clang::Action::ActOnVAArg | ( | SourceLocation | BuiltinLoc, | |
| ExprArg | expr, | |||
| ParsedType | type, | |||
| SourceLocation | RPLoc | |||
| ) | [inline, virtual] |
Reimplemented in clang::Sema.
Definition at line 1307 of file Sema/Action.h.
References ExprEmpty().
| virtual StmtResult clang::Action::ActOnWhileStmt | ( | SourceLocation | WhileLoc, | |
| FullExprArg | Cond, | |||
| Decl * | CondVar, | |||
| StmtArg | Body | |||
| ) | [inline, virtual] |
Parsed a "while" statement.
| Cond | if the "while" condition was parsed as an expression, the expression itself. | |
| CondVar | if the "while" condition was parsed as a condition variable, the condition variable itself. | |
| Body | the body of the "while" loop. |
Reimplemented in clang::Sema.
Definition at line 871 of file Sema/Action.h.
References StmtEmpty().
| virtual void clang::Action::AddCXXDirectInitializerToDecl | ( | Decl * | Dcl, | |
| SourceLocation | LParenLoc, | |||
| MultiExprArg | Exprs, | |||
| SourceLocation * | CommaLocs, | |||
| SourceLocation | RParenLoc | |||
| ) | [inline, virtual] |
AddCXXDirectInitializerToDecl - This action is called immediately after ActOnDeclarator, when a C++ direct initializer is present. e.g: "int x(1);"
Reimplemented in clang::Sema.
Definition at line 1446 of file Sema/Action.h.
AddInitializerToDecl - This action is called immediately after ActOnDeclarator (when an initializer is present). The code is factored this way to make sure we are able to handle the following: void func() { int xx = xx; } This allows ActOnDeclarator to register "xx" prior to parsing the initializer. The declaration above should still result in a warning, since the reference to "xx" is uninitialized.
Reimplemented in clang::Sema.
Definition at line 502 of file Sema/Action.h.
Code completion for the right-hand side of an assignment or compound assignment operator.
| S | The scope in which the assignment occurs. | |
| LHS | The left-hand side of the assignment expression. |
Reimplemented in clang::Sema.
Definition at line 2887 of file Sema/Action.h.
| virtual void clang::Action::CodeCompleteCall | ( | Scope * | S, | |
| Expr * | Fn, | |||
| Expr ** | Args, | |||
| unsigned | NumArgs | |||
| ) | [inline, virtual] |
Code completion for a call.
S the scope in which the call occurs.
| Fn | the expression describing the function being called. | |
| Args | the arguments to the function call (so far). | |
| NumArgs | the number of arguments in Args. |
Reimplemented in clang::Sema.
Definition at line 2866 of file Sema/Action.h.
| virtual void clang::Action::CodeCompleteCase | ( | Scope * | S | ) | [inline, virtual] |
Code completion for a case statement.
S the scope in which the case statement occurs.
Reimplemented in clang::Sema.
Definition at line 2855 of file Sema/Action.h.
| virtual void clang::Action::CodeCompleteDeclarator | ( | Scope * | S, | |
| bool | AllowNonIdentifiers, | |||
| bool | AllowNestedNameSpecifiers | |||
| ) | [inline, virtual] |
Code completion for a declarator name.
| S | The scope in which code completion occurs. | |
| AllowNonIdentifiers | Whether non-identifier names are allowed in this context, e.g., operator+. | |
| AllowNestedNameSpecifiers | Whether nested-name-specifiers are allowed in this context, e.g., because it is a top-level declaration or a friend declaration. |
Reimplemented in clang::Sema.
Definition at line 2820 of file Sema/Action.h.
Code completion for the initializer of a variable declaration.
| S | The scope in which the initializer occurs. | |
| D | The declaration being initialized. |
Reimplemented in clang::Sema.
Definition at line 2874 of file Sema/Action.h.
| virtual void clang::Action::CodeCompleteInPreprocessorConditionalExclusion | ( | Scope * | S | ) | [inline, virtual] |
Code completion while in an area of the translation unit that was excluded due to preprocessor conditionals.
Reimplemented in clang::Sema.
Definition at line 3217 of file Sema/Action.h.
| virtual void clang::Action::CodeCompleteMemberReferenceExpr | ( | Scope * | S, | |
| ExprTy * | Base, | |||
| SourceLocation | OpLoc, | |||
| bool | IsArrow | |||
| ) | [inline, virtual] |
Code completion for a member access expression.
This code completion action is invoked when the code-completion token is found after the "." or "->" of a member access expression.
| S | the scope in which the member access expression occurs. | |
| Base | the base expression (e.g., the x in "x.foo") of the member access. | |
| OpLoc | the location of the "." or "->" operator. | |
| IsArrow | true when the operator is "->", false when it is ".". |
Reimplemented in clang::Sema.
Definition at line 2837 of file Sema/Action.h.
| virtual void clang::Action::CodeCompleteNamespaceAliasDecl | ( | Scope * | S | ) | [inline, virtual] |
Code completion for a C++ namespace alias declaration.
This code completion action is invoked when the code-completion token is found after "namespace identifier = ".
| S | the scope in which the namespace alias declaration occurs. |
Reimplemented in clang::Sema.
Definition at line 2935 of file Sema/Action.h.
| virtual void clang::Action::CodeCompleteNamespaceDecl | ( | Scope * | S | ) | [inline, virtual] |
Code completion for a C++ namespace declaration or namespace alias declaration.
This code completion action is invoked when the code-completion token is found after "namespace".
| S | the scope in which the "namespace" token occurs. |
Reimplemented in clang::Sema.
Definition at line 2927 of file Sema/Action.h.
| virtual void clang::Action::CodeCompleteNaturalLanguage | ( | ) | [inline, virtual] |
Callback invoked when performing code completion in a context where we expect a natural language, e.g., inside a comment or string.
Reimplemented in clang::Sema.
Definition at line 3250 of file Sema/Action.h.
| virtual void clang::Action::CodeCompleteObjCAtDirective | ( | Scope * | S, | |
| Decl * | ObjCImpDecl, | |||
| bool | InInterface | |||
| ) | [inline, virtual] |
Code completion after the '@' at the top level.
| S | the scope in which the '@' occurs. | |
| ObjCImpDecl | the Objective-C implementation or category implementation. | |
| InInterface | whether we are in an Objective-C interface or protocol. |
Reimplemented in clang::Sema.
Definition at line 2954 of file Sema/Action.h.
| virtual void clang::Action::CodeCompleteObjCAtExpression | ( | Scope * | S | ) | [inline, virtual] |
Code completion after the '@' in an expression.
Reimplemented in clang::Sema.
Definition at line 2964 of file Sema/Action.h.
| virtual void clang::Action::CodeCompleteObjCAtStatement | ( | Scope * | S | ) | [inline, virtual] |
Code completion after the '@' in a statement.
Reimplemented in clang::Sema.
Definition at line 2961 of file Sema/Action.h.
| virtual void clang::Action::CodeCompleteObjCAtVisibility | ( | Scope * | S | ) | [inline, virtual] |
Code completion after the '@' in the list of instance variables.
Reimplemented in clang::Sema.
Definition at line 2958 of file Sema/Action.h.
| virtual void clang::Action::CodeCompleteObjCClassMessage | ( | Scope * | S, | |
| ParsedType | Receiver, | |||
| IdentifierInfo ** | SelIdents, | |||
| unsigned | NumSelIdents | |||
| ) | [inline, virtual] |
Code completion for an ObjC message expression that refers to a class method.
This code completion action is invoked when the code-completion token is found after the class name and after each argument.
| S | The scope in which the message expression occurs. | |
| Receiver | The type of the class that is receiving a message. | |
| SelIdents | The identifiers that describe the selector (thus far). | |
| NumSelIdents | The number of identifiers in SelIdents. |
Reimplemented in clang::Sema.
Definition at line 3054 of file Sema/Action.h.
| virtual void clang::Action::CodeCompleteObjCForCollection | ( | Scope * | S, | |
| DeclGroupPtrTy | IterationVar | |||
| ) | [inline, virtual] |
Code completion for the collection argument of an Objective-C for-each statement.
| S | The Scope in which the completion occurs. | |
| IterationBar | The iteration variable declaration. |
Reimplemented in clang::Sema.
Definition at line 3078 of file Sema/Action.h.
| virtual void clang::Action::CodeCompleteObjCImplementationCategory | ( | Scope * | S, | |
| IdentifierInfo * | ClassName, | |||
| SourceLocation | ClassNameLoc | |||
| ) | [inline, virtual] |
Code completion for the category name in an Objective-C category implementation.
This code completion action is invoked after the '(' that indicates the category name within an Objective-C category implementation.
Reimplemented in clang::Sema.
Definition at line 3134 of file Sema/Action.h.
| virtual void clang::Action::CodeCompleteObjCImplementationDecl | ( | Scope * | S | ) | [inline, virtual] |
Code completion for an Objective-C implementation, after the but before any identifier.
Reimplemented in clang::Sema.
Definition at line 3117 of file Sema/Action.h.
| virtual void clang::Action::CodeCompleteObjCInstanceMessage | ( | Scope * | S, | |
| ExprTy * | Receiver, | |||
| IdentifierInfo ** | SelIdents, | |||
| unsigned | NumSelIdents | |||
| ) | [inline, virtual] |
Code completion for an ObjC message expression that refers to an instance method.
This code completion action is invoked when the code-completion token is found after the receiver expression and after each argument.
| S | the scope in which the operator keyword occurs. | |
| Receiver | an expression for the receiver of the message. | |
| SelIdents | the identifiers that describe the selector (thus far). | |
| NumSelIdents | the number of identifiers in SelIdents. |
Reimplemented in clang::Sema.
Definition at line 3068 of file Sema/Action.h.
| virtual void clang::Action::CodeCompleteObjCInterfaceCategory | ( | Scope * | S, | |
| IdentifierInfo * | ClassName, | |||
| SourceLocation | ClassNameLoc | |||
| ) | [inline, virtual] |
Code completion for the category name in an Objective-C interface declaration.
This code completion action is invoked after the '(' that indicates a category name within an Objective-C interface declaration.
Reimplemented in clang::Sema.
Definition at line 3124 of file Sema/Action.h.
| virtual void clang::Action::CodeCompleteObjCInterfaceDecl | ( | Scope * | S | ) | [inline, virtual] |
Reimplemented in clang::Sema.
Definition at line 3102 of file Sema/Action.h.
| virtual void clang::Action::CodeCompleteObjCMessageReceiver | ( | Scope * | S | ) | [inline, virtual] |
Code completion for the receiver in an Objective-C message send.
This code completion action is invoked when we see a '[' that indicates the start of an Objective-C message send.
| S | The scope in which the Objective-C message send occurs. |
Reimplemented in clang::Sema.
Definition at line 3028 of file Sema/Action.h.
| virtual void clang::Action::CodeCompleteObjCMethodDecl | ( | Scope * | S, | |
| bool | IsInstanceMethod, | |||
| ParsedType | ReturnType, | |||
| Decl * | IDecl | |||
| ) | [inline, virtual] |
Code completion for an Objective-C method declaration or definition, which may occur within an interface, category, extension, protocol, or implementation thereof (where applicable).
This code completion action is invoked after the "-" or "+" that starts a method declaration or definition, and after the return type such a declaration (e.g., "- (id)").
| S | The scope in which the completion occurs. | |
| IsInstanceMethod | Whether this is an instance method (introduced with '-'); otherwise, it's a class method (introduced with '+'). | |
| ReturnType | If non-NULL, the specified return type of the method being declared or defined. | |
| IDecl | The interface, category, protocol, or implementation, or category implementation in which this method declaration or definition occurs. |
Reimplemented in clang::Sema.
Definition at line 3178 of file Sema/Action.h.
| virtual void clang::Action::CodeCompleteObjCMethodDeclSelector | ( | Scope * | S, | |
| bool | IsInstanceMethod, | |||
| bool | AtParameterName, | |||
| ParsedType | ReturnType, | |||
| IdentifierInfo ** | SelIdents, | |||
| unsigned | NumSelIdents | |||
| ) | [inline, virtual] |
Code completion for a selector identifier or argument name within an Objective-C method declaration.
| S | The scope in which this code completion occurs. | |
| IsInstanceMethod | Whether we are parsing an instance method (or, if false, a class method). | |
| AtParameterName | Whether the actual code completion point is at the argument name. | |
| ReturnType | If non-NULL, the specified return type of the method being declared or defined. | |
| SelIdents | The identifiers that occurred in the selector for the method declaration prior to the code completion point. | |
| NumSelIdents | The number of identifiers provided by SelIdents. |
Reimplemented in clang::Sema.
Definition at line 3202 of file Sema/Action.h.
| virtual void clang::Action::CodeCompleteObjCPassingType | ( | Scope * | S, | |
| ObjCDeclSpec & | DS | |||
| ) | [inline, virtual] |
Code completion for an Objective-C method parameter or return type.
This code completion action is invoked when we are parsing the type of an Objective-C method parameter or return type.
| S | The scope in which the code-completion occurs. | |
| DS | The Objective-C declaration specifiers so far. |
Reimplemented in clang::Sema.
Definition at line 3019 of file Sema/Action.h.
| virtual void clang::Action::CodeCompleteObjCPropertyDefinition | ( | Scope * | S, | |
| Decl * | ObjCImpDecl | |||
| ) | [inline, virtual] |
Code completion for the property names when defining an Objective-C property.
This code completion action is invoked after or and after each "," within one of those definitions.
Reimplemented in clang::Sema.
Definition at line 3144 of file Sema/Action.h.
| virtual void clang::Action::CodeCompleteObjCPropertyFlags | ( | Scope * | S, | |
| ObjCDeclSpec & | ODS | |||
| ) | [inline, virtual] |
Code completion for an ObjC property decl.
This code completion action is invoked when the code-completion token is found after the left paren.
| S | the scope in which the operator keyword occurs. |
Reimplemented in clang::Sema.
Definition at line 2972 of file Sema/Action.h.
| virtual void clang::Action::CodeCompleteObjCPropertyGetter | ( | Scope * | S, | |
| Decl * | ClassDecl, | |||
| Decl ** | Methods, | |||
| unsigned | NumMethods | |||
| ) | [inline, virtual] |
Code completion for the getter of an Objective-C property declaration.
This code completion action is invoked when the code-completion token is found after the "getter = " in a property declaration.
| S | the scope in which the property is being declared. | |
| ClassDecl | the Objective-C class or category in which the property is being defined. | |
| Methods | the set of methods declared thus far within ClassDecl. | |
| NumMethods | the number of methods in Methods |
Reimplemented in clang::Sema.
Definition at line 2988 of file Sema/Action.h.
| virtual void clang::Action::CodeCompleteObjCPropertySetter | ( | Scope * | S, | |
| Decl * | ClassDecl, | |||
| Decl ** | Methods, | |||
| unsigned | NumMethods | |||
| ) | [inline, virtual] |
Code completion for the setter of an Objective-C property declaration.
This code completion action is invoked when the code-completion token is found after the "setter = " in a property declaration.
| S | the scope in which the property is being declared. | |
| ClassDecl | the Objective-C class or category in which the property is being defined. | |
| Methods | the set of methods declared thus far within ClassDecl. | |
| NumMethods | the number of methods in Methods |
Reimplemented in clang::Sema.
Definition at line 3007 of file Sema/Action.h.
| virtual void clang::Action::CodeCompleteObjCPropertySynthesizeIvar | ( | Scope * | S, | |
| IdentifierInfo * | PropertyName, | |||
| Decl * | ObjCImpDecl | |||
| ) | [inline, virtual] |
Code completion for the instance variable name that should follow an '=' when synthesizing an Objective-C property.
This code completion action is invoked after each '=' that occurs within an definition.
Reimplemented in clang::Sema.
Definition at line 3153 of file Sema/Action.h.
| virtual void clang::Action::CodeCompleteObjCProtocolDecl | ( | Scope * | S | ) | [inline, virtual] |
Reimplemented in clang::Sema.
Definition at line 3098 of file Sema/Action.h.
| virtual void clang::Action::CodeCompleteObjCProtocolReferences | ( | IdentifierLocPair * | Protocols, | |
| unsigned | NumProtocols | |||
| ) | [inline, virtual] |
Code completion for a list of protocol references in Objective-C, such as P1 and P2 in id<P1,P2>.
This code completion action is invoked prior to each identifier in the protocol list.
| Protocols | the set of protocols that have already been parsed. | |
| NumProtocols | the number of protocols that have already been parsed. |
Reimplemented in clang::Sema.
Definition at line 3091 of file Sema/Action.h.
| virtual void clang::Action::CodeCompleteObjCSuperclass | ( | Scope * | S, | |
| IdentifierInfo * | ClassName, | |||
| SourceLocation | ClassNameLoc | |||
| ) | [inline, virtual] |
Code completion for the superclass of an Objective-C interface, after the ':'.
| S | the scope in which the interface declaration occurs. | |
| ClassName | the name of the class being defined. |
Reimplemented in clang::Sema.
Definition at line 3110 of file Sema/Action.h.
| virtual void clang::Action::CodeCompleteObjCSuperMessage | ( | Scope * | S, | |
| SourceLocation | SuperLoc, | |||
| IdentifierInfo ** | SelIdents, | |||
| unsigned | NumSelIdents | |||
| ) | [inline, virtual] |
Code completion for an ObjC message expression that sends a message to the superclass.
This code completion action is invoked when the code-completion token is found after the class name and after each argument.
| S | The scope in which the message expression occurs. | |
| SuperLoc | The location of the 'super' keyword. | |
| SelIdents | The identifiers that describe the selector (thus far). | |
| NumSelIdents | The number of identifiers in SelIdents. |
Reimplemented in clang::Sema.
Definition at line 3040 of file Sema/Action.h.
| virtual void clang::Action::CodeCompleteOperatorName | ( | Scope * | S | ) | [inline, virtual] |
Code completion for an operator name.
This code completion action is invoked when the code-completion token is found after the keyword "operator".
| S | the scope in which the operator keyword occurs. |
Reimplemented in clang::Sema.
Definition at line 2943 of file Sema/Action.h.
| virtual void clang::Action::CodeCompleteOrdinaryName | ( | Scope * | S, | |
| ParserCompletionContext | CompletionContext | |||
| ) | [inline, virtual] |
Code completion for an ordinary name that occurs within the given scope.
| S | the scope in which the name occurs. | |
| CompletionContext | the context in which code completion occurs. |
Reimplemented in clang::Sema.
Definition at line 2805 of file Sema/Action.h.
| virtual void clang::Action::CodeCompletePreprocessorDirective | ( | bool | InConditional | ) | [inline, virtual] |
Code completion for a preprocessor directive.
InConditional Whether we're inside a preprocessor conditional.
Reimplemented in clang::Sema.
Definition at line 3212 of file Sema/Action.h.
| virtual void clang::Action::CodeCompletePreprocessorExpression | ( | ) | [inline, virtual] |
Callback invoked when performing code completion in a preprocessor expression, such as the condition of an if or elif directive.
Reimplemented in clang::Sema.
Definition at line 3230 of file Sema/Action.h.
| virtual void clang::Action::CodeCompletePreprocessorMacroArgument | ( | Scope * | S, | |
| IdentifierInfo * | Macro, | |||
| MacroInfo * | MacroInfo, | |||
| unsigned | Argument | |||
| ) | [inline, virtual] |
Callback invoked when performing code completion inside a function-like macro argument.
| S | The scope in which this macro is being expanded. | |
| Macro | The name of the macro that is going to be expanded. | |
| MacroInfo | Information about the macro that is going to be expanded. | |
| Argument | The argument in which the code-completion token occurs. |
Reimplemented in clang::Sema.
Definition at line 3243 of file Sema/Action.h.
| virtual void clang::Action::CodeCompletePreprocessorMacroName | ( | bool | IsDefinition | ) | [inline, virtual] |
Code completion in the preprocessor where an already-defined macro name is expected, e.g., an ifdef or undef.
| IsDefinition | Whether this code completion for a macro name occurs in a definition of the macro (define) or in another use that already expects that the macro is defined (e.g., undef or ifdef). |
Reimplemented in clang::Sema.
Definition at line 3225 of file Sema/Action.h.
| virtual void clang::Action::CodeCompleteQualifiedId | ( | Scope * | S, | |
| CXXScopeSpec & | SS, | |||
| bool | EnteringContext | |||
| ) | [inline, virtual] |
Code completion for a C++ nested-name-specifier that precedes a qualified-id of some form.
This code completion action is invoked when the code-completion token is found after the "::" of a nested-name-specifier.
| S | the scope in which the nested-name-specifier occurs. | |
| SS | the scope specifier ending with "::". |
EnteringContext whether we're entering the context of this scope specifier.
Reimplemented in clang::Sema.
Definition at line 2901 of file Sema/Action.h.
| virtual void clang::Action::CodeCompleteReturn | ( | Scope * | S | ) | [inline, virtual] |
Code completion after the "return" keyword within a function.
| S | The scope in which the return statement occurs. |
Reimplemented in clang::Sema.
Definition at line 2879 of file Sema/Action.h.
| virtual void clang::Action::CodeCompleteTag | ( | Scope * | S, | |
| unsigned | TagSpec | |||
| ) | [inline, virtual] |
Code completion for a reference to a tag.
This code completion action is invoked when the code-completion token is found after a tag keyword (struct, union, enum, or class).
| S | the scope in which the tag reference occurs. | |
| TagSpec | an instance of DeclSpec::TST, indicating what kind of tag this is (struct/union/enum/class). |
Reimplemented in clang::Sema.
Definition at line 2850 of file Sema/Action.h.
| virtual void clang::Action::CodeCompleteUsing | ( | Scope * | S | ) | [inline, virtual] |
Code completion for a C++ "using" declaration or directive.
This code completion action is invoked when the code-completion token is found after the "using" keyword.
| S | the scope in which the "using" occurs. |
Reimplemented in clang::Sema.
Definition at line 2910 of file Sema/Action.h.
| virtual void clang::Action::CodeCompleteUsingDirective | ( | Scope * | S | ) | [inline, virtual] |
Code completion for a C++ using directive.
This code completion action is invoked when the code-completion token is found after "using namespace".
| S | the scope in which the "using namespace" occurs. |
Reimplemented in clang::Sema.
Definition at line 2918 of file Sema/Action.h.
| virtual DeclGroupPtrTy clang::Action::ConvertDeclToDeclGroup | ( | Decl * | Ptr | ) | [inline, virtual] |
ConvertDeclToDeclGroup - If the parser has one decl in a context where it needs a decl group, it calls this to convert between the two representations.
Reimplemented in clang::Sema.
Definition at line 187 of file Sema/Action.h.
Referenced by clang::Parser::FinishPendingObjCActions().
| virtual bool clang::Action::DiagnoseUnknownTemplateName | ( | const IdentifierInfo & | II, | |
| SourceLocation | IILoc, | |||
| Scope * | S, | |||
| const CXXScopeSpec * | SS, | |||
| TemplateTy & | SuggestedTemplate, | |||
| TemplateNameKind & | SuggestedKind | |||
| ) | [inline, virtual] |
Action called as part of error recovery when the parser has determined that the given name must refer to a template, but isTemplateName() did not return a result.
This callback permits the action to give a detailed diagnostic when an unknown template name is encountered and, potentially, to try to recover by producing a new template in SuggestedTemplate.
| II | the name that should be a template. | |
| IILoc | the location of the name in the source. | |
| S | the scope in which name lookup was performed. | |
| SS | the C++ scope specifier that preceded the name. | |
| SuggestedTemplate | if the action sets this template to a non-NULL, template, the parser will recover by consuming the template name token and the template argument list that follows. | |
| SuggestedTemplateKind | as input, the kind of template that we expect (e.g., TNK_Type_template or TNK_Function_template). If the action provides a suggested template, this should be set to the kind of template. |
Reimplemented in clang::Sema.
Definition at line 334 of file Sema/Action.h.
| virtual bool clang::Action::DiagnoseUnknownTypeName | ( | const IdentifierInfo & | II, | |
| SourceLocation | IILoc, | |||
| Scope * | S, | |||
| CXXScopeSpec * | SS, | |||
| ParsedType & | SuggestedType | |||
| ) | [inline, virtual] |
Action called as part of error recovery when the parser has determined that the given name must refer to a type, but getTypeName() did not return a result.
This callback permits the action to give a detailed diagnostic when an unknown type name is encountered and, potentially, to try to recover by producing a new type in SuggestedType.
| II | the name that should be a type. | |
| IILoc | the location of the name in the source. | |
| S | the scope in which name lookup was performed. | |
| SS | if non-NULL, the C++ scope specifier that preceded the name. | |
| SuggestedType | if the action sets this type to a non-NULL type, the parser will recovery by consuming the type name token and then pretending that the given type was the type it parsed. |
Reimplemented in clang::Sema.
Definition at line 252 of file Sema/Action.h.
| virtual void clang::Action::DiagnoseUseOfUnimplementedSelectors | ( | ) | [inline, virtual] |
Reimplemented in clang::Sema.
Definition at line 191 of file Sema/Action.h.
Referenced by clang::Parser::FinishPendingObjCActions().
| ExprResult clang::Action::ExprEmpty | ( | ) | [inline] |
Definition at line 153 of file Sema/Action.h.
Referenced by ActOnAddrLabel(), ActOnArraySubscriptExpr(), ActOnBinOp(), ActOnBlockStmtExpr(), ActOnBuiltinOffsetOf(), ActOnCallExpr(), ActOnCastExpr(), ActOnCharacterConstant(), ActOnChooseExpr(), ActOnClassPropertyRefExpr(), ActOnCompoundLiteral(), ActOnConditionalOp(), ActOnCXXBoolLiteral(), ActOnCXXDelete(), ActOnCXXNamedCast(), ActOnCXXNew(), ActOnCXXNullPtrLiteral(), ActOnCXXThis(), ActOnCXXThrow(), ActOnCXXTypeConstructExpr(), ActOnCXXTypeid(), ActOnDesignatedInitializer(), ActOnGNUNullExpr(), ActOnIdExpression(), ActOnInitList(), ActOnMemberAccessExpr(), ActOnNumericConstant(), ActOnParenOrParenListExpr(), ActOnPostfixUnaryOp(), ActOnPredefinedExpr(), ActOnPseudoDestructorExpr(), ActOnSizeOfAlignOfExpr(), ActOnStartCXXMemberReference(), ActOnStmtExpr(), ActOnStringLiteral(), ActOnTypesCompatibleExpr(), ActOnUnaryOp(), ActOnUnaryTypeTrait(), and ActOnVAArg().
| ExprResult clang::Action::ExprError | ( | const DiagnosticBuilder & | ) | [inline] |
| ExprResult clang::Action::ExprError | ( | ) | [inline] |
Definition at line 147 of file Sema/Action.h.
Referenced by clang::Sema::ActOnBuiltinOffsetOf(), clang::Sema::ActOnCharacterConstant(), clang::Sema::ActOnChooseExpr(), clang::Sema::ActOnClassMessage(), clang::Sema::ActOnClassPropertyRefExpr(), clang::Sema::ActOnCXXNew(), clang::Sema::ActOnCXXThis(), clang::Sema::ActOnCXXTypeConstructExpr(), clang::Sema::ActOnCXXTypeid(), clang::Sema::ActOnDesignatedInitializer(), clang::Sema::ActOnIdExpression(), clang::Sema::ActOnNumericConstant(), clang::Sema::ActOnSizeOfAlignOfExpr(), clang::Sema::ActOnStringLiteral(), clang::Sema::ActOnSuperMessage(), clang::Sema::ActOnUnaryTypeTrait(), clang::Sema::BuildAnonymousStructUnionMemberReference(), clang::Sema::BuildBuiltinOffsetOf(), clang::Sema::BuildCallToMemberFunction(), clang::Sema::BuildClassMessage(), BuildCXXCastArgument(), clang::Sema::BuildCXXDefaultArgExpr(), clang::Sema::BuildCXXNamedCast(), clang::Sema::BuildCXXTypeId(), clang::Sema::BuildDeclarationNameExpr(), clang::Sema::BuildDeclRefExpr(), clang::Sema::BuildExpressionFromDeclTemplateArgument(), clang::Sema::BuildOverloadedCallExpr(), clang::Sema::BuildPossibleImplicitMemberExpr(), clang::Sema::BuildQualifiedDeclarationNameExpr(), clang::Sema::BuildQualifiedTemplateIdExpr(), clang::BuildRecoveryCallExpr(), clang::Sema::BuildResolvedCallExpr(), clang::Sema::BuildTypesCompatibleExpr(), clang::Sema::CheckConditionVariable(), CopyObject(), clang::Sema::CreateBuiltinBinOp(), clang::Sema::CreateBuiltinUnaryOp(), clang::Sema::CreateOverloadedBinOp(), clang::Sema::CreateSizeOfAlignOfExpr(), clang::Sema::DefineImplicitCopyAssignment(), clang::Sema::HandleExprPropertyRefExpr(), clang::Sema::LookupInObjCMethod(), clang::Sema::LookupMemberExpr(), clang::Sema::MaybeConvertParenListExprToParenExpr(), clang::Sema::MaybeCreateCXXExprWithTemporaries(), clang::InitializationSequence::Perform(), clang::Sema::PerformCopyInitialization(), clang::TreeTransform< Derived >::RebuildCXXConstructExpr(), clang::TreeTransform< Derived >::RebuildCXXNamedCastExpr(), clang::TreeTransform< Derived >::RebuildCXXOperatorCallExpr(), clang::TreeTransform< Derived >::RebuildDesignatedInitExpr(), clang::TreeTransform< Derived >::RebuildMemberExpr(), clang::TreeTransform< Derived >::RebuildObjCIsaExpr(), clang::TreeTransform< Derived >::RebuildObjCIvarRefExpr(), clang::TreeTransform< Derived >::RebuildObjCPropertyRefExpr(), clang::TreeTransform< Derived >::RebuildShuffleVectorExpr(), clang::TreeTransform< Derived >::RebuildSizeOfAlignOf(), clang::Sema::SemaBuiltinShuffleVector(), and clang::TreeTransform< Derived >::TransformCXXNamedCastExpr().
| virtual DeclGroupPtrTy clang::Action::FinalizeDeclaratorGroup | ( | Scope * | S, | |
| const DeclSpec & | DS, | |||
| Decl ** | Group, | |||
| unsigned | NumDecls | |||
| ) | [inline, virtual] |
FinalizeDeclaratorGroup - After a sequence of declarators are parsed, this gives the actions implementation a chance to process the group as a whole.
Reimplemented in clang::Sema.
Definition at line 531 of file Sema/Action.h.
| virtual void clang::Action::FindProtocolDeclaration | ( | bool | WarnOnDeclarations, | |
| const IdentifierLocPair * | ProtocolId, | |||
| unsigned | NumProtocols, | |||
| llvm::SmallVectorImpl< Decl * > & | ResProtos | |||
| ) | [inline, virtual] |
FindProtocolDeclaration - This routine looks up protocols and issues error if they are not declared. It returns list of valid protocols found.
Reimplemented in clang::Sema.
Definition at line 2637 of file Sema/Action.h.
| Scope* clang::Action::getCurScope | ( | ) | const [inline, protected] |
Retrieve the parser's current scope.
Definition at line 70 of file Sema/Action.h.
Referenced by clang::Sema::getScopeForContext().
| virtual std::string clang::Action::getDeclName | ( | Decl * | D | ) | [inline, virtual] |
getDeclName - Return a pretty name for the specified decl if possible, or an empty string if not. This is used for pretty crash reporting.
Reimplemented in clang::Sema.
Definition at line 161 of file Sema/Action.h.
Referenced by clang::PrettyStackTraceActionsDecl::print().
| virtual ParsedType clang::Action::getDestructorName | ( | SourceLocation | TildeLoc, | |
| IdentifierInfo & | II, | |||
| SourceLocation | NameLoc, | |||
| Scope * | S, | |||
| CXXScopeSpec & | SS, | |||
| ParsedType | ObjectType, | |||
| bool | EnteringContext | |||
| ) | [inline, virtual] |
Parsed a destructor name or pseudo-destructor name.
Reimplemented in clang::Sema.
Definition at line 1546 of file Sema/Action.h.
References getTypeName().
| virtual SourceRange clang::Action::getExprRange | ( | ExprTy * | E | ) | const [inline, virtual] |
Retrieve the source range that corresponds to the given expression.
Reimplemented in clang::Sema.
Definition at line 1071 of file Sema/Action.h.
| virtual ObjCMessageKind clang::Action::getObjCMessageKind | ( | Scope * | S, | |
| IdentifierInfo * | Name, | |||
| SourceLocation | NameLoc, | |||
| bool | IsSuper, | |||
| bool | HasTrailingDot, | |||
| ParsedType & | ReceiverType | |||
| ) | [pure virtual] |
Determine the kind of Objective-C message send that we will be performing based on the identifier given.
This action determines how a message send that starts with [ identifier (followed by another identifier) will be parsed, e.g., as a class message, instance message, super message. The result depends on the meaning of the given identifier. If the identifier is unknown, the action should indicate that the message is an instance message.
By default, this routine applies syntactic disambiguation and uses getTypeName() to determine whether the identifier refers to a type. However, Action subclasses may override this routine to improve error recovery.
| S | The scope in which the message send occurs. | |
| Name | The identifier following the '['. | |
| NameLoc | The location of the identifier. | |
| IsSuper | Whether the name is the pseudo-keyword "super". | |
| HasTrailingDot | Whether the name is followed by a period. | |
| ReceiverType | If this routine returns ObjCClassMessage, this argument will be set to the receiver type. |
Implemented in clang::Sema.
| virtual ParsedType clang::Action::getTypeName | ( | IdentifierInfo & | II, | |
| SourceLocation | NameLoc, | |||
| Scope * | S, | |||
| CXXScopeSpec * | SS = 0, |
|||
| bool | isClassName = false, |
|||
| ParsedType | ObjectType = ParsedType() | |||
| ) | [pure virtual] |
getTypeName - Return non-null if the specified identifier is a type name in the current scope.
| II | the identifier for which we are performing name lookup | |
| NameLoc | the location of the identifier | |
| S | the scope in which this name lookup occurs | |
| SS | if non-NULL, the C++ scope specifier that precedes the identifier | |
| isClassName | whether this is a C++ class-name production, in which we can end up referring to a member of an unknown specialization that we know (from the grammar) is supposed to be a type. For example, this occurs when deriving from "std::vector<T>::allocator_type", where T is a template parameter. | |
| ObjectType | if we're checking whether an identifier is a type within a C++ member access expression, this will be the type of the |
Implemented in clang::Sema.
Referenced by getDestructorName().
| virtual bool clang::Action::isCurrentClassName | ( | const IdentifierInfo & | II, | |
| Scope * | S, | |||
| const CXXScopeSpec * | SS = 0 | |||
| ) | [pure virtual] |
isCurrentClassName - Return true if the specified name is the name of the innermost C++ class type currently being defined.
Implemented in clang::Sema.
| virtual bool clang::Action::IsInvalidUnlessNestedName | ( | Scope * | S, | |
| CXXScopeSpec & | SS, | |||
| IdentifierInfo & | II, | |||
| ParsedType | ObjectType, | |||
| bool | EnteringContext | |||
| ) | [inline, virtual] |
IsInvalidUnlessNestedName - This method is used for error recovery purposes to determine whether the specified identifier is only valid as a nested name specifier, for example a namespace name. It is conservatively correct to always return false from this method.
The arguments are the same as those passed to ActOnCXXNestedNameSpecifier.
Reimplemented in clang::Sema.
Definition at line 406 of file Sema/Action.h.
| virtual bool clang::Action::isNonTypeNestedNameSpecifier | ( | Scope * | S, | |
| CXXScopeSpec & | SS, | |||
| SourceLocation | IdLoc, | |||
| IdentifierInfo & | II, | |||
| ParsedType | ObjectType | |||
| ) | [inline, virtual] |
Determine whether the given name refers to a non-type nested name specifier, e.g., the name of a namespace or namespace alias.
This actual is used in the parsing of pseudo-destructor names to distinguish a nested-name-specifier and a "type-name ::" when we see the token sequence "X :: ~".
Reimplemented in clang::Sema.
Definition at line 349 of file Sema/Action.h.
| virtual DeclSpec::TST clang::Action::isTagName | ( | IdentifierInfo & | II, | |
| Scope * | S | |||
| ) | [inline, virtual] |
isTagName() - This method is called *for error recovery purposes only* to determine if the specified name is a valid tag name ("struct foo"). If so, this returns the TST for the tag corresponding to it (TST_enum, TST_union, TST_struct, TST_class). This is used to diagnose cases in C where the user forgot to specify the tag.
Reimplemented in clang::Sema.
Definition at line 226 of file Sema/Action.h.
References clang::DeclSpec::TST_unspecified.
| virtual TemplateNameKind clang::Action::isTemplateName | ( | Scope * | S, | |
| CXXScopeSpec & | SS, | |||
| bool | hasTemplateKeyword, | |||
| UnqualifiedId & | Name, | |||
| ParsedType | ObjectType, | |||
| bool | EnteringContext, | |||
| TemplateTy & | Template, | |||
| bool & | MemberOfUnknownSpecialization | |||
| ) | [pure virtual] |
Determine whether the given name refers to a template.
This callback is used by the parser after it has seen a '<' to determine whether the given name refers to a template and, if so, what kind of template.
| S | the scope in which the name occurs. | |
| SS | the C++ nested-name-specifier that precedes the template name, if any. | |
| hasTemplateKeyword | true if the template keyword was specified. | |
| Name | the name that we are querying to determine whether it is a template. | |
| ObjectType | if we are determining whether the given name is a template name in the context of a member access expression (e.g., p->X<int>), this is the type of the object referred to by the member access (e.g., p). | |
| EnteringContext | whether we are potentially entering the context referred to by the nested-name-specifier SS, which allows semantic analysis to look into uninstantiated templates. | |
| Template | if the name does refer to a template, the declaration of the template that the name refers to. | |
| MemberOfUnknownSpecialization | Will be set true if the resulting member would be a member of an unknown specialization, in which case this lookup cannot possibly pass at this time. |
Implemented in clang::Sema.
| FullExprArg clang::Action::MakeFullExpr | ( | Expr * | Arg | ) | [inline] |
Definition at line 141 of file Sema/Action.h.
References ActOnFinishFullExpr().
Referenced by BuildSingleCopyAssign().
| virtual Decl* clang::Action::ParsedFreeStandingDeclSpec | ( | Scope * | S, | |
| AccessSpecifier | Access, | |||
| DeclSpec & | DS | |||
| ) | [inline, virtual] |
ParsedFreeStandingDeclSpec - This method is invoked when a declspec with no declarator (e.g. "struct foo;") is parsed.
Reimplemented in clang::Sema.
Definition at line 581 of file Sema/Action.h.
| virtual ExprResult clang::Action::ParseObjCEncodeExpression | ( | SourceLocation | AtLoc, | |
| SourceLocation | EncLoc, | |||
| SourceLocation | LParenLoc, | |||
| ParsedType | Ty, | |||
| SourceLocation | RParenLoc | |||
| ) | [inline, virtual] |
Reimplemented in clang::Sema.
Definition at line 2651 of file Sema/Action.h.
| virtual ExprResult clang::Action::ParseObjCProtocolExpression | ( | IdentifierInfo * | ProtocolId, | |
| SourceLocation | AtLoc, | |||
| SourceLocation | ProtoLoc, | |||
| SourceLocation | LParenLoc, | |||
| SourceLocation | RParenLoc | |||
| ) | [inline, virtual] |
Reimplemented in clang::Sema.
Definition at line 2667 of file Sema/Action.h.
| virtual ExprResult clang::Action::ParseObjCSelectorExpression | ( | Selector | Sel, | |
| SourceLocation | AtLoc, | |||
| SourceLocation | SelLoc, | |||
| SourceLocation | LParenLoc, | |||
| SourceLocation | RParenLoc | |||
| ) | [inline, virtual] |
Reimplemented in clang::Sema.
Definition at line 2659 of file Sema/Action.h.
| virtual ExprResult clang::Action::ParseObjCStringLiteral | ( | SourceLocation * | AtLocs, | |
| ExprTy ** | Strings, | |||
| unsigned | NumStrings | |||
| ) | [inline, virtual] |
Reimplemented in clang::Sema.
Definition at line 2645 of file Sema/Action.h.
| virtual void clang::Action::PopExpressionEvaluationContext | ( | ) | [inline, virtual] |
The parser is exiting an expression evaluation context.
Reimplemented in clang::Sema.
Definition at line 1065 of file Sema/Action.h.
Referenced by clang::EnterExpressionEvaluationContext::~EnterExpressionEvaluationContext().
| virtual void clang::Action::PopParsingDeclaration | ( | ParsingDeclStackState | S, | |
| Decl * | D | |||
| ) | [inline, virtual] |
PopParsingDeclaration - Notes that the parser has completed processing a declaration of some sort. The decl will be empty if the declaration didn't correspond to a full declaration (or if the actions module returned an empty decl for it).
Reimplemented in clang::Sema.
Definition at line 181 of file Sema/Action.h.
| virtual void clang::Action::PrintStats | ( | ) | const [inline, virtual] |
Statistics.
Definition at line 157 of file Sema/Action.h.
| virtual void clang::Action::PushExpressionEvaluationContext | ( | ExpressionEvaluationContext | NewContext | ) | [inline, virtual] |
The parser is entering a new expression evaluation context.
| NewContext | is the new expression evaluation context. |
Reimplemented in clang::Sema.
Definition at line 1061 of file Sema/Action.h.
Referenced by clang::EnterExpressionEvaluationContext::EnterExpressionEvaluationContext().
| virtual ParsingDeclStackState clang::Action::PushParsingDeclaration | ( | ) | [inline, virtual] |
PushParsingDeclaration - Notes that the parser has begun processing a declaration of some sort. Guaranteed to be matched by a call to PopParsingDeclaration with the value returned by this method.
Reimplemented in clang::Sema.
Definition at line 173 of file Sema/Action.h.
| virtual void clang::Action::SetDeclDeleted | ( | Decl * | Dcl, | |
| SourceLocation | DelLoc | |||
| ) | [inline, virtual] |
SetDeclDeleted - This action is called immediately after ActOnDeclarator if =delete is parsed. C++0x [dcl.fct.def]p10 Note that this can be called even for variable declarations. It's the action's job to reject it.
Reimplemented in clang::Sema.
Definition at line 510 of file Sema/Action.h.
| virtual bool clang::Action::ShouldEnterDeclaratorScope | ( | Scope * | S, | |
| const CXXScopeSpec & | SS | |||
| ) | [inline, virtual] |
ShouldEnterDeclaratorScope - Called when a C++ scope specifier is parsed as part of a declarator-id to determine whether a scope should be entered.
| S | the current scope | |
| SS | the scope being entered | |
| isFriendDeclaration | whether this is a friend declaration |
Reimplemented in clang::Sema.
Definition at line 437 of file Sema/Action.h.
| StmtResult clang::Action::StmtEmpty | ( | ) | [inline] |
Definition at line 154 of file Sema/Action.h.
Referenced by ActOnAsmStmt(), ActOnBreakStmt(), ActOnCaseStmt(), ActOnCompoundStmt(), ActOnContinueStmt(), ActOnCXXCatchBlock(), ActOnCXXTryBlock(), ActOnDeclStmt(), ActOnDefaultStmt(), ActOnDoStmt(), ActOnFinishSwitchStmt(), ActOnForStmt(), ActOnGotoStmt(), ActOnIfStmt(), ActOnIndirectGotoStmt(), ActOnLabelStmt(), ActOnNullStmt(), ActOnObjCAtCatchStmt(), ActOnObjCAtFinallyStmt(), ActOnObjCAtSynchronizedStmt(), ActOnObjCAtThrowStmt(), ActOnObjCAtTryStmt(), ActOnObjCForCollectionStmt(), ActOnReturnStmt(), ActOnStartOfSwitchStmt(), and ActOnWhileStmt().
| StmtResult clang::Action::StmtError | ( | const DiagnosticBuilder & | ) | [inline] |
| StmtResult clang::Action::StmtError | ( | ) | [inline] |
Definition at line 148 of file Sema/Action.h.
Referenced by clang::Sema::ActOnBlockReturnStmt(), clang::Sema::ActOnBreakStmt(), clang::Sema::ActOnContinueStmt(), clang::Sema::ActOnDeclStmt(), BuildSingleCopyAssign(), clang::TreeTransform< Derived >::TransformCompoundStmt(), and clang::TreeTransform< Derived >::TransformStmt().
| virtual bool clang::Action::TypeIsVectorType | ( | ParsedType | Ty | ) | [inline, virtual] |
Reimplemented in clang::Sema.
Definition at line 1240 of file Sema/Action.h.
friend class Parser [friend] |
Definition at line 67 of file Sema/Action.h.