From 2aee8523c73969af96251f1963bac705d2e7885e Mon Sep 17 00:00:00 2001 From: Graham Date: Wed, 5 Aug 2020 12:46:34 +0100 Subject: [PATCH] Optimise CharLiteralTransformer calculateResolveType() is much more expensive than checking if an expression is an integer literal, so swap the conditions around. Signed-off-by: Graham --- .../dev/openrs2/deob/ast/transform/CharLiteralTransformer.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/deob-ast/src/main/java/dev/openrs2/deob/ast/transform/CharLiteralTransformer.kt b/deob-ast/src/main/java/dev/openrs2/deob/ast/transform/CharLiteralTransformer.kt index e5c085eb..909fdaf2 100644 --- a/deob-ast/src/main/java/dev/openrs2/deob/ast/transform/CharLiteralTransformer.kt +++ b/deob-ast/src/main/java/dev/openrs2/deob/ast/transform/CharLiteralTransformer.kt @@ -41,9 +41,9 @@ class CharLiteralTransformer : Transformer() { } private fun convertToCharLiteral(a: Expression, b: Expression) { - if (a.calculateResolvedType() != ResolvedPrimitiveType.CHAR) { + if (b !is IntegerLiteralExpr) { return - } else if (b !is IntegerLiteralExpr) { + } else if (a.calculateResolvedType() != ResolvedPrimitiveType.CHAR) { return }