<s> package org . eclipse . jdt . internal . compiler . ast ; import org . eclipse . jdt . internal . compiler . ASTVisitor ; import org . eclipse . jdt . internal . compiler . codegen . * ; import org . eclipse . jdt . internal . compiler . flow . FlowInfo ; import org . eclipse . jdt . internal . compiler . impl . Constant ; import org . eclipse . jdt . internal . compiler . lookup . * ; public class NullLiteral extends MagicLiteral { static final char [ ] source = { 'n' , 'u' , 'l' , 'l' } ; public NullLiteral ( int s , int e ) { super ( s , e ) ; } public void computeConstant ( ) { this . constant = Constant . NotAConstant ; } public void generateCode ( BlockScope currentScope , CodeStream codeStream , boolean valueRequired ) { int pc = codeStream . position ; if ( valueRequired ) { codeStream . aconst_null ( ) ; codeStream . generateImplicitConversion ( this . implicitConversion ) ; } codeStream . recordPositionsFrom ( pc , this . sourceStart ) ; } public TypeBinding literalType ( BlockScope scope ) { return TypeBinding . NULL ; } public int nullStatus ( FlowInfo flowInfo ) { return FlowInfo . NULL ; } public Object reusableJSRTarget ( ) { return TypeBinding . NULL ; } public char [ ] source ( ) { return source ; } public void traverse ( ASTVisitor visitor , BlockScope scope ) { visitor . visit ( this , scope ) ; visitor . endVisit ( this , scope ) ; } } </s>