History log of /fuchsia/zircon/system/host/fidl/schema.json
Revision Date Author Comments
# cd20e1a1 27-Sep-2018 Craig Tiller <ctiller@google.com>

[fidl] Compiler implementation for tables

Test: updated existing tests, implemented a table test suite for table edge cases

Change-Id: Id145d12f44544027d0d28c2288ebf5c6de39b446


# 121d118d 07-Aug-2018 Benjamin Brittain <bwb@google.com>

[fidl][ftp-009] Adds Documentation comment desugaring to attribute

extends the JSON IR to support attributes on members of structured data types

Test: Migrate comments to doc comments and check the output of the json IR

Change-Id: Ib2d5e59682b49aa5103440fdec8228da00170848


# f3b38c2a 06-Aug-2018 Adam Barth <abarth@google.com>

[fidl] Remove |status| keyword

All clients have migrated to using zx.status, which is not a language
keyword.

Test: Compiles
Change-Id: I9c2c08b5c4062c598234f4f461b53a44e8aaf5a7


# 8d539f52 18-Jul-2018 Christopher R. Johnson <crjohns@google.com>

[fidl] Store attributes for methods.

The current syntax that is parsed allows methods to have attributes,
but it is not currently used anywhere.

This change includes those attributes in the JSON output for processing
by code generators.

TEST=fx build

Change-Id: Ibaef4871cc6110f9b55882869035b56d10ef5160


# 64312f3f 16-Jul-2018 Ian McKellar <ianloic@google.com>

[fidl] Keep track of the maximum handles required to represent types.

This is motivated by the desire to restrict the Clone method to types
that cannot contain handles.

This adds maximum handle tracking in TypeShape. It's mostly fairly
straightforward but there are a couple of nastier edge cases.

First unbounded vectors could have any number of members. The number of
members are in practice bounded by the maximum message size, so the
number of handles for an unbounded vector is the number of handles
multiplied by the maximum message size.

Similarly recursive structs and unions are bounded by the message size.
The compiler now has to keep track of reentrant compilation.

Messages with handles in either unbounded vectors or recursive types
will be large.

Test: wrote some simple FIDL and verified that the IR JSON was correct.

Change-Id: Ibbe2f04a63774c6cafc9205180795ccbd2d2048c


# 36bf0a06 13-Apr-2018 George Kulakowski <kulakowski@google.com>

[fidl] Allow libraries to be namespaced

Change-Id: I64143e7cc9aef8050f32409abc8574920ba444a1


# b3416672 17-Apr-2018 George Kulakowski <kulakowski@google.com>

[fidl] Fix spelling of attributes-list in the json ir

FIDL-155 #done

Change-Id: I599d9354fe2eebc3d7baff099f60da4fb9e2723e


# 07553a5a 06-Apr-2018 George Kulakowski <kulakowski@google.com>

[fidl][json] Introduce a schema version

Change-Id: I677fbf85a6c535aca0cc2b0fb607528899a30c02


# 88bfaeed 21-Mar-2018 Adam Barth <abarth@google.com>

[fidl] Generate library_dependencies in IR

Change-Id: Ic73c6da815b1a9d63bdfbf02d9b12e7fd1146486


# a9b96dc2 19-Mar-2018 George Kulakowski <kulakowski@google.com>

[fidl] Name compound identifiers as a canonically encoded string

This makes it considerably easier to look them up in the go backend.

Change-Id: I9fc79f7ed869554e42e56d84da8a3ff2bd24ea8f


# d1118a8e 14-Mar-2018 George Kulakowski <kulakowski@google.com>

[fidl] A more correct compound identifier

Change-Id: I3b8fbbcc712094eb24a70332cbf2833d67bbe4a4


# 73095821 09-Mar-2018 Adam Barth <abarth@google.com>

[fidl] Add support for attributes on declarations

We'll use this for the [ServiceName] attribute on interfaces.

Change-Id: I1371e6363fd1dc3566f18c8721de0ed3e6203634


# bb46ad63 08-Mar-2018 George Kulakowski <kulakowski@google.com>

[fidl] Fix Name json generation

Previously, this type was a raw::CompoundIdentifier. Eventually Names
will be fancy, and not always constructed with one part. Until then,
generate the list of always one part.

This also lines up the json schema with the flat::ast, in terms of
short vs long names.

Change-Id: Ia018b84b8d0c0aee465083c003cd390a69b19907


# 6328b571 08-Mar-2018 Adam Barth <abarth@google.com>

