1 // Do not edit, this file is generated from accessors.scm toGenericHashTable()2GenericHashTable* toGenericHashTable() const 3 { 4 MOSH_ASSERT(isGenericHashTable()); 5 return reinterpret_cast<GenericHashTable*>(reinterpret_cast<HeapObject*>(val)->obj); 6 } 7 isGenericHashTable()8bool isGenericHashTable() const 9 { 10 return isHeapObject() 11 && reinterpret_cast<HeapObject*>(val)->type == HeapObject::GenericHashTable; 12 } 13 toVector()14Vector* toVector() const 15 { 16 MOSH_ASSERT(isVector()); 17 return reinterpret_cast<Vector*>(reinterpret_cast<HeapObject*>(val)->obj); 18 } 19 isVector()20bool isVector() const 21 { 22 return isHeapObject() 23 && reinterpret_cast<HeapObject*>(val)->type == HeapObject::Vector; 24 } 25 toClosure()26Closure* toClosure() const 27 { 28 MOSH_ASSERT(isClosure()); 29 return reinterpret_cast<Closure*>(reinterpret_cast<HeapObject*>(val)->obj); 30 } 31 isClosure()32bool isClosure() const 33 { 34 return isHeapObject() 35 && reinterpret_cast<HeapObject*>(val)->type == HeapObject::Closure; 36 } 37 toCProcedure()38CProcedure* toCProcedure() const 39 { 40 MOSH_ASSERT(isCProcedure()); 41 return reinterpret_cast<CProcedure*>(reinterpret_cast<HeapObject*>(val)->obj); 42 } 43 isCProcedure()44bool isCProcedure() const 45 { 46 return isHeapObject() 47 && reinterpret_cast<HeapObject*>(val)->type == HeapObject::CProcedure; 48 } 49 toString()50String* toString() const 51 { 52 MOSH_ASSERT(isString()); 53 return reinterpret_cast<String*>(reinterpret_cast<HeapObject*>(val)->obj); 54 } 55 isString()56bool isString() const 57 { 58 return isHeapObject() 59 && reinterpret_cast<HeapObject*>(val)->type == HeapObject::String; 60 } 61 toSymbol()62Symbol* toSymbol() const 63 { 64 MOSH_ASSERT(isSymbol()); 65 return reinterpret_cast<Symbol*>(reinterpret_cast<HeapObject*>(val)->obj); 66 } 67 isSymbol()68bool isSymbol() const 69 { 70 return isHeapObject() 71 && reinterpret_cast<HeapObject*>(val)->type == HeapObject::Symbol; 72 } 73 toStack()74Stack* toStack() const 75 { 76 MOSH_ASSERT(isStack()); 77 return reinterpret_cast<Stack*>(reinterpret_cast<HeapObject*>(val)->obj); 78 } 79 isStack()80bool isStack() const 81 { 82 return isHeapObject() 83 && reinterpret_cast<HeapObject*>(val)->type == HeapObject::Stack; 84 } 85 toBox()86Box* toBox() const 87 { 88 MOSH_ASSERT(isBox()); 89 return reinterpret_cast<Box*>(reinterpret_cast<HeapObject*>(val)->obj); 90 } 91 isBox()92bool isBox() const 93 { 94 return isHeapObject() 95 && reinterpret_cast<HeapObject*>(val)->type == HeapObject::Box; 96 } 97 toEqHashTable()98EqHashTable* toEqHashTable() const 99 { 100 MOSH_ASSERT(isEqHashTable()); 101 return reinterpret_cast<EqHashTable*>(reinterpret_cast<HeapObject*>(val)->obj); 102 } 103 isEqHashTable()104bool isEqHashTable() const 105 { 106 return isHeapObject() 107 && reinterpret_cast<HeapObject*>(val)->type == HeapObject::EqHashTable; 108 } 109 toEqvHashTable()110EqvHashTable* toEqvHashTable() const 111 { 112 MOSH_ASSERT(isEqvHashTable()); 113 return reinterpret_cast<EqvHashTable*>(reinterpret_cast<HeapObject*>(val)->obj); 114 } 115 isEqvHashTable()116bool isEqvHashTable() const 117 { 118 return isHeapObject() 119 && reinterpret_cast<HeapObject*>(val)->type == HeapObject::EqvHashTable; 120 } 121 toByteVector()122ByteVector* toByteVector() const 123 { 124 MOSH_ASSERT(isByteVector()); 125 return reinterpret_cast<ByteVector*>(reinterpret_cast<HeapObject*>(val)->obj); 126 } 127 isByteVector()128bool isByteVector() const 129 { 130 return isHeapObject() 131 && reinterpret_cast<HeapObject*>(val)->type == HeapObject::ByteVector; 132 } 133 toTextualInputPort()134TextualInputPort* toTextualInputPort() const 135 { 136 MOSH_ASSERT(isTextualInputPort()); 137 return reinterpret_cast<TextualInputPort*>(reinterpret_cast<HeapObject*>(val)->obj); 138 } 139 isTextualInputPort()140bool isTextualInputPort() const 141 { 142 return isHeapObject() 143 && reinterpret_cast<HeapObject*>(val)->type == HeapObject::TextualInputPort; 144 } 145 toTextualOutputPort()146TextualOutputPort* toTextualOutputPort() const 147 { 148 MOSH_ASSERT(isTextualOutputPort()); 149 return reinterpret_cast<TextualOutputPort*>(reinterpret_cast<HeapObject*>(val)->obj); 150 } 151 isTextualOutputPort()152bool isTextualOutputPort() const 153 { 154 return isHeapObject() 155 && reinterpret_cast<HeapObject*>(val)->type == HeapObject::TextualOutputPort; 156 } 157 toRegexp()158Regexp* toRegexp() const 159 { 160 MOSH_ASSERT(isRegexp()); 161 return reinterpret_cast<Regexp*>(reinterpret_cast<HeapObject*>(val)->obj); 162 } 163 isRegexp()164bool isRegexp() const 165 { 166 return isHeapObject() 167 && reinterpret_cast<HeapObject*>(val)->type == HeapObject::Regexp; 168 } 169 toRegMatch()170RegMatch* toRegMatch() const 171 { 172 MOSH_ASSERT(isRegMatch()); 173 return reinterpret_cast<RegMatch*>(reinterpret_cast<HeapObject*>(val)->obj); 174 } 175 isRegMatch()176bool isRegMatch() const 177 { 178 return isHeapObject() 179 && reinterpret_cast<HeapObject*>(val)->type == HeapObject::RegMatch; 180 } 181 toBinaryInputPort()182BinaryInputPort* toBinaryInputPort() const 183 { 184 MOSH_ASSERT(isBinaryInputPort()); 185 return reinterpret_cast<BinaryInputPort*>(reinterpret_cast<HeapObject*>(val)->obj); 186 } 187 isBinaryInputPort()188bool isBinaryInputPort() const 189 { 190 return isHeapObject() 191 && reinterpret_cast<HeapObject*>(val)->type == HeapObject::BinaryInputPort; 192 } 193 toBinaryOutputPort()194BinaryOutputPort* toBinaryOutputPort() const 195 { 196 MOSH_ASSERT(isBinaryOutputPort()); 197 return reinterpret_cast<BinaryOutputPort*>(reinterpret_cast<HeapObject*>(val)->obj); 198 } 199 isBinaryOutputPort()200bool isBinaryOutputPort() const 201 { 202 return isHeapObject() 203 && reinterpret_cast<HeapObject*>(val)->type == HeapObject::BinaryOutputPort; 204 } 205 toCodec()206Codec* toCodec() const 207 { 208 MOSH_ASSERT(isCodec()); 209 return reinterpret_cast<Codec*>(reinterpret_cast<HeapObject*>(val)->obj); 210 } 211 isCodec()212bool isCodec() const 213 { 214 return isHeapObject() 215 && reinterpret_cast<HeapObject*>(val)->type == HeapObject::Codec; 216 } 217 toTranscoder()218Transcoder* toTranscoder() const 219 { 220 MOSH_ASSERT(isTranscoder()); 221 return reinterpret_cast<Transcoder*>(reinterpret_cast<HeapObject*>(val)->obj); 222 } 223 isTranscoder()224bool isTranscoder() const 225 { 226 return isHeapObject() 227 && reinterpret_cast<HeapObject*>(val)->type == HeapObject::Transcoder; 228 } 229 toCodeBuilder()230CodeBuilder* toCodeBuilder() const 231 { 232 MOSH_ASSERT(isCodeBuilder()); 233 return reinterpret_cast<CodeBuilder*>(reinterpret_cast<HeapObject*>(val)->obj); 234 } 235 isCodeBuilder()236bool isCodeBuilder() const 237 { 238 return isHeapObject() 239 && reinterpret_cast<HeapObject*>(val)->type == HeapObject::CodeBuilder; 240 } 241 toCallable()242Callable* toCallable() const 243 { 244 MOSH_ASSERT(isCallable()); 245 return reinterpret_cast<Callable*>(reinterpret_cast<HeapObject*>(val)->obj); 246 } 247 isCallable()248bool isCallable() const 249 { 250 return isHeapObject() 251 && reinterpret_cast<HeapObject*>(val)->type == HeapObject::Callable; 252 } 253 toRatnum()254Ratnum* toRatnum() const 255 { 256 MOSH_ASSERT(isRatnum()); 257 return reinterpret_cast<Ratnum*>(reinterpret_cast<HeapObject*>(val)->obj); 258 } 259 isRatnum()260bool isRatnum() const 261 { 262 return isHeapObject() 263 && reinterpret_cast<HeapObject*>(val)->type == HeapObject::Ratnum; 264 } 265 toFlonum()266Flonum* toFlonum() const 267 { 268 MOSH_ASSERT(isFlonum()); 269 return reinterpret_cast<Flonum*>(reinterpret_cast<HeapObject*>(val)->obj); 270 } 271 isFlonum()272bool isFlonum() const 273 { 274 return isHeapObject() 275 && reinterpret_cast<HeapObject*>(val)->type == HeapObject::Flonum; 276 } 277 toBignum()278Bignum* toBignum() const 279 { 280 MOSH_ASSERT(isBignum()); 281 return reinterpret_cast<Bignum*>(reinterpret_cast<HeapObject*>(val)->obj); 282 } 283 isBignum()284bool isBignum() const 285 { 286 return isHeapObject() 287 && reinterpret_cast<HeapObject*>(val)->type == HeapObject::Bignum; 288 } 289 toCompnum()290Compnum* toCompnum() const 291 { 292 MOSH_ASSERT(isCompnum()); 293 return reinterpret_cast<Compnum*>(reinterpret_cast<HeapObject*>(val)->obj); 294 } 295 isCompnum()296bool isCompnum() const 297 { 298 return isHeapObject() 299 && reinterpret_cast<HeapObject*>(val)->type == HeapObject::Compnum; 300 } 301 toGloc()302Gloc* toGloc() const 303 { 304 MOSH_ASSERT(isGloc()); 305 return reinterpret_cast<Gloc*>(reinterpret_cast<HeapObject*>(val)->obj); 306 } 307 isGloc()308bool isGloc() const 309 { 310 return isHeapObject() 311 && reinterpret_cast<HeapObject*>(val)->type == HeapObject::Gloc; 312 } 313 toBinaryInputOutputPort()314BinaryInputOutputPort* toBinaryInputOutputPort() const 315 { 316 MOSH_ASSERT(isBinaryInputOutputPort()); 317 return reinterpret_cast<BinaryInputOutputPort*>(reinterpret_cast<HeapObject*>(val)->obj); 318 } 319 isBinaryInputOutputPort()320bool isBinaryInputOutputPort() const 321 { 322 return isHeapObject() 323 && reinterpret_cast<HeapObject*>(val)->type == HeapObject::BinaryInputOutputPort; 324 } 325 toTextualInputOutputPort()326TextualInputOutputPort* toTextualInputOutputPort() const 327 { 328 MOSH_ASSERT(isTextualInputOutputPort()); 329 return reinterpret_cast<TextualInputOutputPort*>(reinterpret_cast<HeapObject*>(val)->obj); 330 } 331 isTextualInputOutputPort()332bool isTextualInputOutputPort() const 333 { 334 return isHeapObject() 335 && reinterpret_cast<HeapObject*>(val)->type == HeapObject::TextualInputOutputPort; 336 } 337 toSocket()338Socket* toSocket() const 339 { 340 MOSH_ASSERT(isSocket()); 341 return reinterpret_cast<Socket*>(reinterpret_cast<HeapObject*>(val)->obj); 342 } 343 isSocket()344bool isSocket() const 345 { 346 return isHeapObject() 347 && reinterpret_cast<HeapObject*>(val)->type == HeapObject::Socket; 348 } 349 toVM()350VM* toVM() const 351 { 352 MOSH_ASSERT(isVM()); 353 return reinterpret_cast<VM*>(reinterpret_cast<HeapObject*>(val)->obj); 354 } 355 isVM()356bool isVM() const 357 { 358 return isHeapObject() 359 && reinterpret_cast<HeapObject*>(val)->type == HeapObject::VM; 360 } 361 toConditionVariable()362ConditionVariable* toConditionVariable() const 363 { 364 MOSH_ASSERT(isConditionVariable()); 365 return reinterpret_cast<ConditionVariable*>(reinterpret_cast<HeapObject*>(val)->obj); 366 } 367 isConditionVariable()368bool isConditionVariable() const 369 { 370 return isHeapObject() 371 && reinterpret_cast<HeapObject*>(val)->type == HeapObject::ConditionVariable; 372 } 373 toMutex()374Mutex* toMutex() const 375 { 376 MOSH_ASSERT(isMutex()); 377 return reinterpret_cast<Mutex*>(reinterpret_cast<HeapObject*>(val)->obj); 378 } 379 isMutex()380bool isMutex() const 381 { 382 return isHeapObject() 383 && reinterpret_cast<HeapObject*>(val)->type == HeapObject::Mutex; 384 } 385 toPointer()386Pointer* toPointer() const 387 { 388 MOSH_ASSERT(isPointer()); 389 return reinterpret_cast<Pointer*>(reinterpret_cast<HeapObject*>(val)->obj); 390 } 391 isPointer()392bool isPointer() const 393 { 394 return isHeapObject() 395 && reinterpret_cast<HeapObject*>(val)->type == HeapObject::Pointer; 396 } 397 toSimpleStruct()398SimpleStruct* toSimpleStruct() const 399 { 400 MOSH_ASSERT(isSimpleStruct()); 401 return reinterpret_cast<SimpleStruct*>(reinterpret_cast<HeapObject*>(val)->obj); 402 } 403 isSimpleStruct()404bool isSimpleStruct() const 405 { 406 return isHeapObject() 407 && reinterpret_cast<HeapObject*>(val)->type == HeapObject::SimpleStruct; 408 } 409 toContinuation()410Continuation* toContinuation() const 411 { 412 MOSH_ASSERT(isContinuation()); 413 return reinterpret_cast<Continuation*>(reinterpret_cast<HeapObject*>(val)->obj); 414 } 415 isContinuation()416bool isContinuation() const 417 { 418 return isHeapObject() 419 && reinterpret_cast<HeapObject*>(val)->type == HeapObject::Continuation; 420 } 421 toSharedReference()422SharedReference* toSharedReference() const 423 { 424 MOSH_ASSERT(isSharedReference()); 425 return reinterpret_cast<SharedReference*>(reinterpret_cast<HeapObject*>(val)->obj); 426 } 427 isSharedReference()428bool isSharedReference() const 429 { 430 return isHeapObject() 431 && reinterpret_cast<HeapObject*>(val)->type == HeapObject::SharedReference; 432 } 433 434