コード例 #1
0
ファイル: Base.cs プロジェクト: 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;
 }
コード例 #2
0
ファイル: This.cs プロジェクト: 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;
 }
コード例 #3
0
ファイル: Var.cs プロジェクト: 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;
 }
コード例 #4
0
ファイル: Variant.cs プロジェクト: 7shi/LLPML
        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;
        }