1 /* |
1 /* |
2 * Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved. |
2 * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
4 * |
4 * |
5 * This code is free software; you can redistribute it and/or modify it |
5 * This code is free software; you can redistribute it and/or modify it |
6 * under the terms of the GNU General Public License version 2 only, as |
6 * under the terms of the GNU General Public License version 2 only, as |
7 * published by the Free Software Foundation. Oracle designates this |
7 * published by the Free Software Foundation. Oracle designates this |
160 public final Type proprietaryType; |
160 public final Type proprietaryType; |
161 public final Type systemType; |
161 public final Type systemType; |
162 public final Type autoCloseableType; |
162 public final Type autoCloseableType; |
163 public final Type trustMeType; |
163 public final Type trustMeType; |
164 public final Type lambdaMetafactory; |
164 public final Type lambdaMetafactory; |
165 public final Type containedByType; |
165 public final Type repeatableType; |
166 public final Type containerForType; |
|
167 public final Type documentedType; |
166 public final Type documentedType; |
168 public final Type elementTypeType; |
167 public final Type elementTypeType; |
|
168 public final Type functionalInterfaceType; |
169 |
169 |
170 /** The symbol representing the length field of an array. |
170 /** The symbol representing the length field of an array. |
171 */ |
171 */ |
172 public final VarSymbol lengthVar; |
172 public final VarSymbol lengthVar; |
173 |
173 |
509 overrideType = enterClass("java.lang.Override"); |
509 overrideType = enterClass("java.lang.Override"); |
510 retentionType = enterClass("java.lang.annotation.Retention"); |
510 retentionType = enterClass("java.lang.annotation.Retention"); |
511 deprecatedType = enterClass("java.lang.Deprecated"); |
511 deprecatedType = enterClass("java.lang.Deprecated"); |
512 suppressWarningsType = enterClass("java.lang.SuppressWarnings"); |
512 suppressWarningsType = enterClass("java.lang.SuppressWarnings"); |
513 inheritedType = enterClass("java.lang.annotation.Inherited"); |
513 inheritedType = enterClass("java.lang.annotation.Inherited"); |
514 containedByType = enterClass("java.lang.annotation.ContainedBy"); |
514 repeatableType = enterClass("java.lang.annotation.Repeatable"); |
515 containerForType = enterClass("java.lang.annotation.ContainerFor"); |
|
516 documentedType = enterClass("java.lang.annotation.Documented"); |
515 documentedType = enterClass("java.lang.annotation.Documented"); |
517 elementTypeType = enterClass("java.lang.annotation.ElementType"); |
516 elementTypeType = enterClass("java.lang.annotation.ElementType"); |
518 systemType = enterClass("java.lang.System"); |
517 systemType = enterClass("java.lang.System"); |
519 autoCloseableType = enterClass("java.lang.AutoCloseable"); |
518 autoCloseableType = enterClass("java.lang.AutoCloseable"); |
520 autoCloseableClose = new MethodSymbol(PUBLIC, |
519 autoCloseableClose = new MethodSymbol(PUBLIC, |
524 autoCloseableType.tsym); |
523 autoCloseableType.tsym); |
525 trustMeType = enterClass("java.lang.SafeVarargs"); |
524 trustMeType = enterClass("java.lang.SafeVarargs"); |
526 nativeHeaderType = enterClass("java.lang.annotation.Native"); |
525 nativeHeaderType = enterClass("java.lang.annotation.Native"); |
527 nativeHeaderType_old = enterClass("javax.tools.annotation.GenerateNativeHeader"); |
526 nativeHeaderType_old = enterClass("javax.tools.annotation.GenerateNativeHeader"); |
528 lambdaMetafactory = enterClass("java.lang.invoke.LambdaMetafactory"); |
527 lambdaMetafactory = enterClass("java.lang.invoke.LambdaMetafactory"); |
|
528 functionalInterfaceType = enterClass("java.lang.FunctionalInterface"); |
529 |
529 |
530 synthesizeEmptyInterfaceIfMissing(autoCloseableType); |
530 synthesizeEmptyInterfaceIfMissing(autoCloseableType); |
531 synthesizeEmptyInterfaceIfMissing(cloneableType); |
531 synthesizeEmptyInterfaceIfMissing(cloneableType); |
532 synthesizeEmptyInterfaceIfMissing(serializableType); |
532 synthesizeEmptyInterfaceIfMissing(serializableType); |
533 synthesizeEmptyInterfaceIfMissing(lambdaMetafactory); |
533 synthesizeEmptyInterfaceIfMissing(lambdaMetafactory); |