return GlobalWriteNode.factory.namespace_name_value_(_namespace, _anObject.variable().name(), ((Expression) this.visit_(_anObject.value())));
}
@Override
public Expression visitVariableNode_(final VariableNode _anObject) {
final VariableDeclarationNode _instVar;
if (st.gravel.support.jvm.StringExtensions.equals_(_anObject.name(), "self")) {
return SelfNode.factory.basicNew();
}
if (st.gravel.support.jvm.StringExtensions.equals_(_anObject.name(), "super")) {
return SuperNode.factory.reference_(_ownerReference);
}
if (this.includesLocalName_(_anObject.name())) {
return LocalReadNode.factory.name_(_anObject.name());
}
_instVar = this.instVarAt_(_anObject.name());
if (_instVar != null) {
return FieldReadNode.factory.owner_field_type_(_owner, _instVar.name(), _instVar.type());
}
return GlobalReadNode.factory.namespace_name_(_namespace, _anObject.name());
}