isPointerPath()

in src/langs/cpp/combinator.js [1006:1030]


  isPointerPath(lastPathIndex, paths) {
    const lastPath = paths[lastPathIndex];
    if (lastPath.type === 'object') {
      let name = _name(lastPath.name);
      return this.isPtrStatement(name);
    } else if (lastPath.type === 'parent') {
      return true;
    }
    if (lastPath.type === 'prop') {
      if (lastPathIndex > 0) {
        let parentPath = paths[lastPathIndex - 1];
        if (parentPath.type === 'object') {
          let parentType = this.getStatementType(_name(parentPath.name));
          if (parentType.objectName === '$Request' || parentType.objectName === '$Response') {
            if (lastPath.name === 'body') {
              return true;
            }
            return false;
          }
        }
      }
      return true;
    }
    return false;
  }