comparison lisp/cedet/semantic/scope.el @ 105340:118ad0cdd9a8

Doc/message fixes.
author Glenn Morris <rgm@gnu.org>
date Thu, 01 Oct 2009 04:54:05 +0000
parents 7042156f9f43
children 7f4c7f5c0eba
comparison
equal deleted inserted replaced
105339:adbff0886e10 105340:118ad0cdd9a8
22 ;;; Commentary: 22 ;;; Commentary:
23 ;; 23 ;;
24 ;; Calculate information about the current scope. 24 ;; Calculate information about the current scope.
25 ;; 25 ;;
26 ;; Manages the current scope as a structure that can be cached on a 26 ;; Manages the current scope as a structure that can be cached on a
27 ;; per-file basis and recycled between different occurances of 27 ;; per-file basis and recycled between different occurrences of
28 ;; analysis on different parts of a file. 28 ;; analysis on different parts of a file.
29 ;; 29 ;;
30 ;; Pattern for Scope Calculation 30 ;; Pattern for Scope Calculation
31 ;; 31 ;;
32 ;; Step 1: Calculate DataTypes in Scope: 32 ;; Step 1: Calculate DataTypes in Scope:
386 scoped inside a class or namespace. Such items can be referenced 386 scoped inside a class or namespace. Such items can be referenced
387 without use of \"object.function()\" style syntax due to an 387 without use of \"object.function()\" style syntax due to an
388 implicit \"object\".") 388 implicit \"object\".")
389 389
390 (defun semantic-analyze-scoped-tags-default (typelist halfscope) 390 (defun semantic-analyze-scoped-tags-default (typelist halfscope)
391 "Return accessable tags when TYPELIST and HALFSCOPE is in scope. 391 "Return accessible tags when TYPELIST and HALFSCOPE is in scope.
392 HALFSCOPE is the current scope partially initialized. 392 HALFSCOPE is the current scope partially initialized.
393 Tags returned are not in the global name space, but are instead 393 Tags returned are not in the global name space, but are instead
394 scoped inside a class or namespace. Such items can be referenced 394 scoped inside a class or namespace. Such items can be referenced
395 without use of \"object.function()\" style syntax due to an 395 without use of \"object.function()\" style syntax due to an
396 implicit \"object\"." 396 implicit \"object\"."
554 (defun semantic-analyze-scoped-inherited-tags (type scope access) 554 (defun semantic-analyze-scoped-inherited-tags (type scope access)
555 "Return all tags that TYPE inherits from. 555 "Return all tags that TYPE inherits from.
556 Argument SCOPE specify additional tags that are in scope 556 Argument SCOPE specify additional tags that are in scope
557 whose tags can be searched when needed, OR it may be a scope object. 557 whose tags can be searched when needed, OR it may be a scope object.
558 ACCESS is the level of access we filter on child supplied tags. 558 ACCESS is the level of access we filter on child supplied tags.
559 For langauges with protection on specific methods or slots, 559 For languages with protection on specific methods or slots,
560 it should strip out those not accessable by methods of TYPE. 560 it should strip out those not accessible by methods of TYPE.
561 An ACCESS of 'public means not in a method of a subclass of type. 561 An ACCESS of 'public means not in a method of a subclass of type.
562 A value of 'private means we can access private parts of the originating 562 A value of 'private means we can access private parts of the originating
563 type." 563 type."
564 (let ((ret nil)) 564 (let ((ret nil))
565 (semantic-analyze-scoped-inherited-tag-map 565 (semantic-analyze-scoped-inherited-tag-map
731 ) 731 )
732 ;; Return ourselves 732 ;; Return ourselves
733 scopecache)))) 733 scopecache))))
734 734
735 (defun semantic-scope-find (name &optional class scope-in) 735 (defun semantic-scope-find (name &optional class scope-in)
736 "Find the tag with NAME, and optinal CLASS in the current SCOPE-IN. 736 "Find the tag with NAME, and optional CLASS in the current SCOPE-IN.
737 Searches various elements of the scope for NAME. Return ALL the 737 Searches various elements of the scope for NAME. Return ALL the
738 hits in order, with the first tag being in the closest scope." 738 hits in order, with the first tag being in the closest scope."
739 (let ((scope (or scope-in (semantic-calculate-scope))) 739 (let ((scope (or scope-in (semantic-calculate-scope)))
740 (ans nil)) 740 (ans nil))
741 ;; Is the passed in scope really a scope? if so, look through 741 ;; Is the passed in scope really a scope? if so, look through