Support clock handles.
Change-Id: I30970f19b565ff49fbe6978ee0173636de9f1a96
diff --git a/resources/META-INF/plugin.xml b/resources/META-INF/plugin.xml
index a6ae9b2..f5537ed 100644
--- a/resources/META-INF/plugin.xml
+++ b/resources/META-INF/plugin.xml
@@ -24,6 +24,7 @@
<li>Support union ordinals and remove xunion.</li>
<li>Support service declarations.</li>
<li>Improve compatibility with IJ 2019.3, and shrink JAR size</li>
+ <li>Support clock handle type.</li>
</ul>
</li>
<li><b>0.13</b>
diff --git a/src/fuchsia/developer/plugin/fidl/ContextAwareHighlighter.java b/src/fuchsia/developer/plugin/fidl/ContextAwareHighlighter.java
index 091ef85..c9af9f2 100644
--- a/src/fuchsia/developer/plugin/fidl/ContextAwareHighlighter.java
+++ b/src/fuchsia/developer/plugin/fidl/ContextAwareHighlighter.java
@@ -50,6 +50,7 @@
"thread",
"vmo",
"channel",
+ "clock",
"event",
"port",
"interrupt",
diff --git a/src/fuchsia/developer/plugin/fidl/Fidl.bnf b/src/fuchsia/developer/plugin/fidl/Fidl.bnf
index 05546b2..fc5ef13 100644
--- a/src/fuchsia/developer/plugin/fidl/Fidl.bnf
+++ b/src/fuchsia/developer/plugin/fidl/Fidl.bnf
@@ -116,7 +116,7 @@
handle-type ::= HANDLE ( LANGLE handle-subtype RANGLE )? ( QUESTION )?
-handle-subtype ::= PROCESS | THREAD | VMO | CHANNEL | EVENT | PORT |
+handle-subtype ::= PROCESS | THREAD | VMO | CHANNEL | CLOCK | EVENT | PORT |
INTERRUPT | LOG | SOCKET | RESOURCE | EVENTPAIR |
JOB | VMAR | FIFO | GUEST | TIMER | EXCEPTION
@@ -138,4 +138,5 @@
TIMER | UNION | USING_T | VECTOR | VMAR | VMO | XUNION | BOOL | FLOAT32 |
FLOAT64 | INT8 | INT16 | INT32 | INT64 | UINT8 | UINT16 | UINT32 | UINT64 |
TRUE | FALSE | PROTOCOL | COMPOSE | BITS | BYTES | EXCEPTION | STRICT |
- IOMMU | PAGER | PCIDEVICE | PMT | SUSPENDTOKEN | VCPU | SERVICE | FLEXIBLE
+ IOMMU | PAGER | PCIDEVICE | PMT | SUSPENDTOKEN | VCPU | SERVICE | FLEXIBLE |
+ CLOCK
diff --git a/src/fuchsia/developer/plugin/fidl/FidlLexer.flex b/src/fuchsia/developer/plugin/fidl/FidlLexer.flex
index 45d0e9e..1bb298b 100644
--- a/src/fuchsia/developer/plugin/fidl/FidlLexer.flex
+++ b/src/fuchsia/developer/plugin/fidl/FidlLexer.flex
@@ -57,6 +57,7 @@
// Handle subtypes
CHANNEL=channel
+CLOCK=clock
EVENT=event
EVENTPAIR=eventpair
EXCEPTION=exception
@@ -154,6 +155,7 @@
{FLEXIBLE} { return FLEXIBLE; }
{CHANNEL} { return CHANNEL; }
+ {CLOCK} { return CLOCK; }
{EVENT} { return EVENT; }
{EVENTPAIR} { return EVENTPAIR; }
{EXCEPTION} { return EXCEPTION; }