in code-generation/types-base/src/main/java/org/apache/plc4x/plugins/codegenerator/types/terms/Term.java [39:58]
default boolean isFixedValueExpression() {
if (asLiteral().map(LiteralConversions::isVariableLiteral).orElse(false)) {
return false;
}
if (isUnaryTerm()) {
UnaryTerm unaryTerm = (UnaryTerm) this;
return unaryTerm.getA().isFixedValueExpression();
}
if (isBinaryTerm()) {
BinaryTerm binaryTerm = (BinaryTerm) this;
return binaryTerm.getA().isFixedValueExpression() && binaryTerm.getB().isFixedValueExpression();
}
if (isTernaryTerm()) {
TernaryTerm ternaryTerm = (TernaryTerm) this;
return ternaryTerm.getA().isFixedValueExpression()
&& ternaryTerm.getB().isFixedValueExpression()
&& ternaryTerm.getC().isFixedValueExpression();
}
return true;
}