Example #1
0
        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());
        }
Example #2
0
        public override DHJassValue GetResult()
        {
            DHJassValue variable;

            DHJassExecutor.TryGetVariable(name, out variable);
            return(variable);
        }
Example #3
0
        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]);
            }
        }