anchor.diff:    exit lRealResult;
   end;
   
  +method GlobalObject.StringLocaleCompare(aCaller: ExecutionContext;aSelf: Object; params args: Array of Object): Object;
  +begin
  +  if (aSelf = nil) or (aSelf = Undefined.Instance) then RaiseNativeError(NativeErrorType.TypeError, 'null/undefined not coercible');
  +  exit String.Compare(Utilities.GetObjAsString(aSelf), Utilities.GetArgAsString(args, 0), StringComparison.CurrentCulture);
  +end;
  +
  +method GlobalObject.StringTrim(aCaller: ExecutionContext;aSelf: Object; params args: Array of Object): Object;
  +begin
  +  if (aSelf = nil) or (aSelf = Undefined.Instance) then RaiseNativeError(NativeErrorType.TypeError, 'null/undefined not coercible');
  +  exit Utilities.GetObjAsString(aSelf).Trim();
  +end;
  +
   method EcmaScriptStringObject.Call(context: ExecutionContext; params args: array of Object): Object;
   begin
     exit Root.StringCall(context, self, args);
  
positive.code:     method StringConcat(aCaller: ExecutionContext;aSelf: Object; params args: Array of Object): Object;
      method StringIndexOf(aCaller: ExecutionContext;aSelf: Object; params args: Array of Object): Object;
      method StringLastIndexOf(aCaller: ExecutionContext;aSelf: Object; params args: Array of Object): Object;
      method StringMatch(aCaller: ExecutionContext;aSelf: Object; params args: Array of Object): Object;
      method StringReplace(aCaller: ExecutionContext;aSelf: Object; params args: Array of Object): Object;
      method StringSearch(aCaller: ExecutionContext;aSelf: Object; params args: Array of Object): Object;
  
negative.code:   StringPrototype.Values.Add('toUpperCase', PropertyValue.NotEnum(new EcmaScriptFunctionObject(self, 'toUpperCase', @StringToUpperCase, 0)));
    StringPrototype.Values.Add('toLocaleLowerCase', PropertyValue.NotEnum(new EcmaScriptFunctionObject(self, 'toLocaleLowerCase', @StringToLocaleLowerCase, 0)));
    StringPrototype.Values.Add('toLocaleUpperCase', PropertyValue.NotEnum(new EcmaScriptFunctionObject(self, 'toLocaleUpperCase', @StringToLocaleUpperCase, 0)));
    
    StringPrototype.Values.Add('localeCompare', PropertyValue.NotEnum(new EcmaScriptFunctionObject(self, 'localeCompare', @StringLocaleCompare, 1)));
    StringPrototype.Values.Add('trim', PropertyValue.NotEnum(new EcmaScriptFunctionObject(self, 'trim', @StringTrim, 0)));
  end;
  
  method GlobalObject.StringCall(aCaller: ExecutionContext;aSelf: Object; params args: Array of Object): Object;
  