Add a new statement type 'InlineMarker' to indicate inlined functions.

This will be leveraged in followup CLs to avoid recursive inlining death
spirals.

Change-Id: Icf99c88c4acaaa766e0dc0971830329e24d70509
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/315861
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
diff --git a/src/sksl/SkSLDehydrator.cpp b/src/sksl/SkSLDehydrator.cpp
index 6488969..b9b0646 100644
--- a/src/sksl/SkSLDehydrator.cpp
+++ b/src/sksl/SkSLDehydrator.cpp
@@ -26,6 +26,7 @@
 #include "src/sksl/ir/SkSLFunctionDefinition.h"
 #include "src/sksl/ir/SkSLIfStatement.h"
 #include "src/sksl/ir/SkSLIndexExpression.h"
+#include "src/sksl/ir/SkSLInlineMarker.h"
 #include "src/sksl/ir/SkSLIntLiteral.h"
 #include "src/sksl/ir/SkSLInterfaceBlock.h"
 #include "src/sksl/ir/SkSLNullLiteral.h"
@@ -441,6 +442,12 @@
                 this->write(i.fIfFalse.get());
                 break;
             }
+            case Statement::Kind::kInlineMarker: {
+                const InlineMarker& i = s->as<InlineMarker>();
+                this->writeU8(Rehydrator::kInlineMarker_Command);
+                this->writeId(i.fFuncDecl);
+                break;
+            }
             case Statement::Kind::kNop:
                 SkASSERT(false);
                 break;