mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-04-23 14:42:11 +02:00
269 lines
8.4 KiB
XML
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:
|
|
<p>
|
|
<pre>
|
|
<extension
|
|
point="org.eclipse.cdt.codan.ui.checkers">
|
|
<checker
|
|
class="org.aaa.AssignmentInConditionChecker"
|
|
id="org.aaa.AssignmentInConditionChecker"
|
|
name="Possible Assignment in Condition instead of comparision">
|
|
</checker>
|
|
</extension>
|
|
</pre>
|
|
</p>
|
|
The following is an example of a checker that produces two types of errors:
|
|
<p>
|
|
<pre>
|
|
<extension
|
|
point="org.eclipse.cdt.codan.ui.checkers">
|
|
|
|
<checker
|
|
class="org.aaa.NullPointerDereferenceChecker"
|
|
id="org.aaa.NullPointerDereferenceChecker"
|
|
name="Null Pointer Dereference checker">
|
|
<problem id="org.aaa.npe_must" name="Null Pointer Dereference"/ defaultSeverity="Error">
|
|
<problem id="org.aaa.npe_may" name="Possible Null Pointer Dereference"/>
|
|
</checker>
|
|
</extension>
|
|
</pre>
|
|
</p>
|
|
</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>
|