Files
carbon-lang/migrate_cpp/cpp_refactoring/var_decl.h
T
Jon Meow 4f1b2198ff Refactor Matcher code to reduce per-Matcher boilerplate (#615)
This is in part to eliminate the "sm" and "lang_opts" variables that received comment, but also cuts back on the use of auto.
2021-07-08 12:42:24 -07:00

30 lines
807 B
C++

// Part of the Carbon Language project, under the Apache License v2.0 with LLVM
// Exceptions. See /LICENSE for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
#ifndef MIGRATE_CPP_CPP_REFACTORING_VAR_DECL_H_
#define MIGRATE_CPP_CPP_REFACTORING_VAR_DECL_H_
#include "migrate_cpp/cpp_refactoring/matcher.h"
namespace Carbon {
// Updates variable declarations for `var name: Type`.
class VarDecl : public Matcher {
public:
using Matcher::Matcher;
void Run() override;
private:
auto GetTypeStr(const clang::VarDecl& decl) -> std::string;
};
class VarDeclFactory : public MatcherFactoryBase<VarDecl> {
public:
auto GetAstMatcher() -> clang::ast_matchers::DeclarationMatcher override;
};
} // namespace Carbon
#endif // MIGRATE_CPP_CPP_REFACTORING_VAR_DECL_H_