From 1e06faf0c4756c89b40ea1f23b1e41563cf0b3ec Mon Sep 17 00:00:00 2001 From: jeffcheasey88 <66554203+jeffcheasey88@users.noreply.github.com> Date: Wed, 23 Apr 2025 22:27:30 +0200 Subject: [PATCH] update query (base) --- PeerAtCodeParser.jar | Bin 215847 -> 221457 bytes src/dev/peerat/mapping/TreasureProcessor.java | 22 ++++++++++-------- .../providers/mysql/MySQlProvider.java | 5 +--- 3 files changed, 13 insertions(+), 14 deletions(-) diff --git a/PeerAtCodeParser.jar b/PeerAtCodeParser.jar index b4c0fe80db1fd8b615714f89ca301b61fa2c1c6a..be2cb50fa494f10af21e36a43f8d1ea341834404 100644 GIT binary patch delta 20505 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 delta 14842 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 diff --git a/src/dev/peerat/mapping/TreasureProcessor.java b/src/dev/peerat/mapping/TreasureProcessor.java index a6eb50c..68ad0a2 100644 --- a/src/dev/peerat/mapping/TreasureProcessor.java +++ b/src/dev/peerat/mapping/TreasureProcessor.java @@ -36,6 +36,8 @@ import dev.peerat.parser.java.JavaParser; import dev.peerat.parser.java.operation.ReturnOperation; import dev.peerat.parser.java.value.InstanceValue; import dev.peerat.parser.java.value.StaticValue; +import dev.peerat.parser.java.visitor.JavaVisitor; +import dev.peerat.parser.visitor.Operator; public class TreasureProcessor extends AbstractProcessor{ @@ -77,16 +79,16 @@ public class TreasureProcessor extends AbstractProcessor{ } Provider provider = null; for(Entry classes : map.entrySet()){ - List values = new ArrayList<>(); - classes.getValue().findAll((e) -> { - if(e instanceof InstanceValue){ - InstanceValue iv = (InstanceValue)e; - return iv.getToken().getValue().equals("Ship()"); //can also be dev.peerat.mapping.Ship - } - return false; - }, values); - if(values.size() < 1) continue; - InstanceValue ship = (InstanceValue)values.get(0); + List ships = Operator.or( + JavaVisitor.allValue() //check if value is instance value for dev.peerat.mapping.Ship + , + JavaVisitor.allImport() //check if import for dev.peerat.mapping.Ship AND THEN instance value for dev.peerat.mapping.Ship OR Ship. + ).visit(classes.getValue()).toList(); + if(ships.isEmpty()) continue; + + //TODO accept multiple instance of Ship + + InstanceValue ship = (InstanceValue)ships.get(0); String providerType = ((StaticValue)ship.getParameters().get(0)).getToken().getValue().replace("\"", ""); provider = ProviderManager.getInstance().getProvider(providerType); } diff --git a/src/dev/peerat/mapping/providers/mysql/MySQlProvider.java b/src/dev/peerat/mapping/providers/mysql/MySQlProvider.java index 98eaa1b..2bed7dd 100644 --- a/src/dev/peerat/mapping/providers/mysql/MySQlProvider.java +++ b/src/dev/peerat/mapping/providers/mysql/MySQlProvider.java @@ -91,10 +91,7 @@ public class MySQLProvider implements Provider{ for(MySQLRequestBuilder request : this.requests){ Function base = request.getFunction(); - JavaFunctionBuilder func = ofFunction(base.getReturnType().getValue(), "getter_"+base.getName().getValue()).setPublic(); - for(Variable params : base.getParameters()){ - func.parameter(ofVariable(params.getType().getValue(), params.getName().getValue(), params.getValue())); - } + JavaFunctionBuilder func = ofFunction().normalizeSignature(base).setName("getter_"+base.getName().getValue()).setPublic(); clazz.element( func.element( ofOperation("try{"