From a7b9677270090fb4d5074ab7fca3f763a027b71c Mon Sep 17 00:00:00 2001 From: Sara Itani Date: Wed, 30 Mar 2016 11:26:38 -0700 Subject: [PATCH] Revert "Show full list of completions for Array/String/Number/Boolean/etc constructors" --- .../Analysis/Analysis/GlobalBuilder.cs | 111 ++---------------- .../Analysis/Analysis/OverloadResult.cs | 5 - .../Analysis/Values/BuiltinFunctionValue.cs | 7 -- 3 files changed, 11 insertions(+), 112 deletions(-) diff --git a/Nodejs/Product/Analysis/Analysis/GlobalBuilder.cs b/Nodejs/Product/Analysis/Analysis/GlobalBuilder.cs index 635e1b48d..79ecf5b86 100644 --- a/Nodejs/Product/Analysis/Analysis/GlobalBuilder.cs +++ b/Nodejs/Product/Analysis/Analysis/GlobalBuilder.cs @@ -226,7 +226,6 @@ private BuiltinFunctionValue ArrayFunction(out ExpandoValue arrayPrototype) { builtinEntry, "Array", NewArray, - ArrayOverloads(), null, arrayPrototype = new BuiltinObjectValue(builtinEntry) { SpecializedFunction( @@ -465,7 +464,7 @@ private BuiltinFunctionValue BooleanFunction(out AnalysisValue booleanPrototype) BuiltinFunction("valueOf"), }; booleanPrototype = prototype; - return new BuiltinFunctionValue(builtinEntry, "Boolean", BooleanOverloads(), null, prototype); + return new BuiltinFunctionValue(builtinEntry, "Boolean", null, prototype); } private BuiltinFunctionValue DateFunction() { @@ -773,7 +772,6 @@ private BuiltinFunctionValue ErrorFunction() { return new BuiltinFunctionValue( builtinEntry, "Error", - ErrorOverloads(), null, new BuiltinObjectValue(builtinEntry) { BuiltinFunction("constructor"), @@ -790,10 +788,9 @@ private BuiltinFunctionValue ErrorFunction(string errorName) { var builtinEntry = _analyzer._builtinEntry; return new BuiltinFunctionValue( - builtinEntry, - errorName, - ErrorOverloads(errorName), - null, + builtinEntry, + errorName, + null, new BuiltinObjectValue(builtinEntry) { BuiltinFunction("arguments"), BuiltinFunction("constructor"), @@ -832,7 +829,7 @@ private BuiltinFunctionValue FunctionFunction(out AnalysisValue functionPrototyp ReturningFunction("toString", _analyzer._emptyStringValue), }; functionPrototype = prototype; - return new BuiltinFunctionValue(builtinEntry, "Function", FunctionOverloads(), null, prototype); + return new BuiltinFunctionValue(builtinEntry, "Function", null, prototype); } private static IAnalysisSet ApplyFunction(FunctionValue func, Node node, AnalysisUnit unit, IAnalysisSet @this, IAnalysisSet[] args) { @@ -1034,7 +1031,7 @@ private BuiltinFunctionValue NumberFunction(out AnalysisValue numberPrototype) { }; numberPrototype = prototype; - return new BuiltinFunctionValue(builtinEntry, "Number", NumberOverloads(), null, prototype) { + return new BuiltinFunctionValue(builtinEntry, "Number", null, prototype) { Member("length", _analyzer.GetConstant(1.0)), Member("name", _analyzer.GetConstant("Number")), Member("arguments", _analyzer._nullInst), @@ -1116,9 +1113,8 @@ private BuiltinFunctionValue ObjectFunction(out ObjectValue objectPrototype, out return new SpecializedFunctionValue( builtinEntry, - "Object", + "Object", NewObject, - ObjectOverloads(), null, objectPrototype) { BuiltinFunction( @@ -1408,7 +1404,6 @@ private BuiltinFunctionValue RegExpFunction() { return new BuiltinFunctionValue( builtinEntry, "RegExp", - RegExpOverloads(), null, new BuiltinObjectValue(builtinEntry) { BuiltinFunction("compile"), @@ -1646,7 +1641,7 @@ private BuiltinFunctionValue StringFunction(out AnalysisValue stringPrototype) { }; stringPrototype = prototype; - return new BuiltinFunctionValue(builtinEntry, "String", StringOverloads(), null, prototype) { + return new BuiltinFunctionValue(builtinEntry, "String", null, prototype) { ReturningFunction("fromCharCode", _analyzer.GetConstant(String.Empty)), }; } @@ -1681,94 +1676,10 @@ private static IAnalysisSet StringToLowerCase(FunctionValue func, Node node, Ana return unit.Analyzer._emptyStringValue.SelfSet; } return res; - } - - #region Constructor Overloads - - private OverloadResult[] ArrayOverloads() { - return new OverloadResult[] { - new SimpleOverloadResult("Array", "Create a new and empty array."), - new SimpleOverloadResult("Array", "Create a new array with specific length.", - Parameter("length", "Length of the new array. Must be between 0 and 2^32-1, inclusive.")), - new SimpleOverloadResult("Array", "Create a new array with initial elements.", - Parameter("item1", "Initial element of the array."), - Parameter("item2", "Initial element of the array."), - Parameter("[...]", "Initial element of the array.")) - }; - } - - private OverloadResult[] StringOverloads() { - return new OverloadResult[] { - new SimpleOverloadResult( - "String", - "Create a new string.", - Parameter("thing", "Anything to be converted to a string. If unspecified, an empty string is returned.", isOptional: true) - ) - }; - } - - private OverloadResult[] NumberOverloads() { - return new OverloadResult[] { - new SimpleOverloadResult( - "Number", - "Create a new object wrapper for a numerical value.", - Parameter("value", "The numeric value of the number being created. If unspecified, 0 is returned.", isOptional: true) - ) - }; - } - - private OverloadResult[] BooleanOverloads() { - return new OverloadResult[] { - new SimpleOverloadResult( - "Boolean", - "Create a new object wrapper for a boolean value.", - Parameter("value", "The initial value of the Boolean object. In unspecified, is returned.", isOptional: true) - ) - }; - } - - private OverloadResult[] ErrorOverloads(string errorName = "Error") { - return new OverloadResult[] { - new SimpleOverloadResult( - errorName, - String.Format("Create an {0} object.", errorName), - Parameter("message", "Human-readable description of the error.", isOptional: true) - ) - }; - } - - private OverloadResult[] ObjectOverloads() { - return new OverloadResult[] { - new SimpleOverloadResult( - "Object", - "Create an object wrapper that corresponds to a given value.", - Parameter("value", "Any value. If the value is unspecified, null or undefined, returns an empty object.", isOptional: true)) - }; - } - - private OverloadResult[] RegExpOverloads() { - return new OverloadResult[] { - new SimpleOverloadResult("RegExp", "Create a regular expression for matching text with a pattern.", - Parameter("pattern", "The text of the regular expression"), - Parameter("flags", "A combination of g (global match), i (ignore case) and m (multiline).", isOptional: true)) - }; - } - - private OverloadResult[] FunctionOverloads() { - return new OverloadResult[] { - new SimpleOverloadResult("Function", "Create a new and empty function."), - new SimpleOverloadResult("Function", "Create a new function.", - Parameter("body", "A string containing the JavaScript statements comprising the function definition.")), - new SimpleOverloadResult("Function", "Create a new function with arguments.", - Parameter("arg...", "Name of argument of the function.", isOptional: true), - Parameter("body", "A string containing the JavaScript statements comprising the function definition.")) - }; - } - - #endregion - + } + #region Building Helpers - + private static MemberAddInfo Member(string name, AnalysisValue value) { return new MemberAddInfo(name, value); } diff --git a/Nodejs/Product/Analysis/Analysis/OverloadResult.cs b/Nodejs/Product/Analysis/Analysis/OverloadResult.cs index 7a5b85deb..92b191d6f 100644 --- a/Nodejs/Product/Analysis/Analysis/OverloadResult.cs +++ b/Nodejs/Product/Analysis/Analysis/OverloadResult.cs @@ -43,11 +43,6 @@ public virtual ParameterResult[] Parameters { class SimpleOverloadResult : OverloadResult { private readonly string _documentation; - - public SimpleOverloadResult(string name, string documentation) : base(name) { - _documentation = documentation; - } - public SimpleOverloadResult(string name, string documentation, params ParameterResult[] parameters) : base(name, parameters) { _documentation = documentation; diff --git a/Nodejs/Product/Analysis/Analysis/Values/BuiltinFunctionValue.cs b/Nodejs/Product/Analysis/Analysis/Values/BuiltinFunctionValue.cs index a6d489dd2..b6c591157 100644 --- a/Nodejs/Product/Analysis/Analysis/Values/BuiltinFunctionValue.cs +++ b/Nodejs/Product/Analysis/Analysis/Values/BuiltinFunctionValue.cs @@ -171,15 +171,8 @@ internal class SpecializedFunctionValue : BuiltinFunctionValue { public SpecializedFunctionValue(ProjectEntry projectEntry, string name, CallDelegate func, string documentation = null, ExpandoValue prototype = null, params ParameterResult[] signature) : base(projectEntry, name, documentation, prototype, signature) { _func = func; - } - - public SpecializedFunctionValue(ProjectEntry projectEntry, string name, CallDelegate func, OverloadResult[] overloads, string documentation = null, ExpandoValue prototype = null) - : base(projectEntry, name, overloads, documentation, prototype) - { - _func = func; } - public override IAnalysisSet Call(Node node, AnalysisUnit unit, IAnalysisSet @this, IAnalysisSet[] args) { return _func(this, node, unit, @this, args); }