package bluej.debugger;

import bluej.debugger.gentype.JavaType;
import bluej.utility.javafx.FXPlatformSupplier;
import com.sun.jdi.LocalVariable;
import threadchecker.OnThread;
import threadchecker.Tag;

import java.lang.reflect.Modifier;
import java.util.function.Supplier;


| Created by neil on 18/05/2017. | public class VarDisplayInfo { private final String access; private final String type; private final String name; private final String value; @OnThread(Tag.Any) private final Supplier<DebuggerObject> getObjectToInspect; @OnThread(Tag.FXPlatform) public VarDisplayInfo(DebuggerField field) { int mods = field.getModifiers(); String access = ""; if (Modifier.isPrivate(mods)) { access = "private"; } else if (Modifier.isPublic(mods)) { access = "public"; } else if (Modifier.isProtected(mods)) { access = "protected"; } if (field.isHidden()) { access += "(hidden)"; } this.access = access; type = field.getType().toString(true); name = field.getName(); value = field.getValueString(); if (field.isReferenceType() && ! field.isNull()) { getObjectToInspect = () -> field.getValueObject(null); } else { getObjectToInspect = null; } } @OnThread(Tag.FXPlatform) public VarDisplayInfo(JavaType vartype, LocalVariable var, String value, Supplier<DebuggerObject> getObjectToInspect) { access = null; type = vartype.toString(true); name = var.name(); this.value = value; this.getObjectToInspect = getObjectToInspect; } public String getAccess() { return access; } public String getType() { return type; } public String getName() { return name; } public String getValue() { return value; } @OnThread(Tag.Any) public Supplier getFetchObject() { return getObjectToInspect; } }
top, use, map, class VarDisplayInfo

.   VarDisplayInfo
.   VarDisplayInfo
.   getAccess
.   getType
.   getName
.   getValue
.   getFetchObject




106 neLoCode + 1 LoComm