This is the real change. The lexer now recognizes "oneway"
and warns on "async". All example and test IDLs have been
updated, as have the syntax files.
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@757994
13f79535-47bb-0310-9956-
ffa450edef68
"map" { return tok_map; }
"list" { return tok_list; }
"set" { return tok_set; }
-"async" { return tok_oneway; }
+"oneway" { return tok_oneway; }
"typedef" { return tok_typedef; }
"struct" { return tok_struct; }
"exception" { return tok_xception; }
"const" { return tok_const; }
"required" { return tok_required; }
"optional" { return tok_optional; }
+"async" {
+ pwarning(0, "\"async\" is deprecated. It is called \"oneway\" now.\n");
+ return tok_oneway;
+}
"abstract" { thrift_reserved_keyword(yytext); }
/**
* Tell the server to reload its configuration, reopen log files, etc
*/
- async void reinitialize(),
+ oneway void reinitialize(),
/**
* Suggest a shutdown to the server
*/
- async void shutdown(),
+ oneway void shutdown(),
}
(defconst thrift-font-lock-keywords
(list
'("#.*$" . font-lock-comment-face) ;; perl style comments
- '("\\<\\(include\\|struct\\|exception\\|typedef\\|const\\|enum\\|service\\|extends\\|void\\|async\\|throws\\|optional\\|required\\)\\>" . font-lock-keyword-face) ;; keywords
+ '("\\<\\(include\\|struct\\|exception\\|typedef\\|const\\|enum\\|service\\|extends\\|void\\|oneway\\|throws\\|optional\\|required\\)\\>" . font-lock-keyword-face) ;; keywords
'("\\<\\(bool\\|byte\\|i16\\|i32\\|i64\\|double\\|string\\|binary\\|map\\|list\\|set\\)\\>" . font-lock-type-face) ;; built-in types
'("\\<\\([0-9]+\\)\\>" . font-lock-variable-name-face) ;; ordinals
'("\\<\\(\\w+\\)\\s-*(" (1 font-lock-function-name-face)) ;; functions
syn match thriftSpecial "\d\+:"
" Structure
-syn keyword thriftStructure service async extends
+syn keyword thriftStructure service oneway extends
"async" { return tok_async; }
"exception" { return tok_xception; }
"extends" { return tok_extends; }
service NonblockingService {
Hello greeting(1:bool english)
bool block()
- async void unblock(1:i32 n)
- async void shutdown()
+ oneway void unblock(1:i32 n)
+ oneway void shutdown()
void sleep(1:double seconds)
}
Xtruct testMultiException(string arg0, string arg1) throws(Xception err1, Xception2 err2)
/* Test oneway void */
- async void testOneway(1:i32 secondsToSleep)
+ oneway void testOneway(1:i32 secondsToSleep)
}
service SecondService
* a request and does not listen for any response at all. Oneway methods
* must be void.
*/
- async void zip()
+ oneway void zip()
}