Changeset 201481 in webkit for trunk/Source/JavaScriptCore/parser/ParserModes.h
- Timestamp:
- May 27, 2016, 10:44:10 PM (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/parser/ParserModes.h
r201328 r201481 28 28 #define ParserModes_h 29 29 30 #include "ConstructAbility.h" 30 31 #include "Identifier.h" 31 32 … … 51 52 MethodMode, 52 53 ArrowFunctionMode, 54 AsyncFunctionBodyMode, 55 AsyncArrowFunctionBodyMode, 56 AsyncFunctionMode, 57 AsyncMethodMode, 58 AsyncArrowFunctionMode, 53 59 ProgramMode, 54 60 ModuleAnalyzeMode, … … 66 72 case SourceParseMode::MethodMode: 67 73 case SourceParseMode::ArrowFunctionMode: 68 return true; 69 70 case SourceParseMode::ProgramMode: 71 case SourceParseMode::ModuleAnalyzeMode: 72 case SourceParseMode::ModuleEvaluateMode: 74 case SourceParseMode::AsyncFunctionBodyMode: 75 case SourceParseMode::AsyncFunctionMode: 76 case SourceParseMode::AsyncMethodMode: 77 case SourceParseMode::AsyncArrowFunctionMode: 78 case SourceParseMode::AsyncArrowFunctionBodyMode: 79 return true; 80 81 case SourceParseMode::ProgramMode: 82 case SourceParseMode::ModuleAnalyzeMode: 83 case SourceParseMode::ModuleEvaluateMode: 84 return false; 85 } 86 RELEASE_ASSERT_NOT_REACHED(); 87 return false; 88 } 89 90 inline bool isAsyncFunctionParseMode(SourceParseMode parseMode) 91 { 92 switch (parseMode) { 93 case SourceParseMode::AsyncFunctionBodyMode: 94 case SourceParseMode::AsyncArrowFunctionBodyMode: 95 case SourceParseMode::AsyncFunctionMode: 96 case SourceParseMode::AsyncMethodMode: 97 case SourceParseMode::AsyncArrowFunctionMode: 98 return true; 99 100 case SourceParseMode::NormalFunctionMode: 101 case SourceParseMode::GeneratorBodyMode: 102 case SourceParseMode::GeneratorWrapperFunctionMode: 103 case SourceParseMode::GetterMode: 104 case SourceParseMode::SetterMode: 105 case SourceParseMode::MethodMode: 106 case SourceParseMode::ArrowFunctionMode: 107 case SourceParseMode::ModuleAnalyzeMode: 108 case SourceParseMode::ModuleEvaluateMode: 109 case SourceParseMode::ProgramMode: 110 return false; 111 } 112 RELEASE_ASSERT_NOT_REACHED(); 113 return false; 114 } 115 116 inline bool isAsyncArrowFunctionParseMode(SourceParseMode parseMode) 117 { 118 switch (parseMode) { 119 case SourceParseMode::AsyncArrowFunctionMode: 120 case SourceParseMode::AsyncArrowFunctionBodyMode: 121 return true; 122 123 case SourceParseMode::NormalFunctionMode: 124 case SourceParseMode::GeneratorBodyMode: 125 case SourceParseMode::GeneratorWrapperFunctionMode: 126 case SourceParseMode::GetterMode: 127 case SourceParseMode::SetterMode: 128 case SourceParseMode::MethodMode: 129 case SourceParseMode::ArrowFunctionMode: 130 case SourceParseMode::ModuleAnalyzeMode: 131 case SourceParseMode::ModuleEvaluateMode: 132 case SourceParseMode::AsyncFunctionBodyMode: 133 case SourceParseMode::AsyncMethodMode: 134 case SourceParseMode::AsyncFunctionMode: 135 case SourceParseMode::ProgramMode: 136 return false; 137 } 138 139 RELEASE_ASSERT_NOT_REACHED(); 140 return false; 141 } 142 143 inline bool isAsyncFunctionWrapperParseMode(SourceParseMode parseMode) 144 { 145 switch (parseMode) { 146 case SourceParseMode::AsyncFunctionMode: 147 case SourceParseMode::AsyncMethodMode: 148 case SourceParseMode::AsyncArrowFunctionMode: 149 return true; 150 151 case SourceParseMode::AsyncFunctionBodyMode: 152 case SourceParseMode::AsyncArrowFunctionBodyMode: 153 case SourceParseMode::NormalFunctionMode: 154 case SourceParseMode::GeneratorBodyMode: 155 case SourceParseMode::GeneratorWrapperFunctionMode: 156 case SourceParseMode::GetterMode: 157 case SourceParseMode::SetterMode: 158 case SourceParseMode::MethodMode: 159 case SourceParseMode::ArrowFunctionMode: 160 case SourceParseMode::ModuleAnalyzeMode: 161 case SourceParseMode::ModuleEvaluateMode: 162 case SourceParseMode::ProgramMode: 163 return false; 164 } 165 RELEASE_ASSERT_NOT_REACHED(); 166 return false; 167 } 168 169 inline bool isAsyncFunctionBodyParseMode(SourceParseMode parseMode) 170 { 171 switch (parseMode) { 172 case SourceParseMode::AsyncFunctionBodyMode: 173 case SourceParseMode::AsyncArrowFunctionBodyMode: 174 return true; 175 176 case SourceParseMode::NormalFunctionMode: 177 case SourceParseMode::GeneratorBodyMode: 178 case SourceParseMode::GeneratorWrapperFunctionMode: 179 case SourceParseMode::GetterMode: 180 case SourceParseMode::SetterMode: 181 case SourceParseMode::MethodMode: 182 case SourceParseMode::ArrowFunctionMode: 183 case SourceParseMode::AsyncFunctionMode: 184 case SourceParseMode::AsyncMethodMode: 185 case SourceParseMode::AsyncArrowFunctionMode: 186 case SourceParseMode::ModuleAnalyzeMode: 187 case SourceParseMode::ModuleEvaluateMode: 188 case SourceParseMode::ProgramMode: 73 189 return false; 74 190 } … … 91 207 case SourceParseMode::MethodMode: 92 208 case SourceParseMode::ArrowFunctionMode: 209 case SourceParseMode::AsyncFunctionBodyMode: 210 case SourceParseMode::AsyncFunctionMode: 211 case SourceParseMode::AsyncMethodMode: 212 case SourceParseMode::AsyncArrowFunctionMode: 213 case SourceParseMode::AsyncArrowFunctionBodyMode: 93 214 case SourceParseMode::ProgramMode: 94 215 return false; … … 111 232 case SourceParseMode::MethodMode: 112 233 case SourceParseMode::ArrowFunctionMode: 113 case SourceParseMode::ModuleAnalyzeMode: 114 case SourceParseMode::ModuleEvaluateMode: 115 return false; 116 } 117 RELEASE_ASSERT_NOT_REACHED(); 118 return false; 234 case SourceParseMode::AsyncFunctionBodyMode: 235 case SourceParseMode::AsyncFunctionMode: 236 case SourceParseMode::AsyncMethodMode: 237 case SourceParseMode::AsyncArrowFunctionMode: 238 case SourceParseMode::AsyncArrowFunctionBodyMode: 239 case SourceParseMode::ModuleAnalyzeMode: 240 case SourceParseMode::ModuleEvaluateMode: 241 return false; 242 } 243 RELEASE_ASSERT_NOT_REACHED(); 244 return false; 245 } 246 247 inline ConstructAbility constructAbilityForParseMode(SourceParseMode parseMode) 248 { 249 switch (parseMode) { 250 case SourceParseMode::NormalFunctionMode: 251 return ConstructAbility::CanConstruct; 252 253 case SourceParseMode::GeneratorBodyMode: 254 case SourceParseMode::GeneratorWrapperFunctionMode: 255 case SourceParseMode::GetterMode: 256 case SourceParseMode::SetterMode: 257 case SourceParseMode::MethodMode: 258 case SourceParseMode::ArrowFunctionMode: 259 case SourceParseMode::AsyncFunctionBodyMode: 260 case SourceParseMode::AsyncArrowFunctionBodyMode: 261 case SourceParseMode::AsyncFunctionMode: 262 case SourceParseMode::AsyncMethodMode: 263 case SourceParseMode::AsyncArrowFunctionMode: 264 return ConstructAbility::CannotConstruct; 265 266 case SourceParseMode::ProgramMode: 267 case SourceParseMode::ModuleAnalyzeMode: 268 case SourceParseMode::ModuleEvaluateMode: 269 break; 270 } 271 RELEASE_ASSERT_NOT_REACHED(); 272 return ConstructAbility::CanConstruct; 119 273 } 120 274
Note:
See TracChangeset
for help on using the changeset viewer.