Comments (3)
This is working, the SharedPool class is converted to a declaration (pragma) method in the class side of the application,, however we must find a way to initialize the shared pool, since in Pharo the keys of the pool are defined as class variables and its values are initialized vĂa a class side initialize
method or something similar.
from tonel-vast.
This is solved in the latest commit (64e4147), it does three things:
E.g. for MyConstantsPool
(subclass of SharedPool
in Pharo)
-
Converts the class to a "declaration method"
_PRAGMA_MyConstantsPool
in the class side of the defining VAST App/Subapp -
Modifies the App class definition to reference that pool
-
Converts class side methods (usually for initialization) to a special method with the pattern
_SHAREDPOOL_PoolName_selector
in the class side of the defining application.
So the methodMyConstantsPool class>>initializeConstants
is converted to_SHAREDPOOL_MyConstantsPool_initializeConstants
, and after defining the method it invokes it to initialize the pool values.
from tonel-vast.
Fixed in 1d2602f
from tonel-vast.
Related Issues (20)
- Methods with no body but space after selectors fail to export HOT 1
- Prerequisites computation leads to infinite loop HOT 1
- Add options to match versions of configuration maps HOT 2
- Prerequisite comparison in Applications must use defined prerequisites
- Prerequisite modification should be optional
- Add option to avoid writing extension methods categorized with asterisk prefix
- Rebuild namespaces after loading declaration methods
- #readUtf8StreamDo: should allocate enough buffer size
- Remove EsCodePageUtilitiesApp prereq from TonelFileSystem
- Methods that failed to compile should be updated when loading
- Add a setting to ignore extensions to classes not in the image
- Debugger class reset
- TonelLoaderStrategy instVars get reinitialized after copying them
- Applying an app suffix when loading a VAST app doesn't update the Application class name
- Create custom Error Reporter for Tonel Loader
- Use application manager/class owner when modifying ENVY records
- Add option/strategy to define package name when exporting
- Add option to avoid writing extension methods using Monticello categories
- Add support to have nil as superclass identifier
- Provide the ability to file in a single tonel file such as a class
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
đ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. đđđ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google â¤ď¸ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from tonel-vast.