You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucy.apache.org by "Marvin Humphrey (JIRA)" <ji...@apache.org> on 2010/01/04 23:00:54 UTC
[jira] Resolved: (LUCY-94) Eliminate OO from Charmonizer/Core/*
[ https://issues.apache.org/jira/browse/LUCY-94?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Marvin Humphrey resolved LUCY-94.
---------------------------------
Resolution: Fixed
Committed as r895798.
> Eliminate OO from Charmonizer/Core/*
> ------------------------------------
>
> Key: LUCY-94
> URL: https://issues.apache.org/jira/browse/LUCY-94
> Project: Lucy
> Issue Type: Improvement
> Components: Charmonizer
> Reporter: Marvin Humphrey
> Assignee: Marvin Humphrey
> Priority: Minor
> Attachments: charm_core_bye_bye_oo.diff
>
>
> Charmonizer's Compiler and OperatingSystem modules have been organized around
> OO techniques, with objects, constructors, destructors, etc. However, since
> we never have to deal with more than one Compiler or OperatingSystem at a
> time, we can move all of their object member variables into module variables,
> so that the modules themselves become something like singletons. We achieve
> something like polymorphism by assigning these module variables custom values
> using either ifdefs or run-time initialization routines.
> With this change, Charmonizer's internals now simplify to a more traditional
> procedural pattern:
> {code:none}
> /* Before. */
> success = compiler->compile_exe(compiler, source_path, exe_name,
> code, code_len);
> /* After. */
> success = CC_compile_exe(source_path, exe_name, code, code_len);
> {code}
> Once this is committed, the only OO code remaining in Charmonizer will be
> TestBatch.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.