BytecodeAnalysis: infer failing contracts; infer contracts for input boolean arguments; squash inferred contracts; refactoring

This commit is contained in:
Tagir Valeev
2017-05-24 11:49:05 +07:00
parent 871ef095bb
commit 5599cc543f
35 changed files with 764 additions and 419 deletions

View File

@@ -46,6 +46,7 @@
</item>
<item name='org.apache.commons.collections.iterators.AbstractEmptyIterator java.lang.Object setValue(java.lang.Object)'>
<annotation name='org.jetbrains.annotations.Contract'>
<val name="value" val="&quot;_-&gt;fail&quot;"/>
<val name="pure" val="true"/>
</annotation>
</item>
@@ -54,6 +55,7 @@
</item>
<item name='org.apache.commons.collections.iterators.AbstractEmptyIterator void add(java.lang.Object)'>
<annotation name='org.jetbrains.annotations.Contract'>
<val name="value" val="&quot;_-&gt;fail&quot;"/>
<val name="pure" val="true"/>
</annotation>
</item>
@@ -72,6 +74,7 @@
</item>
<item name='org.apache.commons.collections.iterators.AbstractEmptyIterator void set(java.lang.Object)'>
<annotation name='org.jetbrains.annotations.Contract'>
<val name="value" val="&quot;_-&gt;fail&quot;"/>
<val name="pure" val="true"/>
</annotation>
</item>

View File

@@ -400,7 +400,7 @@
</item>
<item name='org.apache.commons.collections.map.LRUMap boolean removeLRU(org.apache.commons.collections.map.AbstractLinkedMap.LinkEntry)'>
<annotation name='org.jetbrains.annotations.Contract'>
<val name="value" val="&quot;!null-&gt;true;null-&gt;true&quot;"/>
<val name="value" val="&quot;_-&gt;true&quot;"/>
<val name="pure" val="true"/>
</annotation>
</item>

View File

@@ -3147,9 +3147,9 @@
</item>
<item name='org.apache.commons.lang.StringUtils java.lang.String defaultString(java.lang.String)'>
<annotation name='org.jetbrains.annotations.Contract'>
<val name="value" val="&quot;!null-&gt;!null;null-&gt;!null&quot;"/>
<val name="pure" val="true"/>
</annotation>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='org.apache.commons.lang.StringUtils java.lang.String defaultString(java.lang.String) 0'>
<annotation name='org.jetbrains.annotations.Nullable'/>
@@ -4070,16 +4070,19 @@
</item>
<item name='org.apache.commons.lang.Validate void isTrue(boolean)'>
<annotation name='org.jetbrains.annotations.Contract'>
<val name="value" val="&quot;false-&gt;fail&quot;"/>
<val name="pure" val="true"/>
</annotation>
</item>
<item name='org.apache.commons.lang.Validate void isTrue(boolean, java.lang.String)'>
<annotation name='org.jetbrains.annotations.Contract'>
<val name="value" val="&quot;false,_-&gt;fail&quot;"/>
<val name="pure" val="true"/>
</annotation>
</item>
<item name='org.apache.commons.lang.Validate void isTrue(boolean, java.lang.String, double)'>
<annotation name='org.jetbrains.annotations.Contract'>
<val name="value" val="&quot;false,_,_-&gt;fail&quot;"/>
<val name="pure" val="true"/>
</annotation>
</item>
@@ -4088,6 +4091,7 @@
</item>
<item name='org.apache.commons.lang.Validate void isTrue(boolean, java.lang.String, java.lang.Object)'>
<annotation name='org.jetbrains.annotations.Contract'>
<val name="value" val="&quot;false,_,_-&gt;fail&quot;"/>
<val name="pure" val="true"/>
</annotation>
</item>
@@ -4099,6 +4103,7 @@
</item>
<item name='org.apache.commons.lang.Validate void isTrue(boolean, java.lang.String, long)'>
<annotation name='org.jetbrains.annotations.Contract'>
<val name="value" val="&quot;false,_,_-&gt;fail&quot;"/>
<val name="pure" val="true"/>
</annotation>
</item>
@@ -4129,6 +4134,7 @@
</item>
<item name='org.apache.commons.lang.Validate void notEmpty(java.lang.Object[])'>
<annotation name='org.jetbrains.annotations.Contract'>
<val name="value" val="&quot;null-&gt;fail&quot;"/>
<val name="pure" val="true"/>
</annotation>
</item>
@@ -4137,6 +4143,7 @@
</item>
<item name='org.apache.commons.lang.Validate void notEmpty(java.lang.Object[], java.lang.String)'>
<annotation name='org.jetbrains.annotations.Contract'>
<val name="value" val="&quot;null,_-&gt;fail&quot;"/>
<val name="pure" val="true"/>
</annotation>
</item>
@@ -4145,6 +4152,7 @@
</item>
<item name='org.apache.commons.lang.Validate void notEmpty(java.lang.String)'>
<annotation name='org.jetbrains.annotations.Contract'>
<val name="value" val="&quot;null-&gt;fail&quot;"/>
<val name="pure" val="true"/>
</annotation>
</item>
@@ -4153,6 +4161,7 @@
</item>
<item name='org.apache.commons.lang.Validate void notEmpty(java.lang.String, java.lang.String)'>
<annotation name='org.jetbrains.annotations.Contract'>
<val name="value" val="&quot;null,_-&gt;fail&quot;"/>
<val name="pure" val="true"/>
</annotation>
</item>
@@ -4173,6 +4182,7 @@
</item>
<item name='org.apache.commons.lang.Validate void notNull(java.lang.Object)'>
<annotation name='org.jetbrains.annotations.Contract'>
<val name="value" val="&quot;null-&gt;fail&quot;"/>
<val name="pure" val="true"/>
</annotation>
</item>
@@ -4181,6 +4191,7 @@
</item>
<item name='org.apache.commons.lang.Validate void notNull(java.lang.Object, java.lang.String)'>
<annotation name='org.jetbrains.annotations.Contract'>
<val name="value" val="&quot;null,_-&gt;fail&quot;"/>
<val name="pure" val="true"/>
</annotation>
</item>

