public _Generic(SExpr sexp, Expression._Symbol typeName, StrictList<TypeReference> typeParams) : base(sexp) { TypeName = typeName; TypeParams = typeParams; }
public void ShowVisual(Visual visual) { lock (_visuals) { _visuals = visual | _visuals; _control.Visual = Visual.VStack (HAlign.Left, _visuals.Collect (v => List.Create (v, Visual.HRuler ()))); Invalidate (); } }
protected override void OnPaint(PaintEventArgs pe) { base.OnPaint (pe); var focused = GetFocusedExpr (); if (_visual != null) { pe.Graphics.SmoothingMode = SmoothingMode.AntiAlias; var ctx = new GraphicsContext (pe.Graphics, focused, VisualStyle.Default); GraphicsContext.HitRects = StrictList<HitRect>.Empty; _visual.Render (ctx, _size); _hitRects = GraphicsContext.HitRects; } }
public static TypeReference Generic(SExpr sexp, Expression._Symbol typeName, StrictList<TypeReference> typeParams) { return new _Generic (sexp, typeName, typeParams); }
public static Expression LetRec(SExpr sexp, StrictList<Tuple<VariableDefinition, Expression>> definitions, Expression body) { return new _LetRec (sexp, definitions, body); }
public static Expression Lambda(SExpr sexp, StrictList<VariableDefinition> parameters, Expression functionBody) { return new _Lambda (sexp, parameters, functionBody); }
public static Expression Application(SExpr sexp, Expression function, StrictList<Expression> parameters) { return new _Application (sexp, function, parameters); }
public _LetRec(SExpr sexp, StrictList<Tuple<VariableDefinition, Expression>> definitions, Expression body) : base(sexp) { Definitions = definitions; Body = body; }
public _Lambda(SExpr sexp, StrictList<VariableDefinition> parameters, Expression functionBody) : base(sexp) { Parameters = parameters; FunctionBody = functionBody; }
public _Application(SExpr sexp, Expression function, StrictList<Expression> parameters) : base(sexp) { Function = function; Parameters = parameters; }