clang 22.0.0git
Parser.h File Reference
#include "clang/Basic/OpenACCKinds.h"
#include "clang/Basic/OperatorPrecedence.h"
#include "clang/Lex/CodeCompletionHandler.h"
#include "clang/Lex/Preprocessor.h"
#include "clang/Sema/Sema.h"
#include "clang/Sema/SemaCodeCompletion.h"
#include "clang/Sema/SemaObjC.h"
#include "clang/Sema/SemaOpenMP.h"
#include "llvm/ADT/STLForwardCompat.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/Frontend/OpenMP/OMPContext.h"
#include "llvm/Support/SaveAndRestore.h"
#include <optional>
#include <stack>

Go to the source code of this file.

Classes

class  clang::Parser
 Parser - This implements a parser for the C family of languages. More...
class  clang::Parser::ParseScope
 ParseScope - Introduces a new scope for parsing. More...
class  clang::Parser::MultiParseScope
 Introduces zero or more scopes for parsing. More...
struct  clang::Parser::AngleBracketTracker::Loc

Namespaces

namespace  clang
 The JSON file list parser is used to communicate input to InstallAPI.

Enumerations

enum class  clang::AnnotatedNameKind {
  clang::Error , clang::TentativeDecl , clang::TemplateName , clang::Unresolved ,
  clang::Success
}
enum class  clang::ExtraSemiKind { clang::OutsideFunction = 0 , clang::InsideStruct = 1 , clang::InstanceVariableList = 2 , clang::AfterMemberFunctionDefinition = 3 }
 The kind of extra semi diagnostic to emit. More...
enum class  clang::ParsedTemplateKind { clang::NonTemplate = 0 , clang::Template , clang::ExplicitSpecialization , clang::ExplicitInstantiation }
 The kind of template we are parsing. More...
enum class  clang::CachedInitKind { clang::DefaultArgument , clang::DefaultInitializer }
enum class  clang::ObjCTypeQual {
  clang::in = 0 , clang::out , clang::inout , clang::oneway ,
  clang::bycopy , clang::byref , clang::nonnull , clang::nullable ,
  clang::null_unspecified , clang::NumQuals
}
enum class  clang::TypoCorrectionTypeBehavior { clang::AllowNonTypes , clang::AllowTypes , clang::AllowBoth }
 If a typo should be encountered, should typo correction suggest type names, non type names, or both? More...
enum class  clang::CastParseKind { clang::AnyCastExpr = 0 , clang::UnaryExprOnly , clang::PrimaryExprOnly }
 Control what ParseCastExpression will parse. More...
enum class  clang::ParenParseOption {
  clang::SimpleExpr , clang::FoldExpr , clang::CompoundStmt , clang::CompoundLiteral ,
  clang::CastExpr
}
 ParenParseOption - Control what ParseParenExpression will parse. More...
enum class  clang::ParenExprKind { clang::PartOfOperator , clang::Unknown }
 In a call to ParseParenExpression, are the initial parentheses part of an operator that requires the parens be there (like typeof(int)) or could they be something else, such as part of a compound literal or a sizeof expression, etc. More...
enum class  clang::IfExistsBehavior { clang::Parse , clang::Skip , clang::Dependent }
 Describes the behavior that should be taken for an __if_exists block. More...
enum class  clang::TentativeCXXTypeIdContext {
  clang::InParens , clang::Unambiguous , clang::AsTemplateArgument , clang::InTrailingReturnType ,
  clang::AsGenericSelectionArgument
}
 Specifies the context in which type-id/expression disambiguation will occur. More...
enum class  clang::CXX11AttributeKind { clang::NotAttributeSpecifier , clang::AttributeSpecifier , clang::InvalidAttributeSpecifier }
 The kind of attribute specifier we have found. More...