Sarcasm.Reflection.MetaGrammar.MetaGrammar C# (CSharp) Method

MetaGrammar() public method

public MetaGrammar ( Type grammarType ) : System
grammarType System.Type
return System
        public MetaGrammar(Type grammarType)
        {
            var grammarAttribute = grammarType.GetCustomAttribute<GrammarAttribute>();

            if (!IsGrammarType(grammarType))
                throw new ArgumentException("Type should be a grammar type, i.e. a subclass of Grammar with GrammarAttribute", "type");

            this.GrammarType = grammarType;
            this.GrammarAttribute = grammarAttribute;
            this.DomainType = grammarAttribute.DomainType;

            MetaFormatters = Util.CreateAndGetReadonlyCollection(out metaFormatters);
        }