<commit_before>class IfStmt {
  constructor(expStmt, body) {
    this.expStmt = expStmt;
    this.body = body;
  }
  toString() {
    return `(IfStmt ${this.expStmt} ${this.body})`;
  }
}

module.exports = IfStmt;<commit_msg>working on ifstmt entity<commit_after>class IfStmt {
  constructor(ifCase, ifBody, elifCases, elifBodys, elseCase) {
    this.ifCase = ifCase;
    this.ifBody = ifBody;
    this.elifCases = elifCases;
    this.elifBodys = elifBodys;
    this.elseCase = elseCase;
  }
  toString() {
    const result = `(IfStmt ${this.ifCase} ${this.body})`;
    this.elifCases.forEach(s => 'elif '.concat(s));
    this.elifBodys.forEach(s => 'then '.concat(s));
    console.log(this.elifCases);
    return `(IfStmt ${this.expStmt} ${this.body})`;
  }
  analyze(context) {
    const expType = this.expStmt.analyze(context);
    if (!expType.boolCheck()) {
      throw new Error('Expected boolean condition');
    }
    this.body.analyze(context);
  }
}

module.exports = IfStmt;
{'fraction_non_alphanumeric': 0.15736040609137056, 'fraction_numerical': 0.0, 'mean_word_length': 3.522935779816514, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5767579', 'n_tokens_mistral': 354, 'n_tokens_neox': 366, 'n_words': 65}