File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -194,6 +194,7 @@ def getargs(self):
194194 if arg .flags == SelfMode :
195195 continue
196196 if arg .mode in (InMode , InOutMode ):
197+ arg .getargsPreCheck ()
197198 fmt = fmt + arg .getargsFormat ()
198199 args = arg .getargsArgs ()
199200 if args :
@@ -242,6 +243,7 @@ def returnvalue(self):
242243 if not arg : continue
243244 if arg .flags == ErrorMode : continue
244245 if arg .mode in (OutMode , InOutMode ):
246+ arg .mkvaluePreCheck ()
245247 fmt = fmt + arg .mkvalueFormat ()
246248 lst = lst + sep + arg .mkvalueArgs ()
247249 if fmt == "" :
Original file line number Diff line number Diff line change @@ -61,11 +61,18 @@ def getargsArgs(self, name):
6161 """
6262 return "&" + name
6363
64+ def getargsPreCheck (self , name ):
65+ """Perform any actions needed before calling getargs().
66+
67+ This could include declaring temporary variables and such.
68+ """
69+
6470 def getargsCheck (self , name ):
6571 """Perform any needed post-[new]getargs() checks.
6672
6773 This is type-dependent; the default does not check for errors.
68- An example would be a check for a maximum string length."""
74+ An example would be a check for a maximum string length, or it
75+ could do post-getargs() copying or conversion."""
6976
7077 def passInput (self , name ):
7178 """Return an argument for passing a variable into a call.
@@ -119,6 +126,12 @@ def mkvalueArgs(self, name):
119126 """
120127 return name
121128
129+ def mkvaluePreCheck (self , name ):
130+ """Perform any actions needed before calling mkvalue().
131+
132+ This could include declaring temporary variables and such.
133+ """
134+
122135 def cleanup (self , name ):
123136 """Clean up if necessary.
124137
Original file line number Diff line number Diff line change @@ -63,6 +63,9 @@ def getargsArgs(self):
6363 def getargsCheck (self ):
6464 return self .type .getargsCheck (self .name )
6565
66+ def getargsPreCheck (self ):
67+ return self .type .getargsPreCheck (self .name )
68+
6669 def passArgument (self ):
6770 """Return the string required to pass the variable as argument.
6871
@@ -95,6 +98,9 @@ def mkvalueArgs(self):
9598 """Call the type's mkvalueArgs method."""
9699 return self .type .mkvalueArgs (self .name )
97100
101+ def mkvaluePreCheck (self ):
102+ return self .type .mkvaluePreCheck (self .name )
103+
98104 def cleanup (self ):
99105 """Call the type's cleanup method."""
100106 return self .type .cleanup (self .name )
You can’t perform that action at this time.
0 commit comments