Skip to content

Commit

Permalink
Smarter parentheses for expressions (#668)
Browse files Browse the repository at this point in the history
* Extract toString() to helper class

* Refactor some exp-string conversions

* Remove unnecessary parentheses from exp string representation

* Suppress some warnings

* Refactor set initialization
  • Loading branch information
m-dzianishchyts authored Feb 7, 2024
1 parent ab7ee11 commit 1fead33
Show file tree
Hide file tree
Showing 71 changed files with 435 additions and 205 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ protected SimpleNode shallowCopy() {

@Override
public String toString() {
return children != null ? "abs(" + children[0] + ")" : "abs(?)";
return ExpStringConverter.convert(this);
}
}
/* JavaCC - OriginalChecksum=01d2266f2e2852f0cc30cb38133844d2 (do not edit this line) */
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ protected SimpleNode shallowCopy() {

@Override
public String toString() {
return children != null ? "(" + children[0] + ") + (" + children[1] + ")" : "? + ?";
return ExpStringConverter.convert(this);
}
}
/* JavaCC - OriginalChecksum=67440c31da272c3cf98559aaecf49bc2 (do not edit this line) */
4 changes: 1 addition & 3 deletions agrest-engine/src/main/java/io/agrest/exp/parser/ExpAnd.java
Original file line number Diff line number Diff line change
Expand Up @@ -33,9 +33,7 @@ protected SimpleNode shallowCopy() {

@Override
public String toString() {
return children != null
? Arrays.stream(children).map(String::valueOf).collect(Collectors.joining(") and (", "(", ")"))
: "? and ?";
return ExpStringConverter.convert(this);
}
}
/* JavaCC - OriginalChecksum=8fe8825e52daaa8c28bda97ebce7e8ec (do not edit this line) */
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,7 @@ protected SimpleNode shallowCopy() {

@Override
public String toString() {
return children != null
? children[0] + " between " + children[1] + " and " + children[2]
: "? between ? and ?";
return ExpStringConverter.convert(this);
}
}
/* JavaCC - OriginalChecksum=c43b74b247f96290e1207f5b0fcef774 (do not edit this line) */
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,7 @@ protected SimpleNode shallowCopy() {

@Override
public String toString() {
return children != null
? "(" + children[0] + ") & (" + children[1] + ")"
: "? & ?";
return ExpStringConverter.convert(this);
}
}
/* JavaCC - OriginalChecksum=114e39f3e98a01e9d633fb36f9cdc27e (do not edit this line) */
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,7 @@ protected SimpleNode shallowCopy() {

@Override
public String toString() {
return children != null
? "(" + children[0] + ") << (" + children[1] + ")"
: "? << ?";
return ExpStringConverter.convert(this);
}
}
/* JavaCC - OriginalChecksum=a6ef6adcc35a4fc93a897a3b9a1b6dfd (do not edit this line) */
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,7 @@ protected SimpleNode shallowCopy() {

@Override
public String toString() {
return children != null
? "~(" + children[0] + ")"
: "~ ?";
return ExpStringConverter.convert(this);
}
}
/* JavaCC - OriginalChecksum=19c490da33ec6688721f4959812e3984 (do not edit this line) */
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,7 @@ protected SimpleNode shallowCopy() {

@Override
public String toString() {
return children != null
? "(" + children[0] + ") | (" + children[1] + ")"
: "? | ?";
return ExpStringConverter.convert(this);
}
}
/* JavaCC - OriginalChecksum=9e655d2e49f2f89cbfc0290e3c55eaaa (do not edit this line) */
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,7 @@ protected SimpleNode shallowCopy() {

@Override
public String toString() {
return children != null
? "(" + children[0] + ") >> (" + children[1] + ")"
: "? >> ?";
return ExpStringConverter.convert(this);
}
}
/* JavaCC - OriginalChecksum=a94a42dfe873885efa22739e3c810a38 (do not edit this line) */
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,7 @@ protected SimpleNode shallowCopy() {

@Override
public String toString() {
return children != null
? "(" + children[0] + ") ^ (" + children[1] + ")"
: "? ^ ?";
return ExpStringConverter.convert(this);
}
}
/* JavaCC - OriginalChecksum=9e28b3f45bea0aa6bcbfd7fa8910fd4e (do not edit this line) */
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,7 @@ protected SimpleNode shallowCopy() {

@Override
public String toString() {
return children != null
? "concat(" + children[0] + ", " + children[1] + ")"
: "concat(?, ?)";
return ExpStringConverter.convert(this);
}
}
/* JavaCC - OriginalChecksum=2de2c03e3db046b2f2cdd50df8e4a48e (do not edit this line) */
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ protected SimpleNode shallowCopy() {

@Override
public String toString() {
return "currentDate()";
return ExpStringConverter.convert(this);
}
}
/* JavaCC - OriginalChecksum=e13391251cba769cc41551502e16e0ac (do not edit this line) */
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ protected SimpleNode shallowCopy() {

@Override
public String toString() {
return "currentTime()";
return ExpStringConverter.convert(this);
}
}
/* JavaCC - OriginalChecksum=1f84b3754ed74e9ae5b7eca31d84f0ae (do not edit this line) */
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ protected ExpCurrentTimestamp shallowCopy() {

@Override
public String toString() {
return "currentTimestamp()";
return ExpStringConverter.convert(this);
}
}
/* JavaCC - OriginalChecksum=c3ddadaa60478d01d051d9fd5b1f87c7 (do not edit this line) */
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,7 @@ protected ExpDivide shallowCopy() {

@Override
public String toString() {
return children != null
? "(" + children[0] + ") / (" + children[1] + ")"
: "? / ?";
return ExpStringConverter.convert(this);
}
}
/* JavaCC - OriginalChecksum=ff843f7912488202daf5cfaf1517956b (do not edit this line) */
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,7 @@ protected ExpEqual shallowCopy() {

@Override
public String toString() {
return children != null
? "(" + children[0] + ") = (" + children[1] + ")"
: "? = ?";
return ExpStringConverter.convert(this);
}
}
/* JavaCC - OriginalChecksum=5d0a19fd37d62fae2718cc73973efde7 (do not edit this line) */
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,7 @@ protected ExpExtract shallowCopy() {

@Override
public String toString() {
return children != null
? value + "(" + children[0] + ")"
: value + "(?)";
return ExpStringConverter.convert(this);
}
}
/* JavaCC - OriginalChecksum=58cc7e1d25270e1d515170647eb54773 (do not edit this line) */
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ protected ExpFalse shallowCopy() {

@Override
public String toString() {
return "false";
return ExpStringConverter.convert(this);
}
}
/* JavaCC - OriginalChecksum=f5ab544d76028320b4b1dbb970751376 (do not edit this line) */
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,7 @@ protected ExpGreater shallowCopy() {

@Override
public String toString() {
return children != null
? "(" + children[0] + ") > (" + children[1] + ")"
: "? > ?";
return ExpStringConverter.convert(this);
}
}
/* JavaCC - OriginalChecksum=ea0ce31b9d9db21857900434d14bd004 (do not edit this line) */
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,7 @@ protected ExpGreaterOrEqual shallowCopy() {

@Override
public String toString() {
return children != null
? "(" + children[0] + ") >= (" + children[1] + ")"
: "? >= ?";
return ExpStringConverter.convert(this);
}
}
/* JavaCC - OriginalChecksum=723bcd56cadc1762fd2460f1ab9c988f (do not edit this line) */
4 changes: 1 addition & 3 deletions agrest-engine/src/main/java/io/agrest/exp/parser/ExpIn.java
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,7 @@ protected SimpleNode shallowCopy() {

@Override
public String toString() {
return children != null
? children[0] + " in " + (children[1] instanceof ExpNamedParameter ? children[1] : "(" + children[1] + ")")
: "? in (?)";
return ExpStringConverter.convert(this);
}
}
/* JavaCC - OriginalChecksum=40738702f4699c9b3a308d49a792f974 (do not edit this line) */
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,7 @@ protected SimpleNode shallowCopy() {

@Override
public String toString() {
return children != null
? "length(" + children[0] + ")"
: "length(?)";
return ExpStringConverter.convert(this);
}
}
/* JavaCC - OriginalChecksum=f19b92880659daa8634dd190871429c4 (do not edit this line) */
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,7 @@ protected SimpleNode shallowCopy() {

@Override
public String toString() {
return children != null
? "(" + children[0] + ") < (" + children[1] + ")"
: "? < ?";
return ExpStringConverter.convert(this);
}
}
/* JavaCC - OriginalChecksum=cd3543ed8cbdcb8d8a299d020cc92831 (do not edit this line) */
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,7 @@ protected SimpleNode shallowCopy() {

@Override
public String toString() {
return children != null
? "(" + children[0] + ") <= (" + children[1] + ")"
: "? <= ?";
return ExpStringConverter.convert(this);
}
}
/* JavaCC - OriginalChecksum=0c80f493512f3c5d984682c830f7d9f1 (do not edit this line) */
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,7 @@ protected SimpleNode shallowCopy() {

@Override
public String toString() {
return children != null
? children[0] + " like " + children[1] + (children.length > 2 ? " escape " + children[2] : "")
: "? like ?";
return ExpStringConverter.convert(this);
}
}
/* JavaCC - OriginalChecksum=3985611ab5ab3bf8b4211521f95869c3 (do not edit this line) */
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,7 @@ protected SimpleNode shallowCopy() {

@Override
public String toString() {
return children != null
? children[0] + " likeIgnoreCase " + children[1] + (children.length > 2 ? " escape " + children[2] : "")
: "? likeIgnoreCase ?";
return ExpStringConverter.convert(this);
}
}
/* JavaCC - OriginalChecksum=5ac0a75518b771f310fb884e4b827b71 (do not edit this line) */
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,7 @@ protected SimpleNode shallowCopy() {

@Override
public String toString() {
return children != null
? "locate(" + children[0] + ", " + children[1] + (children.length > 2 ? ", (" + children[2] + ")" : "") + ")"
: "locate(?, ?)";
return ExpStringConverter.convert(this);
}
}
/* JavaCC - OriginalChecksum=f84e448f9a20bd2e9cfcd100ef030c8a (do not edit this line) */
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,7 @@ protected SimpleNode shallowCopy() {

@Override
public String toString() {
return children != null
? "lower(" + children[0] + ")"
: "lower(?)";
return ExpStringConverter.convert(this);
}
}
/* JavaCC - OriginalChecksum=46a8609164b2bd56451f930c7b2db122 (do not edit this line) */
4 changes: 1 addition & 3 deletions agrest-engine/src/main/java/io/agrest/exp/parser/ExpMod.java
Original file line number Diff line number Diff line change
Expand Up @@ -32,9 +32,7 @@ protected SimpleNode shallowCopy() {

@Override
public String toString() {
return children != null
? "mod(" + children[0] + ", " + children[1] + ")"
: "mod(?, ?)";
return ExpStringConverter.convert(this);
}
}
/* JavaCC - OriginalChecksum=6563b330904d626ec86b2bd306259dd3 (do not edit this line) */
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,7 @@ protected SimpleNode shallowCopy() {

@Override
public String toString() {
return children != null
? "(" + children[0] + ") * (" + children[1] + ")"
: "? * ?";
return ExpStringConverter.convert(this);
}
}
/* JavaCC - OriginalChecksum=6ca0df20d086adb54be14cd41b93ed59 (do not edit this line) */
Original file line number Diff line number Diff line change
Expand Up @@ -50,10 +50,9 @@ protected SimpleNode shallowCopy() {
return copy;
}

@Override
public String toString() {
String name = getName();
return name != null ? "$" + name : "null";
}
@Override
public String toString() {
return ExpStringConverter.convert(this);
}
}
/* JavaCC - OriginalChecksum=7b4e7b4225063fe3b24686d5b6a2ada2 (do not edit this line) */
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,7 @@ protected SimpleNode shallowCopy() {

@Override
public String toString() {
return children != null
? "-(" + children[0] + ")"
: "-?";
return ExpStringConverter.convert(this);
}
}
/* JavaCC - OriginalChecksum=100942f12f6576bdafd2b6051325e733 (do not edit this line) */
4 changes: 1 addition & 3 deletions agrest-engine/src/main/java/io/agrest/exp/parser/ExpNot.java
Original file line number Diff line number Diff line change
Expand Up @@ -37,9 +37,7 @@ public Exp not() {

@Override
public String toString() {
return children != null
? "not (" + children[0] + ")"
: "not ?";
return ExpStringConverter.convert(this);
}
}
/* JavaCC - OriginalChecksum=0fe2b3f475a020609f2cfa348e9fe03d (do not edit this line) */
Original file line number Diff line number Diff line change
Expand Up @@ -32,9 +32,7 @@ protected ExpNotBetween shallowCopy() {

@Override
public String toString() {
return children != null
? children[0] + " not between " + children[1] + " and " + children[2]
: "? not between ? and ?";
return ExpStringConverter.convert(this);
}
}
/* JavaCC - OriginalChecksum=1af9c63e271dbd73a0ef825dda231d68 (do not edit this line) */
Original file line number Diff line number Diff line change
Expand Up @@ -32,9 +32,7 @@ protected ExpNotEqual shallowCopy() {

@Override
public String toString() {
return children != null
? "(" + children[0] + ") != (" + children[1] + ")"
: "? != ?";
return ExpStringConverter.convert(this);
}
}
/* JavaCC - OriginalChecksum=cd31a8834ec599e6eb06535df7a2b157 (do not edit this line) */
Original file line number Diff line number Diff line change
Expand Up @@ -32,9 +32,7 @@ protected ExpNotIn shallowCopy() {

@Override
public String toString() {
return children != null
? children[0] + " not in " + (children[1].getClass() == ExpNamedParameter.class ? children[1] : "(" + children[1] + ")")
: "? not in (?)";
return ExpStringConverter.convert(this);
}
}
/* JavaCC - OriginalChecksum=49ec5ffe4a961c9a3e6170dbd0f7ad1f (do not edit this line) */
Original file line number Diff line number Diff line change
Expand Up @@ -32,9 +32,7 @@ protected ExpNotLike shallowCopy() {

@Override
public String toString() {
return children != null
? children[0] + " not like " + children[1] + (children.length > 2 ? " escape " + children[2] : "")
: "? not like ?";
return ExpStringConverter.convert(this);
}
}
/* JavaCC - OriginalChecksum=9551a6b7ade4165e58bcc54093cfb9dd (do not edit this line) */
Loading

0 comments on commit 1fead33

Please sign in to comment.