public MofSpecificationSet(MofSpecification[] specifications) { this.ClassDeclarations = new Dictionary <string, ClassDeclaration>(StringComparer.OrdinalIgnoreCase); if (specifications != null) { this.m_specifications = specifications; MofSpecification[] mofSpecificationArray = specifications; for (int i = 0; i < (int)mofSpecificationArray.Length; i++) { MofSpecification mofSpecification = mofSpecificationArray[i]; MofProduction[] productions = mofSpecification.Productions; int num = 0; while (num < (int)productions.Length) { MofProduction mofProduction = productions[num]; MofProduction.ProductionType type = mofProduction.Type; switch (type) { case MofProduction.ProductionType.ClassDeclaration: { ClassDeclaration classDeclaration = (ClassDeclaration)mofProduction; try { this.ClassDeclarations.Add(classDeclaration.Name.FullName, classDeclaration); num++; continue; } catch (ArgumentException argumentException1) { ArgumentException argumentException = argumentException1; argumentException.ToString(); throw new ParseFailureException(string.Concat("class ", classDeclaration.Name.FullName, " is already defined"), classDeclaration.Location); } } case MofProduction.ProductionType.CompilerDirective: case MofProduction.ProductionType.InstanceDeclaration: { num++; continue; } } throw new InvalidOperationException(); } } return; } else { throw new ArgumentException(); } }
public MofSpecificationSet(MofSpecification[] specifications) { this.ClassDeclarations = new Dictionary<string, ClassDeclaration>(StringComparer.OrdinalIgnoreCase); if (specifications != null) { this.m_specifications = specifications; MofSpecification[] mofSpecificationArray = specifications; for (int i = 0; i < (int)mofSpecificationArray.Length; i++) { MofSpecification mofSpecification = mofSpecificationArray[i]; MofProduction[] productions = mofSpecification.Productions; int num = 0; while (num < (int)productions.Length) { MofProduction mofProduction = productions[num]; MofProduction.ProductionType type = mofProduction.Type; switch (type) { case MofProduction.ProductionType.ClassDeclaration: { ClassDeclaration classDeclaration = (ClassDeclaration)mofProduction; try { this.ClassDeclarations.Add(classDeclaration.Name.FullName, classDeclaration); num++; continue; } catch (ArgumentException argumentException1) { ArgumentException argumentException = argumentException1; argumentException.ToString(); throw new ParseFailureException(string.Concat("class ", classDeclaration.Name.FullName, " is already defined"), classDeclaration.Location); } } case MofProduction.ProductionType.CompilerDirective: case MofProduction.ProductionType.InstanceDeclaration: { num++; continue; } } throw new InvalidOperationException(); } } return; } else { throw new ArgumentException(); } }