Value.java revision 82eb44707b620803d424188a1eb8708fcaf093cb
14a18b1ee8ed716d6e32e190f728f1eee57148872Federico Tomassettipackage me.tomassetti.symbolsolver.model.resolution; 22568d9ebe91ceb0a13c98b16f99593cd22084efaFederico Tomassetti 32568d9ebe91ceb0a13c98b16f99593cd22084efaFederico Tomassettiimport me.tomassetti.symbolsolver.model.declarations.ValueDeclaration; 482eb44707b620803d424188a1eb8708fcaf093cbFederico Tomassettiimport me.tomassetti.symbolsolver.model.typesystem.Type; 52568d9ebe91ceb0a13c98b16f99593cd22084efaFederico Tomassetti 60a3e93449a018cb1652b44c302c8425f0582a09eFederico Tomassetti/** 70a3e93449a018cb1652b44c302c8425f0582a09eFederico Tomassetti * @author Federico Tomassetti 80a3e93449a018cb1652b44c302c8425f0582a09eFederico Tomassetti */ 92568d9ebe91ceb0a13c98b16f99593cd22084efaFederico Tomassettipublic class Value { 109558e8fe683e293d2187ae07e2dd128cfe292daeFederico Tomassetti @Override 119558e8fe683e293d2187ae07e2dd128cfe292daeFederico Tomassetti public String toString() { 129558e8fe683e293d2187ae07e2dd128cfe292daeFederico Tomassetti return "Value{" + 1382eb44707b620803d424188a1eb8708fcaf093cbFederico Tomassetti "typeUsage=" + type + 149558e8fe683e293d2187ae07e2dd128cfe292daeFederico Tomassetti ", name='" + name + '\'' + 159558e8fe683e293d2187ae07e2dd128cfe292daeFederico Tomassetti ", field=" + field + 169558e8fe683e293d2187ae07e2dd128cfe292daeFederico Tomassetti '}'; 179558e8fe683e293d2187ae07e2dd128cfe292daeFederico Tomassetti } 182568d9ebe91ceb0a13c98b16f99593cd22084efaFederico Tomassetti 1982eb44707b620803d424188a1eb8708fcaf093cbFederico Tomassetti private Type type; 202568d9ebe91ceb0a13c98b16f99593cd22084efaFederico Tomassetti private String name; 212568d9ebe91ceb0a13c98b16f99593cd22084efaFederico Tomassetti private boolean field; 222568d9ebe91ceb0a13c98b16f99593cd22084efaFederico Tomassetti 2382eb44707b620803d424188a1eb8708fcaf093cbFederico Tomassetti public Value(Type type, String name, boolean field) { 2482eb44707b620803d424188a1eb8708fcaf093cbFederico Tomassetti this.type = type; 252568d9ebe91ceb0a13c98b16f99593cd22084efaFederico Tomassetti this.name = name; 262568d9ebe91ceb0a13c98b16f99593cd22084efaFederico Tomassetti this.field = field; 272568d9ebe91ceb0a13c98b16f99593cd22084efaFederico Tomassetti } 282568d9ebe91ceb0a13c98b16f99593cd22084efaFederico Tomassetti 2949719b4acbe10e3714ceb4f7040acac34709f558Federico Tomassetti public static Value from(ValueDeclaration decl, TypeSolver typeSolver) { 3082eb44707b620803d424188a1eb8708fcaf093cbFederico Tomassetti Type type = decl.getType(); 3182eb44707b620803d424188a1eb8708fcaf093cbFederico Tomassetti return new Value(type, decl.getName(), decl.isField()); 3249719b4acbe10e3714ceb4f7040acac34709f558Federico Tomassetti } 3349719b4acbe10e3714ceb4f7040acac34709f558Federico Tomassetti 342568d9ebe91ceb0a13c98b16f99593cd22084efaFederico Tomassetti public String getName() { 352568d9ebe91ceb0a13c98b16f99593cd22084efaFederico Tomassetti return name; 362568d9ebe91ceb0a13c98b16f99593cd22084efaFederico Tomassetti } 372568d9ebe91ceb0a13c98b16f99593cd22084efaFederico Tomassetti 382568d9ebe91ceb0a13c98b16f99593cd22084efaFederico Tomassetti public boolean isField() { 392568d9ebe91ceb0a13c98b16f99593cd22084efaFederico Tomassetti return field; 402568d9ebe91ceb0a13c98b16f99593cd22084efaFederico Tomassetti } 412568d9ebe91ceb0a13c98b16f99593cd22084efaFederico Tomassetti 4282eb44707b620803d424188a1eb8708fcaf093cbFederico Tomassetti public Type getUsage() { 4382eb44707b620803d424188a1eb8708fcaf093cbFederico Tomassetti return type; 442568d9ebe91ceb0a13c98b16f99593cd22084efaFederico Tomassetti } 452568d9ebe91ceb0a13c98b16f99593cd22084efaFederico Tomassetti 462568d9ebe91ceb0a13c98b16f99593cd22084efaFederico Tomassetti} 47