public ClassMirror(string className, ProtoCore.Core core) : base(core, className) { if (core == null) { return; } ClassName = className; if (classNode == null) { ProtoCore.DSASM.ClassTable classTable = core.ClassTable; int ci = classTable.IndexOf(ClassName); if (ci != ProtoCore.DSASM.Constants.kInvalidIndex) { classNode = classTable.ClassNodes[ci]; } else { throw new Exception(String.Format("Class {0} not defined", className)); } } libraryMirror = new LibraryMirror(classNode.ExternLib, core); }
internal ClassMirror(ProtoLanguage.CompileStateTracker compileState, ProtoCore.DSASM.ClassNode classNode, LibraryMirror libraryMirror) //: base(compileState) { this.compileState = compileState; ClassName = classNode.name; this.libraryMirror = libraryMirror; this.classNode = classNode; }
/// <summary> /// Loads zero touch library module from given assembly. /// </summary> /// <param name="assembly"></param> public ZeroTouchModule(string assembly) { var core = CreateCore(); if (!CompilerUtils.TryLoadAssemblyIntoCore(core, assembly)) throw new InvalidOperationException("Failed to load : " + assembly); var library = new LibraryMirror(core, assembly, core.ClassTable.ClassNodes); types = library.GetClasses(); }
public ClassMirror(ProtoCore.Type type, ProtoCore.Core core) : base(core, type.Name) { ClassName = type.Name; if (classNode == null) { ProtoCore.DSASM.ClassTable classTable = core.ClassTable; classNode = classTable.ClassNodes[type.UID]; } libraryMirror = new LibraryMirror(classNode.ExternLib, core); }
public ClassMirror(int classIndex, ProtoCore.Core core) { if (classIndex == Constants.kInvalidIndex) { throw new ArgumentException("classIndex is invalid"); } ProtoCore.DSASM.ClassTable classTable = core.ClassTable; classNode = classTable.ClassNodes[classIndex]; libraryMirror = new LibraryMirror(classNode.ExternLib, core); ClassName = classNode.name; }
/// <summary> /// Loads zero touch library module from given assembly. /// </summary> /// <param name="assembly"></param> public ZeroTouchModule(string assembly) { var core = CreateCore(); if (!CompilerUtils.TryLoadAssemblyIntoCore(core, assembly)) { throw new InvalidOperationException("Failed to load : " + assembly); } var library = new LibraryMirror(core, assembly, core.ClassTable.ClassNodes); types = library.GetClasses(); }
//public ClassMirror() //{ //} public ClassMirror(ProtoCore.Type type, ProtoLanguage.CompileStateTracker compileState) { if (core != null) { ClassName = type.Name; if (classNode == null) { ProtoCore.DSASM.ClassTable classTable = core.DSExecutable.classTable; classNode = classTable.ClassNodes[type.UID]; } libraryMirror = new LibraryMirror(classNode.ExternLib, compileState); } }
internal ClassMirror(ProtoCore.Core core, ProtoCore.DSASM.ClassNode classNode, LibraryMirror libraryMirror = null) : base(core, classNode.name) { ClassName = classNode.name; if (libraryMirror == null) { this.libraryMirror = new LibraryMirror(classNode.ExternLib, core); } else { this.libraryMirror = libraryMirror; } this.classNode = classNode; }
/// <summary> /// Constructor to construct ClassMirror from runtime data i.e. StackValue /// </summary> /// <param name="svData">StackValue</param> /// <param name="core">ProtoCore.Core</param> internal ClassMirror(StackValue svData, ProtoCore.Core core) : base(core) { Validity.Assert(svData.IsPointer); Validity.Assert(null != core.DSExecutable.classTable); IList <ClassNode> classNodes = core.DSExecutable.classTable.ClassNodes; Validity.Assert(classNodes != null && classNodes.Count > 0); this.classNode = classNodes[svData.metaData.type]; this.ClassName = this.classNode.name; this.Name = this.ClassName; libraryMirror = new LibraryMirror(classNode.ExternLib, core); }
public ClassMirror(string className, ProtoCore.Core core) : base(core) { if (core == null) { return; } ClassName = className; if (classNode == null) { ProtoCore.DSASM.ClassTable classTable = core.ClassTable; int ci = classTable.IndexOf(ClassName); if (ci != ProtoCore.DSASM.Constants.kInvalidIndex) { classNode = classTable.ClassNodes[ci]; } } libraryMirror = new LibraryMirror(classNode.ExternLib, core); }
public ClassMirror(int classIndex, ProtoCore.Core core) { if (classIndex == Constants.kInvalidIndex) { throw new ArgumentException("classIndex is invalid"); } ProtoCore.DSASM.ClassTable classTable = core.ClassTable; classNode = classTable.ClassNodes[classIndex]; libraryMirror = new LibraryMirror(classNode.ExternLib, core); ClassName = classNode.Name; }
//: base(compileState) internal ClassMirror(ProtoLanguage.CompileStateTracker compileState, ProtoCore.DSASM.ClassNode classNode, LibraryMirror libraryMirror) { this.compileState = compileState; ClassName = classNode.name; this.libraryMirror = libraryMirror; this.classNode = classNode; }
internal ClassMirror(ProtoCore.Core core, ProtoCore.DSASM.ClassNode classNode, LibraryMirror libraryMirror = null) : base(core, classNode.Name) { ClassName = classNode.Name; if (libraryMirror == null) this.libraryMirror = new LibraryMirror(classNode.ExternLib, core); else this.libraryMirror = libraryMirror; this.classNode = classNode; }
//public ClassMirror(string className) //{ // ClassName = className; //} internal ClassMirror(ProtoCore.Core core, ProtoCore.DSASM.ClassNode classNode, LibraryMirror libraryMirror) : base(core) { ClassName = classNode.name; this.libraryMirror = libraryMirror; this.classNode = classNode; }
public ClassMirror(string className, ProtoCore.Core core) : base(core) { if (core == null) return; ClassName = className; if (classNode == null) { ProtoCore.DSASM.ClassTable classTable = core.ClassTable; int ci = classTable.IndexOf(ClassName); if (ci != ProtoCore.DSASM.Constants.kInvalidIndex) { classNode = classTable.ClassNodes[ci]; } } libraryMirror = new LibraryMirror(classNode.ExternLib, core); }
//public ClassMirror() //{ //} public ClassMirror(ProtoCore.Type type, ProtoCore.Core core) { if (core != null) { ClassName = type.Name; if (classNode == null) { ProtoCore.DSASM.ClassTable classTable = core.ClassTable; classNode = classTable.ClassNodes[type.UID]; } libraryMirror = new LibraryMirror(classNode.ExternLib, core); } }
public ClassMirror(string className, ProtoCore.Core core) : base(core, className) { ClassName = className; if (classNode == null) { ProtoCore.DSASM.ClassTable classTable = core.ClassTable; int ci = classTable.IndexOf(ClassName); if (ci != ProtoCore.DSASM.Constants.kInvalidIndex) { classNode = classTable.ClassNodes[ci]; } else throw new Exception(String.Format("Class {0} not defined", className)); } libraryMirror = new LibraryMirror(classNode.ExternLib, core); }
/// <summary> /// Constructor to construct ClassMirror from runtime data i.e. StackValue /// </summary> /// <param name="svData">StackValue</param> /// <param name="core">ProtoCore.Core</param> internal ClassMirror(StackValue svData, ProtoCore.Core core) : base(core) { Validity.Assert(svData.IsPointer); Validity.Assert(null != core.DSExecutable.classTable); IList<ClassNode> classNodes = core.DSExecutable.classTable.ClassNodes; Validity.Assert(classNodes != null && classNodes.Count > 0); this.classNode = classNodes[svData.metaData.type]; this.ClassName = this.classNode.Name; this.Name = this.ClassName; libraryMirror = new LibraryMirror(classNode.ExternLib, core); }