| // Copyright 2018 The Fuchsia Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| // This is the library |
| library foo; |
| |
| using something.or.another as thing; |
| |
| struct arrays { |
| array<handle>:1 handle_0; |
| }; |
| |
| // My oh my |
| struct DirectoryObject { |
| int32 y; |
| }; |
| |
| const uint64 w = 9021; |
| |
| // Random comment |
| |
| const uint32 x = 9021; |
| const uint32 y = 9021; |
| |
| // My wonderful constant |
| const uint32 z = 9021; |
| |
| // Comment requiring space |
| |
| enum Enum2 : uint32 { |
| enum_0 = 0; // More comments |
| }; |
| |
| union MyUnion { // super annoying! |
| string? s; |
| }; |
| |
| /// Doc comments |
| /// of multiple |
| /// lines |
| struct Foo { |
| request<Iface>? nullable_request; |
| vector<handle<channel>> monoid; |
| vector<handle<channel>> drahvin; |
| }; |
| |
| table Table1 { |
| 1: int64 x; |
| 2: int64 y; |
| }; |
| |
| table Table2 { |
| 3: reserved; |
| 2: int64 x; |
| 1: int64 y; |
| }; |
| |
| table Table3 { |
| /// Multiline |
| /// doc comments should |
| 1: int64 indent_correctly; |
| }; |
| |
| // This { should } not be indented |
| // My interface is so wonderful. |
| // It is the most wonderful interface of them all. |
| [Discoverable] |
| interface Iface |
| { |
| 1: Foo() |
| -> (int i); |
| |
| [Awesome] |
| 122: Analyze(handle<process> process, handle<thread> thread) |
| -> (); |
| |
| // Figure it out. |
| 2: -> Bar(int32 i, int32 k); |
| 3: Baz(int32 j, string k) -> (int32 y); |
| 104: Nimon(int32 j, string k) |
| -> (int32 y); |
| |
| Mandrel(int32 j, string k) |
| -> (int32 y); |
| |
| 6: Cat(string? s) -> (bool b); |
| 102: Karfel( |
| int32 x) -> (int y); |
| |
| 10341: Gavrok // ( heh heh -> |
| ( // ( An annoying comment. |
| int a, int b) -> (); |
| |
| 4: -> Goo(int32 p, string:32 s); |
| 5: Baz(int32 j, string:40 k |
| ) -> (int32 y); |
| 7: SomeMethodWithAResponse() -> (); |
| |
| // A comment that isn't so annoying |
| 101: MethodResponse(int a, int b, string:40 c, |
| int d, int e) -> (int f, int g, |
| int h); |
| |
| 100: MethodResponse2() |
| -> (); |
| |
| 1024: MethodResponse3(int64 a) |
| -> (); |
| |
| JustPlainNoOrdinal() -> (); |
| |
| // Comment and |
| NoOrdinal(int64 i) -> (string s); |
| |
| /// Doc Comment and |
| [Attribute] |
| 2048: -> End(); |
| |
| /// Multiple |
| /// Doc Comments and |
| [Attribute] |
| 2048: -> End(); |
| |
| 999: -> End(); |
| 1000: -> End(); |
| }; |
| |
| // Comments at EOF |