aboutsummaryrefslogtreecommitdiffstats
path: root/docs/contracts.rst
diff options
context:
space:
mode:
Diffstat (limited to 'docs/contracts.rst')
-rw-r--r--docs/contracts.rst27
1 files changed, 24 insertions, 3 deletions
diff --git a/docs/contracts.rst b/docs/contracts.rst
index 986d05b3..e2fdf3f3 100644
--- a/docs/contracts.rst
+++ b/docs/contracts.rst
@@ -421,9 +421,9 @@ change by overriding).
.. index:: ! constant
-**********
-Constants
-**********
+************************
+Constant State Variables
+************************
State variables can be declared as constant (this is not yet implemented
for array and struct types and not possible for mapping types).
@@ -442,6 +442,27 @@ for these variables and every occurrence is replaced by their constant value.
The value expression can only contain integer arithmetics.
+******************
+Constant Functions
+******************
+
+Functions can be declared constant. These functions promise not to modify the state.
+
+::
+
+ pragma solidity ^0.4.0;
+
+ contract C {
+ function f(uint a, uint b) constant returns (uint) {
+ return a * (b + 42);
+ }
+ }
+
+.. note::
+ Accessor methods are marked constant.
+
+.. warning::
+ The compiler does not enforce yet that a constant method is not modifying state.
.. index:: ! fallback function, function;fallback