If we end up with an empty collection being passed in,
do not do any processing so we do not inflate lists
unnecessarily. In profiling this showed to waste as
much as 23MiB of memory.
Change-Id: Ibb47953894162e6658f473ca763f17b8a98d2cb2
Signed-off-by: Robert Varga <rovarga@cisco.com>
@Override
public void addAsEffectOfStatement(final Collection<StatementContextBase<?, ?, ?>> ctxs) {
@Override
public void addAsEffectOfStatement(final Collection<StatementContextBase<?, ?, ?>> ctxs) {
+ if (ctxs.isEmpty()) {
+ return;
+ }
+
if (effectOfStatement.isEmpty()) {
effectOfStatement = new ArrayList<>(ctxs.size());
}
if (effectOfStatement.isEmpty()) {
effectOfStatement = new ArrayList<>(ctxs.size());
}
* if statement parameter is null
*/
public void addEffectiveSubstatements(final Collection<StatementContextBase<?, ?, ?>> substatements) {
* if statement parameter is null
*/
public void addEffectiveSubstatements(final Collection<StatementContextBase<?, ?, ?>> substatements) {
+ if (substatements.isEmpty()) {
+ return;
+ }
+
substatements.forEach(Preconditions::checkNotNull);
beforeAddEffectiveStatement(substatements.size());
effective.addAll(substatements);
substatements.forEach(Preconditions::checkNotNull);
beforeAddEffectiveStatement(substatements.size());
effective.addAll(substatements);