Lines Matching refs:value
493 unicodeFromTclObj(Tcl_Obj *value)
498 const Tcl_UniChar *u = Tcl_GetUnicodeFromObj(value, &len);
508 const char *s = Tcl_GetStringFromObj(value, &len);
751 Tcl_Obj *value;
766 self->value = arg;
775 Tcl_DecrRefCount(self->value);
789 self->string = unicodeFromTclObj(self->value);
805 return unicodeFromTclObj(self->value);
815 self->value->typePtr->name, str);
840 result = strcmp(Tcl_GetString(((PyTclObject *)self)->value),
841 Tcl_GetString(((PyTclObject *)other)->value));
850 return unicodeFromTclString(obj->value->typePtr->name);
891 asBignumObj(PyObject *value)
899 neg = Py_SIZE(value) < 0;
900 hexstr = _PyLong_Format(value, 16);
928 AsObj(PyObject *value)
932 if (PyBytes_Check(value)) {
933 if (PyBytes_GET_SIZE(value) >= INT_MAX) {
937 return Tcl_NewByteArrayObj((unsigned char *)PyBytes_AS_STRING(value),
938 (int)PyBytes_GET_SIZE(value));
941 if (PyBool_Check(value))
942 return Tcl_NewBooleanObj(PyObject_IsTrue(value));
944 if (PyLong_CheckExact(value)) {
950 longValue = PyLong_AsLongAndOverflow(value, &overflow);
957 if (_PyLong_AsByteArray((PyLongObject *)value,
968 return asBignumObj(value);
973 if (PyFloat_Check(value))
974 return Tcl_NewDoubleObj(PyFloat_AS_DOUBLE(value));
976 if (PyTuple_Check(value) || PyList_Check(value)) {
980 size = PySequence_Fast_GET_SIZE(value);
985 PyTuple_Check(value) ? "tuple is too long" :
995 argv[i] = AsObj(PySequence_Fast_GET_ITEM(value,i));
1001 if (PyUnicode_Check(value)) {
1002 if (PyUnicode_READY(value) == -1)
1005 Py_ssize_t size = PyUnicode_GET_LENGTH(value);
1013 if (PyUnicode_IS_ASCII(value)) {
1014 return Tcl_NewStringObj((const char *)PyUnicode_DATA(value),
1021 encoded = _PyUnicode_EncodeUTF16(value,
1024 encoded = _PyUnicode_EncodeUTF32(value,
1029 encoded = _PyUnicode_AsUTF8String(value, "surrogateescape");
1050 if (PyTclObject_Check(value)) {
1051 return ((PyTclObject*)value)->value;
1055 PyObject *v = PyObject_Str(value);
1065 fromBoolean(TkappObject *tkapp, Tcl_Obj *value)
1068 if (Tcl_GetBooleanFromObj(Tkapp_Interp(tkapp), value, &boolValue) == TCL_ERROR)
1074 fromWideIntObj(TkappObject *tkapp, Tcl_Obj *value)
1077 if (Tcl_GetWideIntFromObj(Tkapp_Interp(tkapp), value, &wideValue) == TCL_OK) {
1089 fromBignumObj(TkappObject *tkapp, Tcl_Obj *value)
1101 if (Tcl_GetBignumFromObj(Tkapp_Interp(tkapp), value, &bigValue) != TCL_OK)
1137 FromObj(TkappObject *tkapp, Tcl_Obj *value)
1142 if (value->typePtr == NULL) {
1143 return unicodeFromTclObj(value);
1146 if (value->typePtr == tkapp->BooleanType ||
1147 value->typePtr == tkapp->OldBooleanType) {
1148 return fromBoolean(tkapp, value);
1151 if (value->typePtr == tkapp->ByteArrayType) {
1153 char *data = (char*)Tcl_GetByteArrayFromObj(value, &size);
1157 if (value->typePtr == tkapp->DoubleType) {
1158 return PyFloat_FromDouble(value->internalRep.doubleValue);
1161 if (value->typePtr == tkapp->IntType) {
1163 if (Tcl_GetLongFromObj(interp, value, &longValue) == TCL_OK)
1169 if (value->typePtr == tkapp->IntType ||
1170 value->typePtr == tkapp->WideIntType) {
1171 result = fromWideIntObj(tkapp, value);
1179 if (value->typePtr == tkapp->IntType ||
1180 value->typePtr == tkapp->WideIntType ||
1181 value->typePtr == tkapp->BignumType) {
1182 return fromBignumObj(tkapp, value);
1185 if (value->typePtr == tkapp->ListType) {
1191 status = Tcl_ListObjLength(interp, value, &size);
1198 status = Tcl_ListObjIndex(interp, value, i, &tcl_elem);
1213 if (value->typePtr == tkapp->ProcBodyType) {
1217 if (value->typePtr == tkapp->StringType) {
1218 return unicodeFromTclObj(value);
1222 strcmp(value->typePtr->name, "booleanString") == 0) {
1224 tkapp->BooleanType = value->typePtr;
1225 return fromBoolean(tkapp, value);
1229 strcmp(value->typePtr->name, "bignum") == 0) {
1231 tkapp->BignumType = value->typePtr;
1232 return fromBignumObj(tkapp, value);
1235 return newPyTclObject(value);
1335 Tcl_Obj *value = Tcl_GetObjResult(self->interp);
1340 Tcl_IncrRefCount(value);
1341 res = FromObj(self, value);
1342 Tcl_DecrRefCount(value);
1344 res = unicodeFromTclObj(value);
1653 *out = Tcl_GetString(((PyTclObject *)in)->value);
1901 Tcl_Obj *value;
1910 value = ((PyTclObject*)arg)->value;
1911 Tcl_IncrRefCount(value);
1917 value = Tcl_NewStringObj(s, -1);
1918 if (value == NULL)
1921 /* Don't use Tcl_GetInt() because it returns ambiguous result for value
1925 value in ranges -2**64..-2**63-1 and 2**63..2**64-1 (on 32-bit platform).
1927 result = fromBignumObj(self, value);
1928 Tcl_DecrRefCount(value);
1960 ((PyTclObject*)arg)->value,
1995 ((PyTclObject*)arg)->value,
2150 ((PyTclObject*)arg)->value,