public override DHJassValue GetResult() { DHJassValue array; if (DHJassExecutor.TryGetVariable(name, out array) && array is DHJassArray) { int index = this.index.GetResult().IntValue; if (DHJassExecutor.IsTracing && name.StartsWith(DHJassExecutor.TraceName)) { string strValue = ""; DHJassValue jValue = (array as DHJassArray)[index]; if (jValue is DHJassInt && jValue.IntValue != 0) { strValue = (jValue as DHJassInt).IDValue + "/"; } strValue += jValue.Value; Console.WriteLine("Called Get " + name + "[" + index + "]==" + strValue); } if (DHJassExecutor.CatchArrayReference && !DHJassExecutor.CaughtReferences.Contains(name)) { DHJassExecutor.CaughtReferences.Add(name); } return((array as DHJassArray)[index]); } return(new DHJassUnusedType()); }
public override DHJassValue GetResult() { DHJassValue variable; DHJassExecutor.TryGetVariable(name, out variable); return(variable); }
void parse(string name, List <string> argList) { DHJassExecutor.Functions.TryGetValue(name, out this.function); if (function == null && DHJassExecutor.ShowMissingFunctions) { DHJassExecutor.ReportMissingFunction(name); } //CaptureCollection cc = match.Groups["arg"].Captures; args = new DHJassCommand[argList.Count]; for (int i = 0; i < argList.Count; i++) { args[i] = new DHJassGetValueOnDemandCommand(argList[i]); } }