Package-level declarations

Simple constant propagation.

Classes in this package allow to resolve values of constants. The constant resolution is "simple", because:

- it only operates intraprocedurally, i.e. it does not consider method calls. - it does not consider branches - it does not support all kinds of operators

The analysis is sound, in that it only returns a constant if there is only one possible execution path yielding that constant. It is by no means complete, i.e. there are various ways how the analysis may miss a potential constant.


Link copied to clipboard
A ConstantResolver is given the use site of a variable (possibly a DeclaredReferenceExpression and tries to resolve the concrete value(s) the variable may hold at runtime.
Link copied to clipboard
Representation of a hardcoded constant.
Link copied to clipboard

A simple intra-procedural resolution of constant values.