src/QualType.h
author David Anderson <dvander@alliedmods.net>
Sun Nov 18 15:50:41 2012 -0800 (2012-11-18)
changeset 217 c22e983b3b6e
parent 195 c1ba166f3fc4
permissions -rw-r--r--
Get preinc working again.
dvander@195
     1
/* vim: set ts=4 sw=4 tw=99 et:
dvander@195
     2
 *
dvander@195
     3
 * Copyright (C) 2012 David Anderson
dvander@195
     4
 *
dvander@195
     5
 * This file is part of SourcePawn.
dvander@195
     6
 *
dvander@195
     7
 * SourcePawn is free software: you can redistribute it and/or modify it under
dvander@195
     8
 * the terms of the GNU General Public License as published by the Free
dvander@195
     9
 * Software Foundation, either version 3 of the License, or (at your option)
dvander@195
    10
 * any later version.
dvander@195
    11
 * 
dvander@195
    12
 * SourcePawn is distributed in the hope that it will be useful, but WITHOUT ANY
dvander@195
    13
 * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
dvander@195
    14
 * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
dvander@195
    15
 *
dvander@195
    16
 * You should have received a copy of the GNU General Public License along with
dvander@195
    17
 * SourcePawn. If not, see http://www.gnu.org/licenses/.
dvander@195
    18
 */
dvander@195
    19
#ifndef _include_sp2_qualtype_h_
dvander@195
    20
#define _include_sp2_qualtype_h_
dvander@195
    21
dvander@195
    22
#include "Objects.h"
dvander@195
    23
dvander@195
    24
namespace ke {
dvander@195
    25
dvander@195
    26
class Type;
dvander@195
    27
dvander@195
    28
enum TypeQualifiers
dvander@195
    29
{
dvander@195
    30
    Qual_None   = 0,
dvander@195
    31
    Qual_Const  = (1 << 0),
dvander@195
    32
    Qual_Public = (1 << 1),
dvander@195
    33
    Total_Qualifiers
dvander@195
    34
};
dvander@195
    35
dvander@195
    36
// A QualType is a fully-qualified type in the SP2 type system.
dvander@195
    37
class QualType : public Object
dvander@195
    38
{
dvander@195
    39
  public:
dvander@195
    40
    
dvander@195
    41
dvander@195
    42
  private:
dvander@195
    43
    union {
dvander@195
    44
      Type *type_;
dvander@195
    45
      uintptr_t flags_;
dvander@195
    46
    };
dvander@195
    47
};
dvander@195
    48
dvander@195
    49
}
dvander@195
    50
dvander@195
    51
#endif // _include_sp2_qualtype_h_