View File

@@ -280,7 +280,7 @@
</item>
<item name='org.apache.commons.lang.math.Fraction org.apache.commons.lang.math.Fraction addSub(org.apache.commons.lang.math.Fraction, boolean)'>
<annotation name='org.jetbrains.annotations.Contract'>
<val val="&quot;!null,_-&gt;!null&quot;"/>
<val val="&quot;!null,_-&gt;!null;_,false-&gt;!null&quot;"/>
</annotation>
</item>
<item name='org.apache.commons.lang.math.Fraction org.apache.commons.lang.math.Fraction addSub(org.apache.commons.lang.math.Fraction, boolean) 0'>
@@ -472,11 +472,13 @@
</item>
<item name='org.apache.commons.lang.math.JVMRandom double nextGaussian()'>
<annotation name='org.jetbrains.annotations.Contract'>
<val name="value" val="&quot;-&gt;fail&quot;"/>
<val name="pure" val="true"/>
</annotation>
</item>
<item name='org.apache.commons.lang.math.JVMRandom void nextBytes(byte[])'>
<annotation name='org.jetbrains.annotations.Contract'>
<val name="value" val="&quot;_-&gt;fail&quot;"/>
<val name="pure" val="true"/>
</annotation>
</item>

View File

@@ -76,9 +76,7 @@
<annotation name='org.jetbrains.annotations.Nullable'/>
</item>
<item name='org.apache.commons.lang.text.StrBuilder char[] getChars(char[])'>
<annotation name='org.jetbrains.annotations.Contract'>
<val val="&quot;!null-&gt;!null;null-&gt;!null&quot;"/>
</annotation>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='org.apache.commons.lang.text.StrBuilder char[] getChars(char[]) 0'>
<annotation name='org.jetbrains.annotations.Nullable'/>
@@ -602,6 +600,7 @@
</item>
<item name='org.apache.commons.lang.text.StrMatcher.NoMatcher int isMatch(char[], int, int, int)'>
<annotation name='org.jetbrains.annotations.Contract'>
<val name="value" val="&quot;_,_,_,_-&gt;false&quot;"/>
<val name="pure" val="true"/>
</annotation>
</item>
@@ -942,6 +941,7 @@
</item>
<item name='org.apache.commons.lang.text.StrTokenizer void add(java.lang.Object)'>
<annotation name='org.jetbrains.annotations.Contract'>
<val name="value" val="&quot;_-&gt;fail&quot;"/>
<val name="pure" val="true"/>
</annotation>
</item>
@@ -955,6 +955,7 @@
</item>
<item name='org.apache.commons.lang.text.StrTokenizer void set(java.lang.Object)'>
<annotation name='org.jetbrains.annotations.Contract'>
<val name="value" val="&quot;_-&gt;fail&quot;"/>
<val name="pure" val="true"/>
</annotation>
</item>

View File

@@ -18,12 +18,12 @@
</item>
<item name='org.apache.velocity.app.Velocity boolean mergeTemplate(java.lang.String, java.lang.String, org.apache.velocity.context.Context, java.io.Writer)'>
<annotation name='org.jetbrains.annotations.Contract'>
<val val="&quot;!null,_,_,_-&gt;true;_,!null,_,_-&gt;true;_,_,!null,_-&gt;true;_,_,_,!null-&gt;true;_,_,_,null-&gt;true;_,_,null,_-&gt;true;_,null,_,_-&gt;true;null,_,_,_-&gt;true&quot;"/>
<val val="&quot;_,_,_,_-&gt;true&quot;"/>
</annotation>
</item>
<item name='org.apache.velocity.app.Velocity boolean mergeTemplate(java.lang.String, org.apache.velocity.context.Context, java.io.Writer)'>
<annotation name='org.jetbrains.annotations.Contract'>
<val val="&quot;!null,_,_-&gt;true;_,!null,_-&gt;true;_,_,!null-&gt;true;_,_,null-&gt;true;_,null,_-&gt;true;null,_,_-&gt;true&quot;"/>
<val val="&quot;_,_,_-&gt;true&quot;"/>
</annotation>
</item>
<item name='org.apache.velocity.app.VelocityEngine boolean evaluate(org.apache.velocity.context.Context, java.io.Writer, java.lang.String, java.io.InputStream) 3'>
@@ -31,7 +31,7 @@
</item>
<item name='org.apache.velocity.app.VelocityEngine boolean mergeTemplate(java.lang.String, java.lang.String, org.apache.velocity.context.Context, java.io.Writer)'>
<annotation name='org.jetbrains.annotations.Contract'>
<val val="&quot;!null,_,_,_-&gt;true;_,!null,_,_-&gt;true;_,_,!null,_-&gt;true;_,_,_,!null-&gt;true;_,_,_,null-&gt;true;_,_,null,_-&gt;true;_,null,_,_-&gt;true;null,_,_,_-&gt;true&quot;"/>
<val val="&quot;_,_,_,_-&gt;true&quot;"/>
</annotation>
</item>
</root>

View File

@@ -131,7 +131,7 @@
</item>
<item name='org.apache.velocity.app.event.implement.ReportInvalidReferences boolean invalidSetMethod(org.apache.velocity.context.Context, java.lang.String, java.lang.String, org.apache.velocity.util.introspection.Info)'>
<annotation name='org.jetbrains.annotations.Contract'>
<val val="&quot;!null,_,_,_-&gt;false;_,!null,_,_-&gt;false;_,_,!null,_-&gt;false;_,_,_,!null-&gt;false;_,_,_,null-&gt;false;_,_,null,_-&gt;false;_,null,_,_-&gt;false;null,_,_,_-&gt;false&quot;"/>
<val val="&quot;_,_,_,_-&gt;false&quot;"/>
</annotation>
</item>
<item name='org.apache.velocity.app.event.implement.ReportInvalidReferences boolean invalidSetMethod(org.apache.velocity.context.Context, java.lang.String, java.lang.String, org.apache.velocity.util.introspection.Info) 0'>
@@ -145,7 +145,7 @@
</item>
<item name='org.apache.velocity.app.event.implement.ReportInvalidReferences java.lang.Object invalidGetMethod(org.apache.velocity.context.Context, java.lang.String, java.lang.Object, java.lang.String, org.apache.velocity.util.introspection.Info)'>
<annotation name='org.jetbrains.annotations.Contract'>
<val val="&quot;!null,_,_,_,_-&gt;null;_,!null,_,_,_-&gt;null;_,_,!null,_,_-&gt;null;_,_,_,!null,_-&gt;null;_,_,_,_,!null-&gt;null;_,_,_,_,null-&gt;null;_,_,_,null,_-&gt;null;_,_,null,_,_-&gt;null;_,null,_,_,_-&gt;null;null,_,_,_,_-&gt;null&quot;"/>
<val val="&quot;_,_,_,_,_-&gt;null&quot;"/>
</annotation>
<annotation name='org.jetbrains.annotations.Nullable'/>
</item>
@@ -163,7 +163,7 @@
</item>
<item name='org.apache.velocity.app.event.implement.ReportInvalidReferences java.lang.Object invalidMethod(org.apache.velocity.context.Context, java.lang.String, java.lang.Object, java.lang.String, org.apache.velocity.util.introspection.Info)'>
<annotation name='org.jetbrains.annotations.Contract'>
<val val="&quot;!null,_,_,_,_-&gt;null;_,!null,_,_,_-&gt;null;_,_,!null,_,_-&gt;null;_,_,_,!null,_-&gt;null;_,_,_,_,!null-&gt;null;_,_,_,_,null-&gt;null;_,_,_,null,_-&gt;null;_,_,null,_,_-&gt;null;_,null,_,_,_-&gt;null;null,_,_,_,_-&gt;null&quot;"/>
<val val="&quot;_,_,_,_,_-&gt;null&quot;"/>
</annotation>
<annotation name='org.jetbrains.annotations.Nullable'/>
</item>

