Home | nevrax.com |
|
factor_type.cppGo to the documentation of this file.00001 00006 /* Copyright, 2000 Nevrax Ltd. 00007 * 00008 * This file is part of NEVRAX NEL. 00009 * NEVRAX NEL is free software; you can redistribute it and/or modify 00010 * it under the terms of the GNU General Public License as published by 00011 * the Free Software Foundation; either version 2, or (at your option) 00012 * any later version. 00013 00014 * NEVRAX NEL is distributed in the hope that it will be useful, but 00015 * WITHOUT ANY WARRANTY; without even the implied warranty of 00016 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00017 * General Public License for more details. 00018 00019 * You should have received a copy of the GNU General Public License 00020 * along with NEVRAX NEL; see the file COPYING. If not, write to the 00021 * Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, 00022 * MA 02111-1307, USA. 00023 */ 00024 #include "nel/ai/script/compilateur.h" 00025 #include "nel/ai/script/constraint.h" 00026 #include "nel/ai/script/type_def.h" 00027 00028 namespace NLAISCRIPT 00029 { 00030 void CFactorType::del() 00031 { 00032 MemberName.clear(); 00033 Member.clear(); 00034 if(Value) 00035 Value->release(); 00036 if(TypeStack) 00037 TypeStack->release(); 00038 } 00039 00040 void CFactorType::set(const CFactorType &v) 00041 { 00042 del(); 00043 Value = v.Value; 00044 v.Value->incRef(); 00045 ValueVar = v.ValueVar; 00046 VarType = v.VarType; 00047 IsUsed = v.IsUsed; 00048 Member = v.Member; 00049 MemberName = v.MemberName; 00050 TypeStack = v.TypeStack; 00051 TypeStack->incRef(); 00052 } 00053 00054 CFactorType::CFactorType(const CFactorType &v) 00055 { 00056 Value = v.Value; 00057 v.Value->incRef(); 00058 ValueVar = v.ValueVar; 00059 VarType = v.VarType; 00060 IsUsed = v.IsUsed; 00061 Member = v.Member; 00062 MemberName = v.MemberName; 00063 TypeStack = v.TypeStack; 00064 TypeStack->incRef(); 00065 } 00066 00067 CFactorType::CFactorType() 00068 { 00069 Value = NULL; 00070 ValueVar = NULL; 00071 TypeStack = NULL; 00072 } 00073 } |