@@ -2042,57 +2042,6 @@ namespace ts {
2042
2042
|| positionIsSynthesized ( node . end ) ;
2043
2043
}
2044
2044
2045
- export function getOriginalNode ( node : Node ) : Node ;
2046
- export function getOriginalNode < T extends Node > ( node : Node , nodeTest : ( node : Node ) => node is T ) : T ;
2047
- export function getOriginalNode ( node : Node , nodeTest ?: ( node : Node ) => boolean ) : Node {
2048
- if ( node ) {
2049
- while ( node . original !== undefined ) {
2050
- node = node . original ;
2051
- }
2052
- }
2053
-
2054
- return ! nodeTest || nodeTest ( node ) ? node : undefined ;
2055
- }
2056
-
2057
- /**
2058
- * Gets a value indicating whether a node originated in the parse tree.
2059
- *
2060
- * @param node The node to test.
2061
- */
2062
- export function isParseTreeNode ( node : Node ) : boolean {
2063
- return ( node . flags & NodeFlags . Synthesized ) === 0 ;
2064
- }
2065
-
2066
- /**
2067
- * Gets the original parse tree node for a node.
2068
- *
2069
- * @param node The original node.
2070
- * @returns The original parse tree node if found; otherwise, undefined.
2071
- */
2072
- export function getParseTreeNode ( node : Node ) : Node ;
2073
-
2074
- /**
2075
- * Gets the original parse tree node for a node.
2076
- *
2077
- * @param node The original node.
2078
- * @param nodeTest A callback used to ensure the correct type of parse tree node is returned.
2079
- * @returns The original parse tree node if found; otherwise, undefined.
2080
- */
2081
- export function getParseTreeNode < T extends Node > ( node : Node , nodeTest ?: ( node : Node ) => node is T ) : T ;
2082
- export function getParseTreeNode ( node : Node , nodeTest ?: ( node : Node ) => boolean ) : Node {
2083
- if ( isParseTreeNode ( node ) ) {
2084
- return node ;
2085
- }
2086
-
2087
- node = getOriginalNode ( node ) ;
2088
-
2089
- if ( isParseTreeNode ( node ) && ( ! nodeTest || nodeTest ( node ) ) ) {
2090
- return node ;
2091
- }
2092
-
2093
- return undefined ;
2094
- }
2095
-
2096
2045
export function getOriginalSourceFileOrBundle ( sourceFileOrBundle : SourceFile | Bundle ) {
2097
2046
if ( sourceFileOrBundle . kind === SyntaxKind . Bundle ) {
2098
2047
return updateBundle ( sourceFileOrBundle , sameMap ( sourceFileOrBundle . sourceFiles , getOriginalSourceFile ) ) ;
@@ -4530,4 +4479,55 @@ namespace ts {
4530
4479
return true ;
4531
4480
}
4532
4481
}
4482
+
4483
+ export function getOriginalNode ( node : Node ) : Node ;
4484
+ export function getOriginalNode < T extends Node > ( node : Node , nodeTest : ( node : Node ) => node is T ) : T ;
4485
+ export function getOriginalNode ( node : Node , nodeTest ?: ( node : Node ) => boolean ) : Node {
4486
+ if ( node ) {
4487
+ while ( node . original !== undefined ) {
4488
+ node = node . original ;
4489
+ }
4490
+ }
4491
+
4492
+ return ! nodeTest || nodeTest ( node ) ? node : undefined ;
4493
+ }
4494
+
4495
+ /**
4496
+ * Gets a value indicating whether a node originated in the parse tree.
4497
+ *
4498
+ * @param node The node to test.
4499
+ */
4500
+ export function isParseTreeNode ( node : Node ) : boolean {
4501
+ return ( node . flags & NodeFlags . Synthesized ) === 0 ;
4502
+ }
4503
+
4504
+ /**
4505
+ * Gets the original parse tree node for a node.
4506
+ *
4507
+ * @param node The original node.
4508
+ * @returns The original parse tree node if found; otherwise, undefined.
4509
+ */
4510
+ export function getParseTreeNode ( node : Node ) : Node ;
4511
+
4512
+ /**
4513
+ * Gets the original parse tree node for a node.
4514
+ *
4515
+ * @param node The original node.
4516
+ * @param nodeTest A callback used to ensure the correct type of parse tree node is returned.
4517
+ * @returns The original parse tree node if found; otherwise, undefined.
4518
+ */
4519
+ export function getParseTreeNode < T extends Node > ( node : Node , nodeTest ?: ( node : Node ) => node is T ) : T ;
4520
+ export function getParseTreeNode ( node : Node , nodeTest ?: ( node : Node ) => boolean ) : Node {
4521
+ if ( isParseTreeNode ( node ) ) {
4522
+ return node ;
4523
+ }
4524
+
4525
+ node = getOriginalNode ( node ) ;
4526
+
4527
+ if ( isParseTreeNode ( node ) && ( ! nodeTest || nodeTest ( node ) ) ) {
4528
+ return node ;
4529
+ }
4530
+
4531
+ return undefined ;
4532
+ }
4533
4533
}
0 commit comments