[KeepAnno] Add table of contents to user guide
Bug: b/248408342
Change-Id: I88fa8890297e6b416ef4be487b92642e52921508
diff --git a/doc/keepanno-guide.md b/doc/keepanno-guide.md
index 9970ae4..7b16d03 100644
--- a/doc/keepanno-guide.md
+++ b/doc/keepanno-guide.md
@@ -16,8 +16,20 @@
[R8 component](https://issuetracker.google.com/issues?q=status:open%20componentid:326788).
+## Table of contents
-## Introduction
+- [Introduction](#introduction)
+- [Build configuration](#build-configuration)
+- [Annotating code using reflection](#using-reflection)
+- [Annotating code used by reflection (or via JNI)](#used-by-reflection)
+- [Annotating APIs](#apis)
+- [Migrating rules to annotations](#migrating-rules)
+- [My use case is not covered!](#other-uses)
+- [Troubleshooting](#troubleshooting)
+
+
+
+## Introduction<a id="introduction"></a>
When using a Java/Kotlin shrinker such as R8 or Proguard, developers must inform
the shrinker about parts of the program that are used either externally from the
@@ -35,7 +47,7 @@
hopefully more clear and direct meaning.
-## Build configuration
+## Build configuration<a id="build-configuration"></a>
To use the keep annotations your build must include the library of
annotations. It is currently built as part of each R8 build and if used with R8,
@@ -61,7 +73,7 @@
# ... the rest of your R8 compilation command here ...
```
-### Annotating code using reflection
+## Annotating code using reflection<a id="using-reflection"></a>
The keep annotation library defines a family of annotations depending on your
use case. You should generally prefer [@UsesReflection](https://storage.googleapis.com/r8-releases/raw/main/docs/keepanno/javadoc/com/android/tools/r8/keepanno/annotations/UsesReflection.html) where applicable.
@@ -96,18 +108,16 @@
-
-### Annotating code used by reflection (or via JNI)
+## Annotating code used by reflection (or via JNI)<a id="used-by-reflection"></a>
-
-### Annotating APIs
+## Annotating APIs<a id="apis"></a>
-### Migrating rules to annotations
+## Migrating rules to annotations<a id="migrating-rules"></a>
-### My use case is not covered!
+## My use case is not covered!<a id="other-uses"></a>
-### Troubleshooting
+## Troubleshooting<a id="troubleshooting"></a>