Skylint crashes on augmented assignments to IndexExpression.
### Description of the problem / feature request:

> Skylint crashes when invoked on a snippet like:
```
d["foo"] += "bar"
```

### Feature requests: what underlying problem are you trying to solve with this feature?

> Skylint crash

### Bugs: what's the simplest, easiest way to reproduce this bug? Please provide a minimal example if possible.

> Run Skylint on a file with `d["foo"] += "bar"`

src/tools/skylark/java/com/google/devtools/skylark/skylint/BadOperationChecker.java src/tools/skylark/javatests/com/google/devtools/skylark/skylint/BadOperationCheckerTest.java
src/tools/skylark/java/com/google/devtools/skylark/skylint/BadOperationChecker.java src/tools/skylark/javatests/com/google/devtools/skylark/skylint/BadOperationCheckerTest.java
diff --git a/src/tools/skylark/java/com/google/devtools/skylark/skylint/BadOperationChecker.java b/src/tools/skylark/java/com/google/devtools/skylark/skylint/BadOperationChecker.java
index 09df8ff7fe7e0e..cb9460ad010a9b 100644
--- a/src/tools/skylark/java/com/google/devtools/skylark/skylint/BadOperationChecker.java
+++ b/src/tools/skylark/java/com/google/devtools/skylark/skylint/BadOperationChecker.java
@@ -137,7 +137,13 @@ public void visit(BinaryOperatorExpression node) {
   @Override
   public void visit(AugmentedAssignmentStatement node) {
     super.visit(node);
-    Identifier ident = Iterables.getOnlyElement(node.getLValue().boundIdentifiers());
+    ImmutableSet<Identifier> lvalues = node.getLValue().boundIdentifiers();
+    if (lvalues.size() != 1) {
+      // assignment visitor does not track information about assignments to IndexExpressions like
+      // kwargs["name"] += "foo" so nothing to do here until that changes
+      return;
+    }
+    Identifier ident = Iterables.getOnlyElement(lvalues);
     NodeType identType = getInferredTypeOrNull(ident);
     NodeType expressionType = getInferredTypeOrNull(node.getExpression());
     if (identType == NodeType.DICT || expressionType == NodeType.DICT) {
diff --git a/src/tools/skylark/javatests/com/google/devtools/skylark/skylint/BadOperationCheckerTest.java b/src/tools/skylark/javatests/com/google/devtools/skylark/skylint/BadOperationCheckerTest.java
index 27c1063147d9d8..20cd662de72bea 100644
--- a/src/tools/skylark/javatests/com/google/devtools/skylark/skylint/BadOperationCheckerTest.java
+++ b/src/tools/skylark/javatests/com/google/devtools/skylark/skylint/BadOperationCheckerTest.java
@@ -152,4 +152,9 @@ public void divisionOperator() {
         .contains("1:1-1:5: '/' operator is deprecated");
     Truth.assertThat(findIssues("5 // 2")).isEmpty();
   }
+
+  @Test
+  public void augmentedAssignmentOperator() {
+    Truth.assertThat(findIssues("kwargs['name'] += 'foo'")).isEmpty();
+  }
 }
