1a5e6f553051f7647aeb3bc5fc15d33117908eb64Dan Brown.PHONY: all 2a5e6f553051f7647aeb3bc5fc15d33117908eb64Dan Brownall: bridge no-bridge 39d8f62afb2ace50bb950f1f847fe83e3981f9f64Dan Brown 4769f9feba842f4c31609b7b4d08de9c5427c45dfMichael ErnstJAVAC?=javac 5fc26be240a132ca0c24a4b68a00ed83696163ea6Michael Ernst 698d89efb33c9187999735d531ab56299e1051ccdMichael ErnstJAVACVERSION = $(shell $(JAVAC) -version 2>&1) 725000a5699ae5d3a85d4fce88de5377d43c00d5fMichael Ernstifeq (1.7.,$(findstring 1.7.,$(JAVACVERSION))) 825000a5699ae5d3a85d4fce88de5377d43c00d5fMichael Ernst JAVACTARGET = -source 7 -target 7 925000a5699ae5d3a85d4fce88de5377d43c00d5fMichael Ernstendif 1098d89efb33c9187999735d531ab56299e1051ccdMichael Ernst 11a5e6f553051f7647aeb3bc5fc15d33117908eb64Dan Brown.PHONY: bridge 129bcffcea28993a19bd1012e4bf55f35afb0800f2Michael Ernst# Counting bridge methods, there should be 3 @A annotations. 13a5e6f553051f7647aeb3bc5fc15d33117908eb64Dan Brownbridge: C.class 14ccd6ca99dcc90e967dbdd89c282620f810b0594dMichael Ernst CLASSPATH=.:${CLASSPATH} ../../../scripts/extract-annotations C.class 1598d89efb33c9187999735d531ab56299e1051ccdMichael Ernst# skip test if using javac 1.7, which doesn't copy annotations to bridge methods 169bcffcea28993a19bd1012e4bf55f35afb0800f2Michael Ernst test 3 -eq `grep -c -w '@A' C.jaif` || (echo "Didn't find 3 '@A' in C.jaif:" && cat C.jaif && false) 17a5e6f553051f7647aeb3bc5fc15d33117908eb64Dan Brown 18a5e6f553051f7647aeb3bc5fc15d33117908eb64Dan Brown.PHONY: no-bridge 199bcffcea28993a19bd1012e4bf55f35afb0800f2Michael Ernst# Not counting bridge methods, there should be 2 @A annotations. 209bcffcea28993a19bd1012e4bf55f35afb0800f2Michael Ernst# -b ignores annotations on bridge methods 21a5e6f553051f7647aeb3bc5fc15d33117908eb64Dan Brownno-bridge: C.class 22ccd6ca99dcc90e967dbdd89c282620f810b0594dMichael Ernst CLASSPATH=.:${CLASSPATH} ../../../scripts/extract-annotations -b C.class 239bcffcea28993a19bd1012e4bf55f35afb0800f2Michael Ernst test 2 -eq `grep -c -w '@A' C.jaif` || (echo "Didn't find 2 '@A' in C.jaif:" && cat C.jaif && false) 249d8f62afb2ace50bb950f1f847fe83e3981f9f64Dan Brown 259d8f62afb2ace50bb950f1f847fe83e3981f9f64Dan BrownC.class: C.java 2625000a5699ae5d3a85d4fce88de5377d43c00d5fMichael Ernst $(XJAVAC) -g $(JAVACTARGET) C.java 279d8f62afb2ace50bb950f1f847fe83e3981f9f64Dan Brown 289d8f62afb2ace50bb950f1f847fe83e3981f9f64Dan Brown.PHONY: clean 299d8f62afb2ace50bb950f1f847fe83e3981f9f64Dan Brownclean: 30a5e6f553051f7647aeb3bc5fc15d33117908eb64Dan Brown rm -rf *.class C.jaif annotated out 319d8f62afb2ace50bb950f1f847fe83e3981f9f64Dan Brown 32