2016-03-23 8 views
1

Ich möchte den Standardwert einer Variablen erhalten.JDT - IVariableBinding - Wie bekomme ich die Variable Deklaration (Fragment)?

SimpleName varName = ...; // the use of a variable 
IVariableBinding declBinding = varName.getVariableDeclaration(); 
// ??? what is the next step? 

In Debugger sehe ich korrekte Deklaration (toString genannt wird), aber ich weiß nicht, wie tatsächliche Erklärung zu bekommen (ASTNode das wird VariableDeclarationFragment oder einfach nur VariableDeclaration eigentlich sein)?

+1

Woher bekommen Sie den SimpleName? – Subhankar

+0

@Subhankar, aus der generierten CompilationUnit vom ASTParser (Standardweg) – Ivan

Antwort

0

Sie können den Standardwert auf diese Weise erhalten:

SimpleName varName = ...; // the use of a variable  
IVariableBinding b= (IVariableBinding) node.resolveBinding(); 
Object o= b.getVariableDeclaration().getConstantValue(); 

Wenn die Variable ein primitiver Datentyp u-Sie erhalten den Wrapper Äquivalent der Typ ist.

+0

Es funktioniert nur, wenn die Deklaration 'final' Schlüsselwort enthält. Wenn nicht, gibt es für mich null zurück – Ivan