Changeset 4e59df4 in git for Tst/Short/pyobject.tst
- Timestamp:
- Jun 27, 2012, 3:38:21 PM (11 years ago)
- Branches:
- (u'jengelh-datetime', 'ceac47cbc86fe4a15902392bdbb9bd2ae0ea02c6')(u'spielwiese', 'f875bbaccd0831e36aaed09ff6adeb3eb45aeb94')
- Children:
- 9165865409bb43ba082670375c4a04e78f8b76e1
- Parents:
- 29fc84389b9713cdf07cc538bad5becf4758553e
- git-author:
- Alexander Dreyer <alexander.dreyer@itwm.fraunhofer.de>2012-06-27 15:38:21+02:00
- git-committer:
- Alexander Dreyer <alexander.dreyer@itwm.fraunhofer.de>2012-08-01 23:32:35+02:00
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
Tst/Short/pyobject.tst
r29fc843 r4e59df4 161 161 python_eval("tuple")(list(rl[1..3])); 162 162 163 // interaction with newstruct'ed type 164 newstruct("wrapping","pyobject p"); 165 wrapping wrapped; 166 167 pyobject seventeen = 17; 168 wrapped.p = seventeen; 169 wrapped; 170 171 proc unwrap(wrapping arg) { return (arg.p); } 172 system("install", "wrapping", "pyobject", unwrap, 1); 173 174 pyobject released = wrapped; 175 released; 176 177 proc wrap(pyobject arg) { wrapping res; res.p = arg; return (res); } 178 system("install", "pyobject", "wrapping", wrap, 1); 179 180 pyobject nineteen = 19; 181 wrapped = nineteen; 182 wrapped; 183 184 185 // interaction with built-ins 186 proc to_poly(pyobject arg) { return (poly(23)); } 187 system("install", "pyobject", "poly", to_poly, 1); 188 189 pyobject for_poly="4poly"; 190 poly(for_poly); 191 192 proc from_poly(poly arg) { pyobject res = string(arg); return (res); } 193 system("install", "pyobject", "=", from_poly, 1); 194 195 poly p = x+1; 196 for_poly = p; 197 for_poly; 198 199 200 // interaction with both built-ins and newstructs 201 newstruct("another","pyobject p"); 202 another other; 203 other.p = seventeen; 204 other; 205 206 released = other; // -> error 207 released; 208 209 proc from_types(def arg) { 210 if (typeof(arg) == "poly") { return (from_poly(arg)); } 211 if (typeof(arg) == "another") { return (arg.p); } 212 } 213 system("install", "pyobject", "=", from_types, 1); 214 215 released = other; 216 released; 217 released = p; 218 released; 219 220 163 221 tst_status(1); 164 222 $
Note: See TracChangeset
for help on using the changeset viewer.