Skip to content

Commit

Permalink
Remove translation unit class
Browse files Browse the repository at this point in the history
  • Loading branch information
AbigailBuccaneer committed Jul 9, 2015
1 parent fb14c91 commit b877d4d
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 75 deletions.
41 changes: 0 additions & 41 deletions src/glslplugin/lang/elements/GLSLTranslationUnit.java

This file was deleted.

60 changes: 26 additions & 34 deletions src/glslplugin/structureview/GLSLFileTreeElement.java
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@

import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiFile;
import glslplugin.lang.elements.GLSLTranslationUnit;
import glslplugin.lang.elements.GLSLTypedElement;
import glslplugin.lang.elements.declarations.*;

Expand All @@ -45,48 +44,41 @@ protected void createChildren(PsiFile file) {
List<GLSLVariableDeclaration> variableDeclarations = new ArrayList<GLSLVariableDeclaration>();
List<GLSLFunctionDeclaration> functions = new ArrayList<GLSLFunctionDeclaration>();

PsiElement translationUnit = file.getFirstChild();
while (translationUnit != null && !(translationUnit instanceof GLSLTranslationUnit)) {
translationUnit = translationUnit.getNextSibling();
}

if (translationUnit != null) {
PsiElement[] baseNodes = translationUnit.getChildren();
for (PsiElement baseNode : baseNodes) {
if (baseNode instanceof GLSLVariableDeclaration) {
final GLSLVariableDeclaration declaration = (GLSLVariableDeclaration) baseNode;
//TODO Check if this accounts for shortcomings of getTypeSpecifierNode() (probably not)
final GLSLTypeSpecifier typeSpecifier = declaration.getTypeSpecifierNode();
PsiElement[] baseNodes = file.getChildren();
for (PsiElement baseNode : baseNodes) {
if (baseNode instanceof GLSLVariableDeclaration) {
final GLSLVariableDeclaration declaration = (GLSLVariableDeclaration) baseNode;
//TODO Check if this accounts for shortcomings of getTypeSpecifierNode() (probably not)
final GLSLTypeSpecifier typeSpecifier = declaration.getTypeSpecifierNode();

if(typeSpecifier != null){
final GLSLTypedElement typedef = typeSpecifier.getTypeDefinition();
if (typedef instanceof GLSLTypeDefinition) {
final GLSLTypeDefinition definition = (GLSLTypeDefinition) typedef;
definitions.add(definition);
}
if (typeSpecifier != null) {
final GLSLTypedElement typedef = typeSpecifier.getTypeDefinition();
if (typedef != null) {
final GLSLTypeDefinition definition = (GLSLTypeDefinition) typedef;
definitions.add(definition);
}

if (declaration.getDeclarators().length > 0) {
variableDeclarations.add(declaration);
}
if (declaration.getDeclarators().length > 0) {
variableDeclarations.add(declaration);
}
} else if (baseNode instanceof GLSLFunctionDeclaration) {
functions.add((GLSLFunctionDeclaration) baseNode);
}
} else if (baseNode instanceof GLSLFunctionDeclaration) {
functions.add((GLSLFunctionDeclaration) baseNode);
}
}

for (GLSLTypeDefinition definition : definitions) {
addChild(new GLSLStructTreeElement(definition));
}
for (GLSLTypeDefinition definition : definitions) {
addChild(new GLSLStructTreeElement(definition));
}

for (GLSLVariableDeclaration declaration : variableDeclarations) {
for (GLSLDeclarator declarator : declaration.getDeclarators()) {
addChild(new GLSLDeclaratorTreeElement(declarator));
}
for (GLSLVariableDeclaration declaration : variableDeclarations) {
for (GLSLDeclarator declarator : declaration.getDeclarators()) {
addChild(new GLSLDeclaratorTreeElement(declarator));
}
}

for (GLSLFunctionDeclaration function : functions) {
addChild(new GLSLFunctionTreeElement((GLSLFunctionDeclarationImpl) function));
}
for (GLSLFunctionDeclaration function : functions) {
addChild(new GLSLFunctionTreeElement((GLSLFunctionDeclarationImpl) function));
}
}
}

0 comments on commit b877d4d

Please sign in to comment.