internal static void InitializeWellKnownMembers() { var memberSymbols = new MemberSymbol[MemberNames.Length]; lock (MemberNames) { foreach (var m in (WellKnownMembers[])Enum.GetValues(typeof(WellKnownMembers))) { var names = MemberNames[(int)m]; var flatname = names.Replace("global::", "").Replace('.', '_').Replace("`", "_T").Replace("$", "").Replace("@", "").Split('|', '(').First(); Debug.Assert(m.ToString().StartsWith(flatname)); memberSymbols[(int)m] = FindMember(names); if (names.IndexOf("VFP") == -1) { Debug.Assert(memberSymbols[(int)m] != null); } else if (XSharp.RuntimeState.Dialect == XSharpDialect.FoxPro) { Debug.Assert(memberSymbols[(int)m] != null); } } } Interlocked.CompareExchange(ref WellKnownMemberSymbols, memberSymbols, null); }
internal static OverloadResult Create(MemberSymbol symbol, ParameterListSymbol paramList, int nFixedArgs, int nVarArgs, int nMissingArgs) { return(new OverloadResult(symbol, paramList, nFixedArgs, nVarArgs, nMissingArgs)); }