I tried to create an AST from my big project (approximately 300k LOC). I did that in the following way:
for( file <- files(project)){
map[Statement,map[str, list[int]]] duplicate = codeDuplicateMap(createAstFromFile(file, true));
for(dup <- duplicate) {
if(dup in dups) {
dups[dup] = dups[dup] + duplicate[dup];
} else {
dups[dup] = duplicate[dup];
}
}
}
Where project
is an M3 project model, but I keep getting |plugin://rascal/src/org/rascalmpl/library/lang/java/m3/AST.rsc|(7496,375,<201,0>,<208,99>): Java("StackOverflowError","")
I also tried to did it with createAstFromEclipseProject('project://project-location')
, but that resulted in the same error.
How can I prevent this?
EDIT: Sorry, but both your suggestions don't seem to help. It still throws a Stackoverflow Error.
|plugin://rascal/src/org/rascalmpl/library/lang/java/m3/AST.rsc|(7496,375,<201,0>,<208,99>): Java("StackOverflowError","")
at java.util.HashMap.hash(|unknown:///HashMap.java|(0,0,<338,0>,<338,0>))
at java.util.HashMap.get(|unknown:///HashMap.java|(0,0,<556,0>,<556,0>))
at org.rascalmpl.value.type.TypeStore.lookupConstructor(|unknown:///TypeStore.java|(0,0,<485,0>,<485,0>))
at org.rascalmpl.value.type.TypeStore.lookupConstructor(|unknown:///TypeStore.java|(0,0,<547,0>,<547,0>))
I also increased my stack to 128m without any result either.