| 952 | } |
| 953 | |
| 954 | data_map JavaGenerator::getTypeInfo(DataType *t, int isReference, bool inDataContainer) |
| 955 | { |
| 956 | data_map info; |
| 957 | std::string name = filterName(getOutputName(t, false)); |
| 958 | info["name"] = name; |
| 959 | info["typeName"] = getTypenameName(t, isReference, isReference); // Java type: Float, List<int[]>, ... |
| 960 | |
| 961 | info["isNonEncapsulatedUnion"] = false; |
| 962 | switch (t->getDataType()) |
| 963 | { |
| 964 | case DataType::data_type_t::kAliasType: |
| 965 | { |
| 966 | info = getTypeInfo(t->getTrueDataType(), false); |
| 967 | break; |
| 968 | } |
| 969 | case DataType::data_type_t::kArrayType: |
| 970 | { |
| 971 | // Array type requires the array element count to come after the variable/member name. |
| 972 | info["type"] = "array"; |
| 973 | break; |
| 974 | } |
| 975 | case DataType::data_type_t::kBuiltinType: |
| 976 | { |
| 977 | assert(dynamic_cast<const BuiltinType *>(t)); |
| 978 | info["type"] = getBuiltinTypename(dynamic_cast<const BuiltinType *>(t)); |
| 979 | info["codecTypeName"] = getBuiltinCodecTypeName(dynamic_cast<const BuiltinType *>(t)); |
| 980 | break; |
| 981 | } |
| 982 | case DataType::data_type_t::kEnumType: |
| 983 | { |
| 984 | info["type"] = "enum"; |
| 985 | break; |
| 986 | } |
| 987 | case DataType::data_type_t::kFunctionType: |
| 988 | { |
| 989 | info["type"] = "function"; |
| 990 | break; |
| 991 | } |
| 992 | case DataType::data_type_t::kListType: |
| 993 | { |
| 994 | info["type"] = "list"; |
| 995 | break; |
| 996 | } |
| 997 | case DataType::data_type_t::kStructType: |
| 998 | { |
| 999 | info["type"] = "struct"; |
| 1000 | info["decode"] = m_templateData["decodeStructType"]; |
| 1001 | info["encode"] = m_templateData["encodeStructType"]; |
| 1002 | break; |
| 1003 | } |
| 1004 | case DataType::data_type_t::kUnionType: |
| 1005 | { |
| 1006 | UnionType *unionType = dynamic_cast<UnionType *>(t); |
| 1007 | assert(unionType); |
| 1008 | info["type"] = "union"; |
| 1009 | info["encode"] = m_templateData["decodeUnionType"]; |
| 1010 | info["decode"] = m_templateData["encodeUnionType"]; |
| 1011 |
nothing calls this directly
no test coverage detected