2 +----------------------------------------------------------------------+
4 +----------------------------------------------------------------------+
5 | Copyright (c) 2010-2014 Facebook, Inc. (http://www.facebook.com) |
6 +----------------------------------------------------------------------+
7 | This source file is subject to version 3.01 of the PHP license, |
8 | that is bundled with this package in the file LICENSE, and is |
9 | available through the world-wide-web at the following url: |
10 | http://www.php.net/license/3_01.txt |
11 | If you did not receive a copy of the PHP license and are unable to |
12 | obtain it through the world-wide-web, please send a note to |
13 | license@php.net so we can mail you a copy immediately. |
14 +----------------------------------------------------------------------+
17 #ifndef incl_HPHP_TYPE_ALIAS_INL_H_
18 #error "type-alias-inl.h should only be included by type-alias.h"
22 ///////////////////////////////////////////////////////////////////////////////
23 // Static constructors.
25 inline TypeAliasReq
TypeAliasReq::Invalid() {
31 inline TypeAliasReq
TypeAliasReq::From(const TypeAlias
& alias
) {
36 req
.name
= alias
.name
;
38 assert(alias
.kind
!= KindOfObject
);
40 req
.kind
= alias
.kind
;
41 req
.nullable
= alias
.nullable
;
42 req
.name
= alias
.name
;
47 inline TypeAliasReq
TypeAliasReq::From(TypeAliasReq req
,
48 const TypeAlias
& alias
) {
52 req
.name
= alias
.name
;
54 req
.nullable
|= alias
.nullable
;
55 req
.name
= alias
.name
;
60 ///////////////////////////////////////////////////////////////////////////////
63 inline bool TypeAliasReq::same(const TypeAliasReq
& req
) const {
64 return (invalid
&& req
.invalid
) ||
67 nullable
== req
.nullable
&&
71 inline bool operator==(const TypeAliasReq
& l
,
72 const TypeAliasReq
& r
) {
76 inline bool operator!=(const TypeAliasReq
& l
,
77 const TypeAliasReq
& r
) {
81 ///////////////////////////////////////////////////////////////////////////////