Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
10
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Open sidebar
PLMZ
iTypes
Commits
f82ad822
Commit
f82ad822
authored
Sep 24, 2019
by
André Pacak
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
check that record type contains the same labels as record term (checking for same length)
parent
bd0db9af
Changes
31
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
31 changed files
with
7156 additions
and
5910 deletions
+7156
-5910
inca-translation/.mps/workspace.xml
inca-translation/.mps/workspace.xml
+756
-760
inca-translation/solutions/RecordTypes_Checker/classes_gen/RecordTypes_Checker/model/trace.info
..._Checker/classes_gen/RecordTypes_Checker/model/trace.info
+2173
-1921
inca-translation/solutions/RecordTypes_Checker/classes_gen/RecordTypes_Checker/test/ok_rec_empty/trace.info
...sses_gen/RecordTypes_Checker/test/ok_rec_empty/trace.info
+3
-0
inca-translation/solutions/RecordTypes_Checker/models/model.mps
...ranslation/solutions/RecordTypes_Checker/models/model.mps
+371
-39
inca-translation/solutions/RecordTypes_Checker/models/test.fail_unequal_number_of_labels.mps
...pes_Checker/models/test.fail_unequal_number_of_labels.mps
+1
-1
inca-translation/solutions/RecordTypes_Checker/source_gen.caches/RecordTypes_Checker/model/dependencies
.../source_gen.caches/RecordTypes_Checker/model/dependencies
+78
-0
inca-translation/solutions/RecordTypes_Checker/source_gen.caches/RecordTypes_Checker/model/generated
...ker/source_gen.caches/RecordTypes_Checker/model/generated
+2
-2
inca-translation/solutions/RecordTypes_Checker/source_gen.caches/RecordTypes_Checker/test/fail_unequal_number_of_labels/generated
...ypes_Checker/test/fail_unequal_number_of_labels/generated
+1
-1
inca-translation/solutions/RecordTypes_Checker/source_gen/RecordTypes_Checker/model/AnalysisResultAccess.java
...e_gen/RecordTypes_Checker/model/AnalysisResultAccess.java
+20
-18
inca-translation/solutions/RecordTypes_Checker/source_gen/RecordTypes_Checker/model/LType.java
...s_Checker/source_gen/RecordTypes_Checker/model/LType.java
+23
-0
inca-translation/solutions/RecordTypes_Checker/source_gen/RecordTypes_Checker/model/LTypeRecord.java
...ker/source_gen/RecordTypes_Checker/model/LTypeRecord.java
+65
-46
inca-translation/solutions/RecordTypes_Checker/source_gen/RecordTypes_Checker/model/QuerySpecificationHints.java
...en/RecordTypes_Checker/model/QuerySpecificationHints.java
+15
-15
inca-translation/solutions/RecordTypes_Checker/source_gen/RecordTypes_Checker/model/Typing_AllvarsQuerySpecification.java
...Types_Checker/model/Typing_AllvarsQuerySpecification.java
+222
-220
inca-translation/solutions/RecordTypes_Checker/source_gen/RecordTypes_Checker/model/Typing_AsLTypeQuerySpecification.java
...Types_Checker/model/Typing_AsLTypeQuerySpecification.java
+57
-57
inca-translation/solutions/RecordTypes_Checker/source_gen/RecordTypes_Checker/model/Typing_AsLTypeRecordQuerySpecification.java
...Checker/model/Typing_AsLTypeRecordQuerySpecification.java
+6
-6
inca-translation/solutions/RecordTypes_Checker/source_gen/RecordTypes_Checker/model/Typing_AsLTypeRecord_WrappedQuerySpecification.java
...model/Typing_AsLTypeRecord_WrappedQuerySpecification.java
+22
-22
inca-translation/solutions/RecordTypes_Checker/source_gen/RecordTypes_Checker/model/Typing_CheckErrorQuerySpecification.java
...es_Checker/model/Typing_CheckErrorQuerySpecification.java
+12
-12
inca-translation/solutions/RecordTypes_Checker/source_gen/RecordTypes_Checker/model/Typing_CheckQuerySpecification.java
...rdTypes_Checker/model/Typing_CheckQuerySpecification.java
+72
-70
inca-translation/solutions/RecordTypes_Checker/source_gen/RecordTypes_Checker/model/Typing_InferQuerySpecification.java
...rdTypes_Checker/model/Typing_InferQuerySpecification.java
+6
-6
inca-translation/solutions/RecordTypes_Checker/source_gen/RecordTypes_Checker/model/Typing_Infer_WrappedQuerySpecification.java
...Checker/model/Typing_Infer_WrappedQuerySpecification.java
+176
-176
inca-translation/solutions/RecordTypes_Checker/source_gen/RecordTypes_Checker/model/Typing_LookupFailureQuerySpecification.java
...Checker/model/Typing_LookupFailureQuerySpecification.java
+16
-16
inca-translation/solutions/RecordTypes_Checker/source_gen/RecordTypes_Checker/model/Typing_LookupQuerySpecification.java
...dTypes_Checker/model/Typing_LookupQuerySpecification.java
+315
-313
inca-translation/solutions/RecordTypes_Checker/source_gen/RecordTypes_Checker/model/Typing_Lookup_0_switchCommonQuerySpecification.java
...model/Typing_Lookup_0_switchCommonQuerySpecification.java
+3
-3
inca-translation/solutions/RecordTypes_Checker/source_gen/RecordTypes_Checker/model/Typing_MatchFunFailureQuerySpecification.java
...ecker/model/Typing_MatchFunFailureQuerySpecification.java
+24
-24
inca-translation/solutions/RecordTypes_Checker/source_gen/RecordTypes_Checker/model/Typing_MatchRecordFailureQuerySpecification.java
...er/model/Typing_MatchRecordFailureQuerySpecification.java
+24
-24
inca-translation/solutions/RecordTypes_Checker/source_gen/RecordTypes_Checker/model/Typing_RecordEntriesQuerySpecification.java
...Checker/model/Typing_RecordEntriesQuerySpecification.java
+121
-0
inca-translation/solutions/RecordTypes_Checker/source_gen/RecordTypes_Checker/model/Typing_RecordEntryCountQuerySpecification.java
...cker/model/Typing_RecordEntryCountQuerySpecification.java
+124
-0
inca-translation/solutions/RecordTypes_Checker/source_gen/RecordTypes_Checker/model/Typing_RecordSameLengthFailureQuerySpecification.java
...del/Typing_RecordSameLengthFailureQuerySpecification.java
+14
-13
inca-translation/solutions/RecordTypes_Checker/source_gen/RecordTypes_Checker/model/Typing_RecordSameLengthFailure_0_switchCommonQuerySpecification.java
...rdSameLengthFailure_0_switchCommonQuerySpecification.java
+39
-4
inca-translation/solutions/RecordTypes_Checker/source_gen/RecordTypes_Checker/model/Typing_RequiredQuerySpecification.java
...ypes_Checker/model/Typing_RequiredQuerySpecification.java
+222
-220
inca-translation/solutions/RecordTypes_Checker/source_gen/RecordTypes_Checker/model/trace.info
...s_Checker/source_gen/RecordTypes_Checker/model/trace.info
+2173
-1921
No files found.
inca-translation/.mps/workspace.xml
View file @
f82ad822
This diff is collapsed.
Click to expand it.
inca-translation/solutions/RecordTypes_Checker/classes_gen/RecordTypes_Checker/model/trace.info
View file @
f82ad822
This diff is collapsed.
Click to expand it.
inca-translation/solutions/RecordTypes_Checker/classes_gen/RecordTypes_Checker/test/ok_rec_empty/trace.info
0 → 100644
View file @
f82ad822
<?xml version="1.0" encoding="UTF-8"?>
<debug-info
version=
"2"
/>
inca-translation/solutions/RecordTypes_Checker/models/model.mps
View file @
f82ad822
This diff is collapsed.
Click to expand it.
inca-translation/solutions/RecordTypes_Checker/models/test.fail_unequal_number_of_labels.mps
View file @
f82ad822
...
...
@@ -66,7 +66,7 @@
</node>
<node
concept=
"1JAXSW"
id=
"75UymJIFIuu"
role=
"2EAAKa"
>
<property
role=
"TrG5h"
value=
"c"
/>
<node
concept=
"1SCrvP"
id=
"
75UymJIFIuR
"
role=
"1JAXS8"
/>
<node
concept=
"1SCrvP"
id=
"
6UqcbF4u0HN
"
role=
"1JAXS8"
/>
</node>
</node>
<node
concept=
"228e09"
id=
"75UymJIFIsm"
role=
"1SCrrM"
>
...
...
inca-translation/solutions/RecordTypes_Checker/source_gen.caches/RecordTypes_Checker/model/dependencies
View file @
f82ad822
...
...
@@ -8,6 +8,7 @@
<classNode
dependClassName=
"RecordTypes_Checker.model.Typing_LookupFailureQuerySpecification"
/>
<classNode
dependClassName=
"RecordTypes_Checker.model.Typing_MatchFunFailureQuerySpecification"
/>
<classNode
dependClassName=
"RecordTypes_Checker.model.Typing_MatchRecordFailureQuerySpecification"
/>
<classNode
dependClassName=
"RecordTypes_Checker.model.Typing_RecordSameLengthFailureQuerySpecification"
/>
<classNode
dependClassName=
"io.usethesource.capsule.Map"
/>
<classNode
dependClassName=
"java.lang.Object"
/>
<classNode
dependClassName=
"java.lang.String"
/>
...
...
@@ -873,6 +874,73 @@
<classNode
dependClassName=
"org.inca.core.runtime.plugin.MPSQuerySpecificationHints"
/>
<classNode
extendsClassName=
"org.inca.core.runtime.plugin.MPSQuerySpecification"
/>
</dependency>
<dependency
className=
"RecordTypes_Checker.model.Typing_RecordEntriesQuerySpecification"
>
<classNode
dependClassName=
"RecordTypes_Checker.model.QuerySpecificationHints"
/>
<classNode
dependClassName=
"java.lang.Class"
/>
<classNode
dependClassName=
"java.lang.Override"
/>
<classNode
dependClassName=
"java.lang.String"
/>
<classNode
dependClassName=
"java.lang.SuppressWarnings"
/>
<classNode
dependClassName=
"java.util.ArrayList"
/>
<classNode
dependClassName=
"java.util.Arrays"
/>
<classNode
dependClassName=
"java.util.HashSet"
/>
<classNode
dependClassName=
"java.util.List"
/>
<classNode
dependClassName=
"java.util.Set"
/>
<classNode
dependClassName=
"jetbrains.mps.internal.collections.runtime.SetSequence"
/>
<classNode
dependClassName=
"jetbrains.mps.smodel.adapter.structure.MetaAdapterFactory"
/>
<classNode
dependClassName=
"org.eclipse.viatra.query.runtime.api.ViatraQueryEngine"
/>
<classNode
dependClassName=
"org.eclipse.viatra.query.runtime.api.scope.QueryScope"
/>
<classNode
dependClassName=
"org.eclipse.viatra.query.runtime.exception.ViatraQueryException"
/>
<classNode
dependClassName=
"org.eclipse.viatra.query.runtime.matchers.psystem.PBody"
/>
<classNode
dependClassName=
"org.eclipse.viatra.query.runtime.matchers.psystem.PVariable"
/>
<classNode
dependClassName=
"org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.Equality"
/>
<classNode
dependClassName=
"org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter"
/>
<classNode
dependClassName=
"org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint"
/>
<classNode
dependClassName=
"org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter"
/>
<classNode
dependClassName=
"org.eclipse.viatra.query.runtime.matchers.psystem.queries.QueryInitializationException"
/>
<classNode
dependClassName=
"org.eclipse.viatra.query.runtime.matchers.tuple.Tuples"
/>
<classNode
dependClassName=
"org.inca.core.runtime.plugin.AbstractPQuery"
/>
<classNode
dependClassName=
"org.inca.core.runtime.plugin.AbstractScope"
/>
<classNode
dependClassName=
"org.inca.core.runtime.plugin.ConceptFeatureKey"
/>
<classNode
dependClassName=
"org.inca.core.runtime.plugin.ConceptKey"
/>
<classNode
dependClassName=
"org.inca.core.runtime.plugin.MPSGenericPatternMatcher"
/>
<classNode
dependClassName=
"org.inca.core.runtime.plugin.MPSQuerySpecificationHints"
/>
<classNode
extendsClassName=
"org.inca.core.runtime.plugin.MPSQuerySpecification"
/>
</dependency>
<dependency
className=
"RecordTypes_Checker.model.Typing_RecordEntryCountQuerySpecification"
>
<classNode
dependClassName=
"RecordTypes_Checker.model.QuerySpecificationHints"
/>
<classNode
dependClassName=
"RecordTypes_Checker.model.Typing_RecordEntriesQuerySpecification"
/>
<classNode
dependClassName=
"java.lang.Class"
/>
<classNode
dependClassName=
"java.lang.Integer"
/>
<classNode
dependClassName=
"java.lang.Override"
/>
<classNode
dependClassName=
"java.lang.String"
/>
<classNode
dependClassName=
"java.lang.SuppressWarnings"
/>
<classNode
dependClassName=
"java.util.ArrayList"
/>
<classNode
dependClassName=
"java.util.Arrays"
/>
<classNode
dependClassName=
"java.util.HashSet"
/>
<classNode
dependClassName=
"java.util.List"
/>
<classNode
dependClassName=
"java.util.Set"
/>
<classNode
dependClassName=
"jetbrains.mps.internal.collections.runtime.SetSequence"
/>
<classNode
dependClassName=
"jetbrains.mps.smodel.adapter.structure.MetaAdapterFactory"
/>
<classNode
dependClassName=
"org.eclipse.viatra.query.runtime.api.ViatraQueryEngine"
/>
<classNode
dependClassName=
"org.eclipse.viatra.query.runtime.api.scope.QueryScope"
/>
<classNode
dependClassName=
"org.eclipse.viatra.query.runtime.exception.ViatraQueryException"
/>
<classNode
dependClassName=
"org.eclipse.viatra.query.runtime.matchers.context.common.JavaTransitiveInstancesKey"
/>
<classNode
dependClassName=
"org.eclipse.viatra.query.runtime.matchers.psystem.PBody"
/>
<classNode
dependClassName=
"org.eclipse.viatra.query.runtime.matchers.psystem.PVariable"
/>
<classNode
dependClassName=
"org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.Equality"
/>
<classNode
dependClassName=
"org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter"
/>
<classNode
dependClassName=
"org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.PatternMatchCounter"
/>
<classNode
dependClassName=
"org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint"
/>
<classNode
dependClassName=
"org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter"
/>
<classNode
dependClassName=
"org.eclipse.viatra.query.runtime.matchers.psystem.queries.QueryInitializationException"
/>
<classNode
dependClassName=
"org.eclipse.viatra.query.runtime.matchers.tuple.Tuples"
/>
<classNode
dependClassName=
"org.inca.core.runtime.plugin.AbstractPQuery"
/>
<classNode
dependClassName=
"org.inca.core.runtime.plugin.AbstractScope"
/>
<classNode
dependClassName=
"org.inca.core.runtime.plugin.ConceptKey"
/>
<classNode
dependClassName=
"org.inca.core.runtime.plugin.MPSGenericPatternMatcher"
/>
<classNode
dependClassName=
"org.inca.core.runtime.plugin.MPSQuerySpecificationHints"
/>
<classNode
extendsClassName=
"org.inca.core.runtime.plugin.MPSQuerySpecification"
/>
</dependency>
<dependency
className=
"RecordTypes_Checker.model.Typing_RecordSameLengthFailureQuerySpecification"
>
<classNode
dependClassName=
"RecordTypes_Checker.model.QuerySpecificationHints"
/>
<classNode
dependClassName=
"RecordTypes_Checker.model.Typing_RecordSameLengthFailure_0_switchCommonQuerySpecification"
/>
...
...
@@ -902,6 +970,7 @@
<classNode
dependClassName=
"org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.Equality"
/>
<classNode
dependClassName=
"org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter"
/>
<classNode
dependClassName=
"org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExpressionEvaluation"
/>
<classNode
dependClassName=
"org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.Inequality"
/>
<classNode
dependClassName=
"org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.PositivePatternCall"
/>
<classNode
dependClassName=
"org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint"
/>
<classNode
dependClassName=
"org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter"
/>
...
...
@@ -917,8 +986,13 @@
<dependency
className=
"RecordTypes_Checker.model.Typing_RecordSameLengthFailure_0_switchCommonQuerySpecification"
>
<classNode
dependClassName=
"RecordTypes_Checker.model.LType"
/>
<classNode
dependClassName=
"RecordTypes_Checker.model.QuerySpecificationHints"
/>
<classNode
dependClassName=
"RecordTypes_Checker.model.Typing_RecordEntryCountQuerySpecification"
/>
<classNode
dependClassName=
"RecordTypes_Checker.model.Typing_RequiredQuerySpecification"
/>
<classNode
dependClassName=
"java.lang.Class"
/>
<classNode
dependClassName=
"java.lang.Exception"
/>
<classNode
dependClassName=
"java.lang.Integer"
/>
<classNode
dependClassName=
"java.lang.Iterable"
/>
<classNode
dependClassName=
"java.lang.Object"
/>
<classNode
dependClassName=
"java.lang.Override"
/>
<classNode
dependClassName=
"java.lang.String"
/>
<classNode
dependClassName=
"java.lang.SuppressWarnings"
/>
...
...
@@ -932,10 +1006,14 @@
<classNode
dependClassName=
"org.eclipse.viatra.query.runtime.api.ViatraQueryEngine"
/>
<classNode
dependClassName=
"org.eclipse.viatra.query.runtime.api.scope.QueryScope"
/>
<classNode
dependClassName=
"org.eclipse.viatra.query.runtime.exception.ViatraQueryException"
/>
<classNode
dependClassName=
"org.eclipse.viatra.query.runtime.matchers.context.common.JavaTransitiveInstancesKey"
/>
<classNode
dependClassName=
"org.eclipse.viatra.query.runtime.matchers.psystem.IExpressionEvaluator"
/>
<classNode
dependClassName=
"org.eclipse.viatra.query.runtime.matchers.psystem.IValueProvider"
/>
<classNode
dependClassName=
"org.eclipse.viatra.query.runtime.matchers.psystem.PBody"
/>
<classNode
dependClassName=
"org.eclipse.viatra.query.runtime.matchers.psystem.PVariable"
/>
<classNode
dependClassName=
"org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.Equality"
/>
<classNode
dependClassName=
"org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter"
/>
<classNode
dependClassName=
"org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExpressionEvaluation"
/>
<classNode
dependClassName=
"org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.PositivePatternCall"
/>
<classNode
dependClassName=
"org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint"
/>
<classNode
dependClassName=
"org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter"
/>
...
...
inca-translation/solutions/RecordTypes_Checker/source_gen.caches/RecordTypes_Checker/model/generated
View file @
f82ad822
<?xml version="1.0" encoding="UTF-8"?>
<product
version=
"3"
modelHash=
"
-7y1d0oo9x9aaa5olbwqqjva1bksxjb2
"
>
<files
names=
"AnalysisResultAccess.java:ConstantDefinitions.java:LType.java:LTypeRecord.java:QuerySpecificationHints.java:Typing_AllvarsQuerySpecification.java:Typing_Allvars_0_switchCommonQuerySpecification.java:Typing_AsLTypeQuerySpecification.java:Typing_AsLTypeRecordQuerySpecification.java:Typing_AsLTypeRecord_0_switchCommonQuerySpecification.java:Typing_AsLTypeRecord_WrappedQuerySpecification.java:Typing_AsLType_0_switchCommonQuerySpecification.java:Typing_CheckErrorQuerySpecification.java:Typing_CheckQuerySpecification.java:Typing_Check_0_switchCommonQuerySpecification.java:Typing_InferQuerySpecification.java:Typing_Infer_0_switchCommonQuerySpecification.java:Typing_Infer_WrappedQuerySpecification.java:Typing_LookupFailureQuerySpecification.java:Typing_LookupFailure_0_switchCommonQuerySpecification.java:Typing_LookupQuerySpecification.java:Typing_Lookup_0_switchCommonQuerySpecification.java:Typing_MatchFunFailureQuerySpecification.java:Typing_MatchFunFailure_0_switchCommonQuerySpecification.java:Typing_MatchRecordFailureQuerySpecification.java:Typing_MatchRecordFailure_0_switchCommonQuerySpecification.java:Typing_RecordSameLengthFailureQuerySpecification.java:Typing_RecordSameLengthFailure_0_switchCommonQuerySpecification.java:Typing_RequiredQuerySpecification.java:Typing_Required_0_switchCommonQuerySpecification.java"
/>
<product
version=
"3"
modelHash=
"
165kuhqrgdagnnh7kx2dq4c4zapa769
"
>
<files
names=
"AnalysisResultAccess.java:ConstantDefinitions.java:LType.java:LTypeRecord.java:QuerySpecificationHints.java:Typing_AllvarsQuerySpecification.java:Typing_Allvars_0_switchCommonQuerySpecification.java:Typing_AsLTypeQuerySpecification.java:Typing_AsLTypeRecordQuerySpecification.java:Typing_AsLTypeRecord_0_switchCommonQuerySpecification.java:Typing_AsLTypeRecord_WrappedQuerySpecification.java:Typing_AsLType_0_switchCommonQuerySpecification.java:Typing_CheckErrorQuerySpecification.java:Typing_CheckQuerySpecification.java:Typing_Check_0_switchCommonQuerySpecification.java:Typing_InferQuerySpecification.java:Typing_Infer_0_switchCommonQuerySpecification.java:Typing_Infer_WrappedQuerySpecification.java:Typing_LookupFailureQuerySpecification.java:Typing_LookupFailure_0_switchCommonQuerySpecification.java:Typing_LookupQuerySpecification.java:Typing_Lookup_0_switchCommonQuerySpecification.java:Typing_MatchFunFailureQuerySpecification.java:Typing_MatchFunFailure_0_switchCommonQuerySpecification.java:Typing_MatchRecordFailureQuerySpecification.java:Typing_MatchRecordFailure_0_switchCommonQuerySpecification.java:Typing_
RecordEntriesQuerySpecification.java:Typing_RecordEntryCountQuerySpecification.java:Typing_
RecordSameLengthFailureQuerySpecification.java:Typing_RecordSameLengthFailure_0_switchCommonQuerySpecification.java:Typing_RequiredQuerySpecification.java:Typing_Required_0_switchCommonQuerySpecification.java"
/>
</product>
inca-translation/solutions/RecordTypes_Checker/source_gen.caches/RecordTypes_Checker/test/fail_unequal_number_of_labels/generated
View file @
f82ad822
<?xml version="1.0" encoding="UTF-8"?>
<product
version=
"3"
modelHash=
"
687u1umiwy49egdujyz1uzx7z9606c7
"
/>
<product
version=
"3"
modelHash=
"
-4mpi09misgbbjpj3ednaen24tqdn3i4
"
/>
inca-translation/solutions/RecordTypes_Checker/source_gen/RecordTypes_Checker/model/AnalysisResultAccess.java
View file @
f82ad822
...
...
@@ -37,6 +37,7 @@ public class AnalysisResultAccess {
final
ViatraQueryMatcher
<
IPatternMatch
>
evaluatorMatchFunFailure
=
EnginePool
.
getMatcher
(
Typing_MatchFunFailureQuerySpecification
.
instance
(),
AbstractScope
.
from
(
scope
),
true
,
ScatteredTimelyReteBackendFactory
.
INSTANCE
);
final
ViatraQueryMatcher
<
IPatternMatch
>
evaluatorMatchRecordFailure
=
EnginePool
.
getMatcher
(
Typing_MatchRecordFailureQuerySpecification
.
instance
(),
AbstractScope
.
from
(
scope
),
true
,
ScatteredTimelyReteBackendFactory
.
INSTANCE
);
final
ViatraQueryMatcher
<
IPatternMatch
>
evaluatorLookupFailure
=
EnginePool
.
getMatcher
(
Typing_LookupFailureQuerySpecification
.
instance
(),
AbstractScope
.
from
(
scope
),
true
,
ScatteredTimelyReteBackendFactory
.
INSTANCE
);
final
ViatraQueryMatcher
<
IPatternMatch
>
evaluatorRecordSameLengthFailure
=
EnginePool
.
getMatcher
(
Typing_RecordSameLengthFailureQuerySpecification
.
instance
(),
AbstractScope
.
from
(
scope
),
true
,
ScatteredTimelyReteBackendFactory
.
INSTANCE
);
final
IPatternMatch
tup
=
evaluatorInfer
.
newMatch
(
term
,
null
);
final
Set
<
LType
.
LTypeElement
>
inferValues
=
CodeGenerationHelper
.
getAllValues
(
evaluatorInfer
,
"out_1"
,
tup
);
...
...
@@ -44,8 +45,9 @@ public class AnalysisResultAccess {
boolean
matchFunFailure
=
CollectionSequence
.
fromCollection
(
evaluatorMatchFunFailure
.
getAllMatches
()).
isNotEmpty
();
boolean
matchRecordFailure
=
CollectionSequence
.
fromCollection
(
evaluatorMatchRecordFailure
.
getAllMatches
()).
isNotEmpty
();
boolean
lookupFailure
=
CollectionSequence
.
fromCollection
(
evaluatorLookupFailure
.
getAllMatches
()).
isNotEmpty
();
boolean
recordSameLengthFailure
=
CollectionSequence
.
fromCollection
(
evaluatorRecordSameLengthFailure
.
getAllMatches
()).
isNotEmpty
();
if
(
checkError
||
matchFunFailure
||
matchRecordFailure
||
lookupFailure
)
{
if
(
checkError
||
matchFunFailure
||
matchRecordFailure
||
lookupFailure
||
recordSameLengthFailure
)
{
return
false
;
}
...
...
@@ -56,18 +58,18 @@ public class AnalysisResultAccess {
boolean
isBotAvailable
=
SetSequence
.
fromSet
(
inferValues
).
any
(
new
IWhereFilter
<
LType
.
LTypeElement
>()
{
public
boolean
accept
(
LType
.
LTypeElement
it
)
{
{
final
Object
[]
values_a0a0a0
t
0c
=
{
it
};
final
Object
[]
values_a0a0a0
v
0c
=
{
it
};
// declare the local variables for the case matchers
Map
<
String
,
Object
>
case_0_a0a0a0a
9
1a2
;
Map
<
String
,
Object
>
case_1_b0a0a0a
9
1a2
;
Map
<
String
,
Object
>
case_0_a0a0a0a1
2
a2
;
Map
<
String
,
Object
>
case_1_b0a0a0a1
2
a2
;
if
((
case_0_a0a0a0a
9
1a2
=
new
SequenceMatcher
(
matcher_a0a0a0a0
t
0c
).
match
(
values_a0a0a0
t
0c
))
!=
null
)
{
if
((
case_0_a0a0a0a1
2
a2
=
new
SequenceMatcher
(
matcher_a0a0a0a0
v
0c
).
match
(
values_a0a0a0
v
0c
))
!=
null
)
{
return
true
;
}
else
if
((
case_1_b0a0a0a
9
1a2
=
new
SequenceMatcher
(
WildCardMatcher
.
INSTANCE
).
match
(
values_a0a0a0
t
0c
))
!=
null
)
{
}
else
if
((
case_1_b0a0a0a1
2
a2
=
new
SequenceMatcher
(
WildCardMatcher
.
INSTANCE
).
match
(
values_a0a0a0
v
0c
))
!=
null
)
{
return
false
;
}
else
{
throw
new
PatternMatcherException
(
values_a0a0a0
t
0c
);
throw
new
PatternMatcherException
(
values_a0a0a0
v
0c
);
}
}
}
...
...
@@ -80,21 +82,21 @@ public class AnalysisResultAccess {
final
LType
.
LTypeElement
nonBotAnyValue
=
SetSequence
.
fromSet
(
inferValues
).
findFirst
(
new
IWhereFilter
<
LType
.
LTypeElement
>()
{
public
boolean
accept
(
LType
.
LTypeElement
it
)
{
{
final
Object
[]
values_a0a0a0
x
0c
=
{
it
};
final
Object
[]
values_a0a0a0
z
0c
=
{
it
};
// declare the local variables for the case matchers
Map
<
String
,
Object
>
case_0_a0a0a0a
3
2a2
;
Map
<
String
,
Object
>
case_1_b0a0a0a
3
2a2
;
Map
<
String
,
Object
>
case_2_c0a0a0a
3
2a2
;
Map
<
String
,
Object
>
case_0_a0a0a0a
5
2a2
;
Map
<
String
,
Object
>
case_1_b0a0a0a
5
2a2
;
Map
<
String
,
Object
>
case_2_c0a0a0a
5
2a2
;
if
((
case_0_a0a0a0a
3
2a2
=
new
SequenceMatcher
(
matcher_a0a0a0a0
x
0c
).
match
(
values_a0a0a0
x
0c
))
!=
null
)
{
if
((
case_0_a0a0a0a
5
2a2
=
new
SequenceMatcher
(
matcher_a0a0a0a0
z
0c
).
match
(
values_a0a0a0
z
0c
))
!=
null
)
{
return
false
;
}
else
if
((
case_1_b0a0a0a
3
2a2
=
new
SequenceMatcher
(
matcher_a1a0a0a0
x
0c
).
match
(
values_a0a0a0
x
0c
))
!=
null
)
{
}
else
if
((
case_1_b0a0a0a
5
2a2
=
new
SequenceMatcher
(
matcher_a1a0a0a0
z
0c
).
match
(
values_a0a0a0
z
0c
))
!=
null
)
{
return
false
;
}
else
if
((
case_2_c0a0a0a
3
2a2
=
new
SequenceMatcher
(
WildCardMatcher
.
INSTANCE
).
match
(
values_a0a0a0
x
0c
))
!=
null
)
{
}
else
if
((
case_2_c0a0a0a
5
2a2
=
new
SequenceMatcher
(
WildCardMatcher
.
INSTANCE
).
match
(
values_a0a0a0
z
0c
))
!=
null
)
{
return
true
;
}
else
{
throw
new
PatternMatcherException
(
values_a0a0a0
x
0c
);
throw
new
PatternMatcherException
(
values_a0a0a0
z
0c
);
}
}
}
...
...
@@ -188,9 +190,9 @@ public class AnalysisResultAccess {
}
}
private
static
final
IDataMatcher
matcher_a0a0a0a0
t
0c
=
new
CompositeMatcher
(
LType
.
Bot
.
class
);
private
static
final
IDataMatcher
matcher_a0a0a0a0
x
0c
=
new
CompositeMatcher
(
LType
.
Bot
.
class
);
private
static
final
IDataMatcher
matcher_a1a0a0a0
x
0c
=
new
CompositeMatcher
(
LType
.
Any
.
class
);
private
static
final
IDataMatcher
matcher_a0a0a0a0
v
0c
=
new
CompositeMatcher
(
LType
.
Bot
.
class
);
private
static
final
IDataMatcher
matcher_a0a0a0a0
z
0c
=
new
CompositeMatcher
(
LType
.
Bot
.
class
);
private
static
final
IDataMatcher
matcher_a1a0a0a0
z
0c
=
new
CompositeMatcher
(
LType
.
Any
.
class
);
private
static
final
IDataMatcher
matcher_a0a0e_0
=
new
CompositeMatcher
(
LType
.
Nat
.
class
);
private
static
final
IDataMatcher
matcher_a1a0e
=
new
CompositeMatcher
(
LType
.
Fun
.
class
);
private
static
final
IDataMatcher
matcher_a2a0e_0
=
new
CompositeMatcher
(
LType
.
Record
.
class
,
new
SimpleMatcher
(
"ltypev"
));
...
...
inca-translation/solutions/RecordTypes_Checker/source_gen/RecordTypes_Checker/model/LType.java
View file @
f82ad822
...
...
@@ -638,6 +638,27 @@ public class LType implements ILatticeOperationProvider<LType.LTypeElement>, IPo
}
}
}
public
int
recordSize
(
LType
.
LTypeElement
t
)
{
{
final
Object
[]
values_a0w
=
{
t
};
// declare the local variables for the case matchers
Map
<
String
,
Object
>
case_0_a0a22
;
Map
<
String
,
Object
>
case_1_b0a22
;
Map
<
String
,
Object
>
case_2_c0a22
;
if
((
case_0_a0a22
=
new
SequenceMatcher
(
matcher_a0a0w
).
match
(
values_a0w
))
!=
null
)
{
LTypeRecord
.
LTypeRecordElement
ty_a0a0a22
=
(
LTypeRecord
.
LTypeRecordElement
)
case_0_a0a22
.
get
(
"ty"
);
return
LTypeRecord
.
instance
().
size
(
ty_a0a0a22
);
}
else
if
((
case_1_b0a22
=
new
SequenceMatcher
(
matcher_a1a0w
).
match
(
values_a0w
))
!=
null
)
{
return
Integer
.
MAX_VALUE
;
}
else
if
((
case_2_c0a22
=
new
SequenceMatcher
(
WildCardMatcher
.
INSTANCE
).
match
(
values_a0w
))
!=
null
)
{
return
Integer
.
MIN_VALUE
;
}
else
{
throw
new
PatternMatcherException
(
values_a0w
);
}
}
}
public
final
IMultisetAggregationOperator
<?,
?,
?>
aggregator_lub
=
new
AbstractTreeBasedLatticeAggregationOperator
<
LType
.
LTypeElement
>(
new
AugmentedNodeFactory
<
LType
.
LTypeElement
>(
new
_FunctionTypes
.
_return_P2_E0
<
LType
.
LTypeElement
,
LType
.
LTypeElement
,
LType
.
LTypeElement
>()
{
public
LType
.
LTypeElement
invoke
(
final
LType
.
LTypeElement
left
,
final
LType
.
LTypeElement
right
)
{
...
...
@@ -731,4 +752,6 @@ public class LType implements ILatticeOperationProvider<LType.LTypeElement>, IPo
private
static
final
IDataMatcher
matcher_a1a0s
=
new
CompositeMatcher
(
LType
.
Any
.
class
);
private
static
final
IDataMatcher
matcher_a0a0u
=
new
CompositeMatcher
(
LType
.
Record
.
class
,
new
SimpleMatcher
(
"ty"
));
private
static
final
IDataMatcher
matcher_a1a0u
=
new
CompositeMatcher
(
LType
.
Any
.
class
);
private
static
final
IDataMatcher
matcher_a0a0w
=
new
CompositeMatcher
(
LType
.
Record
.
class
,
new
SimpleMatcher
(
"ty"
));
private
static
final
IDataMatcher
matcher_a1a0w
=
new
CompositeMatcher
(
LType
.
Any
.
class
);
}
inca-translation/solutions/RecordTypes_Checker/source_gen/RecordTypes_Checker/model/LTypeRecord.java
View file @
f82ad822
...
...
@@ -226,31 +226,48 @@ public class LTypeRecord implements ILatticeOperationProvider<LTypeRecord.LTypeR
}
}
}
public
int
size
(
LTypeRecord
.
LTypeRecordElement
ty
)
{
{
final
Object
[]
values_a0k_0
=
{
ty
};
// declare the local variables for the case matchers
java
.
util
.
Map
<
String
,
Object
>
case_0_a0a01_0
;
java
.
util
.
Map
<
String
,
Object
>
case_1_b0a01_0
;
if
((
case_0_a0a01_0
=
new
SequenceMatcher
(
matcher_a0a0k_0
).
match
(
values_a0k_0
))
!=
null
)
{
return
Integer
.
MAX_VALUE
;
}
else
if
((
case_1_b0a01_0
=
new
SequenceMatcher
(
matcher_a1a0k_0
).
match
(
values_a0k_0
))
!=
null
)
{
Map
.
Immutable
<
String
,
LType
.
LTypeElement
>
map_a0b0a01
=
(
Map
.
Immutable
<
String
,
LType
.
LTypeElement
>)
case_1_b0a01_0
.
get
(
"map"
);
return
map_a0b0a01
.
size
();
}
else
{
throw
new
PatternMatcherException
(
values_a0k_0
);
}
}
}
public
boolean
leq
(
LTypeRecord
.
LTypeRecordElement
l
,
LTypeRecord
.
LTypeRecordElement
r
)
{
{
final
Object
[]
values_a0
l
=
{
l
,
r
};
final
Object
[]
values_a0
n
=
{
l
,
r
};
// declare the local variables for the case matchers
java
.
util
.
Map
<
String
,
Object
>
case_0_a0a
1
1
;
java
.
util
.
Map
<
String
,
Object
>
case_1_b0a
1
1
;
java
.
util
.
Map
<
String
,
Object
>
case_2_c0a
1
1
;
java
.
util
.
Map
<
String
,
Object
>
case_0_a0a
3
1
;
java
.
util
.
Map
<
String
,
Object
>
case_1_b0a
3
1
;
java
.
util
.
Map
<
String
,
Object
>
case_2_c0a
3
1
;
if
((
case_0_a0a
1
1
=
new
SequenceMatcher
(
WildCardMatcher
.
INSTANCE
,
matcher_b0a0
l
).
match
(
values_a0
l
))
!=
null
)
{
if
((
case_0_a0a
3
1
=
new
SequenceMatcher
(
WildCardMatcher
.
INSTANCE
,
matcher_b0a0
n
).
match
(
values_a0
n
))
!=
null
)
{
return
true
;
}
else
if
((
case_1_b0a
1
1
=
new
SequenceMatcher
(
matcher_a1a0
l
,
WildCardMatcher
.
INSTANCE
).
match
(
values_a0
l
))
!=
null
)
{
}
else
if
((
case_1_b0a
3
1
=
new
SequenceMatcher
(
matcher_a1a0
n
,
WildCardMatcher
.
INSTANCE
).
match
(
values_a0
n
))
!=
null
)
{
return
false
;
}
else
if
((
case_2_c0a11
=
new
SequenceMatcher
(
matcher_a2a0l
,
matcher_b2a0l
).
match
(
values_a0l
))
!=
null
)
{
Map
.
Immutable
<
String
,
LType
.
LTypeElement
>
map2_a1c0a11
=
(
Map
.
Immutable
<
String
,
LType
.
LTypeElement
>)
case_2_c0a11
.
get
(
"map2"
);
Map
.
Immutable
<
String
,
LType
.
LTypeElement
>
map1_a0c0a11
=
(
Map
.
Immutable
<
String
,
LType
.
LTypeElement
>)
case_2_c0a11
.
get
(
"map1"
);
// is this method needed? when we only need glb or lub
// check if r is top element because we cannot pattern match to check if empty
if
(
map1_a0c0a11
.
size
()
==
0
)
{
}
else
if
((
case_2_c0a31
=
new
SequenceMatcher
(
matcher_a2a0n
,
matcher_b2a0n
).
match
(
values_a0n
))
!=
null
)
{
Map
.
Immutable
<
String
,
LType
.
LTypeElement
>
map2_a1c0a31
=
(
Map
.
Immutable
<
String
,
LType
.
LTypeElement
>)
case_2_c0a31
.
get
(
"map2"
);
Map
.
Immutable
<
String
,
LType
.
LTypeElement
>
map1_a0c0a31
=
(
Map
.
Immutable
<
String
,
LType
.
LTypeElement
>)
case_2_c0a31
.
get
(
"map1"
);
// check if r is bottom element because we cannot pattern match to check if empty
if
(
map1_a0c0a31
.
size
()
==
0
)
{
return
true
;
}
Iterator
<
java
.
util
.
Map
.
Entry
<
String
,
LType
.
LTypeElement
>>
it
=
map1_a0c0a
1
1
.
entryIterator
();
Iterator
<
java
.
util
.
Map
.
Entry
<
String
,
LType
.
LTypeElement
>>
it
=
map1_a0c0a
3
1
.
entryIterator
();
while
(
it
.
hasNext
())
{
java
.
util
.
Map
.
Entry
<
String
,
LType
.
LTypeElement
>
entry1
=
it
.
next
();
LType
.
LTypeElement
found
=
map2_a1c0a
1
1
.
get
(
entry1
.
getKey
());
LType
.
LTypeElement
found
=
map2_a1c0a
3
1
.
get
(
entry1
.
getKey
());
if
(
found
==
null
)
{
return
false
;
}
else
if
(!(
LType
.
instance
().
leq
(
entry1
.
getValue
(),
found
)))
{
...
...
@@ -259,32 +276,32 @@ public class LTypeRecord implements ILatticeOperationProvider<LTypeRecord.LTypeR
}
return
true
;
}
else
{
throw
new
PatternMatcherException
(
values_a0
l
);
throw
new
PatternMatcherException
(
values_a0
n
);
}
}
}
public
LTypeRecord
.
LTypeRecordElement
lub
(
LTypeRecord
.
LTypeRecordElement
l
,
LTypeRecord
.
LTypeRecordElement
r
)
{
{
final
Object
[]
values_a0
n
=
{
l
,
r
};
final
Object
[]
values_a0
p
=
{
l
,
r
};
// declare the local variables for the case matchers
java
.
util
.
Map
<
String
,
Object
>
case_0_a0a
3
1
;
java
.
util
.
Map
<
String
,
Object
>
case_1_b0a
3
1
;
java
.
util
.
Map
<
String
,
Object
>
case_2_c0a
3
1
;
java
.
util
.
Map
<
String
,
Object
>
case_0_a0a
5
1
;
java
.
util
.
Map
<
String
,
Object
>
case_1_b0a
5
1
;
java
.
util
.
Map
<
String
,
Object
>
case_2_c0a
5
1
;
if
((
case_0_a0a
3
1
=
new
SequenceMatcher
(
matcher_a0a0
n
,
WildCardMatcher
.
INSTANCE
).
match
(
values_a0
n
))
!=
null
)
{
if
((
case_0_a0a
5
1
=
new
SequenceMatcher
(
matcher_a0a0
p
,
WildCardMatcher
.
INSTANCE
).
match
(
values_a0
p
))
!=
null
)
{
return
LTypeRecord
.
AnyRecord
.
create
();
}
else
if
((
case_1_b0a
3
1
=
new
SequenceMatcher
(
WildCardMatcher
.
INSTANCE
,
matcher_b1a0
n
).
match
(
values_a0
n
))
!=
null
)
{
}
else
if
((
case_1_b0a
5
1
=
new
SequenceMatcher
(
WildCardMatcher
.
INSTANCE
,
matcher_b1a0
p
).
match
(
values_a0
p
))
!=
null
)
{
return
LTypeRecord
.
AnyRecord
.
create
();
}
else
if
((
case_2_c0a
3
1
=
new
SequenceMatcher
(
matcher_a2a0
n
,
matcher_b2a0
n
).
match
(
values_a0
n
))
!=
null
)
{
Map
.
Immutable
<
String
,
LType
.
LTypeElement
>
map2_a1c0a
3
1
=
(
Map
.
Immutable
<
String
,
LType
.
LTypeElement
>)
case_2_c0a
3
1
.
get
(
"map2"
);
Map
.
Immutable
<
String
,
LType
.
LTypeElement
>
map1_a0c0a
3
1
=
(
Map
.
Immutable
<
String
,
LType
.
LTypeElement
>)
case_2_c0a
3
1
.
get
(
"map1"
);
}
else
if
((
case_2_c0a
5
1
=
new
SequenceMatcher
(
matcher_a2a0
p
,
matcher_b2a0
p
).
match
(
values_a0
p
))
!=
null
)
{
Map
.
Immutable
<
String
,
LType
.
LTypeElement
>
map2_a1c0a
5
1
=
(
Map
.
Immutable
<
String
,
LType
.
LTypeElement
>)
case_2_c0a
5
1
.
get
(
"map2"
);
Map
.
Immutable
<
String
,
LType
.
LTypeElement
>
map1_a0c0a
5
1
=
(
Map
.
Immutable
<
String
,
LType
.
LTypeElement
>)
case_2_c0a
5
1
.
get
(
"map1"
);
{
Iterator
<
java
.
util
.
Map
.
Entry
<
String
,
LType
.
LTypeElement
>>
it
=
map1_a0c0a
3
1
.
entryIterator
();
Map
.
Immutable
<
String
,
LType
.
LTypeElement
>
result
=
map1_a0c0a
3
1
.
__putAll
(
map2_a1c0a
3
1
);
Iterator
<
java
.
util
.
Map
.
Entry
<
String
,
LType
.
LTypeElement
>>
it
=
map1_a0c0a
5
1
.
entryIterator
();
Map
.
Immutable
<
String
,
LType
.
LTypeElement
>
result
=
map1_a0c0a
5
1
.
__putAll
(
map2_a1c0a
5
1
);
while
(
it
.
hasNext
())
{
java
.
util
.
Map
.
Entry
<
String
,
LType
.
LTypeElement
>
entry
=
it
.
next
();
LType
.
LTypeElement
found
=
map2_a1c0a
3
1
.
get
(
entry
.
getKey
());
LType
.
LTypeElement
found
=
map2_a1c0a
5
1
.
get
(
entry
.
getKey
());
if
(
found
!=
null
)
{
LType
.
LTypeElement
lub
=
LType
.
instance
().
lub
(
entry
.
getValue
(),
found
);
result
=
result
.
__put
(
entry
.
getKey
(),
lub
);
...
...
@@ -293,31 +310,31 @@ public class LTypeRecord implements ILatticeOperationProvider<LTypeRecord.LTypeR
return
LTypeRecord
.
FinRecord
.
create
(
result
);
}
}
else
{
throw
new
PatternMatcherException
(
values_a0
n
);
throw
new
PatternMatcherException
(
values_a0
p
);
}
}
}
public
LTypeRecord
.
LTypeRecordElement
glb
(
LTypeRecord
.
LTypeRecordElement
l
,
LTypeRecord
.
LTypeRecordElement
r
)
{
{
final
Object
[]
values_a0
p
=
{
l
,
r
};
final
Object
[]
values_a0
r
=
{
l
,
r
};
// declare the local variables for the case matchers
java
.
util
.
Map
<
String
,
Object
>
case_0_a0a
5
1
;
java
.
util
.
Map
<
String
,
Object
>
case_1_b0a
5
1
;
java
.
util
.
Map
<
String
,
Object
>
case_2_c0a
5
1
;
java
.
util
.
Map
<
String
,
Object
>
case_0_a0a
7
1
;
java
.
util
.
Map
<
String
,
Object
>
case_1_b0a
7
1
;
java
.
util
.
Map
<
String
,
Object
>
case_2_c0a
7
1
;
if
((
case_0_a0a
5
1
=
new
SequenceMatcher
(
matcher_a0a0
p
,
WildCardMatcher
.
INSTANCE
).
match
(
values_a0
p
))
!=
null
)
{
if
((
case_0_a0a
7
1
=
new
SequenceMatcher
(
matcher_a0a0
r
,
WildCardMatcher
.
INSTANCE
).
match
(
values_a0
r
))
!=
null
)
{
return
r
;
}
else
if
((
case_1_b0a
5
1
=
new
SequenceMatcher
(
WildCardMatcher
.
INSTANCE
,
matcher_b1a0
p
).
match
(
values_a0
p
))
!=
null
)
{
}
else
if
((
case_1_b0a
7
1
=
new
SequenceMatcher
(
WildCardMatcher
.
INSTANCE
,
matcher_b1a0
r
).
match
(
values_a0
r
))
!=
null
)
{
return
l
;
}
else
if
((
case_2_c0a
5
1
=
new
SequenceMatcher
(
matcher_a2a0
p
,
matcher_b2a0
p
).
match
(
values_a0
p
))
!=
null
)
{
Map
.
Immutable
<
String
,
LType
.
LTypeElement
>
map2_a1c0a
5
1
=
(
Map
.
Immutable
<
String
,
LType
.
LTypeElement
>)
case_2_c0a
5
1
.
get
(
"map2"
);
Map
.
Immutable
<
String
,
LType
.
LTypeElement
>
map1_a0c0a
5
1
=
(
Map
.
Immutable
<
String
,
LType
.
LTypeElement
>)
case_2_c0a
5
1
.
get
(
"map1"
);
Iterator
<
java
.
util
.
Map
.
Entry
<
String
,
LType
.
LTypeElement
>>
it
=
map1_a0c0a
5
1
.
entryIterator
();
}
else
if
((
case_2_c0a
7
1
=
new
SequenceMatcher
(
matcher_a2a0
r
,
matcher_b2a0
r
).
match
(
values_a0
r
))
!=
null
)
{
Map
.
Immutable
<
String
,
LType
.
LTypeElement
>
map2_a1c0a
7
1
=
(
Map
.
Immutable
<
String
,
LType
.
LTypeElement
>)
case_2_c0a
7
1
.
get
(
"map2"
);
Map
.
Immutable
<
String
,
LType
.
LTypeElement
>
map1_a0c0a
7
1
=
(
Map
.
Immutable
<
String
,
LType
.
LTypeElement
>)
case_2_c0a
7
1
.
get
(
"map1"
);
Iterator
<
java
.
util
.
Map
.
Entry
<
String
,
LType
.
LTypeElement
>>
it
=
map1_a0c0a
7
1
.
entryIterator
();
Map
.
Immutable
<
String
,
LType
.
LTypeElement
>
result
=
Map
.
Immutable
.
of
();
while
(
it
.
hasNext
())
{
java
.
util
.
Map
.
Entry
<
String
,
LType
.
LTypeElement
>
entry
=
it
.
next
();
LType
.
LTypeElement
found
=
map2_a1c0a
5
1
.
get
(
entry
.
getKey
());
LType
.
LTypeElement
found
=
map2_a1c0a
7
1
.
get
(
entry
.
getKey
());
if
(
found
!=
null
)
{
LType
.
LTypeElement
glb
=
LType
.
instance
().
glb
(
entry
.
getValue
(),
found
);
result
=
result
.
__put
(
entry
.
getKey
(),
glb
);
...
...
@@ -325,7 +342,7 @@ public class LTypeRecord implements ILatticeOperationProvider<LTypeRecord.LTypeR
}
return
LTypeRecord
.
FinRecord
.
create
(
result
);
}
else
{
throw
new
PatternMatcherException
(
values_a0
p
);
throw
new
PatternMatcherException
(
values_a0
r
);
}
}
}
...
...
@@ -384,16 +401,18 @@ public class LTypeRecord implements ILatticeOperationProvider<LTypeRecord.LTypeR
private
static
final
IDataMatcher
matcher_a0a0i_0
=
new
CompositeMatcher
(
LTypeRecord
.
AnyRecord
.
class
);
private
static
final
IDataMatcher
matcher_a1a0i
=
new
CompositeMatcher
(
LTypeRecord
.
FinRecord
.
class
,
new
SimpleMatcher
(
"map"
));
private
static
final
IDataMatcher
matcher_b0a0l
=
new
CompositeMatcher
(
LTypeRecord
.
AnyRecord
.
class
);
private
static
final
IDataMatcher
matcher_a1a0l
=
new
CompositeMatcher
(
LTypeRecord
.
AnyRecord
.
class
);
private
static
final
IDataMatcher
matcher_a2a0l
=
new
CompositeMatcher
(
LTypeRecord
.
FinRecord
.
class
,
new
SimpleMatcher
(
"map1"
));
private
static
final
IDataMatcher
matcher_b2a0l
=
new
CompositeMatcher
(
LTypeRecord
.
FinRecord
.
class
,
new
SimpleMatcher
(
"map2"
));
private
static
final
IDataMatcher
matcher_a0a0n
=
new
CompositeMatcher
(
LTypeRecord
.
AnyRecord
.
class
);
private
static
final
IDataMatcher
matcher_b1a0n
=
new
CompositeMatcher
(
LTypeRecord
.
AnyRecord
.
class
);
private
static
final
IDataMatcher
matcher_a0a0k_0
=
new
CompositeMatcher
(
LTypeRecord
.
AnyRecord
.
class
);
private
static
final
IDataMatcher
matcher_a1a0k_0
=
new
CompositeMatcher
(
LTypeRecord
.
FinRecord
.
class
,
new
SimpleMatcher
(
"map"
));
private
static
final
IDataMatcher
matcher_b0a0n
=
new
CompositeMatcher
(
LTypeRecord
.
AnyRecord
.
class
);
private
static
final
IDataMatcher
matcher_a1a0n
=
new
CompositeMatcher
(
LTypeRecord
.
AnyRecord
.
class
);
private
static
final
IDataMatcher
matcher_a2a0n
=
new
CompositeMatcher
(
LTypeRecord
.
FinRecord
.
class
,
new
SimpleMatcher
(
"map1"
));
private
static
final
IDataMatcher
matcher_b2a0n
=
new
CompositeMatcher
(
LTypeRecord
.
FinRecord
.
class
,
new
SimpleMatcher
(
"map2"
));
private
static
final
IDataMatcher
matcher_a0a0p
=
new
CompositeMatcher
(
LTypeRecord
.
AnyRecord
.
class
);
private
static
final
IDataMatcher
matcher_b1a0p
=
new
CompositeMatcher
(
LTypeRecord
.
AnyRecord
.
class
);
private
static
final
IDataMatcher
matcher_a2a0p
=
new
CompositeMatcher
(
LTypeRecord
.
FinRecord
.
class
,
new
SimpleMatcher
(
"map1"
));
private
static
final
IDataMatcher
matcher_b2a0p
=
new
CompositeMatcher
(
LTypeRecord
.
FinRecord
.
class
,
new
SimpleMatcher
(
"map2"
));
private
static
final
IDataMatcher
matcher_a0a0r
=
new
CompositeMatcher
(
LTypeRecord
.
AnyRecord
.
class
);
private
static
final
IDataMatcher
matcher_b1a0r
=
new
CompositeMatcher
(
LTypeRecord
.
AnyRecord
.
class
);
private
static
final
IDataMatcher
matcher_a2a0r
=
new
CompositeMatcher
(
LTypeRecord
.
FinRecord
.
class
,
new
SimpleMatcher
(
"map1"
));
private
static
final
IDataMatcher
matcher_b2a0r
=
new
CompositeMatcher
(
LTypeRecord
.
FinRecord
.
class
,
new
SimpleMatcher
(
"map2"
));
}
inca-translation/solutions/RecordTypes_Checker/source_gen/RecordTypes_Checker/model/QuerySpecificationHints.java
View file @
f82ad822
...
...
@@ -29,33 +29,33 @@ public final class QuerySpecificationHints extends MPSQuerySpecificationHints {
this
.
concepts
.
add
(
MetaAdapterFactory
.
getConcept
(
0xceab519525ea4f22
L
,
0x9b92103b95ca8c0c
L
,
0x10802efe25a
L
,
"jetbrains.mps.lang.core.structure.BaseConcept"
));
this
.
dataTypes
=
new
HashSet
<
SDataType
>();
this
.
dataTypes
.
add
(
UniqueDataType
.
from
(
"jetbrains.mps.lang.core.structure.integer"
));
this
.
dataTypes
.
add
(
UniqueDataType
.
from
(
"jetbrains.mps.lang.core.structure.string"
));
this
.
dataTypes
.
add
(
UniqueDataType
.
from
(
"jetbrains.mps.lang.core.structure.integer"
));
this
.
conceptFeatures
=
new
HashSet
<
SConceptFeature
>();
this
.
conceptFeatures
.
add
(
MetaAdapterFactory
.
getProperty
(
0xceab519525ea4f22
L
,
0x9b92103b95ca8c0c
L
,
0x110396eaaa4
L
,
0x110396ec041
L
,
"name"
));
this
.
conceptFeatures
.
add
(
MetaAdapterFactory
.
getContainmentLink
(
0x6b642eaa1043424a
L
,
0x9e0949eb41607114
L
,
0x1a4a252762eb936b
L
,
0x1a4a252762eb9378
L
,
"t2"
));
this
.
conceptFeatures
.
add
(
MetaAdapterFactory
.
getContainmentLink
(
0x6b642eaa1043424a
L
,
0x9e0949eb41607114
L
,
0x1a4a252762eb9302
L
,
0x1a4a252762eb9307
L
,
"t1"
));
this
.
conceptFeatures
.
add
(
MetaAdapterFactory
.
getContainmentLink
(
0x6b642eaa1043424a
L
,
0x9e0949eb41607114
L
,
0x1a4a252762eb9390
L
,
0x1a4a252762eb9395
L
,
"ty1"
));
this
.
conceptFeatures
.
add
(
MetaAdapterFactory
.
getContainmentLink
(
0x6b642eaa1043424a
L
,
0x9e0949eb41607114
L
,
0x1fd8e2cf9df802c6
L
,
0x1fd8e2cf9df802cb
L
,
"elems"
));
this
.
conceptFeatures
.
add
(
MetaAdapterFactory
.
getContainmentLink
(
0x6b642eaa1043424a
L
,
0x9e0949eb41607114
L
,
0x1a4a252762eb936b
L
,
0x1a4a252762eb9374
L
,
"t1"
));
this
.
conceptFeatures
.
add
(
MetaAdapterFactory
.
getContainmentLink
(
0x6b642eaa1043424a
L
,
0x9e0949eb41607114
L
,
0x1a4a252762eb9302
L
,
0x1a4a252762eb930b
L
,
"t2"
));
this
.
conceptFeatures
.
add
(
MetaAdapterFactory
.
getContainmentLink
(
0x6b642eaa1043424a
L
,
0x9e0949eb41607114
L
,
0x1a4a252762eb933a
L
,
0x1a4a252762eb9352
L
,
"body"
));
this
.
conceptFeatures
.
add
(
MetaAdapterFactory
.
getContainmentLink
(
0x6b642eaa1043424a
L
,
0x9e0949eb41607114
L
,
0x1a4a252762eb9312
L
,
0x1a4a252762eb931b
L
,
"t2"
));
this
.
conceptFeatures
.
add
(
MetaAdapterFactory
.
getContainmentLink
(
0x6b642eaa1043424a
L
,
0x9e0949eb41607114
L
,
0x1a4a252762eb92d7
L
,
0x1a4a252762eb92dc
L
,
"t"
));
this
.
conceptFeatures
.
add
(
MetaAdapterFactory
.
getContainmentLink
(
0x6b642eaa1043424a
L
,
0x9e0949eb41607114
L
,
0x9229981a3b8f573
L
,
0x9229981a3b8f58b
L
,
"entries"
));
this
.
conceptFeatures
.
add
(
MetaAdapterFactory
.
getContainmentLink
(
0x6b642eaa1043424a
L
,
0x9e0949eb41607114
L
,
0x1a4a252762eb9302
L
,
0x1a4a252762eb9307
L
,
"t1"
));
this
.
conceptFeatures
.
add
(
MetaAdapterFactory
.
getContainmentLink
(
0x6b642eaa1043424a
L
,
0x9e0949eb41607114
L
,
0x1a4a252762eb9390
L
,
0x1a4a252762eb9399
L
,
"ty2"
));
this
.
conceptFeatures
.
add
(
MetaAdapterFactory
.
getContainmentLink
(
0x6b642eaa1043424a
L
,
0x9e0949eb41607114
L
,
0x1a4a252762eb93fa
L
,
0x1a4a252762eb93ff
L
,
"ty"
));
this
.
conceptFeatures
.
add
(
MetaAdapterFactory
.
getContainmentLink
(
0x6b642eaa1043424a
L
,
0x9e0949eb41607114
L
,
0x1a4a252762eb937f
L
,
0x1a4a252762eb9384
L
,
"t"
));
this
.
conceptFeatures
.
add
(
MetaAdapterFactory
.
getReferenceLink
(
0xb802a05692a24fbc
L
,
0x902ef8e5004c331f
L
,
0x7980b687ac7456fe
L
,
0x7980b687ac7456ff
L
,
"parent"
));
this
.
conceptFeatures
.
add
(
MetaAdapterFactory
.
getContainmentLink
(
0x6b642eaa1043424a
L
,
0x9e0949eb41607114
L
,
0x1a4a252762eb9
2d7
L
,
0x1a4a252762eb9
2dc
L
,
"t"
));
this
.
conceptFeatures
.
add
(
MetaAdapterFactory
.
getContainmentLink
(
0x6b642eaa1043424a
L
,
0x9e0949eb41607114
L
,
0x1a4a252762eb9
37f
L
,
0x1a4a252762eb9
384
L
,
"t"
));
this
.
conceptFeatures
.
add
(
MetaAdapterFactory
.
getContainmentLink
(
0x6b642eaa1043424a
L
,
0x9e0949eb41607114
L
,
0x1a4a252762eb937f
L
,
0x1a4a252762eb93d5
L
,
"ty"
));
this
.
conceptFeatures
.
add
(
MetaAdapterFactory
.
getContainmentLink
(
0x6b642eaa1043424a
L
,
0x9e0949eb41607114
L
,
0x1a4a252762eb9312
L
,
0x1a4a252762eb9317
L
,
"t1"
));
this
.
conceptFeatures
.
add
(
MetaAdapterFactory
.
getContainmentLink
(
0x6b642eaa1043424a
L
,
0x9e0949eb41607114
L
,
0x1a4a252762eb936b
L
,
0x1a4a252762eb9378
L
,
"t2"
));
this
.
conceptFeatures
.
add
(
MetaAdapterFactory
.
getContainmentLink
(
0x6b642eaa1043424a
L
,
0x9e0949eb41607114
L
,
0x9229981a3b8f61c
L
,
0x9229981a3b8f621
L
,
"t"
));
this
.
conceptFeatures
.
add
(
MetaAdapterFactory
.
getContainmentLink
(
0x6b642eaa1043424a
L
,
0x9e0949eb41607114
L
,
0x2c4ed3ae43d50d92
L
,
0x2c4ed3ae43d50da6
L
,
"t"
));
this
.
conceptFeatures
.
add
(
MetaAdapterFactory
.
getContainmentLink
(
0x6b642eaa1043424a
L
,
0x9e0949eb41607114
L
,
0x1a4a252762eb933a
L
,
0x1a4a252762eb934e
L
,
"bound"
));
this
.
conceptFeatures
.
add
(
MetaAdapterFactory
.
getContainmentLink
(
0x6b642eaa1043424a
L
,
0x9e0949eb41607114
L
,
0x1a4a252762eb936b
L
,
0x1a4a252762eb9374
L
,
"t1"
));
this
.
conceptFeatures
.
add
(
MetaAdapterFactory
.
getContainmentLink
(
0x6b642eaa1043424a
L
,
0x9e0949eb41607114
L
,
0x9229981a3b8f573
L
,
0x9229981a3b8f58b
L
,
"entries"
));
this
.
conceptFeatures
.
add
(
MetaAdapterFactory
.
getContainmentLink
(
0x6b642eaa1043424a
L
,
0x9e0949eb41607114
L
,
0x1a4a252762eb9390
L
,
0x1a4a252762eb9399
L
,
"ty2"
));
this
.
conceptFeatures
.
add
(
MetaAdapterFactory
.
getContainmentLink
(
0x6b642eaa1043424a
L
,
0x9e0949eb41607114
L
,
0x1fd8e2cf9df802c6
L
,
0x1fd8e2cf9df802cb
L
,
"elems"
));
this
.
conceptFeatures
.
add
(
MetaAdapterFactory
.
getContainmentLink
(
0x6b642eaa1043424a
L
,
0x9e0949eb41607114
L
,
0x1fd8e2cf9df802cf
L
,
0x1fd8e2cf9df802d4
L
,
"ty"
));
this
.
conceptFeatures
.
add
(
MetaAdapterFactory
.
getContainmentLink
(
0x6b642eaa1043424a
L
,
0x9e0949eb41607114
L
,
0x1a4a252762eb9322
L
,
0x1a4a252762eb9336
L
,
"t"
));
this
.
conceptFeatures
.
add
(
MetaAdapterFactory
.
getContainmentLink
(
0x6b642eaa1043424a
L
,
0x9e0949eb41607114
L
,
0x1a4a252762eb9390
L
,
0x1a4a252762eb9395
L
,
"ty1"
));
this
.
conceptFeatures