code: def all_conditional_solidity_variables_read(self, include_loop=True):
          
          if include_loop:
              if self._all_conditional_solidity_variables_read_with_loop is None:
                  self._all_conditional_solidity_variables_read_with_loop = self._explore_functions(
                      lambda x: self._explore_func_conditional(x,
                                                               self._solidity_variable_in_binary,
                                                               include_loop))
              return self._all_conditional_solidity_variables_read_with_loop
          else:
              if self._all_conditional_solidity_variables_read is None:
                  self._all_conditional_solidity_variables_read = self._explore_functions(
                      lambda x: self._explore_func_conditional(x,
                                                               self._solidity_variable_in_binary,
                                                               include_loop))
              return self._all_conditional_solidity_variables_read
docs: Return the Soldiity variables directly used in a condtion
  
              Use of the IR to filter index access
              Assumption: the solidity vars are used directly in the conditional node
              It won't work if the variable is assigned to a temp variable