code: function getOwnOrInheritedDelta(n, options, sourceFile) {
              var previousLine = -1 /* Unknown */;
              var child;
              while (n) {
                  var line = sourceFile.getLineAndCharacterOfPosition(n.getStart(sourceFile)).line;
                  if (previousLine !== -1 /* Unknown */ && line !== previousLine) {
                      break;
                  }
                  if (formatting.SmartIndenter.shouldIndentChildNode(n, child)) {
                      return options.indentSize;
                  }
                  previousLine = line;
                  child = n;
                  n = n.parent;
              }
              return 0;
          }
docs: /*
  For cases like
  if (a ||
  b ||$
  c) {...}
  If we hit Enter at $ we want line '    b ||' to be indented.
  Formatting will be applied to the last two lines.
  Node that fully encloses these lines is binary expression 'a ||...'.
  Initial indentation for this node will be 0.
  Binary expressions don't introduce new indentation scopes, however it is possible
  that some parent node on the same line does - like if statement in this case.
  Note that we are considering parents only from the same line with initial node -
  if parent is on the different line - its delta was already contributed
  to the initial indentation.