From 11db0324370a5896b2186dcb429b15bef5c75934 Mon Sep 17 00:00:00 2001 From: nosharp Date: Fri, 12 Jun 2020 21:17:27 +0100 Subject: [PATCH 1/2] Whoops. --- src/main/java/org/luapp/language/Main.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/luapp/language/Main.java b/src/main/java/org/luapp/language/Main.java index f27f0f7..4657825 100644 --- a/src/main/java/org/luapp/language/Main.java +++ b/src/main/java/org/luapp/language/Main.java @@ -10,7 +10,7 @@ public class Main { public static String output = ""; - public static boolean debug = true; + public static boolean debug = false; public static void main(String[] args){ String path = debug ? System.getProperty("user.dir") + "/src/main/java/org/luapp/language/test.lpp" : args[0]; From a09471538cfb56235eea9a5a6233bb06e1b019d1 Mon Sep 17 00:00:00 2001 From: nosharp Date: Fri, 12 Jun 2020 22:00:35 +0100 Subject: [PATCH 2/2] Fixes issue with the last of a token being truncated. --- src/main/java/org/luapp/language/Luapp.java | 2 +- .../language/handlers/ClassNameHandler.java | 2 - src/main/java/org/luapp/language/test.lpp | 32 ++++++++++---- src/main/java/org/luapp/language/test.lua | 44 +++++++++++++++---- 4 files changed, 61 insertions(+), 19 deletions(-) diff --git a/src/main/java/org/luapp/language/Luapp.java b/src/main/java/org/luapp/language/Luapp.java index 9424cfe..a8a34d6 100644 --- a/src/main/java/org/luapp/language/Luapp.java +++ b/src/main/java/org/luapp/language/Luapp.java @@ -99,7 +99,7 @@ public String getRaw(){ public String getRawFromContext(ParserRuleContext context){ int startToken = context.start.getStartIndex(); - int stopToken = context.stop.getStartIndex(); + int stopToken = context.stop.getStopIndex(); return context.getStart().getInputStream().getText(new Interval(startToken, stopToken)); } diff --git a/src/main/java/org/luapp/language/handlers/ClassNameHandler.java b/src/main/java/org/luapp/language/handlers/ClassNameHandler.java index dbabebd..b549eac 100644 --- a/src/main/java/org/luapp/language/handlers/ClassNameHandler.java +++ b/src/main/java/org/luapp/language/handlers/ClassNameHandler.java @@ -17,8 +17,6 @@ public void onSetManager() { @Override public void onEnterContext(ParserRuleContext enterContext) { -// StackTraceElement[] cause = Thread.currentThread().getStackTrace(); -// System.out.println(cause[2]); System.out.println(""); this.getLuaPP().currentClass = enterContext.getText(); String currentClass = enterContext.getText(); diff --git a/src/main/java/org/luapp/language/test.lpp b/src/main/java/org/luapp/language/test.lpp index 3fbe67c..e735081 100644 --- a/src/main/java/org/luapp/language/test.lpp +++ b/src/main/java/org/luapp/language/test.lpp @@ -1,8 +1,24 @@ -concommand.Add('test.lpp', function() - local thomas = cat.new("Thomas!") - thomas:setAge(50) - thomas:setName("Thomas v2") - print(thomas:isCat()) -- outputs -> true - print(thomas:getName()) -- outputs -> "Thomas v2" - print(thomas:getAge()) -- outputs -> 50 -end) \ No newline at end of file +class cat + name {get set} + age {get set} + type {get } + + constructor(name) + self.name = name + end + + function isCat() + return true + end + + static function coolCat() + return "coolCat!" + end +end + +local thomas = cat.new("Thomas") +thomas:setNge(50) +thomas:setName("Thomas v2") +print(thomas:isCat()) -- outputs -> true +print(thomas:getName()) -- outputs -> "Thomas v2" +print(thomas:getAge()) -- outputs -> 50 \ No newline at end of file diff --git a/src/main/java/org/luapp/language/test.lua b/src/main/java/org/luapp/language/test.lua index c0b0248..7b61cee 100644 --- a/src/main/java/org/luapp/language/test.lua +++ b/src/main/java/org/luapp/language/test.lua @@ -4,11 +4,39 @@ Don't remove this notice please https://github.com/LuaPlusPlus/lua-plus-plus ]]-- -concommand.Add('test.lpp', function() - local thomas = cat.new("Thomas!") - thomas:setAge(50) - thomas:setName("Thomas v2") - print(thomas:isCat()) -- outputs -> true - print(thomas:getName()) -- outputs -> "Thomas v2" - print(thomas:getAge()) -- outputs -> 50 -end) \ No newline at end of file +cat = {} +cat.__index = cat +function cat.new(name) + local self = {} + setmetatable(self, cat) + + self.name = name + return self +end +function cat:isCat() + return true + end +function cat.coolCat() + return "coolCat!" + end +function cat:getName() + return self.name +end +function cat:setName(obj) + self.name = obj +end +function cat:getAge() + return self.age +end +function cat:setAge(obj) + self.age = obj +end +function cat:getType() + return self.type +end +local thomas = cat.new("Thomas") +thomas:setNge(50) +thomas:setName("Thomas v2") +print(thomas:isCat()) +print(thomas:getName()) +print(thomas:getAge()) \ No newline at end of file