summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorJames E. King III <jking@apache.org>2019-01-13 23:19:18 -0500
committerJames E. King III <jking@apache.org>2019-01-14 08:13:52 -0500
commit234fb47229dad47842e97a599614dbbd81b7c4a2 (patch)
treee1c75e2200041c4ef67b0ed2d1a5ac877012412f /doc
parentf3ec277e7e2c147342831ecec590bc2f71b07761 (diff)
downloadthrift-234fb47229dad47842e97a599614dbbd81b7c4a2.tar.gz
THRIFT-4719: remove cocoa
Diffstat (limited to 'doc')
-rw-r--r--doc/specs/idl.md32
1 files changed, 5 insertions, 27 deletions
diff --git a/doc/specs/idl.md b/doc/specs/idl.md
index bf22f5477..069f2fc37 100644
--- a/doc/specs/idl.md
+++ b/doc/specs/idl.md
@@ -1,10 +1,11 @@
## Thrift interface description language
+
+For Thrift version 1.0.0.
+
The Thrift interface definition language (IDL) allows for the definition of [Thrift Types](/docs/types). A Thrift IDL file is processed by the Thrift code generator to produce code for the various target languages to support the defined structs and services in the IDL file.
## Description
-*Under construction*
-
Here is a description of the Thrift IDL.
## Document
@@ -35,32 +36,9 @@ A C++ include adds a custom C++ include to the output of the C++ code generator
A namespace declares which namespaces/package/module/etc. the type definitions in this file will be declared in for the target languages. The namespace scope indicates which language the namespace applies to; a scope of '*' indicates that the namespace applies to all target languages.
- [5] Namespace ::= ( 'namespace' ( NamespaceScope Identifier ) |
- ( 'smalltalk.category' STIdentifier ) |
- ( 'smalltalk.prefix' Identifier ) ) |
- ( 'php_namespace' Literal ) |
- ( 'xsd_namespace' Literal )
-
- [6] NamespaceScope ::= '*' | 'cpp' | 'java' | 'py' | 'perl' | 'rb' | 'cocoa' | 'csharp'
-
-N.B.: Smalltalk has two distinct types of namespace commands:
-
-- smalltalk.prefix: Prepended to generated classnames.
- - Smalltalk does not have namespaces for classes, so prefixes
- are used to avoid class-name collisions.
- Often, the prefix is the author's initials, like "KB" or "JWS",
- or an abbreviation of the package name, like "MC" for "Monticello".
-- smalltalk.category: Determines the category for generated classes.
- Any dots in the identifier will be replaced with hyphens when generating
- the category name.
- If not provided, defaults to "Generated-" + the program name.
- Methods will not be categorized beyond "as yet uncategorized".
- - Smalltalk allows filing both classes and methods within classes into named
- groups. These named groups of methods are called categories.
-
-N.B.: The `php_namespace` directive will be deprecated at some point in the future in favor of the scoped syntax, but the scoped syntax is not yet supported for PHP.
+ [5] Namespace ::= ( 'namespace' ( NamespaceScope Identifier ) )
-N.B.: The `xsd_namespace` directive has some purpose internal to Facebook but serves no purpose in Thrift itself. Use of this feature is strongly discouraged
+ [6] NamespaceScope ::= '*' | 'c_glib' | 'cpp' | 'csharp' | 'delphi' | 'go' | 'java' | 'js' | 'lua' | 'netcore' | 'perl' | 'php' | 'py' | 'py.twisted' | 'rb' | 'st' | 'xsd'
## Definition