Пример #1
0
 private static void SetModefiedObjectThatCallsMethodIfExists(string operatorCode, VariableStacks variables)
 {
     string variableName = CodePartsFinder.GetPossibleVariableNameUsedForMethodCallOrWayToField(operatorCode);
     Variable variable = variables.GetTopVariable(variableName);
     if (variable != null)
         variable.SetModefied();
 }
Пример #2
0
        private static ExpressionAnalizationMode ProcessAssignedVariableAndReturnItsMode(string operatorCode, VariableStacks variables)
        {
            const char simpleAssignOperator = '=';
            int assignPos = operatorCode.IndexOf(simpleAssignOperator);

            string modefiedVariable =
                GetAssignedVariableNameUsingAssignOperatorPos(operatorCode,assignPos);
            Variable variableTookPartInAssignment = variables.GetTopVariable(modefiedVariable);

            if (variableTookPartInAssignment == null)
                return ExpressionAnalizationMode.IsUsedForComputingMode;
            ExpressionAnalizationMode variableMode = GetModeAccordingVariable(variableTookPartInAssignment);
            if (SimpleAssignmentOperatorExists(operatorCode))
            {
                variableTookPartInAssignment.IsCurrentlyUsedAsControl = false;
                variableTookPartInAssignment.IsCurrentlyUsedForComputing = false;
            }

            variableTookPartInAssignment.SetModefied();
            return variableMode;
        }