clojure.lang.CljCompiler.Ast.ObjExpr.EmitKeywordCallsiteDefs C# (CSharp) Method

EmitKeywordCallsiteDefs() public method

public EmitKeywordCallsiteDefs ( TypeBuilder baseTB ) : void
baseTB System.Reflection.Emit.TypeBuilder
return void
        void EmitKeywordCallsiteDefs(TypeBuilder baseTB)
        {
            int count = KeywordCallsites.count();

            KeywordLookupSiteFields = new List<FieldBuilder>(count);
            ThunkFields = new List<FieldBuilder>(count);

            for (int i = 0; i < KeywordCallsites.count(); i++)
            {
                //Keyword k = (Keyword)_keywordCallsites.nth(i);
                string siteName = SiteNameStatic(i);
                string thunkName = ThunkNameStatic(i);
                FieldBuilder fb1 = baseTB.DefineField(siteName, typeof(KeywordLookupSite), FieldAttributes.FamORAssem | FieldAttributes.Static);
                FieldBuilder fb2 = baseTB.DefineField(thunkName, typeof(ILookupThunk), FieldAttributes.FamORAssem | FieldAttributes.Static);
                KeywordLookupSiteFields.Add(fb1);
                ThunkFields.Add(fb2);
            }
        }