DeferredResolvedPointcutDefinition.java

/* *******************************************************************
 * Copyright (c) 2006 Contributors.
 * All rights reserved.
 * This program and the accompanying materials are made available
 * under the terms of the Eclipse Public License v 2.0
 * which accompanies this distribution and is available at
 * https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.txt
 *
 * Contributors:
 *   Adrian Colyer          Initial implementation
 * ******************************************************************/

package org.aspectj.weaver.reflect;

import org.aspectj.weaver.ResolvedPointcutDefinition;
import org.aspectj.weaver.UnresolvedType;

/**
 * When a Java15ReflectionBasedDelegate gets the pointcuts for a given class it tries to resolve them before returning. This can
 * cause problems if the resolution of one pointcut in the type depends on another pointcut in the same type. Therefore the
 * algorithm proceeds in two phases, first we create and store instances of this class in the pointcuts array, and once that is
 * done, we come back round and resolve the actual pointcut expression. This means that if we recurse doing resolution, we will find
 * the named pointcut we are looking for!
 *
 * @author adrian colyer
 *
 */
public class DeferredResolvedPointcutDefinition extends ResolvedPointcutDefinition {

	public DeferredResolvedPointcutDefinition(UnresolvedType declaringType, int modifiers, String name,
			UnresolvedType[] parameterTypes) {
		super(declaringType, modifiers, name, parameterTypes, UnresolvedType.VOID, null);
	}

}