Package aQute.bnd.differ
Class JavaElement
- java.lang.Object
-
- aQute.bnd.differ.JavaElement
-
class JavaElement extends java.lang.Object
An element that compares the access field in a binary compatible way. This element is used for classes, methods, constructors, and fields. For that reason we also included the only method that uses this class as a static method.Packages
- MAJOR - Remove a public type
- MINOR - Add a public class
- MINOR - Add an interface
- MINOR - Add a method to a class
- MINOR - Add a method to a provider interface
- MAJOR - Add a method to a consumer interface
- MINOR - Add a field
- MICRO - Add an annotation to a member
- MINOR - Change the value of a constant
- MICRO - -abstract
- MICRO - -final
- MICRO - -protected
- MAJOR - +abstract
- MAJOR - +final
- MAJOR - +protected
-
-
Field Summary
Fields Modifier and Type Field Description private static Element
ABSTRACT
(package private) Analyzer
analyzer
(package private) static Element
BOOLEAN_R
(package private) static Element
BYTE_R
(package private) java.util.Map<java.lang.Object,Element>
cache
(package private) static Element
CHAR_R
(package private) static Element
DOUBLE_R
(package private) Packages
exports
private static Element
FINAL
(package private) static Element
FLOAT_R
(package private) static java.util.EnumSet<Type>
INHERITED
(package private) static Element
INT_R
(package private) java.util.Set<Clazz.JAVA>
javas
(package private) static Element
LONG_R
(package private) java.util.Set<Descriptors.TypeRef>
notAccessible
(package private) static Element
OBJECT_R
(package private) MultiMap<Descriptors.PackageRef,Element>
packages
private static Element
PROTECTED
private static Element
PROTECTED_PROVIDER
(package private) java.util.Map<Descriptors.PackageRef,Instructions>
providerMatcher
(package private) static Element
SHORT_R
private static Element
STATIC
(package private) static Element
VOID_R
-
Constructor Summary
Constructors Constructor Description JavaElement(Analyzer analyzer)
Create an element for the API.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private static void
access(java.util.Collection<Element> children, int access, boolean deprecated, boolean provider)
(package private) Element
classElement(Clazz clazz)
Calculate the class element.(package private) static Element
getAPI(Analyzer analyzer)
private Element
getLocalAPI()
private Element
getReturn(Descriptors.TypeRef type)
private java.lang.String
toString(Descriptors.TypeRef[] prototype)
-
-
-
Field Detail
-
INHERITED
static final java.util.EnumSet<Type> INHERITED
-
PROTECTED
private static final Element PROTECTED
-
PROTECTED_PROVIDER
private static final Element PROTECTED_PROVIDER
-
STATIC
private static final Element STATIC
-
ABSTRACT
private static final Element ABSTRACT
-
FINAL
private static final Element FINAL
-
VOID_R
static final Element VOID_R
-
BOOLEAN_R
static final Element BOOLEAN_R
-
BYTE_R
static final Element BYTE_R
-
SHORT_R
static final Element SHORT_R
-
CHAR_R
static final Element CHAR_R
-
INT_R
static final Element INT_R
-
LONG_R
static final Element LONG_R
-
FLOAT_R
static final Element FLOAT_R
-
DOUBLE_R
static final Element DOUBLE_R
-
OBJECT_R
static final Element OBJECT_R
-
analyzer
final Analyzer analyzer
-
providerMatcher
final java.util.Map<Descriptors.PackageRef,Instructions> providerMatcher
-
notAccessible
final java.util.Set<Descriptors.TypeRef> notAccessible
-
cache
final java.util.Map<java.lang.Object,Element> cache
-
packages
final MultiMap<Descriptors.PackageRef,Element> packages
-
javas
final java.util.Set<Clazz.JAVA> javas
-
exports
final Packages exports
-
-
Constructor Detail
-
JavaElement
JavaElement(Analyzer analyzer) throws java.lang.Exception
Create an element for the API. We take the exported packages and traverse those for their classes. If there is no manifest or it does not describe a bundle we assume the whole contents is exported.- Parameters:
infos
-- Throws:
java.lang.Exception
-
-
Method Detail
-
getAPI
static Element getAPI(Analyzer analyzer) throws java.lang.Exception
- Throws:
java.lang.Exception
-
getLocalAPI
private Element getLocalAPI() throws java.lang.Exception
- Throws:
java.lang.Exception
-
classElement
Element classElement(Clazz clazz) throws java.lang.Exception
Calculate the class element. This requires parsing the class file and finding all the methods that were added etc. The parsing will take super interfaces and super classes into account. For this reason it maintains a queue of classes/interfaces to parse.- Parameters:
analyzer
-clazz
-infos
-- Throws:
java.lang.Exception
-
toString
private java.lang.String toString(Descriptors.TypeRef[] prototype)
-
getReturn
private Element getReturn(Descriptors.TypeRef type)
-
access
private static void access(java.util.Collection<Element> children, int access, boolean deprecated, boolean provider)
-
-