Class BaseFieldReference
java.lang.Object
io.github.mmm.code.base.item.BaseItem
io.github.mmm.code.base.expression.BaseExpression
io.github.mmm.code.base.expression.BaseMemberReference
io.github.mmm.code.base.expression.BaseFieldReference
- All Implemented Interfaces:
io.github.mmm.code.api.expression.CodeExpression, io.github.mmm.code.api.expression.CodeFieldReference, io.github.mmm.code.api.expression.CodeMemberReference, io.github.mmm.code.api.item.CodeItem
public class BaseFieldReference
extends BaseMemberReference
implements io.github.mmm.code.api.expression.CodeFieldReference
Base implementation of
CodeFieldReference.- Since:
- 1.0.0
- Author:
- Joerg Hohwiller (hohwille at users.sourceforge.net)
-
Field Summary
Fields inherited from interface io.github.mmm.code.api.item.CodeItem
DEFAULT_INDENT, DEFAULT_NEWLINE -
Constructor Summary
ConstructorsConstructorDescriptionBaseFieldReference(io.github.mmm.code.api.expression.CodeExpression expression, BaseField field) The constructor.BaseFieldReference(io.github.mmm.code.api.type.CodeGenericType type, BaseField field) The constructor. -
Method Summary
Modifier and TypeMethodDescriptionprotected voiddoWrite(Appendable sink, String newline, String defaultIndent, String currentIndent, io.github.mmm.code.api.language.CodeLanguage language) io.github.mmm.code.api.expression.CodeConstantevaluate()static BaseFieldReferenceMethods inherited from class BaseMemberReference
getExpression, getTypeMethods inherited from class BaseItem
getOwningType, getSourceCode, getSpaces, toString, writeMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface io.github.mmm.code.api.item.CodeItem
getLanguage, getSourceCode, write, write, write, write, write, writeMethods inherited from interface io.github.mmm.code.api.expression.CodeMemberReference
getExpression, getType
-
Constructor Details
-
BaseFieldReference
public BaseFieldReference(io.github.mmm.code.api.expression.CodeExpression expression, BaseField field) The constructor.- Parameters:
expression- theexpression.field- the referencedfield.
-
BaseFieldReference
-
-
Method Details
-
getMember
- Specified by:
getMemberin interfaceio.github.mmm.code.api.expression.CodeFieldReference- Specified by:
getMemberin interfaceio.github.mmm.code.api.expression.CodeMemberReference- Specified by:
getMemberin classBaseMemberReference
-
evaluate
public io.github.mmm.code.api.expression.CodeConstant evaluate()- Specified by:
evaluatein interfaceio.github.mmm.code.api.expression.CodeExpression
-
doWrite
protected void doWrite(Appendable sink, String newline, String defaultIndent, String currentIndent, io.github.mmm.code.api.language.CodeLanguage language) throws IOException - Overrides:
doWritein classBaseMemberReference- Parameters:
sink- theAppendablewhere toappendthe code from thisCodeItem.newline- the newlineString.defaultIndent- theStringused for indentation (e.g. a number of spaces to insert per indent level).currentIndent- the current indent (number of spaces). Initially the empty string (""). Before a recursion thedefaultIndentwill be appended.language- theCodeLanguageto use.- Throws:
IOException- if thrown byAppendable.- See Also:
-
of
- Parameters:
field- theBaseFieldto reference.- Returns:
- a new instance of
BaseFieldReferencefor the givenBaseField.
-