internal PropertyPattern(Context cx, PropertyPatternClauseSyntax pp, IExpressionParentEntity parent, int child) : base(new ExpressionInfo(cx, Type.Create(cx, null), cx.Create(pp.GetLocation()), ExprKind.PROPERTY_PATTERN, parent, child, false, null)) { child = 0; foreach (var sub in pp.Subpatterns) { var p = cx.CreatePattern(sub.Pattern, this, child++); cx.Emit(Tuples.exprorstmt_name(p, sub.NameColon.Name.ToString())); } }
internal PropertyPattern(Context cx, PropertyPatternClauseSyntax pp, IExpressionParentEntity parent, int child) : base(new ExpressionInfo(cx, null, cx.CreateLocation(pp.GetLocation()), ExprKind.PROPERTY_PATTERN, parent, child, false, null)) { child = 0; var trapFile = cx.TrapWriter.Writer; foreach (var sub in pp.Subpatterns) { var p = Expressions.Pattern.Create(cx, sub.Pattern, this, child++); trapFile.exprorstmt_name(p, sub.NameColon.Name.ToString()); } }
internal PropertyPattern(Context cx, PropertyPatternClauseSyntax pp, IExpressionParentEntity parent, int child) : base(new ExpressionInfo(cx, null, cx.CreateLocation(pp.GetLocation()), ExprKind.PROPERTY_PATTERN, parent, child, false, null)) { child = 0; foreach (var sub in pp.Subpatterns) { if (sub.ExpressionColon is null) { Context.ModelError(sub, "Expected to find 'Expression:' in pattern."); continue; } MakeExpressions(cx, this, sub, child++); } }