Subversion Repositories QNX 8.QNX8 LLVM/Clang compiler suite

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
14 pmbaty 1
//===- DeclObjCCommon.h - Classes for representing declarations -*- C++ -*-===//
2
//
3
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4
// See https://llvm.org/LICENSE.txt for license information.
5
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6
//
7
//===----------------------------------------------------------------------===//
8
//
9
//  This file contains common ObjC enums and classes used in AST and
10
//  Sema.
11
//
12
//===----------------------------------------------------------------------===//
13
 
14
#ifndef LLVM_CLANG_AST_DECLOBJCCOMMON_H
15
#define LLVM_CLANG_AST_DECLOBJCCOMMON_H
16
 
17
namespace clang {
18
 
19
/// ObjCPropertyAttribute::Kind - list of property attributes.
20
/// Keep this list in sync with LLVM's Dwarf.h ApplePropertyAttributes.s
21
namespace ObjCPropertyAttribute {
22
enum Kind {
23
  kind_noattr = 0x00,
24
  kind_readonly = 0x01,
25
  kind_getter = 0x02,
26
  kind_assign = 0x04,
27
  kind_readwrite = 0x08,
28
  kind_retain = 0x10,
29
  kind_copy = 0x20,
30
  kind_nonatomic = 0x40,
31
  kind_setter = 0x80,
32
  kind_atomic = 0x100,
33
  kind_weak = 0x200,
34
  kind_strong = 0x400,
35
  kind_unsafe_unretained = 0x800,
36
  /// Indicates that the nullability of the type was spelled with a
37
  /// property attribute rather than a type qualifier.
38
  kind_nullability = 0x1000,
39
  kind_null_resettable = 0x2000,
40
  kind_class = 0x4000,
41
  kind_direct = 0x8000,
42
  // Adding a property should change NumObjCPropertyAttrsBits
43
  // Also, don't forget to update the Clang C API at CXObjCPropertyAttrKind and
44
  // clang_Cursor_getObjCPropertyAttributes.
45
};
46
} // namespace ObjCPropertyAttribute::Kind
47
 
48
enum {
49
  /// Number of bits fitting all the property attributes.
50
  NumObjCPropertyAttrsBits = 16
51
};
52
 
53
} // namespace clang
54
 
55
#endif // LLVM_CLANG_AST_DECLOBJCCOMMON_H