Skip to content

Commit be2b997

Browse files
[MERGE #5693 @sharmasuraj0123] Fixes #5690: Add trimStart and trimEnd
Merge pull request #5693 from sharmasuraj0123:trimStart_trimEnd Fixes #5690
2 parents c666aa4 + ae77032 commit be2b997

20 files changed

+4745
-4659
lines changed

lib/Backend/JnHelperMethodList.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -484,8 +484,8 @@ HELPERCALL(String_ToLocaleUpperCase, Js::JavascriptString::EntryToLocaleUpperCas
484484
HELPERCALL(String_ToLowerCase, Js::JavascriptString::EntryToLowerCase, 0)
485485
HELPERCALL(String_ToUpperCase, Js::JavascriptString::EntryToUpperCase, 0)
486486
HELPERCALL(String_Trim, Js::JavascriptString::EntryTrim, 0)
487-
HELPERCALL(String_TrimLeft, Js::JavascriptString::EntryTrimLeft, 0)
488-
HELPERCALL(String_TrimRight, Js::JavascriptString::EntryTrimRight, 0)
487+
HELPERCALL(String_TrimLeft, Js::JavascriptString::EntryTrimStart, 0)
488+
HELPERCALL(String_TrimRight, Js::JavascriptString::EntryTrimEnd, 0)
489489
HELPERCALL(String_GetSz, Js::JavascriptString::GetSzHelper, 0)
490490
HELPERCALL(String_PadStart, Js::JavascriptString::EntryPadStart, 0)
491491
HELPERCALL(String_PadEnd, Js::JavascriptString::EntryPadEnd, 0)

lib/Runtime/Base/JnDirectFields.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -389,7 +389,9 @@ ENTRY(toUpperCase)
389389
ENTRY(toUTCString)
390390
ENTRY(trim)
391391
ENTRY(trimLeft)
392+
ENTRY(trimStart)
392393
ENTRY(trimRight)
394+
ENTRY(trimEnd)
393395
ENTRY2(true_, _u("true")) // "true_" cannot be an identifier in C++ so using "true_" instead
394396
ENTRY(TypeError)
395397
ENTRY(undefined)

lib/Runtime/ByteCode/ByteCodeCacheReleaseFileVersion.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,6 @@
44
//-------------------------------------------------------------------------------------------------------
55
// NOTE: If there is a merge conflict the correct fix is to make a new GUID.
66

7-
// {FFAB17C6-6AD9-41BC-AFDA-2DC8E1D4C594}
7+
// {A7B3E50E-9870-4A74-A155-58021B9B2202}
88
const GUID byteCodeCacheReleaseFileVersion =
9-
{ 0xFFAB17C6, 0x6AD9, 0x41BC, { 0xAF, 0xDA, 0x2D, 0xC8, 0xE1, 0xD4, 0xC5, 0x94 } };
9+
{ 0xA7B3E50E, 0x9870, 0x4A74, { 0xA1, 0x55, 0x58, 0x02, 0x1B, 0x9B, 0x22, 0x02 } };

lib/Runtime/Library/InJavascript/Intl.js.bc.32b.h

Lines changed: 1028 additions & 1028 deletions
Large diffs are not rendered by default.

lib/Runtime/Library/InJavascript/Intl.js.bc.64b.h

Lines changed: 1019 additions & 1019 deletions
Large diffs are not rendered by default.

lib/Runtime/Library/InJavascript/Intl.js.nojit.bc.32b.h

Lines changed: 1024 additions & 1024 deletions
Large diffs are not rendered by default.

lib/Runtime/Library/InJavascript/Intl.js.nojit.bc.64b.h

Lines changed: 1037 additions & 1037 deletions
Large diffs are not rendered by default.

lib/Runtime/Library/JavascriptBuiltInFunctionList.h

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -245,8 +245,10 @@ BUILTIN(JavascriptString, ToLowerCase, EntryToLowerCase, FunctionInfo::ErrorOnNe
245245
BUILTIN(JavascriptString, ToString, EntryToString, FunctionInfo::ErrorOnNew | FunctionInfo::HasNoSideEffect)
246246
BUILTIN(JavascriptString, ToUpperCase, EntryToUpperCase, FunctionInfo::ErrorOnNew)
247247
BUILTIN(JavascriptString, Trim, EntryTrim, FunctionInfo::ErrorOnNew)
248-
BUILTIN(JavascriptString, TrimLeft, EntryTrimLeft, FunctionInfo::ErrorOnNew)
249-
BUILTIN(JavascriptString, TrimRight, EntryTrimRight, FunctionInfo::ErrorOnNew)
248+
BUILTIN(JavascriptString, TrimLeft, EntryTrimStart, FunctionInfo::ErrorOnNew)
249+
BUILTIN(JavascriptString, TrimStart, EntryTrimStart, FunctionInfo::ErrorOnNew)
250+
BUILTIN(JavascriptString, TrimRight, EntryTrimEnd, FunctionInfo::ErrorOnNew)
251+
BUILTIN(JavascriptString, TrimEnd, EntryTrimEnd, FunctionInfo::ErrorOnNew)
250252
BUILTIN(JavascriptString, Repeat, EntryRepeat, FunctionInfo::ErrorOnNew)
251253
BUILTIN(JavascriptString, StartsWith, EntryStartsWith, FunctionInfo::ErrorOnNew)
252254
BUILTIN(JavascriptString, EndsWith, EntryEndsWith, FunctionInfo::ErrorOnNew)

lib/Runtime/Library/JavascriptLibrary.cpp

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3405,9 +3405,15 @@ namespace Js
34053405
case PropertyIds::trimLeft:
34063406
return BuiltinFunction::JavascriptString_TrimLeft;
34073407

3408+
case PropertyIds::trimStart:
3409+
return BuiltinFunction::JavascriptString_TrimStart;
3410+
34083411
case PropertyIds::trimRight:
34093412
return BuiltinFunction::JavascriptString_TrimRight;
34103413

3414+
case PropertyIds::trimEnd:
3415+
return BuiltinFunction::JavascriptString_TrimEnd;
3416+
34113417
case PropertyIds::padStart:
34123418
return BuiltinFunction::JavascriptString_PadStart;
34133419

@@ -3993,8 +3999,10 @@ namespace Js
39933999
/* No inlining String_StartsWith */ library->AddFunctionToLibraryObject(stringPrototype, PropertyIds::startsWith, &JavascriptString::EntryInfo::StartsWith, 1);
39944000
/* No inlining String_EndsWith */ library->AddFunctionToLibraryObject(stringPrototype, PropertyIds::endsWith, &JavascriptString::EntryInfo::EndsWith, 1);
39954001
/* No inlining String_Includes */ library->AddFunctionToLibraryObject(stringPrototype, PropertyIds::includes, &JavascriptString::EntryInfo::Includes, 1);
3996-
builtinFuncs[BuiltinFunction::JavascriptString_TrimLeft] = library->AddFunctionToLibraryObject(stringPrototype, PropertyIds::trimLeft, &JavascriptString::EntryInfo::TrimLeft, 0);
3997-
builtinFuncs[BuiltinFunction::JavascriptString_TrimRight] = library->AddFunctionToLibraryObject(stringPrototype, PropertyIds::trimRight, &JavascriptString::EntryInfo::TrimRight, 0);
4002+
builtinFuncs[BuiltinFunction::JavascriptString_TrimStart] = library->AddFunctionToLibraryObject(stringPrototype, PropertyIds::trimStart, &JavascriptString::EntryInfo::TrimStart, 0);
4003+
library->AddMember(stringPrototype, PropertyIds::trimLeft, builtinFuncs[BuiltinFunction::JavascriptString_TrimStart], PropertyBuiltInMethodDefaults);
4004+
builtinFuncs[BuiltinFunction::JavascriptString_TrimEnd] = library->AddFunctionToLibraryObject(stringPrototype, PropertyIds::trimEnd, &JavascriptString::EntryInfo::TrimEnd, 0);
4005+
library->AddMember(stringPrototype, PropertyIds::trimRight, builtinFuncs[BuiltinFunction::JavascriptString_TrimEnd], PropertyBuiltInMethodDefaults);
39984006
}
39994007

40004008
library->AddFunctionToLibraryObjectWithName(stringPrototype, PropertyIds::_symbolIterator, PropertyIds::_RuntimeFunctionNameId_iterator, &JavascriptString::EntryInfo::SymbolIterator, 0);
@@ -7460,8 +7468,8 @@ namespace Js
74607468
REG_OBJECTS_LIB_FUNC(startsWith, JavascriptString::EntryStartsWith);
74617469
REG_OBJECTS_LIB_FUNC(endsWith, JavascriptString::EntryEndsWith);
74627470
REG_OBJECTS_LIB_FUNC(includes, JavascriptString::EntryIncludes);
7463-
REG_OBJECTS_LIB_FUNC(trimLeft, JavascriptString::EntryTrimLeft);
7464-
REG_OBJECTS_LIB_FUNC(trimRight, JavascriptString::EntryTrimRight);
7471+
REG_OBJECTS_LIB_FUNC(trimLeft, JavascriptString::EntryTrimStart);
7472+
REG_OBJECTS_LIB_FUNC(trimRight, JavascriptString::EntryTrimEnd);
74657473

74667474
}
74677475

lib/Runtime/Library/JavascriptString.cpp

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2384,7 +2384,7 @@ namespace Js
23842384
return TrimLeftRightHelper<true /*trimLeft*/, true /*trimRight*/>(pThis, scriptContext);
23852385
}
23862386

2387-
Var JavascriptString::EntryTrimLeft(RecyclableObject* function, CallInfo callInfo, ...)
2387+
Var JavascriptString::EntryTrimStart(RecyclableObject* function, CallInfo callInfo, ...)
23882388
{
23892389
PROBE_STACK(function->GetScriptContext(), Js::Constants::MinStackDefault);
23902390

@@ -2405,8 +2405,7 @@ namespace Js
24052405
return TrimLeftRightHelper< true /*trimLeft*/, false /*trimRight*/>(pThis, scriptContext);
24062406
}
24072407

2408-
2409-
Var JavascriptString::EntryTrimRight(RecyclableObject* function, CallInfo callInfo, ...)
2408+
Var JavascriptString::EntryTrimEnd(RecyclableObject* function, CallInfo callInfo, ...)
24102409
{
24112410
PROBE_STACK(function->GetScriptContext(), Js::Constants::MinStackDefault);
24122411

0 commit comments

Comments
 (0)