bump product version to 6.3.0.0.beta1
[LibreOffice.git] / compilerplugins / clang / store / postfixincrementfix.hxx
blob6cc2470e6ee77f5fe11a81b50d5a63fd63b399a9
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3 * This file is part of the LibreOffice project.
5 * Based on LLVM/Clang.
7 * This file is distributed under the University of Illinois Open Source
8 * License. See LICENSE.TXT for details.
12 #ifndef POSTFIXINCREMENTFIX_H
13 #define POSTFIXINCREMENTFIX_H
15 #include "plugin.hxx"
17 namespace loplugin
20 class PostfixIncrementFix
21 : public loplugin::FilteringRewritePlugin< PostfixIncrementFix >
23 public:
24 explicit PostfixIncrementFix( const InstantiationData& data );
25 virtual void run() override;
26 bool VisitCXXOperatorCallExpr( const CXXOperatorCallExpr* op );
27 private:
28 void fixPostfixOperator( const CXXOperatorCallExpr* op );
29 void fixPostfixOperators( const Stmt* stmt );
30 bool canChangePostfixToPrefix( const Stmt* stmt, const CXXOperatorCallExpr* op );
31 bool shouldDoChange( const Expr* op );
34 } // namespace
36 #endif // POSTFIXINCREMENTFIX_H
38 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */