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); }
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); }
public void LoadArgument(int pushedIntValue, AnalyzeProperties methodProperties) { var argument = methodProperties.Arguments[pushedIntValue]; PushStack(argument); }