data: indexing java

* expanded appsettings to include java specific stuff
* added java indexer as separate project that can be build via its build script
* added dependencies for java indexer to the setup folder
* added license files for these dependencies.
* added sample project for java. this is just to test java on other machines and can be removed again in the future.
* the java parser test suite is currently uncommented because java is not running on every machine.
* added some more node types
* removed TokenComponentAccess::AccessType and replaced all its usages by using AccessKind
* moved access components from edges to nodes
* using recordReference of ParserClient for java
* removed recording access specifier of inheritance edges.
* added styles for new node types
This commit is contained in:
malte_langkabel
2016-08-04 09:20:13 +02:00
parent 05c06a6102
commit b072972b50
122 changed files with 7291 additions and 696 deletions
+147
View File
@@ -0,0 +1,147 @@
package io.coati;
import java.util.List;
public class JavaDeclName
{
private JavaDeclName m_parent = null;
private String m_name = "";
private List<String> m_typeParameterNames = null;
private JavaTypeName m_returnTypeName = null;
private List<JavaTypeName> m_parameterNames = null;
public static JavaDeclName fromDotSeparatedString(String s)
{
JavaDeclName declName = null;
int separatorIndex = s.lastIndexOf('.');
if (separatorIndex != -1)
{
declName = new JavaDeclName(s.substring(separatorIndex + 1));
declName.setParent(JavaDeclName.fromDotSeparatedString(s.substring(0, separatorIndex)));
}
else
{
declName = new JavaDeclName(s, null);
}
return declName;
}
public JavaDeclName(String name)
{
m_name = name;
}
public JavaDeclName(String name, JavaTypeName returnTypeName, List<JavaTypeName> parameterNames)
{
m_name = name;
m_returnTypeName = returnTypeName;
m_parameterNames = parameterNames;
}
public JavaDeclName(String name, List<String> typeParameterNames)
{
m_name = name;
m_typeParameterNames = typeParameterNames;
}
public JavaDeclName(String name, List<String> typeParameterNames, JavaTypeName returnTypeName, List<JavaTypeName> parameterNames)
{
m_name = name;
m_typeParameterNames = typeParameterNames;
m_returnTypeName = returnTypeName;
m_parameterNames = parameterNames;
}
public void setParent(JavaDeclName parent)
{
m_parent = parent;
}
public JavaDeclName getParent()
{
return m_parent;
}
public String getName()
{
return m_name;
}
public String toNameHierarchy()
{
String nameHierarchy = "";
if (m_parent != null)
{
nameHierarchy = m_parent.toNameHierarchy();
nameHierarchy += "\n";
}
nameHierarchy += m_name;
nameHierarchy += getTypeParameterString();
nameHierarchy += "\t";
if (m_returnTypeName != null)
{
nameHierarchy += m_returnTypeName.toString();
}
nameHierarchy += "\r";
nameHierarchy += getParameterString();
return nameHierarchy;
}
public String toString()
{
String string = "";
if (m_parent != null)
{
string = m_parent.toString();
string += ".";
}
string += m_name;
string += getTypeParameterString();
return string;
}
private String getParameterString()
{
String string = "";
if (m_parameterNames != null)
{
string += "(";
for (int i = 0; i < m_parameterNames.size(); i++)
{
if (i != 0)
{
string += ", ";
}
string += m_parameterNames.get(i).toString();
}
string += ")";
}
return string;
}
private String getTypeParameterString()
{
String string = "";
if (m_typeParameterNames != null && !m_typeParameterNames.isEmpty())
{
string += "<";
for (int i = 0; i < m_typeParameterNames.size(); i++)
{
if (i != 0)
{
string += ", ";
}
string += m_typeParameterNames.get(i);
}
string += ">";
}
return string;
}
}