public static BnfiTermConversion <TDOut> Convert <TDIn, TDOut>(IBnfiTerm <TDIn> bnfiTerm, ValueConverter <TDIn, TDOut> valueConverter, ValueConverter <TDOut, TDIn> inverseValueConverterForUnparse) { return(new BnfiTermConversion <TDOut>( bnfiTerm.AsBnfTerm(), ConvertValueConverterToValueIntroducer(valueConverter), CastValueConverter <TDOut, TDIn, TDOut, object>(inverseValueConverterForUnparse), defaultValue: default(TDOut), isOptionalValue: false, name: typeof(TDIn).Name.ToLower() + "_convertTo_" + typeof(TDOut).Name.ToLower(), astForChild: true )); }
internal static BnfiTermCollection <TCollectionType, TElementType> MakeStarRule <TCollectionType, TElementType>(BnfiTermCollection <TCollectionType, TElementType> bnfiTermCollection, BnfTerm delimiter, IBnfiTerm <TElementType> element) where TCollectionType : ICollection <TElementType>, new() { return((BnfiTermCollection <TCollectionType, TElementType>)_MakeStarRule(bnfiTermCollection, delimiter, element.AsBnfTerm())); }
public static Member <TDeclaringType> Bind <TDeclaringType, TMemberElementType, TValueElementType>(IBnfiTerm <TDeclaringType> dummyBnfiTerm, Expression <Func <TDeclaringType, IList <TMemberElementType> > > exprForFieldOrPropertyAccess, IBnfiTerm <IEnumerable <TValueElementType> > bnfiTerm) where TValueElementType : TMemberElementType { return(Bind(exprForFieldOrPropertyAccess, bnfiTerm.AsBnfTerm())); }
public static Member <TDeclaringType> Bind <TDeclaringType, TMemberType, TValueType>(Expression <Func <TDeclaringType, TMemberType> > exprForFieldOrPropertyAccess, IBnfiTerm <TValueType> bnfiTerm) where TValueType : TMemberType { return(Bind(exprForFieldOrPropertyAccess, bnfiTerm.AsBnfTerm())); }
public static MemberTL Bind <TMemberElementType, TValueElementType>(Expression <Func <IList <TMemberElementType> > > exprForFieldOrPropertyAccess, IBnfiTerm <IEnumerable <TValueElementType> > bnfiTerm) where TValueElementType : TMemberElementType { return(Bind(exprForFieldOrPropertyAccess, bnfiTerm.AsBnfTerm())); }
public static BnfiTermNoAst For <T>(IBnfiTerm <T> bnfTerm) { return(new BnfiTermNoAst(bnfTerm.AsBnfTerm(), BnfiTermConversion.NoUnparseByInverseCreatorFromNoAst <object>())); }
public static BnfiTermNoAst For <T>(IBnfiTerm <T> bnfTerm, ValueCreatorFromNoAst <T> valueCreatorFromNoAst) { return(new BnfiTermNoAst(bnfTerm.AsBnfTerm(), CastValueCreator(valueCreatorFromNoAst))); }