public CodegenExpression Make( CodegenMethodScope parent, ModuleTableInitializeSymbol symbols, CodegenClassScope classScope) { var method = parent.MakeChild(typeof(TableMetaData), GetType(), classScope); method.Block .DeclareVar<TableMetaData>("meta", NewInstance(typeof(TableMetaData))) .SetProperty(Ref("meta"), "TableName", Constant(TableName)) .SetProperty(Ref("meta"), "TableModuleName", Constant(TableModuleName)) .SetProperty(Ref("meta"), "TableVisibility", Constant(TableVisibility)) .SetProperty(Ref("meta"), "OptionalContextName", Constant(OptionalContextName)) .SetProperty(Ref("meta"), "OptionalContextVisibility", Constant(OptionalContextVisibility)) .SetProperty(Ref("meta"), "OptionalContextModule", Constant(OptionalContextModule)) .SetProperty( Ref("meta"), "InternalEventType", EventTypeUtility.ResolveTypeCodegen(InternalEventType, symbols.GetAddInitSvc(method))) .SetProperty( Ref("meta"), "PublicEventType", EventTypeUtility.ResolveTypeCodegen(PublicEventType, symbols.GetAddInitSvc(method))) .SetProperty(Ref("meta"), "KeyColumns", Constant(KeyColumns)) .SetProperty(Ref("meta"), "KeyTypes", Constant(KeyTypes)) .SetProperty(Ref("meta"), "KeyColNums", Constant(KeyColNums)) .SetProperty( Ref("meta"), "Columns", TableMetadataColumn.MakeColumns(Columns, method, symbols, classScope)) .SetProperty(Ref("meta"), "NumMethodAggs", Constant(NumMethodAggs)) .ExprDotMethod(Ref("meta"), "Init") .MethodReturn(Ref("meta")); return LocalMethod(method); }
internal StreamTableColPair( int streamNum, TableMetadataColumn column, TableMetaData tableMetadata) { this.StreamNum = streamNum; this.Column = column; this.TableMetadata = tableMetadata; }