Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Sign in
E
EMADL2CPP
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 10
    • Issues 10
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
    • Iterations
  • Merge Requests 0
    • Merge Requests 0
  • Requirements
    • Requirements
    • List
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
    • Test Cases
  • Security & Compliance
    • Security & Compliance
    • Dependency List
    • License Compliance
  • Operations
    • Operations
    • Incidents
    • Environments
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • CI / CD
    • Code Review
    • Insights
    • Issue
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • monticore
    • EmbeddedMontiArc
  • generators
  • EMADL2CPP
  • Issues
  • #16

Closed
Open
Opened Nov 09, 2020 by Mattis Hoppe@mattis.hoppeDeveloper

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

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
None
Milestone
None
Assign milestone
Time tracking
None
Due date
None
Reference: monticore/EmbeddedMontiArc/generators/EMADL2CPP#16