When building, some instances expect createMessageTyped to have the signature (int, Class, long), while others expect (int, Class, int). Simply having the former signature meant that builds expecting the latter would fail. This is a cherrypick of change b2a9d4321578139677c146ce37eba5e27e8f5c79 from master. Change-Id: Ib02dbf66173510f4edea32c7b43e82c1a7a38aa2pull/315/head
parent
714dba3ab8
commit
2712c42136
2 changed files with 13 additions and 13 deletions
@ -1,13 +0,0 @@ |
||||
diff a/javanano/src/main/java/com/google/protobuf/nano/Extension.java b/javanano/src/main/java/com/google/protobuf/nano/Extension.java (rejected hunks) |
||||
@@ -74,6 +74,11 @@ public class Extension<M extends ExtendableMessageNano<M>, T> { |
||||
public static final int TYPE_SINT32 = 17; |
||||
public static final int TYPE_SINT64 = 18; |
||||
|
||||
+ // Note: these create...() methods take a long for the tag parameter, |
||||
+ // because tags are represented as unsigned longs, and these values exist |
||||
+ // in generated code as long values. However, they can fit in 32-bits, so |
||||
+ // it's safe to cast them to int without loss of precision. |
||||
+ |
||||
/** |
||||
* Creates an {@code Extension} of the given message type and tag number. |
||||
* Should be used by the generated code only. |
Loading…
Reference in new issue