jagregory / boolangstudio forked from olsonjeffery/boolangstudio

Boo language integration for Visual Studio 2008

This URL has Read+Write access

boolangstudio / Source / BooLangService / StringParsing / StringWalkerState.cs
100644 32 lines (26 sloc) 0.864 kb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
namespace Boo.BooLangService.StringParsing
{
    public class StringWalkerState
    {
        public static readonly StringWalkerState InsideString = new StringWalkerState("in string");
        public static readonly StringWalkerState InsideParentheses = new StringWalkerState("in paren");
 
        private readonly string state;
 
        private StringWalkerState(string state)
        {
            this.state = state;
        }
 
        public override bool Equals(object obj)
        {
            if (obj is StringWalkerState) return Equals((StringWalkerState)obj);
 
            return false;
        }
 
        public bool Equals(StringWalkerState otherState)
        {
            return state == otherState.state;
        }
 
        public override int GetHashCode()
        {
            return (state != null ? state.GetHashCode() : 0);
        }
    }
}