Exposes the same information as the existing queries through two query
predicates instead. This makes the downstream data gathering a bit more
convenient to implement.
While the string representation is useful for quickly modifying queries, it's
a bit clunky when the data needs to be further parsed. Instead, the two queries
now select all of the columns of the sinkmodel separately (which makes it easy
to pull them out of the relevant output later on).
This fixes the name of reported external APIs for nested types.
The `toString()` method of `getSourceDeclaration()` would report the
name of a type, but not the name of the enclosing type. This results
in missing information in the `UnsupportedExternalAPIs.ql` query.
For example, previously it would report:
```
org.zapodot.junit.db.Builder#build()
```
However, the `Builder` class does not exist in the package and is only
a nested type within `EmbeddedDatabaseRule`. The correct name should be:
```
org.zapodot.junit.db.EmbeddedDatabaseRule$Builder#build()
```
This name also matches the format of MaD.
They were all failing for me like:
[autobuild] /home/ian/code/dev/target/codeql-java-integration-tests/ql/java/ql/integration-tests/all-platforms/java/android-sample-old-style-no-wrapper/project/src/main/AndroidManifest.xml:5: Error: Main must extend android.app.Activity [Instantiatable]
[autobuild] <activity android:name="Main" android:exported="true">
[autobuild] ~~~~
[autobuild] Explanation for issues of type "Instantiatable":
[autobuild] Activities, services, broadcast receivers etc. registered in the manifest
[autobuild] file (or for custom views, in a layout file) must be "instantiatable" by
[autobuild] the system, which means that the class must be public, it must have an
[autobuild] empty public constructor, and if it's an inner class, it must be a static
[autobuild] inner class.
I'm not sure why it works on CI but not locally, but either way this
works around the issue.