public CodeBasicPropertyMember(CodeMemberModifiers modifiers, CodeTypeReference type, CodeBasicPropertyAccessor getter, CodeBasicPropertyAccessor setter)
     : base(modifiers)
 {
     Type   = type;
     Getter = getter;
     Setter = setter;
 }
示例#2
0
 public CodeFieldMember(CodeMemberModifiers modifiers, CodeTypeReference type, string name, CodeExpression initializer)
     : base(modifiers)
 {
     Type        = type;
     Name        = name;
     Initializer = initializer;
 }
 public CodeIndexerMember(
     CodeMemberModifiers modifiers,
     CodeTypeReference type,
     IEnumerable <CodeParameterDeclaration> parameters,
     CodeBasicPropertyAccessor getter,
     CodeBasicPropertyAccessor setter) : base(modifiers, type, getter, setter)
 {
     Parameters.AddRange(parameters);
 }
        public static void Generate(this CodeMemberModifiers modifiers, CodeGenerator generator)
        {
            switch (modifiers & CodeMemberModifiers.NewMask)
            {
            case CodeMemberModifiers.New: generator.Write(TokenType.Keyword, "new"); generator.Write(TokenType.Space, ' '); break;
            }

            switch (modifiers & CodeMemberModifiers.AccessMask)
            {
            case CodeMemberModifiers.Internal: generator.Write(TokenType.Keyword, "internal"); generator.Write(TokenType.Space, ' '); break;

            case CodeMemberModifiers.Protected: generator.Write(TokenType.Keyword, "protected"); generator.Write(TokenType.Space, ' '); break;

            case CodeMemberModifiers.ProtectedInternal: generator.Write(TokenType.Keyword, "protected internal"); generator.Write(TokenType.Space, ' '); break;

            case CodeMemberModifiers.Private: generator.Write(TokenType.Keyword, "private"); generator.Write(TokenType.Space, ' '); break;

            case CodeMemberModifiers.Public: generator.Write(TokenType.Keyword, "public"); generator.Write(TokenType.Space, ' '); break;
            }

            switch (modifiers & CodeMemberModifiers.ScopeMask)
            {
            case CodeMemberModifiers.Abstract: generator.Write(TokenType.Keyword, "abstract"); generator.Write(TokenType.Space, ' '); break;

            case CodeMemberModifiers.Virtual: generator.Write(TokenType.Keyword, "virtual"); generator.Write(TokenType.Space, ' '); break;

            case CodeMemberModifiers.Static: generator.Write(TokenType.Keyword, "static"); generator.Write(TokenType.Space, ' '); break;

            case CodeMemberModifiers.Override: generator.Write(TokenType.Keyword, "override"); generator.Write(TokenType.Space, ' '); break;

            case CodeMemberModifiers.Sealed: generator.Write(TokenType.Keyword, "sealed"); generator.Write(TokenType.Space, ' '); break;

            case CodeMemberModifiers.Const: generator.Write(TokenType.Keyword, "const"); generator.Write(TokenType.Space, ' '); break;
            }

            switch (modifiers & CodeMemberModifiers.ReadOnlyMask)
            {
            case CodeMemberModifiers.ReadOnly: generator.Write(TokenType.Keyword, "readonly"); generator.Write(TokenType.Space, ' '); break;
            }
        }
示例#5
0
 public CodeBasicMethodMember(CodeMemberModifiers modifiers, IEnumerable <CodeParameterDeclaration> parameters, IEnumerable <CodeStatement> statements)
     : base(modifiers)
 {
     Parameters.AddRange(parameters);
     Statements.AddRange(statements);
 }
示例#6
0
 public CodeBasicPropertyAccessor(CodeMemberModifiers modifiers)
 {
     Modifiers = modifiers;
 }
 public CodeDelegateTypeDeclaration(CodeMemberModifiers modifiers, CodeTypeReference returnType, string name, IEnumerable <CodeParameterDeclaration> parameters)
     : base(modifiers, name)
 {
     ReturnType = returnType;
     Parameters.AddRange(parameters);
 }
 public CodeCompositeTypeMember(CodeMemberModifiers modifiers)
 {
     Modifiers = modifiers;
 }
 public CodeDefaultedPropertyAccessor(CodeMemberModifiers modifiers)
     : base(modifiers)
 {
 }
示例#10
0
 public CodePropertyMember(CodeMemberModifiers modifiers, CodeTypeReference type, string name, CodeBasicPropertyAccessor getter, CodeBasicPropertyAccessor setter)
     : base(modifiers, type, getter, setter)
 {
     Name = name;
 }
 public CodeEventMember(CodeMemberModifiers modifiers, CodeTypeReference type, string name)
     : base(modifiers)
 {
     Type = type;
     Name = name;
 }
 public CodeCompositeTypeDeclaration(CodeMemberModifiers modifiers, string name)
     : base(modifiers, name)
 {
 }
示例#13
0
 public CodeBasicTypeDeclaration(CodeMemberModifiers modifiers, string name)
     : base(modifiers)
 {
     Name = name;
 }
示例#14
0
 public CodeUserPropertyAccessor(CodeMemberModifiers modifiers, IEnumerable <CodeStatement> statements)
     : base(modifiers)
 {
     Statements.AddRange(statements);
 }
 public CodeConstructorMember(CodeMemberModifiers modifiers, IEnumerable <CodeParameterDeclaration> parameters, IEnumerable <CodeStatement> statements)
     : this(modifiers, parameters, null, statements)
 {
 }
 public CodeEnumTypeDeclaration(CodeMemberModifiers modifiers, string name, CodeTypeReference underlyingType)
     : this(modifiers, name)
 {
     UnderlyingType = underlyingType;
 }
 public CodeConstructorMember(CodeMemberModifiers modifiers, IEnumerable <CodeParameterDeclaration> parameters, CodeConstructorInitializer initializer, IEnumerable <CodeStatement> statements)
     : base(modifiers, parameters, statements)
 {
     Initializer = initializer;
 }
示例#18
0
 public CodeStructTypeDeclaration(CodeMemberModifiers modifiers, string name)
     : base(modifiers, name)
 {
 }
示例#19
0
 public CodeMethodMember(CodeMemberModifiers modifiers, CodeTypeReference returnType, string name, IEnumerable <CodeParameterDeclaration> parameters, IEnumerable <CodeStatement> statements)
     : base(modifiers, parameters, statements)
 {
     ReturnType = returnType;
     Name       = name;
 }
 public CodeInterfaceTypeDeclaration(CodeMemberModifiers modifiers, string name)
     : base(modifiers, name)
 {
 }