| //===-- ResourceVisitor.h ---------------------------------------*- C++-*-===// |
| // |
| // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. |
| // See https://llvm.org/LICENSE.txt for license information. |
| // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception |
| // |
| //===---------------------------------------------------------------------===// |
| // |
| // This defines a base class visiting resource script resources. |
| // |
| //===---------------------------------------------------------------------===// |
| |
| #ifndef LLVM_TOOLS_LLVMRC_RESOURCEVISITOR_H |
| #define LLVM_TOOLS_LLVMRC_RESOURCEVISITOR_H |
| |
| #include "llvm/Support/Error.h" |
| |
| namespace llvm { |
| namespace rc { |
| |
| class RCResource; |
| |
| class CaptionStmt; |
| class ClassStmt; |
| class CharacteristicsStmt; |
| class ExStyleStmt; |
| class FontStmt; |
| class LanguageResource; |
| class StyleStmt; |
| class VersionStmt; |
| |
| class Visitor { |
| public: |
| virtual Error visitNullResource(const RCResource *) = 0; |
| virtual Error visitAcceleratorsResource(const RCResource *) = 0; |
| virtual Error visitBitmapResource(const RCResource *) = 0; |
| virtual Error visitCursorResource(const RCResource *) = 0; |
| virtual Error visitDialogResource(const RCResource *) = 0; |
| virtual Error visitHTMLResource(const RCResource *) = 0; |
| virtual Error visitIconResource(const RCResource *) = 0; |
| virtual Error visitMenuResource(const RCResource *) = 0; |
| virtual Error visitStringTableResource(const RCResource *) = 0; |
| virtual Error visitUserDefinedResource(const RCResource *) = 0; |
| virtual Error visitVersionInfoResource(const RCResource *) = 0; |
| |
| virtual Error visitCaptionStmt(const CaptionStmt *) = 0; |
| virtual Error visitClassStmt(const ClassStmt *) = 0; |
| virtual Error visitCharacteristicsStmt(const CharacteristicsStmt *) = 0; |
| virtual Error visitExStyleStmt(const ExStyleStmt *) = 0; |
| virtual Error visitFontStmt(const FontStmt *) = 0; |
| virtual Error visitLanguageStmt(const LanguageResource *) = 0; |
| virtual Error visitStyleStmt(const StyleStmt *) = 0; |
| virtual Error visitVersionStmt(const VersionStmt *) = 0; |
| |
| virtual ~Visitor() {} |
| }; |
| |
| } // namespace rc |
| } // namespace llvm |
| |
| #endif |