diff options
Diffstat (limited to 'public/plugins/codemirror-5.17.0/mode/eiffel/index.html')
-rw-r--r-- | public/plugins/codemirror-5.17.0/mode/eiffel/index.html | 429 |
1 files changed, 429 insertions, 0 deletions
diff --git a/public/plugins/codemirror-5.17.0/mode/eiffel/index.html b/public/plugins/codemirror-5.17.0/mode/eiffel/index.html new file mode 100644 index 0000000000..108a71bec8 --- /dev/null +++ b/public/plugins/codemirror-5.17.0/mode/eiffel/index.html @@ -0,0 +1,429 @@ +<!doctype html> + +<title>CodeMirror: Eiffel mode</title> +<meta charset="utf-8"/> +<link rel=stylesheet href="../../doc/docs.css"> + +<link rel="stylesheet" href="../../lib/codemirror.css"> +<link rel="stylesheet" href="../../theme/neat.css"> +<script src="../../lib/codemirror.js"></script> +<script src="eiffel.js"></script> +<style> + .CodeMirror {border-top: 1px solid black; border-bottom: 1px solid black;} + .cm-s-default span.cm-arrow { color: red; } + </style> +<div id=nav> + <a href="http://codemirror.net"><h1>CodeMirror</h1><img id=logo src="../../doc/logo.png"></a> + + <ul> + <li><a href="../../index.html">Home</a> + <li><a href="../../doc/manual.html">Manual</a> + <li><a href="https://github.com/codemirror/codemirror">Code</a> + </ul> + <ul> + <li><a href="../index.html">Language modes</a> + <li><a class=active href="#">Eiffel</a> + </ul> +</div> + +<article> +<h2>Eiffel mode</h2> +<form><textarea id="code" name="code"> +note + description: "[ + Project-wide universal properties. + This class is an ancestor to all developer-written classes. + ANY may be customized for individual projects or teams. + ]" + + library: "Free implementation of ELKS library" + status: "See notice at end of class." + legal: "See notice at end of class." + date: "$Date: 2013-01-25 11:49:00 -0800 (Fri, 25 Jan 2013) $" + revision: "$Revision: 712 $" + +class + ANY + +feature -- Customization + +feature -- Access + + generator: STRING + -- Name of current object's generating class + -- (base class of the type of which it is a direct instance) + external + "built_in" + ensure + generator_not_void: Result /= Void + generator_not_empty: not Result.is_empty + end + + generating_type: TYPE [detachable like Current] + -- Type of current object + -- (type of which it is a direct instance) + do + Result := {detachable like Current} + ensure + generating_type_not_void: Result /= Void + end + +feature -- Status report + + conforms_to (other: ANY): BOOLEAN + -- Does type of current object conform to type + -- of `other' (as per Eiffel: The Language, chapter 13)? + require + other_not_void: other /= Void + external + "built_in" + end + + same_type (other: ANY): BOOLEAN + -- Is type of current object identical to type of `other'? + require + other_not_void: other /= Void + external + "built_in" + ensure + definition: Result = (conforms_to (other) and + other.conforms_to (Current)) + end + +feature -- Comparison + + is_equal (other: like Current): BOOLEAN + -- Is `other' attached to an object considered + -- equal to current object? + require + other_not_void: other /= Void + external + "built_in" + ensure + symmetric: Result implies other ~ Current + consistent: standard_is_equal (other) implies Result + end + + frozen standard_is_equal (other: like Current): BOOLEAN + -- Is `other' attached to an object of the same type + -- as current object, and field-by-field identical to it? + require + other_not_void: other /= Void + external + "built_in" + ensure + same_type: Result implies same_type (other) + symmetric: Result implies other.standard_is_equal (Current) + end + + frozen equal (a: detachable ANY; b: like a): BOOLEAN + -- Are `a' and `b' either both void or attached + -- to objects considered equal? + do + if a = Void then + Result := b = Void + else + Result := b /= Void and then + a.is_equal (b) + end + ensure + definition: Result = (a = Void and b = Void) or else + ((a /= Void and b /= Void) and then + a.is_equal (b)) + end + + frozen standard_equal (a: detachable ANY; b: like a): BOOLEAN + -- Are `a' and `b' either both void or attached to + -- field-by-field identical objects of the same type? + -- Always uses default object comparison criterion. + do + if a = Void then + Result := b = Void + else + Result := b /= Void and then + a.standard_is_equal (b) + end + ensure + definition: Result = (a = Void and b = Void) or else + ((a /= Void and b /= Void) and then + a.standard_is_equal (b)) + end + + frozen is_deep_equal (other: like Current): BOOLEAN + -- Are `Current' and `other' attached to isomorphic object structures? + require + other_not_void: other /= Void + external + "built_in" + ensure + shallow_implies_deep: standard_is_equal (other) implies Result + same_type: Result implies same_type (other) + symmetric: Result implies other.is_deep_equal (Current) + end + + frozen deep_equal (a: detachable ANY; b: like a): BOOLEAN + -- Are `a' and `b' either both void + -- or attached to isomorphic object structures? + do + if a = Void then + Result := b = Void + else + Result := b /= Void and then a.is_deep_equal (b) + end + ensure + shallow_implies_deep: standard_equal (a, b) implies Result + both_or_none_void: (a = Void) implies (Result = (b = Void)) + same_type: (Result and (a /= Void)) implies (b /= Void and then a.same_type (b)) + symmetric: Result implies deep_equal (b, a) + end + +feature -- Duplication + + frozen twin: like Current + -- New object equal to `Current' + -- `twin' calls `copy'; to change copying/twinning semantics, redefine `copy'. + external + "built_in" + ensure + twin_not_void: Result /= Void + is_equal: Result ~ Current + end + + copy (other: like Current) + -- Update current object using fields of object attached + -- to `other', so as to yield equal objects. + require + other_not_void: other /= Void + type_identity: same_type (other) + external + "built_in" + ensure + is_equal: Current ~ other + end + + frozen standard_copy (other: like Current) + -- Copy every field of `other' onto corresponding field + -- of current object. + require + other_not_void: other /= Void + type_identity: same_type (other) + external + "built_in" + ensure + is_standard_equal: standard_is_equal (other) + end + + frozen clone (other: detachable ANY): like other + -- Void if `other' is void; otherwise new object + -- equal to `other' + -- + -- For non-void `other', `clone' calls `copy'; + -- to change copying/cloning semantics, redefine `copy'. + obsolete + "Use `twin' instead." + do + if other /= Void then + Result := other.twin + end + ensure + equal: Result ~ other + end + + frozen standard_clone (other: detachable ANY): like other + -- Void if `other' is void; otherwise new object + -- field-by-field identical to `other'. + -- Always uses default copying semantics. + obsolete + "Use `standard_twin' instead." + do + if other /= Void then + Result := other.standard_twin + end + ensure + equal: standard_equal (Result, other) + end + + frozen standard_twin: like Current + -- New object field-by-field identical to `other'. + -- Always uses default copying semantics. + external + "built_in" + ensure + standard_twin_not_void: Result /= Void + equal: standard_equal (Result, Current) + end + + frozen deep_twin: like Current + -- New object structure recursively duplicated from Current. + external + "built_in" + ensure + deep_twin_not_void: Result /= Void + deep_equal: deep_equal (Current, Result) + end + + frozen deep_clone (other: detachable ANY): like other + -- Void if `other' is void: otherwise, new object structure + -- recursively duplicated from the one attached to `other' + obsolete + "Use `deep_twin' instead." + do + if other /= Void then + Result := other.deep_twin + end + ensure + deep_equal: deep_equal (other, Result) + end + + frozen deep_copy (other: like Current) + -- Effect equivalent to that of: + -- `copy' (`other' . `deep_twin') + require + other_not_void: other /= Void + do + copy (other.deep_twin) + ensure + deep_equal: deep_equal (Current, other) + end + +feature {NONE} -- Retrieval + + frozen internal_correct_mismatch + -- Called from runtime to perform a proper dynamic dispatch on `correct_mismatch' + -- from MISMATCH_CORRECTOR. + local + l_msg: STRING + l_exc: EXCEPTIONS + do + if attached {MISMATCH_CORRECTOR} Current as l_corrector then + l_corrector.correct_mismatch + else + create l_msg.make_from_string ("Mismatch: ") + create l_exc + l_msg.append (generating_type.name) + l_exc.raise_retrieval_exception (l_msg) + end + end + +feature -- Output + + io: STD_FILES + -- Handle to standard file setup + once + create Result + Result.set_output_default + ensure + io_not_void: Result /= Void + end + + out: STRING + -- New string containing terse printable representation + -- of current object + do + Result := tagged_out + ensure + out_not_void: Result /= Void + end + + frozen tagged_out: STRING + -- New string containing terse printable representation + -- of current object + external + "built_in" + ensure + tagged_out_not_void: Result /= Void + end + + print (o: detachable ANY) + -- Write terse external representation of `o' + -- on standard output. + do + if o /= Void then + io.put_string (o.out) + end + end + +feature -- Platform + + Operating_environment: OPERATING_ENVIRONMENT + -- Objects available from the operating system + once + create Result + ensure + operating_environment_not_void: Result /= Void + end + +feature {NONE} -- Initialization + + default_create + -- Process instances of classes with no creation clause. + -- (Default: do nothing.) + do + end + +feature -- Basic operations + + default_rescue + -- Process exception for routines with no Rescue clause. + -- (Default: do nothing.) + do + end + + frozen do_nothing + -- Execute a null action. + do + end + + frozen default: detachable like Current + -- Default value of object's type + do + end + + frozen default_pointer: POINTER + -- Default value of type `POINTER' + -- (Avoid the need to write `p'.`default' for + -- some `p' of type `POINTER'.) + do + ensure + -- Result = Result.default + end + + frozen as_attached: attached like Current + -- Attached version of Current + -- (Can be used during transitional period to convert + -- non-void-safe classes to void-safe ones.) + do + Result := Current + end + +invariant + reflexive_equality: standard_is_equal (Current) + reflexive_conformance: conforms_to (Current) + +note + copyright: "Copyright (c) 1984-2012, Eiffel Software and others" + license: "Eiffel Forum License v2 (see http://www.eiffel.com/licensing/forum.txt)" + source: "[ + Eiffel Software + 5949 Hollister Ave., Goleta, CA 93117 USA + Telephone 805-685-1006, Fax 805-685-6869 + Website http://www.eiffel.com + Customer support http://support.eiffel.com + ]" + +end + +</textarea></form> + <script> + var editor = CodeMirror.fromTextArea(document.getElementById("code"), { + mode: "text/x-eiffel", + indentUnit: 4, + lineNumbers: true, + theme: "neat" + }); + </script> + + <p><strong>MIME types defined:</strong> <code>text/x-eiffel</code>.</p> + + <p> Created by <a href="https://github.com/ynh">YNH</a>.</p> + </article> |