public void Visit(Document document) { foreach (var definition in document.Definitions) { var javaType = new JavaType(documentContext.Namespace, TemplateContextGenerator.MangleJavaTypeName(definition.Name), javaNamespace); if (definition is Struct) { javaType.IsLeanStruct = true; } else if (definition is IntegerEnum) { javaType.IsLeanEnum = true; } LOG.Debug(string.Format("Registering type '{0}'", javaType)); documentContext.TypeRegistry.Add(javaType); } }
private JavaType FindJavaTypeFromIdentifierType(IdentifierType id) { var name = id.Name; // the name is [<trip-namespace>.]<trip type> var names = new List <string>(name.Split('.')); if (names.Count == 0 || names.Count > 3) { throw new ArgumentException("Only unqualified and trip-namespace qualified names are allowed!"); } string tripName = names[0]; string tripNamespace = typeToJavaConverter._namespace; if (names.Count == 2) { tripName = names[1]; tripNamespace = names[0]; } var javaTypeName = tripNamespace + "." + TemplateContextGenerator.MangleJavaTypeName(tripName); var javaType = typeToJavaConverter.typeRegistry.FindType(javaTypeName); return(javaType); }