Line data Source code
1 : // Copyright 2015 the V8 project authors. All rights reserved.
2 : // Use of this source code is governed by a BSD-style license that can be
3 : // found in the LICENSE file.
4 :
5 : #include "src/type-hints.h"
6 :
7 : namespace v8 {
8 : namespace internal {
9 :
10 0 : std::ostream& operator<<(std::ostream& os, BinaryOperationHint hint) {
11 0 : switch (hint) {
12 : case BinaryOperationHint::kNone:
13 0 : return os << "None";
14 : case BinaryOperationHint::kSignedSmall:
15 0 : return os << "SignedSmall";
16 : case BinaryOperationHint::kSignedSmallInputs:
17 0 : return os << "SignedSmallInputs";
18 : case BinaryOperationHint::kSigned32:
19 0 : return os << "Signed32";
20 : case BinaryOperationHint::kNumber:
21 0 : return os << "Number";
22 : case BinaryOperationHint::kNumberOrOddball:
23 0 : return os << "NumberOrOddball";
24 : case BinaryOperationHint::kString:
25 0 : return os << "String";
26 : case BinaryOperationHint::kBigInt:
27 0 : return os << "BigInt";
28 : case BinaryOperationHint::kAny:
29 0 : return os << "Any";
30 : }
31 0 : UNREACHABLE();
32 : }
33 :
34 0 : std::ostream& operator<<(std::ostream& os, CompareOperationHint hint) {
35 0 : switch (hint) {
36 : case CompareOperationHint::kNone:
37 0 : return os << "None";
38 : case CompareOperationHint::kSignedSmall:
39 0 : return os << "SignedSmall";
40 : case CompareOperationHint::kNumber:
41 0 : return os << "Number";
42 : case CompareOperationHint::kNumberOrOddball:
43 0 : return os << "NumberOrOddball";
44 : case CompareOperationHint::kInternalizedString:
45 0 : return os << "InternalizedString";
46 : case CompareOperationHint::kString:
47 0 : return os << "String";
48 : case CompareOperationHint::kSymbol:
49 0 : return os << "Symbol";
50 : case CompareOperationHint::kBigInt:
51 0 : return os << "BigInt";
52 : case CompareOperationHint::kReceiver:
53 0 : return os << "Receiver";
54 : case CompareOperationHint::kReceiverOrNullOrUndefined:
55 0 : return os << "ReceiverOrNullOrUndefined";
56 : case CompareOperationHint::kAny:
57 0 : return os << "Any";
58 : }
59 0 : UNREACHABLE();
60 : }
61 :
62 0 : std::ostream& operator<<(std::ostream& os, ForInHint hint) {
63 0 : switch (hint) {
64 : case ForInHint::kNone:
65 0 : return os << "None";
66 : case ForInHint::kEnumCacheKeys:
67 0 : return os << "EnumCacheKeys";
68 : case ForInHint::kEnumCacheKeysAndIndices:
69 0 : return os << "EnumCacheKeysAndIndices";
70 : case ForInHint::kAny:
71 0 : return os << "Any";
72 : }
73 0 : UNREACHABLE();
74 : }
75 :
76 0 : std::ostream& operator<<(std::ostream& os, const StringAddFlags& flags) {
77 0 : switch (flags) {
78 : case STRING_ADD_CHECK_NONE:
79 0 : return os << "CheckNone";
80 : case STRING_ADD_CONVERT_LEFT:
81 0 : return os << "ConvertLeft";
82 : case STRING_ADD_CONVERT_RIGHT:
83 0 : return os << "ConvertRight";
84 : }
85 0 : UNREACHABLE();
86 : }
87 :
88 : } // namespace internal
89 122036 : } // namespace v8
|