- private def getTypeDefinition(Type type) {
- val typeDef = typeToDefinition.get(type);
- if (typeDef !== null) {
- return typeDef;
- }
- return type.getTypeDefInFuture.get();
- }
-
- private def Future<GeneratedTypeBuilder> getTypeDefInFuture(Type type) {
- val future = SettableFuture.<GeneratedTypeBuilder>create()
- promisedTypeDefinitions.put(type, future);
- return future;
- }
-
- private def void updatePromisedTypeDefinitions(GeneratedTypeBuilder builder) {
- val futures = promisedTypeDefinitions.get(builder);
- if (futures === null || futures.empty) {
- return;
- }
- for (future : futures) {
- future.set(builder);
- }
- promisedTypeDefinitions.removeAll(builder);
- }
-