41 lines
1.2 KiB
Java
41 lines
1.2 KiB
Java
package it.cavallium.warppi.gui.expression.blocks;
|
|
|
|
import it.cavallium.warppi.gui.expression.InputContext;
|
|
import it.cavallium.warppi.math.Function;
|
|
import it.cavallium.warppi.math.MathContext;
|
|
import it.cavallium.warppi.math.parser.features.FeatureParenthesis;
|
|
import it.cavallium.warppi.math.parser.features.interfaces.Feature;
|
|
import it.cavallium.warppi.util.Error;
|
|
import it.unimi.dsi.fastutil.objects.ObjectArrayList;
|
|
|
|
public class BlockParenthesis extends BlockParenthesisAbstract {
|
|
private ObjectArrayList<BlockContainer> innerContainersCached;
|
|
|
|
public BlockParenthesis() {}
|
|
|
|
public BlockParenthesis(final ObjectArrayList<Block> blocks) {
|
|
super(blocks);
|
|
}
|
|
|
|
private BlockParenthesis(final BlockContainer parent, BlockParenthesis old, InputContext ic) {
|
|
super(parent, old, ic);
|
|
}
|
|
|
|
@Override
|
|
public Feature toFeature(final MathContext context) throws Error {
|
|
final Function cont = getNumberContainer().toFunction(context);
|
|
return new FeatureParenthesis(cont);
|
|
}
|
|
|
|
@Override
|
|
public ObjectArrayList<Block> getInnerBlocks() {
|
|
return getNumberContainer().getContent();
|
|
}
|
|
|
|
@Override
|
|
public BlockParenthesis clone(final BlockContainer parent, InputContext ic) {
|
|
return new BlockParenthesis(parent, this, ic);
|
|
}
|
|
|
|
}
|