| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 // Changes Blink-style names to Chrome-style names. Currently transforms: | 5 // Changes Blink-style names to Chrome-style names. Currently transforms: |
| 6 // fields: | 6 // fields: |
| 7 // int m_operationCount => int operation_count_ | 7 // int m_operationCount => int operation_count_ |
| 8 // variables (including parameters): | 8 // variables (including parameters): |
| 9 // int mySuperVariable => int my_super_variable | 9 // int mySuperVariable => int my_super_variable |
| 10 // constants: | 10 // constants: |
| (...skipping 391 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 402 // We do our best to figure out special cases as we come across them here, for | 402 // We do our best to figure out special cases as we come across them here, for |
| 403 // template dependent situations. Some cases in code are only considered | 403 // template dependent situations. Some cases in code are only considered |
| 404 // instantiation dependent for some template instantiations! Which is | 404 // instantiation dependent for some template instantiations! Which is |
| 405 // terrible! So most importantly we try to match isEvaluatable in those cases. | 405 // terrible! So most importantly we try to match isEvaluatable in those cases. |
| 406 switch (expr->getStmtClass()) { | 406 switch (expr->getStmtClass()) { |
| 407 case clang::Stmt::CXXThisExprClass: | 407 case clang::Stmt::CXXThisExprClass: |
| 408 return false; | 408 return false; |
| 409 case clang::Stmt::DeclRefExprClass: { | 409 case clang::Stmt::DeclRefExprClass: { |
| 410 auto* declref = clang::dyn_cast<clang::DeclRefExpr>(expr); | 410 auto* declref = clang::dyn_cast<clang::DeclRefExpr>(expr); |
| 411 auto* decl = declref->getDecl(); | 411 auto* decl = declref->getDecl(); |
| 412 if (clang::dyn_cast<clang::VarDecl>(decl)) | 412 if (auto* vardecl = clang::dyn_cast<clang::VarDecl>(decl)) { |
| 413 if (auto* initializer = vardecl->getInit()) |
| 414 return CanBeEvaluatedAtCompileTime(initializer, context); |
| 413 return false; | 415 return false; |
| 416 } |
| 414 break; | 417 break; |
| 415 } | 418 } |
| 416 | 419 |
| 417 default: | 420 default: |
| 418 break; | 421 break; |
| 419 } | 422 } |
| 420 | 423 |
| 421 // Otherwise, we consider depending on template parameters to not interfere | 424 // Otherwise, we consider depending on template parameters to not interfere |
| 422 // with being const.. with exceptions hopefully covered above. | 425 // with being const.. with exceptions hopefully covered above. |
| 423 return true; | 426 return true; |
| (...skipping 1084 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1508 for (const auto& r : replacements) { | 1511 for (const auto& r : replacements) { |
| 1509 std::string replacement_text = r.getReplacementText().str(); | 1512 std::string replacement_text = r.getReplacementText().str(); |
| 1510 std::replace(replacement_text.begin(), replacement_text.end(), '\n', '\0'); | 1513 std::replace(replacement_text.begin(), replacement_text.end(), '\n', '\0'); |
| 1511 llvm::outs() << "r:::" << r.getFilePath() << ":::" << r.getOffset() | 1514 llvm::outs() << "r:::" << r.getFilePath() << ":::" << r.getOffset() |
| 1512 << ":::" << r.getLength() << ":::" << replacement_text << "\n"; | 1515 << ":::" << r.getLength() << ":::" << replacement_text << "\n"; |
| 1513 } | 1516 } |
| 1514 llvm::outs() << "==== END EDITS ====\n"; | 1517 llvm::outs() << "==== END EDITS ====\n"; |
| 1515 | 1518 |
| 1516 return 0; | 1519 return 0; |
| 1517 } | 1520 } |
| OLD | NEW |