Example #1
0
File: Base.cs Project: 7shi/LLPML
 public static Base New(BlockBase parent)
 {
     var ret = new Base();
     ret.Parent = parent;
     ret.name = "base";
     ret.Reference = parent.GetVar("this");
     return ret;
 }
Example #2
0
File: This.cs Project: 7shi/LLPML
 public static This New(BlockBase parent)
 {
     var ret = new This();
     ret.Parent = parent;
     ret.name = "this";
     ret.Reference = parent.GetVar(ret.name);
     return ret;
 }
Example #3
0
File: Var.cs Project: 7shi/LLPML
 public static Var NewName(BlockBase parent, string name)
 {
     var ret = new Var();
     ret.Parent = parent;
     ret.name = name;
     ret.Reference = parent.GetVar(name);
     if (ret.Reference == null)
         throw ret.Abort("undefined pointer: " + name);
     return ret;
 }
Example #4
0
        public static NodeBase GetTarget(BlockBase parent, string name)
        {
            if (parent == null || name == null)
                return null;

            var i = parent.GetInt(name);
            if (i != null && i.Parent.Parent == null) return i;

            var s = parent.GetString(name);
            if (s != null && s.Parent.Parent == null) return s;

            if (parent.Parent == null) return null;

            var v = parent.GetVar(name);
            if (v != null && (v.Parent is Define || v.Parent.Parent == null))
                return Var.New(parent, v);

            return null;
        }