@@ -114,7 +114,7 @@ internal JContainer(JContainer other)
114
114
int i = 0 ;
115
115
foreach ( JToken child in other )
116
116
{
117
- AddInternal ( i , child , false ) ;
117
+ TryAddInternal ( i , child , false ) ;
118
118
i ++ ;
119
119
}
120
120
@@ -349,7 +349,7 @@ internal JToken EnsureParentToken(JToken? item, bool skipParentCheck)
349
349
350
350
internal abstract int IndexOfItem ( JToken ? item ) ;
351
351
352
- internal virtual void InsertItem ( int index , JToken ? item , bool skipParentCheck )
352
+ internal virtual bool InsertItem ( int index , JToken ? item , bool skipParentCheck )
353
353
{
354
354
IList < JToken > children = ChildrenTokens ;
355
355
@@ -396,6 +396,8 @@ internal virtual void InsertItem(int index, JToken? item, bool skipParentCheck)
396
396
OnCollectionChanged ( new NotifyCollectionChangedEventArgs ( NotifyCollectionChangedAction . Add , item , index ) ) ;
397
397
}
398
398
#endif
399
+
400
+ return true ;
399
401
}
400
402
401
403
internal virtual void RemoveItemAt ( int index )
@@ -633,12 +635,17 @@ internal virtual void ValidateToken(JToken o, JToken? existing)
633
635
/// <param name="content">The content to be added.</param>
634
636
public virtual void Add ( object ? content )
635
637
{
636
- AddInternal ( ChildrenTokens . Count , content , false ) ;
638
+ TryAddInternal ( ChildrenTokens . Count , content , false ) ;
639
+ }
640
+
641
+ internal bool TryAdd ( object ? content )
642
+ {
643
+ return TryAddInternal ( ChildrenTokens . Count , content , false ) ;
637
644
}
638
645
639
646
internal void AddAndSkipParentCheck ( JToken token )
640
647
{
641
- AddInternal ( ChildrenTokens . Count , token , true ) ;
648
+ TryAddInternal ( ChildrenTokens . Count , token , true ) ;
642
649
}
643
650
644
651
/// <summary>
@@ -647,10 +654,10 @@ internal void AddAndSkipParentCheck(JToken token)
647
654
/// <param name="content">The content to be added.</param>
648
655
public void AddFirst ( object ? content )
649
656
{
650
- AddInternal ( 0 , content , false ) ;
657
+ TryAddInternal ( 0 , content , false ) ;
651
658
}
652
659
653
- internal void AddInternal ( int index , object ? content , bool skipParentCheck )
660
+ internal bool TryAddInternal ( int index , object ? content , bool skipParentCheck )
654
661
{
655
662
if ( IsMultiContent ( content ) )
656
663
{
@@ -659,15 +666,17 @@ internal void AddInternal(int index, object? content, bool skipParentCheck)
659
666
int multiIndex = index ;
660
667
foreach ( object c in enumerable )
661
668
{
662
- AddInternal ( multiIndex , c , skipParentCheck ) ;
669
+ TryAddInternal ( multiIndex , c , skipParentCheck ) ;
663
670
multiIndex ++ ;
664
671
}
672
+
673
+ return true ;
665
674
}
666
675
else
667
676
{
668
677
JToken item = CreateFromContent ( content ) ;
669
678
670
- InsertItem ( index , item , skipParentCheck ) ;
679
+ return InsertItem ( index , item , skipParentCheck ) ;
671
680
}
672
681
}
673
682
0 commit comments