org.btrplace.btrpsl.tree.TimesOperator Maven / Gradle / Ivy
/*
* Copyright 2020 The BtrPlace Authors. All rights reserved.
* Use of this source code is governed by a LGPL-style
* license that can be found in the LICENSE.txt file.
*/
package org.btrplace.btrpsl.tree;
import org.antlr.runtime.Token;
import org.btrplace.btrpsl.ErrorReporter;
import org.btrplace.btrpsl.element.BtrpOperand;
import org.btrplace.btrpsl.element.IgnorableOperand;
/**
* A parser to multiply two integers or to make the cartesian product between two sets with the same type
*
* @author Fabien Hermenier
*/
public class TimesOperator extends BtrPlaceTree {
/**
* Make a new parser.
*
* @param t the root token
* @param errs the errors to report
*/
public TimesOperator(Token t, ErrorReporter errs) {
super(t, errs);
}
@Override
public BtrpOperand go(BtrPlaceTree parent) {
BtrpOperand l = getChild(0).go(this);
BtrpOperand r = getChild(1).go(this);
if (l != IgnorableOperand.getInstance() && r != IgnorableOperand.getInstance()) {
return l.times(r);
}
return IgnorableOperand.getInstance();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy