Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Sign in
  • E EMADL2CPP
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 64
    • Issues 64
    • List
    • Boards
    • Service Desk
    • Milestones
    • Iterations
    • Requirements
  • Merge requests 2
    • Merge requests 2
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
    • Test Cases
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Container Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Code review
    • Insights
    • Issue
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • monticore
  • EmbeddedMontiArcEmbeddedMontiArc
  • generators
  • EMADL2CPP
  • Issues
  • #16
Closed
Open
Issue created Nov 09, 2020 by Mattis Hoppe@mattis.hoppe

Generator cannot resolve port

I have 3 emadl files containing:

component Add{
	ports	
in Q num1,
in Q num2,
out Q erg;

implementation Math{
erg = num1 + num2;
}
	
}
component Add1{

	ports 

	in Q testin,
	out Q testout;

instance Add add;

connect testin -> add.num1;
connect testin -> add.num2;
connect add.erg -> testout;

}
component Add2{

	ports 

	in Q test1,
	out Q test2;

instance Add1 adder;

connect test1 -> adder.testin;
connect adder.testout -> test2;

}

Building Add and Add1 works just fine, but as soon as I try to build Add2 I get following Error-message:

[WARN]  name of connector's source/target does has two parts: instance.port, cannot resolve port
Exception in thread "main" java.lang.NullPointerException
	at de.monticore.lang.monticar.generator.cpp.converter.PortConverter.convertPortSymbolToVariable(PortConverter.java:59)
	at de.monticore.lang.monticar.generator.cpp.converter.PortConverter.convertPortSymbolToVariable(PortConverter.java:48)
	at de.monticore.lang.monticar.generator.cpp.converter.PortConverter.getVariableForPortSymbol(PortConverter.java:33)
	at de.monticore.lang.monticar.generator.cpp.converter.ComponentConverterMethodGeneration.generateConnectors(ComponentConverterMethodGeneration.java:85)
	at de.monticore.lang.monticar.generator.cpp.converter.ComponentConverterMethodGeneration.generateExecuteMethodInner(ComponentConverterMethodGeneration.java:70)
	at de.monticore.lang.monticar.generator.cpp.converter.ComponentConverterMethodGeneration.generateExecuteMethod(ComponentConverterMethodGeneration.java:61)
	at de.monticore.lang.monticar.generator.cpp.converter.ComponentConverter.convertComponentSymbolToBluePrint(ComponentConverter.java:99)
	at de.monticore.lang.monticar.generator.cpp.converter.ComponentConverter.convertComponentSymbolToBluePrint(ComponentConverter.java:368)
	at de.monticore.lang.monticar.generator.cpp.LanguageUnitCPP.generateBluePrints(LanguageUnitCPP.java:64)
	at de.monticore.lang.monticar.generator.cpp.GeneratorCPP.generateString(GeneratorCPP.java:159)
	at de.monticore.lang.monticar.emadl.generator.EMADLGenerator.generateSubComponents(EMADLGenerator.java:636)
	at de.monticore.lang.monticar.emadl.generator.EMADLGenerator.generateComponent(EMADLGenerator.java:549)
	at de.monticore.lang.monticar.emadl.generator.EMADLGenerator.generateSubComponents(EMADLGenerator.java:648)
	at de.monticore.lang.monticar.emadl.generator.EMADLGenerator.generateComponent(EMADLGenerator.java:549)
	at de.monticore.lang.monticar.emadl.generator.EMADLGenerator.generateStrings(EMADLGenerator.java:395)
	at de.monticore.lang.monticar.emadl.generator.EMADLGenerator.generateFiles(EMADLGenerator.java:219)
	at de.monticore.lang.monticar.emadl.generator.EMADLGenerator.generate(EMADLGenerator.java:125)
	at de.monticore.lang.monticar.emadl.generator.EMADLGeneratorCli.runGenerator(EMADLGeneratorCli.java:148)
	at de.monticore.lang.monticar.emadl.generator.EMADLGeneratorCli.main(EMADLGeneratorCli.java:72)

Changing variablenames etc. does not work either. For building I am using version 0.4.3 of the generator

Assignee
Assign to
Time tracking