View File

@@ -70,6 +70,7 @@
</item>
<item name='org.apache.velocity.io.VelocityWriter void bufferOverflow()'>
<annotation name='org.jetbrains.annotations.Contract'>
<val name="value" val="&quot;-&gt;fail&quot;"/>
<val name="pure" val="true"/>
</annotation>
</item>

View File

@@ -43,7 +43,7 @@
</item>
<item name='org.apache.velocity.runtime.RuntimeInstance boolean render(org.apache.velocity.context.Context, java.io.Writer, java.lang.String, org.apache.velocity.runtime.parser.node.SimpleNode)'>
<annotation name='org.jetbrains.annotations.Contract'>
<val val="&quot;!null,_,_,_-&gt;true;_,!null,_,_-&gt;true;_,_,!null,_-&gt;true;_,_,_,!null-&gt;true;_,_,_,null-&gt;true;_,_,null,_-&gt;true;_,null,_,_-&gt;true;null,_,_,_-&gt;true&quot;"/>
<val val="&quot;_,_,_,_-&gt;true&quot;"/>
</annotation>
</item>
<item name='org.apache.velocity.runtime.RuntimeInstance java.lang.Object getProperty(java.lang.String)'>
@@ -166,7 +166,7 @@
</item>
<item name='org.apache.velocity.runtime.VelocimacroManager boolean addVM(java.lang.String, org.apache.velocity.runtime.parser.node.Node, java.lang.String[], java.lang.String, boolean)'>
<annotation name='org.jetbrains.annotations.Contract'>
<val val="&quot;!null,_,_,_,_-&gt;true;_,!null,_,_,_-&gt;true;_,_,!null,_,_-&gt;true;_,_,_,!null,_-&gt;true;_,_,_,null,_-&gt;true;_,_,null,_,_-&gt;true;null,_,_,_,_-&gt;true&quot;"/>
<val val="&quot;_,_,_,_,_-&gt;true&quot;"/>
</annotation>
</item>
<item name='org.apache.velocity.runtime.VelocimacroManager boolean addVM(java.lang.String, org.apache.velocity.runtime.parser.node.Node, java.lang.String[], java.lang.String, boolean) 1'>

View File

