Пример #1
0
        override public IRTSRunner createRunner()
        {
            IRTSRunner           r   = null;
            RTSList <IRTSRunner> lrs = null;

            if (mArg != null)
            {
                RTSList <IRTSLinker> lins = ((RTSBracketL)mArg).getChildAsList();
                if (lins != null)
                {
                    lrs = new RTSList <IRTSRunner>(lins.length());
                    for (int i = 0; i < lins.length(); i++)
                    {
                        IRTSLinker l = lins.get(i);
                        if (l == null)
                        {
                            lrs.add(null);
                        }
                        else
                        {
                            lrs.add(l.createRunner());
                        }
                    }
                }
            }
            r = new RTSFuncR(mCastType, mSrc, lrs);
            return(r);
        }
Пример #2
0
        override public IRTSRunner createRunner()
        {
            IRTSRunner r = null;

            if (mId == IRTSDefine.Linker.VARIABLE)
            {
                if (mConst == null && !mBeConst)
                {
                    r = new RTSVariableR(mProperty, mCastType, mSrc);
                }
                else
                {
                    r = new RTSVariableR(mCastType, mConst);
                }
                return(r);
            }
            else if (mId == IRTSDefine.Linker.FUNCTION)
            {
                RTSList <IRTSLinker> lins = ((RTSBracketL)mArg).getChildAsList();
                RTSList <IRTSRunner> lrs  = null;
                if (lins != null)
                {
                    lrs = new RTSList <IRTSRunner>(lins.length());
                    for (int i = 0; i < lins.length(); i++)
                    {
                        IRTSLinker l = lins.get(i);
                        if (l == null)
                        {
                            lrs.add(null);
                        }
                        else
                        {
                            lrs.add(l.createRunner());
                        }
                    }
                }
                r = new RTSFuncR(mCastType, mSrc, lrs);
                return(r);
            }
            else
            {
                return(null);
            }
        }
Пример #3
0
        public override IRTSRunner createRunner()
        {
            IRTSRunner           r   = null;
            RTSList <IRTSRunner> lrs = null;

            if (mArgs.length() > 0)
            {
                lrs = new RTSList <IRTSRunner>(mArgs.length());
                for (int i = 0; i < mArgs.length(); i++)
                {
                    IRTSLinker l = mArgs.get(i);
                    if (l == null)
                    {
                        lrs.add(null);
                    }
                    else
                    {
                        lrs.add(l.createRunner());
                    }
                }
            }
            r = new RTSFuncR(null, "_" + mSrc, lrs);
            return(r);
        }