mirror of
https://github.com/pocketpy/pocketpy
synced 2025-10-20 19:40:18 +00:00
...
This commit is contained in:
parent
366ff866d4
commit
e1b2bda6aa
@ -88,7 +88,7 @@ PK_EXPORT bool pkpy_is_none(pkpy_vm*, int i);
|
|||||||
|
|
||||||
+ `bool pkpy_getattr(pkpy_vm*, pkpy_CName name)`
|
+ `bool pkpy_getattr(pkpy_vm*, pkpy_CName name)`
|
||||||
|
|
||||||
Push `b.<name>` onto the stack.
|
Push `b.<name>` onto the stack. Return false if the attribute is not found.
|
||||||
|
|
||||||
```
|
```
|
||||||
[b] -> [b.<name>]
|
[b] -> [b.<name>]
|
||||||
@ -105,7 +105,7 @@ PK_EXPORT bool pkpy_is_none(pkpy_vm*, int i);
|
|||||||
|
|
||||||
+ `bool pkpy_getglobal(pkpy_vm*, pkpy_CName name)`
|
+ `bool pkpy_getglobal(pkpy_vm*, pkpy_CName name)`
|
||||||
|
|
||||||
Push a global variable onto the stack.
|
Push a global/builtin variable onto the stack. Return false if the variable is not found.
|
||||||
|
|
||||||
```
|
```
|
||||||
[] -> [value]
|
[] -> [value]
|
||||||
|
@ -384,9 +384,8 @@ bool pkpy_getattr(pkpy_vm* vm_handle, pkpy_CName name) {
|
|||||||
PK_ASSERT_NO_ERROR()
|
PK_ASSERT_NO_ERROR()
|
||||||
PK_ASSERT_N_EXTRA_ELEMENTS(1)
|
PK_ASSERT_N_EXTRA_ELEMENTS(1)
|
||||||
PyObject* o = vm->s_data.top();
|
PyObject* o = vm->s_data.top();
|
||||||
PK_PROTECTED(
|
o = vm->getattr(o, StrName(name), false);
|
||||||
o = vm->getattr(o, StrName(name));
|
if(o == nullptr) return false;
|
||||||
)
|
|
||||||
vm->s_data.top() = o;
|
vm->s_data.top() = o;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@ -411,10 +410,7 @@ bool pkpy_getglobal(pkpy_vm* vm_handle, pkpy_CName name) {
|
|||||||
PyObject* o = vm->_main->attr().try_get(StrName(name));
|
PyObject* o = vm->_main->attr().try_get(StrName(name));
|
||||||
if (o == nullptr) {
|
if (o == nullptr) {
|
||||||
o = vm->builtins->attr().try_get(StrName(name));
|
o = vm->builtins->attr().try_get(StrName(name));
|
||||||
if (o == nullptr){
|
if (o == nullptr) return false;
|
||||||
pkpy_error(vm_handle, "NameError", pkpy_name_to_string(name));
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
vm->s_data.push(o);
|
vm->s_data.push(o);
|
||||||
return true;
|
return true;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user