protected void ContractTo(BnfiTermConversion target) { if (!this.IsContractible) { GrammarHelper.ThrowGrammarErrorException(GrammarErrorLevel.Error, "This value should not be a right-value: {0}", this.Name); } target.RuleRaw = this.RuleRaw; target.SetState(this); this.RuleRaw = null; this.ClearState(); this.hasBeenContracted = true; }
protected void SetState(BnfiTermConversion source) { this.bnfTerm = source.bnfTerm; this.value = source.value; this.defaultValue = source.defaultValue; this.isOptionalValue = source.isOptionalValue; this.Flags = source.Flags; this.AstConfig = source.AstConfig; this.inverseValueConverterForUnparse = source.inverseValueConverterForUnparse; if (this.UtokenizerForUnparse != null) { this.UtokenizerForUnparse = source.UtokenizerForUnparse; } }
public static BnfiTermConversion <TDOut> Cast <TDOut>(this Terminal terminal) { return(BnfiTermConversion.Cast <TDOut>(terminal)); }
public static BnfiTermConversionTL ConvertValue(this IBnfiTermTL bnfiTerm, ValueConverter <object, object> valueConverter, ValueConverter <object, object> inverseValueConverterForUnparse) { return(BnfiTermConversion.Convert(bnfiTerm, valueConverter, inverseValueConverterForUnparse)); }
public static BnfiTermNoAst For <T>(IBnfiTerm <T> bnfTerm) { return(new BnfiTermNoAst(bnfTerm.AsBnfTerm(), BnfiTermConversion.NoUnparseByInverseCreatorFromNoAst <object>())); }
public static ValueConverter <TDIn, TDOut> NoUnparseByInverse <TDIn, TDOut>() { return(BnfiTermConversion.NoUnparseByInverse <TDIn, TDOut>()); }
public static BnfiTermConversion <T> QRef <T>(this IBnfiTerm <T> bnfTerm, T defaultValue) where T : class { return(BnfiTermConversion.ConvertOptRef(bnfTerm, defaultValue)); }
public static BnfiTermConversion <T> QRef <T>(this IBnfiTerm <T> bnfTerm) where T : class { return(BnfiTermConversion.ConvertOptRef(bnfTerm)); }
public static BnfiTermConversion <TDOut> IntroConstantTerminal <TDOut>(this BnfiTermConstant <TDOut> bnfiTermConstant) { return(BnfiTermConversion.IntroConstantTerminal <TDOut>(bnfiTermConstant)); }
public static BnfiTermConversion <TDOut> IntroConstantTerminal <TDOut>(this ConstantTerminal constantTerminal) { return(BnfiTermConversion.IntroConstantTerminal <TDOut>(constantTerminal)); }
public static BnfiTermConversion <string> IntroStringLiteral(this StringLiteral stringLiteral) { return(BnfiTermConversion.IntroStringLiteral(stringLiteral)); }
public static BnfiTermConversion <string> IntroIdentifier(this IdentifierTerminal identifierTerminal) { return(BnfiTermConversion.IntroIdentifier(identifierTerminal)); }
public static BnfiTermConversion <TNumberLiteral> IntroNumberLiteral <TNumberLiteral>(this NumberLiteral numberLiteral, NumberLiteralInfo numberLiteralInfo) where TNumberLiteral : INumberLiteral, new() { return(BnfiTermConversion.IntroNumberLiteral <TNumberLiteral>(numberLiteral, numberLiteralInfo)); }
public static BnfiTermConversionTL IntroValue(this Terminal terminal, object value, bool astForChild = true) { return(BnfiTermConversion.Intro(terminal, value, astForChild)); }
public static BnfiTermConversion <TDOut> Cast <TDIn, TDOut>(this IBnfiTerm <TDIn> bnfTerm, IBnfiTerm <TDOut> dummyBnfTerm) { return(BnfiTermConversion.Cast <TDIn, TDOut>(bnfTerm)); }
public static BnfiTermConversion <T?> QVal <T>(this IBnfiTerm <T> bnfTerm) where T : struct { return(BnfiTermConversion.ConvertOptVal(bnfTerm)); }
public static BnfiTermConversion <TDOut> IntroValue <TDOut>(this Terminal terminal, ValueIntroducer <TDOut> valueIntroducer, bool astForChild = true) { return(BnfiTermConversion.Intro(terminal, valueIntroducer, astForChild)); }
public static BnfiTermConversion <T> QVal <T>(this IBnfiTerm <T> bnfTerm, T defaultValue) where T : struct { return(BnfiTermConversion.ConvertOptVal(bnfTerm, defaultValue)); }
public static BnfiTermConversion <TDOut> IntroValue <TDOut>(this Terminal terminal, ValueIntroducer <TDOut> valueIntroducer, ValueConverter <TDOut, object> inverseValueConverterForUnparse, bool astForChild = true) { return(BnfiTermConversion.Intro(terminal, valueIntroducer, inverseValueConverterForUnparse, astForChild)); }
public static BnfiTermConversion <TDOut> ConvertValue <TDIn, TDOut>(this IBnfiTerm <TDIn> bnfiTerm, ValueConverter <TDIn, TDOut> valueConverter, ValueConverter <TDOut, TDIn> inverseValueConverterForUnparse) { return(BnfiTermConversion.Convert(bnfiTerm, valueConverter, inverseValueConverterForUnparse)); }
public static BnfiTermConversion <TDOut> ConvertValue <TDOut>(this IBnfiTermTL bnfiTerm, ValueConverter <object, TDOut> valueConverter) { return(BnfiTermConversion.Convert(bnfiTerm, valueConverter)); }
public static ValueConverter <T, object> NoUnparseByInverse <T>() { return(BnfiTermConversion.NoUnparseByInverse <T>()); }
public static BnfiTermConversionTL ConvertValue(this IBnfiTermTL bnfiTerm, ValueConverter <object, object> valueConverter) { return(BnfiTermConversion.Convert(bnfiTerm, valueConverter)); }
public static ValueCreatorFromNoAst <object> NoUnparseByInverseCreatorFromNoAst() { return(BnfiTermConversion.NoUnparseByInverseCreatorFromNoAst()); }
public static BnfiTermNoAst For_(BnfTerm bnfTerm) { return(new BnfiTermNoAst(bnfTerm, BnfiTermConversion.NoUnparseByInverseCreatorFromNoAst <object>())); }