[PATCH] D85124: [Concepts] Include the found concept decl when dumping the ConceptSpecializationExpr
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rG1c0a0dfa0236: [Concepts] Include the found concept decl when dumping theā¦ (authored by hokein). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D85124/new/ https://reviews.llvm.org/D85124 Files: clang/include/clang/AST/TextNodeDumper.h clang/lib/AST/TextNodeDumper.cpp clang/test/AST/ast-dump-concepts.cpp Index: clang/test/AST/ast-dump-concepts.cpp === --- clang/test/AST/ast-dump-concepts.cpp +++ clang/test/AST/ast-dump-concepts.cpp @@ -15,7 +15,7 @@ template struct Foo { // CHECK: TemplateTypeParmDecl {{.*}} referenced Concept {{.*}} 'binary_concept' - // CHECK-NEXT: |-ConceptSpecializationExpr {{.*}} 'bool' + // CHECK-NEXT: |-ConceptSpecializationExpr {{.*}} 'bool' Concept {{.*}} 'binary_concept' // CHECK-NEXT: `-TemplateArgument {{.*}} type 'int' template R> Foo(R); Index: clang/lib/AST/TextNodeDumper.cpp === --- clang/lib/AST/TextNodeDumper.cpp +++ clang/lib/AST/TextNodeDumper.cpp @@ -1340,6 +1340,12 @@ } } +void TextNodeDumper::VisitConceptSpecializationExpr( +const ConceptSpecializationExpr *Node) { + OS << " "; + dumpBareDeclRef(Node->getFoundDecl()); +} + void TextNodeDumper::VisitRValueReferenceType(const ReferenceType *T) { if (T->isSpelledAsLValue()) OS << " written as lvalue reference"; Index: clang/include/clang/AST/TextNodeDumper.h === --- clang/include/clang/AST/TextNodeDumper.h +++ clang/include/clang/AST/TextNodeDumper.h @@ -295,6 +295,7 @@ void VisitObjCIvarRefExpr(const ObjCIvarRefExpr *Node); void VisitObjCBoolLiteralExpr(const ObjCBoolLiteralExpr *Node); void VisitOMPIteratorExpr(const OMPIteratorExpr *Node); + void VisitConceptSpecializationExpr(const ConceptSpecializationExpr *Node); void VisitRValueReferenceType(const ReferenceType *T); void VisitArrayType(const ArrayType *T); Index: clang/test/AST/ast-dump-concepts.cpp === --- clang/test/AST/ast-dump-concepts.cpp +++ clang/test/AST/ast-dump-concepts.cpp @@ -15,7 +15,7 @@ template struct Foo { // CHECK: TemplateTypeParmDecl {{.*}} referenced Concept {{.*}} 'binary_concept' - // CHECK-NEXT: |-ConceptSpecializationExpr {{.*}} 'bool' + // CHECK-NEXT: |-ConceptSpecializationExpr {{.*}} 'bool' Concept {{.*}} 'binary_concept' // CHECK-NEXT: `-TemplateArgument {{.*}} type 'int' template R> Foo(R); Index: clang/lib/AST/TextNodeDumper.cpp === --- clang/lib/AST/TextNodeDumper.cpp +++ clang/lib/AST/TextNodeDumper.cpp @@ -1340,6 +1340,12 @@ } } +void TextNodeDumper::VisitConceptSpecializationExpr( +const ConceptSpecializationExpr *Node) { + OS << " "; + dumpBareDeclRef(Node->getFoundDecl()); +} + void TextNodeDumper::VisitRValueReferenceType(const ReferenceType *T) { if (T->isSpelledAsLValue()) OS << " written as lvalue reference"; Index: clang/include/clang/AST/TextNodeDumper.h === --- clang/include/clang/AST/TextNodeDumper.h +++ clang/include/clang/AST/TextNodeDumper.h @@ -295,6 +295,7 @@ void VisitObjCIvarRefExpr(const ObjCIvarRefExpr *Node); void VisitObjCBoolLiteralExpr(const ObjCBoolLiteralExpr *Node); void VisitOMPIteratorExpr(const OMPIteratorExpr *Node); + void VisitConceptSpecializationExpr(const ConceptSpecializationExpr *Node); void VisitRValueReferenceType(const ReferenceType *T); void VisitArrayType(const ArrayType *T); ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D85124: [Concepts] Include the found concept decl when dumping the ConceptSpecializationExpr
hokein updated this revision to Diff 282906. hokein marked an inline comment as done. hokein added a comment. address comment. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D85124/new/ https://reviews.llvm.org/D85124 Files: clang/include/clang/AST/TextNodeDumper.h clang/lib/AST/TextNodeDumper.cpp clang/test/AST/ast-dump-concepts.cpp Index: clang/test/AST/ast-dump-concepts.cpp === --- clang/test/AST/ast-dump-concepts.cpp +++ clang/test/AST/ast-dump-concepts.cpp @@ -15,7 +15,7 @@ template struct Foo { // CHECK: TemplateTypeParmDecl {{.*}} referenced Concept {{.*}} 'binary_concept' - // CHECK-NEXT: |-ConceptSpecializationExpr {{.*}} 'bool' + // CHECK-NEXT: |-ConceptSpecializationExpr {{.*}} 'bool' Concept {{.*}} 'binary_concept' // CHECK-NEXT: `-TemplateArgument {{.*}} type 'int' template R> Foo(R); Index: clang/lib/AST/TextNodeDumper.cpp === --- clang/lib/AST/TextNodeDumper.cpp +++ clang/lib/AST/TextNodeDumper.cpp @@ -1340,6 +1340,12 @@ } } +void TextNodeDumper::VisitConceptSpecializationExpr( +const ConceptSpecializationExpr *Node) { + OS << " "; + dumpBareDeclRef(Node->getFoundDecl()); +} + void TextNodeDumper::VisitRValueReferenceType(const ReferenceType *T) { if (T->isSpelledAsLValue()) OS << " written as lvalue reference"; Index: clang/include/clang/AST/TextNodeDumper.h === --- clang/include/clang/AST/TextNodeDumper.h +++ clang/include/clang/AST/TextNodeDumper.h @@ -295,6 +295,7 @@ void VisitObjCIvarRefExpr(const ObjCIvarRefExpr *Node); void VisitObjCBoolLiteralExpr(const ObjCBoolLiteralExpr *Node); void VisitOMPIteratorExpr(const OMPIteratorExpr *Node); + void VisitConceptSpecializationExpr(const ConceptSpecializationExpr *Node); void VisitRValueReferenceType(const ReferenceType *T); void VisitArrayType(const ArrayType *T); Index: clang/test/AST/ast-dump-concepts.cpp === --- clang/test/AST/ast-dump-concepts.cpp +++ clang/test/AST/ast-dump-concepts.cpp @@ -15,7 +15,7 @@ template struct Foo { // CHECK: TemplateTypeParmDecl {{.*}} referenced Concept {{.*}} 'binary_concept' - // CHECK-NEXT: |-ConceptSpecializationExpr {{.*}} 'bool' + // CHECK-NEXT: |-ConceptSpecializationExpr {{.*}} 'bool' Concept {{.*}} 'binary_concept' // CHECK-NEXT: `-TemplateArgument {{.*}} type 'int' template R> Foo(R); Index: clang/lib/AST/TextNodeDumper.cpp === --- clang/lib/AST/TextNodeDumper.cpp +++ clang/lib/AST/TextNodeDumper.cpp @@ -1340,6 +1340,12 @@ } } +void TextNodeDumper::VisitConceptSpecializationExpr( +const ConceptSpecializationExpr *Node) { + OS << " "; + dumpBareDeclRef(Node->getFoundDecl()); +} + void TextNodeDumper::VisitRValueReferenceType(const ReferenceType *T) { if (T->isSpelledAsLValue()) OS << " written as lvalue reference"; Index: clang/include/clang/AST/TextNodeDumper.h === --- clang/include/clang/AST/TextNodeDumper.h +++ clang/include/clang/AST/TextNodeDumper.h @@ -295,6 +295,7 @@ void VisitObjCIvarRefExpr(const ObjCIvarRefExpr *Node); void VisitObjCBoolLiteralExpr(const ObjCBoolLiteralExpr *Node); void VisitOMPIteratorExpr(const OMPIteratorExpr *Node); + void VisitConceptSpecializationExpr(const ConceptSpecializationExpr *Node); void VisitRValueReferenceType(const ReferenceType *T); void VisitArrayType(const ArrayType *T); ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D85124: [Concepts] Include the found concept decl when dumping the ConceptSpecializationExpr
nridge accepted this revision. nridge added inline comments. This revision is now accepted and ready to land. Comment at: clang/test/AST/ast-dump-concepts.cpp:18 // CHECK: TemplateTypeParmDecl {{.*}} referenced Concept {{.*}} 'binary_concept' - // CHECK-NEXT: |-ConceptSpecializationExpr {{.*}} 'bool' + // CHECK-NEXT: |-ConceptSpecializationExpr {{.*}} 'bool' Concept {{.*}} // CHECK-NEXT: `-TemplateArgument {{.*}} type 'int' nit: maybe check for the concept name as well? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D85124/new/ https://reviews.llvm.org/D85124 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D85124: [Concepts] Include the found concept decl when dumping the ConceptSpecializationExpr
hokein created this revision. hokein added a reviewer: nridge. Herald added a project: clang. hokein requested review of this revision. Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D85124 Files: clang/include/clang/AST/TextNodeDumper.h clang/lib/AST/TextNodeDumper.cpp clang/test/AST/ast-dump-concepts.cpp Index: clang/test/AST/ast-dump-concepts.cpp === --- clang/test/AST/ast-dump-concepts.cpp +++ clang/test/AST/ast-dump-concepts.cpp @@ -15,7 +15,7 @@ template struct Foo { // CHECK: TemplateTypeParmDecl {{.*}} referenced Concept {{.*}} 'binary_concept' - // CHECK-NEXT: |-ConceptSpecializationExpr {{.*}} 'bool' + // CHECK-NEXT: |-ConceptSpecializationExpr {{.*}} 'bool' Concept {{.*}} // CHECK-NEXT: `-TemplateArgument {{.*}} type 'int' template R> Foo(R); Index: clang/lib/AST/TextNodeDumper.cpp === --- clang/lib/AST/TextNodeDumper.cpp +++ clang/lib/AST/TextNodeDumper.cpp @@ -1340,6 +1340,12 @@ } } +void TextNodeDumper::VisitConceptSpecializationExpr( +const ConceptSpecializationExpr *Node) { + OS << " "; + dumpBareDeclRef(Node->getFoundDecl()); +} + void TextNodeDumper::VisitRValueReferenceType(const ReferenceType *T) { if (T->isSpelledAsLValue()) OS << " written as lvalue reference"; Index: clang/include/clang/AST/TextNodeDumper.h === --- clang/include/clang/AST/TextNodeDumper.h +++ clang/include/clang/AST/TextNodeDumper.h @@ -295,6 +295,7 @@ void VisitObjCIvarRefExpr(const ObjCIvarRefExpr *Node); void VisitObjCBoolLiteralExpr(const ObjCBoolLiteralExpr *Node); void VisitOMPIteratorExpr(const OMPIteratorExpr *Node); + void VisitConceptSpecializationExpr(const ConceptSpecializationExpr *Node); void VisitRValueReferenceType(const ReferenceType *T); void VisitArrayType(const ArrayType *T); Index: clang/test/AST/ast-dump-concepts.cpp === --- clang/test/AST/ast-dump-concepts.cpp +++ clang/test/AST/ast-dump-concepts.cpp @@ -15,7 +15,7 @@ template struct Foo { // CHECK: TemplateTypeParmDecl {{.*}} referenced Concept {{.*}} 'binary_concept' - // CHECK-NEXT: |-ConceptSpecializationExpr {{.*}} 'bool' + // CHECK-NEXT: |-ConceptSpecializationExpr {{.*}} 'bool' Concept {{.*}} // CHECK-NEXT: `-TemplateArgument {{.*}} type 'int' template R> Foo(R); Index: clang/lib/AST/TextNodeDumper.cpp === --- clang/lib/AST/TextNodeDumper.cpp +++ clang/lib/AST/TextNodeDumper.cpp @@ -1340,6 +1340,12 @@ } } +void TextNodeDumper::VisitConceptSpecializationExpr( +const ConceptSpecializationExpr *Node) { + OS << " "; + dumpBareDeclRef(Node->getFoundDecl()); +} + void TextNodeDumper::VisitRValueReferenceType(const ReferenceType *T) { if (T->isSpelledAsLValue()) OS << " written as lvalue reference"; Index: clang/include/clang/AST/TextNodeDumper.h === --- clang/include/clang/AST/TextNodeDumper.h +++ clang/include/clang/AST/TextNodeDumper.h @@ -295,6 +295,7 @@ void VisitObjCIvarRefExpr(const ObjCIvarRefExpr *Node); void VisitObjCBoolLiteralExpr(const ObjCBoolLiteralExpr *Node); void VisitOMPIteratorExpr(const OMPIteratorExpr *Node); + void VisitConceptSpecializationExpr(const ConceptSpecializationExpr *Node); void VisitRValueReferenceType(const ReferenceType *T); void VisitArrayType(const ArrayType *T); ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits