/// <summary> /// Finds a class by its name. /// </summary> /// <param name="name"></param> /// <returns></returns> public MacroClass FindClassByType(Language.ClankType type) { foreach (MacroClass klass in ClassDeclarations) { if (klass.Type.GetFullName() == type.GetFullName()) { return(klass); } } throw new Exception("Class not found : " + type.GetFullName()); }
/// <summary> /// Nom par lequel se référrer à cette fonction dans une table de fonctions. /// </summary> public string GetFullName() { StringBuilder argTypes = new StringBuilder(); argTypes.Append("("); foreach (FunctionArgument arg in Arguments) { argTypes.Append(arg.ArgType.GetFullName() + (arg == Arguments.Last() ? "" : ", ")); } argTypes.Append(")"); if (Owner == null) { return(Name + argTypes); } else { return(Owner.GetFullName() + "." + Name + argTypes); } }