default boolean isFixedValueExpression()

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