示例#1
0
 protected SymbolTable(ISymbolContainer container)
 {
     this.is_continuous = container.IsContinuous;
     if (container.IsContinuous)
     {
         this.start_address = container.StartAddress;
         this.end_address   = container.EndAddress;
     }
 }
示例#2
0
            public RoslynOrigin(ITypeSymbol symbol)
            {
                this.Kind =
                    symbol.TypeKind == Microsoft.CodeAnalysis.TypeKind.Array         ? TypeKind.Array :
                    symbol.TypeKind == Microsoft.CodeAnalysis.TypeKind.TypeParameter ? TypeKind.TypeParameter :
                    symbol.TypeKind == Microsoft.CodeAnalysis.TypeKind.Class         ? TypeKind.Class :
                    symbol.TypeKind == Microsoft.CodeAnalysis.TypeKind.Struct        ? TypeKind.Struct :
                    symbol.TypeKind == Microsoft.CodeAnalysis.TypeKind.Interface     ? TypeKind.Interface :
                    TypeKind.Unknown;

                if (this.Kind == TypeKind.Array)
                {
                    this.symbolContainer = new ArraySymbolContainer((IArrayTypeSymbol)symbol);
                }

                else
                {
                    this.symbolContainer = new RegularSymbolContainer(symbol);
                }
            }
示例#3
0
 protected SymbolTable(ISymbolContainer container)
 {
     this.is_continuous = container.IsContinuous;
     if (container.IsContinuous) {
         this.start_address = container.StartAddress;
         this.end_address = container.EndAddress;
     }
 }