message: docs: fix typos in compiler API comments
  PR Close
diff: @@ -593,7 +593,7 @@ class _AstToIrVisitor implements cdAst.AstVisitor {
  // an expression that guards the access to the member by checking the receiver for blank. As
  // execution proceeds from left to right, the left most part of the expression must be guarded
  // first but, because member access is left associative, the right side of the expression is at
  - // the top of the AST. The desired result requires lifting a copy of the the left part of the
  + // the top of the AST. The desired result requires lifting a copy of the left part of the
  // expression up to test it for blank before generating the unguarded version.
  // Consider, for example the following expression: a?.b.c?.d.e
  @@ -673,10 +673,10 @@ class _AstToIrVisitor implements cdAst.AstVisitor {
  return convertToStatementIfNeeded(mode, condition.conditional(o.literal(null), access));
  }
  - // Given a expression of the form a?.b.c?.d.e the the left most safe node is
  + // Given an expression of the form a?.b.c?.d.e then the left most safe node is
  // the (a?.b). The . and ?. are left associative thus can be rewritten as:
  // ((((a?.c).b).c)?.d).e. This returns the most deeply nested safe read or
  - // safe method call as this needs be transform initially to:
  + // safe method call as this needs to be transformed initially to:
  // a == null ? null : a.c.b.c?.d.e
  // then to:
  // a == null ? null : a.b.c == null ? null : a.b.c.d.e
  @@ -768,7 +768,7 @@ class _AstToIrVisitor implements cdAst.AstVisitor {
  * show where the span is within the overall source file.
  *
  * @param span the relative span to convert.
  - * @returns a `ParseSourceSpan` for the the given span or null if no
  + * @returns a `ParseSourceSpan` for the given span or null if no
  * `baseSourceSpan` was provided to this class.
  */
  private convertSourceSpan(span: cdAst.ParseSpan) {
  