@@ -62,7 +62,7 @@
</item>
<item name='org.apache.velocity.runtime.directive.Break boolean render(org.apache.velocity.context.InternalContextAdapter, java.io.Writer, org.apache.velocity.runtime.parser.node.Node)'>
<annotation name='org.jetbrains.annotations.Contract'>
<val val="&quot;!null,_,_-&gt;false;_,!null,_-&gt;false;_,_,!null-&gt;false;_,null,_-&gt;false;null,_,_-&gt;false&quot;"/>
<val val="&quot;_,_,_-&gt;false&quot;"/>
</annotation>
</item>
<item name='org.apache.velocity.runtime.directive.Break boolean render(org.apache.velocity.context.InternalContextAdapter, java.io.Writer, org.apache.velocity.runtime.parser.node.Node) 1'>
@@ -95,7 +95,7 @@
</item>
<item name='org.apache.velocity.runtime.directive.Define boolean render(org.apache.velocity.context.InternalContextAdapter, java.io.Writer, org.apache.velocity.runtime.parser.node.Node)'>
<annotation name='org.jetbrains.annotations.Contract'>
<val val="&quot;!null,_,_-&gt;true;_,!null,_-&gt;true;_,_,!null-&gt;true;_,_,null-&gt;true;_,null,_-&gt;true&quot;"/>
<val val="&quot;_,_,_-&gt;true&quot;"/>
</annotation>
</item>
<item name='org.apache.velocity.runtime.directive.Define boolean render(org.apache.velocity.context.InternalContextAdapter, java.io.Writer, org.apache.velocity.runtime.parser.node.Node) 0'>
@@ -288,7 +288,7 @@
</item>
<item name='org.apache.velocity.runtime.directive.Include boolean render(org.apache.velocity.context.InternalContextAdapter, java.io.Writer, org.apache.velocity.runtime.parser.node.Node)'>
<annotation name='org.jetbrains.annotations.Contract'>
<val val="&quot;!null,_,_-&gt;true;_,!null,_-&gt;true;_,_,!null-&gt;true;_,null,_-&gt;true;null,_,_-&gt;true&quot;"/>
<val val="&quot;_,_,_-&gt;true&quot;"/>
</annotation>
</item>
<item name='org.apache.velocity.runtime.directive.Include boolean render(org.apache.velocity.context.InternalContextAdapter, java.io.Writer, org.apache.velocity.runtime.parser.node.Node) 2'>
@@ -333,7 +333,7 @@
</item>
<item name='org.apache.velocity.runtime.directive.Literal boolean render(org.apache.velocity.context.InternalContextAdapter, java.io.Writer, org.apache.velocity.runtime.parser.node.Node)'>
<annotation name='org.jetbrains.annotations.Contract'>
<val val="&quot;!null,_,_-&gt;true;_,!null,_-&gt;true;_,_,!null-&gt;true;_,_,null-&gt;true;null,_,_-&gt;true&quot;"/>
<val val="&quot;_,_,_-&gt;true&quot;"/>
</annotation>
</item>
<item name='org.apache.velocity.runtime.directive.Literal boolean render(org.apache.velocity.context.InternalContextAdapter, java.io.Writer, org.apache.velocity.runtime.parser.node.Node) 0'>
@@ -374,8 +374,7 @@
</item>
<item name='org.apache.velocity.runtime.directive.Macro boolean render(org.apache.velocity.context.InternalContextAdapter, java.io.Writer, org.apache.velocity.runtime.parser.node.Node)'>
<annotation name='org.jetbrains.annotations.Contract'>
<val name="value"
val="&quot;!null,_,_-&gt;true;_,!null,_-&gt;true;_,_,!null-&gt;true;_,_,null-&gt;true;_,null,_-&gt;true;null,_,_-&gt;true&quot;"/>
<val name="value" val="&quot;_,_,_-&gt;true&quot;"/>
<val name="pure" val="true"/>
</annotation>
</item>
@@ -598,7 +597,7 @@
</item>
<item name='org.apache.velocity.runtime.directive.VelocimacroProxy boolean render(org.apache.velocity.context.InternalContextAdapter, java.io.Writer, org.apache.velocity.runtime.parser.node.Node, org.apache.velocity.runtime.Renderable)'>
<annotation name='org.jetbrains.annotations.Contract'>
<val val="&quot;!null,_,_,_-&gt;true;_,!null,_,_-&gt;true;_,_,!null,_-&gt;true;_,_,_,!null-&gt;true;_,_,_,null-&gt;true;_,null,_,_-&gt;true;null,_,_,_-&gt;true&quot;"/>
<val val="&quot;_,_,_,_-&gt;true&quot;"/>
</annotation>
</item>
<item name='org.apache.velocity.runtime.directive.VelocimacroProxy boolean render(org.apache.velocity.context.InternalContextAdapter, java.io.Writer, org.apache.velocity.runtime.parser.node.Node, org.apache.velocity.runtime.Renderable) 2'>

