Convert Operators namespace to first-class Operator object.

This lets us write `op.isAssignment()` instead of
`Operators::IsAssignment(op)`.

Change-Id: If35f2ac500b6ccabc364f9104faaad6e62564667
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/369958
Commit-Queue: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
diff --git a/src/sksl/SkSLASTNode.cpp b/src/sksl/SkSLASTNode.cpp
index ccfe254..e25bdf0 100644
--- a/src/sksl/SkSLASTNode.cpp
+++ b/src/sksl/SkSLASTNode.cpp
@@ -17,7 +17,7 @@
         case Kind::kNull: return "";
         case Kind::kBinary:
             return "(" + this->begin()->description() + " " +
-                               Operators::OperatorName(getToken().fKind) + " " +
+                               getOperator().operatorName() + " " +
                                (this->begin() + 1)->description() + ")";
         case Kind::kBlock: {
             String result = "{\n";
@@ -162,9 +162,9 @@
             return result;
         }
         case Kind::kPostfix:
-            return this->begin()->description() + Operators::OperatorName(getToken().fKind);
+            return this->begin()->description() + getOperator().operatorName();
         case Kind::kPrefix:
-            return Operators::OperatorName(getToken().fKind) + this->begin()->description();
+            return getOperator().operatorName() + this->begin()->description();
         case Kind::kReturn:
             if (this->begin() != this->end()) {
                 return "return " + this->begin()->description() + ";";