Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
monticore
EmbeddedMontiArc
languages
EmbeddedMontiArc
Commits
6b5607b0
Commit
6b5607b0
authored
Aug 29, 2020
by
Malte Heithoff
Browse files
Update instance structure building
parent
ed7962be
Changes
10
Expand all
Hide whitespace changes
Inline
Side-by-side
src/main/java/de/monticore/lang/embeddedmontiarc/embeddedmontiarc/_symboltable/instanceStructure/EMAComponentInstanceBuilder.java
View file @
6b5607b0
This diff is collapsed.
Click to expand it.
src/main/java/de/monticore/lang/embeddedmontiarc/embeddedmontiarc/_symboltable/instanceStructure/EMAComponentInstanceSymbolCreator.java
View file @
6b5607b0
...
...
@@ -91,7 +91,11 @@ public class EMAComponentInstanceSymbolCreator {
createInstance
(
inst
.
getComponentType
(),
filters
,
inst
.
getComponentType
().
getReferencedSymbol
().
getResolutionDeclarationSymbols
(),
packageName
+
"."
+
inst
.
getName
())
.
setName
(
inst
.
getName
()).
setPackageName
(
packageName
)
.
addActualTypeArguments
(
inst
.
getComponentType
().
getFormalTypeParameters
(),
inst
.
getComponentType
().
getActualTypeArguments
()).
addResolvingFilters
(
filters
).
addResolutionDeclarationSymbols
(
inst
.
getComponentType
().
getResolutionDeclarationSymbols
()).
addParameters
(
inst
.
getComponentType
().
getReferencedSymbol
().
getParameters
()).
addArguments
(
inst
.
getComponentType
().
getReferencedSymbol
().
getArguments
()).
build
());
inst
.
getComponentType
().
getActualTypeArguments
())
.
addResolvingFilters
(
filters
)
.
addResolutionDeclarationSymbols
(
inst
.
getComponentType
().
getResolutionDeclarationSymbols
())
.
addParameters
(
inst
.
getComponentType
().
getReferencedSymbol
().
getParameters
())
.
addArguments
(
inst
.
getComponentType
().
getReferencedSymbol
().
getArguments
()).
build
());
Log
.
debug
(
inst
.
getInstanceInformation
().
get
().
getInstanceNumberForArgumentIndex
(
0
)
+
""
,
"InstanceInformation:"
);
Log
.
debug
(
inst
.
toString
(),
"ComponentInstance CreateInstance PostSub"
);
...
...
src/main/java/de/monticore/lang/embeddedmontiarc/helper/EMATypeHelper.java
View file @
6b5607b0
...
...
@@ -249,7 +249,7 @@ public class EMATypeHelper {
// typeArgumentSymbolReference.setStringRepresentation(TypesPrinter
// .printType(astTypeNoBound));
addTypeArgumentsToTypeSymbol
(
typeArgumentSymbolReference
,
astTypeNoBound
,
symbolTableCreator
);
typeArgumentSymbolReference
=
addTypeArgumentsToTypeSymbol
(
typeArgumentSymbolReference
,
astTypeNoBound
,
symbolTableCreator
);
actualTypeArguments
.
add
(
new
ActualTypeArgument
(
typeArgumentSymbolReference
));
}
else
{
...
...
src/main/java/de/monticore/lang/embeddedmontiarc/tagging/middleware/mqtt/MqttConnectionSymbol.java
View file @
6b5607b0
/**
* (c) https://github.com/MontiCore/monticore
*
* The license generally applicable for this project
* can be found under https://github.com/MontiCore/monticore.
*/
/* (c) https://github.com/MontiCore/monticore */
package
de.monticore.lang.embeddedmontiarc.tagging.middleware.mqtt
;
...
...
src/main/java/de/monticore/lang/embeddedmontiarc/tagging/middleware/mqtt/MqttConnectionSymbolCreator.java
View file @
6b5607b0
/**
* (c) https://github.com/MontiCore/monticore
*
* The license generally applicable for this project
* can be found under https://github.com/MontiCore/monticore.
*/
/* (c) https://github.com/MontiCore/monticore */
package
de.monticore.lang.embeddedmontiarc.tagging.middleware.mqtt
;
...
...
src/main/java/de/monticore/lang/embeddedmontiarc/tagging/middleware/someip/SomeIPConnectionSymbolCreator.java
View file @
6b5607b0
/**
* (c) https://github.com/MontiCore/monticore
*
* The license generally applicable for this project
* can be found under https://github.com/MontiCore/monticore.
*/
/* (c) https://github.com/MontiCore/monticore */
package
de.monticore.lang.embeddedmontiarc.tagging.middleware.someip
;
...
...
src/test/java/de/monticore/lang/embeddedmontiarc/ExpandedComponentInstanceTest.java
View file @
6b5607b0
...
...
@@ -195,6 +195,47 @@ public class ExpandedComponentInstanceTest extends AbstractSymtabTest {
assertEquals
(
"1"
,
symbol2
.
getTextualRepresentation
());
}
@Test
public
void
testExpandedParameterInstance
()
{
Scope
symTab
=
createSymTab
(
"src/test/resources"
);
EMAComponentInstanceSymbol
inst
=
symTab
.<
EMAComponentInstanceSymbol
>
resolve
(
"testing.expandedParameterInstanceInstance"
,
EMAComponentInstanceSymbol
.
KIND
).
orElse
(
null
);
assertNotNull
(
inst
);
assertEquals
(
2
,
inst
.
getSubComponents
().
size
());
assertEquals
(
1
,
inst
.
getSubComponents
().
iterator
().
next
().
getParameters
().
size
());
for
(
ASTExpression
astExpression
:
inst
.
getSubComponents
().
iterator
().
next
().
getArguments
())
{
Log
.
info
(
astExpression
.
toString
(),
"info:"
);
}
Iterator
<
EMAComponentInstanceSymbol
>
iterator
=
inst
.
getSubComponents
().
iterator
();
EMAComponentInstanceSymbol
sub1
=
iterator
.
next
();
EMAComponentInstanceSymbol
sub2
=
iterator
.
next
();
Iterator
<
EMAComponentInstanceSymbol
>
iterator1
=
sub1
.
getSubComponents
().
iterator
();
EMAComponentInstanceSymbol
sub11
=
iterator1
.
next
();
EMAComponentInstanceSymbol
sub12
=
iterator1
.
next
();
Iterator
<
EMAComponentInstanceSymbol
>
iterator2
=
sub2
.
getSubComponents
().
iterator
();
EMAComponentInstanceSymbol
sub21
=
iterator2
.
next
();
EMAComponentInstanceSymbol
sub22
=
iterator2
.
next
();
UnitNumberExpressionSymbol
symbol1
=
(
UnitNumberExpressionSymbol
)
sub1
.
getArguments
().
get
(
0
).
getSymbolOpt
().
get
();
UnitNumberExpressionSymbol
symbol2
=
(
UnitNumberExpressionSymbol
)
sub2
.
getArguments
().
get
(
0
).
getSymbolOpt
().
get
();
UnitNumberExpressionSymbol
symbol11
=
(
UnitNumberExpressionSymbol
)
sub11
.
getArguments
().
get
(
0
).
getSymbolOpt
().
get
();
UnitNumberExpressionSymbol
symbol12
=
(
UnitNumberExpressionSymbol
)
sub12
.
getArguments
().
get
(
0
).
getSymbolOpt
().
get
();
UnitNumberExpressionSymbol
symbol21
=
(
UnitNumberExpressionSymbol
)
sub21
.
getArguments
().
get
(
0
).
getSymbolOpt
().
get
();
UnitNumberExpressionSymbol
symbol22
=
(
UnitNumberExpressionSymbol
)
sub22
.
getArguments
().
get
(
0
).
getSymbolOpt
().
get
();
assertEquals
(
"2"
,
symbol1
.
getTextualRepresentation
());
assertEquals
(
"9"
,
symbol2
.
getTextualRepresentation
());
assertEquals
(
"2"
,
symbol11
.
getTextualRepresentation
());
assertEquals
(
"2"
,
symbol12
.
getTextualRepresentation
());
assertEquals
(
"9"
,
symbol21
.
getTextualRepresentation
());
assertEquals
(
"9"
,
symbol22
.
getTextualRepresentation
());
}
@Test
public
void
testAdaptableParameterInstance
()
{
Scope
symtab
=
createSymTab
(
"src/test/resources"
);
...
...
src/test/resources/testing/ExpandedParameter.ema
0 → 100644
View file @
6b5607b0
/*
(
c
)
https
://
github
.
com
/
MontiCore
/
monticore
*/
package
testing
;
component
ExpandedParameter
(
N1
default
){
}
src/test/resources/testing/ExpandedParameterInstance.ema
0 → 100644
View file @
6b5607b0
/*
(
c
)
https
://
github
.
com
/
MontiCore
/
monticore
*/
package
testing
;
component
ExpandedParameterInstance
(
N1
val
=
2
){
instance
ExpandedParameter
(
val
)
basicParameter
;
instance
ExpandedParameter
(
val
)
basicParameter2
;
}
src/test/resources/testing/ExpandedParameterInstanceInstance.ema
0 → 100644
View file @
6b5607b0
/*
(
c
)
https
://
github
.
com
/
MontiCore
/
monticore
*/
package
testing
;
component
ExpandedParameterInstanceInstance
{
instance
ExpandedParameterInstance
basicParameter
;
instance
ExpandedParameterInstance
(
9
)
basicParameter2
;
}
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment