Closed ilya-klyuchnikov closed 9 years ago
This simple analysis infers @Contract(pure=true) only if the method doesn't have following instructions:
@Contract(pure=true)
PUTFIELD
PUTSTATIC
IASTORE
LASTORE
FASTORE
DASTORE
AASTORE
BASTORE
CASTORE
SASTORE
INVOKEDYNAMIC
INVOKEINTERFACE
Instructions INVOKESPECIAL, INVOKESTATIC, INVOKEVIRTUAL are processed by transitivity.
INVOKESPECIAL
INVOKESTATIC
INVOKEVIRTUAL
This simple analysis infers
@Contract(pure=true)
only if the method doesn't have following instructions:PUTFIELD
PUTSTATIC
IASTORE
LASTORE
FASTORE
DASTORE
AASTORE
BASTORE
CASTORE
SASTORE
INVOKEDYNAMIC
INVOKEINTERFACE
Instructions
INVOKESPECIAL
,INVOKESTATIC
,INVOKEVIRTUAL
are processed by transitivity.