Fedor Isakov
49e5302b34
Move artefacts for update site to TeamCity
2021-02-08 09:02:32 +01:00
Fedor Isakov
a3aa92e60a
Temporarily disable test until problems with MPS build are fixed
2021-02-07 19:17:08 +01:00
Fedor Isakov
c1a155a92b
Update build status buttons
2021-02-07 18:40:42 +01:00
Fedor Isakov
0a1987d91f
Fix update site and artifact name
2021-02-07 18:30:02 +01:00
Fedor Isakov
81831db86a
Move experimental controlflow aspect to a separate language
2021-02-06 15:28:03 +01:00
Fedor Isakov
d4cc989ee5
Switch to latest EAP build of MPS 2021.1
2021-02-06 15:28:03 +01:00
Fedor Isakov
54cadb200a
Repackage plugin
2021-02-06 15:28:03 +01:00
Fedor Isakov
caca5e606f
Fix failing CI build because of empty test case
2021-02-05 12:12:48 +01:00
Fedor Isakov
c62b7ee3c1
Fix model check errors in generator model
2021-02-04 18:04:06 +01:00
Fedor Isakov
dee5db0e96
Drop instances of TermFeature.final property
2021-02-04 18:01:10 +01:00
Fedor Isakov
d362da6a60
Rebuild project
2021-02-04 18:01:10 +01:00
Fedor Isakov
ed55370a01
Fix model imports (hamcrest lib has been moved to another solution)
2021-02-04 12:27:55 +01:00
Fedor Isakov
7fe5a5ad7a
Auto-updated files after migrating to MPS 2021.1 EAP
2021-02-04 12:26:59 +01:00
Fedor Isakov
b7f4d227a4
Rebuild project
2021-02-04 09:16:10 +01:00
Fedor Isakov
676645fad2
Refactor DataForm presentation mechanism, drop unused code
...
Rewrite most of DataFormPrinter for simplicity.
Reformat presentation of terms, so that the specification comes at the beginning.
2021-02-04 09:16:10 +01:00
Fedor Isakov
e06916b184
Refactor TypecheckingService: move logic into Request
...
Straighten up the code organization by consolidating logic
implementing a request within the corresponding Request
instance.
2021-02-04 09:16:09 +01:00
Fedor Isakov
ecf7eec55a
SModel types: fix type of isSubtypeExpression
2021-02-04 08:51:00 +01:00
Fedor Isakov
2f0f2e5b13
BL types: support coerce to target type query kind
2021-02-04 08:51:00 +01:00
Fedor Isakov
0e50b0e1b4
Support coerce query to specified (pattern) type
...
Coerce with pattern expects resulting type to be matched with a node
specified in the pattern.
2021-02-04 08:51:00 +01:00
Fedor Isakov
4d1cdacfe2
BL types: avoid failure on typechecking BaseMethodCall
...
BaseMethodCall doesn't always have an enclosing classifier.
2021-02-04 08:51:00 +01:00
Fedor Isakov
be156a5d31
Throw NPE in case an argument or symbol is null in term
2021-02-04 08:51:00 +01:00
Fedor Isakov
ad269bb6b5
Ensure typechecking state is properly disposed of on reload
2021-02-04 08:51:00 +01:00
Grigorii Kirgizov
7c0f8682ed
Add site docs for incremental algorithm
2021-01-29 16:22:08 +03:00
Grigorii Kirgizov
b1d81ef683
Fix apparent type in DataFormPrinter test
2021-01-29 16:21:57 +03:00
Grigorii Kirgizov
40a93d5ba9
Temporarily disable one failing test in IncrClassHierarchy; Preamble tests
...
Preamble tests should be reviewed. It's also unclear
whether preamble feature is effective and needed at all.
2021-01-29 16:21:57 +03:00
Grigorii Kirgizov
aaa6e5e2f9
Refactoring: simplify RewindStage & related logic (MPSCR-21). Add docs, some renames.
...
ProcessingSession -> SessionManager
RewindVolatileOccurrencesStage -> RewindStage
2021-01-29 13:39:35 +03:00
Grigorii Kirgizov
64762bf100
Fix bl tests (several test were failing after some of changes)
2021-01-29 13:39:35 +03:00
Grigorii Kirgizov
4dac9e794a
Fix assignment of 'null' ret type in closures with insufficient infer info. Add require.
2021-01-29 13:39:35 +03:00
Grigorii Kirgizov
148223a842
Add incremental tests for lambda calc. Enable ignored tests for closures.
2021-01-29 13:39:35 +03:00
Grigorii Kirgizov
d1b5c5b477
minor fix in tests: propely hack finding needed aspect clique. allow custom type matchers (for lc)
2021-01-29 13:39:35 +03:00
Grigorii Kirgizov
ccecb50fc2
Fix handling of invalidated feedback for effects of Rewind Stage to be visible (MPSCR-67, MPSCR-21)
2021-01-29 13:39:35 +03:00
Grigorii Kirgizov
2504b354f0
Implement fallback from incremental to default processing on unhandled cases (MPSCR-67)
2021-01-29 13:39:31 +03:00
Grigorii Kirgizov
98ee9f4da2
Add new incr stage for rewinding logical unification (MPSCR-67 & MPSCR-21)
...
For this several notions are introduced.
Logical variable is called "principal" if it is used in principal
occurrences and at some point during evaluation is unified or bound.
Principal occurrence is called "volatile" if it uses principal logicals.
PrincipalObserverDispatcher's task is to track volatile occurrences
by enabling uni observers on all free logicals in principal occ-s.
RewindVolatileOccurrencesStage then on events of incremental usage
of volatile occurrences (e.g. match on it, or continued activation)
resets journal cursor to the position of initial occurrence activation,
where it can be re-evaluated with fresh, unaffected, logicals.
It's the only stage that goes backwards in journal.
So in this way unification is incrementally cancelled.
link to MPSCR-62 (docs)
2021-01-29 13:39:31 +03:00
Grigorii Kirgizov
eb1e646cd4
Minor refactoring: move OccurrenceContractObserver from ConstraintsProcessing into ProcessingStrategy
...
Rename NonIncrementalProcessing -> DefaultProcessing
Add GroundProcessing as common superclass to handle OccurrenceContractObserver
Add another test for this occurrence contract logic.
2021-01-29 13:39:31 +03:00
Grigorii Kirgizov
273d4dc4db
Change a bit behavior of MatchJournal.reset* methods
...
Now after MatchJournal.reset(pos) cursor points before
the `pos`, not at it. So cursor.next will return 'pos'
It's required for MPSCR-67
2021-01-29 13:39:31 +03:00
Fedor Isakov
2b46ab0413
BL types: ensure any type converts to Type
2021-01-23 16:59:46 +01:00
Fedor Isakov
240fed8f63
Drop Finders feature: unused
2021-01-23 16:59:46 +01:00
Fedor Isakov
c450462fa5
Drop "final" flag on term feature: unused
2021-01-23 16:59:45 +01:00
Fedor Isakov
2ab8d41b0c
Minor refactoring: move term specication to the end of feature list
...
It's only natural to have the specification to come after
all upper-level features have been specified in a term.
2021-01-23 16:59:45 +01:00
Fedor Isakov
536e1aa1c2
Introduce helper methods to factor out creation of terms
2021-01-23 16:59:45 +01:00
Fedor Isakov
b3c57465fc
Minor refactoring: extract constants for building terms
2021-01-23 16:59:45 +01:00
Fedor Isakov
52725b4826
Minor refactoring in TermNode: simplify API
2021-01-23 16:59:43 +01:00
Fedor Isakov
4991536db1
Fix diff view showing insertion wrongly, dont assume vertical layout
2021-01-23 16:59:42 +01:00
Fedor Isakov
2b6de60ebc
BL types: Drop runtimeType term and its usages
2021-01-23 16:59:42 +01:00
Fedor Isakov
2c3bcf04ea
Auto-updated files
2021-01-18 10:59:03 +01:00
Fedor Isakov
13627568df
Ensure input is processed for fresh cache by setting invalidated to false
2021-01-18 10:59:03 +01:00
Fedor Isakov
acc9477512
Drop invalidated flag from cache (unused)
2021-01-18 10:59:02 +01:00
Fedor Isakov
dc7a06c685
Ensure typechecking queries get appropriately disposed of for editor session
2021-01-18 10:59:00 +01:00
Fedor Isakov
4be723c09e
Introduce programEvaluated flag to strategy, only display traces for real programs
2021-01-18 10:59:00 +01:00
Fedor Isakov
89ae2d2003
Use UpdatesRecorder to control whether to apply templates
...
Invalidated and introduced nodes are collected by UpdatesRecorder.
If either set is not empty, a walk of the input is triggered.
Also, drop invalidated flag in RulesPlanHandler.
2021-01-18 10:58:58 +01:00