GithubHelp home page GithubHelp logo

Comments (7)

seandenigris avatar seandenigris commented on August 11, 2024
The connection between MooseEntity>propertyNamed: and FM3MetaDescription>>attributeNamed:
is unclear. 
The first is used for cache purpose, the second is for Fame import/export/access.

Anyway, Fame can only import/export properties/attributes that it knows of and currently,
it doesn't anything 
apart from the basic Famix model.

Priority-High because it is a stopper to import mse file generated by other vw importer

Reported by simon.denier on 2009-02-11 15:58:19

  • Labels added: Priority-High
  • Labels removed: Priority-Medium

from moose.

seandenigris avatar seandenigris commented on August 11, 2024
MooseEntity>>lookUpPropertyNamed:computedAs:
Hit cache and retrieve result, if absent compute result and store it in cache

MooseEntity>>property:  (old?)
Basic lookup in cache, no nil support

MooseEntity>>propertyNamed: put:
Basic cache set

MooseEntity>>propertyComputedIn: (no senders)
Old method for Meta?

MooseEntity>>propertyNamed: (correct method)
Hit cache, if absent parse pragma to retrieve correct implementing selector
Refactor pragma processing

propertyNamed: ifAbsentPut: (no senders)
Hit cache, lazy initialization

propertyNamed:ifNil: (flagged, few senders)
Hit cache, if absent return default

Really should clean the properties protocol in MooseEntity: some seem redundant yet
use a different 
template. It's not very consistent

Reported by simon.denier on 2009-02-13 14:15:54

from moose.

seandenigris avatar seandenigris commented on August 11, 2024
MooseEntity>>propertyNamed: propertyName 
    "Return the value of the property named propertyName, return nil if the property does
not exist" 
|prop|

prop := propertyName asSymbol.
    ^self privateState 
        at: prop
        ifAbsent: 
            [| property  | 

            [property := self executeMethod: (self mooseDescription attributeNamed: prop) 
implementingSelector.]
                on: Error 
                do: [:ex | property := nil].
                            property]

Reported by simon.denier on 2009-02-13 17:49:10

from moose.

seandenigris avatar seandenigris commented on August 11, 2024
Plan change: do not modify Fame to take into account the longname and description of
old properties. At least 
for now. Perhaps we can deal with it at the Moose level, with a specialized processor
(MSEPragmaProcessor). Or 
add support for annotation in Fame.

Workplan: modify MooseEntity>>propertyNamed: as above to request meta level for property
adapt all property:longname:description:   pragmas to MSEProperty:type so that Fame
can import/export them.
Keep the old pragma for the longname/description, we will see what to do next
Move those properties in a *Moose-Famix3-Extensions, they do not belong to Famix-Core

Reported by simon.denier on 2009-02-13 17:55:29

  • Labels added: Priority-Medium
  • Labels removed: Priority-High

from moose.

seandenigris avatar seandenigris commented on August 11, 2024
Use perform: instead of executeMethod: because we have the selector, not the compiled
method! Else the VM 
violently crashes.

Reported by simon.denier on 2009-02-16 13:49:44

  • Status changed: Closed

from moose.

seandenigris avatar seandenigris commented on August 11, 2024

Reported by tudor.girba on 2009-07-24 12:55:34

  • Status changed: Fixed

from moose.

seandenigris avatar seandenigris commented on August 11, 2024

Reported by tudor.girba on 2009-10-27 23:34:38

  • Labels added: Milestone-4.0

from moose.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.