public static Base New(BlockBase parent) { var ret = new Base(); ret.Parent = parent; ret.name = "base"; ret.Reference = parent.GetVar("this"); return ret; }
public static This New(BlockBase parent) { var ret = new This(); ret.Parent = parent; ret.name = "this"; ret.Reference = parent.GetVar(ret.name); return ret; }
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; }
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; }