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
|
* Convenience implementation of IChecker interface. Has a default
|
||||||
* implementation for common methods.
|
* implementation for common methods.
|
||||||
*
|
*
|
||||||
* Clients may extend this class.
|
|
||||||
*/
|
*/
|
||||||
public abstract class AbstractChecker implements IChecker {
|
public abstract class AbstractChecker implements IChecker {
|
||||||
protected String name;
|
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
|
* Represents Severity of the codan problem. It is directly mapped to markers
|
||||||
* severity,
|
* 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.
|
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public enum CodanSeverity {
|
public enum CodanSeverity {
|
||||||
|
|
|
@ -16,7 +16,6 @@ import org.eclipse.core.resources.IResource;
|
||||||
* IProblemReporterPersistent - interface to report problems, which are
|
* IProblemReporterPersistent - interface to report problems, which are
|
||||||
* persistent, ex. markers
|
* persistent, ex. markers
|
||||||
*
|
*
|
||||||
* Clients may implement and extend this interface
|
|
||||||
* <p>
|
* <p>
|
||||||
* <strong>EXPERIMENTAL</strong>. This class or interface has been added as part
|
* <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
|
* 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.
|
* Modifiable problem.
|
||||||
*
|
*
|
||||||
* Clients may extend and implement this interface
|
*
|
||||||
* <p>
|
* <p>
|
||||||
* <strong>EXPERIMENTAL</strong>. This class or interface has been added as part
|
* <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
|
* of a work in progress. There is no guarantee that this API will work or that
|
||||||
* it will remain the same.
|
* it will remain the same.
|
||||||
* </p>
|
* </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 {
|
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.
|
* Control flow graph's basic block node - super interface of all nodes.
|
||||||
* It has set on incoming nodes and outgoing nodes.
|
* It has set on incoming nodes and outgoing nodes.
|
||||||
* <p/>
|
* <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 {
|
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
|
* 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,
|
public interface IBranchNode extends IBasicBlock, ISingleIncoming,
|
||||||
ISingleOutgoing {
|
ISingleOutgoing {
|
||||||
|
|
|
@ -3,6 +3,9 @@ package org.eclipse.cdt.codan.core.model.cfg;
|
||||||
/**
|
/**
|
||||||
* Connector node has multiple incoming branches and single outgoing.
|
* Connector node has multiple incoming branches and single outgoing.
|
||||||
* Incoming nodes are usually instance of {@link IJumpNode}
|
* 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 {
|
public interface IConnectorNode extends IBasicBlock, ISingleOutgoing {
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -29,6 +29,9 @@ import java.util.Iterator;
|
||||||
* change of control direction
|
* change of control direction
|
||||||
* <li> {@link IBranchNode} - usually node where decision node connect to,
|
* <li> {@link IBranchNode} - usually node where decision node connect to,
|
||||||
* labels represent a way where controls goes 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 {
|
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,
|
* 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
|
* it has one incoming arc and many outgoing, each of outgoing node should be
|
||||||
* IBranchNode
|
* 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 {
|
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
|
* Exit node of the graph. Usually return from the function, can also be throw
|
||||||
* or abort, such at exit(0) call.
|
* 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 {
|
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
|
* 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.
|
* statement. Can be used to implement gotos, break, continue, end of branches.
|
||||||
* Outgoing node is always {@link IConnectorNode}
|
* 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 {
|
public interface IJumpNode extends IBasicBlock, ISingleOutgoing {
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -12,6 +12,8 @@ package org.eclipse.cdt.codan.core.model.cfg;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Control Flow Graph Node factory
|
* Control Flow Graph Node factory
|
||||||
|
*
|
||||||
|
* @noextend This interface is not intended to be extended by clients.
|
||||||
*/
|
*/
|
||||||
public interface INodeFactory {
|
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
|
* Has one incoming, one outgoing connection. Usually expression statement or
|
||||||
* declaration.
|
* 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,
|
public interface IPlainNode extends IBasicBlock, ISingleOutgoing,
|
||||||
ISingleIncoming {
|
ISingleIncoming {
|
||||||
|
|
|
@ -2,6 +2,8 @@ package org.eclipse.cdt.codan.core.model.cfg;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Node with one incoming arc
|
* Node with one incoming arc
|
||||||
|
*
|
||||||
|
* @noextend This interface is not intended to be extended by clients.
|
||||||
*/
|
*/
|
||||||
public interface ISingleIncoming {
|
public interface ISingleIncoming {
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -2,6 +2,8 @@ package org.eclipse.cdt.codan.core.model.cfg;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Node with one outgoing arc
|
* Node with one outgoing arc
|
||||||
|
*
|
||||||
|
* @noextend This interface is not intended to be extended by clients.
|
||||||
*/
|
*/
|
||||||
public interface ISingleOutgoing {
|
public interface ISingleOutgoing {
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -1,10 +1,12 @@
|
||||||
package org.eclipse.cdt.codan.core.model.cfg;
|
package org.eclipse.cdt.codan.core.model.cfg;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Start node of the control flow graph. Each graph has only one start node. It
|
* 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
|
* has no incoming arcs and one outgoing arc. It also contains iterator for
|
||||||
* function exit nodes.
|
* 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 {
|
public interface IStartNode extends IBasicBlock, ISingleOutgoing {
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue