示例#1
0
  protected void generateTypeHandlers(
      TreeLogger logger,
      GeneratorContextExt context,
      SerializableTypeOracle typesSentFromBrowser,
      SerializableTypeOracle typesSentToBrowser)
      throws UnableToCompleteException {
    Event event = SpeedTracerLogger.start(CompilerEventType.GENERATOR_RPC_TYPE_SERIALIZER);
    TypeSerializerCreator tsc =
        new TypeSerializerCreator(
            logger,
            typesSentFromBrowser,
            typesSentToBrowser,
            context,
            SerializationUtils.getTypeSerializerQualifiedName(serviceIntf),
            SerializationUtils.getTypeSerializerSimpleName(serviceIntf));
    tsc.realize(logger);
    event.end();

    typeStrings = new HashMap<JType, String>(tsc.getTypeStrings());
    typeStrings.put(serviceIntf, TypeNameObfuscator.SERVICE_INTERFACE_ID);

    cachedTypeLastModifiedTimes = tsc.getTypeLastModifiedTimeMap();
  }
示例#2
0
 /**
  * Generate any fields required by the proxy.
  *
  * @param serializableTypeOracle the type oracle
  */
 protected void generateProxyFields(
     SourceWriter srcWriter,
     SerializableTypeOracle serializableTypeOracle,
     String serializationPolicyStrongName,
     String remoteServiceInterfaceName) {
   // Initialize a field with binary name of the remote service interface
   srcWriter.println(
       "private static final String REMOTE_SERVICE_INTERFACE_NAME = "
           + "\""
           + remoteServiceInterfaceName
           + "\";");
   srcWriter.println(
       "private static final String SERIALIZATION_POLICY =\""
           + serializationPolicyStrongName
           + "\";");
   String typeSerializerName = SerializationUtils.getTypeSerializerQualifiedName(serviceIntf);
   srcWriter.println(
       "private static final "
           + typeSerializerName
           + " SERIALIZER = new "
           + typeSerializerName
           + "();");
   srcWriter.println();
 }