|  | /* | 
|  | * Licensed to the Apache Software Foundation (ASF) under one | 
|  | * or more contributor license agreements. See the NOTICE file | 
|  | * distributed with this work for additional information | 
|  | * regarding copyright ownership. The ASF licenses this file | 
|  | * to you under the Apache License, Version 2.0 (the | 
|  | * "License"); you may not use this file except in compliance | 
|  | * with the License. You may obtain a copy of the License at | 
|  | * | 
|  | *   http://www.apache.org/licenses/LICENSE-2.0 | 
|  | * | 
|  | * Unless required by applicable law or agreed to in writing, | 
|  | * software distributed under the License is distributed on an | 
|  | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY | 
|  | * KIND, either express or implied. See the License for the | 
|  | * specific language governing permissions and limitations | 
|  | * under the License. | 
|  | */ | 
|  |  | 
|  | // Testcase for THRIFT-5253 using Result in result name generates wrong IAsync interface | 
|  |  | 
|  | namespace * Thrift5253 | 
|  |  | 
|  |  | 
|  | // this works | 
|  | struct WorksArrrgs { 1: i32 foo } | 
|  | struct WorksRslt   { 1: i32 foo } | 
|  |  | 
|  | // this does not | 
|  | struct BrokenResult{ 1: i32 foo } | 
|  | struct BrokenArgs  { 1: i32 foo } | 
|  |  | 
|  | struct InternalStructs { 1: optional i32 foo } | 
|  | struct AsyncProcessor  { 1: optional i32 foo } | 
|  | struct Client          { 1: optional i32 foo } | 
|  | struct IAsync          { 1: optional i32 foo } | 
|  |  | 
|  | struct ReservedMemberName { 1: optional i32 Isset } | 
|  |  | 
|  | service MyService{ | 
|  | BrokenResult Broken( 1 : BrokenArgs  foo) | 
|  | WorksRslt     Works( 1 : WorksArrrgs foo) | 
|  |  | 
|  | InternalStructs InternalStructs( 1: InternalStructs foo) | 
|  | AsyncProcessor  AsyncProcessor ( 1: AsyncProcessor  foo) | 
|  | Client          Client         ( 1: Client  foo) | 
|  | IAsync          IAsync         ( 1: IAsync  foo) | 
|  |  | 
|  | // inconsistent treatment of methods ending in "Async" | 
|  | void TestXsync() | 
|  | void TestAsync() | 
|  | } | 
|  |  |