[PATCH] D157775: [clang] Add aliasee field to AliasAttr json AST dump
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rG11f3286585ce: [clang] Add aliasee field to AliasAttr json AST dump (authored by serge-sans-paille). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D157775/new/ https://reviews.llvm.org/D157775 Files: clang/include/clang/AST/JSONNodeDumper.h clang/lib/AST/JSONNodeDumper.cpp clang/test/AST/ast-dump-attr-json.cpp Index: clang/test/AST/ast-dump-attr-json.cpp === --- /dev/null +++ clang/test/AST/ast-dump-attr-json.cpp @@ -0,0 +1,84 @@ +// RUN: %clang_cc1 -Wdocumentation -ast-dump=json %s | FileCheck %s + +int global_decl; +extern __attribute__((alias("global_decl"))) int global_alias; + +// NOTE: CHECK lines have been autogenerated by gen_ast_dump_json_test.py +// using --filters=VarDecl + + +// CHECK-NOT: {{^}}Dumping +// CHECK: "kind": "VarDecl", +// CHECK-NEXT: "loc": { +// CHECK-NEXT: "offset": 73, +// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "line": 3, +// CHECK-NEXT: "col": 5, +// CHECK-NEXT: "tokLen": 11 +// CHECK-NEXT: }, +// CHECK-NEXT: "range": { +// CHECK-NEXT: "begin": { +// CHECK-NEXT:"offset": 69, +// CHECK-NEXT:"col": 1, +// CHECK-NEXT:"tokLen": 3 +// CHECK-NEXT: }, +// CHECK-NEXT: "end": { +// CHECK-NEXT:"offset": 73, +// CHECK-NEXT:"col": 5, +// CHECK-NEXT:"tokLen": 11 +// CHECK-NEXT: } +// CHECK-NEXT: }, +// CHECK-NEXT: "name": "global_decl", +// CHECK-NEXT: "mangledName": "global_decl", +// CHECK-NEXT: "type": { +// CHECK-NEXT: "qualType": "int" +// CHECK-NEXT: } +// CHECK-NEXT: } + + +// CHECK-NOT: {{^}}Dumping +// CHECK: "kind": "VarDecl", +// CHECK-NEXT: "loc": { +// CHECK-NEXT: "offset": 135, +// CHECK-NEXT: "line": 4, +// CHECK-NEXT: "col": 50, +// CHECK-NEXT: "tokLen": 12 +// CHECK-NEXT: }, +// CHECK-NEXT: "range": { +// CHECK-NEXT: "begin": { +// CHECK-NEXT:"offset": 86, +// CHECK-NEXT:"col": 1, +// CHECK-NEXT:"tokLen": 6 +// CHECK-NEXT: }, +// CHECK-NEXT: "end": { +// CHECK-NEXT:"offset": 135, +// CHECK-NEXT:"col": 50, +// CHECK-NEXT:"tokLen": 12 +// CHECK-NEXT: } +// CHECK-NEXT: }, +// CHECK-NEXT: "name": "global_alias", +// CHECK-NEXT: "mangledName": "global_alias", +// CHECK-NEXT: "type": { +// CHECK-NEXT: "qualType": "int" +// CHECK-NEXT: }, +// CHECK-NEXT: "storageClass": "extern", +// CHECK-NEXT: "inner": [ +// CHECK-NEXT: { +// CHECK-NEXT:"id": "0x{{.*}}", +// CHECK-NEXT:"kind": "AliasAttr", +// CHECK-NEXT:"range": { +// CHECK-NEXT: "begin": { +// CHECK-NEXT: "offset": 108, +// CHECK-NEXT: "col": 23, +// CHECK-NEXT: "tokLen": 5 +// CHECK-NEXT: }, +// CHECK-NEXT: "end": { +// CHECK-NEXT: "offset": 127, +// CHECK-NEXT: "col": 42, +// CHECK-NEXT: "tokLen": 1 +// CHECK-NEXT: } +// CHECK-NEXT:}, +// CHECK-NEXT:"decl": "global_decl" +// CHECK-NEXT: } +// CHECK-NEXT: ] +// CHECK-NEXT: } Index: clang/lib/AST/JSONNodeDumper.cpp === --- clang/lib/AST/JSONNodeDumper.cpp +++ clang/lib/AST/JSONNodeDumper.cpp @@ -530,6 +530,10 @@ return Ret; } +void JSONNodeDumper::VisitAliasAttr(const AliasAttr *AA) { + JOS.attribute("aliasee", AA->getAliasee()); +} + void JSONNodeDumper::VisitTypedefType(const TypedefType *TT) { JOS.attribute("decl", createBareDeclRef(TT->getDecl())); if (!TT->typeMatchesDecl()) Index: clang/include/clang/AST/JSONNodeDumper.h === --- clang/include/clang/AST/JSONNodeDumper.h +++ clang/include/clang/AST/JSONNodeDumper.h @@ -208,6 +208,8 @@ void Visit(const concepts::Requirement *R); void Visit(const APValue , QualType Ty); + void VisitAliasAttr(const AliasAttr *AA); + void VisitTypedefType(const TypedefType *TT); void VisitUsingType(const UsingType *TT); void VisitFunctionType(const FunctionType *T); ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D157775: [clang] Add aliasee field to AliasAttr json AST dump
aaron.ballman accepted this revision. aaron.ballman added a comment. This revision is now accepted and ready to land. LGTM! Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D157775/new/ https://reviews.llvm.org/D157775 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D157775: [clang] Add aliasee field to AliasAttr json AST dump
serge-sans-paille created this revision. serge-sans-paille added a reviewer: aaron.ballman. Herald added a subscriber: jeroen.dobbelaere. Herald added a project: All. serge-sans-paille requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D157775 Files: clang/include/clang/AST/JSONNodeDumper.h clang/lib/AST/JSONNodeDumper.cpp clang/test/AST/ast-dump-attr-json.cpp Index: clang/test/AST/ast-dump-attr-json.cpp === --- /dev/null +++ clang/test/AST/ast-dump-attr-json.cpp @@ -0,0 +1,84 @@ +// RUN: %clang_cc1 -Wdocumentation -ast-dump=json %s | FileCheck %s + +int global_decl; +extern __attribute__((alias("global_decl"))) int global_alias; + +// NOTE: CHECK lines have been autogenerated by gen_ast_dump_json_test.py +// using --filters=VarDecl + + +// CHECK-NOT: {{^}}Dumping +// CHECK: "kind": "VarDecl", +// CHECK-NEXT: "loc": { +// CHECK-NEXT: "offset": 73, +// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "line": 3, +// CHECK-NEXT: "col": 5, +// CHECK-NEXT: "tokLen": 11 +// CHECK-NEXT: }, +// CHECK-NEXT: "range": { +// CHECK-NEXT: "begin": { +// CHECK-NEXT:"offset": 69, +// CHECK-NEXT:"col": 1, +// CHECK-NEXT:"tokLen": 3 +// CHECK-NEXT: }, +// CHECK-NEXT: "end": { +// CHECK-NEXT:"offset": 73, +// CHECK-NEXT:"col": 5, +// CHECK-NEXT:"tokLen": 11 +// CHECK-NEXT: } +// CHECK-NEXT: }, +// CHECK-NEXT: "name": "global_decl", +// CHECK-NEXT: "mangledName": "global_decl", +// CHECK-NEXT: "type": { +// CHECK-NEXT: "qualType": "int" +// CHECK-NEXT: } +// CHECK-NEXT: } + + +// CHECK-NOT: {{^}}Dumping +// CHECK: "kind": "VarDecl", +// CHECK-NEXT: "loc": { +// CHECK-NEXT: "offset": 135, +// CHECK-NEXT: "line": 4, +// CHECK-NEXT: "col": 50, +// CHECK-NEXT: "tokLen": 12 +// CHECK-NEXT: }, +// CHECK-NEXT: "range": { +// CHECK-NEXT: "begin": { +// CHECK-NEXT:"offset": 86, +// CHECK-NEXT:"col": 1, +// CHECK-NEXT:"tokLen": 6 +// CHECK-NEXT: }, +// CHECK-NEXT: "end": { +// CHECK-NEXT:"offset": 135, +// CHECK-NEXT:"col": 50, +// CHECK-NEXT:"tokLen": 12 +// CHECK-NEXT: } +// CHECK-NEXT: }, +// CHECK-NEXT: "name": "global_alias", +// CHECK-NEXT: "mangledName": "global_alias", +// CHECK-NEXT: "type": { +// CHECK-NEXT: "qualType": "int" +// CHECK-NEXT: }, +// CHECK-NEXT: "storageClass": "extern", +// CHECK-NEXT: "inner": [ +// CHECK-NEXT: { +// CHECK-NEXT:"id": "0x{{.*}}", +// CHECK-NEXT:"kind": "AliasAttr", +// CHECK-NEXT:"range": { +// CHECK-NEXT: "begin": { +// CHECK-NEXT: "offset": 108, +// CHECK-NEXT: "col": 23, +// CHECK-NEXT: "tokLen": 5 +// CHECK-NEXT: }, +// CHECK-NEXT: "end": { +// CHECK-NEXT: "offset": 127, +// CHECK-NEXT: "col": 42, +// CHECK-NEXT: "tokLen": 1 +// CHECK-NEXT: } +// CHECK-NEXT:}, +// CHECK-NEXT:"decl": "global_decl" +// CHECK-NEXT: } +// CHECK-NEXT: ] +// CHECK-NEXT: } Index: clang/lib/AST/JSONNodeDumper.cpp === --- clang/lib/AST/JSONNodeDumper.cpp +++ clang/lib/AST/JSONNodeDumper.cpp @@ -530,6 +530,10 @@ return Ret; } +void JSONNodeDumper::VisitAliasAttr(const AliasAttr *AA) { + JOS.attribute("aliasee", AA->getAliasee()); +} + void JSONNodeDumper::VisitTypedefType(const TypedefType *TT) { JOS.attribute("decl", createBareDeclRef(TT->getDecl())); if (!TT->typeMatchesDecl()) Index: clang/include/clang/AST/JSONNodeDumper.h === --- clang/include/clang/AST/JSONNodeDumper.h +++ clang/include/clang/AST/JSONNodeDumper.h @@ -208,6 +208,8 @@ void Visit(const concepts::Requirement *R); void Visit(const APValue , QualType Ty); + void VisitAliasAttr(const AliasAttr *AA); + void VisitTypedefType(const TypedefType *TT); void VisitUsingType(const UsingType *TT); void VisitFunctionType(const FunctionType *T); ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits