dk.brics.string.external
Class PublicExternalVisibility
java.lang.Object
dk.brics.string.external.PublicExternalVisibility
- All Implemented Interfaces:
- ExternalVisibility
public class PublicExternalVisibility
- extends Object
- implements ExternalVisibility
Treats public fields and methods as externally visible, and non-public fields
and methods as not externally visible.
Under rare circumstances, a non-application class may access a protected or package-private
field or method, in which case this strategy is not sound.
- Author:
- Asger
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
PublicExternalVisibility
public PublicExternalVisibility()
isExternallyVisibleField
public boolean isExternallyVisibleField(SootField field)
- Description copied from interface:
ExternalVisibility
- Defines which fields are seen by the string analysis as being
acecssible from unknown code. Note that this is also called for private
fields, so a reasonable implementation should return false for such fields.
An externally visible field is considered to be corrupt, meaning it can spontaneously
change value.
- Specified by:
isExternallyVisibleField
in interface ExternalVisibility
- Parameters:
field
- a field in the application being analyzed
- Returns:
- true if the field is externally visible.
isExternallyVisibleMethod
public boolean isExternallyVisibleMethod(SootMethod sm)
- Description copied from interface:
ExternalVisibility
- Defines which methods are seen by the string analysis as being
accessible from unknown code.
The arguments to these methods can contain any values,
and the return values might escape to unknown code.
- Specified by:
isExternallyVisibleMethod
in interface ExternalVisibility
- Parameters:
sm
- a method in the analyzed code.
- Returns:
- whether the method could possibly be called from unknown code.
Copyright © 2003-2009 Anders Møller, Aske Simon Christensen, Asger Feldthaus.