示例#1
0
        public NullType CreateNull()
        {
            NullType type = new NullType();

            type.SetTypeKind(TypeKind.TK_NullType);
            return(type);
        }
示例#2
0
        public TypeManager()
        {
            _predefTypes = null; // Initialized via the Init call.
            _BSymmgr     = null; // Initialized via the Init call.
            _typeFactory = new TypeFactory();
            _typeTable   = new TypeTable();

            // special types with their own symbol kind.
            _errorType    = _typeFactory.CreateError(null, null, null, null, null);
            _voidType     = _typeFactory.CreateVoid();
            _nullType     = _typeFactory.CreateNull();
            _typeUnit     = _typeFactory.CreateUnit();
            _typeAnonMeth = _typeFactory.CreateAnonMethod();
            _typeMethGrp  = _typeFactory.CreateMethodGroup();
            _argListType  = _typeFactory.CreateArgList();

            InitType(_errorType);
            _errorType.SetErrors(true);

            InitType(_voidType);
            InitType(_nullType);
            InitType(_typeUnit);
            InitType(_typeAnonMeth);
            InitType(_typeMethGrp);

            _stvcMethod = new StdTypeVarColl();
            _stvcClass  = new StdTypeVarColl();
        }
示例#3
0
        public TypeManager(BSYMMGR bsymmgr, PredefinedTypes predefTypes)
        {
            _typeFactory = new TypeFactory();
            _typeTable   = new TypeTable();

            // special types with their own symbol kind.
            _voidType    = _typeFactory.CreateVoid();
            _nullType    = _typeFactory.CreateNull();
            _typeMethGrp = _typeFactory.CreateMethodGroup();
            _argListType = _typeFactory.CreateArgList();

            _stvcMethod  = new StdTypeVarColl();
            _stvcClass   = new StdTypeVarColl();
            _BSymmgr     = bsymmgr;
            _predefTypes = predefTypes;
        }