;;; semantic/ctxt.el --- Context calculations for Semantic tools.
-;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
-;; 2007, 2008, 2009 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2011 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <zappo@gnu.org>
;; Keywords: syntax
"Get the local variables based on POINT's context.
Local variables are returned in Semantic tag format.
This can be overriden with `get-local-variables'."
- ;; The working status is to let the parser work properly
- (let ((semantic--progress-reporter
- (make-progress-reporter (semantic-parser-working-message "Local")
- 0 100)))
+ ;; Disable parsing messages
+ (let ((semantic--progress-reporter nil))
(save-excursion
(if point (goto-char point))
- (let* ((semantic-working-type nil)
- ;; Disable parsing messages
- (case-fold-search semantic-case-fold))
+ (let* ((case-fold-search semantic-case-fold))
(:override-with-args ())))))
(defun semantic-get-local-variables-default ()
"Return a list of scoped types by name for the current context at POINT.
This is very different for various languages, and does nothing unless
overridden."
- (if point (goto-char point))
- (let ((case-fold-search semantic-case-fold))
- ;; We need to look at TYPES within the bounds of locally parse arguments.
- ;; C needs to find using statements and the like too. Bleh.
- nil
- ))
+ nil)
+
+(define-overloadable-function semantic-ctxt-imported-packages (&optional point)
+ "Return a list of package tags or names which are being imported at POINT.
+The return value is a list of strings which are package names
+that are implied in code. Thus a C++ symbol:
+ foo::bar();
+where there is a statement such as:
+ using baz;
+means that the first symbol might be:
+ baz::foo::bar();"
+ nil)
(provide 'semantic/ctxt)
;; Local variables:
;; generated-autoload-file: "loaddefs.el"
-;; generated-autoload-feature: semantic/loaddefs
;; generated-autoload-load-name: "semantic/ctxt"
;; End: