clarity-pattern-parser 11.0.14 → 11.0.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -859,18 +859,19 @@ class Reference {
859
859
  }
860
860
  parse(cursor) {
861
861
  this._firstIndex = cursor.index;
862
- this._cacheAncestors();
862
+ const pattern = this.getReferencePatternSafely();
863
+ this._cacheAncestors(pattern.id);
863
864
  if (this._isBeyondRecursiveAllowance()) {
864
865
  cursor.recordErrorAt(this._firstIndex, this._firstIndex, this);
865
866
  return null;
866
867
  }
867
- return this.getReferencePatternSafely().parse(cursor);
868
+ return pattern.parse(cursor);
868
869
  }
869
- _cacheAncestors() {
870
+ _cacheAncestors(id) {
870
871
  if (!this._cachedAncestors) {
871
872
  let pattern = this.parent;
872
873
  while (pattern != null) {
873
- if (pattern.type === this.type && pattern.id === this._id) {
874
+ if (pattern.id === id) {
874
875
  this._recursiveAncestors.push(pattern);
875
876
  }
876
877
  pattern = pattern.parent;