View File

@@ -233,6 +233,7 @@
</item>
<item name='org.apache.velocity.runtime.log.RuntimeLoggerLog void setLogChute(org.apache.velocity.runtime.log.LogChute)'>
<annotation name='org.jetbrains.annotations.Contract'>
<val name="value" val="&quot;_-&gt;fail&quot;"/>
<val name="pure" val="true"/>
</annotation>
</item>
@@ -241,6 +242,7 @@
</item>
<item name='org.apache.velocity.runtime.log.RuntimeLoggerLog void setShowStackTraces(boolean)'>
<annotation name='org.jetbrains.annotations.Contract'>
<val name="value" val="&quot;_-&gt;fail&quot;"/>
<val name="pure" val="true"/>
</annotation>
</item>

View File

@@ -65,7 +65,7 @@
</item>
<item name='org.apache.velocity.runtime.parser.node.ASTBlock boolean render(org.apache.velocity.context.InternalContextAdapter, java.io.Writer)'>
<annotation name='org.jetbrains.annotations.Contract'>
<val val="&quot;!null,_-&gt;true;_,!null-&gt;true;_,null-&gt;true;null,_-&gt;true&quot;"/>
<val val="&quot;_,_-&gt;true&quot;"/>
</annotation>
</item>
<item name='org.apache.velocity.runtime.parser.node.ASTBlock java.lang.Object jjtAccept(org.apache.velocity.runtime.parser.node.ParserVisitor, java.lang.Object) 0'>
@@ -83,7 +83,7 @@
</item>
<item name='org.apache.velocity.runtime.parser.node.ASTComment boolean render(org.apache.velocity.context.InternalContextAdapter, java.io.Writer)'>
<annotation name='org.jetbrains.annotations.Contract'>
<val val="&quot;!null,_-&gt;true;_,!null-&gt;true;null,_-&gt;true&quot;"/>
<val val="&quot;_,_-&gt;true&quot;"/>
</annotation>
</item>
<item name='org.apache.velocity.runtime.parser.node.ASTComment boolean render(org.apache.velocity.context.InternalContextAdapter, java.io.Writer) 0'>
@@ -115,7 +115,7 @@
</item>
<item name='org.apache.velocity.runtime.parser.node.ASTDirective boolean render(org.apache.velocity.context.InternalContextAdapter, java.io.Writer)'>
<annotation name='org.jetbrains.annotations.Contract'>
<val val="&quot;!null,_-&gt;true;_,!null-&gt;true;_,null-&gt;true;null,_-&gt;true&quot;"/>
<val val="&quot;_,_-&gt;true&quot;"/>
</annotation>
</item>
<item name='org.apache.velocity.runtime.parser.node.ASTDirective java.lang.Object init(org.apache.velocity.context.InternalContextAdapter, java.lang.Object)'>
@@ -185,7 +185,7 @@
</item>
<item name='org.apache.velocity.runtime.parser.node.ASTElseStatement boolean evaluate(org.apache.velocity.context.InternalContextAdapter)'>
<annotation name='org.jetbrains.annotations.Contract'>
<val name="value" val="&quot;!null-&gt;true;null-&gt;true&quot;"/>
<val name="value" val="&quot;_-&gt;true&quot;"/>
<val name="pure" val="true"/>
</annotation>
</item>
@@ -207,7 +207,7 @@
</item>
<item name='org.apache.velocity.runtime.parser.node.ASTEscape boolean render(org.apache.velocity.context.InternalContextAdapter, java.io.Writer)'>
<annotation name='org.jetbrains.annotations.Contract'>
<val val="&quot;!null,_-&gt;true;_,!null-&gt;true;null,_-&gt;true&quot;"/>
<val val="&quot;_,_-&gt;true&quot;"/>
</annotation>
</item>
<item name='org.apache.velocity.runtime.parser.node.ASTEscape boolean render(org.apache.velocity.context.InternalContextAdapter, java.io.Writer) 0'>
@@ -239,7 +239,7 @@
</item>
<item name='org.apache.velocity.runtime.parser.node.ASTEscapedDirective boolean render(org.apache.velocity.context.InternalContextAdapter, java.io.Writer)'>
<annotation name='org.jetbrains.annotations.Contract'>
<val val="&quot;!null,_-&gt;true;_,!null-&gt;true;null,_-&gt;true&quot;"/>
<val val="&quot;_,_-&gt;true&quot;"/>
</annotation>
</item>
<item name='org.apache.velocity.runtime.parser.node.ASTEscapedDirective boolean render(org.apache.velocity.context.InternalContextAdapter, java.io.Writer) 0'>
@@ -276,7 +276,7 @@
</item>
<item name='org.apache.velocity.runtime.parser.node.ASTFalse boolean evaluate(org.apache.velocity.context.InternalContextAdapter)'>
<annotation name='org.jetbrains.annotations.Contract'>
<val name="value" val="&quot;!null-&gt;false;null-&gt;false&quot;"/>
<val name="value" val="&quot;_-&gt;false&quot;"/>
<val name="pure" val="true"/>
</annotation>
</item>
@@ -382,7 +382,7 @@
</item>
<item name='org.apache.velocity.runtime.parser.node.ASTIfStatement boolean render(org.apache.velocity.context.InternalContextAdapter, java.io.Writer)'>
<annotation name='org.jetbrains.annotations.Contract'>
<val val="&quot;!null,_-&gt;true;_,!null-&gt;true;_,null-&gt;true;null,_-&gt;true&quot;"/>
<val val="&quot;_,_-&gt;true&quot;"/>
</annotation>
</item>
<item name='org.apache.velocity.runtime.parser.node.ASTIfStatement java.lang.Object jjtAccept(org.apache.velocity.runtime.parser.node.ParserVisitor, java.lang.Object) 0'>
@@ -531,8 +531,7 @@
</item>
<item name='org.apache.velocity.runtime.parser.node.ASTMathNode java.lang.Object handleSpecial(java.lang.Object, java.lang.Object, org.apache.velocity.context.InternalContextAdapter)'>
<annotation name='org.jetbrains.annotations.Contract'>
<val name="value"
val="&quot;!null,_,_-&gt;null;_,!null,_-&gt;null;_,_,!null-&gt;null;_,_,null-&gt;null;_,null,_-&gt;null;null,_,_-&gt;null&quot;"/>
<val name="value" val="&quot;_,_,_-&gt;null&quot;"/>
<val name="pure" val="true"/>
</annotation>
<annotation name='org.jetbrains.annotations.Nullable'/>
@@ -726,7 +725,7 @@
</item>
<item name='org.apache.velocity.runtime.parser.node.ASTReference boolean render(org.apache.velocity.context.InternalContextAdapter, java.io.Writer)'>
<annotation name='org.jetbrains.annotations.Contract'>
<val val="&quot;!null,_-&gt;true;_,!null-&gt;true;_,null-&gt;true;null,_-&gt;true&quot;"/>
<val val="&quot;_,_-&gt;true&quot;"/>
</annotation>
</item>
<item name='org.apache.velocity.runtime.parser.node.ASTReference java.lang.Object execute(java.lang.Object, org.apache.velocity.context.InternalContextAdapter)'>
@@ -855,7 +854,7 @@
</item>
<item name='org.apache.velocity.runtime.parser.node.ASTText boolean render(org.apache.velocity.context.InternalContextAdapter, java.io.Writer)'>
<annotation name='org.jetbrains.annotations.Contract'>
<val val="&quot;!null,_-&gt;true;_,!null-&gt;true;null,_-&gt;true&quot;"/>
<val val="&quot;_,_-&gt;true&quot;"/>
</annotation>
</item>
<item name='org.apache.velocity.runtime.parser.node.ASTText boolean render(org.apache.velocity.context.InternalContextAdapter, java.io.Writer) 0'>
@@ -887,7 +886,7 @@
</item>
<item name='org.apache.velocity.runtime.parser.node.ASTTextblock boolean render(org.apache.velocity.context.InternalContextAdapter, java.io.Writer)'>
<annotation name='org.jetbrains.annotations.Contract'>
<val val="&quot;!null,_-&gt;true;_,!null-&gt;true;null,_-&gt;true&quot;"/>
<val val="&quot;_,_-&gt;true&quot;"/>
</annotation>
</item>
<item name='org.apache.velocity.runtime.parser.node.ASTTextblock boolean render(org.apache.velocity.context.InternalContextAdapter, java.io.Writer) 0'>
@@ -919,7 +918,7 @@
</item>
<item name='org.apache.velocity.runtime.parser.node.ASTTrue boolean evaluate(org.apache.velocity.context.InternalContextAdapter)'>
<annotation name='org.jetbrains.annotations.Contract'>
<val name="value" val="&quot;!null-&gt;true;null-&gt;true&quot;"/>
<val name="value" val="&quot;_-&gt;true&quot;"/>
<val name="pure" val="true"/>
</annotation>
</item>
@@ -1136,7 +1135,7 @@
</item>
<item name='org.apache.velocity.runtime.parser.node.SimpleNode boolean evaluate(org.apache.velocity.context.InternalContextAdapter)'>
<annotation name='org.jetbrains.annotations.Contract'>
<val name="value" val="&quot;!null-&gt;false;null-&gt;false&quot;"/>
<val name="value" val="&quot;_-&gt;false&quot;"/>
<val name="pure" val="true"/>
</annotation>
</item>
@@ -1150,7 +1149,7 @@
</item>
<item name='org.apache.velocity.runtime.parser.node.SimpleNode boolean render(org.apache.velocity.context.InternalContextAdapter, java.io.Writer)'>
<annotation name='org.jetbrains.annotations.Contract'>
<val val="&quot;!null,_-&gt;true;_,!null-&gt;true;_,null-&gt;true;null,_-&gt;true&quot;"/>
<val val="&quot;_,_-&gt;true&quot;"/>
</annotation>
</item>
<item name='org.apache.velocity.runtime.parser.node.SimpleNode int getColumn()'>
@@ -1185,7 +1184,7 @@
</item>
<item name='org.apache.velocity.runtime.parser.node.SimpleNode java.lang.Object execute(java.lang.Object, org.apache.velocity.context.InternalContextAdapter)'>
<annotation name='org.jetbrains.annotations.Contract'>
<val name="value" val="&quot;!null,_-&gt;null;_,!null-&gt;null;_,null-&gt;null;null,_-&gt;null&quot;"/>
<val name="value" val="&quot;_,_-&gt;null&quot;"/>
<val name="pure" val="true"/>
</annotation>
<annotation name='org.jetbrains.annotations.Nullable'/>
@@ -1206,7 +1205,7 @@
</item>
<item name='org.apache.velocity.runtime.parser.node.SimpleNode java.lang.Object value(org.apache.velocity.context.InternalContextAdapter)'>
<annotation name='org.jetbrains.annotations.Contract'>
<val name="value" val="&quot;!null-&gt;null;null-&gt;null&quot;"/>
<val name="value" val="&quot;_-&gt;null&quot;"/>
<val name="pure" val="true"/>
</annotation>
<annotation name='org.jetbrains.annotations.Nullable'/>

