Exemplo n.º 1
0
        public void CopyStackIntoArgument(int value, AnalyzeProperties methodProperties)
        {
            var topVariable = _evaluator.Top;

            _evaluator.Pop();
            var newLocal   = methodProperties.Arguments[value];
            var assingment = new Assignment
            {
                AssignedTo = newLocal,
                Right      = topVariable
            };

            AddOperation(assingment);
        }
Exemplo n.º 2
0
        public static AnalyzeProperties GetProperties(this MetaMidRepresentation intermediateCode)
        {
            if (intermediateCode == null)
            {
                return(null);
            }
            var additionalData = intermediateCode.AuxiliaryObjects;

            object isPureData;

            if (additionalData.TryGetValue(PropString, out isPureData))
            {
                return((AnalyzeProperties)isPureData);
            }
            var result = new AnalyzeProperties();

            additionalData[PropString] = result;
            return(result);
        }
Exemplo n.º 3
0
        public void LoadArgument(int pushedIntValue, AnalyzeProperties methodProperties)
        {
            var argument = methodProperties.Arguments[pushedIntValue];

            PushStack(argument);
        }