public void MakeDefault() { if (this.Disposed == true) { throw new ObjectDisposedException(this.GetType().Name); } _state = DeclState.Defaulted; idE.DeclManager.MediaPrint("DEFAULTED"); string defaultText = this.DefaultDefinition; // a parse error inside a DefaultDefinition() string could // cause an infinite loop, but normal default definitions could // still reference other default definitions, so we can't // just dump out on the first recursion. if (++_recursionLevel > 100) { idConsole.FatalError("make default: bad defaultDefinition(): {0}", defaultText); return; } // always free data before parsing ClearData(); // parse Parse(defaultText); // we could still eventually hit the recursion if we have enough Error() calls inside Parse... _recursionLevel--; }
public void Purge() { if (this.Disposed == true) { throw new ObjectDisposedException(this.GetType().Name); } // never purge things that were referenced outside level load, // like the console and menu graphics if (this.ParsedOutsideLevelLoad == true) { return; } _referencedThisLevel = false; MakeDefault(); // the next Find() for this will re-parse the real data _state = DeclState.Unparsed; }
/// <summary> /// Parses the decl definition. After calling parse, a decl will be guaranteed usable. /// </summary> internal void ParseLocal() { bool generatedDefaultText = false; // always free data before parsing ClearData(); idE.DeclManager.MediaPrint("parsing {0} {1}", this.Type.ToString().ToLower(), this.Name); // if no text source try to generate default text if (_textSource == null) { generatedDefaultText = GenerateDefaultText(); } // indent for DEFAULTED or media file references idE.DeclManager.Indent++; // no text immediately causes a MakeDefault() if (_textSource == null) { MakeDefault(); idE.DeclManager.Indent--; return; } _state = DeclState.Parsed; // parse Parse(_textSource); // free generated text if (generatedDefaultText == true) { _textSource = null; } idE.DeclManager.Indent--; }
/// <summary> /// Parses the decl definition. After calling parse, a decl will be guaranteed usable. /// </summary> internal void ParseLocal() { bool generatedDefaultText = false; // always free data before parsing ClearData(); idE.DeclManager.MediaPrint("parsing {0} {1}", this.Type.ToString().ToLower(), this.Name); // if no text source try to generate default text if(_textSource == null) { generatedDefaultText = GenerateDefaultText(); } // indent for DEFAULTED or media file references idE.DeclManager.Indent++; // no text immediately causes a MakeDefault() if(_textSource == null) { MakeDefault(); idE.DeclManager.Indent--; return; } _state = DeclState.Parsed; // parse Parse(_textSource); // free generated text if(generatedDefaultText == true) { _textSource = null; } idE.DeclManager.Indent--; }
public void Purge() { if(this.Disposed == true) { throw new ObjectDisposedException(this.GetType().Name); } // never purge things that were referenced outside level load, // like the console and menu graphics if(this.ParsedOutsideLevelLoad == true) { return; } _referencedThisLevel = false; MakeDefault(); // the next Find() for this will re-parse the real data _state = DeclState.Unparsed; }
public void MakeDefault() { if(this.Disposed == true) { throw new ObjectDisposedException(this.GetType().Name); } _state = DeclState.Defaulted; idE.DeclManager.MediaPrint("DEFAULTED"); string defaultText = this.DefaultDefinition; // a parse error inside a DefaultDefinition() string could // cause an infinite loop, but normal default definitions could // still reference other default definitions, so we can't // just dump out on the first recursion. if(++_recursionLevel > 100) { idConsole.FatalError("make default: bad defaultDefinition(): {0}", defaultText); return; } // always free data before parsing ClearData(); // parse Parse(defaultText); // we could still eventually hit the recursion if we have enough Error() calls inside Parse... _recursionLevel--; }
public idDecl() { _name = "unnamed"; _type = DeclType.EntityDef; _state = DeclState.Unparsed; }
public idDecl() { _name = "unnamed"; _type = DeclType.EntityDef; _state = DeclState.Unparsed; }