WarpPI/core/src/main/java/it/cavallium/warppi/gui/expression/blocks/BlockParenthesis.java
2023-08-23 16:47:55 +02:00

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);
}
}