Class BaseMemberReference

All Implemented Interfaces:
io.github.mmm.code.api.expression.CodeExpression, io.github.mmm.code.api.expression.CodeMemberReference, io.github.mmm.code.api.item.CodeItem
Direct Known Subclasses:
BaseFieldReference, BaseMethodInvocation

public abstract class BaseMemberReference extends BaseExpression implements io.github.mmm.code.api.expression.CodeMemberReference
Generic implementation of CodeMemberReference.
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

    Constructors
    Modifier
    Constructor
    Description
     
    BaseMemberReference(io.github.mmm.code.api.expression.CodeExpression expression)
    The constructor.
    protected
    BaseMemberReference(io.github.mmm.code.api.expression.CodeExpression expression, io.github.mmm.code.api.type.CodeGenericType type)
    The constructor.
     
    BaseMemberReference(io.github.mmm.code.api.type.CodeGenericType type)
    The constructor.
  • Method Summary

    Modifier and Type
    Method
    Description
    protected void
    doWrite(Appendable sink, String newline, String defaultIndent, String currentIndent, io.github.mmm.code.api.language.CodeLanguage language)
     
    io.github.mmm.code.api.expression.CodeExpression
     
    abstract BaseMember
     
    io.github.mmm.code.api.type.CodeGenericType
     

    Methods inherited from class BaseItem

    getOwningType, getSourceCode, getSpaces, toString, write

    Methods inherited from class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

    Methods inherited from interface io.github.mmm.code.api.expression.CodeExpression

    evaluate

    Methods inherited from interface io.github.mmm.code.api.item.CodeItem

    getLanguage, getSourceCode, write, write, write, write, write, write
  • Constructor Details

    • BaseMemberReference

      public BaseMemberReference(io.github.mmm.code.api.type.CodeGenericType type)
      The constructor.
      Parameters:
      type - the type.
    • BaseMemberReference

      public BaseMemberReference(io.github.mmm.code.api.expression.CodeExpression expression)
      The constructor.
      Parameters:
      expression - the expression.
    • BaseMemberReference

      protected BaseMemberReference(io.github.mmm.code.api.expression.CodeExpression expression, io.github.mmm.code.api.type.CodeGenericType type)
      The constructor.
      Parameters:
      expression - the expression.
      type - the type.
  • Method Details

    • getExpression

      public io.github.mmm.code.api.expression.CodeExpression getExpression()
      Specified by:
      getExpression in interface io.github.mmm.code.api.expression.CodeMemberReference
    • getType

      public io.github.mmm.code.api.type.CodeGenericType getType()
      Specified by:
      getType in interface io.github.mmm.code.api.expression.CodeMemberReference
    • getMember

      public abstract BaseMember getMember()
      Specified by:
      getMember in interface io.github.mmm.code.api.expression.CodeMemberReference
    • doWrite

      protected void doWrite(Appendable sink, String newline, String defaultIndent, String currentIndent, io.github.mmm.code.api.language.CodeLanguage language) throws IOException
      Specified by:
      doWrite in class BaseItem
      Parameters:
      sink - the Appendable where to append the code from this CodeItem.
      newline - the newline String.
      defaultIndent - the String used 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 the defaultIndent will be appended.
      language - the CodeLanguage to use.
      Throws:
      IOException - if thrown by Appendable.
      See Also:
      • CodeItem.write(Appendable, String, String)