All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.eclipse.jface.text.ILineTrackerExtension Maven / Gradle / Ivy

Go to download

AspectJ tools most notably contains the AspectJ compiler (AJC). AJC applies aspects to Java classes during compilation, fully replacing Javac for plain Java classes and also compiling native AspectJ or annotation-based @AspectJ syntax. Furthermore, AJC can weave aspects into existing class files in a post-compile binary weaving step. This library is a superset of AspectJ weaver and hence also of AspectJ runtime.

There is a newer version: 1.9.22.1
Show newest version
/*******************************************************************************
 * Copyright (c) 2000, 2005 IBM Corporation and others.
 *
 * This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License 2.0
 * which accompanies this distribution, and is available at
 * https://www.eclipse.org/legal/epl-2.0/
 *
 * SPDX-License-Identifier: EPL-2.0
 *
 * Contributors:
 *     IBM Corporation - initial API and implementation
 *******************************************************************************/
package org.eclipse.jface.text;

/**
 * Extension interface for {@link org.eclipse.jface.text.ILineTracker}. Adds the
 * concept of rewrite sessions. A rewrite session is a sequence of replace
 * operations that form a semantic unit.
 *
 * @since 3.1
 */
public interface ILineTrackerExtension {

	/**
	 * Tells the line tracker that a rewrite session started. A rewrite session
	 * is a sequence of replace operations that form a semantic unit. The line
	 * tracker is allowed to use that information for internal optimization.
	 *
	 * @param session the rewrite session
	 * @throws IllegalStateException in case there is already an active rewrite
	 *             session
	 */
	void startRewriteSession(DocumentRewriteSession session) throws IllegalStateException;

	/**
	 * Tells the line tracker that the rewrite session has finished. This method
	 * is only called when startRewriteSession has been called
	 * before. The text resulting from the rewrite session is passed to the line
	 * tracker.
	 *
	 * @param session the rewrite session
	 * @param text the text with which to re-initialize the line tracker
	 */
	void stopRewriteSession(DocumentRewriteSession session, String text);
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy