parameters: (self, source)
return_statement: return result
docstring: :type source: List[str]
          :rtype: List[str]
docstring_summary: :type source: List[str]
          :rtype: List[str]
docstring_tokens: : type source : List [ str ] : rtype : List [ str ]
function: def removeComments(self, source):
          """
          :type source: List[str]
          :rtype: List[str]
          """
          in_block = False
          result, newline = [], []
          for line in source:
              i = 0
              while i < len(line):
                  if not in_block and i+1 < len(line) and line[i:i+2] == '/*':
                      in_block = True
                      i += 1
                  elif in_block and i+1 < len(line) and line[i:i+2] == '*/':
                      in_block = False
                      i += 1
                  elif not in_block and i+1 < len(line) and line[i:i+2] == '//':
                      break
                  elif not in_block:
                      newline.append(line[i])
                  i += 1
              if newline and not in_block:
                  result.append("".join(newline))
                  newline = []
          return result
function_tokens: def removeComments ( self , source ) : in_block = False result , newline = [ ] , [ ] for line in source : i = 0 while i < len ( line ) : if not in_block and i + 1 < len ( line ) and line [ i : i + 2 ] == '/*' : in_block = True i += 1 elif in_block and i + 1 < len ( line ) and line [ i : i + 2 ] == '*/' : in_block = False i += 1 elif not in_block and i + 1 < len ( line ) and line [ i : i + 2 ] == '//' : break elif not in_block : newline . append ( line [ i ] ) i += 1 if newline and not in_block : result . append ( "" . join ( newline ) ) newline = [ ] return result