mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2025-01-22 17:03:32 +00:00
clang-format: Print token type name instead of number in -debug output
Differential Revision: http://reviews.llvm.org/D11125 llvm-svn: 242039
This commit is contained in:
parent
db5a11f698
commit
67d81c8a77
@ -23,6 +23,20 @@
|
||||
namespace clang {
|
||||
namespace format {
|
||||
|
||||
const char *getTokenTypeName(TokenType Type) {
|
||||
static const char *const TokNames[] = {
|
||||
#define TYPE(X) #X,
|
||||
LIST_TOKEN_TYPES
|
||||
#undef TYPE
|
||||
nullptr
|
||||
};
|
||||
|
||||
if (Type < NUM_TOKEN_TYPES)
|
||||
return TokNames[Type];
|
||||
llvm_unreachable("unknown TokenType");
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
// FIXME: This is copy&pasted from Sema. Put it in a common place and remove
|
||||
// duplication.
|
||||
bool FormatToken::isSimpleTypeSpecifier() const {
|
||||
|
@ -25,68 +25,77 @@
|
||||
namespace clang {
|
||||
namespace format {
|
||||
|
||||
#define LIST_TOKEN_TYPES \
|
||||
TYPE(ArrayInitializerLSquare) \
|
||||
TYPE(ArraySubscriptLSquare) \
|
||||
TYPE(AttributeParen) \
|
||||
TYPE(BinaryOperator) \
|
||||
TYPE(BitFieldColon) \
|
||||
TYPE(BlockComment) \
|
||||
TYPE(CastRParen) \
|
||||
TYPE(ConditionalExpr) \
|
||||
TYPE(ConflictAlternative) \
|
||||
TYPE(ConflictEnd) \
|
||||
TYPE(ConflictStart) \
|
||||
TYPE(CtorInitializerColon) \
|
||||
TYPE(CtorInitializerComma) \
|
||||
TYPE(DesignatedInitializerPeriod) \
|
||||
TYPE(DictLiteral) \
|
||||
TYPE(ForEachMacro) \
|
||||
TYPE(FunctionAnnotationRParen) \
|
||||
TYPE(FunctionDeclarationName) \
|
||||
TYPE(FunctionLBrace) \
|
||||
TYPE(FunctionTypeLParen) \
|
||||
TYPE(ImplicitStringLiteral) \
|
||||
TYPE(InheritanceColon) \
|
||||
TYPE(InlineASMBrace) \
|
||||
TYPE(InlineASMColon) \
|
||||
TYPE(JavaAnnotation) \
|
||||
TYPE(JsComputedPropertyName) \
|
||||
TYPE(JsFatArrow) \
|
||||
TYPE(JsTypeColon) \
|
||||
TYPE(JsTypeOptionalQuestion) \
|
||||
TYPE(LambdaArrow) \
|
||||
TYPE(LambdaLSquare) \
|
||||
TYPE(LeadingJavaAnnotation) \
|
||||
TYPE(LineComment) \
|
||||
TYPE(MacroBlockBegin) \
|
||||
TYPE(MacroBlockEnd) \
|
||||
TYPE(ObjCBlockLBrace) \
|
||||
TYPE(ObjCBlockLParen) \
|
||||
TYPE(ObjCDecl) \
|
||||
TYPE(ObjCForIn) \
|
||||
TYPE(ObjCMethodExpr) \
|
||||
TYPE(ObjCMethodSpecifier) \
|
||||
TYPE(ObjCProperty) \
|
||||
TYPE(ObjCStringLiteral) \
|
||||
TYPE(OverloadedOperator) \
|
||||
TYPE(OverloadedOperatorLParen) \
|
||||
TYPE(PointerOrReference) \
|
||||
TYPE(PureVirtualSpecifier) \
|
||||
TYPE(RangeBasedForLoopColon) \
|
||||
TYPE(RegexLiteral) \
|
||||
TYPE(SelectorName) \
|
||||
TYPE(StartOfName) \
|
||||
TYPE(TemplateCloser) \
|
||||
TYPE(TemplateOpener) \
|
||||
TYPE(TemplateString) \
|
||||
TYPE(TrailingAnnotation) \
|
||||
TYPE(TrailingReturnArrow) \
|
||||
TYPE(TrailingUnaryOperator) \
|
||||
TYPE(UnaryOperator) \
|
||||
TYPE(Unknown)
|
||||
|
||||
enum TokenType {
|
||||
TT_ArrayInitializerLSquare,
|
||||
TT_ArraySubscriptLSquare,
|
||||
TT_AttributeParen,
|
||||
TT_BinaryOperator,
|
||||
TT_BitFieldColon,
|
||||
TT_BlockComment,
|
||||
TT_CastRParen,
|
||||
TT_ConditionalExpr,
|
||||
TT_ConflictAlternative,
|
||||
TT_ConflictEnd,
|
||||
TT_ConflictStart,
|
||||
TT_CtorInitializerColon,
|
||||
TT_CtorInitializerComma,
|
||||
TT_DesignatedInitializerPeriod,
|
||||
TT_DictLiteral,
|
||||
TT_ForEachMacro,
|
||||
TT_FunctionAnnotationRParen,
|
||||
TT_FunctionDeclarationName,
|
||||
TT_FunctionLBrace,
|
||||
TT_FunctionTypeLParen,
|
||||
TT_ImplicitStringLiteral,
|
||||
TT_InheritanceColon,
|
||||
TT_InlineASMBrace,
|
||||
TT_InlineASMColon,
|
||||
TT_JavaAnnotation,
|
||||
TT_JsComputedPropertyName,
|
||||
TT_JsFatArrow,
|
||||
TT_JsTypeColon,
|
||||
TT_JsTypeOptionalQuestion,
|
||||
TT_LambdaArrow,
|
||||
TT_LambdaLSquare,
|
||||
TT_LeadingJavaAnnotation,
|
||||
TT_LineComment,
|
||||
TT_MacroBlockBegin,
|
||||
TT_MacroBlockEnd,
|
||||
TT_ObjCBlockLBrace,
|
||||
TT_ObjCBlockLParen,
|
||||
TT_ObjCDecl,
|
||||
TT_ObjCForIn,
|
||||
TT_ObjCMethodExpr,
|
||||
TT_ObjCMethodSpecifier,
|
||||
TT_ObjCProperty,
|
||||
TT_ObjCStringLiteral,
|
||||
TT_OverloadedOperator,
|
||||
TT_OverloadedOperatorLParen,
|
||||
TT_PointerOrReference,
|
||||
TT_PureVirtualSpecifier,
|
||||
TT_RangeBasedForLoopColon,
|
||||
TT_RegexLiteral,
|
||||
TT_SelectorName,
|
||||
TT_StartOfName,
|
||||
TT_TemplateCloser,
|
||||
TT_TemplateOpener,
|
||||
TT_TemplateString,
|
||||
TT_TrailingAnnotation,
|
||||
TT_TrailingReturnArrow,
|
||||
TT_TrailingUnaryOperator,
|
||||
TT_UnaryOperator,
|
||||
TT_Unknown
|
||||
#define TYPE(X) TT_##X,
|
||||
LIST_TOKEN_TYPES
|
||||
#undef TYPE
|
||||
NUM_TOKEN_TYPES
|
||||
};
|
||||
|
||||
/// \brief Determines the name of a token type.
|
||||
const char *getTokenTypeName(TokenType Type);
|
||||
|
||||
// Represents what type of block a set of braces open.
|
||||
enum BraceBlockKind { BK_Unknown, BK_Block, BK_BracedInit };
|
||||
|
||||
|
@ -2274,7 +2274,8 @@ void TokenAnnotator::printDebugInfo(const AnnotatedLine &Line) {
|
||||
const FormatToken *Tok = Line.First;
|
||||
while (Tok) {
|
||||
llvm::errs() << " M=" << Tok->MustBreakBefore
|
||||
<< " C=" << Tok->CanBreakBefore << " T=" << Tok->Type
|
||||
<< " C=" << Tok->CanBreakBefore
|
||||
<< " T=" << getTokenTypeName(Tok->Type)
|
||||
<< " S=" << Tok->SpacesRequiredBefore
|
||||
<< " B=" << Tok->BlockParameterCount
|
||||
<< " P=" << Tok->SplitPenalty << " Name=" << Tok->Tok.getName()
|
||||
|
Loading…
x
Reference in New Issue
Block a user