Exemplo n.º 1
0
 // �[�����\�b�h�̎��s
 // ���� = EcmString or EcmString[]
 public Object Eval(Object item, string memberStr)
 {
     if(item is Array){
         Log.AddInfo("{0} Eval����: �I�u�W�F�N�g�� {1} �ł��B�z��ł��̂ŃC�e���[�^������s���܂��B", Project.CurrentItem, item);
         item = EvalArray(item as Object[], memberStr);
     } else if(item is EcmItem){
         Log.AddInfo("{0} Eval����: �I�u�W�F�N�g�� EcmItem {1} �ł��B", Project.CurrentItem, item);
         item = EvalItem(item as EcmItem, memberStr);
     } else if(item is EcmString){
         Log.AddInfo("{0} Eval����: �I�u�W�F�N�g�� {1} {2} �ł��B", Project.CurrentItem, item.GetType(), item);
         item = EvalString(item as EcmString, memberStr);
     } else {
         Log.AddInfo("{0} Eval����: �I�u�W�F�N�g�� ������(����:{1})�ł��B", Project.CurrentItem, item.ToString().Length);
         EcmString newStr = new EcmString(item.ToString(), Project);
         newStr.Parser = this;
         item = EvalString(newStr, memberStr);
     }
     return item;
 }
Exemplo n.º 2
0
        private Object EvalArray(Object[] items, string memberStr)
        {
            Log.AddInfo("{0} �C�e���[�^�����̑Ώ�: {1}(�v�f��{2}) .{3}", Project.CurrentItem, items.GetType(), items.Length, memberStr);

            Object[] result = new Object[items.Length];
            for(int i = 0; i < items.Length; i++){
                Log.AddInfo("{0} �C�e���[�^����({1}/{2})", Project.CurrentItem, i+1, items.Length);
                Object o = Eval(items[i], memberStr);
                Log.AddInfo("{0} �C�e���[�^����{1}�̌���: {2}", Project.CurrentItem, i+1, o);
                if(o is EcmItem){
                    result[i] = o as EcmItem;
                } else {
                    result[i] = new EcmString(o.ToString(), Project);
                }
            }

            return result;
        }