Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(48)

Side by Side Diff: src/org/python/core/PyFrame.java

Issue 2888: __findattr__ refactor (Closed) SVN Base: https://jython.svn.sourceforge.net/svnroot/jython/branches/asm
Patch Set: This is the actually commited patch (on r5155), in case you have more comments Created 1 year, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Please Sign in to add in-line comments.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) Corporation for National Research Initiatives 1 // Copyright (c) Corporation for National Research Initiatives
2 package org.python.core; 2 package org.python.core;
3 3
4 /** 4 /**
5 * A Python frame object. 5 * A Python frame object.
6 */ 6 */
7 public class PyFrame extends PyObject 7 public class PyFrame extends PyObject
8 { 8 {
9 public PyFrame f_back; 9 public PyFrame f_back;
10 10
(...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after
161 tracefunc = null; 161 tracefunc = null;
162 } else { 162 } else {
163 throwReadonly(name); 163 throwReadonly(name);
164 } 164 }
165 // not yet implemented: 165 // not yet implemented:
166 // f_exc_type 166 // f_exc_type
167 // f_exc_value 167 // f_exc_value
168 // f_exc_traceback 168 // f_exc_traceback
169 } 169 }
170 170
171 public PyObject __findattr__(String name) { 171 public PyObject __findattr_ex__(String name) {
172 if (name == "f_locals") { 172 if (name == "f_locals") {
173 return getLocals(); 173 return getLocals();
174 } else if (name == "f_trace") { 174 } else if (name == "f_trace") {
175 if (tracefunc instanceof PythonTraceFunction) { 175 if (tracefunc instanceof PythonTraceFunction) {
176 return ((PythonTraceFunction)tracefunc).tracefunc; 176 return ((PythonTraceFunction)tracefunc).tracefunc;
177 } 177 }
178 return Py.None; 178 return Py.None;
179 } 179 }
180 return super.__findattr__(name); 180 return super.__findattr_ex__(name);
181 } 181 }
182 182
183 /** 183 /**
184 * Return the locals dict. First merges the fast locals into 184 * Return the locals dict. First merges the fast locals into
185 * f_locals, then returns the updated f_locals. 185 * f_locals, then returns the updated f_locals.
186 * 186 *
187 * @return a PyObject mapping of locals 187 * @return a PyObject mapping of locals
188 */ 188 */
189 public PyObject getLocals() { 189 public PyObject getLocals() {
190 if (f_locals == null) { 190 if (f_locals == null) {
(...skipping 191 matching lines...) Expand 10 before | Expand all | Expand 10 after
382 } 382 }
383 383
384 public void setderef(int index, PyObject value) { 384 public void setderef(int index, PyObject value) {
385 f_env[index].ob_ref = value; 385 f_env[index].ob_ref = value;
386 } 386 }
387 387
388 public void to_cell(int parm_index, int env_index) { 388 public void to_cell(int parm_index, int env_index) {
389 f_env[env_index].ob_ref = f_fastlocals[parm_index]; 389 f_env[env_index].ob_ref = f_fastlocals[parm_index];
390 } 390 }
391 } 391 }
OLDNEW

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld r483