1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-23 14:42:11 +02:00
cdt/codan/org.eclipse.cdt.codan.core/schema/checkers.exsd
2010-02-19 02:29:18 +00:00

269 lines
8.4 KiB
XML

<?xml version='1.0' encoding='UTF-8'?>
<!-- Schema file written by PDE -->
<schema targetNamespace="org.eclipse.cdt.codan.ui" xmlns="http://www.w3.org/2001/XMLSchema">
<annotation>
<appinfo>
<meta.schema plugin="org.eclipse.cdt.codan.ui" id="checkers" name="Code Analysis Checkers"/>
</appinfo>
<documentation>
Define chckers for Code Analysis framework.
</documentation>
</annotation>
<element name="extension">
<annotation>
<appinfo>
<meta.element />
</appinfo>
</annotation>
<complexType>
<sequence minOccurs="1" maxOccurs="unbounded">
<choice>
<element ref="checker"/>
<element ref="category"/>
</choice>
</sequence>
<attribute name="point" type="string" use="required">
<annotation>
<documentation>
</documentation>
</annotation>
</attribute>
<attribute name="id" type="string">
<annotation>
<documentation>
</documentation>
</annotation>
</attribute>
<attribute name="name" type="string">
<annotation>
<documentation>
</documentation>
<appinfo>
<meta.attribute translatable="true"/>
</appinfo>
</annotation>
</attribute>
</complexType>
</element>
<element name="checker">
<annotation>
<documentation>
Checker Element. Sets id, name and class that implements checker
</documentation>
</annotation>
<complexType>
<sequence minOccurs="0" maxOccurs="unbounded">
<choice>
<element ref="problem"/>
<element ref="problemRef"/>
</choice>
</sequence>
<attribute name="id" type="string" use="required">
<annotation>
<documentation>
Checker id.
</documentation>
</annotation>
</attribute>
<attribute name="class" type="string" use="required">
<annotation>
<documentation>
Checker class. Must implement IChecker.
</documentation>
<appinfo>
<meta.attribute kind="java" basedOn=":org.eclipse.cdt.codan.core.model.IChecker"/>
</appinfo>
</annotation>
</attribute>
<attribute name="name" type="string">
<annotation>
<documentation>
User Friendly name of the chcker or error. Would be display to enable/disable an error.
</documentation>
<appinfo>
<meta.attribute translatable="true"/>
</appinfo>
</annotation>
</attribute>
</complexType>
</element>
<element name="problem">
<annotation>
<documentation>
Problem description (Error, Warning, Info produced by a checker)
</documentation>
</annotation>
<complexType>
<attribute name="id" type="string" use="required">
<annotation>
<documentation>
Error id. Should be prefixed by plugin name in general.
</documentation>
</annotation>
</attribute>
<attribute name="name" type="string">
<annotation>
<documentation>
User Friendly name of the error. Would be display to enable/disable an error.
</documentation>
<appinfo>
<meta.attribute translatable="true"/>
</appinfo>
</annotation>
</attribute>
<attribute name="defaultSeverity" use="default" value="Warning">
<annotation>
<documentation>
</documentation>
</annotation>
<simpleType>
<restriction base="string">
<enumeration value="Error">
</enumeration>
<enumeration value="Warning">
</enumeration>
<enumeration value="Info">
</enumeration>
</restriction>
</simpleType>
</attribute>
<attribute name="category" type="string">
<annotation>
<documentation>
</documentation>
<appinfo>
<meta.attribute kind="identifier" basedOn="org.eclipse.cdt.codan.core.checkers/category/@id"/>
</appinfo>
</annotation>
</attribute>
<attribute name="defaultEnabled" type="boolean" use="default" value="true">
<annotation>
<documentation>
If problem is enabled in original profile. Default is true.
</documentation>
</annotation>
</attribute>
</complexType>
</element>
<element name="category">
<complexType>
<attribute name="id" type="string" use="required">
<annotation>
<documentation>
</documentation>
</annotation>
</attribute>
<attribute name="name" type="string" use="required">
<annotation>
<documentation>
</documentation>
<appinfo>
<meta.attribute translatable="true"/>
</appinfo>
</annotation>
</attribute>
<attribute name="parentCategory" type="string">
<annotation>
<documentation>
</documentation>
<appinfo>
<meta.attribute kind="identifier" basedOn="org.eclipse.cdt.codan.core.checkers/category/@id"/>
</appinfo>
</annotation>
</attribute>
</complexType>
</element>
<element name="problemRef">
<complexType>
<attribute name="problem" type="string" use="required">
<annotation>
<documentation>
Reference to a problem
</documentation>
<appinfo>
<meta.attribute kind="identifier" basedOn="org.eclipse.cdt.codan.core.checkers/checker/problem/@id"/>
</appinfo>
</annotation>
</attribute>
</complexType>
</element>
<annotation>
<appinfo>
<meta.section type="since"/>
</appinfo>
<documentation>
1.0
</documentation>
</annotation>
<annotation>
<appinfo>
<meta.section type="examples"/>
</appinfo>
<documentation>
The following is an example of a single checker definition:
&lt;p&gt;
&lt;pre&gt;
&lt;extension
point=&quot;org.eclipse.cdt.codan.ui.checkers&quot;&gt;
&lt;checker
class=&quot;org.aaa.AssignmentInConditionChecker&quot;
id=&quot;org.aaa.AssignmentInConditionChecker&quot;
name=&quot;Possible Assignment in Condition instead of comparision&quot;&gt;
&lt;/checker&gt;
&lt;/extension&gt;
&lt;/pre&gt;
&lt;/p&gt;
The following is an example of a checker that produces two types of errors:
&lt;p&gt;
&lt;pre&gt;
&lt;extension
point=&quot;org.eclipse.cdt.codan.ui.checkers&quot;&gt;
&lt;checker
class=&quot;org.aaa.NullPointerDereferenceChecker&quot;
id=&quot;org.aaa.NullPointerDereferenceChecker&quot;
name=&quot;Null Pointer Dereference checker&quot;&gt;
&lt;problem id=&quot;org.aaa.npe_must&quot; name=&quot;Null Pointer Dereference&quot;/ defaultSeverity=&quot;Error&quot;&gt;
&lt;problem id=&quot;org.aaa.npe_may&quot; name=&quot;Possible Null Pointer Dereference&quot;/&gt;
&lt;/checker&gt;
&lt;/extension&gt;
&lt;/pre&gt;
&lt;/p&gt;
</documentation>
</annotation>
<annotation>
<appinfo>
<meta.section type="apiinfo"/>
</appinfo>
<documentation>
[Enter API information here.]
</documentation>
</annotation>
<annotation>
<appinfo>
<meta.section type="implementation"/>
</appinfo>
<documentation>
[Enter information about supplied implementation of this extension point.]
</documentation>
</annotation>
</schema>