private void GetMemberEntities(TypeMemberCollection members) { foreach (TypeMember member in members.Except <StatementTypeMember, Destructor>()) { _memberEntitiesCache.Add(_provider.EntityFor(member)); } }
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); }
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]); } }
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); }
protected TypeDefinitionImpl(LexicalInfo lexicalInfo) : base(lexicalInfo) { _members = new TypeMemberCollection(this); _baseTypes = new TypeReferenceCollection(this); }
protected TypeDefinitionImpl() { _members = new TypeMemberCollection(this); _baseTypes = new TypeReferenceCollection(this); }