~ubuntu-branches/ubuntu/oneiric/monodevelop/oneiric-updates

« back to all changes in this revision

Viewing changes to src/core/MonoDevelop.Projects/MonoDevelop.Projects.Parser/IAttribute.cs

  • Committer: Bazaar Package Importer
  • Author(s): Jo Shields
  • Date: 2009-02-18 08:40:51 UTC
  • mfrom: (1.2.1 upstream)
  • Revision ID: james.westby@ubuntu.com-20090218084051-gh8m6ukvokbwj7cf
Tags: 1.9.2+dfsg-1ubuntu1
* Merge from Debian Experimental (LP: #330519), remaining Ubuntu changes:
  + debian/control:
    - Update for Gnome# 2.24
    - Add libmono-cairo1.0-cil to build-deps to fool pkg-config check

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
//  IAttribute.cs
2
 
//
3
 
//  This file was derived from a file from #Develop. 
4
 
//
5
 
//  Copyright (C) 2001-2007 Mike Krüger <mkrueger@novell.com>
6
 
// 
7
 
//  This program is free software; you can redistribute it and/or modify
8
 
//  it under the terms of the GNU General Public License as published by
9
 
//  the Free Software Foundation; either version 2 of the License, or
10
 
//  (at your option) any later version.
11
 
// 
12
 
//  This program is distributed in the hope that it will be useful,
13
 
//  but WITHOUT ANY WARRANTY; without even the implied warranty of
14
 
//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
 
//  GNU General Public License for more details.
16
 
//  
17
 
//  You should have received a copy of the GNU General Public License
18
 
//  along with this program; if not, write to the Free Software
19
 
//  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20
 
using System;
21
 
using System.CodeDom;
22
 
using System.Collections;
23
 
 
24
 
namespace MonoDevelop.Projects.Parser
25
 
{
26
 
        public interface IAttributeSection: IComparable
27
 
        {
28
 
                AttributeTarget AttributeTarget {
29
 
                        get;
30
 
                }
31
 
                AttributeCollection Attributes {
32
 
                        get;
33
 
                }
34
 
                IRegion Region {
35
 
                        get;
36
 
                }
37
 
        }
38
 
 
39
 
        public interface IAttribute: IComparable
40
 
        {
41
 
                string Name {
42
 
                        get;
43
 
                }
44
 
                CodeExpression[] PositionalArguments { // [expression]
45
 
                        get;
46
 
                }
47
 
                NamedAttributeArgument[] NamedArguments { // string/expression
48
 
                        get;
49
 
                }
50
 
        }
51
 
        
52
 
        [Serializable]
53
 
        public class NamedAttributeArgument
54
 
        {
55
 
                string name;
56
 
                CodeExpression expression;
57
 
                
58
 
                public NamedAttributeArgument (string name, CodeExpression expression)
59
 
                {
60
 
                        this.name = name;
61
 
                        this.expression = expression;
62
 
                }
63
 
                
64
 
                public string Name {
65
 
                        get { return name; }
66
 
                }
67
 
                
68
 
                public CodeExpression Expression {
69
 
                        get { return expression; }
70
 
                }
71
 
        }
72
 
 
73
 
        public enum AttributeTarget
74
 
        {
75
 
                None,
76
 
                Assembly,
77
 
                Field,
78
 
                Event,
79
 
                Method,
80
 
                Module,
81
 
                Param,
82
 
                Property,
83
 
                Return,
84
 
                Type
85
 
        }
86
 
 
87
 
}