/// <summary> /// Try to get a temporary variable by its low-level name /// </summary> /// <param name="lowLevelVarName"></param> /// <param name="tempVar"></param> /// <returns></returns> public bool TryGetTempVariable(string lowLevelVarName, out GMacCbTempVariable tempVar) { if (VariablesDictionary.Count == 0) { tempVar = TempVariables.FirstOrDefault(item => item.LowLevelName == lowLevelVarName); return(tempVar != null); } GMacCbVariable result; if (VariablesDictionary.TryGetValue(lowLevelVarName, out result) == false) { tempVar = null; return(false); } tempVar = result as GMacCbTempVariable; return(tempVar != null); }
/// <summary> /// Replace a given temp variable in the RHS expression of this computed variable by another /// temp variable /// </summary> /// <param name="oldTempVar"></param> /// <param name="newTempVar"></param> internal void ReplaceRhsTempVariable(GMacCbTempVariable oldTempVar, GMacCbTempVariable newTempVar) { RhsExpr.ReplaceAllVariablesInPlace(oldTempVar.LowLevelName, newTempVar.LowLevelName); }