objective-lol 0.0.1__cp310-cp310-macosx_10_9_x86_64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
objective_lol/api.py ADDED
@@ -0,0 +1,1805 @@
1
+
2
+ # python wrapper for package github.com/bjia56/objective-lol/pkg/api within overall package api
3
+ # This is what you import to use the package.
4
+ # File is generated by gopy. Do not edit.
5
+ # gopy build -no-make -dynamic-link=True -symbols=False -output /Users/runner/work/objective-lol/objective-lol/python/build/lib.macosx-10.9-x86_64-cpython-310/objective_lol --vm /Users/runner/work/objective-lol/objective-lol/python/.toolchain/python/python-3.10.18/bin/python3 .
6
+
7
+ # the following is required to enable dlopen to open the _go.so file
8
+ import os,sys,inspect,collections
9
+ try:
10
+ import collections.abc as _collections_abc
11
+ except ImportError:
12
+ _collections_abc = collections
13
+
14
+ cwd = os.getcwd()
15
+ currentdir = os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe())))
16
+ os.chdir(currentdir)
17
+ from . import _api
18
+ from . import go
19
+
20
+ os.chdir(cwd)
21
+
22
+ # to use this code in your end-user python file, import it as follows:
23
+ # from api import api
24
+ # and then refer to everything using api. prefix
25
+ # packages imported by this package listed below:
26
+
27
+
28
+
29
+
30
+ # ---- Types ---
31
+
32
+ # Python type for slice []api.GoValue
33
+ class Slice_api_GoValue(go.GoClass):
34
+ """"""
35
+ def __init__(self, *args, **kwargs):
36
+ """
37
+ handle=A Go-side object is always initialized with an explicit handle=arg
38
+ otherwise parameter is a python list that we copy from
39
+ """
40
+ self.index = 0
41
+ if len(kwargs) == 1 and 'handle' in kwargs:
42
+ self.handle = kwargs['handle']
43
+ _api.IncRef(self.handle)
44
+ elif len(args) == 1 and isinstance(args[0], go.GoClass):
45
+ self.handle = args[0].handle
46
+ _api.IncRef(self.handle)
47
+ else:
48
+ self.handle = _api.Slice_api_GoValue_CTor()
49
+ _api.IncRef(self.handle)
50
+ if len(args) > 0:
51
+ if not isinstance(args[0], _collections_abc.Iterable):
52
+ raise TypeError('Slice_api_GoValue.__init__ takes a sequence as argument')
53
+ for elt in args[0]:
54
+ self.append(elt)
55
+ def __del__(self):
56
+ _api.DecRef(self.handle)
57
+ def __str__(self):
58
+ s = 'api.Slice_api_GoValue len: ' + str(len(self)) + ' handle: ' + str(self.handle) + ' ['
59
+ if len(self) < 120:
60
+ s += ', '.join(map(str, self)) + ']'
61
+ return s
62
+ def __repr__(self):
63
+ return 'api.Slice_api_GoValue([' + ', '.join(map(str, self)) + '])'
64
+ def __len__(self):
65
+ return _api.Slice_api_GoValue_len(self.handle)
66
+ def __getitem__(self, key):
67
+ if isinstance(key, slice):
68
+ if key.step == None or key.step == 1:
69
+ st = key.start
70
+ ed = key.stop
71
+ if st == None:
72
+ st = 0
73
+ if ed == None:
74
+ ed = _api.Slice_api_GoValue_len(self.handle)
75
+ return Slice_api_GoValue(handle=_api.Slice_api_GoValue_subslice(self.handle, st, ed))
76
+ return [self[ii] for ii in range(*key.indices(len(self)))]
77
+ elif isinstance(key, int):
78
+ if key < 0:
79
+ key += len(self)
80
+ if key < 0 or key >= len(self):
81
+ raise IndexError('slice index out of range')
82
+ return GoValue(handle=_api.Slice_api_GoValue_elem(self.handle, key))
83
+ else:
84
+ raise TypeError('slice index invalid type')
85
+ def __setitem__(self, idx, value):
86
+ if idx < 0:
87
+ idx += len(self)
88
+ if idx < len(self):
89
+ _api.Slice_api_GoValue_set(self.handle, idx, value.handle)
90
+ return
91
+ raise IndexError('slice index out of range')
92
+ def __iadd__(self, value):
93
+ if not isinstance(value, _collections_abc.Iterable):
94
+ raise TypeError('Slice_api_GoValue.__iadd__ takes a sequence as argument')
95
+ for elt in value:
96
+ self.append(elt)
97
+ return self
98
+ def __iter__(self):
99
+ self.index = 0
100
+ return self
101
+ def __next__(self):
102
+ if self.index < len(self):
103
+ rv = GoValue(handle=_api.Slice_api_GoValue_elem(self.handle, self.index))
104
+ self.index = self.index + 1
105
+ return rv
106
+ raise StopIteration
107
+ def append(self, value):
108
+ _api.Slice_api_GoValue_append(self.handle, value.handle)
109
+ def copy(self, src):
110
+ """ copy emulates the go copy function, copying elements into this list from source list, up to min of size of each list """
111
+ mx = min(len(self), len(src))
112
+ for i in range(mx):
113
+ self[i] = src[i]
114
+
115
+ # Python type for slice []environment.Parameter
116
+ class Slice_environment_Parameter(go.GoClass):
117
+ """"""
118
+ def __init__(self, *args, **kwargs):
119
+ """
120
+ handle=A Go-side object is always initialized with an explicit handle=arg
121
+ otherwise parameter is a python list that we copy from
122
+ """
123
+ self.index = 0
124
+ if len(kwargs) == 1 and 'handle' in kwargs:
125
+ self.handle = kwargs['handle']
126
+ _api.IncRef(self.handle)
127
+ elif len(args) == 1 and isinstance(args[0], go.GoClass):
128
+ self.handle = args[0].handle
129
+ _api.IncRef(self.handle)
130
+ else:
131
+ self.handle = _api.Slice_environment_Parameter_CTor()
132
+ _api.IncRef(self.handle)
133
+ if len(args) > 0:
134
+ if not isinstance(args[0], _collections_abc.Iterable):
135
+ raise TypeError('Slice_environment_Parameter.__init__ takes a sequence as argument')
136
+ for elt in args[0]:
137
+ self.append(elt)
138
+ def __del__(self):
139
+ _api.DecRef(self.handle)
140
+ def __str__(self):
141
+ s = 'api.Slice_environment_Parameter len: ' + str(len(self)) + ' handle: ' + str(self.handle) + ' ['
142
+ if len(self) < 120:
143
+ s += ', '.join(map(str, self)) + ']'
144
+ return s
145
+ def __repr__(self):
146
+ return 'api.Slice_environment_Parameter([' + ', '.join(map(str, self)) + '])'
147
+ def __len__(self):
148
+ return _api.Slice_environment_Parameter_len(self.handle)
149
+ def __getitem__(self, key):
150
+ if isinstance(key, slice):
151
+ if key.step == None or key.step == 1:
152
+ st = key.start
153
+ ed = key.stop
154
+ if st == None:
155
+ st = 0
156
+ if ed == None:
157
+ ed = _api.Slice_environment_Parameter_len(self.handle)
158
+ return Slice_environment_Parameter(handle=_api.Slice_environment_Parameter_subslice(self.handle, st, ed))
159
+ return [self[ii] for ii in range(*key.indices(len(self)))]
160
+ elif isinstance(key, int):
161
+ if key < 0:
162
+ key += len(self)
163
+ if key < 0 or key >= len(self):
164
+ raise IndexError('slice index out of range')
165
+ return go.environment_Parameter(handle=_api.Slice_environment_Parameter_elem(self.handle, key))
166
+ else:
167
+ raise TypeError('slice index invalid type')
168
+ def __setitem__(self, idx, value):
169
+ if idx < 0:
170
+ idx += len(self)
171
+ if idx < len(self):
172
+ _api.Slice_environment_Parameter_set(self.handle, idx, value.handle)
173
+ return
174
+ raise IndexError('slice index out of range')
175
+ def __iadd__(self, value):
176
+ if not isinstance(value, _collections_abc.Iterable):
177
+ raise TypeError('Slice_environment_Parameter.__iadd__ takes a sequence as argument')
178
+ for elt in value:
179
+ self.append(elt)
180
+ return self
181
+ def __iter__(self):
182
+ self.index = 0
183
+ return self
184
+ def __next__(self):
185
+ if self.index < len(self):
186
+ rv = go.environment_Parameter(handle=_api.Slice_environment_Parameter_elem(self.handle, self.index))
187
+ self.index = self.index + 1
188
+ return rv
189
+ raise StopIteration
190
+ def append(self, value):
191
+ _api.Slice_environment_Parameter_append(self.handle, value.handle)
192
+ def copy(self, src):
193
+ """ copy emulates the go copy function, copying elements into this list from source list, up to min of size of each list """
194
+ mx = min(len(self), len(src))
195
+ for i in range(mx):
196
+ self[i] = src[i]
197
+
198
+ # Python type for slice []environment.Value
199
+ class Slice_environment_Value(go.GoClass):
200
+ """"""
201
+ def __init__(self, *args, **kwargs):
202
+ """
203
+ handle=A Go-side object is always initialized with an explicit handle=arg
204
+ otherwise parameter is a python list that we copy from
205
+ """
206
+ self.index = 0
207
+ if len(kwargs) == 1 and 'handle' in kwargs:
208
+ self.handle = kwargs['handle']
209
+ _api.IncRef(self.handle)
210
+ elif len(args) == 1 and isinstance(args[0], go.GoClass):
211
+ self.handle = args[0].handle
212
+ _api.IncRef(self.handle)
213
+ else:
214
+ self.handle = _api.Slice_environment_Value_CTor()
215
+ _api.IncRef(self.handle)
216
+ if len(args) > 0:
217
+ if not isinstance(args[0], _collections_abc.Iterable):
218
+ raise TypeError('Slice_environment_Value.__init__ takes a sequence as argument')
219
+ for elt in args[0]:
220
+ self.append(elt)
221
+ def __del__(self):
222
+ _api.DecRef(self.handle)
223
+ def __str__(self):
224
+ s = 'api.Slice_environment_Value len: ' + str(len(self)) + ' handle: ' + str(self.handle) + ' ['
225
+ if len(self) < 120:
226
+ s += ', '.join(map(str, self)) + ']'
227
+ return s
228
+ def __repr__(self):
229
+ return 'api.Slice_environment_Value([' + ', '.join(map(str, self)) + '])'
230
+ def __len__(self):
231
+ return _api.Slice_environment_Value_len(self.handle)
232
+ def __getitem__(self, key):
233
+ if isinstance(key, slice):
234
+ if key.step == None or key.step == 1:
235
+ st = key.start
236
+ ed = key.stop
237
+ if st == None:
238
+ st = 0
239
+ if ed == None:
240
+ ed = _api.Slice_environment_Value_len(self.handle)
241
+ return Slice_environment_Value(handle=_api.Slice_environment_Value_subslice(self.handle, st, ed))
242
+ return [self[ii] for ii in range(*key.indices(len(self)))]
243
+ elif isinstance(key, int):
244
+ if key < 0:
245
+ key += len(self)
246
+ if key < 0 or key >= len(self):
247
+ raise IndexError('slice index out of range')
248
+ return go.environment_Value(handle=_api.Slice_environment_Value_elem(self.handle, key))
249
+ else:
250
+ raise TypeError('slice index invalid type')
251
+ def __setitem__(self, idx, value):
252
+ if idx < 0:
253
+ idx += len(self)
254
+ if idx < len(self):
255
+ _api.Slice_environment_Value_set(self.handle, idx, value.handle)
256
+ return
257
+ raise IndexError('slice index out of range')
258
+ def __iadd__(self, value):
259
+ if not isinstance(value, _collections_abc.Iterable):
260
+ raise TypeError('Slice_environment_Value.__iadd__ takes a sequence as argument')
261
+ for elt in value:
262
+ self.append(elt)
263
+ return self
264
+ def __iter__(self):
265
+ self.index = 0
266
+ return self
267
+ def __next__(self):
268
+ if self.index < len(self):
269
+ rv = go.environment_Value(handle=_api.Slice_environment_Value_elem(self.handle, self.index))
270
+ self.index = self.index + 1
271
+ return rv
272
+ raise StopIteration
273
+ def append(self, value):
274
+ _api.Slice_environment_Value_append(self.handle, value.handle)
275
+ def copy(self, src):
276
+ """ copy emulates the go copy function, copying elements into this list from source list, up to min of size of each list """
277
+ mx = min(len(self), len(src))
278
+ for i in range(mx):
279
+ self[i] = src[i]
280
+
281
+ # Python type for map map[string]*api.ClassMethod
282
+ class Map_string_Ptr_api_ClassMethod(go.GoClass):
283
+ """"""
284
+ def __init__(self, *args, **kwargs):
285
+ """
286
+ handle=A Go-side object is always initialized with an explicit handle=arg
287
+ otherwise parameter is a python list that we copy from
288
+ """
289
+ self.index = 0
290
+ if len(kwargs) == 1 and 'handle' in kwargs:
291
+ self.handle = kwargs['handle']
292
+ _api.IncRef(self.handle)
293
+ elif len(args) == 1 and isinstance(args[0], go.GoClass):
294
+ self.handle = args[0].handle
295
+ _api.IncRef(self.handle)
296
+ else:
297
+ self.handle = _api.Map_string_Ptr_api_ClassMethod_CTor()
298
+ _api.IncRef(self.handle)
299
+ if len(args) > 0:
300
+ if not isinstance(args[0], _collections_abc.Mapping):
301
+ raise TypeError('Map_string_Ptr_api_ClassMethod.__init__ takes a mapping as argument')
302
+ for k, v in args[0].items():
303
+ _api.Map_string_Ptr_api_ClassMethod_set(self.handle, k, v)
304
+ def __del__(self):
305
+ _api.DecRef(self.handle)
306
+ def __str__(self):
307
+ s = 'api.Map_string_Ptr_api_ClassMethod len: ' + str(len(self)) + ' handle: ' + str(self.handle) + ' {'
308
+ if len(self) < 120:
309
+ for k, v in self.items():
310
+ s += str(k) + '=' + str(v) + ', '
311
+ return s + '}'
312
+ def __repr__(self):
313
+ s = 'api.Map_string_Ptr_api_ClassMethod({'
314
+ for k, v in self.items():
315
+ s += str(k) + '=' + str(v) + ', '
316
+ return s + '})'
317
+ def __len__(self):
318
+ return _api.Map_string_Ptr_api_ClassMethod_len(self.handle)
319
+ def __getitem__(self, key):
320
+ return ClassMethod(handle=_api.Map_string_Ptr_api_ClassMethod_elem(self.handle, key))
321
+ def __setitem__(self, key, value):
322
+ _api.Map_string_Ptr_api_ClassMethod_set(self.handle, key, value.handle)
323
+ def __delitem__(self, key):
324
+ return _api.Map_string_Ptr_api_ClassMethod_delete(self.handle, key)
325
+ def keys(self):
326
+ return go.Slice_string(handle=_api.Map_string_Ptr_api_ClassMethod_keys(self.handle))
327
+ def values(self):
328
+ vls = []
329
+ kys = self.keys()
330
+ for k in kys:
331
+ vls.append(self[k])
332
+ return vls
333
+ def items(self):
334
+ vls = []
335
+ kys = self.keys()
336
+ for k in kys:
337
+ vls.append((k, self[k]))
338
+ return vls
339
+ def __iter__(self):
340
+ return iter(self.items())
341
+ def __contains__(self, key):
342
+ return _api.Map_string_Ptr_api_ClassMethod_contains(self.handle, key)
343
+
344
+ # Python type for map map[string]*api.ClassVariable
345
+ class Map_string_Ptr_api_ClassVariable(go.GoClass):
346
+ """"""
347
+ def __init__(self, *args, **kwargs):
348
+ """
349
+ handle=A Go-side object is always initialized with an explicit handle=arg
350
+ otherwise parameter is a python list that we copy from
351
+ """
352
+ self.index = 0
353
+ if len(kwargs) == 1 and 'handle' in kwargs:
354
+ self.handle = kwargs['handle']
355
+ _api.IncRef(self.handle)
356
+ elif len(args) == 1 and isinstance(args[0], go.GoClass):
357
+ self.handle = args[0].handle
358
+ _api.IncRef(self.handle)
359
+ else:
360
+ self.handle = _api.Map_string_Ptr_api_ClassVariable_CTor()
361
+ _api.IncRef(self.handle)
362
+ if len(args) > 0:
363
+ if not isinstance(args[0], _collections_abc.Mapping):
364
+ raise TypeError('Map_string_Ptr_api_ClassVariable.__init__ takes a mapping as argument')
365
+ for k, v in args[0].items():
366
+ _api.Map_string_Ptr_api_ClassVariable_set(self.handle, k, v)
367
+ def __del__(self):
368
+ _api.DecRef(self.handle)
369
+ def __str__(self):
370
+ s = 'api.Map_string_Ptr_api_ClassVariable len: ' + str(len(self)) + ' handle: ' + str(self.handle) + ' {'
371
+ if len(self) < 120:
372
+ for k, v in self.items():
373
+ s += str(k) + '=' + str(v) + ', '
374
+ return s + '}'
375
+ def __repr__(self):
376
+ s = 'api.Map_string_Ptr_api_ClassVariable({'
377
+ for k, v in self.items():
378
+ s += str(k) + '=' + str(v) + ', '
379
+ return s + '})'
380
+ def __len__(self):
381
+ return _api.Map_string_Ptr_api_ClassVariable_len(self.handle)
382
+ def __getitem__(self, key):
383
+ return ClassVariable(handle=_api.Map_string_Ptr_api_ClassVariable_elem(self.handle, key))
384
+ def __setitem__(self, key, value):
385
+ _api.Map_string_Ptr_api_ClassVariable_set(self.handle, key, value.handle)
386
+ def __delitem__(self, key):
387
+ return _api.Map_string_Ptr_api_ClassVariable_delete(self.handle, key)
388
+ def keys(self):
389
+ return go.Slice_string(handle=_api.Map_string_Ptr_api_ClassVariable_keys(self.handle))
390
+ def values(self):
391
+ vls = []
392
+ kys = self.keys()
393
+ for k in kys:
394
+ vls.append(self[k])
395
+ return vls
396
+ def items(self):
397
+ vls = []
398
+ kys = self.keys()
399
+ for k in kys:
400
+ vls.append((k, self[k]))
401
+ return vls
402
+ def __iter__(self):
403
+ return iter(self.items())
404
+ def __contains__(self, key):
405
+ return _api.Map_string_Ptr_api_ClassVariable_contains(self.handle, key)
406
+
407
+ # Python type for map map[string]*environment.Class
408
+ class Map_string_Ptr_environment_Class(go.GoClass):
409
+ """"""
410
+ def __init__(self, *args, **kwargs):
411
+ """
412
+ handle=A Go-side object is always initialized with an explicit handle=arg
413
+ otherwise parameter is a python list that we copy from
414
+ """
415
+ self.index = 0
416
+ if len(kwargs) == 1 and 'handle' in kwargs:
417
+ self.handle = kwargs['handle']
418
+ _api.IncRef(self.handle)
419
+ elif len(args) == 1 and isinstance(args[0], go.GoClass):
420
+ self.handle = args[0].handle
421
+ _api.IncRef(self.handle)
422
+ else:
423
+ self.handle = _api.Map_string_Ptr_environment_Class_CTor()
424
+ _api.IncRef(self.handle)
425
+ if len(args) > 0:
426
+ if not isinstance(args[0], _collections_abc.Mapping):
427
+ raise TypeError('Map_string_Ptr_environment_Class.__init__ takes a mapping as argument')
428
+ for k, v in args[0].items():
429
+ _api.Map_string_Ptr_environment_Class_set(self.handle, k, v)
430
+ def __del__(self):
431
+ _api.DecRef(self.handle)
432
+ def __str__(self):
433
+ s = 'api.Map_string_Ptr_environment_Class len: ' + str(len(self)) + ' handle: ' + str(self.handle) + ' {'
434
+ if len(self) < 120:
435
+ for k, v in self.items():
436
+ s += str(k) + '=' + str(v) + ', '
437
+ return s + '}'
438
+ def __repr__(self):
439
+ s = 'api.Map_string_Ptr_environment_Class({'
440
+ for k, v in self.items():
441
+ s += str(k) + '=' + str(v) + ', '
442
+ return s + '})'
443
+ def __len__(self):
444
+ return _api.Map_string_Ptr_environment_Class_len(self.handle)
445
+ def __getitem__(self, key):
446
+ return go.Ptr_environment_Class(handle=_api.Map_string_Ptr_environment_Class_elem(self.handle, key))
447
+ def __setitem__(self, key, value):
448
+ _api.Map_string_Ptr_environment_Class_set(self.handle, key, value.handle)
449
+ def __delitem__(self, key):
450
+ return _api.Map_string_Ptr_environment_Class_delete(self.handle, key)
451
+ def keys(self):
452
+ return go.Slice_string(handle=_api.Map_string_Ptr_environment_Class_keys(self.handle))
453
+ def values(self):
454
+ vls = []
455
+ kys = self.keys()
456
+ for k in kys:
457
+ vls.append(self[k])
458
+ return vls
459
+ def items(self):
460
+ vls = []
461
+ kys = self.keys()
462
+ for k in kys:
463
+ vls.append((k, self[k]))
464
+ return vls
465
+ def __iter__(self):
466
+ return iter(self.items())
467
+ def __contains__(self, key):
468
+ return _api.Map_string_Ptr_environment_Class_contains(self.handle, key)
469
+
470
+ # Python type for map map[string]*environment.Function
471
+ class Map_string_Ptr_environment_Function(go.GoClass):
472
+ """"""
473
+ def __init__(self, *args, **kwargs):
474
+ """
475
+ handle=A Go-side object is always initialized with an explicit handle=arg
476
+ otherwise parameter is a python list that we copy from
477
+ """
478
+ self.index = 0
479
+ if len(kwargs) == 1 and 'handle' in kwargs:
480
+ self.handle = kwargs['handle']
481
+ _api.IncRef(self.handle)
482
+ elif len(args) == 1 and isinstance(args[0], go.GoClass):
483
+ self.handle = args[0].handle
484
+ _api.IncRef(self.handle)
485
+ else:
486
+ self.handle = _api.Map_string_Ptr_environment_Function_CTor()
487
+ _api.IncRef(self.handle)
488
+ if len(args) > 0:
489
+ if not isinstance(args[0], _collections_abc.Mapping):
490
+ raise TypeError('Map_string_Ptr_environment_Function.__init__ takes a mapping as argument')
491
+ for k, v in args[0].items():
492
+ _api.Map_string_Ptr_environment_Function_set(self.handle, k, v)
493
+ def __del__(self):
494
+ _api.DecRef(self.handle)
495
+ def __str__(self):
496
+ s = 'api.Map_string_Ptr_environment_Function len: ' + str(len(self)) + ' handle: ' + str(self.handle) + ' {'
497
+ if len(self) < 120:
498
+ for k, v in self.items():
499
+ s += str(k) + '=' + str(v) + ', '
500
+ return s + '}'
501
+ def __repr__(self):
502
+ s = 'api.Map_string_Ptr_environment_Function({'
503
+ for k, v in self.items():
504
+ s += str(k) + '=' + str(v) + ', '
505
+ return s + '})'
506
+ def __len__(self):
507
+ return _api.Map_string_Ptr_environment_Function_len(self.handle)
508
+ def __getitem__(self, key):
509
+ return go.Ptr_environment_Function(handle=_api.Map_string_Ptr_environment_Function_elem(self.handle, key))
510
+ def __setitem__(self, key, value):
511
+ _api.Map_string_Ptr_environment_Function_set(self.handle, key, value.handle)
512
+ def __delitem__(self, key):
513
+ return _api.Map_string_Ptr_environment_Function_delete(self.handle, key)
514
+ def keys(self):
515
+ return go.Slice_string(handle=_api.Map_string_Ptr_environment_Function_keys(self.handle))
516
+ def values(self):
517
+ vls = []
518
+ kys = self.keys()
519
+ for k in kys:
520
+ vls.append(self[k])
521
+ return vls
522
+ def items(self):
523
+ vls = []
524
+ kys = self.keys()
525
+ for k in kys:
526
+ vls.append((k, self[k]))
527
+ return vls
528
+ def __iter__(self):
529
+ return iter(self.items())
530
+ def __contains__(self, key):
531
+ return _api.Map_string_Ptr_environment_Function_contains(self.handle, key)
532
+
533
+ # Python type for map map[string]*environment.MemberVariable
534
+ class Map_string_Ptr_environment_MemberVariable(go.GoClass):
535
+ """"""
536
+ def __init__(self, *args, **kwargs):
537
+ """
538
+ handle=A Go-side object is always initialized with an explicit handle=arg
539
+ otherwise parameter is a python list that we copy from
540
+ """
541
+ self.index = 0
542
+ if len(kwargs) == 1 and 'handle' in kwargs:
543
+ self.handle = kwargs['handle']
544
+ _api.IncRef(self.handle)
545
+ elif len(args) == 1 and isinstance(args[0], go.GoClass):
546
+ self.handle = args[0].handle
547
+ _api.IncRef(self.handle)
548
+ else:
549
+ self.handle = _api.Map_string_Ptr_environment_MemberVariable_CTor()
550
+ _api.IncRef(self.handle)
551
+ if len(args) > 0:
552
+ if not isinstance(args[0], _collections_abc.Mapping):
553
+ raise TypeError('Map_string_Ptr_environment_MemberVariable.__init__ takes a mapping as argument')
554
+ for k, v in args[0].items():
555
+ _api.Map_string_Ptr_environment_MemberVariable_set(self.handle, k, v)
556
+ def __del__(self):
557
+ _api.DecRef(self.handle)
558
+ def __str__(self):
559
+ s = 'api.Map_string_Ptr_environment_MemberVariable len: ' + str(len(self)) + ' handle: ' + str(self.handle) + ' {'
560
+ if len(self) < 120:
561
+ for k, v in self.items():
562
+ s += str(k) + '=' + str(v) + ', '
563
+ return s + '}'
564
+ def __repr__(self):
565
+ s = 'api.Map_string_Ptr_environment_MemberVariable({'
566
+ for k, v in self.items():
567
+ s += str(k) + '=' + str(v) + ', '
568
+ return s + '})'
569
+ def __len__(self):
570
+ return _api.Map_string_Ptr_environment_MemberVariable_len(self.handle)
571
+ def __getitem__(self, key):
572
+ return go.Ptr_environment_MemberVariable(handle=_api.Map_string_Ptr_environment_MemberVariable_elem(self.handle, key))
573
+ def __setitem__(self, key, value):
574
+ _api.Map_string_Ptr_environment_MemberVariable_set(self.handle, key, value.handle)
575
+ def __delitem__(self, key):
576
+ return _api.Map_string_Ptr_environment_MemberVariable_delete(self.handle, key)
577
+ def keys(self):
578
+ return go.Slice_string(handle=_api.Map_string_Ptr_environment_MemberVariable_keys(self.handle))
579
+ def values(self):
580
+ vls = []
581
+ kys = self.keys()
582
+ for k in kys:
583
+ vls.append(self[k])
584
+ return vls
585
+ def items(self):
586
+ vls = []
587
+ kys = self.keys()
588
+ for k in kys:
589
+ vls.append((k, self[k]))
590
+ return vls
591
+ def __iter__(self):
592
+ return iter(self.items())
593
+ def __contains__(self, key):
594
+ return _api.Map_string_Ptr_environment_MemberVariable_contains(self.handle, key)
595
+
596
+ # Python type for map map[string]*environment.Variable
597
+ class Map_string_Ptr_environment_Variable(go.GoClass):
598
+ """"""
599
+ def __init__(self, *args, **kwargs):
600
+ """
601
+ handle=A Go-side object is always initialized with an explicit handle=arg
602
+ otherwise parameter is a python list that we copy from
603
+ """
604
+ self.index = 0
605
+ if len(kwargs) == 1 and 'handle' in kwargs:
606
+ self.handle = kwargs['handle']
607
+ _api.IncRef(self.handle)
608
+ elif len(args) == 1 and isinstance(args[0], go.GoClass):
609
+ self.handle = args[0].handle
610
+ _api.IncRef(self.handle)
611
+ else:
612
+ self.handle = _api.Map_string_Ptr_environment_Variable_CTor()
613
+ _api.IncRef(self.handle)
614
+ if len(args) > 0:
615
+ if not isinstance(args[0], _collections_abc.Mapping):
616
+ raise TypeError('Map_string_Ptr_environment_Variable.__init__ takes a mapping as argument')
617
+ for k, v in args[0].items():
618
+ _api.Map_string_Ptr_environment_Variable_set(self.handle, k, v)
619
+ def __del__(self):
620
+ _api.DecRef(self.handle)
621
+ def __str__(self):
622
+ s = 'api.Map_string_Ptr_environment_Variable len: ' + str(len(self)) + ' handle: ' + str(self.handle) + ' {'
623
+ if len(self) < 120:
624
+ for k, v in self.items():
625
+ s += str(k) + '=' + str(v) + ', '
626
+ return s + '}'
627
+ def __repr__(self):
628
+ s = 'api.Map_string_Ptr_environment_Variable({'
629
+ for k, v in self.items():
630
+ s += str(k) + '=' + str(v) + ', '
631
+ return s + '})'
632
+ def __len__(self):
633
+ return _api.Map_string_Ptr_environment_Variable_len(self.handle)
634
+ def __getitem__(self, key):
635
+ return go.Ptr_environment_Variable(handle=_api.Map_string_Ptr_environment_Variable_elem(self.handle, key))
636
+ def __setitem__(self, key, value):
637
+ _api.Map_string_Ptr_environment_Variable_set(self.handle, key, value.handle)
638
+ def __delitem__(self, key):
639
+ return _api.Map_string_Ptr_environment_Variable_delete(self.handle, key)
640
+ def keys(self):
641
+ return go.Slice_string(handle=_api.Map_string_Ptr_environment_Variable_keys(self.handle))
642
+ def values(self):
643
+ vls = []
644
+ kys = self.keys()
645
+ for k in kys:
646
+ vls.append(self[k])
647
+ return vls
648
+ def items(self):
649
+ vls = []
650
+ kys = self.keys()
651
+ for k in kys:
652
+ vls.append((k, self[k]))
653
+ return vls
654
+ def __iter__(self):
655
+ return iter(self.items())
656
+ def __contains__(self, key):
657
+ return _api.Map_string_Ptr_environment_Variable_contains(self.handle, key)
658
+
659
+ # Python type for map map[string]api.GoValue
660
+ class Map_string_api_GoValue(go.GoClass):
661
+ """"""
662
+ def __init__(self, *args, **kwargs):
663
+ """
664
+ handle=A Go-side object is always initialized with an explicit handle=arg
665
+ otherwise parameter is a python list that we copy from
666
+ """
667
+ self.index = 0
668
+ if len(kwargs) == 1 and 'handle' in kwargs:
669
+ self.handle = kwargs['handle']
670
+ _api.IncRef(self.handle)
671
+ elif len(args) == 1 and isinstance(args[0], go.GoClass):
672
+ self.handle = args[0].handle
673
+ _api.IncRef(self.handle)
674
+ else:
675
+ self.handle = _api.Map_string_api_GoValue_CTor()
676
+ _api.IncRef(self.handle)
677
+ if len(args) > 0:
678
+ if not isinstance(args[0], _collections_abc.Mapping):
679
+ raise TypeError('Map_string_api_GoValue.__init__ takes a mapping as argument')
680
+ for k, v in args[0].items():
681
+ _api.Map_string_api_GoValue_set(self.handle, k, v)
682
+ def __del__(self):
683
+ _api.DecRef(self.handle)
684
+ def __str__(self):
685
+ s = 'api.Map_string_api_GoValue len: ' + str(len(self)) + ' handle: ' + str(self.handle) + ' {'
686
+ if len(self) < 120:
687
+ for k, v in self.items():
688
+ s += str(k) + '=' + str(v) + ', '
689
+ return s + '}'
690
+ def __repr__(self):
691
+ s = 'api.Map_string_api_GoValue({'
692
+ for k, v in self.items():
693
+ s += str(k) + '=' + str(v) + ', '
694
+ return s + '})'
695
+ def __len__(self):
696
+ return _api.Map_string_api_GoValue_len(self.handle)
697
+ def __getitem__(self, key):
698
+ return GoValue(handle=_api.Map_string_api_GoValue_elem(self.handle, key))
699
+ def __setitem__(self, key, value):
700
+ _api.Map_string_api_GoValue_set(self.handle, key, value.handle)
701
+ def __delitem__(self, key):
702
+ return _api.Map_string_api_GoValue_delete(self.handle, key)
703
+ def keys(self):
704
+ return go.Slice_string(handle=_api.Map_string_api_GoValue_keys(self.handle))
705
+ def values(self):
706
+ vls = []
707
+ kys = self.keys()
708
+ for k in kys:
709
+ vls.append(self[k])
710
+ return vls
711
+ def items(self):
712
+ vls = []
713
+ kys = self.keys()
714
+ for k in kys:
715
+ vls.append((k, self[k]))
716
+ return vls
717
+ def __iter__(self):
718
+ return iter(self.items())
719
+ def __contains__(self, key):
720
+ return _api.Map_string_api_GoValue_contains(self.handle, key)
721
+
722
+
723
+ #---- Enums from Go (collections of consts with same type) ---
724
+
725
+
726
+ #---- Constants from Go: Python can only ask that you please don't change these! ---
727
+ CompileErrorType = "compile"
728
+ ConfigErrorType = "config"
729
+ ConversionErrorType = "conversion"
730
+ ForeignModuleNamespace = "foreign:anonymous"
731
+ GoValueIDKey = "__GoValue_id"
732
+ RuntimeErrorType = "runtime"
733
+ TimeoutErrorType = "timeout"
734
+
735
+
736
+ # ---- Global Variables: can only use functions to access ---
737
+
738
+
739
+ # ---- Interfaces ---
740
+
741
+
742
+ # ---- Structs ---
743
+
744
+ # Python type for struct api.ClassDefinition
745
+ class ClassDefinition(go.GoClass):
746
+ """"""
747
+ def __init__(self, *args, **kwargs):
748
+ """
749
+ handle=A Go-side object is always initialized with an explicit handle=arg
750
+ otherwise parameters can be unnamed in order of field names or named fields
751
+ in which case a new Go object is constructed first
752
+ """
753
+ if len(kwargs) == 1 and 'handle' in kwargs:
754
+ self.handle = kwargs['handle']
755
+ _api.IncRef(self.handle)
756
+ elif len(args) == 1 and isinstance(args[0], go.GoClass):
757
+ self.handle = args[0].handle
758
+ _api.IncRef(self.handle)
759
+ else:
760
+ self.handle = _api.api_ClassDefinition_CTor()
761
+ _api.IncRef(self.handle)
762
+ if 0 < len(args):
763
+ self.Name = args[0]
764
+ if "Name" in kwargs:
765
+ self.Name = kwargs["Name"]
766
+ if 1 < len(args):
767
+ self.PublicVariables = args[1]
768
+ if "PublicVariables" in kwargs:
769
+ self.PublicVariables = kwargs["PublicVariables"]
770
+ if 2 < len(args):
771
+ self.PrivateVariables = args[2]
772
+ if "PrivateVariables" in kwargs:
773
+ self.PrivateVariables = kwargs["PrivateVariables"]
774
+ if 3 < len(args):
775
+ self.SharedVariables = args[3]
776
+ if "SharedVariables" in kwargs:
777
+ self.SharedVariables = kwargs["SharedVariables"]
778
+ if 4 < len(args):
779
+ self.PublicMethods = args[4]
780
+ if "PublicMethods" in kwargs:
781
+ self.PublicMethods = kwargs["PublicMethods"]
782
+ if 5 < len(args):
783
+ self.PrivateMethods = args[5]
784
+ if "PrivateMethods" in kwargs:
785
+ self.PrivateMethods = kwargs["PrivateMethods"]
786
+ if 6 < len(args):
787
+ self.UnknownFunctionHandler = args[6]
788
+ if "UnknownFunctionHandler" in kwargs:
789
+ self.UnknownFunctionHandler = kwargs["UnknownFunctionHandler"]
790
+ def __del__(self):
791
+ _api.DecRef(self.handle)
792
+ def __str__(self):
793
+ pr = [(p, getattr(self, p)) for p in dir(self) if not p.startswith('__')]
794
+ sv = 'api.ClassDefinition{'
795
+ first = True
796
+ for v in pr:
797
+ if callable(v[1]):
798
+ continue
799
+ if first:
800
+ first = False
801
+ else:
802
+ sv += ', '
803
+ sv += v[0] + '=' + str(v[1])
804
+ return sv + '}'
805
+ def __repr__(self):
806
+ pr = [(p, getattr(self, p)) for p in dir(self) if not p.startswith('__')]
807
+ sv = 'api.ClassDefinition ( '
808
+ for v in pr:
809
+ if not callable(v[1]):
810
+ sv += v[0] + '=' + str(v[1]) + ', '
811
+ return sv + ')'
812
+ @property
813
+ def Name(self):
814
+ return _api.api_ClassDefinition_Name_Get(self.handle)
815
+ @Name.setter
816
+ def Name(self, value):
817
+ if isinstance(value, go.GoClass):
818
+ _api.api_ClassDefinition_Name_Set(self.handle, value.handle)
819
+ else:
820
+ _api.api_ClassDefinition_Name_Set(self.handle, value)
821
+ @property
822
+ def PublicVariables(self):
823
+ return Map_string_Ptr_api_ClassVariable(handle=_api.api_ClassDefinition_PublicVariables_Get(self.handle))
824
+ @PublicVariables.setter
825
+ def PublicVariables(self, value):
826
+ if isinstance(value, go.GoClass):
827
+ _api.api_ClassDefinition_PublicVariables_Set(self.handle, value.handle)
828
+ else:
829
+ raise TypeError("supplied argument type {t} is not a go.GoClass".format(t=type(value)))
830
+ @property
831
+ def PrivateVariables(self):
832
+ return Map_string_Ptr_api_ClassVariable(handle=_api.api_ClassDefinition_PrivateVariables_Get(self.handle))
833
+ @PrivateVariables.setter
834
+ def PrivateVariables(self, value):
835
+ if isinstance(value, go.GoClass):
836
+ _api.api_ClassDefinition_PrivateVariables_Set(self.handle, value.handle)
837
+ else:
838
+ raise TypeError("supplied argument type {t} is not a go.GoClass".format(t=type(value)))
839
+ @property
840
+ def SharedVariables(self):
841
+ return Map_string_Ptr_api_ClassVariable(handle=_api.api_ClassDefinition_SharedVariables_Get(self.handle))
842
+ @SharedVariables.setter
843
+ def SharedVariables(self, value):
844
+ if isinstance(value, go.GoClass):
845
+ _api.api_ClassDefinition_SharedVariables_Set(self.handle, value.handle)
846
+ else:
847
+ raise TypeError("supplied argument type {t} is not a go.GoClass".format(t=type(value)))
848
+ @property
849
+ def PublicMethods(self):
850
+ return Map_string_Ptr_api_ClassMethod(handle=_api.api_ClassDefinition_PublicMethods_Get(self.handle))
851
+ @PublicMethods.setter
852
+ def PublicMethods(self, value):
853
+ if isinstance(value, go.GoClass):
854
+ _api.api_ClassDefinition_PublicMethods_Set(self.handle, value.handle)
855
+ else:
856
+ raise TypeError("supplied argument type {t} is not a go.GoClass".format(t=type(value)))
857
+ @property
858
+ def PrivateMethods(self):
859
+ return Map_string_Ptr_api_ClassMethod(handle=_api.api_ClassDefinition_PrivateMethods_Get(self.handle))
860
+ @PrivateMethods.setter
861
+ def PrivateMethods(self, value):
862
+ if isinstance(value, go.GoClass):
863
+ _api.api_ClassDefinition_PrivateMethods_Set(self.handle, value.handle)
864
+ else:
865
+ raise TypeError("supplied argument type {t} is not a go.GoClass".format(t=type(value)))
866
+ @property
867
+ def UnknownFunctionHandler(self):
868
+ return UnknownFunctionHandler(handle=_api.api_ClassDefinition_UnknownFunctionHandler_Get(self.handle))
869
+ @UnknownFunctionHandler.setter
870
+ def UnknownFunctionHandler(self, value):
871
+ if isinstance(value, go.GoClass):
872
+ _api.api_ClassDefinition_UnknownFunctionHandler_Set(self.handle, value.handle)
873
+ else:
874
+ raise TypeError("supplied argument type {t} is not a go.GoClass".format(t=type(value)))
875
+
876
+ # Python type for struct api.ClassVariable
877
+ class ClassVariable(go.GoClass):
878
+ """"""
879
+ def __init__(self, *args, **kwargs):
880
+ """
881
+ handle=A Go-side object is always initialized with an explicit handle=arg
882
+ otherwise parameters can be unnamed in order of field names or named fields
883
+ in which case a new Go object is constructed first
884
+ """
885
+ if len(kwargs) == 1 and 'handle' in kwargs:
886
+ self.handle = kwargs['handle']
887
+ _api.IncRef(self.handle)
888
+ elif len(args) == 1 and isinstance(args[0], go.GoClass):
889
+ self.handle = args[0].handle
890
+ _api.IncRef(self.handle)
891
+ else:
892
+ self.handle = _api.api_ClassVariable_CTor()
893
+ _api.IncRef(self.handle)
894
+ if 0 < len(args):
895
+ self.Name = args[0]
896
+ if "Name" in kwargs:
897
+ self.Name = kwargs["Name"]
898
+ if 1 < len(args):
899
+ self.Value = args[1]
900
+ if "Value" in kwargs:
901
+ self.Value = kwargs["Value"]
902
+ if 2 < len(args):
903
+ self.Locked = args[2]
904
+ if "Locked" in kwargs:
905
+ self.Locked = kwargs["Locked"]
906
+ def __del__(self):
907
+ _api.DecRef(self.handle)
908
+ def __str__(self):
909
+ pr = [(p, getattr(self, p)) for p in dir(self) if not p.startswith('__')]
910
+ sv = 'api.ClassVariable{'
911
+ first = True
912
+ for v in pr:
913
+ if callable(v[1]):
914
+ continue
915
+ if first:
916
+ first = False
917
+ else:
918
+ sv += ', '
919
+ sv += v[0] + '=' + str(v[1])
920
+ return sv + '}'
921
+ def __repr__(self):
922
+ pr = [(p, getattr(self, p)) for p in dir(self) if not p.startswith('__')]
923
+ sv = 'api.ClassVariable ( '
924
+ for v in pr:
925
+ if not callable(v[1]):
926
+ sv += v[0] + '=' + str(v[1]) + ', '
927
+ return sv + ')'
928
+ @property
929
+ def Name(self):
930
+ return _api.api_ClassVariable_Name_Get(self.handle)
931
+ @Name.setter
932
+ def Name(self, value):
933
+ if isinstance(value, go.GoClass):
934
+ _api.api_ClassVariable_Name_Set(self.handle, value.handle)
935
+ else:
936
+ _api.api_ClassVariable_Name_Set(self.handle, value)
937
+ @property
938
+ def Value(self):
939
+ return GoValue(handle=_api.api_ClassVariable_Value_Get(self.handle))
940
+ @Value.setter
941
+ def Value(self, value):
942
+ if isinstance(value, go.GoClass):
943
+ _api.api_ClassVariable_Value_Set(self.handle, value.handle)
944
+ else:
945
+ raise TypeError("supplied argument type {t} is not a go.GoClass".format(t=type(value)))
946
+ @property
947
+ def Locked(self):
948
+ return _api.api_ClassVariable_Locked_Get(self.handle)
949
+ @Locked.setter
950
+ def Locked(self, value):
951
+ if isinstance(value, go.GoClass):
952
+ _api.api_ClassVariable_Locked_Set(self.handle, value.handle)
953
+ else:
954
+ _api.api_ClassVariable_Locked_Set(self.handle, value)
955
+
956
+ # Python type for struct api.GoValue
957
+ class GoValue(go.GoClass):
958
+ """"""
959
+ def __init__(self, *args, **kwargs):
960
+ """
961
+ handle=A Go-side object is always initialized with an explicit handle=arg
962
+ otherwise parameters can be unnamed in order of field names or named fields
963
+ in which case a new Go object is constructed first
964
+ """
965
+ if len(kwargs) == 1 and 'handle' in kwargs:
966
+ self.handle = kwargs['handle']
967
+ _api.IncRef(self.handle)
968
+ elif len(args) == 1 and isinstance(args[0], go.GoClass):
969
+ self.handle = args[0].handle
970
+ _api.IncRef(self.handle)
971
+ else:
972
+ self.handle = _api.api_GoValue_CTor()
973
+ _api.IncRef(self.handle)
974
+ def __del__(self):
975
+ _api.DecRef(self.handle)
976
+ def __str__(self):
977
+ pr = [(p, getattr(self, p)) for p in dir(self) if not p.startswith('__')]
978
+ sv = 'api.GoValue{'
979
+ first = True
980
+ for v in pr:
981
+ if callable(v[1]):
982
+ continue
983
+ if first:
984
+ first = False
985
+ else:
986
+ sv += ', '
987
+ sv += v[0] + '=' + str(v[1])
988
+ return sv + '}'
989
+ def __repr__(self):
990
+ pr = [(p, getattr(self, p)) for p in dir(self) if not p.startswith('__')]
991
+ sv = 'api.GoValue ( '
992
+ for v in pr:
993
+ if not callable(v[1]):
994
+ sv += v[0] + '=' + str(v[1]) + ', '
995
+ return sv + ')'
996
+ def ID(self):
997
+ """ID() str"""
998
+ return _api.api_GoValue_ID(self.handle)
999
+ def MarshalJSON(self):
1000
+ """MarshalJSON() []int, str"""
1001
+ return go.Slice_byte(handle=_api.api_GoValue_MarshalJSON(self.handle))
1002
+ def Type(self):
1003
+ """Type() str"""
1004
+ return _api.api_GoValue_Type(self.handle)
1005
+ def Int(self):
1006
+ """Int() long, str"""
1007
+ return _api.api_GoValue_Int(self.handle)
1008
+ def Float(self):
1009
+ """Float() float, str"""
1010
+ return _api.api_GoValue_Float(self.handle)
1011
+ def String(self):
1012
+ """String() str, str"""
1013
+ return _api.api_GoValue_String(self.handle)
1014
+ def Bool(self):
1015
+ """Bool() bool, str"""
1016
+ return _api.api_GoValue_Bool(self.handle)
1017
+ def Slice(self):
1018
+ """Slice() []object, str"""
1019
+ return Slice_api_GoValue(handle=_api.api_GoValue_Slice(self.handle))
1020
+ def Map(self):
1021
+ """Map() object, str"""
1022
+ return Map_string_api_GoValue(handle=_api.api_GoValue_Map(self.handle))
1023
+ def Object(self):
1024
+ """Object() object, str"""
1025
+ return go.Ptr_environment_ObjectInstance(handle=_api.api_GoValue_Object(self.handle))
1026
+
1027
+ # Python type for struct api.SourceLocation
1028
+ class SourceLocation(go.GoClass):
1029
+ """SourceLocation represents a location in source code\n"""
1030
+ def __init__(self, *args, **kwargs):
1031
+ """
1032
+ handle=A Go-side object is always initialized with an explicit handle=arg
1033
+ otherwise parameters can be unnamed in order of field names or named fields
1034
+ in which case a new Go object is constructed first
1035
+ """
1036
+ if len(kwargs) == 1 and 'handle' in kwargs:
1037
+ self.handle = kwargs['handle']
1038
+ _api.IncRef(self.handle)
1039
+ elif len(args) == 1 and isinstance(args[0], go.GoClass):
1040
+ self.handle = args[0].handle
1041
+ _api.IncRef(self.handle)
1042
+ else:
1043
+ self.handle = _api.api_SourceLocation_CTor()
1044
+ _api.IncRef(self.handle)
1045
+ if 0 < len(args):
1046
+ self.Filename = args[0]
1047
+ if "Filename" in kwargs:
1048
+ self.Filename = kwargs["Filename"]
1049
+ if 1 < len(args):
1050
+ self.Line = args[1]
1051
+ if "Line" in kwargs:
1052
+ self.Line = kwargs["Line"]
1053
+ if 2 < len(args):
1054
+ self.Column = args[2]
1055
+ if "Column" in kwargs:
1056
+ self.Column = kwargs["Column"]
1057
+ def __del__(self):
1058
+ _api.DecRef(self.handle)
1059
+ def __str__(self):
1060
+ pr = [(p, getattr(self, p)) for p in dir(self) if not p.startswith('__')]
1061
+ sv = 'api.SourceLocation{'
1062
+ first = True
1063
+ for v in pr:
1064
+ if callable(v[1]):
1065
+ continue
1066
+ if first:
1067
+ first = False
1068
+ else:
1069
+ sv += ', '
1070
+ sv += v[0] + '=' + str(v[1])
1071
+ return sv + '}'
1072
+ def __repr__(self):
1073
+ pr = [(p, getattr(self, p)) for p in dir(self) if not p.startswith('__')]
1074
+ sv = 'api.SourceLocation ( '
1075
+ for v in pr:
1076
+ if not callable(v[1]):
1077
+ sv += v[0] + '=' + str(v[1]) + ', '
1078
+ return sv + ')'
1079
+ @property
1080
+ def Filename(self):
1081
+ return _api.api_SourceLocation_Filename_Get(self.handle)
1082
+ @Filename.setter
1083
+ def Filename(self, value):
1084
+ if isinstance(value, go.GoClass):
1085
+ _api.api_SourceLocation_Filename_Set(self.handle, value.handle)
1086
+ else:
1087
+ _api.api_SourceLocation_Filename_Set(self.handle, value)
1088
+ @property
1089
+ def Line(self):
1090
+ return _api.api_SourceLocation_Line_Get(self.handle)
1091
+ @Line.setter
1092
+ def Line(self, value):
1093
+ if isinstance(value, go.GoClass):
1094
+ _api.api_SourceLocation_Line_Set(self.handle, value.handle)
1095
+ else:
1096
+ _api.api_SourceLocation_Line_Set(self.handle, value)
1097
+ @property
1098
+ def Column(self):
1099
+ return _api.api_SourceLocation_Column_Get(self.handle)
1100
+ @Column.setter
1101
+ def Column(self, value):
1102
+ if isinstance(value, go.GoClass):
1103
+ _api.api_SourceLocation_Column_Set(self.handle, value.handle)
1104
+ else:
1105
+ _api.api_SourceLocation_Column_Set(self.handle, value)
1106
+
1107
+ # Python type for struct api.VM
1108
+ class VM(go.GoClass):
1109
+ """VM represents an Objective-LOL virtual machine instance\n"""
1110
+ def __init__(self, *args, **kwargs):
1111
+ """
1112
+ handle=A Go-side object is always initialized with an explicit handle=arg
1113
+ otherwise parameters can be unnamed in order of field names or named fields
1114
+ in which case a new Go object is constructed first
1115
+ """
1116
+ if len(kwargs) == 1 and 'handle' in kwargs:
1117
+ self.handle = kwargs['handle']
1118
+ _api.IncRef(self.handle)
1119
+ elif len(args) == 1 and isinstance(args[0], go.GoClass):
1120
+ self.handle = args[0].handle
1121
+ _api.IncRef(self.handle)
1122
+ else:
1123
+ self.handle = _api.api_VM_CTor()
1124
+ _api.IncRef(self.handle)
1125
+ def __del__(self):
1126
+ _api.DecRef(self.handle)
1127
+ def __str__(self):
1128
+ pr = [(p, getattr(self, p)) for p in dir(self) if not p.startswith('__')]
1129
+ sv = 'api.VM{'
1130
+ first = True
1131
+ for v in pr:
1132
+ if callable(v[1]):
1133
+ continue
1134
+ if first:
1135
+ first = False
1136
+ else:
1137
+ sv += ', '
1138
+ sv += v[0] + '=' + str(v[1])
1139
+ return sv + '}'
1140
+ def __repr__(self):
1141
+ pr = [(p, getattr(self, p)) for p in dir(self) if not p.startswith('__')]
1142
+ sv = 'api.VM ( '
1143
+ for v in pr:
1144
+ if not callable(v[1]):
1145
+ sv += v[0] + '=' + str(v[1]) + ', '
1146
+ return sv + ')'
1147
+ def GetCompatibilityShim(self):
1148
+ """GetCompatibilityShim() object
1149
+
1150
+ GetCompatibilityShim returns a compatibility shim for the VM
1151
+ """
1152
+ return VMCompatibilityShim(handle=_api.api_VM_GetCompatibilityShim(self.handle))
1153
+ def Execute(self, code):
1154
+ """Execute(str code) object, str
1155
+
1156
+ Execute executes Objective-LOL code from a string
1157
+ """
1158
+ return ExecutionResult(handle=_api.api_VM_Execute(self.handle, code))
1159
+ def ExecuteWithContext(self, ctx, code):
1160
+ """ExecuteWithContext(object ctx, str code) object, str
1161
+
1162
+ ExecuteWithContext executes code with a context for cancellation/timeout
1163
+ """
1164
+ return ExecutionResult(handle=_api.api_VM_ExecuteWithContext(self.handle, ctx.handle, code))
1165
+ def NewObjectInstance(self, className):
1166
+ """NewObjectInstance(str className) object, str"""
1167
+ return GoValue(handle=_api.api_VM_NewObjectInstance(self.handle, className))
1168
+ def Call(self, functionName, args):
1169
+ """Call(str functionName, []object args) object, str
1170
+
1171
+ Call calls an Objective-LOL function with the given arguments
1172
+ """
1173
+ return GoValue(handle=_api.api_VM_Call(self.handle, functionName, args.handle))
1174
+ def CallMethod(self, object, methodName, args):
1175
+ """CallMethod(object object, str methodName, []object args) object, str
1176
+
1177
+ CallMethod calls a method on an Objective-LOL object
1178
+ """
1179
+ return GoValue(handle=_api.api_VM_CallMethod(self.handle, object.handle, methodName, args.handle))
1180
+ def DefineVariable(self, name, value, constant):
1181
+ """DefineVariable(str name, object value, bool constant) str
1182
+
1183
+ DefineVariable defines a global variable in the VM
1184
+ """
1185
+ return _api.api_VM_DefineVariable(self.handle, name, value.handle, constant)
1186
+ def SetVariable(self, variableName, value):
1187
+ """SetVariable(str variableName, object value) str
1188
+
1189
+ SetVariable sets a variable in the global environment
1190
+ """
1191
+ return _api.api_VM_SetVariable(self.handle, variableName, value.handle)
1192
+ def GetVariable(self, variableName):
1193
+ """GetVariable(str variableName) object, str
1194
+
1195
+ Get gets a variable from the global environment
1196
+ """
1197
+ return GoValue(handle=_api.api_VM_GetVariable(self.handle, variableName))
1198
+ def DefineClass(self, classDef):
1199
+ """DefineClass(object classDef) str"""
1200
+ return _api.api_VM_DefineClass(self.handle, classDef.handle)
1201
+
1202
+ # Python type for struct api.VMCompatibilityShim
1203
+ class VMCompatibilityShim(go.GoClass):
1204
+ """VMCompatibilityShim is a shim to provide compatibility for external\nlanguages that cannot interact with the standard VM interface through\nGo types. Message passing is done through JSON strings.\n"""
1205
+ def __init__(self, *args, **kwargs):
1206
+ """
1207
+ handle=A Go-side object is always initialized with an explicit handle=arg
1208
+ otherwise parameters can be unnamed in order of field names or named fields
1209
+ in which case a new Go object is constructed first
1210
+ """
1211
+ if len(kwargs) == 1 and 'handle' in kwargs:
1212
+ self.handle = kwargs['handle']
1213
+ _api.IncRef(self.handle)
1214
+ elif len(args) == 1 and isinstance(args[0], go.GoClass):
1215
+ self.handle = args[0].handle
1216
+ _api.IncRef(self.handle)
1217
+ else:
1218
+ self.handle = _api.api_VMCompatibilityShim_CTor()
1219
+ _api.IncRef(self.handle)
1220
+ def __del__(self):
1221
+ _api.DecRef(self.handle)
1222
+ def __str__(self):
1223
+ pr = [(p, getattr(self, p)) for p in dir(self) if not p.startswith('__')]
1224
+ sv = 'api.VMCompatibilityShim{'
1225
+ first = True
1226
+ for v in pr:
1227
+ if callable(v[1]):
1228
+ continue
1229
+ if first:
1230
+ first = False
1231
+ else:
1232
+ sv += ', '
1233
+ sv += v[0] + '=' + str(v[1])
1234
+ return sv + '}'
1235
+ def __repr__(self):
1236
+ pr = [(p, getattr(self, p)) for p in dir(self) if not p.startswith('__')]
1237
+ sv = 'api.VMCompatibilityShim ( '
1238
+ for v in pr:
1239
+ if not callable(v[1]):
1240
+ sv += v[0] + '=' + str(v[1]) + ', '
1241
+ return sv + ')'
1242
+ def DefineFunction(self, id, name, argc, function):
1243
+ """DefineFunction(str id, str name, int argc, callable function) str
1244
+
1245
+ DefineFunction defines a global function with maximum compatibility,
1246
+ wrapping arguments and return values as JSON strings.
1247
+ An optional id cookie is passed back to the function to identify it.
1248
+ jsonArgs is a JSON array string of the arguments.
1249
+ The function should return a JSON object string with "result" and "error" fields.
1250
+ """
1251
+ return _api.api_VMCompatibilityShim_DefineFunction(self.handle, id, name, argc, function)
1252
+ def BuildNewClassVariableWithGetter(self, variable, getterID, getter):
1253
+ """BuildNewClassVariableWithGetter(object variable, str getterID, callable getter) object"""
1254
+ return ClassVariable(handle=_api.api_VMCompatibilityShim_BuildNewClassVariableWithGetter(self.handle, variable.handle, getterID, getter))
1255
+ def BuildNewClassVariableWithSetter(self, variable, setterID, setter):
1256
+ """BuildNewClassVariableWithSetter(object variable, str setterID, callable setter) object"""
1257
+ return ClassVariable(handle=_api.api_VMCompatibilityShim_BuildNewClassVariableWithSetter(self.handle, variable.handle, setterID, setter))
1258
+ def BuildNewClassMethod(self, method, id, function):
1259
+ """BuildNewClassMethod(object method, str id, callable function) object"""
1260
+ return ClassMethod(handle=_api.api_VMCompatibilityShim_BuildNewClassMethod(self.handle, method.handle, id, function))
1261
+ def BuildNewUnknownFunctionHandler(self, id, function):
1262
+ """BuildNewUnknownFunctionHandler(str id, callable function) object"""
1263
+ return UnknownFunctionHandler(handle=_api.api_VMCompatibilityShim_BuildNewUnknownFunctionHandler(self.handle, id, function))
1264
+ def IsClassDefined(self, name):
1265
+ """IsClassDefined(str name) bool"""
1266
+ return _api.api_VMCompatibilityShim_IsClassDefined(self.handle, name)
1267
+ def LookupObject(self, id):
1268
+ """LookupObject(str id) object, str"""
1269
+ return GoValue(handle=_api.api_VMCompatibilityShim_LookupObject(self.handle, id))
1270
+ def GetObjectMRO(self, id):
1271
+ """GetObjectMRO(str id) []str, str"""
1272
+ return go.Slice_string(handle=_api.api_VMCompatibilityShim_GetObjectMRO(self.handle, id))
1273
+ def GetObjectImmediateFunctions(self, id):
1274
+ """GetObjectImmediateFunctions(str id) []str, str"""
1275
+ return go.Slice_string(handle=_api.api_VMCompatibilityShim_GetObjectImmediateFunctions(self.handle, id))
1276
+ def GetObjectImmediateVariables(self, id):
1277
+ """GetObjectImmediateVariables(str id) []str, str"""
1278
+ return go.Slice_string(handle=_api.api_VMCompatibilityShim_GetObjectImmediateVariables(self.handle, id))
1279
+ def AddVariableToObject(self, id, variable):
1280
+ """AddVariableToObject(str id, object variable) str"""
1281
+ return _api.api_VMCompatibilityShim_AddVariableToObject(self.handle, id, variable.handle)
1282
+
1283
+ # Python type for struct api.VMConfig
1284
+ class VMConfig(go.GoClass):
1285
+ """VMConfig holds configuration options for the VM\n"""
1286
+ def __init__(self, *args, **kwargs):
1287
+ """
1288
+ handle=A Go-side object is always initialized with an explicit handle=arg
1289
+ otherwise parameters can be unnamed in order of field names or named fields
1290
+ in which case a new Go object is constructed first
1291
+ """
1292
+ if len(kwargs) == 1 and 'handle' in kwargs:
1293
+ self.handle = kwargs['handle']
1294
+ _api.IncRef(self.handle)
1295
+ elif len(args) == 1 and isinstance(args[0], go.GoClass):
1296
+ self.handle = args[0].handle
1297
+ _api.IncRef(self.handle)
1298
+ else:
1299
+ self.handle = _api.api_VMConfig_CTor()
1300
+ _api.IncRef(self.handle)
1301
+ if 0 < len(args):
1302
+ self.Stdout = args[0]
1303
+ if "Stdout" in kwargs:
1304
+ self.Stdout = kwargs["Stdout"]
1305
+ if 1 < len(args):
1306
+ self.Stdin = args[1]
1307
+ if "Stdin" in kwargs:
1308
+ self.Stdin = kwargs["Stdin"]
1309
+ if 2 < len(args):
1310
+ self.Timeout = args[2]
1311
+ if "Timeout" in kwargs:
1312
+ self.Timeout = kwargs["Timeout"]
1313
+ if 3 < len(args):
1314
+ self.WorkingDirectory = args[3]
1315
+ if "WorkingDirectory" in kwargs:
1316
+ self.WorkingDirectory = kwargs["WorkingDirectory"]
1317
+ def __del__(self):
1318
+ _api.DecRef(self.handle)
1319
+ def __str__(self):
1320
+ pr = [(p, getattr(self, p)) for p in dir(self) if not p.startswith('__')]
1321
+ sv = 'api.VMConfig{'
1322
+ first = True
1323
+ for v in pr:
1324
+ if callable(v[1]):
1325
+ continue
1326
+ if first:
1327
+ first = False
1328
+ else:
1329
+ sv += ', '
1330
+ sv += v[0] + '=' + str(v[1])
1331
+ return sv + '}'
1332
+ def __repr__(self):
1333
+ pr = [(p, getattr(self, p)) for p in dir(self) if not p.startswith('__')]
1334
+ sv = 'api.VMConfig ( '
1335
+ for v in pr:
1336
+ if not callable(v[1]):
1337
+ sv += v[0] + '=' + str(v[1]) + ', '
1338
+ return sv + ')'
1339
+ @property
1340
+ def Stdout(self):
1341
+ """I/O configuration
1342
+ """
1343
+ return go.io_Writer(handle=_api.api_VMConfig_Stdout_Get(self.handle))
1344
+ @Stdout.setter
1345
+ def Stdout(self, value):
1346
+ if isinstance(value, go.GoClass):
1347
+ _api.api_VMConfig_Stdout_Set(self.handle, value.handle)
1348
+ else:
1349
+ raise TypeError("supplied argument type {t} is not a go.GoClass".format(t=type(value)))
1350
+ @property
1351
+ def Stdin(self):
1352
+ return go.io_Reader(handle=_api.api_VMConfig_Stdin_Get(self.handle))
1353
+ @Stdin.setter
1354
+ def Stdin(self, value):
1355
+ if isinstance(value, go.GoClass):
1356
+ _api.api_VMConfig_Stdin_Set(self.handle, value.handle)
1357
+ else:
1358
+ raise TypeError("supplied argument type {t} is not a go.GoClass".format(t=type(value)))
1359
+ @property
1360
+ def Timeout(self):
1361
+ """Execution configuration
1362
+ """
1363
+ return _api.api_VMConfig_Timeout_Get(self.handle)
1364
+ @Timeout.setter
1365
+ def Timeout(self, value):
1366
+ if isinstance(value, go.GoClass):
1367
+ _api.api_VMConfig_Timeout_Set(self.handle, value.handle)
1368
+ else:
1369
+ _api.api_VMConfig_Timeout_Set(self.handle, value)
1370
+ @property
1371
+ def WorkingDirectory(self):
1372
+ return _api.api_VMConfig_WorkingDirectory_Get(self.handle)
1373
+ @WorkingDirectory.setter
1374
+ def WorkingDirectory(self, value):
1375
+ if isinstance(value, go.GoClass):
1376
+ _api.api_VMConfig_WorkingDirectory_Set(self.handle, value.handle)
1377
+ else:
1378
+ _api.api_VMConfig_WorkingDirectory_Set(self.handle, value)
1379
+ def Validate(self):
1380
+ """Validate() str
1381
+
1382
+ Validate checks if the configuration is valid
1383
+ """
1384
+ return _api.api_VMConfig_Validate(self.handle)
1385
+
1386
+ # Python type for struct api.ClassMethod
1387
+ class ClassMethod(go.GoClass):
1388
+ """"""
1389
+ def __init__(self, *args, **kwargs):
1390
+ """
1391
+ handle=A Go-side object is always initialized with an explicit handle=arg
1392
+ otherwise parameters can be unnamed in order of field names or named fields
1393
+ in which case a new Go object is constructed first
1394
+ """
1395
+ if len(kwargs) == 1 and 'handle' in kwargs:
1396
+ self.handle = kwargs['handle']
1397
+ _api.IncRef(self.handle)
1398
+ elif len(args) == 1 and isinstance(args[0], go.GoClass):
1399
+ self.handle = args[0].handle
1400
+ _api.IncRef(self.handle)
1401
+ else:
1402
+ self.handle = _api.api_ClassMethod_CTor()
1403
+ _api.IncRef(self.handle)
1404
+ if 0 < len(args):
1405
+ self.Name = args[0]
1406
+ if "Name" in kwargs:
1407
+ self.Name = kwargs["Name"]
1408
+ if 1 < len(args):
1409
+ self.Argc = args[1]
1410
+ if "Argc" in kwargs:
1411
+ self.Argc = kwargs["Argc"]
1412
+ def __del__(self):
1413
+ _api.DecRef(self.handle)
1414
+ def __str__(self):
1415
+ pr = [(p, getattr(self, p)) for p in dir(self) if not p.startswith('__')]
1416
+ sv = 'api.ClassMethod{'
1417
+ first = True
1418
+ for v in pr:
1419
+ if callable(v[1]):
1420
+ continue
1421
+ if first:
1422
+ first = False
1423
+ else:
1424
+ sv += ', '
1425
+ sv += v[0] + '=' + str(v[1])
1426
+ return sv + '}'
1427
+ def __repr__(self):
1428
+ pr = [(p, getattr(self, p)) for p in dir(self) if not p.startswith('__')]
1429
+ sv = 'api.ClassMethod ( '
1430
+ for v in pr:
1431
+ if not callable(v[1]):
1432
+ sv += v[0] + '=' + str(v[1]) + ', '
1433
+ return sv + ')'
1434
+ @property
1435
+ def Name(self):
1436
+ return _api.api_ClassMethod_Name_Get(self.handle)
1437
+ @Name.setter
1438
+ def Name(self, value):
1439
+ if isinstance(value, go.GoClass):
1440
+ _api.api_ClassMethod_Name_Set(self.handle, value.handle)
1441
+ else:
1442
+ _api.api_ClassMethod_Name_Set(self.handle, value)
1443
+ @property
1444
+ def Argc(self):
1445
+ return _api.api_ClassMethod_Argc_Get(self.handle)
1446
+ @Argc.setter
1447
+ def Argc(self, value):
1448
+ if isinstance(value, go.GoClass):
1449
+ _api.api_ClassMethod_Argc_Set(self.handle, value.handle)
1450
+ else:
1451
+ _api.api_ClassMethod_Argc_Set(self.handle, value)
1452
+
1453
+ # Python type for struct api.ExecutionResult
1454
+ class ExecutionResult(go.GoClass):
1455
+ """ExecutionResult represents the result of executing Objective-LOL code\n"""
1456
+ def __init__(self, *args, **kwargs):
1457
+ """
1458
+ handle=A Go-side object is always initialized with an explicit handle=arg
1459
+ otherwise parameters can be unnamed in order of field names or named fields
1460
+ in which case a new Go object is constructed first
1461
+ """
1462
+ if len(kwargs) == 1 and 'handle' in kwargs:
1463
+ self.handle = kwargs['handle']
1464
+ _api.IncRef(self.handle)
1465
+ elif len(args) == 1 and isinstance(args[0], go.GoClass):
1466
+ self.handle = args[0].handle
1467
+ _api.IncRef(self.handle)
1468
+ else:
1469
+ self.handle = _api.api_ExecutionResult_CTor()
1470
+ _api.IncRef(self.handle)
1471
+ if 0 < len(args):
1472
+ self.Value = args[0]
1473
+ if "Value" in kwargs:
1474
+ self.Value = kwargs["Value"]
1475
+ if 1 < len(args):
1476
+ self.RawValue = args[1]
1477
+ if "RawValue" in kwargs:
1478
+ self.RawValue = kwargs["RawValue"]
1479
+ if 2 < len(args):
1480
+ self.Output = args[2]
1481
+ if "Output" in kwargs:
1482
+ self.Output = kwargs["Output"]
1483
+ def __del__(self):
1484
+ _api.DecRef(self.handle)
1485
+ def __str__(self):
1486
+ pr = [(p, getattr(self, p)) for p in dir(self) if not p.startswith('__')]
1487
+ sv = 'api.ExecutionResult{'
1488
+ first = True
1489
+ for v in pr:
1490
+ if callable(v[1]):
1491
+ continue
1492
+ if first:
1493
+ first = False
1494
+ else:
1495
+ sv += ', '
1496
+ sv += v[0] + '=' + str(v[1])
1497
+ return sv + '}'
1498
+ def __repr__(self):
1499
+ pr = [(p, getattr(self, p)) for p in dir(self) if not p.startswith('__')]
1500
+ sv = 'api.ExecutionResult ( '
1501
+ for v in pr:
1502
+ if not callable(v[1]):
1503
+ sv += v[0] + '=' + str(v[1]) + ', '
1504
+ return sv + ')'
1505
+ @property
1506
+ def Value(self):
1507
+ """Return value from the execution (e.g., from MAIN function)
1508
+ """
1509
+ return GoValue(handle=_api.api_ExecutionResult_Value_Get(self.handle))
1510
+ @Value.setter
1511
+ def Value(self, value):
1512
+ if isinstance(value, go.GoClass):
1513
+ _api.api_ExecutionResult_Value_Set(self.handle, value.handle)
1514
+ else:
1515
+ raise TypeError("supplied argument type {t} is not a go.GoClass".format(t=type(value)))
1516
+ @property
1517
+ def RawValue(self):
1518
+ """Raw Objective-LOL value (for advanced use)
1519
+ """
1520
+ return go.environment_Value(handle=_api.api_ExecutionResult_RawValue_Get(self.handle))
1521
+ @RawValue.setter
1522
+ def RawValue(self, value):
1523
+ if isinstance(value, go.GoClass):
1524
+ _api.api_ExecutionResult_RawValue_Set(self.handle, value.handle)
1525
+ else:
1526
+ raise TypeError("supplied argument type {t} is not a go.GoClass".format(t=type(value)))
1527
+ @property
1528
+ def Output(self):
1529
+ """Output captured during execution (if configured)
1530
+ """
1531
+ return _api.api_ExecutionResult_Output_Get(self.handle)
1532
+ @Output.setter
1533
+ def Output(self, value):
1534
+ if isinstance(value, go.GoClass):
1535
+ _api.api_ExecutionResult_Output_Set(self.handle, value.handle)
1536
+ else:
1537
+ _api.api_ExecutionResult_Output_Set(self.handle, value)
1538
+
1539
+ # Python type for struct api.UnknownFunctionHandler
1540
+ class UnknownFunctionHandler(go.GoClass):
1541
+ """"""
1542
+ def __init__(self, *args, **kwargs):
1543
+ """
1544
+ handle=A Go-side object is always initialized with an explicit handle=arg
1545
+ otherwise parameters can be unnamed in order of field names or named fields
1546
+ in which case a new Go object is constructed first
1547
+ """
1548
+ if len(kwargs) == 1 and 'handle' in kwargs:
1549
+ self.handle = kwargs['handle']
1550
+ _api.IncRef(self.handle)
1551
+ elif len(args) == 1 and isinstance(args[0], go.GoClass):
1552
+ self.handle = args[0].handle
1553
+ _api.IncRef(self.handle)
1554
+ else:
1555
+ self.handle = _api.api_UnknownFunctionHandler_CTor()
1556
+ _api.IncRef(self.handle)
1557
+ def __del__(self):
1558
+ _api.DecRef(self.handle)
1559
+ def __str__(self):
1560
+ pr = [(p, getattr(self, p)) for p in dir(self) if not p.startswith('__')]
1561
+ sv = 'api.UnknownFunctionHandler{'
1562
+ first = True
1563
+ for v in pr:
1564
+ if callable(v[1]):
1565
+ continue
1566
+ if first:
1567
+ first = False
1568
+ else:
1569
+ sv += ', '
1570
+ sv += v[0] + '=' + str(v[1])
1571
+ return sv + '}'
1572
+ def __repr__(self):
1573
+ pr = [(p, getattr(self, p)) for p in dir(self) if not p.startswith('__')]
1574
+ sv = 'api.UnknownFunctionHandler ( '
1575
+ for v in pr:
1576
+ if not callable(v[1]):
1577
+ sv += v[0] + '=' + str(v[1]) + ', '
1578
+ return sv + ')'
1579
+
1580
+ # Python type for struct api.VMError
1581
+ class VMError(go.GoClass):
1582
+ """VMError represents errors that can occur in the VM API\n"""
1583
+ def __init__(self, *args, **kwargs):
1584
+ """
1585
+ handle=A Go-side object is always initialized with an explicit handle=arg
1586
+ otherwise parameters can be unnamed in order of field names or named fields
1587
+ in which case a new Go object is constructed first
1588
+ """
1589
+ if len(kwargs) == 1 and 'handle' in kwargs:
1590
+ self.handle = kwargs['handle']
1591
+ _api.IncRef(self.handle)
1592
+ elif len(args) == 1 and isinstance(args[0], go.GoClass):
1593
+ self.handle = args[0].handle
1594
+ _api.IncRef(self.handle)
1595
+ else:
1596
+ self.handle = _api.api_VMError_CTor()
1597
+ _api.IncRef(self.handle)
1598
+ if 0 < len(args):
1599
+ self.Type = args[0]
1600
+ if "Type" in kwargs:
1601
+ self.Type = kwargs["Type"]
1602
+ if 1 < len(args):
1603
+ self.Message = args[1]
1604
+ if "Message" in kwargs:
1605
+ self.Message = kwargs["Message"]
1606
+ if 2 < len(args):
1607
+ self.Source = args[2]
1608
+ if "Source" in kwargs:
1609
+ self.Source = kwargs["Source"]
1610
+ if 4 < len(args):
1611
+ self.Duration = args[4]
1612
+ if "Duration" in kwargs:
1613
+ self.Duration = kwargs["Duration"]
1614
+ def __del__(self):
1615
+ _api.DecRef(self.handle)
1616
+ def __str__(self):
1617
+ pr = [(p, getattr(self, p)) for p in dir(self) if not p.startswith('__')]
1618
+ sv = 'api.VMError{'
1619
+ first = True
1620
+ for v in pr:
1621
+ if callable(v[1]):
1622
+ continue
1623
+ if first:
1624
+ first = False
1625
+ else:
1626
+ sv += ', '
1627
+ sv += v[0] + '=' + str(v[1])
1628
+ return sv + '}'
1629
+ def __repr__(self):
1630
+ pr = [(p, getattr(self, p)) for p in dir(self) if not p.startswith('__')]
1631
+ sv = 'api.VMError ( '
1632
+ for v in pr:
1633
+ if not callable(v[1]):
1634
+ sv += v[0] + '=' + str(v[1]) + ', '
1635
+ return sv + ')'
1636
+ @property
1637
+ def Type(self):
1638
+ return _api.api_VMError_Type_Get(self.handle)
1639
+ @Type.setter
1640
+ def Type(self, value):
1641
+ if isinstance(value, go.GoClass):
1642
+ _api.api_VMError_Type_Set(self.handle, value.handle)
1643
+ else:
1644
+ _api.api_VMError_Type_Set(self.handle, value)
1645
+ @property
1646
+ def Message(self):
1647
+ return _api.api_VMError_Message_Get(self.handle)
1648
+ @Message.setter
1649
+ def Message(self, value):
1650
+ if isinstance(value, go.GoClass):
1651
+ _api.api_VMError_Message_Set(self.handle, value.handle)
1652
+ else:
1653
+ _api.api_VMError_Message_Set(self.handle, value)
1654
+ @property
1655
+ def Source(self):
1656
+ return SourceLocation(handle=_api.api_VMError_Source_Get(self.handle))
1657
+ @Source.setter
1658
+ def Source(self, value):
1659
+ if isinstance(value, go.GoClass):
1660
+ _api.api_VMError_Source_Set(self.handle, value.handle)
1661
+ else:
1662
+ raise TypeError("supplied argument type {t} is not a go.GoClass".format(t=type(value)))
1663
+ @property
1664
+ def Duration(self):
1665
+ return _api.api_VMError_Duration_Get(self.handle)
1666
+ @Duration.setter
1667
+ def Duration(self, value):
1668
+ if isinstance(value, go.GoClass):
1669
+ _api.api_VMError_Duration_Set(self.handle, value.handle)
1670
+ else:
1671
+ _api.api_VMError_Duration_Set(self.handle, value)
1672
+ def Error(self):
1673
+ """Error() str"""
1674
+ return _api.api_VMError_Error(self.handle)
1675
+ def Unwrap(self):
1676
+ """Unwrap() str"""
1677
+ return _api.api_VMError_Unwrap(self.handle)
1678
+ def IsCompileError(self):
1679
+ """IsCompileError() bool
1680
+
1681
+ IsCompileError returns true if the error is a compilation error
1682
+ """
1683
+ return _api.api_VMError_IsCompileError(self.handle)
1684
+ def IsRuntimeError(self):
1685
+ """IsRuntimeError() bool
1686
+
1687
+ IsRuntimeError returns true if the error is a runtime error
1688
+ """
1689
+ return _api.api_VMError_IsRuntimeError(self.handle)
1690
+ def IsTimeoutError(self):
1691
+ """IsTimeoutError() bool
1692
+
1693
+ IsTimeoutError returns true if the error is a timeout error
1694
+ """
1695
+ return _api.api_VMError_IsTimeoutError(self.handle)
1696
+ def IsConversionError(self):
1697
+ """IsConversionError() bool
1698
+
1699
+ IsConversionError returns true if the error is a type conversion error
1700
+ """
1701
+ return _api.api_VMError_IsConversionError(self.handle)
1702
+ def IsConfigError(self):
1703
+ """IsConfigError() bool
1704
+
1705
+ IsConfigError returns true if the error is a configuration error
1706
+ """
1707
+ return _api.api_VMError_IsConfigError(self.handle)
1708
+
1709
+
1710
+ # ---- Slices ---
1711
+
1712
+
1713
+ # ---- Maps ---
1714
+
1715
+
1716
+ # ---- Constructors ---
1717
+ def NewClassDefinition():
1718
+ """NewClassDefinition() object"""
1719
+ return ClassDefinition(handle=_api.api_NewClassDefinition())
1720
+ def WrapString(value):
1721
+ """WrapString(str value) object"""
1722
+ return GoValue(handle=_api.api_WrapString(value))
1723
+ def WrapObject(value):
1724
+ """WrapObject(object value) object"""
1725
+ return GoValue(handle=_api.api_WrapObject(value.handle))
1726
+ def WrapAny(value):
1727
+ """WrapAny(str value) object"""
1728
+ return GoValue(handle=_api.api_WrapAny(value))
1729
+ def WrapFloat(value):
1730
+ """WrapFloat(float value) object"""
1731
+ return GoValue(handle=_api.api_WrapFloat(value))
1732
+ def ToGoValue(val):
1733
+ """ToGoValue(object val) object, str
1734
+
1735
+ ToGoValue converts an Objective-LOL value to a Go value
1736
+ """
1737
+ return GoValue(handle=_api.api_ToGoValue(val.handle))
1738
+ def WrapBool(value):
1739
+ """WrapBool(bool value) object"""
1740
+ return GoValue(handle=_api.api_WrapBool(value))
1741
+ def WrapInt(value):
1742
+ """WrapInt(long value) object"""
1743
+ return GoValue(handle=_api.api_WrapInt(value))
1744
+ def NewVM(config):
1745
+ """NewVM(object config) object, str
1746
+
1747
+ NewVM creates a new VM instance with the given config
1748
+ """
1749
+ return VM(handle=_api.api_NewVM(config.handle))
1750
+ def DefaultConfig():
1751
+ """DefaultConfig() object
1752
+
1753
+ DefaultConfig returns a default configuration
1754
+ """
1755
+ return VMConfig(handle=_api.api_DefaultConfig())
1756
+ def NewConfigError(message, wrapped):
1757
+ """NewConfigError(str message, str wrapped) object
1758
+
1759
+ NewConfigError creates a new configuration error
1760
+ """
1761
+ return VMError(handle=_api.api_NewConfigError(message, wrapped))
1762
+ def NewConversionError(message, wrapped):
1763
+ """NewConversionError(str message, str wrapped) object
1764
+
1765
+ NewConversionError creates a new type conversion error
1766
+ """
1767
+ return VMError(handle=_api.api_NewConversionError(message, wrapped))
1768
+ def NewCompileError(message, source):
1769
+ """NewCompileError(str message, object source) object
1770
+
1771
+ NewCompileError creates a new compile error
1772
+ """
1773
+ return VMError(handle=_api.api_NewCompileError(message, source.handle))
1774
+ def NewTimeoutError(duration):
1775
+ """NewTimeoutError(long duration) object
1776
+
1777
+ NewTimeoutError creates a new timeout error
1778
+ """
1779
+ return VMError(handle=_api.api_NewTimeoutError(duration))
1780
+ def NewRuntimeError(message, source):
1781
+ """NewRuntimeError(str message, object source) object
1782
+
1783
+ NewRuntimeError creates a new runtime error
1784
+ """
1785
+ return VMError(handle=_api.api_NewRuntimeError(message, source.handle))
1786
+
1787
+
1788
+ # ---- Functions ---
1789
+ def ConvertArguments(args):
1790
+ """ConvertArguments([]object args) []object, str
1791
+
1792
+ ConvertArguments converts a slice of Go values to Objective-LOL values
1793
+ """
1794
+ return Slice_environment_Value(handle=_api.api_ConvertArguments(args.handle))
1795
+ def FromGoValue(val):
1796
+ """FromGoValue(object val) object, str
1797
+
1798
+ FromGoValue converts a Go value to an Objective-LOL value
1799
+ """
1800
+ return go.environment_Value(handle=_api.api_FromGoValue(val.handle))
1801
+ def LookupObject(id):
1802
+ """LookupObject(str id) object, str"""
1803
+ return go.Ptr_environment_ObjectInstance(handle=_api.api_LookupObject(id))
1804
+
1805
+