Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(757)

Side by Side Diff: pkg/analyzer_experimental/lib/src/generated/ast.dart

Issue 18325018: New analyzer_experimental snapshot. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // This code was auto-generated, is not intended to be edited, and is subject to 1 // This code was auto-generated, is not intended to be edited, and is subject to
2 // significant change. Please see the README file for more information. 2 // significant change. Please see the README file for more information.
3 library engine.ast; 3 library engine.ast;
4 import 'dart:collection'; 4 import 'dart:collection';
5 import 'java_core.dart'; 5 import 'java_core.dart';
6 import 'java_engine.dart'; 6 import 'java_engine.dart';
7 import 'error.dart'; 7 import 'error.dart';
8 import 'source.dart' show LineInfo; 8 import 'source.dart' show LineInfo;
9 import 'scanner.dart'; 9 import 'scanner.dart';
10 import 'engine.dart' show AnalysisEngine; 10 import 'engine.dart' show AnalysisEngine;
(...skipping 5807 matching lines...) Expand 10 before | Expand all | Expand 10 after
5818 return _keyword; 5818 return _keyword;
5819 } 5819 }
5820 return _fieldList.beginToken; 5820 return _fieldList.beginToken;
5821 } 5821 }
5822 } 5822 }
5823 /** 5823 /**
5824 * Instances of the class `FieldFormalParameter` represent a field formal parame ter. 5824 * Instances of the class `FieldFormalParameter` represent a field formal parame ter.
5825 * 5825 *
5826 * <pre> 5826 * <pre>
5827 * fieldFormalParameter ::= 5827 * fieldFormalParameter ::=
5828 * ('final' [TypeName] | 'const' [TypeName] | 'var' | [TypeName])? 'this' '. ' [SimpleIdentifier] 5828 * ('final' [TypeName] | 'const' [TypeName] | 'var' | [TypeName])? 'this' '. ' [SimpleIdentifier] [FormalParameterList]?
5829 * </pre> 5829 * </pre>
5830 * 5830 *
5831 * @coverage dart.engine.ast 5831 * @coverage dart.engine.ast
5832 */ 5832 */
5833 class FieldFormalParameter extends NormalFormalParameter { 5833 class FieldFormalParameter extends NormalFormalParameter {
5834 5834
5835 /** 5835 /**
5836 * The token representing either the 'final', 'const' or 'var' keyword, or `nu ll` if no 5836 * The token representing either the 'final', 'const' or 'var' keyword, or `nu ll` if no
5837 * keyword was used. 5837 * keyword was used.
5838 */ 5838 */
5839 Token _keyword; 5839 Token _keyword;
5840 5840
5841 /** 5841 /**
5842 * The name of the declared type of the parameter, or `null` if the parameter does not have 5842 * The name of the declared type of the parameter, or `null` if the parameter does not have
5843 * a declared type. 5843 * a declared type.
5844 */ 5844 */
5845 TypeName _type; 5845 TypeName _type;
5846 5846
5847 /** 5847 /**
5848 * The token representing the 'this' keyword. 5848 * The token representing the 'this' keyword.
5849 */ 5849 */
5850 Token _thisToken; 5850 Token _thisToken;
5851 5851
5852 /** 5852 /**
5853 * The token representing the period. 5853 * The token representing the period.
5854 */ 5854 */
5855 Token _period; 5855 Token _period;
5856 5856
5857 /** 5857 /**
5858 * The parameters of the function-typed parameter.
5859 */
5860 FormalParameterList _parameters;
5861
5862 /**
5858 * Initialize a newly created formal parameter. 5863 * Initialize a newly created formal parameter.
5859 * 5864 *
5860 * @param comment the documentation comment associated with this parameter 5865 * @param comment the documentation comment associated with this parameter
5861 * @param metadata the annotations associated with this parameter 5866 * @param metadata the annotations associated with this parameter
5862 * @param keyword the token representing either the 'final', 'const' or 'var' keyword 5867 * @param keyword the token representing either the 'final', 'const' or 'var' keyword
5863 * @param type the name of the declared type of the parameter 5868 * @param type the name of the declared type of the parameter
5864 * @param thisToken the token representing the 'this' keyword 5869 * @param thisToken the token representing the 'this' keyword
5865 * @param period the token representing the period 5870 * @param period the token representing the period
5866 * @param identifier the name of the parameter being declared 5871 * @param identifier the name of the parameter being declared
5872 * @param parameters the parameters of the function-typed parameter, or `null` if this is
5873 * not a function-typed field formal parameter
5867 */ 5874 */
5868 FieldFormalParameter.full(Comment comment, List<Annotation> metadata, Token ke yword, TypeName type, Token thisToken, Token period, SimpleIdentifier identifier ) : super.full(comment, metadata, identifier) { 5875 FieldFormalParameter.full(Comment comment, List<Annotation> metadata, Token ke yword, TypeName type, Token thisToken, Token period, SimpleIdentifier identifier , FormalParameterList parameters) : super.full(comment, metadata, identifier) {
5869 this._keyword = keyword; 5876 this._keyword = keyword;
5870 this._type = becomeParentOf(type); 5877 this._type = becomeParentOf(type);
5871 this._thisToken = thisToken; 5878 this._thisToken = thisToken;
5872 this._period = period; 5879 this._period = period;
5880 this._parameters = becomeParentOf(parameters);
5873 } 5881 }
5874 5882
5875 /** 5883 /**
5876 * Initialize a newly created formal parameter. 5884 * Initialize a newly created formal parameter.
5877 * 5885 *
5878 * @param comment the documentation comment associated with this parameter 5886 * @param comment the documentation comment associated with this parameter
5879 * @param metadata the annotations associated with this parameter 5887 * @param metadata the annotations associated with this parameter
5880 * @param keyword the token representing either the 'final', 'const' or 'var' keyword 5888 * @param keyword the token representing either the 'final', 'const' or 'var' keyword
5881 * @param type the name of the declared type of the parameter 5889 * @param type the name of the declared type of the parameter
5882 * @param thisToken the token representing the 'this' keyword 5890 * @param thisToken the token representing the 'this' keyword
5883 * @param period the token representing the period 5891 * @param period the token representing the period
5884 * @param identifier the name of the parameter being declared 5892 * @param identifier the name of the parameter being declared
5893 * @param parameters the parameters of the function-typed parameter, or `null` if this is
5894 * not a function-typed field formal parameter
5885 */ 5895 */
5886 FieldFormalParameter({Comment comment, List<Annotation> metadata, Token keywor d, TypeName type, Token thisToken, Token period, SimpleIdentifier identifier}) : this.full(comment, metadata, keyword, type, thisToken, period, identifier); 5896 FieldFormalParameter({Comment comment, List<Annotation> metadata, Token keywor d, TypeName type, Token thisToken, Token period, SimpleIdentifier identifier, Fo rmalParameterList parameters}) : this.full(comment, metadata, keyword, type, thi sToken, period, identifier, parameters);
5887 accept(ASTVisitor visitor) => visitor.visitFieldFormalParameter(this); 5897 accept(ASTVisitor visitor) => visitor.visitFieldFormalParameter(this);
5888 Token get beginToken { 5898 Token get beginToken {
5889 if (_keyword != null) { 5899 if (_keyword != null) {
5890 return _keyword; 5900 return _keyword;
5891 } else if (_type != null) { 5901 } else if (_type != null) {
5892 return _type.beginToken; 5902 return _type.beginToken;
5893 } 5903 }
5894 return _thisToken; 5904 return _thisToken;
5895 } 5905 }
5896 Token get endToken => identifier.endToken; 5906 Token get endToken => identifier.endToken;
5897 5907
5898 /** 5908 /**
5899 * Return the token representing either the 'final', 'const' or 'var' keyword. 5909 * Return the token representing either the 'final', 'const' or 'var' keyword.
5900 * 5910 *
5901 * @return the token representing either the 'final', 'const' or 'var' keyword 5911 * @return the token representing either the 'final', 'const' or 'var' keyword
5902 */ 5912 */
5903 Token get keyword => _keyword; 5913 Token get keyword => _keyword;
5904 5914
5905 /** 5915 /**
5916 * Return the parameters of the function-typed parameter, or `null` if this is not a
5917 * function-typed field formal parameter.
5918 *
5919 * @return the parameters of the function-typed parameter
5920 */
5921 FormalParameterList get parameters => _parameters;
5922
5923 /**
5906 * Return the token representing the period. 5924 * Return the token representing the period.
5907 * 5925 *
5908 * @return the token representing the period 5926 * @return the token representing the period
5909 */ 5927 */
5910 Token get period => _period; 5928 Token get period => _period;
5911 5929
5912 /** 5930 /**
5913 * Return the token representing the 'this' keyword. 5931 * Return the token representing the 'this' keyword.
5914 * 5932 *
5915 * @return the token representing the 'this' keyword 5933 * @return the token representing the 'this' keyword
5916 */ 5934 */
5917 Token get thisToken => _thisToken; 5935 Token get thisToken => _thisToken;
5918 5936
5919 /** 5937 /**
5920 * Return the name of the declared type of the parameter, or `null` if the par ameter does 5938 * Return the name of the declared type of the parameter, or `null` if the par ameter does
5921 * not have a declared type. 5939 * not have a declared type. Note that if this is a function-typed field forma l parameter this is
5940 * the return type of the function.
5922 * 5941 *
5923 * @return the name of the declared type of the parameter 5942 * @return the name of the declared type of the parameter
5924 */ 5943 */
5925 TypeName get type => _type; 5944 TypeName get type => _type;
5926 bool get isConst => (_keyword is KeywordToken) && identical(((_keyword as Keyw ordToken)).keyword, Keyword.CONST); 5945 bool get isConst => (_keyword is KeywordToken) && identical(((_keyword as Keyw ordToken)).keyword, Keyword.CONST);
5927 bool get isFinal => (_keyword is KeywordToken) && identical(((_keyword as Keyw ordToken)).keyword, Keyword.FINAL); 5946 bool get isFinal => (_keyword is KeywordToken) && identical(((_keyword as Keyw ordToken)).keyword, Keyword.FINAL);
5928 5947
5929 /** 5948 /**
5930 * Set the token representing either the 'final', 'const' or 'var' keyword to the given token. 5949 * Set the token representing either the 'final', 'const' or 'var' keyword to the given token.
5931 * 5950 *
5932 * @param keyword the token representing either the 'final', 'const' or 'var' keyword 5951 * @param keyword the token representing either the 'final', 'const' or 'var' keyword
5933 */ 5952 */
5934 void set keyword(Token keyword2) { 5953 void set keyword(Token keyword2) {
5935 this._keyword = keyword2; 5954 this._keyword = keyword2;
5936 } 5955 }
5937 5956
5938 /** 5957 /**
5958 * Set the parameters of the function-typed parameter to the given parameters.
5959 *
5960 * @param parameters the parameters of the function-typed parameter
5961 */
5962 void set parameters(FormalParameterList parameters2) {
5963 this._parameters = becomeParentOf(parameters2);
5964 }
5965
5966 /**
5939 * Set the token representing the period to the given token. 5967 * Set the token representing the period to the given token.
5940 * 5968 *
5941 * @param period the token representing the period 5969 * @param period the token representing the period
5942 */ 5970 */
5943 void set period(Token period2) { 5971 void set period(Token period2) {
5944 this._period = period2; 5972 this._period = period2;
5945 } 5973 }
5946 5974
5947 /** 5975 /**
5948 * Set the token representing the 'this' keyword to the given token. 5976 * Set the token representing the 'this' keyword to the given token.
5949 * 5977 *
5950 * @param thisToken the token representing the 'this' keyword 5978 * @param thisToken the token representing the 'this' keyword
5951 */ 5979 */
5952 void set thisToken(Token thisToken2) { 5980 void set thisToken(Token thisToken2) {
5953 this._thisToken = thisToken2; 5981 this._thisToken = thisToken2;
5954 } 5982 }
5955 5983
5956 /** 5984 /**
5957 * Set the name of the declared type of the parameter to the given type name. 5985 * Set the name of the declared type of the parameter to the given type name.
5958 * 5986 *
5959 * @param typeName the name of the declared type of the parameter 5987 * @param typeName the name of the declared type of the parameter
5960 */ 5988 */
5961 void set type(TypeName typeName) { 5989 void set type(TypeName typeName) {
5962 _type = becomeParentOf(typeName); 5990 _type = becomeParentOf(typeName);
5963 } 5991 }
5964 void visitChildren(ASTVisitor<Object> visitor) { 5992 void visitChildren(ASTVisitor<Object> visitor) {
5965 super.visitChildren(visitor); 5993 super.visitChildren(visitor);
5966 safelyVisitChild(_type, visitor); 5994 safelyVisitChild(_type, visitor);
5967 safelyVisitChild(identifier, visitor); 5995 safelyVisitChild(identifier, visitor);
5996 safelyVisitChild(parameters, visitor);
5968 } 5997 }
5969 } 5998 }
5970 /** 5999 /**
5971 * Instances of the class `ForEachStatement` represent a for-each statement. 6000 * Instances of the class `ForEachStatement` represent a for-each statement.
5972 * 6001 *
5973 * <pre> 6002 * <pre>
5974 * forEachStatement ::= 6003 * forEachStatement ::=
5975 * 'for' '(' [SimpleFormalParameter] 'in' [Expression] ')' [Block] 6004 * 'for' '(' [SimpleFormalParameter] 'in' [Expression] ')' [Block]
5976 * </pre> 6005 * </pre>
5977 * 6006 *
(...skipping 10223 matching lines...) Expand 10 before | Expand all | Expand 10 after
16201 visit5(node.keyword, " "); 16230 visit5(node.keyword, " ");
16202 visit(node.fields); 16231 visit(node.fields);
16203 _writer.print(";"); 16232 _writer.print(";");
16204 return null; 16233 return null;
16205 } 16234 }
16206 Object visitFieldFormalParameter(FieldFormalParameter node) { 16235 Object visitFieldFormalParameter(FieldFormalParameter node) {
16207 visit5(node.keyword, " "); 16236 visit5(node.keyword, " ");
16208 visit2(node.type, " "); 16237 visit2(node.type, " ");
16209 _writer.print("this."); 16238 _writer.print("this.");
16210 visit(node.identifier); 16239 visit(node.identifier);
16240 visit(node.parameters);
16211 return null; 16241 return null;
16212 } 16242 }
16213 Object visitForEachStatement(ForEachStatement node) { 16243 Object visitForEachStatement(ForEachStatement node) {
16214 _writer.print("for ("); 16244 _writer.print("for (");
16215 visit(node.loopVariable); 16245 visit(node.loopVariable);
16216 _writer.print(" in "); 16246 _writer.print(" in ");
16217 visit(node.iterator); 16247 visit(node.iterator);
16218 _writer.print(") "); 16248 _writer.print(") ");
16219 visit(node.body); 16249 visit(node.body);
16220 return null; 16250 return null;
(...skipping 619 matching lines...) Expand 10 before | Expand all | Expand 10 after
16840 DefaultFormalParameter visitDefaultFormalParameter(DefaultFormalParameter node ) => new DefaultFormalParameter.full(clone2(node.parameter), node.kind, node.sep arator, clone2(node.defaultValue)); 16870 DefaultFormalParameter visitDefaultFormalParameter(DefaultFormalParameter node ) => new DefaultFormalParameter.full(clone2(node.parameter), node.kind, node.sep arator, clone2(node.defaultValue));
16841 DoStatement visitDoStatement(DoStatement node) => new DoStatement.full(node.do Keyword, clone2(node.body), node.whileKeyword, node.leftParenthesis, clone2(node .condition), node.rightParenthesis, node.semicolon); 16871 DoStatement visitDoStatement(DoStatement node) => new DoStatement.full(node.do Keyword, clone2(node.body), node.whileKeyword, node.leftParenthesis, clone2(node .condition), node.rightParenthesis, node.semicolon);
16842 DoubleLiteral visitDoubleLiteral(DoubleLiteral node) => new DoubleLiteral.full (node.literal, node.value); 16872 DoubleLiteral visitDoubleLiteral(DoubleLiteral node) => new DoubleLiteral.full (node.literal, node.value);
16843 EmptyFunctionBody visitEmptyFunctionBody(EmptyFunctionBody node) => new EmptyF unctionBody.full(node.semicolon); 16873 EmptyFunctionBody visitEmptyFunctionBody(EmptyFunctionBody node) => new EmptyF unctionBody.full(node.semicolon);
16844 EmptyStatement visitEmptyStatement(EmptyStatement node) => new EmptyStatement. full(node.semicolon); 16874 EmptyStatement visitEmptyStatement(EmptyStatement node) => new EmptyStatement. full(node.semicolon);
16845 ExportDirective visitExportDirective(ExportDirective node) => new ExportDirect ive.full(clone2(node.documentationComment), clone3(node.metadata), node.keyword, clone2(node.uri), clone3(node.combinators), node.semicolon); 16875 ExportDirective visitExportDirective(ExportDirective node) => new ExportDirect ive.full(clone2(node.documentationComment), clone3(node.metadata), node.keyword, clone2(node.uri), clone3(node.combinators), node.semicolon);
16846 ExpressionFunctionBody visitExpressionFunctionBody(ExpressionFunctionBody node ) => new ExpressionFunctionBody.full(node.functionDefinition, clone2(node.expres sion), node.semicolon); 16876 ExpressionFunctionBody visitExpressionFunctionBody(ExpressionFunctionBody node ) => new ExpressionFunctionBody.full(node.functionDefinition, clone2(node.expres sion), node.semicolon);
16847 ExpressionStatement visitExpressionStatement(ExpressionStatement node) => new ExpressionStatement.full(clone2(node.expression), node.semicolon); 16877 ExpressionStatement visitExpressionStatement(ExpressionStatement node) => new ExpressionStatement.full(clone2(node.expression), node.semicolon);
16848 ExtendsClause visitExtendsClause(ExtendsClause node) => new ExtendsClause.full (node.keyword, clone2(node.superclass)); 16878 ExtendsClause visitExtendsClause(ExtendsClause node) => new ExtendsClause.full (node.keyword, clone2(node.superclass));
16849 FieldDeclaration visitFieldDeclaration(FieldDeclaration node) => new FieldDecl aration.full(clone2(node.documentationComment), clone3(node.metadata), node.keyw ord, clone2(node.fields), node.semicolon); 16879 FieldDeclaration visitFieldDeclaration(FieldDeclaration node) => new FieldDecl aration.full(clone2(node.documentationComment), clone3(node.metadata), node.keyw ord, clone2(node.fields), node.semicolon);
16850 FieldFormalParameter visitFieldFormalParameter(FieldFormalParameter node) => n ew FieldFormalParameter.full(clone2(node.documentationComment), clone3(node.meta data), node.keyword, clone2(node.type), node.thisToken, node.period, clone2(node .identifier)); 16880 FieldFormalParameter visitFieldFormalParameter(FieldFormalParameter node) => n ew FieldFormalParameter.full(clone2(node.documentationComment), clone3(node.meta data), node.keyword, clone2(node.type), node.thisToken, node.period, clone2(node .identifier), clone2(node.parameters));
16851 ForEachStatement visitForEachStatement(ForEachStatement node) => new ForEachSt atement.full(node.forKeyword, node.leftParenthesis, clone2(node.loopVariable), n ode.inKeyword, clone2(node.iterator), node.rightParenthesis, clone2(node.body)); 16881 ForEachStatement visitForEachStatement(ForEachStatement node) => new ForEachSt atement.full(node.forKeyword, node.leftParenthesis, clone2(node.loopVariable), n ode.inKeyword, clone2(node.iterator), node.rightParenthesis, clone2(node.body));
16852 FormalParameterList visitFormalParameterList(FormalParameterList node) => new FormalParameterList.full(node.leftParenthesis, clone3(node.parameters), node.lef tDelimiter, node.rightDelimiter, node.rightParenthesis); 16882 FormalParameterList visitFormalParameterList(FormalParameterList node) => new FormalParameterList.full(node.leftParenthesis, clone3(node.parameters), node.lef tDelimiter, node.rightDelimiter, node.rightParenthesis);
16853 ForStatement visitForStatement(ForStatement node) => new ForStatement.full(nod e.forKeyword, node.leftParenthesis, clone2(node.variables), clone2(node.initiali zation), node.leftSeparator, clone2(node.condition), node.rightSeparator, clone3 (node.updaters), node.rightParenthesis, clone2(node.body)); 16883 ForStatement visitForStatement(ForStatement node) => new ForStatement.full(nod e.forKeyword, node.leftParenthesis, clone2(node.variables), clone2(node.initiali zation), node.leftSeparator, clone2(node.condition), node.rightSeparator, clone3 (node.updaters), node.rightParenthesis, clone2(node.body));
16854 FunctionDeclaration visitFunctionDeclaration(FunctionDeclaration node) => new FunctionDeclaration.full(clone2(node.documentationComment), clone3(node.metadata ), node.externalKeyword, clone2(node.returnType), node.propertyKeyword, clone2(n ode.name), clone2(node.functionExpression)); 16884 FunctionDeclaration visitFunctionDeclaration(FunctionDeclaration node) => new FunctionDeclaration.full(clone2(node.documentationComment), clone3(node.metadata ), node.externalKeyword, clone2(node.returnType), node.propertyKeyword, clone2(n ode.name), clone2(node.functionExpression));
16855 FunctionDeclarationStatement visitFunctionDeclarationStatement(FunctionDeclara tionStatement node) => new FunctionDeclarationStatement.full(clone2(node.functio nDeclaration)); 16885 FunctionDeclarationStatement visitFunctionDeclarationStatement(FunctionDeclara tionStatement node) => new FunctionDeclarationStatement.full(clone2(node.functio nDeclaration));
16856 FunctionExpression visitFunctionExpression(FunctionExpression node) => new Fun ctionExpression.full(clone2(node.parameters), clone2(node.body)); 16886 FunctionExpression visitFunctionExpression(FunctionExpression node) => new Fun ctionExpression.full(clone2(node.parameters), clone2(node.body));
16857 FunctionExpressionInvocation visitFunctionExpressionInvocation(FunctionExpress ionInvocation node) => new FunctionExpressionInvocation.full(clone2(node.functio n), clone2(node.argumentList)); 16887 FunctionExpressionInvocation visitFunctionExpressionInvocation(FunctionExpress ionInvocation node) => new FunctionExpressionInvocation.full(clone2(node.functio n), clone2(node.argumentList));
16858 FunctionTypeAlias visitFunctionTypeAlias(FunctionTypeAlias node) => new Functi onTypeAlias.full(clone2(node.documentationComment), clone3(node.metadata), node. keyword, clone2(node.returnType), clone2(node.name), clone2(node.typeParameters) , clone2(node.parameters), node.semicolon); 16888 FunctionTypeAlias visitFunctionTypeAlias(FunctionTypeAlias node) => new Functi onTypeAlias.full(clone2(node.documentationComment), clone3(node.metadata), node. keyword, clone2(node.returnType), clone2(node.name), clone2(node.typeParameters) , clone2(node.parameters), node.semicolon);
16859 FunctionTypedFormalParameter visitFunctionTypedFormalParameter(FunctionTypedFo rmalParameter node) => new FunctionTypedFormalParameter.full(clone2(node.documen tationComment), clone3(node.metadata), clone2(node.returnType), clone2(node.iden tifier), clone2(node.parameters)); 16889 FunctionTypedFormalParameter visitFunctionTypedFormalParameter(FunctionTypedFo rmalParameter node) => new FunctionTypedFormalParameter.full(clone2(node.documen tationComment), clone3(node.metadata), clone2(node.returnType), clone2(node.iden tifier), clone2(node.parameters));
16860 HideCombinator visitHideCombinator(HideCombinator node) => new HideCombinator. full(node.keyword, clone3(node.hiddenNames)); 16890 HideCombinator visitHideCombinator(HideCombinator node) => new HideCombinator. full(node.keyword, clone3(node.hiddenNames));
(...skipping 275 matching lines...) Expand 10 before | Expand all | Expand 10 after
17136 return elements[elements.length - 1].endToken; 17166 return elements[elements.length - 1].endToken;
17137 } 17167 }
17138 /** 17168 /**
17139 * Return the node that is the parent of each of the elements in the list. 17169 * Return the node that is the parent of each of the elements in the list.
17140 * @return the node that is the parent of each of the elements in the list 17170 * @return the node that is the parent of each of the elements in the list
17141 */ 17171 */
17142 ASTNode getOwner() { 17172 ASTNode getOwner() {
17143 return owner; 17173 return owner;
17144 } 17174 }
17145 } 17175 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698