コード例 #1
0
 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);
 }
コード例 #2
0
 internal StreamTableColPair(
     int streamNum,
     TableMetadataColumn column,
     TableMetaData tableMetadata)
 {
     this.StreamNum     = streamNum;
     this.Column        = column;
     this.TableMetadata = tableMetadata;
 }