gfx/angle/src/compiler/preprocessor/DirectiveHandlerBase.h

Thu, 15 Jan 2015 21:03:48 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Thu, 15 Jan 2015 21:03:48 +0100
branch
TOR_BUG_9701
changeset 11
deefc01c0e14
permissions
-rw-r--r--

Integrate friendly tips from Tor colleagues to make (or not) 4.5 alpha 3;
This includes removal of overloaded (but unused) methods, and addition of
a overlooked call to DataStruct::SetData(nsISupports, uint32_t, bool.)

     1 //
     2 // Copyright (c) 2012 The ANGLE Project Authors. All rights reserved.
     3 // Use of this source code is governed by a BSD-style license that can be
     4 // found in the LICENSE file.
     5 //
     7 #ifndef COMPILER_PREPROCESSOR_DIRECTIVE_HANDLER_H_
     8 #define COMPILER_PREPROCESSOR_DIRECTIVE_HANDLER_H_
    10 #include <string>
    12 namespace pp
    13 {
    15 struct SourceLocation;
    17 // Base class for handling directives.
    18 // Preprocessor uses this class to notify the clients about certain
    19 // preprocessor directives. Derived classes are responsible for
    20 // handling them in an appropriate manner.
    21 class DirectiveHandler
    22 {
    23   public:
    24     virtual ~DirectiveHandler();
    26     virtual void handleError(const SourceLocation& loc,
    27                              const std::string& msg) = 0;
    29     // Handle pragma of form: #pragma name[(value)]
    30     virtual void handlePragma(const SourceLocation& loc,
    31                               const std::string& name,
    32                               const std::string& value) = 0;
    34     virtual void handleExtension(const SourceLocation& loc,
    35                                  const std::string& name,
    36                                  const std::string& behavior) = 0;
    38     virtual void handleVersion(const SourceLocation& loc,
    39                                int version) = 0;
    40 };
    42 }  // namespace pp
    43 #endif  // COMPILER_PREPROCESSOR_DIRECTIVE_HANDLER_H_

mercurial