public abstract class BooleanFunctionSymbolImpl extends FunctionSymbolImpl implements BooleanFunctionSymbol
FunctionSymbol.FunctionalTermNullability| Modifier | Constructor and Description |
|---|---|
protected |
BooleanFunctionSymbolImpl(String name,
com.google.common.collect.ImmutableList<TermType> expectedBaseTypes,
DBTermType dbBooleanTermType) |
| Modifier and Type | Method and Description |
|---|---|
protected ImmutableTerm |
buildTermAfterEvaluation(com.google.common.collect.ImmutableList<ImmutableTerm> newTerms,
TermFactory termFactory,
VariableNullability variableNullability)
By default, just build a new functional term.
|
protected boolean |
enableIfElseNullLifting()
Returns false if IfElseNullLifting must be disabled althrough it may have been technically possible.
|
Optional<TermTypeInference> |
inferType(com.google.common.collect.ImmutableList<? extends ImmutableTerm> terms) |
protected Optional<ImmutableTerm> |
tryToLiftIfThenTerm(com.google.common.collect.ImmutableList<ImmutableTerm> newTerms,
TermFactory termFactory,
VariableNullability variableNullability) |
protected Optional<ImmutableTerm> |
tryToLiftMagicNumbers(com.google.common.collect.ImmutableList<ImmutableTerm> newTerms,
TermFactory termFactory,
VariableNullability variableNullability) |
analyzeInjectivity, canBeSafelyDecomposedIntoConjunction, decomposeInjectiveTopFunctionalTerm, evaluateIsNotNull, evaluateNullability, evaluateStrictEq, evaluateStrictEqWithFunctionalTerm, evaluateStrictEqWithNonNullConstant, getExpectedBaseType, getExpectedBaseTypes, isAggregation, isAlwaysInjectiveInTheAbsenceOfNonInjectiveFunctionalTerms, isDeterministic, isInjective, isNullable, mayReturnNullWithoutNullArguments, proposeProvenanceVariables, simplify, simplifyAsGuaranteedToBeNonNull, tolerateNulls, transformIntoRegularArguments, tryToLiftMagicNumbersclone, equals, getArity, getName, hashCode, toStringfinalize, getClass, notify, notifyAll, wait, wait, waitblocksNegation, negate, simplify2VLanalyzeInjectivity, canBePostProcessed, evaluateIsNotNull, evaluateNullability, evaluateStrictEq, getExpectedBaseType, isAggregation, isDeterministic, isNullable, proposeProvenanceVariables, simplify, simplifyAsGuaranteedToBeNonNullprotected BooleanFunctionSymbolImpl(@Nonnull String name, @Nonnull com.google.common.collect.ImmutableList<TermType> expectedBaseTypes, DBTermType dbBooleanTermType)
public Optional<TermTypeInference> inferType(com.google.common.collect.ImmutableList<? extends ImmutableTerm> terms)
inferType in interface FunctionSymbolprotected ImmutableTerm buildTermAfterEvaluation(com.google.common.collect.ImmutableList<ImmutableTerm> newTerms, TermFactory termFactory, VariableNullability variableNullability)
FunctionSymbolImplbuildTermAfterEvaluation in class FunctionSymbolImplprotected Optional<ImmutableTerm> tryToLiftIfThenTerm(com.google.common.collect.ImmutableList<ImmutableTerm> newTerms, TermFactory termFactory, VariableNullability variableNullability)
protected Optional<ImmutableTerm> tryToLiftMagicNumbers(com.google.common.collect.ImmutableList<ImmutableTerm> newTerms, TermFactory termFactory, VariableNullability variableNullability)
protected boolean enableIfElseNullLifting()
FunctionSymbolImplenableIfElseNullLifting in class FunctionSymbolImplCopyright © 2009–2020 Free University of Bozen-Bolzano. All rights reserved.