|  | /* | 
|  | * 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. | 
|  | */ | 
|  |  | 
|  | // The java codegenerator has a few different codepaths depending | 
|  | // on how many optionals the struct has; this attempts to exercise | 
|  | // them. | 
|  |  | 
|  | namespace java thrift.test | 
|  |  | 
|  | struct Opt4 { | 
|  | 1: i32 def1; | 
|  | 2: i32 def2; | 
|  | 3: i32 def3; | 
|  | 4: i32 def4; | 
|  | } | 
|  |  | 
|  | struct Opt13 { | 
|  | 1: i32 def1; | 
|  | 2: i32 def2; | 
|  | 3: i32 def3; | 
|  | 4: i32 def4; | 
|  | 5: i32 def5; | 
|  | 6: i32 def6; | 
|  | 7: i32 def7; | 
|  | 8: i32 def8; | 
|  | 9: i32 def9; | 
|  | 10: i32 def10; | 
|  | 11: i32 def11; | 
|  | 12: i32 def12; | 
|  | 13: i32 def13; | 
|  | } | 
|  |  | 
|  | struct Opt30 { | 
|  | 1: i32 def1; | 
|  | 2: i32 def2; | 
|  | 3: i32 def3; | 
|  | 4: i32 def4; | 
|  | 5: i32 def5; | 
|  | 6: i32 def6; | 
|  | 7: i32 def7; | 
|  | 8: i32 def8; | 
|  | 9: i32 def9; | 
|  | 10: i32 def10; | 
|  | 11: i32 def11; | 
|  | 12: i32 def12; | 
|  | 13: i32 def13; | 
|  | 14: i32 def14; | 
|  | 15: i32 def15; | 
|  | 16: i32 def16; | 
|  | 17: i32 def17; | 
|  | 18: i32 def18; | 
|  | 19: i32 def19; | 
|  | 20: i32 def20; | 
|  | 21: i32 def21; | 
|  | 22: i32 def22; | 
|  | 23: i32 def23; | 
|  | 24: i32 def24; | 
|  | 25: i32 def25; | 
|  | 26: i32 def26; | 
|  | 27: i32 def27; | 
|  | 28: i32 def28; | 
|  | 29: i32 def29; | 
|  | 30: i32 def30; | 
|  | } | 
|  |  | 
|  | struct Opt64 { | 
|  | 1: i32 def1; | 
|  | 2: i32 def2; | 
|  | 3: i32 def3; | 
|  | 4: i32 def4; | 
|  | 5: i32 def5; | 
|  | 6: i32 def6; | 
|  | 7: i32 def7; | 
|  | 8: i32 def8; | 
|  | 9: i32 def9; | 
|  | 10: i32 def10; | 
|  | 11: i32 def11; | 
|  | 12: i32 def12; | 
|  | 13: i32 def13; | 
|  | 14: i32 def14; | 
|  | 15: i32 def15; | 
|  | 16: i32 def16; | 
|  | 17: i32 def17; | 
|  | 18: i32 def18; | 
|  | 19: i32 def19; | 
|  | 20: i32 def20; | 
|  | 21: i32 def21; | 
|  | 22: i32 def22; | 
|  | 23: i32 def23; | 
|  | 24: i32 def24; | 
|  | 25: i32 def25; | 
|  | 26: i32 def26; | 
|  | 27: i32 def27; | 
|  | 28: i32 def28; | 
|  | 29: i32 def29; | 
|  | 30: i32 def30; | 
|  | 31: i32 def31; | 
|  | 32: i32 def32; | 
|  | 33: i32 def33; | 
|  | 34: i32 def34; | 
|  | 35: i32 def35; | 
|  | 36: i32 def36; | 
|  | 37: i32 def37; | 
|  | 38: i32 def38; | 
|  | 39: i32 def39; | 
|  | 40: i32 def40; | 
|  | 41: i32 def41; | 
|  | 42: i32 def42; | 
|  | 43: i32 def43; | 
|  | 44: i32 def44; | 
|  | 45: i32 def45; | 
|  | 46: i32 def46; | 
|  | 47: i32 def47; | 
|  | 48: i32 def48; | 
|  | 49: i32 def49; | 
|  | 50: i32 def50; | 
|  | 51: i32 def51; | 
|  | 52: i32 def52; | 
|  | 53: i32 def53; | 
|  | 54: i32 def54; | 
|  | 55: i32 def55; | 
|  | 56: i32 def56; | 
|  | 57: i32 def57; | 
|  | 58: i32 def58; | 
|  | 59: i32 def59; | 
|  | 60: i32 def60; | 
|  | 61: i32 def61; | 
|  | 62: i32 def62; | 
|  | 63: i32 def63; | 
|  | 64: i32 def64; | 
|  | } | 
|  |  | 
|  | struct Opt80 { | 
|  | 1: i32 def1; | 
|  | 2: i32 def2; | 
|  | 3: i32 def3; | 
|  | 4: i32 def4; | 
|  | 5: i32 def5; | 
|  | 6: i32 def6; | 
|  | 7: i32 def7; | 
|  | 8: i32 def8; | 
|  | 9: i32 def9; | 
|  | 10: i32 def10; | 
|  | 11: i32 def11; | 
|  | 12: i32 def12; | 
|  | 13: i32 def13; | 
|  | 14: i32 def14; | 
|  | 15: i32 def15; | 
|  | 16: i32 def16; | 
|  | 17: i32 def17; | 
|  | 18: i32 def18; | 
|  | 19: i32 def19; | 
|  | 20: i32 def20; | 
|  | 21: i32 def21; | 
|  | 22: i32 def22; | 
|  | 23: i32 def23; | 
|  | 24: i32 def24; | 
|  | 25: i32 def25; | 
|  | 26: i32 def26; | 
|  | 27: i32 def27; | 
|  | 28: i32 def28; | 
|  | 29: i32 def29; | 
|  | 30: i32 def30; | 
|  | 31: i32 def31; | 
|  | 32: i32 def32; | 
|  | 33: i32 def33; | 
|  | 34: i32 def34; | 
|  | 35: i32 def35; | 
|  | 36: i32 def36; | 
|  | 37: i32 def37; | 
|  | 38: i32 def38; | 
|  | 39: i32 def39; | 
|  | 40: i32 def40; | 
|  | 41: i32 def41; | 
|  | 42: i32 def42; | 
|  | 43: i32 def43; | 
|  | 44: i32 def44; | 
|  | 45: i32 def45; | 
|  | 46: i32 def46; | 
|  | 47: i32 def47; | 
|  | 48: i32 def48; | 
|  | 49: i32 def49; | 
|  | 50: i32 def50; | 
|  | 51: i32 def51; | 
|  | 52: i32 def52; | 
|  | 53: i32 def53; | 
|  | 54: i32 def54; | 
|  | 55: i32 def55; | 
|  | 56: i32 def56; | 
|  | 57: i32 def57; | 
|  | 58: i32 def58; | 
|  | 59: i32 def59; | 
|  | 60: i32 def60; | 
|  | 61: i32 def61; | 
|  | 62: i32 def62; | 
|  | 63: i32 def63; | 
|  | 64: i32 def64; | 
|  | 65: i32 def65; | 
|  | 66: i32 def66; | 
|  | 67: i32 def67; | 
|  | 68: i32 def68; | 
|  | 69: i32 def69; | 
|  | 70: i32 def70; | 
|  | 71: i32 def71; | 
|  | 72: i32 def72; | 
|  | 73: i32 def73; | 
|  | 74: i32 def74; | 
|  | 75: i32 def75; | 
|  | 76: i32 def76; | 
|  | 77: i32 def77; | 
|  | 78: i32 def78; | 
|  | 79: i32 def79; | 
|  | 80: i32 def80; | 
|  | } | 
|  |  |