[fidl] Front-end should resolve element counts

Rather than making the backends translate the element counts from
identifiers to numerical values, the front-end now resolves the
identifiers and provides the numerical values.

TO-746 #done

Change-Id: I0ca6df2b06e43e2f260a7563aa2c50d6e991e5e9


# f0af14e2 08-Mar-2018 Adam Barth <abarth@google.com>

[fidl][zx] Sync object types between FIDL and zx

Several of the object types referenced by the FIDL spec no longer exist.
Also, add two missing object types to libzx.

Change-Id: I18a00110912b99fd734a59e5a390de94ef433799


# 3fbdb65f 26-Feb-2018 George Kulakowski <kulakowski@google.com>

[fidl] Serialize all type sizes and alignments

TO-825

Change-Id: I09aabc7c52ebf28180470719d77b3f238e49c4d3


# 650b18e3 26-Feb-2018 George Kulakowski <kulakowski@google.com>

[fidl] Disallow empty structs

These are problematic to represent in C and C++. Most people who want
them can work around this with a dummy field, for now.

Change-Id: Ic5c6dba0d2a45a2e26193c3c4f4cb188f5e24c86


# 113acc96 21-Feb-2018 Adam Barth <abarth@google.com>

[fidl] Provide declaration order in the json representation

This information needs to be computed for C and C++ bindings, since it
needs to lay out structures in order of their inclusion.

This information gets computed at the same time that structure sizes
and offsets are computed, since that computation happens in the same
dependency order.

Change-Id: I9b28fbd9c5b6e50c3f43af50678390a14c01e1d4


# 58da7ce8 18-Feb-2018 Adam Barth <abarth@chromium.org>

[fidl] Add a type map to FIDL JSON IR

This map will make it easier for the backend to determine to what kind
of thing a type identifier refers.

TO-745 #done

Change-Id: Iae7f0f3ed4cae0caa676fc360040d77cdaf18979


# edb083d1 15-Feb-2018 George Kulakowski <kulakowski@google.com>

[fidl] Add method sizes and offsets to the json

TO-758

Change-Id: Ie4a1d7cae536a35a7e5cd749bc0fe31f8a13ffc1


# 495de0a8 14-Feb-2018 P.Y. Laligand <pylaligand@google.com>

[fidl] Fix misplaced attribute in schema.

Change-Id: Idd738236fc96f5f726f898ffd4addf10f8b02318


# 2b41cd5e 14-Feb-2018 George Kulakowski <kulakowski@google.com>

[fidl] Add struct and union sizes and member offsets to the json

TO-758

Change-Id: I1fffbf4dd40edcbc888177ec85234f5cdd659afb


# 991fde2d 10-Feb-2018 George Kulakowski <kulakowski@google.com>

[fidl] Disallow the 0 ordinal in the json schema

Change-Id: Iac6ecbad32b21079d5c95998cde0d594a12358dc


# fb15d60d 09-Feb-2018 George Kulakowski <kulakowski@google.com>

[fidl][json] Make the schema valid json

Change-Id: Icd9fe288ae3acc5def7c6e871815dfe4bd1cb6f4


# 0c315947 07-Feb-2018 George Kulakowski <kulakowski@google.com>

[fidl] Include the library's name in json generation

Change-Id: Ibd7c541f43f20a7b95e7edeb4b48fd8d35ce09a9


# 34fa1a17 09-Feb-2018 George Kulakowski <kulakowski@google.com>

[fidl] Rename nullability to nullable in the json

Change-Id: I4f4c18d679dd94f74bafbb040fb9f0b6516fcd96


# 992c000f 07-Feb-2018 George Kulakowski <kulakowski@google.com>

[fidl] Refer to libraries as such

After some churn, we settled on 'library' for a related, self
contained group of fidl files.

Change-Id: I9bcc4b0301f16247f67716d3ed1a1b67e5a387d2


# 72667b69 02-Feb-2018 Adam Barth <abarth@google.com>

[fidl] Simplify the enum type representation

Enum types are always integer types. We can just encode that directly
into JSON without needing all the structure that's required to encode an
arbitrary type.

Change-Id: I31053c75c7afff2f7d60adb4065f26d74f4109a3


# cab34b14 01-Feb-2018 Adam Barth <abarth@google.com>

[fidl] Generate JSON intermeidate representation

This JSON IR will be used by the various language backends to create
language-specific bindings.

Change-Id: I9555f43b7f7363a1adfbaf34d0a67eceeeb2a37d