From 19a77fbb472592e116f2f6654657eeec81d40b18 Mon Sep 17 00:00:00 2001 From: gegy1000 Date: Sat, 16 Mar 2019 09:45:42 +0200 Subject: Index lambda local variables to correct declaring method --- .../representation/ProcyonEntryFactory.java | 39 ---------------------- .../representation/entry/FieldDefEntry.java | 9 +++++ .../representation/entry/MethodDefEntry.java | 9 +++++ 3 files changed, 18 insertions(+), 39 deletions(-) delete mode 100644 src/main/java/cuchaz/enigma/translation/representation/ProcyonEntryFactory.java (limited to 'src/main/java/cuchaz/enigma/translation/representation') diff --git a/src/main/java/cuchaz/enigma/translation/representation/ProcyonEntryFactory.java b/src/main/java/cuchaz/enigma/translation/representation/ProcyonEntryFactory.java deleted file mode 100644 index a9ec5fa..0000000 --- a/src/main/java/cuchaz/enigma/translation/representation/ProcyonEntryFactory.java +++ /dev/null @@ -1,39 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2015 Jeff Martin. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the GNU Lesser General Public - * License v3.0 which accompanies this distribution, and is available at - * http://www.gnu.org/licenses/lgpl.html - *

- * Contributors: - * Jeff Martin - initial API and implementation - ******************************************************************************/ - -package cuchaz.enigma.translation.representation; - -import com.strobel.assembler.metadata.FieldDefinition; -import com.strobel.assembler.metadata.MemberReference; -import com.strobel.assembler.metadata.MethodDefinition; -import cuchaz.enigma.translation.representation.entry.*; - -public class ProcyonEntryFactory { - public FieldEntry getFieldEntry(MemberReference def) { - ClassEntry classEntry = new ClassEntry(def.getDeclaringType().getInternalName()); - return new FieldEntry(classEntry, def.getName(), new TypeDescriptor(def.getErasedSignature())); - } - - public FieldDefEntry getFieldDefEntry(FieldDefinition def) { - ClassEntry classEntry = new ClassEntry(def.getDeclaringType().getInternalName()); - return new FieldDefEntry(classEntry, def.getName(), new TypeDescriptor(def.getErasedSignature()), Signature.createTypedSignature(def.getSignature()), new AccessFlags(def.getModifiers())); - } - - public MethodEntry getMethodEntry(MemberReference def) { - ClassEntry classEntry = new ClassEntry(def.getDeclaringType().getInternalName()); - return new MethodEntry(classEntry, def.getName(), new MethodDescriptor(def.getErasedSignature())); - } - - public MethodDefEntry getMethodDefEntry(MethodDefinition def) { - ClassEntry classEntry = new ClassEntry(def.getDeclaringType().getInternalName()); - return new MethodDefEntry(classEntry, def.getName(), new MethodDescriptor(def.getErasedSignature()), Signature.createSignature(def.getSignature()), new AccessFlags(def.getModifiers())); - } -} diff --git a/src/main/java/cuchaz/enigma/translation/representation/entry/FieldDefEntry.java b/src/main/java/cuchaz/enigma/translation/representation/entry/FieldDefEntry.java index 2703301..74176fd 100644 --- a/src/main/java/cuchaz/enigma/translation/representation/entry/FieldDefEntry.java +++ b/src/main/java/cuchaz/enigma/translation/representation/entry/FieldDefEntry.java @@ -12,6 +12,7 @@ package cuchaz.enigma.translation.representation.entry; import com.google.common.base.Preconditions; +import com.strobel.assembler.metadata.FieldDefinition; import cuchaz.enigma.translation.Translator; import cuchaz.enigma.translation.mapping.EntryMapping; import cuchaz.enigma.translation.representation.AccessFlags; @@ -36,6 +37,14 @@ public class FieldDefEntry extends FieldEntry implements DefEntry { return new FieldDefEntry(owner, name, new TypeDescriptor(desc), Signature.createTypedSignature(signature), new AccessFlags(access)); } + public static FieldDefEntry parse(FieldDefinition definition) { + ClassEntry owner = ClassEntry.parse(definition.getDeclaringType()); + TypeDescriptor descriptor = new TypeDescriptor(definition.getErasedSignature()); + Signature signature = Signature.createTypedSignature(definition.getSignature()); + AccessFlags access = new AccessFlags(definition.getModifiers()); + return new FieldDefEntry(owner, definition.getName(), descriptor, signature, access); + } + @Override public AccessFlags getAccess() { return access; diff --git a/src/main/java/cuchaz/enigma/translation/representation/entry/MethodDefEntry.java b/src/main/java/cuchaz/enigma/translation/representation/entry/MethodDefEntry.java index 5184244..bbcaf23 100644 --- a/src/main/java/cuchaz/enigma/translation/representation/entry/MethodDefEntry.java +++ b/src/main/java/cuchaz/enigma/translation/representation/entry/MethodDefEntry.java @@ -12,6 +12,7 @@ package cuchaz.enigma.translation.representation.entry; import com.google.common.base.Preconditions; +import com.strobel.assembler.metadata.MethodDefinition; import cuchaz.enigma.translation.Translator; import cuchaz.enigma.translation.mapping.EntryMapping; import cuchaz.enigma.translation.representation.AccessFlags; @@ -36,6 +37,14 @@ public class MethodDefEntry extends MethodEntry implements DefEntry return new MethodDefEntry(owner, name, new MethodDescriptor(desc), Signature.createSignature(signature), new AccessFlags(access)); } + public static MethodDefEntry parse(MethodDefinition definition) { + ClassEntry classEntry = ClassEntry.parse(definition.getDeclaringType()); + MethodDescriptor descriptor = new MethodDescriptor(definition.getErasedSignature()); + Signature signature = Signature.createSignature(definition.getSignature()); + AccessFlags access = new AccessFlags(definition.getModifiers()); + return new MethodDefEntry(classEntry, definition.getName(), descriptor, signature, access); + } + @Override public AccessFlags getAccess() { return access; -- cgit v1.2.3