38 lines
836 B
38 lines
836 B
#!/bin/bash
|
|
|
|
declare -A INNER
|
|
declare -A PARAMETER
|
|
declare -A IMPORT
|
|
|
|
ANNOTATIONS=(
|
|
org.checkerframework.checker.nullness.qual.Nullable
|
|
org.checkerframework.checker.nullness.compatqual.NullableDecl
|
|
)
|
|
|
|
for a in ${ANNOTATIONS[@]}; do
|
|
package=${a%.*}
|
|
class=${a##*.}
|
|
dir=$(dirname $0)/src/${package//.//}
|
|
file=${class}.java
|
|
inner=${INNER[$a]}
|
|
parameter=${PARAMETER[$a]}
|
|
import=
|
|
|
|
if [ -n "${parameter}" ]; then
|
|
parameter="${parameter} value();"
|
|
fi
|
|
|
|
for i in ${IMPORT[$a]}; do
|
|
import="${import}import ${i};"
|
|
done
|
|
|
|
mkdir -p ${dir}
|
|
sed -e"s/__PACKAGE__/${package}/" \
|
|
-e"s/__CLASS__/${class}/" \
|
|
-e"s/__INNER__/${inner}/" \
|
|
-e"s/__PARAMETER__/${parameter}/" \
|
|
-e"s/__IMPORT__/${import}/" \
|
|
$(dirname $0)/tmpl.java > ${dir}/${file}
|
|
google-java-format -i ${dir}/${file}
|
|
done
|