// Token: 0x0600081A RID: 2074 RVA: 0x0002D3DB File Offset: 0x0002B5DB public void AssertValidState(ContentLineNodeType nodeType) { this.CheckDisposed("AssertValidState"); if ((this.nodeType & nodeType) == ContentLineNodeType.DocumentStart) { throw new InvalidOperationException(CalendarStrings.InvalidReaderState); } }
// Token: 0x06000810 RID: 2064 RVA: 0x0002C908 File Offset: 0x0002AB08 private bool Read() { ContentLineNodeType contentLineNodeType = this.nodeType; switch (contentLineNodeType) { case ContentLineNodeType.DocumentStart: case ContentLineNodeType.ComponentStart: goto IL_E3; case ContentLineNodeType.ComponentEnd: if (this.componentStack.Count > 0) { this.componentName = this.componentStack.Pop(); goto IL_E3; } goto IL_E3; case ContentLineNodeType.ComponentStart | ContentLineNodeType.ComponentEnd: case ContentLineNodeType.ComponentStart | ContentLineNodeType.Parameter: case ContentLineNodeType.ComponentEnd | ContentLineNodeType.Parameter: case ContentLineNodeType.ComponentStart | ContentLineNodeType.ComponentEnd | ContentLineNodeType.Parameter: break; case ContentLineNodeType.Parameter: case ContentLineNodeType.Property: if (this.parser.State == ContentLineParser.States.ParamName || this.nodeType == ContentLineNodeType.Parameter) { while (this.ReadNextParameter()) { } } if (this.parser.State == ContentLineParser.States.Value || this.parser.State == ContentLineParser.States.ValueStart) { this.ReadPropertyValue(false); } if (this.parser.State == ContentLineParser.States.ValueStartComma || this.parser.State == ContentLineParser.States.ValueStartSemiColon) { while (this.ReadNextPropertyValue()) { } goto IL_E3; } goto IL_E3; default: if (contentLineNodeType == ContentLineNodeType.BeforeComponentStart) { this.nodeType = ContentLineNodeType.ComponentStart; return(true); } if (contentLineNodeType == ContentLineNodeType.BeforeComponentEnd) { this.nodeType = ContentLineNodeType.ComponentEnd; return(true); } break; } return(false); IL_E3: if (this.parser.State == ContentLineParser.States.End) { if (this.componentStack.Count != 0) { this.complianceTracker.SetComplianceStatus(ComplianceStatus.StreamTruncated | ComplianceStatus.NotAllComponentsClosed, CalendarStrings.NotAllComponentsClosed); this.nodeType = ContentLineNodeType.BeforeComponentEnd; } else { this.nodeType = ContentLineNodeType.DocumentEnd; } return(false); } this.nodeType = ContentLineNodeType.Property; this.propertyName = this.ReadName(); this.parameterValueRead = false; this.propertyValueRead = false; if (this.parser.State == ContentLineParser.States.End) { if (0 < this.propertyName.Length) { this.complianceTracker.SetComplianceStatus(ComplianceStatus.StreamTruncated | ComplianceStatus.PropertyTruncated, CalendarStrings.PropertyTruncated); } if (0 < this.componentStack.Count) { this.complianceTracker.SetComplianceStatus(ComplianceStatus.StreamTruncated | ComplianceStatus.NotAllComponentsClosed, CalendarStrings.NotAllComponentsClosed); this.nodeType = ContentLineNodeType.BeforeComponentEnd; } else { this.nodeType = ContentLineNodeType.DocumentEnd; } return(false); } if (this.propertyName.Equals("BEGIN", StringComparison.OrdinalIgnoreCase)) { if (this.parser.State == ContentLineParser.States.ParamName) { this.complianceTracker.SetComplianceStatus(ComplianceStatus.ParametersOnComponentTag, CalendarStrings.ParametersNotPermittedOnComponentTag); while (this.ReadNextParameter()) { } } if (this.parser.State != ContentLineParser.States.End) { this.componentStack.Push(this.componentName); this.componentName = this.ReadPropertyValue(true).Trim(); if (this.componentName.Length == 0) { this.complianceTracker.SetComplianceStatus(ComplianceStatus.EmptyComponentName, CalendarStrings.EmptyComponentName); } this.nodeType = ContentLineNodeType.BeforeComponentStart; } } else if (this.propertyName.Equals("END", StringComparison.OrdinalIgnoreCase)) { if (this.parser.State == ContentLineParser.States.ParamName) { this.complianceTracker.SetComplianceStatus(ComplianceStatus.ParametersOnComponentTag, CalendarStrings.ParametersNotPermittedOnComponentTag); while (this.ReadNextParameter()) { } } if (this.parser.State != ContentLineParser.States.End) { string text = this.ReadPropertyValue(true).Trim(); if (this.componentStack.Count == 0) { this.complianceTracker.SetComplianceStatus(ComplianceStatus.EndTagWithoutBegin, CalendarStrings.EndTagWithoutBegin); } if (!text.Equals(this.componentName, StringComparison.OrdinalIgnoreCase)) { if (text.Length == 0) { this.complianceTracker.SetComplianceStatus(ComplianceStatus.EmptyComponentName, CalendarStrings.EmptyComponentName); } this.complianceTracker.SetComplianceStatus(ComplianceStatus.ComponentNameMismatch, CalendarStrings.ComponentNameMismatch); } this.nodeType = ContentLineNodeType.BeforeComponentEnd; } } else if (this.propertyName.Length == 0) { if (0 < this.componentStack.Count) { this.complianceTracker.SetComplianceStatus(ComplianceStatus.EmptyPropertyName, CalendarStrings.EmptyPropertyName); } } else if (this.componentStack.Count == 0) { this.complianceTracker.SetComplianceStatus(ComplianceStatus.PropertyOutsideOfComponent, CalendarStrings.PropertyOutsideOfComponent); } return(true); }