Title: [188818] trunk/Source/WebInspectorUI
- Revision
- 188818
- Author
- [email protected]
- Date
- 2015-08-21 20:27:24 -0700 (Fri, 21 Aug 2015)
Log Message
Web Inspector: Type profiler shows 'Undefined' annotation for functions with no return statements
https://bugs.webkit.org/show_bug.cgi?id=146882
Patch by Saam barati <[email protected]> on 2015-08-21
Reviewed by Joseph Pecoraro.
* UserInterface/Controllers/TypeTokenAnnotator.js:
(WebInspector.TypeTokenAnnotator.prototype._insertTypeToken):
* UserInterface/Models/ScriptSyntaxTree.js:
(WebInspector.ScriptSyntaxTree.prototype._createInternalSyntaxTree):
(WebInspector.ScriptSyntaxTree):
Modified Paths
Diff
Modified: trunk/Source/WebInspectorUI/ChangeLog (188817 => 188818)
--- trunk/Source/WebInspectorUI/ChangeLog 2015-08-22 02:32:41 UTC (rev 188817)
+++ trunk/Source/WebInspectorUI/ChangeLog 2015-08-22 03:27:24 UTC (rev 188818)
@@ -1,3 +1,16 @@
+2015-08-21 Saam barati <[email protected]>
+
+ Web Inspector: Type profiler shows 'Undefined' annotation for functions with no return statements
+ https://bugs.webkit.org/show_bug.cgi?id=146882
+
+ Reviewed by Joseph Pecoraro.
+
+ * UserInterface/Controllers/TypeTokenAnnotator.js:
+ (WebInspector.TypeTokenAnnotator.prototype._insertTypeToken):
+ * UserInterface/Models/ScriptSyntaxTree.js:
+ (WebInspector.ScriptSyntaxTree.prototype._createInternalSyntaxTree):
+ (WebInspector.ScriptSyntaxTree):
+
2015-08-21 Joseph Pecoraro <[email protected]>
Web Inspector: WebInspector.domTreeManager.regionLayoutUpdated does not exist
Modified: trunk/Source/WebInspectorUI/UserInterface/Controllers/TypeTokenAnnotator.js (188817 => 188818)
--- trunk/Source/WebInspectorUI/UserInterface/Controllers/TypeTokenAnnotator.js 2015-08-22 02:32:41 UTC (rev 188817)
+++ trunk/Source/WebInspectorUI/UserInterface/Controllers/TypeTokenAnnotator.js 2015-08-22 03:27:24 UTC (rev 188818)
@@ -105,7 +105,7 @@
// If a function does not have an explicit return statement with an argument (i.e, "return x;" instead of "return;")
// then don't show a return type unless we think it's a constructor.
var scriptSyntaxTree = this._script._scriptSyntaxTree;
- if (!node.attachments.__typeToken && (scriptSyntaxTree.containsNonEmptyReturnStatement(node.body) || !WebInspector.TypeSet.fromPayload(functionReturnType.typeSet).isContainedIn(WebInspector.TypeSet.TypeBit.Undefined))) {
+ if (!node.attachments.__typeToken && (scriptSyntaxTree.containsNonEmptyReturnStatement(node.body) || !functionReturnType.typeSet.isContainedIn(WebInspector.TypeSet.TypeBit.Undefined))) {
var functionName = node.id ? node.id.name : null;
var offset = node.isGetterOrSetter ? node.getterOrSetterRange[0] : node.range[0];
this._insertToken(offset, node, true, WebInspector.TypeTokenView.TitleType.ReturnStatement, functionName);
Modified: trunk/Source/WebInspectorUI/UserInterface/Models/ScriptSyntaxTree.js (188817 => 188818)
--- trunk/Source/WebInspectorUI/UserInterface/Models/ScriptSyntaxTree.js 2015-08-22 02:32:41 UTC (rev 188817)
+++ trunk/Source/WebInspectorUI/UserInterface/Models/ScriptSyntaxTree.js 2015-08-22 03:27:24 UTC (rev 188818)
@@ -731,9 +731,14 @@
kind: node.kind,
static: node.static
};
+ if (result.kind === "get" || result.kind === "set") {
+ const length = result.key.range[1] - result.key.range[0];
+ result.value.getterOrSetterRange = node.range;
+ result.value.getterOrSetterRange[1] = node.range[0] + length;
+ } else
+ result.value.getterOrSetterRange = result.key.range;
// FIXME: <https://webkit.org/b/143171> Web Inspector: Improve Type Profiler Support for ES6 Syntax
result.value.isGetterOrSetter = true;
- result.value.getterOrSetterRange = result.key.range;
break;
case "NewExpression":
result = {
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes