I'm developing a mini-framework to implement annotations in Cache. I want to support two kind of annotations: metadata and method decorators. I've got stuck trying to implement the second one.
Metadata
With metadata annotations I can add metadata to any kind of target. A target can be a method/classmethod, parameter, property and class.
Due to a new project I'm getting involved inside %Installer stuff deeper than ever I'd be happy to. Most of it was pretty easy to get, thanks to documentation, articles and SAMPLES example, while I can't dig good solution for one problem.
Hi, please let me know where i find details on Objectscript internal implementation - is it an interpreted language ? - compiled into binary code (how - which compiler/toolchain ?) ? - support of LLVM ? thanks a lot Frank
I'm trying to create a method that will automatically create something I can save and use later, which will let me automate data migration from one version of a class to the next.
Using our cool new debugging extension for Visual Studio Code I'm trying to debug a CreateProjection method of a class, but when I compile it the work apparently gets done in one of the worker jobs, so my breakpoint never triggers.
Is there a compiler flag or qualifier to force the compilation to be done in-process rather than getting handed off to a worker job?
I have just imported our Ensemble project (not a really big one, like two man-years) into my MacBook Air Ensemble 2016.3 instance to test many things (document model, etc.), Atelier among the others.
The "Production view" is not here, and I miss it.
The opening of Diagram Editor for BP is pretty hidden. I would even like having a switch, which would default to the Diagram Editor.
Anytime I click on the Open Diagram Editor, it waits for a while, ten produces an error and only then I can see the diagram.
We are in the process of migrating from Ensemble to IRIS.
After the migration I would like to find all usages of deprecated classes and methods in all of our code. This is to align with the changes in package like %SYSTEM.SQL for example.
Is there an easy way to do this, or maybe a tool that can assist?
Since version 1.93 of VS Code, the “import and compile” process has been very slow (more than an hour). Have you encountered this issue and do you know how to resolve it?
Hello programmers !! I'm learning COS and Ensemble and also I started to work with this technology and I did set up vscode to program, but I don't know how to set up the vscode terminal for COS. Could anyone help me? I'm a beginner with this technology
I'm experiencing an issue while compiling code in Visual Studio Code with "cuk" qualifiers.
When I try to compile, the following message appears after a while:
In VSC, the "cuk" qualifiers are always used as default and the following message is shown in the Output panel of VSC when a compilation is successful:
I'm looking at adding multilingual support to a couple of open source projects I'm working on. The solutions are already developed in CSP so I am not looking for alternative approaches.
I'm wondering what would be the best approach for CSP and separate JavaScript files.
Initially I was wondering if I should bake the default system language text at compile time, or provide the end user with a language selection option at run time.
How to understand what's wrong with compilation if the compilator just hides errors?
Compilation started on 05/15/2023 15:58:11 with qualifiers 'cuk'
Detected 1 errors during compilation in 0.003s.
Compilation started on 05/15/2023 15:58:32 with qualifiers 'cuk'
Detected 1 errors during compilation in 0.002s.
Compilation started on 05/15/2023 15:58:51 with qualifiers 'cuk'
Detected 40 errors during compilation in 0.089s.
40 errors, and what do I have to do with this so valuable information?
When I try to compile through Atelier (Compile Project), I noticed that in compilation with error it returns this message 'Failed to read /api/atelier/v1/ ...':
No additional Atelier files to synchronize. Compile failed: Failed to read /api/atelier/v1/ERP/action/compile?flags=ck Compile failed: Failed to read /api/atelier/v1/ERP/action/compile?flags=ck Compile failed: Failed to read /api/atelier/v1/ERP/action/compile?flags=ck Compile failed: Failed to read /api/atelier/v1/ERP/action/compile?flags=ck
Class Foo.Bar
{
ClassMethod Helper()
{
// do something
}
ClassMethod Generated() [ CodeMode = objectgenerator ]
{
do ..Helper()
// do something else
}
}
Since the method Generated is run before the class is compiled, the call to do ..Helper() fails. Is there a way around this other than manual inlining?
Can someone give me an example of how to JOB a class method that requires an array of values to be passed to it by reference.
This is what I tried, but am getting compile errors because of the .params
job ##class(%SYSTEM.OBJ.FM2Class).All(.params)::5
Any thoughts on how to accomplish this, the simplest way. I would like to avoid writing all of this to some global and having to write some wrapper to pick it up and then call the class method, which I certainly could do. but is this the only way to do it?
I am generating a very basic csp page in a bash shell, it is generating fine and displays what I want to see as long as I go into studio and compile it . This defeats my purpose of having the page and I am having no luck figuring out what I am doing wrong. I think the issue has to do with the file not being included when I compile from command line.
I'm new to Cache and trying to follow the Using Cache Studio PDF. In section 2.4.3(Adding a Zen form) it tells you insert the following code;
<button caption="Save" o select="zenPage.saveRecord();" />
Unfortunately that code fails compilation. If you try and use the tools there is no o select option nor a select or onselect option. I was wondering if anyone has used this PDF before and knows what the correct attribute should be?
I am currently trying to add a condition to a routing rule that uses the %Source property of a routing rule. Unfortunately I am getting compile errors when I use the "%", and if I get PROPERTY DOES NOT EXIST if I try and use any of field. I have tried referencing the messages as "Message." , "Record.", "FullRecordMapClassName." , "Document." . Does anyone know how to reference the properties of a record map in a routing rule, or if it is even possible? Thanks!
We're trying to create a script that compiles everything on a certain namespace, for that we are depending on CompileAll. However it seems that this method doesn't check for a dependency tree even when using flags like: curb.
When a class containing a method generator is compiled, the code that implements the method at runtime is written according to the instructions in the method definition.
We're upgrading to IRIS 2020.1 from Ensemble 2018.x.
I have a lookup table class that compiles fine in Ensemble but in IRIS causes the following compilation error: "ERROR #9101: Global name 'HH.LookupLabResultsToPhysiciansD' for 'IDLocation' is too long, must be no more than 31 characters in length."
Is this length limitation a new restriction or could I have done something years ago to increase the maximum character length.
I created and then compiled a routine using the %Routine library
s routine = ##class(%Routine).%New(fileName_"."_extension) d routine.Write(parsedRule) //s status = routine.Save() s status = routine.SaveStream(,.refresh) if ($$$ISERR(status)) throw status
I’ve hit the wall. I’m a one person shop who wants to start developing Cache on a mac using Eclipse/Atelier, after using Studio for the last 5 years. I’ve installed the 1.1 beta plugin, watched 6 or 7 videos from the September conference, tried several times to work through the cheat sheets, only to have connection issues or compilation issues, so at this point, I’m feeling very frustrated. The videos were interesting, but generally didn’t work as tutorials for fundamental programming operations, for me.
In part of this post in 2016 @Eduard Lebedyuk asked if anyone knew what is meant by an "expanded class", as referred to in the text that appears when we run the ShowQualifiers classmethod of %SYSTEM.OBJ thus:
SAMPLES>DO $system.OBJ.ShowQualifiers() ... Name: /checkuptodate Description: Skip classes or expanded classes that are up-to-date.