Skip to content

Commit

Permalink
[clang] Update is_formal_of to keep track of the method that the vari…
Browse files Browse the repository at this point in the history
…able is a parameter of

Summary: This will be used in the Parameter Not Null Checked checker to check the annotations of the parameter when the parameter is a parameter of the parent method.

Reviewed By: skcho

Differential Revision: D61391985

fbshipit-source-id: ffc1f877adfb19b5ddf619cd5c8d9bfd1a96c3c2
  • Loading branch information
dulmarod authored and facebook-github-bot committed Aug 19, 2024
1 parent 6e76ca4 commit 2fcef0f
Show file tree
Hide file tree
Showing 73 changed files with 891 additions and 115 deletions.
9 changes: 5 additions & 4 deletions facebook-clang-plugins/libtooling/ASTExporter.h
Original file line number Diff line number Diff line change
Expand Up @@ -1027,10 +1027,11 @@ void ASTExporter<ATDWriter>::dumpNestedNameSpecifierLoc(
template <class ATDWriter>
bool ASTExporter<ATDWriter>::alwaysEmitParent(const Decl *D) {
if (isa<ObjCMethodDecl>(D) || isa<CXXMethodDecl>(D) || isa<FieldDecl>(D) ||
isa<ObjCIvarDecl>(D) || isa<BlockDecl>(D) || isa<ObjCInterfaceDecl>(D) ||
isa<ObjCImplementationDecl>(D) || isa<ObjCCategoryDecl>(D) ||
isa<ObjCCategoryImplDecl>(D) || isa<ObjCPropertyDecl>(D) ||
isa<RecordDecl>(D) || isa<ObjCProtocolDecl>(D)) {
isa<ParmVarDecl>(D) || isa<ObjCIvarDecl>(D) || isa<BlockDecl>(D) ||
isa<ObjCInterfaceDecl>(D) || isa<ObjCImplementationDecl>(D) ||
isa<ObjCCategoryDecl>(D) || isa<ObjCCategoryImplDecl>(D) ||
isa<ObjCPropertyDecl>(D) || isa<RecordDecl>(D) ||
isa<ObjCProtocolDecl>(D)) {
return true;
}
return false;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -308,6 +308,7 @@
<#fd75cc45:
({
#d121c0bd: 44,
#f9005968: 42,
#21793419: ({ #c68b4ed6: 29 }, { #c68b4ed6: 33 })
},
{ #c8ff724b: "s", #2cdb06fb: [ "s" ] },
Expand Down Expand Up @@ -354,6 +355,7 @@
<#fd75cc45:
({
#d121c0bd: 49,
#f9005968: 48,
#21793419: ({ #c68b4ed6: 29 }, { #c68b4ed6: 40 })
},
{ #c8ff724b: "p", #2cdb06fb: [ "p" ] },
Expand Down Expand Up @@ -412,6 +414,7 @@
<#fd75cc45:
({
#d121c0bd: 55,
#f9005968: 54,
#21793419: ({ #c68b4ed6: 32 }, { #c68b4ed6: 36 })
},
{ #c8ff724b: "x", #2cdb06fb: [ "x" ] },
Expand Down Expand Up @@ -531,6 +534,7 @@
<#fd75cc45:
({
#d121c0bd: 67,
#f9005968: 66,
#21793419:
({ #c7b317f4: 38, #c68b4ed6: 46 },
{ #c68b4ed6: 51 })
Expand All @@ -541,6 +545,7 @@
<#fd75cc45:
({
#d121c0bd: 69,
#f9005968: 66,
#21793419:
({ #c7b317f4: 39, #c68b4ed6: 46 },
{ #c68b4ed6: 51 })
Expand All @@ -551,6 +556,7 @@
<#fd75cc45:
({
#d121c0bd: 70,
#f9005968: 66,
#21793419:
({ #c7b317f4: 40, #c68b4ed6: 40 },
{ #c68b4ed6: 51 })
Expand Down Expand Up @@ -600,6 +606,7 @@
<#fd75cc45:
({
#d121c0bd: 75,
#f9005968: 73,
#21793419: ({ #c68b4ed6: 32 }, { #c68b4ed6: 35 })
},
{ #c8ff724b: "key", #2cdb06fb: [ "key" ] },
Expand Down Expand Up @@ -664,6 +671,7 @@
<#fd75cc45:
({
#d121c0bd: 81,
#f9005968: 80,
#21793419: ({ #c68b4ed6: 35 }, { #c68b4ed6: 40 })
},
{ #c8ff724b: "objs", #2cdb06fb: [ "objs" ] },
Expand All @@ -672,6 +680,7 @@
<#fd75cc45:
({
#d121c0bd: 83,
#f9005968: 80,
#21793419: ({ #c68b4ed6: 52 }, { #c68b4ed6: 61 })
},
{ #c8ff724b: "cnt", #2cdb06fb: [ "cnt" ] },
Expand Down Expand Up @@ -718,6 +727,7 @@
<#fd75cc45:
({
#d121c0bd: 88,
#f9005968: 87,
#21793419: ({ #c68b4ed6: 33 }, { #c68b4ed6: 44 })
},
{ #c8ff724b: "index", #2cdb06fb: [ "index" ] },
Expand Down Expand Up @@ -790,7 +800,7 @@
#ed526254: true,
#d17ebeaa: [
<#fd75cc45:
({ #d121c0bd: 97, #21793419: ({ }, { }) },
({ #d121c0bd: 97, #f9005968: 93, #21793419: ({ }, { }) },
{ #c8ff724b: "", #2cdb06fb: [ "" ] },
{ #c1127ea9: 7 },
{ #0370b1b2: 0 })>
Expand All @@ -816,6 +826,7 @@
<#fd75cc45:
({
#d121c0bd: 101,
#f9005968: 98,
#21793419: ({ #c68b4ed6: 19 }, { #c68b4ed6: 28 })
},
{ #c8ff724b: "", #2cdb06fb: [ "" ] },
Expand Down Expand Up @@ -848,6 +859,7 @@
<#fd75cc45:
({
#d121c0bd: 105,
#f9005968: 103,
#21793419: ({ #c68b4ed6: 14 }, { #c68b4ed6: 18 })
},
{ #c8ff724b: "i", #2cdb06fb: [ "i" ] },
Expand Down Expand Up @@ -916,6 +928,7 @@
<#fd75cc45:
({
#d121c0bd: 111,
#f9005968: 110,
#21793419:
({ #c7b317f4: 15, #c68b4ed6: 14 },
{ #c68b4ed6: 18 }),
Expand Down Expand Up @@ -1218,6 +1231,7 @@
<#fd75cc45:
({
#d121c0bd: 133,
#f9005968: 131,
#21793419:
({ #c7b317f4: 22, #c68b4ed6: 10 }, { #c68b4ed6: 14 })
},
Expand All @@ -1227,6 +1241,7 @@
<#fd75cc45:
({
#d121c0bd: 134,
#f9005968: 131,
#21793419: ({ #c68b4ed6: 20 }, { #c68b4ed6: 31 })
},
{ #c8ff724b: "argv", #2cdb06fb: [ "argv" ] },
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -308,6 +308,7 @@
<#fd75cc45:
({
#d121c0bd: 44,
#f9005968: 42,
#21793419: ({ #c68b4ed6: 29 }, { #c68b4ed6: 33 })
},
{ #c8ff724b: "s", #2cdb06fb: [ "s" ] },
Expand Down Expand Up @@ -354,6 +355,7 @@
<#fd75cc45:
({
#d121c0bd: 49,
#f9005968: 48,
#21793419: ({ #c68b4ed6: 29 }, { #c68b4ed6: 40 })
},
{ #c8ff724b: "p", #2cdb06fb: [ "p" ] },
Expand Down Expand Up @@ -412,6 +414,7 @@
<#fd75cc45:
({
#d121c0bd: 55,
#f9005968: 54,
#21793419: ({ #c68b4ed6: 32 }, { #c68b4ed6: 36 })
},
{ #c8ff724b: "x", #2cdb06fb: [ "x" ] },
Expand Down Expand Up @@ -531,6 +534,7 @@
<#fd75cc45:
({
#d121c0bd: 67,
#f9005968: 66,
#21793419:
({ #c7b317f4: 38, #c68b4ed6: 46 },
{ #c68b4ed6: 51 })
Expand All @@ -541,6 +545,7 @@
<#fd75cc45:
({
#d121c0bd: 69,
#f9005968: 66,
#21793419:
({ #c7b317f4: 39, #c68b4ed6: 46 },
{ #c68b4ed6: 51 })
Expand All @@ -551,6 +556,7 @@
<#fd75cc45:
({
#d121c0bd: 70,
#f9005968: 66,
#21793419:
({ #c7b317f4: 40, #c68b4ed6: 40 },
{ #c68b4ed6: 51 })
Expand Down Expand Up @@ -600,6 +606,7 @@
<#fd75cc45:
({
#d121c0bd: 75,
#f9005968: 73,
#21793419: ({ #c68b4ed6: 32 }, { #c68b4ed6: 35 })
},
{ #c8ff724b: "key", #2cdb06fb: [ "key" ] },
Expand Down Expand Up @@ -664,6 +671,7 @@
<#fd75cc45:
({
#d121c0bd: 81,
#f9005968: 80,
#21793419: ({ #c68b4ed6: 35 }, { #c68b4ed6: 40 })
},
{ #c8ff724b: "objs", #2cdb06fb: [ "objs" ] },
Expand All @@ -672,6 +680,7 @@
<#fd75cc45:
({
#d121c0bd: 83,
#f9005968: 80,
#21793419: ({ #c68b4ed6: 52 }, { #c68b4ed6: 61 })
},
{ #c8ff724b: "cnt", #2cdb06fb: [ "cnt" ] },
Expand Down Expand Up @@ -718,6 +727,7 @@
<#fd75cc45:
({
#d121c0bd: 88,
#f9005968: 87,
#21793419: ({ #c68b4ed6: 33 }, { #c68b4ed6: 44 })
},
{ #c8ff724b: "index", #2cdb06fb: [ "index" ] },
Expand Down Expand Up @@ -789,7 +799,7 @@
#ed526254: true,
#d17ebeaa: [
<#fd75cc45:
({ #d121c0bd: 97, #21793419: ({ }, { }) },
({ #d121c0bd: 97, #f9005968: 93, #21793419: ({ }, { }) },
{ #c8ff724b: "", #2cdb06fb: [ "" ] },
{ #c1127ea9: 7 },
{ #0370b1b2: 0 })>
Expand All @@ -813,6 +823,7 @@
<#fd75cc45:
({
#d121c0bd: 101,
#f9005968: 98,
#21793419: ({ #c68b4ed6: 19 }, { #c68b4ed6: 28 })
},
{ #c8ff724b: "", #2cdb06fb: [ "" ] },
Expand Down
Loading

0 comments on commit 2fcef0f

Please sign in to comment.