View File

@@ -6,7 +6,7 @@
</item>
<item name='org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader boolean isSourceModified(org.apache.velocity.runtime.resource.Resource)'>
<annotation name='org.jetbrains.annotations.Contract'>
<val name="value" val="&quot;!null-&gt;false;null-&gt;false&quot;"/>
<val name="value" val="&quot;_-&gt;false&quot;"/>
<val name="pure" val="true"/>
</annotation>
</item>
@@ -116,7 +116,7 @@
</item>
<item name='org.apache.velocity.runtime.resource.loader.JarResourceLoader boolean isSourceModified(org.apache.velocity.runtime.resource.Resource)'>
<annotation name='org.jetbrains.annotations.Contract'>
<val name="value" val="&quot;!null-&gt;true;null-&gt;true&quot;"/>
<val name="value" val="&quot;_-&gt;true&quot;"/>
<val name="pure" val="true"/>
</annotation>
</item>

View File

@@ -1,6 +1,7 @@
<root>
<item name='org.apache.velocity.servlet.VelocityServlet org.apache.velocity.Template handleRequest(org.apache.velocity.context.Context)'>
<annotation name='org.jetbrains.annotations.Contract'>
<val name="value" val="&quot;_-&gt;fail&quot;"/>
<val name="pure" val="true"/>
</annotation>
</item>