view .hgignore @ 16048:10142aad4b9f classdef

Implement indirect method call: fun(obj, ...). * libinterp/octave-value/ov-classdef.h (class cdef_manager): New class. (cdef_method::cdef_method_rep::meta_subsref, cdef_method::cdef_method_rep::meta_is_postfix_index_handled): New methods. * libinterp/octave-value/ov-classdef.cc (all_packages, all_classes): Move static variables to class cdef_manager. (lookup_class (std::string, bool, bool)): Move implementation to method cdef_manager::do_find_class(). (lookup_package): Move implementation to method cdef_manager::do_find_package(). (make_class): Use cdef_manager::register_class. (make_package): Use cdef_manager::register_package and cdef_manager::find_package. (cdef_class::cdef_class_rep::meta_release): Use cdef_manager::unregister_class. (cdef_method::cdef_method_rep::meta_subsref): New method. (class cdef_manager): New class. * libinterp/interpfcn/symtab.cc (symbol_table::fcn_info::fcn_info_rep::load_class_constructor): Look for classdef constructor in normal m-files. Call find_user_function() and check whether the result is a classdef constructor. If it is, stash it as a constructor and restore the previous value of function_on_path. (symbol_table::fcn_info::fcn_info_rep::load_class_method): Look for method in classdef system, using cdef_manager::find_method_symbol().
author Michael Goffioul <michael.goffioul@gmail.com>
date Mon, 11 Feb 2013 15:20:00 -0500
parents 70bf9b6d47af
children dc76e3909d36
line wrap: on
line source

syntax: regexp
# The recurrent (^|/) idiom in the regexps below should be understood
# to mean "at any directory" while the ^ idiom means "from the
# project's top-level directory".

# gnulib makes these silly backup files
.~$

# This directory gets created by gnulib during the build. 
# It contains no Octave files.
^libgnu/*

# This directory mostly contains cruft during build time, but it does
# contain some Octave code, so we gotta be a bit more careful about
# what we ignore here
^m4/(?!ax_).+\.m4$

# Emacs tools create these
(^|/)TAGS$
(^|/)semantic.cache$

(/|^)Makefile\.in$
^INSTALL$

^aclocal\.m4$
^build-.*($|/)
^configure$
^autom4te\.cache($|/)
^config\.h\.in$

# e.g. doc/faq/OctaveFAQ.info
#      doc/interpreter/octave.info-4
^doc/.*\.info(-\d)?$

^doc/\w*/stamp-vti$
^doc/\w*/version\.texi$
^doc/interpreter/images\.mk$

# e.g. liboctave/operators/smx-op-inc.mk
^liboctave/operators/\w+-op-\w+\.mk$

^libinterp/dldfcn/module\.mk$