func: bool joinSwitch(MBasicBlock* switchBlock, const BlockVector& cases, MBasicBlock* defaultBlock) ParseNode * pn = breakableStack_ . popCopy ( ) ; if ( ! switchBlock )  if ( curBlock_ )  MBasicBlock * next ; if ( ! newBlock ( curBlock_ , & next , pn ) )  bool newBlock(MBasicBlock* pred, MBasicBlock** block, ParseNode* pn) return newBlockWithDepth ( pred , loopStack_ . length ( ) , block , pn ) ; bool newBlockWithDepth(MBasicBlock* pred, unsigned loopDepth, MBasicBlock** block, ParseNode* pn) * block = MBasicBlock :: NewAsmJS ( mirGraph ( ) , info ( ) , pred , MBasicBlock :: NORMAL ); CompileInfo &  info() const return * info_ ; MIRGraph &     mirGraph() const return * graph_ ; if ( ! * block )  return false ; return true ; curBlock_ -> end ( MGoto :: New ( alloc ( ) , next ) ); return * alloc_ ; TempAllocator &     alloc() const 