File tree Expand file tree Collapse file tree 1 file changed +18
-8
lines changed Expand file tree Collapse file tree 1 file changed +18
-8
lines changed Original file line number Diff line number Diff line change @@ -87,9 +87,9 @@ class TreeVisitor : public clang::RecursiveASTVisitor<TreeVisitor> {
87
87
int i = 0 ;
88
88
for (const clang::EnumConstantDecl* en : enumdecl->enumerators ()){
89
89
if (name != " " ){
90
- declarations += " \t final val enum_" + name + " _" + en->getNameAsString () + " = " + std::to_string (i++) + " \n " ;
90
+ enums += " \t final val enum_" + name + " _" + en->getNameAsString () + " = " + std::to_string (i++) + " \n " ;
91
91
} else {
92
- declarations += " \t final val enum_" + en->getNameAsString () + " = " + std::to_string (i++) + " \n " ;
92
+ enums += " \t final val enum_" + en->getNameAsString () + " = " + std::to_string (i++) + " \n " ;
93
93
}
94
94
}
95
95
@@ -255,12 +255,22 @@ int main(int argc, const char **argv) {
255
255
256
256
int result = Tool.run (clang::tooling::newFrontendActionFactory<ExampleFrontendAction>().get ());
257
257
258
- llvm::outs () << " import scala.scalanative._\n " ;
259
- llvm::outs () << " import scala.scalanative.native.Nat._\n\n " ;
260
- llvm::outs () << " @native.link(\" " << lib << " \" )\n " ;
261
- llvm::outs () << " @native.extern\n object " << lib<< " {\n " ;
262
- llvm::outs () << declarations;
263
- llvm::outs () << " }\n " ;
258
+ llvm::outs () << " import scala.scalanative._\n "
259
+ << " import scala.scalanative.native.Nat._\n\n " ;
260
+
261
+ if (declarations != " " ){
262
+ llvm::outs () << " @native.link(\" " << lib << " \" )\n "
263
+ << " @native.extern\n "
264
+ << " object " << lib << " {\n "
265
+ << declarations
266
+ << " }\n\n " ;
267
+ }
268
+
269
+ if (enums != " " ){
270
+ llvm::outs () << " object " << lib << " Enums {\n "
271
+ << enums
272
+ << " }\n " ;
273
+ }
264
274
265
275
return result;
266
276
}
You can’t perform that action at this time.
0 commit comments