diff options
| author | Alexandre Vassalotti <alexandre@peadrop.com> | 2010-01-11 22:36:12 (GMT) | 
|---|---|---|
| committer | Alexandre Vassalotti <alexandre@peadrop.com> | 2010-01-11 22:36:12 (GMT) | 
| commit | b646547bb45fe1df6abefd94f892c633798d91d2 (patch) | |
| tree | ef1add045741d309129266726f5ba45562184091 /Python/ceval.c | |
| parent | 0ca7452794bef03b66f56cc996a73cac066d0ec1 (diff) | |
| download | cpython-b646547bb45fe1df6abefd94f892c633798d91d2.zip cpython-b646547bb45fe1df6abefd94f892c633798d91d2.tar.gz cpython-b646547bb45fe1df6abefd94f892c633798d91d2.tar.bz2  | |
Issue #2333: Backport set and dict comprehensions syntax.
Diffstat (limited to 'Python/ceval.c')
| -rw-r--r-- | Python/ceval.c | 26 | 
1 files changed, 26 insertions, 0 deletions
diff --git a/Python/ceval.c b/Python/ceval.c index 3221ab1..d501a4e 100644 --- a/Python/ceval.c +++ b/Python/ceval.c @@ -1455,6 +1455,17 @@ PyEval_EvalFrameEx(PyFrameObject *f, int throwflag)  			}  			break; +		case SET_ADD: +			w = POP(); +			v = stack_pointer[-oparg]; +			err = PySet_Add(v, w); +			Py_DECREF(w); +			if (err == 0) { +				PREDICT(JUMP_ABSOLUTE); +				continue; +			} +			break; +  		case INPLACE_POWER:  			w = POP();  			v = TOP(); @@ -2223,6 +2234,21 @@ PyEval_EvalFrameEx(PyFrameObject *f, int throwflag)  			if (err == 0) continue;  			break; +		case MAP_ADD: +			w = TOP();     /* key */ +			u = SECOND();  /* value */ +			STACKADJ(-2); +			v = stack_pointer[-oparg];  /* dict */ +			assert (PyDict_CheckExact(v)); +			err = PyDict_SetItem(v, w, u);  /* v[w] = u */ +			Py_DECREF(u); +			Py_DECREF(w); +			if (err == 0) { +				PREDICT(JUMP_ABSOLUTE); +				continue; +			} +			break; +  		case LOAD_ATTR:  			w = GETITEM(names, oparg);  			v = TOP();  | 
