office-gobmx/compilerplugins/clang/store/postfixincrementfix.hxx
4k5h1t 0bae96d561 tdf#143148: Use pragma once instead of include guards in compilerplugins
Replace include guards with pragma once in several header files in compilerplugins

Change-Id: I9cc586977dc7ade9278d93396c3efcd13acba286
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121089
Tested-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org>
Reviewed-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org>
2021-08-26 19:20:45 +02:00

35 lines
982 B
C++

/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
* This file is part of the LibreOffice project.
*
* Based on LLVM/Clang.
*
* This file is distributed under the University of Illinois Open Source
* License. See LICENSE.TXT for details.
*
*/
#pragma once
#include "plugin.hxx"
namespace loplugin
{
class PostfixIncrementFix
: public loplugin::FilteringRewritePlugin< PostfixIncrementFix >
{
public:
explicit PostfixIncrementFix( const InstantiationData& data );
virtual void run() override;
bool VisitCXXOperatorCallExpr( const CXXOperatorCallExpr* op );
private:
void fixPostfixOperator( const CXXOperatorCallExpr* op );
void fixPostfixOperators( const Stmt* stmt );
bool canChangePostfixToPrefix( const Stmt* stmt, const CXXOperatorCallExpr* op );
bool shouldDoChange( const Expr* op );
};
} // namespace
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */