Beispiel #1
0
        public void DisplayConstraints(IList <ClassifierConstraintBlock> constraints)
        {
            StringBuilder sb = new StringBuilder();
            PrintVisitor  pv = new PrintVisitor();

            sb.Append("/* Constraints suggested from the PIM schema */");
            sb.AppendLine();

            foreach (ClassifierConstraintBlock constraint in constraints)
            {
                if (constraint.Self.Name == VariableDeclaration.SELF)
                {
                    sb.AppendFormat("context {0}", ((Component)constraint.Context.Tag).Name);
                }
                else
                {
                    sb.AppendFormat("context {0}:{1}", constraint.Self.Name, ((Component)constraint.Context.Tag).Name);
                }
                sb.AppendLine();
                foreach (InvariantWithMessage invariant in constraint.Invariants)
                {
                    string invariantStr = pv.AstToString(invariant.Constraint);
                    sb.AppendFormat("inv: ");
                    sb.Append(invariantStr);
                    sb.AppendLine();
                }
                sb.AppendLine();
            }

            tbConstraints.avalonEdit.Text = sb.ToString();
        }