private Expression GenUnary(UnaryExpr elem) { Contract.Requires <ArgumentNullException>(elem != null); Contract.Ensures(Contract.Result <Expression>() != null); var value = GenElem(elem.Value); var binder = SearchBinder(elem.ExprType); if (binder != null) { return(Expression.Dynamic(binder, typeof(object), value)); } throw Error("未定義の演算が現れました。", elem.Range.Start); }
private Expression GenUnary(UnaryExpr elem) { Contract.Requires<ArgumentNullException>(elem != null); Contract.Ensures(Contract.Result<Expression>() != null); var value = GenElem(elem.Value); var binder = SearchBinder(elem.ExprType); if (binder != null) return Expression.Dynamic(binder, typeof(object), value); throw Error("未定義の演算が現れました。", elem.Range.Start); }