Boo.Lang.Compiler.TypeSystem.TypeSystemServices.TypeSystemServices C# (CSharp) Method

TypeSystemServices() public method

public TypeSystemServices ( CompilerContext context ) : System
context CompilerContext
return System
        public TypeSystemServices(CompilerContext context)
        {
            if (null == context) throw new ArgumentNullException("context");

            _context = context;
            _anonymousCallablesManager = new AnonymousCallablesManager(this);

            _findImplicitConversionOperator =
                new MemoizedFunction<IType, IType, IMethod>((fromType, toType) => FindConversionOperator("op_Implicit", fromType, toType));
            _findExplicitConversionOperator =
                new MemoizedFunction<IType, IType, IMethod>((fromType, toType) => FindConversionOperator("op_Explicit", fromType, toType));

            My<CurrentScope>.Instance.Changed += (sender, args) => ClearScopeDependentMemoizedFunctions();

            _canBeReachedByPromotion = new MemoizedFunction<IType, IType, bool>(CanBeReachedByPromotionImpl);

            DuckType = Map(typeof(Builtins.duck));
            IQuackFuType = Map(typeof(IQuackFu));
            VoidType = Map(Types.Void);
            ObjectType = Map(Types.Object);
            RegexType = Map(Types.Regex);
            ValueTypeType = Map(typeof(ValueType));
            EnumType = Map(typeof(Enum));
            ArrayType = Map(Types.Array);
            TypeType = Map(Types.Type);
            StringType = Map(Types.String);
            BoolType = Map(Types.Bool);
            SByteType = Map(Types.SByte);
            CharType = Map(Types.Char);
            ShortType = Map(Types.Short);
            IntType = Map(Types.Int);
            LongType = Map(Types.Long);
            ByteType = Map(Types.Byte);
            UShortType = Map(Types.UShort);
            UIntType = Map(Types.UInt);
            ULongType = Map(Types.ULong);
            SingleType = Map(Types.Single);
            DoubleType = Map(Types.Double);
            DecimalType = Map(Types.Decimal);
            TimeSpanType = Map(Types.TimeSpan);
            DateTimeType = Map(Types.DateTime);
            RuntimeServicesType = Map(Types.RuntimeServices);
            BuiltinsType = Map(Types.Builtins);
            ListType = Map(Types.List);
            HashType = Map(Types.Hash);
            ICallableType = Map(Types.ICallable);
            IEnumerableType = Map(Types.IEnumerable);
            IEnumeratorType = Map(typeof(IEnumerator));
            ICollectionType = Map(Types.ICollection);
            IDisposableType = Map(typeof(IDisposable));
            IntPtrType = Map(Types.IntPtr);
            UIntPtrType = Map(Types.UIntPtr);
            MulticastDelegateType = Map(Types.MulticastDelegate);
            DelegateType = Map(Types.Delegate);
            SystemAttribute = Map(typeof(Attribute));
            ConditionalAttribute = Map(typeof(ConditionalAttribute));
            IEnumerableGenericType = Map(Types.IEnumerableGeneric);
            IEnumeratorGenericType = Map(typeof(IEnumerator<>));
            ICollectionGenericType = Map(typeof(ICollection<>));
            IListGenericType = Map(typeof (IList<>));
            IListType = Map(typeof (IList));
            IAstMacroType = Map(typeof(IAstMacro));
            IAstGeneratorMacroType = Map(typeof(IAstGeneratorMacro));

            ObjectArrayType = ObjectType.MakeArrayType(1);

            PreparePrimitives();
            PrepareBuiltinFunctions();
        }

Same methods

TypeSystemServices::TypeSystemServices ( ) : System
TypeSystemServices