in code-generation/types-base/src/main/java/org/apache/plc4x/plugins/codegenerator/types/terms/Term.java [65:94]
default String getDiscriminatorName() {
if (isLiteral()) {
Literal literal = (Literal) this;
if (literal instanceof NullLiteral) {
return "null";
} else if (literal instanceof BooleanLiteral) {
return Boolean.toString(((BooleanLiteral) literal).getValue());
} else if (literal instanceof NumericLiteral) {
return ((NumericLiteral) literal).getNumber().toString();
} else if (literal instanceof HexadecimalLiteral) {
return ((HexadecimalLiteral) literal).getHexString();
} else if (literal instanceof StringLiteral) {
return ((StringLiteral) literal).getValue();
} else if (literal instanceof VariableLiteral) {
VariableLiteral variableLiteral = (VariableLiteral) literal;
return variableLiteral.getVariableLiteralName();
}
} else if (isUnaryTerm()) {
UnaryTerm unaryTerm = (UnaryTerm) this;
return unaryTerm.getA().getDiscriminatorName();
} else if (isBinaryTerm()) {
BinaryTerm binaryTerm = (BinaryTerm) this;
return binaryTerm.getA().getDiscriminatorName() + "_" + binaryTerm.getB().getDiscriminatorName();
} else if (isTernaryTerm()) {
TernaryTerm ternaryTerm = (TernaryTerm) this;
return ternaryTerm.getA().getDiscriminatorName() + "_" + ternaryTerm.getB().getDiscriminatorName()
+ "_" + ternaryTerm.getC().getDiscriminatorName();
}
return "";
}