package org.jetbrains.ether.dependencyView; import org.jetbrains.ether.RW; import org.objectweb.asm.Type; import java.io.BufferedReader; import java.io.BufferedWriter; import java.util.Set; /** * Created by IntelliJ IDEA. * User: db * Date: 01.02.11 * Time: 4:56 * To change this template use File | Settings | File Templates. */ public class FieldRepr extends ProtoMember { public void updateClassUsages(final Set<UsageRepr.Usage> s) { type.updateClassUsages(s); } public FieldRepr(final int a, final String n, final String d, final String s, final Object v) { super(a, s, StringCache.get(n), TypeRepr.getType(d), v); } public FieldRepr(final BufferedReader r) { super(r); } @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; final FieldRepr fieldRepr = (FieldRepr) o; return name.equals(fieldRepr.name); } @Override public int hashCode() { return 31 * name.hashCode(); } public static RW.Reader<FieldRepr> reader = new RW.Reader<FieldRepr>() { public FieldRepr read(final BufferedReader r) { return new FieldRepr(r); } }; public UsageRepr.Usage createUsage (final StringCache.S owner) { return UsageRepr.createFieldUsage(name.value, owner.value, type.getDescr()); } public UsageRepr.Usage createAssignUsage (final StringCache.S owner) { return UsageRepr.createFieldAssignUsage(name.value, owner.value, type.getDescr()); } }