diff --git a/java/java-impl/src/intentionDescriptions/BreakStringOnLineBreaksIntentionAction/description.html b/java/java-impl/src/intentionDescriptions/BreakStringOnLineBreaksIntentionAction/description.html index c63d77eb9a36..e66984b107c1 100644 --- a/java/java-impl/src/intentionDescriptions/BreakStringOnLineBreaksIntentionAction/description.html +++ b/java/java-impl/src/intentionDescriptions/BreakStringOnLineBreaksIntentionAction/description.html @@ -1,5 +1,5 @@
-Breaks a string at the '\n' and '\n\r' line separators. +Breaks a string at the\n and \n\r line separators.
diff --git a/java/java-impl/src/intentionDescriptions/DemorgansIntention/description.html b/java/java-impl/src/intentionDescriptions/DemorgansIntention/description.html
index c43088ab359e..352c3d66ad60 100644
--- a/java/java-impl/src/intentionDescriptions/DemorgansIntention/description.html
+++ b/java/java-impl/src/intentionDescriptions/DemorgansIntention/description.html
@@ -1,21 +1,6 @@
-Replaces either
-| - |
- a || b with !(!a && !b) or
- |
-
| - |
- a && b with !(!a || !b)
- |
-
a || b with !(!a && !b) or
+a && b with !(!a || !b) when inside a boolean expression.
diff --git a/java/java-impl/src/intentionDescriptions/EditContractIntention/description.html b/java/java-impl/src/intentionDescriptions/EditContractIntention/description.html
index 57ba0293c2bd..7234fc080822 100644
--- a/java/java-impl/src/intentionDescriptions/EditContractIntention/description.html
+++ b/java/java-impl/src/intentionDescriptions/EditContractIntention/description.html
@@ -1,30 +1,33 @@
This intention changes a library method contract.
-Method contract has the following syntax:
+ contract ::= (clause ';')* clause
+ clause ::= args '->' effect
+ args ::= ((arg ',')* arg )?
+ arg ::= value-constraint
+ value-constraint ::= '_' | 'null' | '!null' | 'false' | 'true'
+ effect ::= value-constraint | 'fail' | 'new' | 'this' | 'param' number
+ number ::= [1-9] [0-9]*
+
The constraints denote the following:_: any value
+ null: null value
+ null!: a value statically proved to be not-null
+ true: true boolean value
+ false: false boolean value
+ fail: the method throws exception if the arguments satisfy argument constraints
+ new: every time the method is executed, it returns a non-null new object that is distinct from other objects existing in the heap prior to method execution. If the method is pure, the new object is not stored in any field or array and will be lost if method return value is not used.
+ this: the method returns non-null this reference
+ param1 (param2, param3, etc.): the method returns its first (second, third, etc.) argument
+@Contract("_, null -> null"): method returns null if its second argument is null.
+ @Contract("_, null -> null; _, !null -> !null"): method returns null if its second argument is null and not-null otherwise.
+ @Contract("true -> fail"): a typical assertFalse method which throws an exception if true is passed to it.
@Contract("_, null -> null") - method returns null if its second argument is null@Contract("_, null -> null; _, !null -> !null") - method returns null if its second argument is null and not-null otherwise@Contract("true -> fail") - a typical assertFalse method which throws an exception if true is passed to itClass constructors are left unchanged, but clients are able to construct objects step by step.
-It can be especially useful for constructors with long list of optional parameters. +It can be especially useful for constructors with a long list of optional parameters.