Example #1
0
 private void GetMemberEntities(TypeMemberCollection members)
 {
     foreach (TypeMember member in members.Except <StatementTypeMember, Destructor>())
     {
         _memberEntitiesCache.Add(_provider.EntityFor(member));
     }
 }
Example #2
0
 private IEntity[] GetMemberEntities(TypeMemberCollection members)
 {
     IEntity[] entities = new IEntity[members.Count];
     for (int i = 0; i < entities.Length; ++i)
     {
         entities[i] = _typeSystemServices.GetMemberEntity(members[i]);
     }
     return(entities);
 }
Example #3
0
 public ModuleNamespace(BindingManager bindingManager, Module module)
 {
     _bindingManager = bindingManager;
     _members        = module.Members;
     _using          = new INamespace[module.Using.Count];
     for (int i = 0; i < _using.Length; ++i)
     {
         _using[i] = (INamespace)BindingManager.GetBinding(module.Using[i]);
     }
 }
Example #4
0
        public InternalType(AssemblyLoader loader, MetadataRow row, int index)
            : base(loader, TableId.TypeDef, index)
        {
            _flags = (TypeAttributes)row[Schema.TypeDef.Flags].Value;

            Namespace = row[Schema.TypeDef.TypeNamespace].String;
            Name      = row[Schema.TypeDef.TypeName].String;

            var typeTable = Loader.Types;
            var nextRow   = index + 1 < typeTable.Count ? Loader.Metadata.GetRow(TableId.TypeDef, index + 1) : null;
            var fields    = typeTable.GetFields(row, nextRow, this);
            var methods   = typeTable.GetMethods(row, nextRow, this);

            _members = new TypeMemberCollection(fields, methods, new PropertyList(this), new EventList(this));
        }
        public ClassDefinition GetContextFieldDeclaration()
        {
            Field field;
            Field field2;
            ParameterDeclaration      declaration;
            MemberReferenceExpression expression;
            ReferenceExpression       expression2;
            BinaryExpression          expression3;
            ReferenceExpression       expression4;
            ReferenceExpression       expression5;
            MemberReferenceExpression expression6;
            BinaryExpression          expression7;
            Block           block;
            Constructor     constructor;
            ClassDefinition definition;
            Type            type        = this._evaluationContext.GetType();
            Type            type2       = this._evaluationContext.ScriptContainer.GetType();
            ClassDefinition definition1 = definition = new ClassDefinition(LexicalInfo.Empty);
            string          text1       = definition.Name = "_";

            TypeMember[]  items      = new TypeMember[3];
            Field         field1     = field = new Field(LexicalInfo.Empty);
            int           num1       = (int)(field.Modifiers = TypeMemberModifiers.Static | TypeMemberModifiers.Public);
            string        text2      = field.Name = "ScriptContainer";
            TypeReference reference1 = field.Type = TypeReference.Lift(type2);
            int           num2       = (int)(field.IsVolatile = false);

            items[0] = field;
            Field         field3     = field2 = new Field(LexicalInfo.Empty);
            string        text3      = field2.Name = "EvaluationContext";
            TypeReference reference4 = field2.Type = TypeReference.Lift(type);
            int           num3       = (int)(field2.IsVolatile = false);

            items[1] = field2;
            Constructor constructor1 = constructor = new Constructor(LexicalInfo.Empty);
            string      text4        = constructor.Name = "constructor";

            ParameterDeclaration[] parameters   = new ParameterDeclaration[1];
            ParameterDeclaration   declaration1 = declaration = new ParameterDeclaration(LexicalInfo.Empty);
            string        text5      = declaration.Name = "context";
            TypeReference reference5 = declaration.Type = TypeReference.Lift(type);

            parameters[0] = declaration;
            ParameterDeclarationCollection collection1 = constructor.Parameters = ParameterDeclarationCollection.FromArray(false, parameters);
            Block block1 = block = new Block(LexicalInfo.Empty);

            Statement[]      statementArray1 = new Statement[2];
            BinaryExpression expression1     = expression3 = new BinaryExpression(LexicalInfo.Empty);
            int num4 = (int)(expression3.Operator = BinaryOperatorType.Assign);
            MemberReferenceExpression expression14 = expression = new MemberReferenceExpression(LexicalInfo.Empty);
            string text6 = expression.Name = "EvaluationContext";
            SelfLiteralExpression     expression15 = expression.Target = new SelfLiteralExpression(LexicalInfo.Empty);
            MemberReferenceExpression expression16 = expression3.Left = expression;
            ReferenceExpression       expression17 = expression2 = new ReferenceExpression(LexicalInfo.Empty);
            string text7 = expression2.Name = "context";
            ReferenceExpression expression18 = expression3.Right = expression2;

            statementArray1[0] = Statement.Lift(expression3);
            BinaryExpression expression19 = expression7 = new BinaryExpression(LexicalInfo.Empty);
            int num5 = (int)(expression7.Operator = BinaryOperatorType.Assign);
            ReferenceExpression expression20 = expression4 = new ReferenceExpression(LexicalInfo.Empty);
            string text8 = expression4.Name = "ScriptContainer";
            ReferenceExpression       expression21 = expression7.Left = expression4;
            MemberReferenceExpression expression22 = expression6 = new MemberReferenceExpression(LexicalInfo.Empty);
            string text9 = expression6.Name = "ScriptContainer";
            ReferenceExpression expression23 = expression5 = new ReferenceExpression(LexicalInfo.Empty);
            string text10 = expression5.Name = "context";
            ReferenceExpression       expression24 = expression6.Target = expression5;
            MemberReferenceExpression expression25 = expression7.Right = expression6;

            statementArray1[1] = Statement.Lift(expression7);
            StatementCollection collection2 = block.Statements = StatementCollection.FromArray(statementArray1);
            Block block3 = constructor.Body = block;

            items[2] = constructor;
            TypeMemberCollection collection3 = definition.Members = TypeMemberCollection.FromArray(items);

            return(definition);
        }
Example #6
0
 protected TypeDefinitionImpl(LexicalInfo lexicalInfo) : base(lexicalInfo)
 {
     _members   = new TypeMemberCollection(this);
     _baseTypes = new TypeReferenceCollection(this);
 }
Example #7
0
 protected TypeDefinitionImpl()
 {
     _members   = new TypeMemberCollection(this);
     _baseTypes = new TypeReferenceCollection(this);
 }