File tree Expand file tree Collapse file tree 2 files changed +27
-2
lines changed
src/main/java/org/luapp/language Expand file tree Collapse file tree 2 files changed +27
-2
lines changed Original file line number Diff line number Diff line change 11package org .luapp .language .handlers ;
22
33import org .antlr .v4 .runtime .ParserRuleContext ;
4+ import org .antlr .v4 .runtime .tree .ParseTree ;
5+ import org .antlr .v4 .runtime .tree .TerminalNodeImpl ;
46import org .luapp .language .generator .luappParser ;
57import org .luapp .language .listeners .LuaPPListener ;
68
@@ -17,6 +19,29 @@ public void onSetManager() {
1719
1820 @ Override
1921 public void onEnterContext (ParserRuleContext enterContext ) {
22+ luappParser .ClassgetsetContext ctx = (luappParser .ClassgetsetContext )enterContext ;
23+
24+ ParseTree name = ctx .getChild (0 );
25+ String nameText = name .getText ();
26+
27+ for (int i =2 ; i < ctx .getChildCount (); i ++) {
28+ ParseTree getset = ctx .getChild (i );
29+ if (getset == null ){
30+ return ;
31+ }
32+ if (getset instanceof TerminalNodeImpl ) continue ;
33+ if (((ParserRuleContext )getset ).getRuleIndex () == luappParser .RULE_classgetorset ){
34+ String getSet = getset .getText ();
35+ if (getSet .equals ("get" )){
36+ this .addToLuaPPResult ("function " + this .getLuaPP ().currentClass + ":get_" + nameText + "()" +
37+ "\n \t return self." + nameText + "\n end" );
38+ }else if (getSet .equals ("set" )){
39+ this .addToLuaPPResult ("function " + this .getLuaPP ().currentClass + ":set_" + nameText + "(obj)" +
40+ "\n \t self." + nameText + " = obj\n end" );
41+ }
42+ }
43+ }
44+
2045
2146 }
2247
Original file line number Diff line number Diff line change @@ -424,12 +424,12 @@ public void exitClassgetorset(luappParser.ClassgetorsetContext ctx) {
424424
425425 @ Override
426426 public void enterClassgetset (luappParser .ClassgetsetContext ctx ) {
427-
427+ Main . luaPPInstance . handleEnterContext ( ctx );
428428 }
429429
430430 @ Override
431431 public void exitClassgetset (luappParser .ClassgetsetContext ctx ) {
432-
432+ Main . luaPPInstance . handleExitContext ( ctx );
433433 }
434434
435435 @ Override
You can’t perform that action at this time.
0 commit comments