1. 04 Oct, 2013 4 commits
  2. 28 Sep, 2013 6 commits
  3. 25 Sep, 2013 1 commit
    • Max Cai's avatar
      Implement enum_style=java option. · 1479c7ab
      Max Cai authored
      This javanano_out command line option creates a container interface
      at the normal place where the enum constants would reside, per enum
      definition. The java_multiple_files flag would now affect the file-
      scope enums with the shells. If the flag is true then file-scope
      container interfaces are created in their own files.
      
      Change-Id: Id52258fcff8d3dee9db8f3d8022147a811bf3565
      1479c7ab
  4. 24 Sep, 2013 6 commits
  5. 23 Sep, 2013 1 commit
    • Max Cai's avatar
      Accessor style for optional fields. · b337f256
      Max Cai authored
      This CL implements the 'optional_field_style=accessors' option.
      All optional fields will now be 1 Java field and 1 bit in a shared
      bitfield behind get/set/has/clear accessor methods. The setter
      performs null check for reference types (Strings and byte[]s).
      
      Also decentralized the clear code generation.
      
      Change-Id: I60ac78329e352e76c2f8139fba1f292383080ad3
      b337f256
  6. 20 Sep, 2013 1 commit
  7. 18 Sep, 2013 1 commit
    • Max Cai's avatar
      Add two codegen parameters to nano. · 71766127
      Max Cai authored
      enum_style = c | java: 'c' to put the enum member int constants
      at the parent scope; 'java' to create uninstantiatable shell
      classes at the parent scope and put the int constants inside.
      
      optional_field_style = default | accessors: 'default' to create
      one public mutable field per optional proto field; 'accessors'
      to encapsulate the generated fields behind get, set, has and
      clear accessors.
      
      This CL only contains parsing code for these two parameters.
      
      Change-Id: Iec0c3b0f30af8eb7db328e790664306bc90be089
      71766127
  8. 13 Aug, 2013 2 commits
  9. 09 Aug, 2013 2 commits
  10. 08 Aug, 2013 6 commits
  11. 07 Aug, 2013 1 commit
  12. 05 Aug, 2013 1 commit
    • Max Cai's avatar
      Fix outer classname for javamicro/javanano. · 06eed37e
      Max Cai authored
      - File class name is defined as the java_outer_classname option value
        or the file name ToCamelCase; never the single message's ClassName.
      - File-scope enums are translated to constants in the file class,
        regardless of java_multiple_files.
      - If java_multiple_files=true, and file's class name equals a message's
        class name, no error. This is done by detecting that the outer class
        is not needed and skipping the outer class codegen and clash checks.
        Note: there is a disparity between java[lite] and the previous
        java{micr|nan}o: when generating code for a single-message proto, the
        outer class is omitted by java{micr|nan}o if the file does not have
        java_outer_classname. This change makes java{micr|nan}o align with
        java[lite] codegen and create the outer class, but will print some
        info to warn of potential change of code.
      - Also fixed the "is_own_file" detection and made all parseX() methods
        static. Previously, all messages in a java_multiple_files=true file
        are (incorrectly) considered to be in their own files, including
        nested messages, causing them to become inner classes (instance-
        bound) and forcing the parseX() methods to lose the static modifier.
      - This change supersedes c/60164 and c/60086, which causes javanano to
        put enum values into enum shell classes if java_multiple_files=true.
        We now always use the parent class to host the enum values. A future
        change will add a command line option to provide more flexibility.
      - Elaborated in java/README.txt.
      
      Change-Id: I684932f90e0a028ef37c662b221def5ffa202439
      06eed37e
  13. 31 Jul, 2013 3 commits
  14. 29 Jul, 2013 3 commits
  15. 26 Jul, 2013 2 commits