Exemplo n.º 1
0
        public override void ExtractVariables(IDictionary <string, ExtractedVariable> variables)
        {
            var vPart = Element.Condition as VariableConditionPart;

            if (vPart != null)
            {
                var xV = new ExtractedVariable(vPart.VariableName);
                xV.AddValue(true.ToString());
                variables.Add(xV.Name, xV);
            }

            var opPart = Element.Condition as OperationConditionPart;

            if (opPart != null)
            {
                ExtractVars(opPart, variables);
            }

            foreach (var elem in Element.ConditionTrueElements)
            {
                VariableExtractionFactory.ExtractVariables(elem, variables, Parms);
            }

            if (Element.ConditionFalseElements != null)
            {
                foreach (var elem in Element.ConditionFalseElements)
                {
                    VariableExtractionFactory.ExtractVariables(elem, variables, Parms);
                }
            }
        }
Exemplo n.º 2
0
        public override void ExtractVariables(IDictionary <string, ExtractedVariable> variables)
        {
            var itVar = GetVar(variables, Element.Variable.VariableName);

            itVar.AddValue("0");

            ExtractVar(variables, Element.Minimum, itVar);
            var minL = Element.Minimum as LiteralConditionPart;

            if (minL != null)
            {
                itVar.AddValue(minL.Value);
            }

            ExtractVar(variables, Element.Maximum, itVar);
            var maxL = Element.Maximum as LiteralConditionPart;

            if (maxL != null)
            {
                itVar.AddValue(maxL.Value);
            }

            foreach (var elem in Element.Elements)
            {
                VariableExtractionFactory.ExtractVariables(elem, variables, Parms);
            }

            variables.Remove(itVar.Name);
            foreach (var extractedVariable in variables.Values)
            {
                extractedVariable.ConvertVarNameToLink(itVar);
                itVar.ConvertVarNameToLink(extractedVariable);
            }
        }
        public override void ExtractVariables(IDictionary <string, ExtractedVariable> variables)
        {
            string variable;
            var    opCond = Element.EnumerationCondition as OperationConditionPart;

            if (opCond != null)
            {
                variable = ((VariableConditionPart)opCond.LeftSide).VariableName;
                NoteVars((VariableConditionPart)opCond.LeftSide, opCond.RightSide, variables);
            }
            else
            {
                variable = ((VariableConditionPart)Element.EnumerationCondition).VariableName;
                NoteArrayVar(variables, variable);
            }

            foreach (var elem in Element.Elements)
            {
                VariableExtractionFactory.ExtractVariables(elem, variables, Parms);
            }


            if (opCond != null)
            {
                var v = GetVar(variables, variable);
                variables.Remove(variable);
                foreach (var extractedVariable in variables.Values.ToArray())
                {
                    extractedVariable.ConvertVarNameToLink(v);
                    v.ConvertVarNameToLink(extractedVariable);
                }
            }
        }
Exemplo n.º 4
0
        public override void ExtractVariables(IDictionary <string, ExtractedVariable> variables)
        {
            var v = GetVar(variables, Element.Variable.VariableName);

            v.IsLocal = true;

            foreach (var elem in Element.Elements)
            {
                VariableExtractionFactory.ExtractVariables(elem, variables, Parms);
            }
        }
        public override void ExtractVariables(IDictionary <string, ExtractedVariable> variables)
        {
            foreach (var elem in Element.Elements)
            {
                VariableExtractionFactory.ExtractVariables(elem, variables, Parms);
            }


            foreach (var v in variables.Values.ToArray())
            {
                foreach (var extractedVariable in variables.Values.ToArray())
                {
                    extractedVariable.ConvertVarNameToLink(v);
                    v.ConvertVarNameToLink(extractedVariable);
                }
            }

            foreach (var v in variables.Values.ToArray())
            {
                v.ExpandLinks();
                v.GuessType();
            }
        }