Bundle Static analysis and language-server support. Analyzer parses Objeck source files and returns symbols, diagnostics, hover info, completions, references, and definitions for IDE tooling. Compile with -lib diags.
Analyzer
Parsers source for analysis
Operations
ParseFile # function
Parsers source file for analysis
function : ParseFile(src_file:String) ~ AnalysisParameters
| Name | Type | Description |
|---|---|---|
| src_file | String | file to parse |
Return
| Type | Description |
|---|---|
| Analysis | object instance used for analysis |
Example
analysis := System.Diagnostics.Analyzer->ParseFile("hello.obs");
if(analysis->IsParsed()) {
was_analyzed := BoolRef->New(false);
diags := analysis->GetDiagnostics(was_analyzed, "file:///hello.obs", "/usr/lib/objeck");
analysis->Release();
};ParseText # function
Parsers text for analysis
function : ParseText(src_strs:String[,]) ~ AnalysisParameters
| Name | Type | Description |
|---|---|---|
| src_strs | String | named text to parse, name/content |
Return
| Type | Description |
|---|---|
| Analysis | object instance used for analysis |
Example
src := String->New[1, 2];
src[0, 0] := "main.obs";
src[0, 1] := "bundle App { class Main { function : Main(args : String[]) ~ Nil { } } }";
analysis := System.Diagnostics.Analyzer->ParseText(src);
if(analysis->IsParsed()) {
analysis->Release();
};