public Expression Bonded(ValueHandler handler) { if (schema.IsBonded) { return(handler(reader.ReadMarshaledBonded())); } var newBonded = bondedFactory(reader.Param, Expression.Constant(schema)); return(Expression.Block( handler(newBonded), SkipStruct())); }
public Expression Bonded(ValueHandler handler) { if (schema.IsBonded) { return(handler(reader.ReadMarshaledBonded())); } var bondedCtor = typeof(BondedVoid <>).MakeGenericType(typeof(R)) .GetConstructor(typeof(R), typeof(RuntimeSchema)); return(Expression.Block( handler(Expression.New(bondedCtor, reader.Param, Expression.Constant(schema))), SkipStruct())); }