def handle_semicolon(self, token_text):
    if self.start_of_statement():
        self.output_space_before_token = False
    while ((self.flags.mode == MODE.Statement) and (not self.flags.if_block) and (not self.flags.do_block)):
        self.restore_mode()
    self.append_token(token_text)
    if (self.flags.mode == MODE.ObjectLiteral):
        self.flags.mode = MODE.BlockStatement
def handle_semicolon(self, token_text):
    if self.start_of_statement():
        self.output_space_before_token = False
    while ((self.flags.mode == MODE.Statement) and (not self.flags.if_block) and (not self.flags.do_block)):
        self.restore_mode()
    self.append_token(token_text)
    if (self.flags.mode == MODE.ObjectLiteral):
        self.flags.mode = MODE.BlockStatement