1683012de2a3a28358e848f8b145d462eb8b322baFederico Tomassetti/* 2683012de2a3a28358e848f8b145d462eb8b322baFederico Tomassetti * Copyright 2016 Federico Tomassetti 3683012de2a3a28358e848f8b145d462eb8b322baFederico Tomassetti * 4683012de2a3a28358e848f8b145d462eb8b322baFederico Tomassetti * Licensed under the Apache License, Version 2.0 (the "License"); 5683012de2a3a28358e848f8b145d462eb8b322baFederico Tomassetti * you may not use this file except in compliance with the License. 6683012de2a3a28358e848f8b145d462eb8b322baFederico Tomassetti * You may obtain a copy of the License at 7683012de2a3a28358e848f8b145d462eb8b322baFederico Tomassetti * 8683012de2a3a28358e848f8b145d462eb8b322baFederico Tomassetti * http://www.apache.org/licenses/LICENSE-2.0 9683012de2a3a28358e848f8b145d462eb8b322baFederico Tomassetti * 10683012de2a3a28358e848f8b145d462eb8b322baFederico Tomassetti * Unless required by applicable law or agreed to in writing, software 11683012de2a3a28358e848f8b145d462eb8b322baFederico Tomassetti * distributed under the License is distributed on an "AS IS" BASIS, 12683012de2a3a28358e848f8b145d462eb8b322baFederico Tomassetti * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13683012de2a3a28358e848f8b145d462eb8b322baFederico Tomassetti * See the License for the specific language governing permissions and 14683012de2a3a28358e848f8b145d462eb8b322baFederico Tomassetti * limitations under the License. 15683012de2a3a28358e848f8b145d462eb8b322baFederico Tomassetti */ 16683012de2a3a28358e848f8b145d462eb8b322baFederico Tomassetti 179c53c2cbc607ea694438ade8630be0c155a33162Federico Tomassettipackage com.github.javaparser.symbolsolver.model.resolution; 182568d9ebe91ceb0a13c98b16f99593cd22084efaFederico Tomassetti 19223fc7650a7a3b89b43d81160f40326aaeaa98f1Federico Tomassettiimport com.github.javaparser.resolution.declarations.ResolvedValueDeclaration; 20223fc7650a7a3b89b43d81160f40326aaeaa98f1Federico Tomassettiimport com.github.javaparser.resolution.types.ResolvedType; 212568d9ebe91ceb0a13c98b16f99593cd22084efaFederico Tomassetti 220a3e93449a018cb1652b44c302c8425f0582a09eFederico Tomassetti/** 23ecc1af475857cf3c62b3a07eb35ad080ed435deaFederico Tomassetti * Any type of value. 24ecc1af475857cf3c62b3a07eb35ad080ed435deaFederico Tomassetti * 250a3e93449a018cb1652b44c302c8425f0582a09eFederico Tomassetti * @author Federico Tomassetti 260a3e93449a018cb1652b44c302c8425f0582a09eFederico Tomassetti */ 272568d9ebe91ceb0a13c98b16f99593cd22084efaFederico Tomassettipublic class Value { 28223fc7650a7a3b89b43d81160f40326aaeaa98f1Federico Tomassetti private ResolvedType type; 292568d9ebe91ceb0a13c98b16f99593cd22084efaFederico Tomassetti private String name; 302568d9ebe91ceb0a13c98b16f99593cd22084efaFederico Tomassetti 31223fc7650a7a3b89b43d81160f40326aaeaa98f1Federico Tomassetti public Value(ResolvedType type, String name) { 3282eb44707b620803d424188a1eb8708fcaf093cbFederico Tomassetti this.type = type; 332568d9ebe91ceb0a13c98b16f99593cd22084efaFederico Tomassetti this.name = name; 342568d9ebe91ceb0a13c98b16f99593cd22084efaFederico Tomassetti } 352568d9ebe91ceb0a13c98b16f99593cd22084efaFederico Tomassetti 3615ac26bcc19e8bed431a35edd3e3c176d7d56355Federico Tomassetti /** 3715ac26bcc19e8bed431a35edd3e3c176d7d56355Federico Tomassetti * Create a Value from a ValueDeclaration. 3815ac26bcc19e8bed431a35edd3e3c176d7d56355Federico Tomassetti */ 39223fc7650a7a3b89b43d81160f40326aaeaa98f1Federico Tomassetti public static Value from(ResolvedValueDeclaration decl) { 40223fc7650a7a3b89b43d81160f40326aaeaa98f1Federico Tomassetti ResolvedType type = decl.getType(); 41ecc1af475857cf3c62b3a07eb35ad080ed435deaFederico Tomassetti return new Value(type, decl.getName()); 4249719b4acbe10e3714ceb4f7040acac34709f558Federico Tomassetti } 4349719b4acbe10e3714ceb4f7040acac34709f558Federico Tomassetti 441ff41bb586ec86c0887c3267f323542cbc629402Federico Tomassetti @Override 451ff41bb586ec86c0887c3267f323542cbc629402Federico Tomassetti public String toString() { 461ff41bb586ec86c0887c3267f323542cbc629402Federico Tomassetti return "Value{" + 471ff41bb586ec86c0887c3267f323542cbc629402Federico Tomassetti "typeUsage=" + type + 481ff41bb586ec86c0887c3267f323542cbc629402Federico Tomassetti ", name='" + name + '\'' + 491ff41bb586ec86c0887c3267f323542cbc629402Federico Tomassetti '}'; 501ff41bb586ec86c0887c3267f323542cbc629402Federico Tomassetti } 511ff41bb586ec86c0887c3267f323542cbc629402Federico Tomassetti 522568d9ebe91ceb0a13c98b16f99593cd22084efaFederico Tomassetti public String getName() { 532568d9ebe91ceb0a13c98b16f99593cd22084efaFederico Tomassetti return name; 542568d9ebe91ceb0a13c98b16f99593cd22084efaFederico Tomassetti } 552568d9ebe91ceb0a13c98b16f99593cd22084efaFederico Tomassetti 56223fc7650a7a3b89b43d81160f40326aaeaa98f1Federico Tomassetti public ResolvedType getType() { 5782eb44707b620803d424188a1eb8708fcaf093cbFederico Tomassetti return type; 582568d9ebe91ceb0a13c98b16f99593cd22084efaFederico Tomassetti } 592568d9ebe91ceb0a13c98b16f99593cd22084efaFederico Tomassetti 602568d9ebe91ceb0a13c98b16f99593cd22084efaFederico Tomassetti} 61