mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-07-01 06:05:24 +02:00
Bug 279740: API restrictions
This commit is contained in:
parent
fbd72a420b
commit
587eb8061f
16 changed files with 37 additions and 9 deletions
|
@ -19,7 +19,6 @@ import org.eclipse.core.resources.IResource;
|
|||
* Convenience implementation of IChecker interface. Has a default
|
||||
* implementation for common methods.
|
||||
*
|
||||
* Clients may extend this class.
|
||||
*/
|
||||
public abstract class AbstractChecker implements IChecker {
|
||||
protected String name;
|
||||
|
|
|
@ -15,11 +15,7 @@ import org.eclipse.core.resources.IMarker;
|
|||
/**
|
||||
*
|
||||
* Represents Severity of the codan problem. It is directly mapped to markers
|
||||
* severity,
|
||||
* therefore not intended to be extended.
|
||||
*
|
||||
* @noextend This class is not intended to be extended by clients.
|
||||
* @noinstantiate This class is not intended to be instantiated by clients.
|
||||
* severity.
|
||||
*
|
||||
*/
|
||||
public enum CodanSeverity {
|
||||
|
|
|
@ -16,7 +16,6 @@ import org.eclipse.core.resources.IResource;
|
|||
* IProblemReporterPersistent - interface to report problems, which are
|
||||
* persistent, ex. markers
|
||||
*
|
||||
* Clients may implement and extend this interface
|
||||
* <p>
|
||||
* <strong>EXPERIMENTAL</strong>. This class or interface has been added as part
|
||||
* of a work in progress. There is no guarantee that this API will work or that
|
||||
|
|
|
@ -15,12 +15,15 @@ import org.eclipse.cdt.codan.core.param.IProblemPreference;
|
|||
/**
|
||||
* Modifiable problem.
|
||||
*
|
||||
* Clients may extend and implement this interface
|
||||
*
|
||||
* <p>
|
||||
* <strong>EXPERIMENTAL</strong>. This class or interface has been added as part
|
||||
* of a work in progress. There is no guarantee that this API will work or that
|
||||
* it will remain the same.
|
||||
* </p>
|
||||
*
|
||||
* @noextend This interface is not intended to be extended by clients.
|
||||
* @noimplement This interface is not intended to be implemented by clients.
|
||||
*/
|
||||
public interface IProblemWorkingCopy extends IProblem {
|
||||
/**
|
||||
|
|
|
@ -4,6 +4,9 @@ package org.eclipse.cdt.codan.core.model.cfg;
|
|||
* Control flow graph's basic block node - super interface of all nodes.
|
||||
* It has set on incoming nodes and outgoing nodes.
|
||||
* <p/>
|
||||
*
|
||||
* @noextend This interface is not intended to be extended by clients.
|
||||
* @noimplement This interface is not intended to be implemented by clients.
|
||||
*/
|
||||
public interface IBasicBlock {
|
||||
/**
|
||||
|
|
|
@ -12,6 +12,9 @@ package org.eclipse.cdt.codan.core.model.cfg;
|
|||
|
||||
/**
|
||||
* Node that represent empty operator with label, such as case branch or label
|
||||
*
|
||||
* @noextend This interface is not intended to be extended by clients.
|
||||
* @noimplement This interface is not intended to be implemented by clients.
|
||||
*/
|
||||
public interface IBranchNode extends IBasicBlock, ISingleIncoming,
|
||||
ISingleOutgoing {
|
||||
|
|
|
@ -3,6 +3,9 @@ package org.eclipse.cdt.codan.core.model.cfg;
|
|||
/**
|
||||
* Connector node has multiple incoming branches and single outgoing.
|
||||
* Incoming nodes are usually instance of {@link IJumpNode}
|
||||
*
|
||||
* @noextend This interface is not intended to be extended by clients.
|
||||
* @noimplement This interface is not intended to be implemented by clients.
|
||||
*/
|
||||
public interface IConnectorNode extends IBasicBlock, ISingleOutgoing {
|
||||
/**
|
||||
|
|
|
@ -29,6 +29,9 @@ import java.util.Iterator;
|
|||
* change of control direction
|
||||
* <li> {@link IBranchNode} - usually node where decision node connect to,
|
||||
* labels represent a way where controls goes to
|
||||
*
|
||||
* @noextend This interface is not intended to be extended by clients.
|
||||
* @noimplement This interface is not intended to be implemented by clients.
|
||||
*/
|
||||
public interface IControlFlowGraph {
|
||||
/**
|
||||
|
|
|
@ -5,6 +5,9 @@ package org.eclipse.cdt.codan.core.model.cfg;
|
|||
* Interface for decision node. This node represent condition node in the graph,
|
||||
* it has one incoming arc and many outgoing, each of outgoing node should be
|
||||
* IBranchNode
|
||||
*
|
||||
* @noextend This interface is not intended to be extended by clients.
|
||||
* @noimplement This interface is not intended to be implemented by clients.
|
||||
*/
|
||||
public interface IDecisionNode extends IBasicBlock, ISingleIncoming {
|
||||
/**
|
||||
|
|
|
@ -14,6 +14,8 @@ package org.eclipse.cdt.codan.core.model.cfg;
|
|||
* Exit node of the graph. Usually return from the function, can also be throw
|
||||
* or abort, such at exit(0) call.
|
||||
*
|
||||
* @noextend This interface is not intended to be extended by clients.
|
||||
* @noimplement This interface is not intended to be implemented by clients.
|
||||
*/
|
||||
public interface IExitNode extends IBasicBlock, ISingleIncoming {
|
||||
/**
|
||||
|
|
|
@ -4,6 +4,9 @@ package org.eclipse.cdt.codan.core.model.cfg;
|
|||
* Node that changes the control of the graph, i.e. passes control to non-next
|
||||
* statement. Can be used to implement gotos, break, continue, end of branches.
|
||||
* Outgoing node is always {@link IConnectorNode}
|
||||
*
|
||||
* @noextend This interface is not intended to be extended by clients.
|
||||
* @noimplement This interface is not intended to be implemented by clients.
|
||||
*/
|
||||
public interface IJumpNode extends IBasicBlock, ISingleOutgoing {
|
||||
/**
|
||||
|
|
|
@ -12,6 +12,8 @@ package org.eclipse.cdt.codan.core.model.cfg;
|
|||
|
||||
/**
|
||||
* Control Flow Graph Node factory
|
||||
*
|
||||
* @noextend This interface is not intended to be extended by clients.
|
||||
*/
|
||||
public interface INodeFactory {
|
||||
/**
|
||||
|
|
|
@ -3,6 +3,9 @@ package org.eclipse.cdt.codan.core.model.cfg;
|
|||
/**
|
||||
* Has one incoming, one outgoing connection. Usually expression statement or
|
||||
* declaration.
|
||||
*
|
||||
* @noextend This interface is not intended to be extended by clients.
|
||||
* @noimplement This interface is not intended to be implemented by clients.
|
||||
*/
|
||||
public interface IPlainNode extends IBasicBlock, ISingleOutgoing,
|
||||
ISingleIncoming {
|
||||
|
|
|
@ -2,6 +2,8 @@ package org.eclipse.cdt.codan.core.model.cfg;
|
|||
|
||||
/**
|
||||
* Node with one incoming arc
|
||||
*
|
||||
* @noextend This interface is not intended to be extended by clients.
|
||||
*/
|
||||
public interface ISingleIncoming {
|
||||
/**
|
||||
|
|
|
@ -2,6 +2,8 @@ package org.eclipse.cdt.codan.core.model.cfg;
|
|||
|
||||
/**
|
||||
* Node with one outgoing arc
|
||||
*
|
||||
* @noextend This interface is not intended to be extended by clients.
|
||||
*/
|
||||
public interface ISingleOutgoing {
|
||||
/**
|
||||
|
|
|
@ -1,10 +1,12 @@
|
|||
package org.eclipse.cdt.codan.core.model.cfg;
|
||||
|
||||
|
||||
/**
|
||||
* Start node of the control flow graph. Each graph has only one start node. It
|
||||
* has no incoming arcs and one outgoing arc. It also contains iterator for
|
||||
* function exit nodes.
|
||||
*
|
||||
* @noextend This interface is not intended to be extended by clients.
|
||||
* @noimplement This interface is not intended to be implemented by clients.
|
||||
*/
|
||||
public interface IStartNode extends IBasicBlock, ISingleOutgoing {
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue