Example #1
0
    protected void pointcut(
        AspectDefinition aspect
        ) //throws RecognitionException, TokenStreamException
    {
        Token p = null;

        PointCutDefinition pointcut = null;
        PointCutFlags      flags    = PointCutFlags.Unspecified;


        try {              // for error handling
            p = LT(1);
            match(POINTCUT);
            flags = pointcutflags();

            pointcut = new PointCutDefinition(ToLexicalInfo(p), flags);
            aspect.PointCuts.Add(pointcut);

            pointcuttarget(pointcut);
            advices(pointcut);
            match(END);
        }
        catch (RecognitionException ex)
        {
            reportError(ex);
            consume();
            consumeUntil(tokenSet_11_);
        }
    }
Example #2
0
    protected PointCutFlags  pointcutflag(
        PointCutFlags flags
        ) //throws RecognitionException, TokenStreamException
    {
        PointCutFlags retValue;


        retValue = flags;


        try {              // for error handling
            switch (LA(1))
            {
            case METHOD:
            {
                match(METHOD);
                retValue |= PointCutFlags.Method;
                break;
            }

            case PROPERTY:
            {
                match(PROPERTY);
                retValue |= PointCutFlags.Property;
                break;
            }

            case PROPERTY_READ:
            {
                match(PROPERTY_READ);
                retValue |= PointCutFlags.PropertyRead;
                break;
            }

            case PROPERTY_WRITE:
            {
                match(PROPERTY_WRITE);
                retValue |= PointCutFlags.PropertyWrite;
                break;
            }

            default:
            {
                throw new NoViableAltException(LT(1), getFilename());
            }
            }
        }
        catch (RecognitionException ex)
        {
            reportError(ex);
            consume();
            consumeUntil(tokenSet_15_);
        }
        return(retValue);
    }
Example #3
0
        private PointCutDefinition CreatePointCutDefinition(XmlNode inner)
        {
            String             flags   = GetRequiredAttribute(inner, "symbol");
            PointCutFlags      pcflags = (PointCutFlags)Enum.Parse(typeof(PointCutFlags), flags);
            PointCutDefinition def     = new PointCutDefinition(LexicalInfo.Empty, pcflags);

            ParseSignature(inner, def);
            LoadAdvices(inner, def);

            return(def);
        }
		protected virtual bool NameMatch(MethodSignature signature, MethodInfo method, PointCutFlags flags)
		{
			String sign = signature.MethodName;
			String name = method.Name;

			if (sign.IndexOf('*') != -1)
			{
				return Regex.IsMatch(name, sign);
			}
			else if ((method.IsSpecialName && (((int) (flags & PointCutFlags.Property)) != 0)) ||
				(name.StartsWith("get_") && (((int) (flags & PointCutFlags.PropertyRead)) != 0)) ||
				(name.StartsWith("set_") && (((int) (flags & PointCutFlags.PropertyWrite)) != 0)))
			{
				name = name.Substring(4);
			}

			return name.Equals(sign);
		}
 public PointCutDefinition(LexicalInfo info, PointCutFlags flags) : base(info)
 {
     _flags = flags;
 }
Example #6
0
		public PointCutDefinition(LexicalInfo info, PointCutFlags flags) : base(info)
		{
			_flags = flags;
		}
	protected PointCutFlags  pointcutflag(
		PointCutFlags flags
	) //throws RecognitionException, TokenStreamException
{
		PointCutFlags retValue;
		
		
		retValue = flags;
		
		
		try {      // for error handling
			switch ( LA(1) )
			{
			case METHOD:
			{
				match(METHOD);
				retValue |= PointCutFlags.Method;
				break;
			}
			case PROPERTY:
			{
				match(PROPERTY);
				retValue |= PointCutFlags.Property;
				break;
			}
			case PROPERTY_READ:
			{
				match(PROPERTY_READ);
				retValue |= PointCutFlags.PropertyRead;
				break;
			}
			case PROPERTY_WRITE:
			{
				match(PROPERTY_WRITE);
				retValue |= PointCutFlags.PropertyWrite;
				break;
			}
			default:
			{
				throw new NoViableAltException(LT(1), getFilename());
			}
			 }
		}
		catch (RecognitionException ex)
		{
			reportError(ex);
			consume();
			consumeUntil(tokenSet_15_);
		}
		return retValue;
	}
        protected virtual bool NameMatch(MethodSignature signature, MethodInfo method, PointCutFlags flags)
        {
            String sign = signature.MethodName;
            String name = method.Name;

            if (sign.IndexOf('*') != -1)
            {
                return(Regex.IsMatch(name, sign));
            }
            else if ((method.IsSpecialName && (((int)(flags & PointCutFlags.Property)) != 0)) ||
                     (name.StartsWith("get_") && (((int)(flags & PointCutFlags.PropertyRead)) != 0)) ||
                     (name.StartsWith("set_") && (((int)(flags & PointCutFlags.PropertyWrite)) != 0)))
            {
                name = name.Substring(4);
            }

            return(name.Equals(sign));
        }