private void defineChild(Environment env) { ChildDefineWord.Execute(env); if (env.IsExitMode) return; VariableWord variableWord = env.LastCompiledWord as VariableWord; if (variableWord != null) { DefinedChildWord definedChildWord = new DefinedChildWord(variableWord.Name, Name, variableWord.AllocatedAddress); definedChildWord.ExecuteWords.Add(variableWord); definedChildWord.ExecuteWords.AddRange(ChildExecuteWord.ExecuteWords); variableWord.HidesSeeNodeDescription = true; env.Words.Remove(variableWord.Name); env.Words.AddOrUpdate(definedChildWord); } // TODO: else, throw exception (?) }
private void defineChild(Environment env) { ChildDefineWord.Execute(env); if (env.IsExitMode) { return; } VariableWord variableWord = env.LastCompiledWord as VariableWord; if (variableWord != null) { DefinedChildWord definedChildWord = new DefinedChildWord(variableWord.Name, Name, variableWord.AllocatedAddress); definedChildWord.ExecuteWords.Add(variableWord); definedChildWord.ExecuteWords.AddRange(ChildExecuteWord.ExecuteWords); variableWord.HidesSeeNodeDescription = true; env.Words.Remove(variableWord.Name); env.Words.AddOrUpdate(definedChildWord); } // TODO: else, throw exception (?) }