private static int localSize(TypeMirror type) {
    switch (type.getKind()) {
      case LONG:
      case DOUBLE:
        return 2;
      default:
        return 1;
    }
  }
The size in the local variable array of a value of the given type. A quirk of the JVM means
that long and double variables each take up two consecutive slots in the local variable array.
(The first n local variables are the parameters, so we need to know their sizes when iterating
over them.)
value/src/main/java/com/google/auto/value/processor/ForwardingClassGenerator.java