Package org.openrewrite.csharp.tree
Class Cs.NewClass
java.lang.Object
org.openrewrite.csharp.tree.Cs.NewClass
- All Implemented Interfaces:
Cs,org.openrewrite.java.tree.Expression,org.openrewrite.java.tree.J,org.openrewrite.java.tree.Statement,org.openrewrite.Tree
- Enclosing interface:
- Cs
public static final class Cs.NewClass
extends Object
implements Cs, org.openrewrite.java.tree.Statement, org.openrewrite.java.tree.Expression
Represents a C# new class instantiation expression, which can optionally include an object/collection initializer.
For example:
// Simple new class without initializer
new Person("John", 25)
// New class with object initializer
new Person { Name = "John", Age = 25 }
// New class with collection initializer
new List { 1, 2, 3 }
// New class with constructor and initializer
new Person("John") { Age = 25 }
The newClassCore field contains the basic class instantiation including constructor call,
while the initializer field contains the optional object/collection initializer expressions
wrapped in a JContainer to preserve whitespace around curly braces and between initializer expressions.-
Nested Class Summary
Nested classes/interfaces inherited from interface org.openrewrite.csharp.tree.Cs
Cs.AliasQualifiedName, Cs.AllowsConstraint, Cs.AllowsConstraintClause, Cs.AnnotatedStatement, Cs.Argument, Cs.ArrayRankSpecifier, Cs.ArrayType, Cs.AssignmentOperation, Cs.AttributeList, Cs.AwaitExpression, Cs.Binary, Cs.BinaryPattern, Cs.BlockScopeNamespaceDeclaration, Cs.CasePatternSwitchLabel, Cs.CheckedStatement, Cs.ClassDeclaration, Cs.ClassOrStructConstraint, Cs.CollectionExpression, Cs.CompilationUnit, Cs.ConstantPattern, Cs.Constructor, Cs.ConstructorConstraint, Cs.ConstructorInitializer, Cs.ConversionOperatorDeclaration, Cs.DeclarationExpression, Cs.DefaultConstraint, Cs.DefaultExpression, Cs.DefaultSwitchLabel, Cs.DelegateDeclaration, Cs.DestructorDeclaration, Cs.DiscardPattern, Cs.DiscardVariableDesignation, Cs.EnumDeclaration, Cs.EnumMemberDeclaration, Cs.ExpressionStatement, Cs.ExternAlias, Cs.FileScopeNamespaceDeclaration, Cs.FixedStatement, Cs.ForEachVariableLoop, Cs.FromClause, Cs.GroupClause, Cs.ImplicitElementAccess, Cs.IndexerDeclaration, Cs.InitializerExpression, Cs.InterpolatedString, Cs.Interpolation, Cs.IsPattern, Cs.JoinClause, Cs.JoinIntoClause, Cs.Keyword, Cs.Lambda, Cs.LetClause, Cs.ListPattern, Cs.LockStatement, Cs.MethodDeclaration, Cs.NewClass, Cs.NullSafeExpression, Cs.OrderByClause, Cs.Ordering, Cs.ParenthesizedPattern, Cs.ParenthesizedVariableDesignation, Cs.Pattern, Cs.PositionalPatternClause, Cs.PropertyDeclaration, Cs.PropertyPatternClause, Cs.QueryBody, Cs.QueryClause, Cs.QueryContinuation, Cs.QueryExpression, Cs.RangeExpression, Cs.RecursivePattern, Cs.RefStructConstraint, Cs.RelationalPattern, Cs.SelectClause, Cs.SelectOrGroupClause, Cs.SingleVariableDesignation, Cs.SlicePattern, Cs.StatementExpression, Cs.Subpattern, Cs.SwitchExpression, Cs.SwitchExpressionArm, Cs.SwitchLabel, Cs.SwitchSection, Cs.SwitchStatement, Cs.TupleElement, Cs.TupleExpression, Cs.TupleType, Cs.TypeConstraint, Cs.TypeParameter, Cs.TypeParameterConstraint, Cs.TypeParameterConstraintClause, Cs.TypePattern, Cs.Unary, Cs.UnaryPattern, Cs.UnsafeStatement, Cs.UsingDirective, Cs.UsingStatement, Cs.VariableDesignation, Cs.VarPattern, Cs.WhereClause, Cs.YieldNested classes/interfaces inherited from interface org.openrewrite.java.tree.J
org.openrewrite.java.tree.J.AnnotatedType, org.openrewrite.java.tree.J.Annotation, org.openrewrite.java.tree.J.ArrayAccess, org.openrewrite.java.tree.J.ArrayDimension, org.openrewrite.java.tree.J.ArrayType, org.openrewrite.java.tree.J.Assert, org.openrewrite.java.tree.J.Assignment, org.openrewrite.java.tree.J.AssignmentOperation, org.openrewrite.java.tree.J.Binary, org.openrewrite.java.tree.J.Block, org.openrewrite.java.tree.J.Break, org.openrewrite.java.tree.J.Case, org.openrewrite.java.tree.J.ClassDeclaration, org.openrewrite.java.tree.J.CompilationUnit, org.openrewrite.java.tree.J.Continue, org.openrewrite.java.tree.J.ControlParentheses<J2 extends org.openrewrite.java.tree.J>, org.openrewrite.java.tree.J.DoWhileLoop, org.openrewrite.java.tree.J.Empty, org.openrewrite.java.tree.J.EnumValue, org.openrewrite.java.tree.J.EnumValueSet, org.openrewrite.java.tree.J.FieldAccess, org.openrewrite.java.tree.J.ForEachLoop, org.openrewrite.java.tree.J.ForLoop, org.openrewrite.java.tree.J.Identifier, org.openrewrite.java.tree.J.If, org.openrewrite.java.tree.J.Import, org.openrewrite.java.tree.J.InstanceOf, org.openrewrite.java.tree.J.IntersectionType, org.openrewrite.java.tree.J.Label, org.openrewrite.java.tree.J.Lambda, org.openrewrite.java.tree.J.Literal, org.openrewrite.java.tree.J.MemberReference, org.openrewrite.java.tree.J.MethodDeclaration, org.openrewrite.java.tree.J.MethodInvocation, org.openrewrite.java.tree.J.Modifier, org.openrewrite.java.tree.J.MultiCatch, org.openrewrite.java.tree.J.NewArray, org.openrewrite.java.tree.J.NewClass, org.openrewrite.java.tree.J.NullableType, org.openrewrite.java.tree.J.Package, org.openrewrite.java.tree.J.ParameterizedType, org.openrewrite.java.tree.J.Parentheses<J2 extends org.openrewrite.java.tree.J>, org.openrewrite.java.tree.J.ParenthesizedTypeTree, org.openrewrite.java.tree.J.Primitive, org.openrewrite.java.tree.J.Return, org.openrewrite.java.tree.J.Switch, org.openrewrite.java.tree.J.SwitchExpression, org.openrewrite.java.tree.J.Synchronized, org.openrewrite.java.tree.J.Ternary, org.openrewrite.java.tree.J.Throw, org.openrewrite.java.tree.J.Try, org.openrewrite.java.tree.J.TypeCast, org.openrewrite.java.tree.J.TypeParameter, org.openrewrite.java.tree.J.TypeParameters, org.openrewrite.java.tree.J.Unary, org.openrewrite.java.tree.J.Unknown, org.openrewrite.java.tree.J.VariableDeclarations, org.openrewrite.java.tree.J.WhileLoop, org.openrewrite.java.tree.J.Wildcard, org.openrewrite.java.tree.J.Yield -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription<P> org.openrewrite.java.tree.JacceptCSharp(CSharpVisitor<P> v, P p) org.openrewrite.java.tree.CoordinateBuilder.Statement@Nullable org.openrewrite.java.tree.JavaTypegetType()withType(@Nullable org.openrewrite.java.tree.JavaType type) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.openrewrite.csharp.tree.Cs
accept, isAcceptableMethods inherited from interface org.openrewrite.java.tree.Expression
getSideEffects, unwrapMethods inherited from interface org.openrewrite.java.tree.J
acceptJava, getComments, getPrefix, print, printTrimmed, withComments, withPrefixMethods inherited from interface org.openrewrite.Tree
cast, getId, getMarkers, isScope, print, print, print, printer, printTrimmed, printTrimmed, printTrimmed, withId, withMarkers
-
Constructor Details
-
NewClass
public NewClass()
-
-
Method Details
-
acceptCSharp
- Specified by:
acceptCSharpin interfaceCs
-
getType
public @Nullable org.openrewrite.java.tree.JavaType getType()- Specified by:
getTypein interfaceorg.openrewrite.java.tree.Expression
-
withType
- Specified by:
withTypein interfaceorg.openrewrite.java.tree.Expression
-
getCoordinates
public org.openrewrite.java.tree.CoordinateBuilder.Statement getCoordinates()- Specified by:
getCoordinatesin interfaceorg.openrewrite.java.tree.Expression- Specified by:
getCoordinatesin interfaceorg.openrewrite.java.tree.Statement
-