| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- // Filename: cppSimpleType.h
- // Created by: drose (19Oct99)
- //
- ////////////////////////////////////////////////////////////////////
- //
- // PANDA 3D SOFTWARE
- // Copyright (c) 2001 - 2004, Disney Enterprises, Inc. All rights reserved
- //
- // All use of this software is subject to the terms of the Panda 3d
- // Software license. You should have received a copy of this license
- // along with this source code; you will also find a current copy of
- // the license at http://etc.cmu.edu/panda3d/docs/license/ .
- //
- // To contact the maintainers of this program write to
- // [email protected] .
- //
- ////////////////////////////////////////////////////////////////////
- #ifndef CPPSIMPLETYPE_H
- #define CPPSIMPLETYPE_H
- #include "dtoolbase.h"
- #include "cppType.h"
- ///////////////////////////////////////////////////////////////////
- // Class : CPPSimpleType
- // Description :
- ////////////////////////////////////////////////////////////////////
- class CPPSimpleType : public CPPType {
- public:
- enum Type {
- T_bool,
- T_char,
- T_wchar_t, // Not strictly a builtin type, but we pretend.
- T_int,
- T_float,
- T_double,
- T_void,
- T_unknown,
- // T_parameter is a special type which is assigned to expressions
- // that are discovered where a formal parameter was expected.
- // This is a special case for handling cases like this:
- //
- // int foo(0);
- //
- // which really means the same thing as:
- //
- // int foo = 0;
- //
- // but it initially looks like a function prototype.
- //
- T_parameter,
- };
- enum Flags {
- F_long = 0x001,
- F_longlong = 0x002,
- F_short = 0x004,
- F_unsigned = 0x008,
- F_signed = 0x010,
- };
- CPPSimpleType(Type type, int flags = 0);
- Type _type;
- int _flags;
- virtual bool is_tbd() const;
- virtual bool is_parameter_expr() const;
- virtual string get_preferred_name() const;
- virtual void output(ostream &out, int indent_level, CPPScope *scope,
- bool complete) const;
- virtual SubType get_subtype() const;
- virtual CPPSimpleType *as_simple_type();
- protected:
- virtual bool is_equal(const CPPDeclaration *other) const;
- virtual bool is_less(const CPPDeclaration *other) const;
- };
- #endif
|