package jadx.core.dex.regions;
import jadx.core.dex.nodes.IContainer;
import jadx.core.dex.nodes.IRegion;
import java.util.ArrayList;
import java.util.List;
public final class Region extends AbstractRegion {
private final List<IContainer> blocks;
public Region(IRegion parent) {
super(parent);
this.blocks = new ArrayList<IContainer>(1);
}
@Override
public List<IContainer> getSubBlocks() {
return blocks;
}
public void add(IContainer region) {
if (region instanceof AbstractRegion) {
((AbstractRegion) region).setParent(this);
}
blocks.add(region);
}
@Override
public boolean replaceSubBlock(IContainer oldBlock, IContainer newBlock) {
int i = blocks.indexOf(oldBlock);
if (i != -1) {
blocks.set(i, newBlock);
return true;
}
return false;
}
@Override
public String baseString() {
StringBuilder sb = new StringBuilder();
sb.append(blocks.size());
for (IContainer cont : blocks) {
sb.append(cont.baseString());
}
return sb.toString();
}
@Override
public String toString() {
return "R:" + baseString();
}
}