Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(686)

Unified Diff: plugins/org.chromium.debug.core/src/org/chromium/debug/core/model/StackFrame.java

Issue 14195023: Fix number property sorting and optimize hasProperty call in Debugger (Closed) Base URL: https://chromedevtools.googlecode.com/svn/trunk
Patch Set: Created 7 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « plugins/org.chromium.debug.core/src/org/chromium/debug/core/model/ArrayValue.java ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: plugins/org.chromium.debug.core/src/org/chromium/debug/core/model/StackFrame.java
diff --git a/plugins/org.chromium.debug.core/src/org/chromium/debug/core/model/StackFrame.java b/plugins/org.chromium.debug.core/src/org/chromium/debug/core/model/StackFrame.java
index e85347313edc69f0a5344a1654b748ab9dd7f139..69f372e7228cd660347fb8dd79eba17df9beccd6 100755
--- a/plugins/org.chromium.debug.core/src/org/chromium/debug/core/model/StackFrame.java
+++ b/plugins/org.chromium.debug.core/src/org/chromium/debug/core/model/StackFrame.java
@@ -25,6 +25,7 @@ import org.chromium.sdk.Script;
import org.chromium.sdk.SyncCallback;
import org.chromium.sdk.TextStreamPosition;
import org.chromium.sdk.util.GenericCallback;
+import org.chromium.sdk.util.JavaScriptExpressionBuilder;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Status;
import org.eclipse.debug.core.DebugException;
@@ -242,9 +243,9 @@ public class StackFrame extends StackFrameBase implements IDropToFrame {
// Get property name as String or Long.
private Object getNameObject(Variable var) {
String name = var.getName();
- int len = name.length();
- if (len >= 3 && name.charAt(0) == '[' && name.charAt(len-1) == ']') {
- return Long.valueOf(name.substring(1, len - 1));
+ Long num = JavaScriptExpressionBuilder.parsePropertyNameAsArrayIndex(name);
+ if (num != null) {
+ return num;
}
return name;
}
@@ -256,7 +257,7 @@ public class StackFrame extends StackFrameBase implements IDropToFrame {
Long n2 = (Long) nameObj2;
return n1.compareTo(n2);
} else {
- return COMPARE_INT_WITH_STRING;
+ return COMPARE_LONG_WITH_STRING;
}
} else {
String s1 = (String) nameObj1;
@@ -264,12 +265,12 @@ public class StackFrame extends StackFrameBase implements IDropToFrame {
String s2 = (String) nameObj2;
return s1.compareTo(s2);
} else {
- return -COMPARE_INT_WITH_STRING;
+ return -COMPARE_LONG_WITH_STRING;
}
}
}
// Strings go before numbers.
- private static final int COMPARE_INT_WITH_STRING = 1;
+ private static final int COMPARE_LONG_WITH_STRING = 1;
};
private SourcePosition getUserPosition() {
« no previous file with comments | « plugins/org.chromium.debug.core/src/org/chromium/debug/core/model/ArrayValue.java ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698