Skip to content

Commit 2d0af38

Browse files
committed
Merge pull request aeron-io#277 from mmcilroy/master
Instance variables and setPosition() fix
2 parents 414be15 + 1d2b6d4 commit 2d0af38

File tree

1 file changed

+22
-19
lines changed

1 file changed

+22
-19
lines changed

main/java/uk/co/real_logic/sbe/generation/python/PythonGenerator.java

Lines changed: 22 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -160,15 +160,16 @@ private void generateGroupClassHeader(
160160
sb.append(String.format(
161161
"\n" +
162162
indent + "class %1$s:\n" +
163-
indent + " buffer_ = 0\n" +
164-
indent + " bufferLength_ = 0\n" +
165-
indent + " blockLength_ = 0\n" +
166-
indent + " count_ = 0\n" +
167-
indent + " index_ = 0\n" +
168-
indent + " offset_ = 0\n" +
169-
indent + " actingVersion_ = 0\n" +
170-
indent + " position_ = [0]\n" +
171-
indent + " dimensions_ = %2$s.%2$s()\n\n",
163+
indent + " def __init__(self):\n" +
164+
indent + " self.buffer_ = 0\n" +
165+
indent + " self.bufferLength_ = 0\n" +
166+
indent + " self.blockLength_ = 0\n" +
167+
indent + " self.count_ = 0\n" +
168+
indent + " self.index_ = 0\n" +
169+
indent + " self.offset_ = 0\n" +
170+
indent + " self.actingVersion_ = 0\n" +
171+
indent + " self.position_ = [0]\n" +
172+
indent + " self.dimensions_ = %2$s.%2$s()\n\n",
172173
formatClassName(groupName),
173174
dimensionsClassName
174175
));
@@ -851,9 +852,10 @@ private CharSequence generateConstPropertyMethods(final String propertyName, fin
851852
private CharSequence generateFixedFlyweightCode(final String className, final int size)
852853
{
853854
return String.format(
854-
" buffer_ = 0\n" +
855-
" offset_ = 0\n" +
856-
" actingVersion_ = 0\n\n" +
855+
" def __init__(self):\n" +
856+
" self.buffer_ = 0\n" +
857+
" self.offset_ = 0\n" +
858+
" self.actingVersion_ = 0\n\n" +
857859

858860
" def wrap(self, buffer, offset, actingVersion, bufferLength):\n" +
859861
" if (offset > (bufferLength - %2$s)):\n" +
@@ -876,12 +878,13 @@ private CharSequence generateMessageFlyweightCode(final Token token)
876878
final String semanticType = token.encoding().semanticType() == null ? "" : token.encoding().semanticType();
877879

878880
return String.format(
879-
" buffer_ = 0\n" +
880-
" bufferLength_ = 0\n" +
881-
" offset_ = 0\n" +
882-
" actingBlockLength_ = 0\n" +
883-
" actingVersion_ = 0\n" +
884-
" position_ = [0]\n\n" +
881+
" def __init__(self):\n" +
882+
" self.buffer_ = 0\n" +
883+
" self.bufferLength_ = 0\n" +
884+
" self.offset_ = 0\n" +
885+
" self.actingBlockLength_ = 0\n" +
886+
" self.actingVersion_ = 0\n" +
887+
" self.position_ = [0]\n\n" +
885888

886889
" @staticmethod\n" +
887890
" def sbeBlockLength():\n" +
@@ -928,7 +931,7 @@ private CharSequence generateMessageFlyweightCode(final Token token)
928931
" return self.position_\n\n" +
929932

930933
" def setPosition(self, position):\n" +
931-
" if self.position_[0] > self.bufferLength_:\n" +
934+
" if position > self.bufferLength_:\n" +
932935
" raise Exception('buffer too short')\n" +
933936
" self.position_[0] = position\n\n" +
934937

0 commit comments

Comments
 (0)