| OLD | NEW |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "ListValueRewriter.h" | 5 #include "ListValueRewriter.h" |
| 6 | 6 |
| 7 #include <assert.h> | 7 #include <assert.h> |
| 8 #include <algorithm> | 8 #include <algorithm> |
| 9 | 9 |
| 10 #include "clang/AST/ASTContext.h" | 10 #include "clang/AST/ASTContext.h" |
| (...skipping 390 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 401 cxxNewExpr(has(cxxConstructExpr( | 401 cxxNewExpr(has(cxxConstructExpr( |
| 402 hasDeclaration(cxxMethodDecl( | 402 hasDeclaration(cxxMethodDecl( |
| 403 hasName("::base::Value::FundamentalValue"))), | 403 hasName("::base::Value::FundamentalValue"))), |
| 404 argumentCountIs(1), | 404 argumentCountIs(1), |
| 405 hasArgument( | 405 hasArgument( |
| 406 0, id("argExpr", | 406 0, id("argExpr", |
| 407 expr(hasType( | 407 expr(hasType( |
| 408 realFloatingPointType())))))))))))), | 408 realFloatingPointType())))))))))))), |
| 409 &append_double_callback_); | 409 &append_double_callback_); |
| 410 | 410 |
| 411 // base::ListValue::Append(new base::StringValue(...)) | 411 // base::ListValue::Append(new base::Value(...)) |
| 412 // => base::ListValue::AppendString() | 412 // => base::ListValue::AppendString() |
| 413 match_finder->addMatcher( | 413 match_finder->addMatcher( |
| 414 id("callExpr", | 414 id("callExpr", |
| 415 cxxMemberCallExpr( | 415 cxxMemberCallExpr( |
| 416 is_list_append, | 416 is_list_append, |
| 417 hasArgument( | 417 hasArgument( |
| 418 0, ignoringParenImpCasts(id( | 418 0, ignoringParenImpCasts( |
| 419 "newExpr", | 419 id("newExpr", |
| 420 cxxNewExpr(has(cxxConstructExpr( | 420 cxxNewExpr(has(cxxConstructExpr( |
| 421 hasDeclaration(cxxMethodDecl( | 421 hasDeclaration(cxxMethodDecl( |
| 422 hasName("::base::StringValue::StringValue"))), | 422 hasName("::base::Value::StringValue"))), |
| 423 argumentCountIs(1), | 423 argumentCountIs(1), |
| 424 hasArgument(0, id("argExpr", expr())))))))))), | 424 hasArgument(0, id("argExpr", expr())))))))))), |
| 425 &append_string_callback_); | 425 &append_string_callback_); |
| 426 | 426 |
| 427 auto is_unique_ptr_release = | 427 auto is_unique_ptr_release = |
| 428 allOf(callee(cxxMethodDecl( | 428 allOf(callee(cxxMethodDecl( |
| 429 hasName("release"), | 429 hasName("release"), |
| 430 ofClass(cxxRecordDecl(hasName("::std::unique_ptr"))))), | 430 ofClass(cxxRecordDecl(hasName("::std::unique_ptr"))))), |
| 431 argumentCountIs(0)); | 431 argumentCountIs(0)); |
| 432 | 432 |
| 433 // base::ListValue::Append(ReturnsUniquePtr().release()) | 433 // base::ListValue::Append(ReturnsUniquePtr().release()) |
| 434 // => base::ListValue::Append(ReturnsUniquePtr()) | 434 // => base::ListValue::Append(ReturnsUniquePtr()) |
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 473 anyOf(hasInitializer( | 473 anyOf(hasInitializer( |
| 474 // Note this won't match C++11 uniform | 474 // Note this won't match C++11 uniform |
| 475 // initialization syntax, since the | 475 // initialization syntax, since the |
| 476 // CXXNewExpr is wrapped in an | 476 // CXXNewExpr is wrapped in an |
| 477 // InitListExpr in that case. | 477 // InitListExpr in that case. |
| 478 ignoringParenImpCasts(cxxNewExpr())), | 478 ignoringParenImpCasts(cxxNewExpr())), |
| 479 unless(hasInitializer(expr()))), | 479 unless(hasInitializer(expr()))), |
| 480 unless(parmVarDecl()))))))))), | 480 unless(parmVarDecl()))))))))), |
| 481 &append_raw_ptr_callback_); | 481 &append_raw_ptr_callback_); |
| 482 } | 482 } |
| OLD | NEW |